UML: Casos de Uso
Modelagem de Sistemas
UML – Casos de Uso
Introdução – Casos de uso
Elementos do diagrama de casos de uso Descrição de casos de uso
Exemplo: Blog
Ferramentas de modelagem Bibliografia
Introdução – Casos de Uso
Os casos de uso:
Descrevem como os usuários interagem com o sistema (as funcionalidades do sistema)
Facilitam a organização dos requisitos de um sistema Dão uma visão externa do sistema
O conjunto de casos de uso deve ser capaz de comunicar a funcionalidade e o comportamento do sistema para o cliente
Descrevem o que o sistema faz, mas NÃO especificam
Elementos – Diagrama de Casos de
Uso
Elementos do diagrama: - Atores - Casos de uso - Relacionamentos • Associação • Generalização• Dependência: Extensão e Inclusão - Fronteira do sistema
Elementos – Diagrama de Casos
de Uso
Elementos do diagrama - Atores - Casos de uso - Relacionamentos • Associação • Generalização• Dependência: Extensão e Inclusão - Fronteira do sistema
Elementos – Diagrama de Casos
de Uso
Atores
- Representam os papéis desempenhados por elementos externos ao sistema
• Ex: humano (usuário), dispositivo de hardware ou
outro sistema (cliente)
- Elementos que interagem com o sistema
Notação:
Secretária (from Use Case View)
Diretor
(from Use Case View)
Sistema de Relatórios
Elementos – Diagrama de Casos
de Uso
Exemplo: Loja de CDs
Identificando os atores
- Uma loja de CDs possui discos para venda. Um cliente pode comprar uma quantidade ilimitada de discos para isto ele deve se dirigir à loja. A loja possui um atendente cuja função é atender os clientes durante a venda dos discos. A loja também possui um gerente cuja função é administrar o estoque para que não faltem discos. Além disso é ele quem dá folga ao atendente, ou seja, ele também atende os clientes durante a venda dos discos.
Elementos – Diagrama de Casos
de Uso
Exemplo: Loja de CDs
Identificando os atores
E o cliente?
- Não é ator pois ele não interage com o sistema! Gerente
(from Use Case View)
Atendente
Elementos – Diagrama de Casos
de Uso
Elementos do diagrama • Atores • Casos de uso • Relacionamentos - Associação - Generalização- Dependência: Extensão e Inclusão • Fronteira do sistema
Elementos – Diagrama de Casos
de Uso
Caso de Uso
Representa uma funcionalidade do sistema (um requisito funcional)
É iniciado por um ator ou por outro caso de uso
Dicas:
Nomeie os casos de uso iniciando por um verbo
Notação:
Elementos – Diagrama de Casos
de Uso
Exemplo: Loja de CDs
Identificando os casos de uso
Uma loja de CDs possui discos para venda. Um cliente pode comprar uma quantidade ilimitada de discos para isto ele deve se dirigir à loja. A loja possui um atendente cuja função é atender os clientes durante a venda dos discos. A loja também possui um gerente cuja função é administrar o estoque para que não faltem discos. Além disso é ele quem dá folga ao atendente, ou seja, ele também atende os clientes durante a venda dos discos.
Elementos – Diagrama de Casos
de Uso
Exemplo: Loja de CDs
Identificando os casos de uso
Administrar estoque Vender CDs
Elementos – Diagrama de Casos
de Uso
Elementos do diagrama Atores Casos de uso Relacionamentos - Associação - Generalização- Dependência: Extensão e Inclusão Fronteira do sistema
Elementos – Diagrama de Casos
de Uso
Relacionamento de associação
Indica que há uma interação (comunicação) entre um caso de uso e um ator
Um ator pode se comunicar com vários casos de uso
Dicas:
NÃO use setas nas associações
Associações NÃO representam fluxo de informação
Notação:
Ator
(from Use Case View)
Caso de Uso
(from Use Case View)
Elementos – Diagrama de Casos
de Uso
Exemplo: Loja de CDs
Identificando os relacionamentos de associação
Uma loja de CDs possui discos para venda. Um cliente pode comprar uma quantidade ilimitada de discos para isto ele deve se dirigir à loja. A loja possui um atendente cuja função é atender os clientes durante a venda dos discos. A loja também possui um gerente cuja função é administrar o estoque para que não faltem discos. Além disso é ele quem dá folga ao atendente, ou seja, ele também atende os clientes durante a venda dos discos.
Elementos – Diagrama de Casos
de Uso
Exemplo: Loja de CDs
Identificando os relacionamentos de associação
Atendente
Gerente
Vender CDs
Elementos – Diagrama de Casos
de Uso
Elementos do diagrama
Atores
Casos de uso
Relacionamentos
- Associação
- Generalização
- Dependência: Extensão e Inclusão
Fronteira do sistema
Elementos – Diagrama de Casos
de Uso
Relacionamento de generalização
Generalização de atores
Quando dois ou mais atores podem se comunicar com o mesmo conjunto de casos de uso
Um filho (herdeiro) pode se comunicar com todos os casos de uso que seu pai se comunica.
Dica: coloque os herdeiros embaixo
Elementos – Diagrama de Casos
de Uso
Exemplo: Loja de CDs
Identificando generalização de atores
Atendente
Gerente
Vender CDs
Elementos – Diagrama de Casos
de Uso
Relacionamento de generalização
Generalização de casos de uso
O caso de uso filho herda o comportamento e o significado do caso de uso pai
O caso de uso filho pode incluir ou sobrescrever o comportamento do caso de uso pai
O caso de uso filho pode substituir o caso de uso pai em qualquer lugar que ele apareça
Dica: deve ser aplicada quando uma condição resulta na definição de diversos fluxos alternativos.
Notação:
Pai
Elementos – Diagrama de Casos
de Uso
Exemplo: Loja de CDs
Identificando generalização de casos de uso
Novos requisitos:
- As vendas podem ser à vista ou a prazo. Em ambos os casos o estoque é atualizado e uma nota fiscal, entregue ao consumidor.
No caso de uma venda à vista, clientes cadastrados na loja e que compram mais de 5 CDs de uma só vez ganham um desconto de 1% para cada ano de cadastro.
No caso de uma venda a prazo, ela pode ser parcelada em 2 pagamentos com um acréscimo de 20%. As vendas a prazo podem ser pagas no cartão ou no boleto. Para pagamento com boleto, são gerados boletos bancários que são entregues ao cliente e armazenados no sistema para lançamento
posterior no caixa. Para pagamento com cartão, os clientes com mais de 10 anos de cadastro na loja ganham o mesmo desconto das compras a vista.
Elementos – Diagrama de Casos
de Uso
Exemplo: Loja de CDs
Identificando generalização de casos de uso
Atendente Vender CDs Gerente Vender CDs à vista Vender CDs a prazo Administrar estoque
Elementos – Diagrama de Casos
de Uso
Exemplo: Loja de CDs
Identificando mais generalização de casos de uso
Novos requisitos:
- As vendas podem ser à vista ou a prazo. Em ambos os casos o estoque é atualizado e uma nota fiscal, entregue ao consumidor.
No caso de uma venda à vista, clientes cadastrados na loja e que compram mais de 5 CDs de uma só vez ganham um desconto de 1% para cada ano de cadastro.
No caso de uma venda a prazo, ela pode ser parcelada em 2 pagamentos com um acréscimo de 20%. As vendas a prazo podem ser pagas no cartão ou no boleto. Para pagamento com boleto, são gerados boletos bancários que são entregues ao cliente e armazenados no sistema para lançamento posterior no caixa. Para pagamento com cartão, os clientes com mais de 10 anos de cadastro na loja ganham o mesmo desconto das compras a vista.
Elementos – Diagrama de Casos
de Uso
Exemplo: Loja de CDs
Identificando generalização de casos de uso
Atendente Vender CDs Gerente Vender CDs à vista Vender CDs a prazo Administrar estoque Vender c/ cartão Vender c/ boleto
Elementos – Diagrama de Casos
de Uso
• Elementos do diagrama • Atores • Casos de uso • Relacionamentos • Associação • Generalização• Dependência: Extensão e Inclusão
Elementos – Diagrama de Casos
de Uso
Relacionamento de dependência:
Extensão:
Representa uma variação/extensão do comportamento do caso de uso base O caso de uso estendido só é executado
sob certas circunstâncias
Separa partes obrigatórias de partes opcionais - Partes obrigatórias: caso de uso base
- Partes opcionais: caso de uso estendido
Fatorar comportamentos variantes do sistema (podendo reusar este comportamento em outros casos de uso)
Notação: <<extends>>
Elementos – Diagrama de Casos
de Uso
Exemplo: Loja de CDs
Identificando dependência: extensão
Novos requisitos:
No caso de uma venda à vista, clientes cadastrados na loja e que compram mais de 5 CDs de uma só vez ganham um desconto de 1% para cada ano de cadastro.
No caso de uma venda a prazo...
...Para pagamento com cartão, os clientes com mais de 10 anos de cadastro na loja ganham o mesmo desconto das compras à vista.
Elementos – Diagrama de Casos
de Uso
Exemplo: Loja de CDs
Identificando dependência: extensão
Atendente Vender CDs Gerente Vender CDs à vista Vender CDs a prazo Administrar estoque Vender c/ cartão
Vender c/ boleto Calcular desconto
<<extend>>
Elementos – Diagrama de Casos
de Uso
Relacionamento de dependência:
Inclusão:
- Evita repetição ao fatorar uma atividade comum a dois ou mais casos de uso
- Um caso de uso pode incluir vários casos de uso
Notação: <<includes>>
Elementos – Diagrama de Casos
de Uso
Exemplo: Loja de CDs
Identificando dependência: inclusão
Novos requisitos:
Para efetuar vendas ou administrar estoque, atendentes e gerentes terão que validar suas respectivas senhas de acesso ao sistema.
Elementos – Diagrama de Casos
de Uso
Exemplo: Loja de CDs
Identificando dependência: inclusão
Atendente
Gerente
Vender CDs à vista Vender CDs a prazo
Vender c/ cartão
Vender c/ boleto Calcular desconto
<<extend>> <<extend>> Fazer login Vender CDs Administrar estoque <<include>> <<include>>
Elementos – Diagrama de Casos
de Uso
Elementos do diagrama Atores Casos de uso Relacionamentos - Associação - Generalização- Dependência: Extensão e Inclusão
Elementos – Diagrama de Casos
de Uso
Fronteira do Sistema
Elemento opcional (mas essencial para um bom entendimento) Serve para definir a área de atuação do sistema
Elementos – Diagrama de Casos
de Uso
Exemplo: Loja de CDs
Identificando a fronteira do sistema
Atendente
Gerente
Vender CDs à vista Vender CDs a prazo
Vender c/ cartão
Vender c/ boleto Calcular desconto
<<extend>> <<extend>> Fazer login Vender CDs Administrar estoque <<include>> <<include>>
Descrição de Casos de Uso
A descrição é mais importante do que o diagrama UML não especifica padrão
Pode ser: - Informal - Típica
Descrição de Casos de Uso
Descrição Informal
Contém o nome do caso de uso e
uma descrição textual de sua funcionalidade
Descrição de Casos de Uso
Descrição Típica Contém:
Identificação do ator que iniciou o caso de uso Pré-requisitos (se houver) do caso de uso
Descrição textual do: Fluxo normal
Fluxos alternativos (se houver)
Descrição de Casos de Uso
Descrição Detalhada (Ex.1) Contém:
Identificação do ator que iniciou o caso de uso Objetivo
Nível
Pré-requisitos (se houver) do caso de uso Condições de disparo (triggers)
Descrição textual do:
Fluxo normal
Descrição de Casos de Uso
Descrição Detalhada (Ex.2) Contém: - Nome - Descrição sucinta - Atores - Pré-condições - Pós-condições - Fluxo básico - Fluxos alternativos - Fluxos de exceção - Estruturas de dados - Regras de negócio - Observações
Exemplo: Blog
• Um blog é uma ferramenta de colaboração
• Um blog é formado por um conjunto de conteúdos:
• notas
• comentários sobre as notas
• Os conteúdos possuem as seguintes informações: texto, data de criação e autor • Os usuários de um blog podem ser:
• Usuário: pode ler conteúdos de um blog, comentar uma nota, remover comentários, e pode criar um blog.
• Dono do blog: além de todas as funcionalidades de um usuário comum, o dono do blog pode criar notas e remover notas
Exemplo: Blog
blogSystem
Criar Comentario
Ler Conteudo
Remover Conteudo Remover Nota Remover Comentario Criar Blog Ler Comentario Ler Nota Criar Nota Usuario Dono do blog <<include>> <<include>> <<include>>
Ferramentas de Modelagem
• Omondo – Plugin para Eclipse - http://www.omondo.com/
• Jude - https://jude.change-vision.com/jude-web/
• Together -
http://www.borland.com/products/downloads/download_together.html
• IBM Rational Rose - http://www.ibm.com/software/rational
Ferramentas de Modelagem -
Omondo
Ferramentas de Modelagem -
JUDE
Bibliografia
• Cockburn, A., Writing Effective Use Cases, Addison-Wesley, 2001.
• Fowler, M e Scott, K., UML Distilled – A Brief Guide to the standard Object Modeling
Language, Addison Wesley Longman, 2002
• Booch, G., Rumbaugh, J. and Jacobson, I., Unified Modeling Language User Guide, 2nd Edition, Addison-Wesley Object Technology Series, 2005.