Você está na página 1de 4

Projeto Orientado a Objetos (OOD) O projeto Orientado a Objetos (OOD) transforma o modelo de anlise criado, usando anlise orientada

a objetos, num modelo de projeto que serve como documento para a construo do software. Exige uma arquitetura de software multicamada, a especificao de subsistemas que realizam as funes necessrias e fornece a infra-estrutura de apoio, uma descrio de objetos (classes) que formam os blocos construtivos do sistema e uma descrio dos mecanismos de comunicao que permitem aos dados fluir entre camadas, subsistemas e objetos.
1. A OOD estabelece uma documentao de projeto que permite ao engenheiro de software

definir a arquitetura OO de forma a maximizar o reuso, aumentando assim a velocidade de desenvolvimento e a qualidade do produto final. A OOD est dividida em duas atividades principais: a. Projeto de Sistema: cria a arquitetura do produto definindo uma srie de camadas que realizam funes especficas do sistema e identificando as classes que so encapsuladas por subsistemas que residem em cada camada. Tambm considera a especificao de trs componentes: a interface com o usurio, as funes de gesto de dados e as facilidades de gesto de tarefas; b. O Projeto de Objetos: focaliza o detalhe interno de classes individuais, definindo detalhes de atributos, operaes e mensagem. Como produto, um modelo de projeto OO inclui a arquitetura do software, a descrio da interface com o usurio, os componentes de gesto de dados, as facilidades de gesto de tarefas e as descries detalhadas de cada classe a ser usada no sistema. Em cada estgio, os elementos do modelo de projeto orientado a objetos so revisados quanto clareza, correo, completeza e consistncia com os requisitos do usurio e entre si. 2. As quatro camadas do projeto OO so: a. Camada de subsistema: contm uma representao de cada um dos subsistemas que permitem ao software satisfazer os requisitos definidos pelo cliente e implementar a infra-estrutura tcnica que suporta esses requisitos; b. Camada de classes e objetos: contm as hierarquias de classes que permitem a criao do sistema usando generalizaes e especializaes cada vez mais focalizadas. Essa camada tambm contm representaes de cada objeto; c. Camada de mensagens: contm os detalhes de projeto que permitem a cada objeto se comunicar com seus colaboradores. Essa camada estabelece as interfaces externa e interna do sistema; d. Camada de responsabilidade: contm as estruturas de dados e o projeto algortmico de todos os atributos e operaes de cada objeto.

Identificao de classes

Modelo Objeto Relacioname nto

Projeto de Responsabilidades

Casos de Uso Modelo Objeto Comportamento Atributos, operaes, colaboradores

Projeto de mensagens Projeto de classes e objetos Projeto de subsistemas

Essas camadas repousam sobre uma base, chamada de fundao e tem por objetivo o projeto de objetos do domnio (chamados padres de projeto).

Anlise Orientada a Objetos Projeto da gesto de tarefas Projeto da gesto de dados Projeto da Interface Humana Projeto do sistema

Projeto de Objetos

3. O processo do projeto do sistema inclui as seguintes atividades: a. b. c. d. e. f. g. h. i. Particionar o modelo de anlise em subsistemas; Identificar a concorrncia que ditada pelo problema; Alocar subsistemas a processadores e tarefas; Desenvolver um projeto para a interface do usurio; Escolher uma estratgia bsica para implementar a gesto de dados; Identificar os recursos globais e os mecanismos de controle necessrios para ter acesso a eles; Projetar um mecanismo de controle adequado para o sistema, incluindo gesto de tarefas; Considerar como as condies limite devem ser manipuladas; Revisar e considerar concesses. Particionar o modelo de anlise: No projeto de sistemas OO particionamos o modelo de anlise para definir colees de classes, relacionamentos e comportamentos coesivos. Esses elementos de projeto so empacotados como um subsistema; Concorrncia e alocao de subsistemas: quando subsistemas so concorrentes, existem duas opes de alocao: alocar cada subsistema a um processador independente ou alocar os subsistemas ao mesmo processador e providenciar suporte de concorrncia atravs das caractersticas do SO. Tarefas concorrentes so definidas examinando o diagrama de estados de cada objeto (thread); O componente de gesto de tarefas: (para tarefas concorrentes) o As caractersticas da tarefa so determinadas; o Uma tarefa coordenadora e os objetivos associados so definidos; o A coordenadora e as outras tarefas so integradas. O componente de interface com o usurio: recebe como entrada os cenrios de uso e uma descrio dos papis que os usurios desempenham (atores), medida que interagem com o

