Sie sind auf Seite 1von 11

Banco de Dados Orientado a Objetos 3.

0 Modelagem e Projeto para BDOOs


ANLISE ORIENTADA A OBJETOS
Diretamente derivada dos conceitos da programao e do projeto orientado a objeto, a anlise orientada a objeto certamente a mais nova das abordagens de anlise de sistemas. Baseada na decomposio do sistema de acordo com os objetos ( entidades de dados ) manipulados por este, esta abordagem oferece como principais benefcios os seguintes fatores: a) Mantm a modelagem do sistema e, conseqentemente, a automao do mesmo o mais prximo possvel de uma viso conceitual do mundo real. b) Baseia a decomposio e modelagem do sistema nos dados, que o elemento mais estvel de todos aqueles que compem um sistema de informao. c) De todas as abordagens de anlise conhecidas at o momento, a anlise orientada a objetos , certamente, a que oferece maior transparncia na passagem da anlise ( modelo essencial ) para o projeto ( modelo de implementao ). Isso porque, se for seguida a tcnica de projeto orientado a objeto, a passagem de um modelo para o outro ser feita atravs da introduo de detalhes, no.requerendo uma reorganizao do modelo, como o caso na passagem de anlise estruturada para o projeto estruturado. interessante que faamos a definio de Classes e Objetos, (9): a) Objeto: "Uma abstrao de alguma coisa em um domnio de problema, refletindo as capacidades de um sistema de manter informaes sobre s, interagir com s, ou ambos, um encapsulamento de Valores, de Atributos e seus Servios exclusivos". b) Classe: "Uma coleo de objetos que podem ser descritos com o mesmo Atributo ou Servio". Anlise Orientada a Objeto, uma abordagem passo a passo Pode-se perguntar: Porque no usar as tcnicas de anlise j estabelecidas, como a anlise estruturada. A evoluo da anlise estruturada nos mostra que h uma srie de desenvolvimentos, a programao estruturada precedida pelo projeto estruturado, que por sua vez precedido pela anlise estruturada. A anlise e o projeto

estruturado so construdos no topo de noes bsicas da programao estruturada tradicional, incluindo a separao de dados e processos. Algumas noes bsicas de programao orientada a objetos so diferentes da programao tradicional. Por instncia, objetos encapsulam ambos comportamento e estado, enquanto as linguagens tradicionais de programao deliberadamente mantm uma separao. A seguir apresentaremos uma abordagem de desenvolvimento de sistemas orientados a objetos, numa abordagem passo a passo, (3): OBA (Object Behavior Analysis) provm um modelo conceitual para um primeiro estgio na criao de uma aplicao orientada a objeto. Usando esta abordagem como um passo positivo no processo de construo, com sucesso, de um sistema flexvel orientado a objeto. A OBA tenta responder questes que a anlise tradicional de sistemas no consegue responder, e isto de uma maneira natural, encorajando a interao entre as diversas fases do desenvolvimento e com o auxlio da prototipao rpida especialmente nas fases de anlise e projeto. Uma implicao desta abordagem que analisar, projetar e implementar, no do tipo, "vamos fazer certo da primeira vez". Na prtica geralmente isso impossivel, ter a informao que se necessita para uma anlise completa, muito menos interpretar e representar todas as coisas corretamente sem interaes. Interaes controladas contribuem para clarificar e tornar mais completas as especificaes e projeto. OBA consiste de uma compreeno da aplicao e identificao dos comportamentos iniciais, definindo os objetos que exibem esses comportamentos, classificando os objetos, identificando os relacionamentos entre eles e modelando seus ciclos de vida. a) Etapa 1: Identificando os comportamentos Para compreender o que a aplicao far, primeiro entrevista-se o usurio para a aplicao pretendidada observando ento a ao para ver o que ela far, quem ou o qu interagir com o sistema , em que ordem ocorrer, e quais as diferentes aes tomadas. O ponto principal uma lista dos desejos necessrios para o sistema analisado, o mais alto nvel do comportamento define as responsabilidades do sistema. A sada desta etapa uma lista dos comportamentos desejados do sistema e uma lista de suas propriedades visveis,bem como de "scripts". b) Etapa 2: Definindo os objetos Uma vez definidos os comportamentos iniciais necessita-se determinar a sua performance. Encontrar os objetos um passo para compreender a sua performance. Imediatamente v-se quem ou o que responsavel por um comportamento particular. Cartes de modelagem, usados nesta etapa, so pequenos cartes indexados com os termos:"nome", "responsabilidade" e "colaboradores",escrito neles. Nesses cartes escreve-se o

