Olá pessoal, estava aqui estudando sobre diagramas de casos de uso, quando me surgiu uma dúvida.
Minha dúvida é sobre os relacionamentos de Casos de uso, mas especificamente sobre a Dependência entre casos de uso.
Vamos aos exemplos:
Tenho 2 casos de uso, Vender CDS e Calcular Desconto. O relacionamento desses casos de uso é [i]<> /i. Pelo que eu entendi, quando meu caso de uso base (Vender CDs) for “executado”, o caso de uso estendido(Calcular Desconto) poderá ou não entrar no fluxo de execução do caso base (opcional). Até ai tudo bem, mas não faz sentido eu calcular um desconto se não for realizada a venda vocês concordam?
Portanto , há uma dependência forte entre os casos de uso ([color=red] COMPOSIÇÃO[/color]). O caso de uso estendido só existirá se o caso de uso base existir.
Outro exemplo:
Tenho um caso de uso MANTER CLIENTES e outro FAZER LOGIN. O relacionamento deles é <> (Inclusão). Nesse caso, há uma dependência fraca entre os casos de uso, para eu “executar” o Manter Clientes eu preciso estar logado no sistema, mas eu posso logar no sistema e não manter nenhum cliente. ([color=red] AGREGAÇÃO[/color])
Conclusão:
( <<extend>> == COMPOSIÇÃO) && ( <<include>> == AGREGAÇÃO) )
É isso mesmo ou estou equivocado? Alguém concorda/discorda?