Tarefa: Revisar o Design
Esta tarefa define como conduzir a revisão de um Design e como endereçar descobertas da revisão.
Disciplinas: Análise e Design
Objetivo
  • Verificar se o modelo de design obedece aos requisitos do sistema e serve como base para sua implementação.
  • Assegurar que o modelo de design é consistente no que diz respeito às diretrizes gerais de design.
  • Assegurar que as diretrizes de design atingirão seus objetivos.
Relacionamentos
Etapas
Recomendações Gerais
Finalidade Recomendações gerais para cada revisão.

O revisor "parceiro" tem o mesmo perfil profissional da Função: Arquiteto de Software, embora com enfoque mais minucioso nas questões técnicas. Liderança, maturidade, pragmatismo e orientação baseada em resultados são aspectos importantes em menor grau, mas, ainda assim, importantes: um revisor pode revelar defeitos de arquitetura que podem não vir a ser conhecidos se ameaçarem o cronograma do projeto. Todavia, é melhor levantar problemas críticos no início, quando eles podem ser resolvidos, do que seguir cegamente um cronograma que leva a equipe do projeto para o caminho errado. O revisor de design precisa contrabalançar os riscos e os custos, permanecendo sensível a questões mais amplas que influenciam no êxito do projeto. O revisor de design também deve ser um comunicador persuasivo, que possa levantar e discutir questões importantes. Do ponto de vista do conhecimento técnico, o revisor de design deve ter experiência na Função: Designer.
>Revisar o Modelo de Design como um Todo
Finalidade  Assegurar que a estrutura geral do Modelo de Design está bem formada.
Detectar problemas genéricos de qualidade que não podem ser vistos observando elementos de nível inferior.  


O Modelo de Design deve ser revisado como um todo, para detectar problemas evidentes na disposição das camadas e na divisão de responsabilidades. A finalidade da revisão do modelo como um todo é detectar problemas genéricos que passariam despercebidos em uma revisão mais detalhada.

Na fase de iniciação e no início da fase de elaboração, esta revisão irá focalizar a estrutura geral do modelo, dando ênfase especial à disposição de camadas e às interfaces. As dependências de pacote e de subsistema devem ser examinadas para assegurar o acoplamento flexível entre os elementos de empacotamento. O conteúdo dos pacotes e dos subsistemas deve ser examinado para assegurar a coesão nos elementos de pacote. Em geral, todos os elementos devem ser examinados para garantir que eles possuem responsabilidades claras e apropriadas e que seus nomes refletem essas responsabilidades.

Quando pelo menos os protótipos arquiteturais estiverem desenvolvidos, uma revisão mais abrangente do design deverá ser realizada. O modelo deve primeiro ser revisado para garantir a abrangência geral e, em seguida, deve-se realizar uma revisão mais cuidadosa para descobrir os defeitos.

Revisar cada Realização de Casos de Uso de Design
Finalidade Garantir que o comportamento do sistema (conforme expresso nas realizações de casos de uso de design) corresponda ao comportamento necessário do sistema (conforme expresso nos casos de uso) , ou seja, ele está completo?
Garantir que o comportamento esteja alocado apropriadamente entre os elementos do modelo , ou seja, ele está correto? 


Depois que a estrutura do modelo de design for revisada, o comportamento do modelo precisará ser revisado. Primeiramente, certifique-se de que não esteja faltando nenhum comportamento, verificando se todos os cenários da iteração atual foram completamente abordados pelas realizações de casos de uso de design. Todos os comportamentos dos subfluxos de casos de uso relevantes devem ser descritos nas realizações de casos de uso de design concluídas.

Nos casos em que o comportamento do sistema é orientado a eventos, você talvez tenha usado diagramas de estados para descrever o comportamento do caso de uso. Onde houver, os diagramas de estados precisam ser examinados para garantir que descrevam o comportamento correto. Consulte Técnica: Diagrama de Estados, para obter detalhes adicionais.  Em sistemas de tempo real, nos quais Produto de Trabalho: Protocolos são utilizados para descrever a interação Produto de Trabalho: Cápsulas, eles devem ser verificados para ver se oferecem o comportamento correto.

Em seguida, certifique-se de que o comportamento da realização do caso de uso de design esteja distribuído corretamente entre os elementos do modelo nas realizações: verifique se as operações foram utilizadas corretamente, se todos os parâmetros foram transmitidos e se os valores de retorno são do tipo correto.

Revisar cada Elemento de Design
Finalidade  Garantir que a implementação interna do elemento de design execute o comportamento exigido.  

Para cada elemento de design  (por exemplo, classe de design ou subsistema de design) para o qual o comportamento está alocado, o design interno deve ser revisado. Em subsistemas de design, isso significa a garantia de que o comportamento especificado nas interfaces expostas foi alocado para um ou mais elementos de design contidos.   Em classes de design, significa que a descrição de cada operação está definida da forma adequada para que possa ser implementada sem ambigüidades.

Revisar Diretrizes de Design
Finalidade Garantir que as diretrizes específicas do projeto, relacionadas ao design, permaneçam corretas e corrigir defeitos nas diretrizes, onde houver. 


Na base da revisão do design, procure defeitos nas suas diretrizes.

  • As diretrizes foram seguidas? Em caso negativo, por quê?
  • O Guia de Design está correto? Foram detectados defeitos sistemáticos ocasionados por diretrizes incorretas?
  • O Guia de Design está completo? Os defeitos sistemáticos teriam sido reduzidos se a diretriz tivesse sido fornecida?
Preparar Registro de Revisão e Documentar Defeitos
Finalidade Documentar os resultados da revisão.
Assegurar que os defeitos identificados foram documentados.  


Após cada reunião de revisão, os resultados da reunião são documentados em um Registro de Revisão. Além disso, todos os defeitos são documentados de acordo com o processo de gerenciamento de mudanças do projeto.



Informações Adicionais