comportamento do sistema (responsabilidades), o que ou quem responsvel por um comportamento em particular, to bem quanto para padres de comportamento (nome) e quem ou o que este agente responsvel interage (colaboradores). Os objetos de aplicao so compostos desses objetos concretos, conceitos, processos e eventos que exibem comportamentos significativos. A sada da etapa 2 uma lista de objetos, os quais relatados em grupos de comportamento e propriedades visveis. Pode ser necessrio fazer esta etapa mais de uma vez para atualizar a lista de objetos (p. ex.: adicionar uma classe de objetos). c) Etapa 3: Classificando os objetos Neste caso, classificao significa agrupar objetos de acordo com alguma similaridade de comportamento (funo) e estado (forma). Classificar objetos primariamente pelo comportamento a chave da OBA. Para isso, deve ser visto comportamentos similares em diferentes objetos. A sada da etapa 3 um diagrama de relacionamento hierrquico entre os objetos, baseados na forma abstrata usando o critrio de comportamento similar. Uma importante tarefa no mundo da orientao a objeto distinguir o abstrato a partir do especfico. OBA inicia o projeto com o p direito, por auxiliar na localizao de conceitos que sero usados para ambas classes, abstrato e concreto durante o projeto e implementao. d) Etapa 4: Identificando os relacionamentos A etapa 4 envolve um desenho de um esboo preliminar dos objetos em relao uns com os outros. Usando esse esboo, to bem quanto um "script" e os cartes de modelagem, pode -se criar uma tabela que clarifica os relacionamentos que cada objeto tem uns com os outros. Para OBA, necessita-se obter uma descrio,a mais clara possvel, em termos de linguagem natural, dos relacionamentos entre os objetos. Ento simplifica-se essas descries de linguagens. De outro modo, reduzindo uma descrio simplificada em linguagem natural para os subconjuntos dos relacionamentos implementveis em OOL, parte da fase de projeto e no da fase de anlise. e) Etapa 5: Modelando o Processo Necessita-se para determinar quais objetos iniciam atividades e identificar qual a sequencia das atividades, para isso so usados os "scripts" desenvolvidos na etapa 1 para iniciar o modelo de aplicao. Pode-se especificar o ciclo de vida dos objetos e seus "status" em diferentes partes do ciclo. f) A Anlise Final: O resultado da OBA so as especificaes das necessidades, escrita em termos de comportamento requerido, que delinea os objetos primrios como eles so organizados. Esta especificao inclui objetos

superordenados a partir de um agrupamento por comportamento e objetos subordenados. O comportamento primrio e estado da cada objeto listado, bem como seus relacionamentos dos objetos e as sequncias de atividades. Os "scripts" produzidos na OBA so especialmente usados no detalhamento de como trabalhar a interface com o usurio. Com o uso da OBA para anlise de um sistema orientado a objeto, obtm-se uma especificao do comportamento que enfatiza os aspectos da alta reusabilidade do sistema, que , os protocolos de comportamento e os agrupamentos hierrquicos dos objetos de acordo com o protocolo. Uma anlise cuidadosa, focando as abstraes comportamentais, promovem uma reduo no cdigo,por calar o caminho para uma boa construo hierrquica e hereditariedade e o seu uso prudente pode ajudar a produzir uma clara e compreensvel estrutura de aplicao orientada a objeto.

PROJETO ORIENTADO A OBJETOS (OOD)


