Entendendo os Relacionamentos <<include>> e <<extend>>
No UML, os relacionamentos entre casos de uso definem como eles interagem:
- <<include>>: Indica que um caso de uso sempre executa o outro. É uma dependência obrigatória.
- <<extend>>: Indica que um caso de uso pode estender o outro, dependendo de condições específicas. É uma dependência opcional.
Aplicando ao Cenário
O aluno quer modelar "Pedir revisão de notas" em relação a "Consultar notas":
- Pedir revisão de notas não é uma ação obrigatória ao consultar notas. É uma opção que pode surgir após a consulta.
- Portanto, o relacionamento correto é <<extend>>, pois "Pedir revisão" estende "Consultar notas" de forma condicional.
Análise das Alternativas
- a) <<include>>: Incorreta, pois "Pedir revisão" não é obrigatório ao consultar notas.
- b) <<extend>>: Correta, pois "Pedir revisão" é uma extensão opcional de "Consultar notas".
- c) Relacionamento entre Consultar notas e Revisar notas: Incorreta, pois o caso de uso correto é "Pedir revisão", não "Revisar notas".
- d) Ligação direta ao ator Aluno: Incorreta, pois o relacionamento deve ser entre casos de uso, não diretamente ao ator.
Conclusão
A alternativa correta é a b, pois modela corretamente "Pedir revisão de notas" como uma extensão opcional de "Consultar notas" usando <<extend>>.