Pular para conteúdo

Solução: Aula 14 - Integração dos Diagramas 💡

Confira as respostas comentadas sobre como manter a integridade total da sua modelagem.


1. Rastreabilidade Vertical

A Rastreabilidade Vertical conecta elementos de diferentes níveis de abstração. No caso do Caso de Uso (Nível de Negócio) para o Diagrama de Classes (Nível de Design), ela garante que cada funcionalidade prometida ao usuário tenha uma ou mais classes responsáveis por sua execução.

2. Detecção de Inconsistências

É perigoso porque gera ambiguidade: o desenvolvedor pode criar o método autenticar() enquanto o diagrama de dinâmica pedia validarLogin(). Regra de Ouro: Use o Dicionário de Dados do projeto. Se uma operação foi definida na classe, ela deve ser usada com o mesmo nome exato em todos os diagramas de interação.

3. Matriz de Rastreabilidade

Colunas fundamentais: * ID do Requisito (RF/RNF). * Nome do Caso de Uso. * Classes Envolvidas. * Diagramas de Dinâmica Gerados. * Status de Validação. Ela prova a cobertura ao mostrar que não existem "requisitos órfãos" (sem diagramas) nem "diagramas fantasmas" (sem requisitos).

4. Verificação Cruzada

Deve-se alinhar os dois. Geralmente, o Diagrama de Estados é a fonte da verdade para o ciclo de vida rigoroso de uma entidade, enquanto o Atividades descreve o processo macro. Se o processo executa algo que o objeto não permite, o processo deve ser corrigido ou o estado do objeto deve ser expandido.

5. Desafio: Auditoria de Autoridade

  • Erro: Quebra de autoridade e consistência lógica. Se o cliente é o ator no Caso de Uso, ele é quem detém a responsabilidade de negócio de iniciar a ação.
  • Passos de Auditoria:
    1. Listar todos os Atores do Diagrama de Casos de Uso.
    2. Verificar as "Linhas de Vida" (Lifelines) de todos os Diagramas de Sequência.
    3. Confirmar se as permissões (guardas) nos Diagramas de Atividades condizem com os relacionamentos de Casos de Uso.
    4. Documentar as falhas em um relatório de inconsistências para ajuste global.

Conclusão

A integração é o que separa um desenho informal de uma engenharia de sistemas rigorosa. Um modelo consistente é o melhor guia para um código sem bugs.