User Stories:
- A US possui um ator.
- A US possui uma ação clara.
- A US possui uma funcionalidade para a ação.
Exemplo de US: Como um [ATOR] eu quero/preciso de/devo/gostaria de [ACÃO] para [FUNCIONALIDADE].
Diagrama de Casos de Uso:
- Possui todas os casos de uso PEN(Processo Elementares de Negócio).
- Todas os casos de uso que obrigatoriamente precisam de outros casos de uso possuem um include entre si.
- Todos os casos de uso que podem fazer parte de outros casos de uso possuem extends entre si.
- Os Atores estão corretamente relacionados com seus respectivos casos de uso.
- Os casos de uso possuem um identificador.
Casos de Uso:
- Todas os casos de uso possuem ações tanto do ator quanto do sistema.
- Os casos de uso possuem ator.
- Os casos de uso possuem pré-condições.
- Os casos de uso possuem pós-condições.
- Os casos de uso possuem um identificador igual ao do diagrama.
- Os cenários alternativos apresentam a partir de qual passo o caso de uso é atualizado.
- As pré/pós-condições refletem os includes do diagrama.
- As pré/pós-condições refletem os extends do diagrama.
- Todos os casos de uso estão presentes no diagrama.
- Todos os casos de uso do diagrama foram descritos.
- Os identificadores são únicos para cada caso de uso.
Diagrama de Classes - JAVA:
- Os atributos e métodos possuem os modificadores de visibilidade.
- Todas as relações entre as classes possuem sua respectiva cardinalidade: n..n, 1..n, 1..1
- Foram utilizadas classes abstratas para as classes não instanciáveis e genéricas.
- O nome das classes abstratas foram escritos em itálico e foi devidamente representado.
- As relações são coerentes e necessárias.
- Todas as classes foram devidamente utilizadas.
- Foram utilizados ENUMs para variáveis simples que não necessitam de criação de classes.
- Os objetos do mundo real foram representados com suas respectivas ações no diagrama.
Diagrama de Máquinas de estados
- Todas as transições possuem a respectiva ação realizada.
- Possui um estado de início e um de fim.
- Todos os estados foram escritos no gerúndio.
- Todas as ações devem estar escritas no infinitivo.
- Foram usados pseudostates para verificações.
- Os elementos são condizentes com os propostos pela UML.
Código Java
- Os nomes de atributos e métodos seguem a convenção do Java.
- As classes e métodos são documentados utilizando Javadoc.
- Todos os pacotes importados nas classes são utilizados.
- O espaçamento entre caracteres segue um padrão em todo o código.
- Todos os métodos são únicos (não possui código duplicado).
- Não possui acesso a referências null.
- Não possui overflow em vetores.
- Não possui divisão por zero.
- Todos os campos estáticos são declarados como final.
- Todas as classes que sobrescrevem o método equals(Object) também sobrescrevem o método hashCode().
- O código foi programado em inglês.
- Não possui "prints" no console, somente salvamento de logs.
Diagrama de Sequência
- Todos os atores do sistema são representados nos diagramas de sequência.
- Os objetos, classes e atores do sistema são representados nos diagramas de sequência.
- Os serviços/mensagens do sistema são representados nos diagramas de sequência.
Decisões de Projeto x Casos de uso x User Stories
- Todas as decisões de projeto foram com o objetivo de fechar as possíveis lacunas presentes nos casos de uso/user stories.
- Nenhuma decisão de projeto afetou negativamente um caso de uso/user stories presente.
Decisões de Projeto x Diagramas de Classes
- Todas as decisões podem ser encontradas no diagrama de classes.
Diagrama de Sequência x Casos de Uso
- Todos os atores representados nos diagramas de sequência estão representados nos casos de uso.
- Existe um diagrama de sequência para o "Cenário de Sucesso Principal" dos casos de uso.
- Existem diagramas para os "Fluxos Alternativos" e "Fluxos de Exceção" dos casos de uso.
Diagrama de Sequência x Diagrama de Classes
- Todas as classes/objetos/atores representadas nos diagramas de sequência estão representadas no diagrama de classes.
- Todos os serviços/mensagens no diagrama de sequência podem ser encontrados no diagrama de classes com os parâmetros corretos.
- O diagrama de classes descreve as classes e seus relacionamentos de modo que os comportamentos especificados no diagrama de sequência são corretamente representados.
Diagrama de Sequência x Diagrama de Estados
- Todas as transições de estado para um objeto podem ser alcançadas pelas mensagens enviadas e recebidas pelo objeto no diagrama de sequência.
- Todas as transições de estado possuem uma ação correspondente no diagrama de sequência.
Código Java x Diagrama de Classes
- As classes modeladas no diagrama de classes são as mesmas presentes no código.
- Os atributos no diagrama de classes são os mesmos presentes no código.
- Os métodos no diagrama de classes são os mesmos presentes no código.
- As relações e cardinalidades entre classes no diagrama de classes correspondem ao implementado no código.
- As tipagens dos atributos são condizentes com a do diagrama.
Wireframes x Telas implementadas
- Todas as telas implementadas foram descritas com wireframes.
- As telas possuem o mesmo padrão descrito nos wireframes (Local das informações).
Wireframes x Users Stories/Use Cases
- Todas as telas refletem um ou mais US/UC.
Wireframes x Diagrama de estados
- É possível identificar todos os estados e ações a partir dos wireframes.
Wireframes x Diagrama de Sequência
- É possível identificar todas as sequências através dos wireframes.