|
Os elementos de design separados têm baixo acoplamento? Cada elemento de design tem alta coesão interna?
O design reflete os objetivos arquiteturais do sistema?
O sistema pode ser implementado a partir das informações no design? O detalhamento está suficiente?
O design está consistente? Alguma parte do design contradiz uma outra parte de forma que ponha o projeto em risco?
O design é capaz de acomodar mudanças futuras?
O design está apropriado para o nível de experiência dos outros membros da equipe e dos stakeholders, sem ser muito simples nem muito avançado?
O design está escrito de tal forma, e estruturado o bastantes, para que possa ser mantido com facilidade?
O design restringe a implementação somente o necessário?
O design descreve todo o comportamento do sistema para os requisitos que estão sendo tratados no momento?
Todas as partes do design podem ser rastreadas para os requisitos? Os requisitos (para a iteração corrente) posem ser rastreados para os elementos de design?
Existe um lugar, ou lugares, não ambíguos no design onde cada comportamento exista?
Os fluxos dos casos do uso, que estão sendo tratados neste momento, estão descritos no design?
Os fluxos complexos, incluindo os casos excepcionais, estão fora do Fluxo Básico?
O comportamento, descrito nos requisitos que estão sendo tratados neste momento, está distribuído para os elementos de design corretos?
O design fornece bastante informação para a criação dos testes? Por exemplo, as colaborações entre os elementos de design estão bastante claras de forma que os testes de integração possam ser criados?
As áreas redundantes do design foram removidas de forma que a implementação não contenha código redundante?
|