Você está na página 1de 49

UML: Casos de Uso

Prof. MBA. Ricardo Roberto de Lima


Engenheiro de Sistemas Cesar.edu.br
Mestrando em Engenharia de Software

UML Casos de Uso


Introduo Casos de uso
Elementos do diagrama de casos de uso
Descrio de casos de uso
Exemplo: Blog
Ferramentas de modelagem
Bibliografia

UNIP-PB

Introduo Casos de Uso


Os casos de uso:
Descrevem como os usurios interagem com o sistema
(as funcionalidades do sistema)
Facilitam a organizao dos requisitos de um sistema
Do uma viso 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 NO especificam como
isso deve ser feito

UNIP-PB

Elementos Diagrama de Casos de Uso


Elementos do diagrama:
Atores
Casos de uso
Relacionamentos
Associao
Generalizao
Dependncia: Extenso e Incluso

Fronteira do sistema

UNIP-PB

Elementos Diagrama de Casos de Uso


Elementos do diagrama
Atores
Casos de uso
Relacionamentos
Associao
Generalizao
Dependncia: Extenso e Incluso

Fronteira do sistema

UNIP-PB

Elementos Diagrama de Casos de Uso


Atores
Representam os papis desempenhados por
elementos externos ao sistema
Ex: humano (usurio), dispositivo de hardware ou
outro sistema (cliente)

Elementos que interagem com o sistema

Notao:

Secretria
(from Use Case View)

Diretor

S istem a de
Re la t rio s

(from Use Case View) (from Us e Cas e V iew)

UNIP-PB

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 funo atender os clientes durante a venda dos
discos. A loja tambm possui um gerente cuja funo administrar o
estoque para que no faltem discos. Alm disso ele quem d folga ao
atendente, ou seja, ele tambm atende os clientes durante a venda dos
discos.

UNIP-PB

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando os atores

Gerente

Atendente

(from Use Case View)

(from Use Case View)

E o cliente?

No ator pois ele no interage com o sistema!

UNIP-PB

Elementos Diagrama de Casos de Uso


Elementos do diagrama
Atores
Casos de uso
Relacionamentos
Associao
Generalizao
Dependncia: Extenso e Incluso

Fronteira do sistema

UNIP-PB

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

Notao:
Nome do Caso de Uso

UNIP-PB

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 funo atender os clientes durante a venda dos
discos. A loja tambm possui um gerente cuja funo administrar o
estoque para que no faltem discos. Alm disso ele quem d folga ao
atendente, ou seja, ele tambm atende os clientes durante a venda dos
discos.

UNIP-PB

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando os casos de uso

Vender CDs

Administrar estoque

UNIP-PB

Elementos Diagrama de Casos de Uso


Elementos do diagrama
Atores
Casos de uso
Relacionamentos
Associao
Generalizao
Dependncia: Extenso e Incluso

Fronteira do sistema

UNIP-PB

Elementos Diagrama de Casos de Uso


Relacionamento de associao
Indica que h uma interao (comunicao) entre
um caso de uso e um ator
Um ator pode se comunicar com vrios casos de uso

Dicas:
NO use setas nas associaes
Associaes NO representam fluxo de informao

Notao:

interao
Caso de Uso

Ator

(from Use Case View)

(from Use Case View)

UNIP-PB

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando os relacionamentos de associao
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 funo atender os clientes durante a venda dos
discos. A loja tambm possui um gerente cuja funo administrar o
estoque para que no faltem discos. Alm disso ele quem d folga ao
atendente, ou seja, ele tambm atende os clientes durante a venda dos
discos.

UNIP-PB

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando os relacionamentos de associao

Vender CDs

Atendente

Administrar estoque

Gerente

UNIP-PB

Elementos Diagrama de Casos de Uso


Elementos do diagrama
Atores
Casos de uso
Relacionamentos
Associao
Generalizao
Dependncia: Extenso e Incluso

Fronteira do sistema

UNIP-PB

Elementos Diagrama de Casos de Uso


Relacionamento de generalizao
Generalizao 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


Notao:

UNIP-PB

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando generalizao de atores

Vender CDs

Atendente

Administrar estoque

Gerente

UNIP-PB

Elementos Diagrama de Casos de Uso


Relacionamento de generalizao
Generalizao 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 aparea

Dica: deve ser aplicada quando uma condio resulta na definio de


diversos fluxos alternativos.

Notao:

Pai

Filho 1
UNIP-PB

Filho 2

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando generalizao 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 acrscimo de 20%. As vendas a prazo podem ser pagas no carto
ou no boleto. Para pagamento com boleto, so gerados boletos bancrios que
so entregues ao cliente e armazenados no sistema para lanamento
posterior no caixa. Para pagamento com carto, os clientes com mais de 10
anos de cadastro na loja ganham o mesmo desconto das compras a vista.

UNIP-PB

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando generalizao de casos de uso
Vender CDs

Atendente
Vender CDs a prazo

Vender CDs vista

Administrar estoque
Gerente
UNIP-PB

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando mais generalizao 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 acrscimo de 20%. As vendas a prazo podem ser pagas no carto
ou no boleto. Para pagamento com boleto, so gerados boletos bancrios que
so entregues ao cliente e armazenados no sistema para lanamento
posterior no caixa. Para pagamento com carto, os clientes com mais de 10
anos de cadastro na loja ganham o mesmo desconto das compras a vista.

UNIP-PB

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando generalizao de casos de uso
Vender CDs

Atendente
Vender CDs a prazo

Vender c/ boleto

Vender CDs vista

Vender c/ carto

