Home > Engenharia de Software > Sumário > Projeto Arquitetural
Projeto de Dados no Nível de Componentes
O projeto de dados de componentes focaliza a representação de estruturas de dados que são diretamente acessíveis a um ou mais componentes de software. Wasserman (1980) propôs um conjunto de princípios que pode ser usado para especificar e projetar tais estruturas de dados:
- os princípios sistemáticos de análise aplicados à função e ao comportamento devem também ser aplicados aos dados. Representações de fluxo de dados e conteúdo devem também ser desenvolvidas e revisadas, objetos de dados devem ser identificados, organizações alternativas de dados devem ser consideradas e o impacto da modelagem de dados no projeto de software deve ser avaliado;
- todas as estruturas de dados e as operações a ser realizadas em cada uma devem ser identificadas. O projeto de uma estrutura de dados eficiente deve levar em consideração as operações a ser realizadas na estrutura de dados;
- um mecanismo para definir o conteúdo de cada objeto de dados deve ser estabelecido e usado para definir tanto os dados quanto as operações aplicadas a ele. Diagramas de classe definem os itens de dados (atributos) contidos em uma classe e o processamento (operações) aplicado a esses itens de dados;
- decisões de baixo nível de projeto de dados devem ser adiadas até mais adiante no processo de projeto. Um processo de refinamento passo a passo pode ser usado para o projeto dos dados. A organização geral de dados pode ser definida durante a análise de requisitos, refinada durante o trabalho de projeto de dados e especificada em detalhes durante o projeto de componentes;
- a representação da estrutura de dados deve ser conhecida apenas por aqueles módulos que precisam fazer uso direto dos dados contidos na estrutura. O conceito de ocultamento da informação e o conceito relacionado a acoplamento fornecem conhecimentos importantes quanto à qualidade de um projeto de software;
- uma biblioteca de estruturas de dados úteis e das operações que podem ser aplicadas a elas deve ser desenvolvida. Uma biblioteca de classes consegue isso;
- o projeto de software e a linguagem de desenvolvimento devem suportar a especificação e a realização dos tipos abstratos de dados. A implementação de uma estrutura de dados sofisticada pode ficar demasiadamente difícil, se não houver meios para especificar diretamente a estrutura na linguagem de programação escolhida para a implementação.
Esses princípios formam a base para uma abordagem de projeto de dados de componentes que pode ser integrada tanto nas atividades de análise quanto de projeto.
Referência Bibliográfica
PRESSMAN, Roger S. Engenharia de Software, Sexta Edição. Editora MCGrawHill: Porto Alegre, 2010.