sistema. Ambos desenvolvidos durante a OOA. Dado o grande nmero de ambientes de desenvolvimento de interface, basta ao implementador instanciar os objetos que tm caractersticas adequadas para o domnio do problema. O componente de gesto de dados: inclui duas reas distintas: (1) a gesto dos dados que so crticos para a aplicao propriamente dita e (2) a criao de uma infra-estrutura para armazenamento e recuperao de objetos. Em geral, a gesto de dados projetada numa disposio em camadas. A idia isolar os requisitos de baixo nvel por manipulao das estruturas de dados dos requisitos de alto nvel, para manejar os atributos do sistema. O componente de gesto de recursos: subsistemas competem por recursos (ex.: unidades de disco, processador, base de dados). Deve-se implementar mecanismos que controlem o acesso a tais recursos. Comunicao entre subsistemas: podem-se adotar os seguintes passos de projeto para especificar um contrato: o Listar cada solicitao que pode ser feita por colaboradores do subsistema: organize as solicitaes por subsistema e defina-as dentro de um ou mais contratos adequados. Certifique-se de anotar os contratos que so herdados de superclasses; o Para cada contrato, anote as operaes (tanto herdadas, quanto privadas) que so necessrias para implementar as responsabilidades implicadas pelo contrato: certifique-se de associar as operaes a classes especficas que residem dentro de um subsistema; o Considere um contrato de cada vez: para cada contrato so feitas as seguintes entradas em uma tabela: Tipo tipo de contrato (isto , cliente/servidor ou fim a fim); Colaboradores nome dos subsistemas que so parte do contrato; Classe nomes das classes (contidas num subsistema) que suportam os servios implicados pelo contrato; Operao nomes das operaes (dentro da classe) que implementam os servios; Formato da mensagem o formato de mensagem necessrio para implementar a interao entre colaboradores; Se os modos de interao entre subsistemas so complexos, criado um diagrama de colaborao de subsistemas.
4. O processo de Projeto de Objeto: Se o projeto de sistema OO for comparado a uma planta

baixa de uma casa, o projeto de objetos focaliza os detalhes para construir cada cmodo. nesse estgio que os conceitos e princpios bsicos associados com o projeto em nvel de componente vm baila. Estruturas de dados locais so definidas (para atributos) e algoritmos (para operaes) so projetados.

Descrio de objeto: deve conter (1) uma descrio de protocolo, que estabelece a interface de um objeto pela definio de cada mensagem que o objeto pode receber e da operao relacionada que o objeto realiza quando recebe a mensagem e (2) uma descrio de implementao, que mostra detalhes de implementao de cada operao implicada por uma mensagem que passada para um objeto. Projeto de algoritmos e estruturas de dados: Procede-se otimizao do modelo dos objetos bsicos: (1) Revisas o modelo objeto-relacionamento para garantir que o projeto implementado leve utilizao eficiente dos recursos e facilidade de implementao. Adicionar redundncia onde necessria. (2) Revisar as estruturas de dados de atributos e os algoritmos correspondentes das operaes, para aperfeioar a eficincia de processamento. (3) Criar novos atributos para armazenar a informao derivada, evitando assim o reclculo.

Padres de Projeto: voc vai encontrar padres repetidos de classes e objetos comunicantes em muitos sistemas OO. Esses padres resolvem problemas de projeto especficos e tornam o projeto OO mais flexvel, elegante e, em ltima anlise, reusvel. Em um sistema OO, padres de projeto podem ser usados pela aplicao de dois mecanismos diferentes: herana e composio. Sua descrio deve conter: o nome do padro, o objetivo do padro, as influncias de projeto que motivam o padro, a soluo que atenua tais influncias, as classes que so necessrias para implementar a soluo, as responsabilidades e colaboraes entre as classes da soluo, diretrizes

que levam implementao efetiva, cdigo-fonte exemplo ou gabaritos de cdigo-fonte e referncias cruzadas a padres de projeto relacionados.

Você também pode gostar