Uma vez construido o Modelo Essencial do sistema, necessitamos construir o seu Modelo de Implementao, ou seja, o seu projeto fsico. Para essa fase do ciclo de vida do sistema, assim como para as demais, existem diversos mtodos alternativos, como o Projeto Estruturado, e o Projeto Orientado a Objetos. Um problema existente no projeto estruturado a sua taxa de subjetividade dos conceitos de modularizao. Alguns objetivos chave para o projeto orientado a objetos (9): a) Aumento da produtividade pelo aumento da manutenabilidade e enfase na reusabilidade. b) Incremento da qualidade, por nfase no processo de desenvolvimento de software, e no nicamente no produto final. c) Aumentar a manutenabilidade por separar intrinsicamente partes volteis do sistema daquelas que so estveis. J no Projeto Orientado a Objetos, temos alguns benefcios tais como: a) A arquitetura do sistema desenvolvida a partir dos objetos por ele manipulados. Em um sistema de informaes, os objetos correspondem s entidades de dados utilizadas. b) Para cada objeto so definidas as funes ou servios que dever permitir, direta ou indiretamente, o atendimento aos requisitos estabelecidos. Todos os servios correspondentes a um mesmo objeto devem ser integrados e estruturados em um nico mdulo, estabelecendo-se assim a funcionalidade do objeto. c) Um objeto, atravs de seus servios, pode colaborar com outros objetos. Esta colaborao se processa atravs da troca de mensagens entre os objetos cliente e servidor.

a) O objeto pode tambm herdar algumas funcionalidades correspondentes a seu objeto "pai", o qual deve representar, conceitualmente, uma entidade mais genrica. Entre as principais vantagens oferecidas pelo mtodo do projeto orientado por objeto temos: a) Fornece regras precisas para a modularizao do sistema. b) Desenvolvimento de uma arquitetura mais estvel, uma vez que se estrutura com base no modelo de dados utilizado, o qual apresenta pouca vulnerabilidade a mudanas na funcionalidade do sistema. c) Alto grau de reusabilidade das rotinas desenvolvidas. d) Maior facilidade de transio da fase de anlise para a fase de projeto.

PROTOTIPAO ORIENTADA A OBJETO


A prototipao orientada a objeto (8) baseada em abstrao de dados e hereditariedade. Objetos encapsulam o dado em sistemas de prototipao servindo como base para o projeto e a implementao. Desde que o dado na implementao geralmente mais estvel que as etapas do processo, isto conduz a descrio do sistema que mais fcil para ser modificado que atravs da abstrao procedural. Hereditariedade ajuda a reduzir o trabalho envolvido na construo do sistema por incluso de aspectos comuns de cdigo em diferentes contextos sem a repetio explcita de detalhes. Objetos tambm provem componentes convenientes para cdigo reusavel, processamento paralelo e controle de verses, desse modo, as abordagens orientadas a objeto fazem prottipos mais flexveis e facilmente automatizaveis. O OOD e a prototipao (9) tem vnculos em comum pois; uma maneira natural de trabalhar, experimenta-se a interface humana, para a clarificao dos requisitos procurados, para a praticidade do projeto, para a entrega, funcionalmente, to cedo quanto possvel.

CONCLUSES
A orientao a objetos (2) uma mudana cultural, muito mais do que uma mudana tecnolgica, ela um paradigma, uma revoluo industrial do software baseada na reusabilidade e intercambialidade entre as partes que alterar o universo de software to fortemente quanto a revoluo industrial alterou a manufatura. O paradigma muda das linguagens procedurais para as linguagens orientadas a objeto, com o direcionamento para ambientes de alto nvel como o Smalltalk. Do mesmo modo as metodologias mudam das estruturadas para as orientadas a objetos, no podendo haver uma continuidade nas tcnicas

estruturadas existentes, confirmando (1), "os mtodos estruturados No podem ser objetificados". Grandes organizaes mudam lentamente, velhas metodologias, quando h, so difceis de mudar o no entanto se requer uma mudana radical na maneira de como sistemas sero desenvolvidos a partir de agora, isto , orientados a objeto e com auxlio de CASE. Os anos 90 sero de gradual aceitao da orientao a objetos e no podendo tomar por base antigas metodologias. Orientao a objetos promete muito mais do que "apontar e clicar" a interface de janelas, e com a popularizao das arquiteturas abertas, redes distribudas, CASE e ambientes grficos o seu destino est definido.

