quinta-feira, outubro 18, 2007

Identificação de Mecanismos de Design no RUP e OpenUP / Série Análise e Design - Parte 5

Conforme visto no artigo anterior (parte 5) da série Análise e Design, trataremos agora acerca da atividade Identificar mecanismos de Design (Identify Design Mechanisms em inglês).

Podemos resumir a atividade de Identificação de Mecanismos de Design como aquela aonde refinamos os mecanismos de análise em mecanismos de design com base nas restrições impostas pelo ambiente de implementação e pela plataforma tecnológica.

A atividade de mecanismos de análise pode ser dividida em dois grandes passos:

1 - Categorizar os clientes dos mecanismos de análise: Neste momento o objetivo é ver quais são os mecanismos de análise que foram identificados durante a análise arquitetural e entender em quais pontos da solução terão que ser utilizados. Dessa forma teremos uma tabela mapeando as classes de análise para os mecanismos de análise que cada uma necessita. Você também pode trocar essa tabela por outra que mapeia os casos de uso para os mecanismos de análise. Se achar necessário você também pode definir características mais específicas de um mecanismo de análise (por exemplo, você pode tentar estimar a média de transações diárias que passarão por um mecanismo de persistência). Essas características ajudarão na escolha da melhor solução específica para o mecanismo de análise identificado.

2 - Documentar os mecanismos de design: Esse passo é o mais importante. Primeiro deve-se identificar um mecanismo de design e implementação que atenda aos requisitos e características definidos na descrição dos mecanismos de análise. Um exemplo para o mecanismo de análise de persistência. Você pode definir que a persistência será feita com um banco de dados relacional Oracle. Como a plataforma tecnológica é o Java e com base nas características do mecanismo de persistência o arquiteto escolhe que usará o Hibernate(poderia ser outro como iBatis, JDBC direto, etc).

Essa escolha é a mais simples. Agora o passo fundamental é documentar o mecanismo de design. Como isso é feito? Nesse ponto você primeiro irá analisar se precisará usar um ou mais design patterns (padrões de design) para ajudar a encapsular e facilitar o trabalho com esse mecanismo. E então você irá criar uma espécie de realização de caso de uso para documentar o mecanismo. Portanto, você criará um diagrama de sequência para cada método na interface ou classe externa do mecanismo. Lembre-se de encapsular ao máximo o mecanismo para que ele seja reutilizável dentro da solução (e até fora dela). Você também gerará um diagrama de classes de design participantes.

Por que o RUP e o OpenUP tratam os mecanismos de design à parte das realizações dos casos de uso? Porque eles prezam a eliminação de redundância de informações e os benefícios do reuso. Ao isolar o mecanismo de design você poderá fazer uma realização de caso de uso de design muito mais resumida. Você não precisa incluir novamente as classes criadas para o mecanismo de design. Você colocará na realização de caso de uso apenas a classe ou interface para o mecanismo. Costumo explicar isso nos treinamentos de OOAD com a analogia do desenvolvimento por uma equipe. O comum é que a equipe monte um primeiro cenário contendo, por exemplo um ou mais mecanismos. Isso é chamado na literatura de esqueleto arquitetural ou protótipo arquitetural. Depois disso o que os desenvolvedores farão quando precisarem usar um mecanismo similar em outros casos de uso? Eles usarão a mesma solução via reuso componentizado ou então copiarão a solução dada no primeiro caso de uso e a mudarão para atender aos requisitos do outro cenário.

Então a mensagem importante é que você se lembre que documentar os mecanismos de design separadamente ajuda a diminuir o esforço de criação e de manutenção. Além de facilitar o processo criativo dos arquitetos e desenvolvedores e o uso de design patterns com objetivos claros e sem exageros.

No próximo artigo trataremos das atividades descrever a arquitetura de execução e descrever a distribuição. Até a próxima!!!

Marcadores: , , ,

0 Comentários:

Postar um comentário

Links para este artigo:

Criar um link

<< Home


Veja as Estatísticas