Categorizar Clientes de Mecanismos de Análise
Os mecanismos de análise fornecem conjuntos conceituais de serviços que são utilizados pelas Classes de Análise. Eles oferecem uma notação simplificada
conveniente para comportamentos muito complexos, com os quais, por fim, você terá que se preocupar, mas estão fora do
escopo do esforço de análise. Destinam-se principalmente a permitir a captura dos requisitos do sistema nesses serviços
que ainda serão projetados, sem a necessidade de se preocupar com os detalhes do provedor de serviços propriamente
dito.
Comece agora a refinar as informações coletadas nos mecanismos de análise. Para isso, execute os seguintes passos:
Identifique os clientes de cada mecanismo de análise. Examine todos os clientes de um determinado mecanismo de
análise, observando as características exigidas para esse mecanismo. Por exemplo, diversas Classes de Análise podem utilizar um mecanismo de persistência, mas
seus requisitos podem variar consideravelmente; por exemplo, uma classe que terá mil instâncias persistentes possui
requisitos de persistência significativamente diferentes de uma classe que terá quatro milhões de instâncias
persistentes. Da mesma forma, uma classe cujas instâncias devem fornecer respostas em submilissegundos para dados de
instância exigirá uma abordagem de persistência diferente de uma classe cujos dados de instância são acessados somente
através de consultas ad hoc e aplicativos de elaboração de relatórios em lotes.
Identifique perfis de características para cada mecanismo de análise. Pode haver uma grande variedade de
perfis de características que fornecem graus variados de desempenho, base, segurança, economia de custo, etc.
Cada mecanismo de análise é único - características diferentes serão aplicadas a cada um. Muitos mecanismos exigirão
estimativas do número de instâncias a ser gerenciado e do seu tamanho esperado em termos de número de bytes. A
movimentação de grandes volumes de dados através de qualquer sistema criará sérios problemas de desempenho que deverão
ser administrados.
Agrupe os clientes de acordo com o uso de perfis de características. Forme grupos de clientes que pareçam
compartilhar a necessidade de um mecanismo de análise com um perfil de características semelhante; identifique um
mecanismo de design com base em cada necessidade. Esses agrupamentos permitem um corte inicial nos mecanismos de
design. Um exemplo de mecanismo de análise, "comunicação entre processos", pode ser mapeado para um mecanismo de
design, "object request broker". Perfis de características distintos levarão a diferentes mecanismos de design que são
provenientes do mesmo mecanismo de análise. O mecanismo de persistência simples na análise produzirá vários mecanismos
de persistência no design: na memória, persistência, baseado em arquivo, baseado em banco de dados, distribuído, etc.
Os mecanismos de design são refinamentos dos mecanismos de análise, com base em diferentes perfis de características.
|
Fazer Inventário dos Mecanismos de Implementação
Prossiga de baixo para cima e faça um inventário dos mecanismos de implementação (consulte Conceito: Projetar e Implementar Mecanismos) que estão disponíveis:
-
Mecanismos oferecidos por um produto middleware ou por uma estrutura de componentes.
-
Mecanismos oferecidos por sistemas operacionais.
-
Mecanismos oferecidos por um componente.
-
Mecanismos oferecidos por uma biblioteca de classes.
-
Código legado (consulte também Tarefa: Incorporar Elementos de Design Existentes)
-
Pacotes para finalidades especiais: construtor da GUI, Sistema de Informações Geográficas, DBMS, etc.
Verifique onde os mecanismos de implementação existentes podem ser usados e onde novos mecanismos de implementação
precisam ser criados.
|
Mapear Mecanismos de Design para Mecanismos de Implementação
Os mecanismos de design fornecem uma abstração dos mecanismos de implementação, fazendo a ligação entre os Mecanismos
de Análise e os Mecanismos de Implementação. O uso de mecanismos de arquitetura abstratos durante o design permite
considerar como serão fornecidos mecanismos de arquitetura, sem ocultar o problema em questão com os detalhes de um
mecanismo específico. Também permite a possível substituição de um mecanismo de implementação específico por outro sem
prejudicar o design.
Determinar os intervalos das características. Selecione as características identificadas nos mecanismos de
design para determinar intervalos de valores justos, econômicos ou praticáveis para uso no mecanismo de implementação
sugerido.
Considere o custo da aquisição de componentes. Para as sugestões de mecanismos de implementação, considere o
custo de aquisição ou licenciamento, o vencimento do produto, o relacionamento com o fornecedor, o suporte etc., além
de critérios exclusivamente técnicos.
Procure os componentes corretos ou crie-os. Muitas vezes, você perceberá que não há mecanismo de implementação
que pareça adequado para alguns mecanismos de design; isso fará com que uma busca pelo produto certo seja acionada ou
identificará a necessidade de desenvolvimento interno. Talvez você também descubra que alguns mecanismos de
implementação não são utilizados de nenhum modo.
A escolha dos mecanismos de implementação é feita com base não somente em uma correspondência satisfatória para as
características técnicas, mas também para as características não técnicas, como custo, por exemplo. Algumas das opções
podem ser temporárias; quase tudo oferece algum risco: desempenho, robustez e escalabilidade quase sempre são
itens preocupantes e devem ser comprovados pela avaliação, criação de protótipo exploratório ou inclusão no protótipo
arquitetural.
|
Documentar Mecanismos Arquiteturais
O papel do Arquiteto de Software nesta tarefa é definir e validar esses mecanismos através da construção ou integração
deles, da verificação de que fazem a tarefa e de impô-los consistentemente ao restante do design do sistema. A função
de arquiteto de software colabora com a função de engenheiro de processos para documentar os mecanismos e detalhes
relacionados ao uso nas diretrizes de design específicas do projeto. Consulte Tarefa: Preparar Diretrizes Específicas do Projeto. A relação (ou
mapeamento) entre mecanismos de análise, de design e de implementação, bem como a análise racional associada dessas
opções, deverão ser documentadas no Documento de Arquitetura de Software. Os próprios mecanismos são os
elementos do Modelo de Design (como Pacote de Design, Classe de Design e Subsistema de Design), que são detalhados em
Produto de Trabalho: Modelo de Design, como parte de suas respectivas
tarefas de design.
|
|