Banco de Dados Orientado a Objetos 3.0 Modelagem e Projeto para BDOOs


ANLISE ORIENTADA A OBJETOS
Diretamente derivada dos conceitos da programao e do projeto orientado a objeto, a anlise orientada a objeto certamente a mais nova das abordagens de anlise de sistemas. Baseada na decomposio do sistema de acordo com os objetos ( entidades de dados ) manipulados por este, esta abordagem oferece como principais benefcios os seguintes fatores: a) Mantm a modelagem do sistema e, conseqentemente, a automao do mesmo o mais prximo possvel de uma viso conceitual do mundo real. b) Baseia a decomposio e modelagem do sistema nos dados, que o elemento mais estvel de todos aqueles que compem um sistema de informao. c) De todas as abordagens de anlise conhecidas at o momento, a anlise orientada a objetos , certamente, a que oferece maior transparncia na passagem da anlise ( modelo essencial ) para o projeto ( modelo de implementao ). Isso porque, se for seguida a tcnica de projeto orientado a objeto, a passagem de um modelo para o outro ser feita atravs da introduo de detalhes, no.requerendo uma reorganizao do modelo, como o caso na passagem de anlise estruturada para o projeto estruturado. interessante que faamos a definio de Classes e Objetos, (9):

a) Objeto: "Uma abstrao de alguma coisa em um domnio de problema, refletindo as capacidades de um sistema de manter informaes sobre s, interagir com s, ou ambos, um encapsulamento de Valores, de Atributos e seus Servios exclusivos". b) Classe: "Uma coleo de objetos que podem ser descritos com o mesmo Atributo ou Servio". Anlise Orientada a Objeto, uma abordagem passo a passo Pode-se perguntar: Porque no usar as tcnicas de anlise j estabelecidas, como a anlise estruturada. A evoluo da anlise estruturada nos mostra que h uma srie de desenvolvimentos, a programao estruturada precedida pelo projeto estruturado, que por sua vez precedido pela anlise estruturada. A anlise e o projeto estruturado so construdos no topo de noes bsicas da programao estruturada tradicional, incluindo a separao de dados e processos. Algumas noes bsicas de programao orientada a objetos so diferentes da programao tradicional. Por instncia, objetos encapsulam ambos comportamento e estado, enquanto as linguagens tradicionais de programao deliberadamente mantm uma separao. A seguir apresentaremos uma abordagem de desenvolvimento de sistemas orientados a objetos, numa abordagem passo a passo, (3): OBA (Object Behavior Analysis) provm um modelo conceitual para um primeiro estgio na criao de uma aplicao orientada a objeto. Usando esta abordagem como um passo positivo no processo de construo, com sucesso, de um sistema flexvel orientado a objeto. A OBA tenta responder questes que a anlise tradicional de sistemas no consegue responder, e isto de uma maneira natural, encorajando a interao entre as diversas fases do desenvolvimento e com o auxlio da prototipao rpida especialmente nas fases de anlise e projeto. Uma implicao desta abordagem que analisar, projetar e implementar, no do tipo, "vamos fazer certo da primeira vez". Na prtica geralmente isso impossivel, ter a informao que se necessita para uma anlise completa, muito menos interpretar e representar todas as coisas corretamente sem interaes. Interaes controladas contribuem para clarificar e tornar mais completas as especificaes e projeto. OBA consiste de uma compreeno da aplicao e identificao dos comportamentos iniciais, definindo os objetos que exibem esses comportamentos, classificando os objetos, identificando os relacionamentos entre eles e modelando seus ciclos de vida. a) Etapa 1: Identificando os comportamentos Para compreender o que a aplicao far, primeiro entrevista-se o usurio para a aplicao pretendidada observando ento a ao para ver o que ela far, quem ou o qu interagir com o sistema , em que ordem ocorrer, e quais as diferentes aes tomadas. O ponto principal

