Pular para conteúdo

Exercícios: Aula 14 - Integração dos Diagramas 📝

Aperfeiçoe sua capacidade de manter a coerência e rastreabilidade entre os diferentes modelos da UML.


1. O Conceito de Rastreabilidade (Básico 1)

Contexto: Um projeto UML profissional exige que os requisitos possam ser seguidos do início ao fim.

Pergunta: O que é Rastreabilidade Vertical e como ela conecta um Caso de Uso ao Diagrama de Classes?

2. Detecção de Inconsistências (Básico 2)

Contexto: É comum encontrar nomes de métodos diferentes no Diagrama de Sequência e no Diagrama de Classes.

Pergunta: Por que essa inconsistência é perigosa para a equipe de desenvolvimento e qual a regra de ouro para nomear elementos em diagramas diferentes?

3. A Matriz de Rastreabilidade (Intermediário 1)

Contexto: Gerentes de projeto usam matrizes para garantir a cobertura dos requisitos.

Pergunta: Quais são as colunas fundamentais de uma Matriz de Rastreabilidade e como ela prova que um requisito funcional foi totalmente modelado?

4. Verificação Cruzada (Intermediário 2)

Contexto: Ao revisar um Diagrama de Atividades, você nota uma decisão que não está prevista no Diagrama de Estados do objeto principal.

Pergunta: Como você resolveria esse conflito e qual diagrama deve ser considerado a "fonte da verdade" para o comportamento do objeto?

5. Desafio: Auditoria de Modelo (Desafio)

Contexto: Você recebeu uma modelagem onde o ator "Cliente" apaga um registro no Caso de Uso, mas o Diagrama de Sequência mostra o ator "Administrador" executando essa tarefa.

Pergunta: Identifique o erro de integridade nessa situação e descreva os passos que você tomaria para auditar o restante da documentação em busca de falhas similares.

---

📚 Gabarito e Soluções Comentadas

Gabarito Explicado 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. --- !!! success "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.