Administrar estoque
Gerente
UNIP-PB

Elementos Diagrama de Casos de Uso


Elementos do diagrama
Atores
Casos de uso
Relacionamentos
Associao
Generalizao
Dependncia: Extenso e Incluso

Fronteira do sistema

UNIP-PB

Elementos Diagrama de Casos de Uso


Relacionamento de dependncia:
Extenso:
Representa uma variao/extenso do
comportamento do caso de uso base
O caso de uso estendido s executado
sob certas circunstncias
Separa partes obrigatrias de partes opcionais
Partes obrigatrias: caso de uso base
Partes opcionais: caso de uso estendido

Fatorar comportamentos variantes do sistema (podendo reusar este


comportamento em outros casos de uso)

Notao: <<extends>>
<<extends>>

UNIP-PB

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando dependncia: extenso
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 carto, os clientes com mais de 10 anos de
cadastro na loja ganham o mesmo desconto das compras vista.

UNIP-PB

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando dependncia: extenso
Vender CDs

Atendente
Vender CDs a prazo

Vender CDs vista


<<extend>>

Vender c/ boleto

Vender c/ carto

<<extend>>

Administrar estoque
Gerente
UNIP-PB

Calcular desconto

Elementos Diagrama de Casos de Uso


Relacionamento de dependncia:
Incluso:
Evita repetio ao fatorar uma atividade
comum a dois ou mais casos de uso
Um caso de uso pode incluir vrios casos de uso

Notao: <<includes>>
<<includes>>

UNIP-PB

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando dependncia: incluso
Novos requisitos:
Para efetuar vendas ou administrar estoque, atendentes e gerentes
tero que validar suas respectivas senhas de acesso ao sistema.

UNIP-PB

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando dependncia: incluso
Vender CDs

Atendente
Vender CDs a prazo

Vender CDs vista


<<extend>>

Vender c/ boleto

Vender c/ carto

<<extend>>

<<include>>

Fazer login
<<include>>

Administrar estoque
Gerente
UNIP-PB

Calcular desconto

Elementos Diagrama de Casos de Uso


Elementos do diagrama
Atores
Casos de uso
Relacionamentos
Associao
Generalizao
Dependncia: Extenso e Incluso

Fronteira do sistema

UNIP-PB

Elementos Diagrama de Casos de Uso


Fronteira do Sistema
Elemento opcional (mas essencial para um bom entendimento)
Serve para definir a rea de atuao do sistema

Notao:

UNIP-PB

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando a fronteira do sistema
Vender CDs

Atendente
Vender CDs a prazo

Vender CDs vista


<<extend>>

Vender c/ boleto

Vender c/ carto

<<extend>>

<<include>>

Fazer login
<<include>>

Administrar estoque
Gerente
UNIP-PB

Calcular desconto

Descrio de Casos de Uso


A descrio mais importante do que o diagrama
UML no especifica padro
Pode ser:
Informal
Tpica
Detalhada

UNIP-PB

Descrio de Casos de Uso


Descrio Informal
Contm o nome do caso de uso e
uma descrio textual de sua funcionalidade

Exemplo:

UNIP-PB

Descrio de Casos de Uso


Descrio Tpica
Contm:
Identificao do ator que iniciou o caso de uso
Pr-requisitos (se houver) do caso de uso
Descrio textual do:
Fluxo normal
Fluxos alternativos (se houver)

Exemplo:

UNIP-PB

Descrio de Casos de Uso


Descrio Detalhada (Ex.1)
Contm:
Identificao do ator que iniciou o caso de uso
Objetivo
Nvel
Pr-requisitos (se houver) do caso de uso
Condies de disparo (triggers)
Descrio textual do:
Fluxo normal
Fluxos alternativos (se houver)

UNIP-PB

Exemplo 1:

Descrio de Casos de Uso


Descrio Detalhada (Ex.2)
Contm:
Nome
Descrio sucinta
Atores
Pr-condies
Ps-condies
Fluxo bsico
Fluxos alternativos
Fluxos de exceo
Estruturas de dados
Regras de negcio
Observaes

UNIP-PB

Exemplo 2: (usar nos trabalhos!)

Exemplo 2 (cont.): (usar nos trabalhos!)

Exemplo 2 (cont.): (usar nos trabalhos!)

Exemplo: Blog
Um blog uma ferramenta de colaborao
Um blog formado por um conjunto de contedos:
notas
comentrios sobre as notas

Os contedos possuem as seguintes informaes: texto, data de


criao e autor
Os usurios de um blog podem ser:
Usurio: pode ler contedos de um blog, comentar uma nota, remover
comentrios, e pode criar um blog.
Dono do blog: alm de todas as funcionalidades de um usurio
comum, o dono do blog pode criar notas e remover notas

Para remover um contedo o usurio precisa ler o contedo antes

UNIP-PB

Exemplo: Blog
blogSystem
Criar Blog

Criar Comentario
Ler Conteudo
Usuario

<<include>>

Ler Nota

Ler Comentario
<<include>>

<<include>>

Remover Comentario

Remover Conteudo

Dono do blog

Criar Nota

UNIP-PB

Remover Nota

Ferramentas de Modelagem
Omondo Plugin para Eclipse Jude -

http://www.omondo.com/

https://jude.change-vision.com/jude-web/

Together -

http://www.borland.com/products/downloads/download_together.html

IBM Rational Software Modeler ...

UNIP-PB

http://www.ibm.com/software/rational

Ferramentas de Modelagem - Omondo

UNIP-PB

Ferramentas de Modelagem - JUDE

UNIP-PB

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.

UNIP-PB