O documento discute os relacionamentos entre casos de uso e atores na Linguagem Unificada de Modelagem (UML), descrevendo associação, generalização, extensão e inclusão.
2. Bibliografia
BOOCH, Grady; RUMBAUGH, James; JACOBSON,
Ivar. UML: guia do usuário. 2.ed. rev. e atual. Rio de
Janeiro: Elsevier, Campus, c2006.
MELO, Ana Cristina. Desenvolvendo aplicações com
UML 2.2: do conceitual à implementação. 3.ed. Rio de
Janeiro: Brasport, 2010.
LARMAN, Craig. Utilizando UML e padrões: uma
introdução à análise e ao projeto orientados a objetos e
ao desenvolvimento iterativo. Porto Alegre: Bookman,
2007.
3. UML – Caso de Uso
Relacionamento entre Caso de Uso e Atores:
Casos de usos representam conjuntos bem
definidos de funcionalidades do sistema, que
não podem trabalhar sozinhas no contexto do
sistema
Casos de usos se relacionam com outros
casos de uso e com atores que enviarão e
receberão mensagem destes
4. UML – Caso de Uso
Relacionamento entre Caso de Uso e Atores:
Notações especiais são utilizadas para
facilitar a descrição de funcionalidades mais
complexas
Casos de usos primário são aqueles que são
invocados por iniciativa direta de um ator
Casos de uso secundário são invocados em
um passo de outro caso de uso
5. UML – Caso de Uso
Relacionamento entre Caso de Uso e Atores:
Casos de uso secundários simplificam o
comportamento dos casos de uso primários
através de mecanismos de extensão e
inclusão
6. UML – Caso de Uso
Relacionamento entre Caso de Uso e Atores:
Relacionamentos de casos de uso entre si:
Generalização, extensão e inclusão
Relacionamentos de atores entre si:
Generalização
Relacionamentos entre atores e casos de
uso:
Associação
7. UML – Caso de Uso
Relacionamento entre Caso de Uso e Atores:
Associação:
Interação do ator com o caso de uso, ou
seja, a comunicação entre atores e casos
de uso, por meio de envio e recebimento
de mensagens
São sempre binárias, ou seja, envolvem
apenas dois elementos
Representam o único relacionamento
possível entre atores e caso de uso
8. Relacionamento entre Caso de Uso e Atores:
Associação:
Representação gráfica corresponde a
uma linha sólida, ligando o caso de uso
ao ator e vice-versa
UML – Caso de Uso
Caixa
Operação
de Venda
9. UML – Caso de Uso
Relacionamento entre Caso de Uso e Atores:
Generalização:
Ocorre entre casos de uso ou entre
atores
Segue o mesmo conceito da orientação a
objetos
É quando temos dois elementos
semelhantes, mas com um deles
realizando algo a mais
10. UML – Caso de Uso
Relacionamento entre Caso de Uso e Atores:
Generalização:
Representado graficamente pela seta de
generalização, que corresponde a uma
linha sólida com uma única seta fechada,
mas não preenchida em uma das pontas
11. UML – Caso de Uso
Vendedor
Gerente
Relacionamento entre Caso de Uso e Atores:
Generalização:
A seta parte do caso mais
específico ao mais genérico
Cadastrar
Funcionário
Cadastrar
Professor
12. Relacionamento entre Caso de Uso e Atores:
Extensão <<extend>> :
Representa um caso de uso
(funcionalidade) que pode ser invocado ou
não durante a execução de outro caso de
uso (caso de uso base)
UML – Caso de Uso
13. Relacionamento entre Caso de Uso e Atores:
Extensão <<extend>> :
Representado graficamente por uma seta
tracejada com a ponta aberta, que parte do
caso de uso estendido para o caso de uso
base e contém o estereótipo <<extends>>
UML – Caso de Uso
Operação
de Venda
Caixa
Emissão de
Nota Fiscal
<<extends>>
14. UML – Caso de Uso
Relacionamento entre Caso de Uso e Atores:
Inclusão << include>>
Representa um caso de uso
(comportamento) comum a mais de um
caso de uso
Temos uma inclusão quando existem
cenários cujas ações servem a mais de
um caso de uso
15. Relacionamento entre Caso de Uso e Atores:
Inclusão << include>>
Representado graficamente por uma seta
tracejada com a ponta aberta, que parte
do caso de uso estendido para o caso de
uso que será incluído e contem o
estereótipo <<include>>
UML – Caso de Uso
16. Relacionamento entre Caso de Uso e Atores:
Inclusão << include>>
UML – Caso de Uso
Gestor de
Estoque
Gestão de
Estoque
Operação
de Venda
Caixa
Baixa no
Estoque
<<include>>
<<include>>