uma lista dos desejos necessrios para o sistema analisado, o mais alto nvel do comportamento define as responsabilidades do sistema. A sada desta etapa uma lista dos comportamentos desejados do sistema e uma lista de suas propriedades visveis,bem como de "scripts". b) Etapa 2: Definindo os objetos Uma vez definidos os comportamentos iniciais necessita-se determinar a sua performance. Encontrar os objetos um passo para compreender a sua performance. Imediatamente v-se quem ou o que responsavel por um comportamento particular. Cartes de modelagem, usados nesta etapa, so pequenos cartes indexados com os termos:"nome", "responsabilidade" e "colaboradores",escrito neles. Nesses cartes escreve-se o comportamento do sistema (responsabilidades), o que ou quem responsvel por um comportamento em particular, to bem quanto para padres de comportamento (nome) e quem ou o que este agente responsvel interage (colaboradores). Os objetos de aplicao so compostos desses objetos concretos, conceitos, processos e eventos que exibem comportamentos significativos. A sada da etapa 2 uma lista de objetos, os quais relatados em grupos de comportamento e propriedades visveis. Pode ser necessrio fazer esta etapa mais de uma vez para atualizar a lista de objetos (p. ex.: adicionar uma classe de objetos). c) Etapa 3: Classificando os objetos Neste caso, classificao significa agrupar objetos de acordo com alguma similaridade de comportamento (funo) e estado (forma). Classificar objetos primariamente pelo comportamento a chave da OBA. Para isso, deve ser visto comportamentos similares em diferentes objetos. A sada da etapa 3 um diagrama de relacionamento hierrquico entre os objetos, baseados na forma abstrata usando o critrio de comportamento similar. Uma importante tarefa no mundo da orientao a objeto distinguir o abstrato a partir do especfico. OBA inicia o projeto com o p direito, por auxiliar na localizao de conceitos que sero usados para ambas classes, abstrato e concreto durante o projeto e implementao. d) Etapa 4: Identificando os relacionamentos A etapa 4 envolve um desenho de um esboo preliminar dos objetos em relao uns com os outros. Usando esse esboo, to bem quanto um "script" e os cartes de modelagem, pode -se criar uma tabela que clarifica os relacionamentos que cada objeto tem uns com os outros. Para OBA, necessita-se obter uma descrio,a mais clara possvel, em termos de linguagem natural, dos relacionamentos entre os objetos. Ento simplifica-se essas descries de linguagens. De outro modo, reduzindo uma descrio simplificada em linguagem natural para os

subconjuntos dos relacionamentos implementveis em OOL, parte da fase de projeto e no da fase de anlise. e) Etapa 5: Modelando o Processo Necessita-se para determinar quais objetos iniciam atividades e identificar qual a sequencia das atividades, para isso so usados os "scripts" desenvolvidos na etapa 1 para iniciar o modelo de aplicao. Pode-se especificar o ciclo de vida dos objetos e seus "status" em diferentes partes do ciclo. f) A Anlise Final: O resultado da OBA so as especificaes das necessidades, escrita em termos de comportamento requerido, que delinea os objetos primrios como eles so organizados. Esta especificao inclui objetos superordenados a partir de um agrupamento por comportamento e objetos subordenados. O comportamento primrio e estado da cada objeto listado, bem como seus relacionamentos dos objetos e as sequncias de atividades. Os "scripts" produzidos na OBA so especialmente usados no detalhamento de como trabalhar a interface com o usurio. Com o uso da OBA para anlise de um sistema orientado a objeto, obtm-se uma especificao do comportamento que enfatiza os aspectos da alta reusabilidade do sistema, que , os protocolos de comportamento e os agrupamentos hierrquicos dos objetos de acordo com o protocolo. Uma anlise cuidadosa, focando as abstraes comportamentais, promovem uma reduo no cdigo,por calar o caminho para uma boa construo hierrquica e hereditariedade e o seu uso prudente pode ajudar a produzir uma clara e compreensvel estrutura de aplicao orientada a objeto.

PROJETO ORIENTADO A OBJETOS (OOD)


Uma vez construido o Modelo Essencial do sistema, necessitamos construir o seu Modelo de Implementao, ou seja, o seu projeto fsico. Para essa fase do ciclo de vida do sistema, assim como para as demais, existem diversos mtodos alternativos, como o Projeto Estruturado, e o Projeto Orientado a Objetos. Um problema existente no projeto estruturado a sua taxa de subjetividade dos conceitos de modularizao. Alguns objetivos chave para o projeto orientado a objetos (9): a) Aumento da produtividade pelo aumento da manutenabilidade e enfase na reusabilidade. b) Incremento da qualidade, por nfase no processo de desenvolvimento de software, e no nicamente no produto final. c) Aumentar a manutenabilidade por separar intrinsicamente partes volteis do sistema daquelas que so estveis. J no Projeto Orientado a Objetos, temos alguns benefcios tais como:

a) A arquitetura do sistema desenvolvida a partir dos objetos por ele manipulados. Em um sistema de informaes, os objetos correspondem s entidades de dados utilizadas. b) Para cada objeto so definidas as funes ou servios que dever permitir, direta ou indiretamente, o atendimento aos requisitos estabelecidos. Todos os servios correspondentes a um mesmo objeto devem ser integrados e estruturados em um nico mdulo, estabelecendo-se assim a funcionalidade do objeto. c) Um objeto, atravs de seus servios, pode colaborar com outros objetos. Esta colaborao se processa atravs da troca de mensagens entre os objetos cliente e servidor. a) O objeto pode tambm herdar algumas funcionalidades correspondentes a seu objeto "pai", o qual deve representar, conceitualmente, uma entidade mais genrica. Entre as principais vantagens oferecidas pelo mtodo do projeto orientado por objeto temos: a) Fornece regras precisas para a modularizao do sistema. b) Desenvolvimento de uma arquitetura mais estvel, uma vez que se estrutura com base no modelo de dados utilizado, o qual apresenta pouca vulnerabilidade a mudanas na funcionalidade do sistema. c) Alto grau de reusabilidade das rotinas desenvolvidas. d) Maior facilidade de transio da fase de anlise para a fase de projeto.

PROTOTIPAO ORIENTADA A OBJETO


A prototipao orientada a objeto (8) baseada em abstrao de dados e hereditariedade. Objetos encapsulam o dado em sistemas de prototipao servindo como base para o projeto e a implementao. Desde que o dado na implementao geralmente mais estvel que as etapas do processo, isto conduz a descrio do sistema que mais fcil para ser modificado que atravs da abstrao procedural. Hereditariedade ajuda a reduzir o trabalho envolvido na construo do sistema por incluso de aspectos comuns de cdigo em diferentes contextos sem a repetio explcita de detalhes. Objetos tambm provem componentes convenientes para cdigo reusavel, processamento paralelo e controle de verses, desse modo, as abordagens orientadas a objeto fazem prottipos mais flexveis e facilmente automatizaveis. O OOD e a prototipao (9) tem vnculos em comum pois; uma maneira natural de trabalhar, experimenta-se a interface humana, para a clarificao dos requisitos procurados, para a praticidade do projeto, para a entrega, funcionalmente, to cedo quanto possvel.

CONCLUSES

A orientao a objetos (2) uma mudana cultural, muito mais do que uma mudana tecnolgica, ela um paradigma, uma revoluo industrial do software baseada na reusabilidade e intercambialidade entre as partes que alterar o universo de software to fortemente quanto a revoluo industrial alterou a manufatura. O paradigma muda das linguagens procedurais para as linguagens orientadas a objeto, com o direcionamento para ambientes de alto nvel como o Smalltalk. Do mesmo modo as metodologias mudam das estruturadas para as orientadas a objetos, no podendo haver uma continuidade nas tcnicas estruturadas existentes, confirmando (1), "os mtodos estruturados No podem ser objetificados". Grandes organizaes mudam lentamente, velhas metodologias, quando h, so difceis de mudar o no entanto se requer uma mudana radical na maneira de como sistemas sero desenvolvidos a partir de agora, isto , orientados a objeto e com auxlio de CASE. Os anos 90 sero de gradual aceitao da orientao a objetos e no podendo tomar por base antigas metodologias. Orientao a objetos promete muito mais do que "apontar e clicar" a interface de janelas, e com a popularizao das arquiteturas abertas, redes distribudas, CASE e ambientes grficos o seu destino est definido.