Você está na página 1de 32

UML

Caso de Uso

Prof. rico Olavo Weissheimer


erico.olavo@anhanguera.com

Introduo
A construo do Modelo de Casos de Uso corresponde a uma
das fases iniciais de um projeto de software.
Ele dever mostrar o uso que o sistema ter, ou seja, o que ele
dever fornecer como servios.
Cada projeto de software conter um Diagrama de Casos de Uso.
Para sistemas mais extensos, possvel decompor o diagrama
em um conjunto de subdiagramas.
A partir do modelo de Casos de Uso, o restante do projeto ira se
preocupar com a forma de realizao dos casos de uso
2

Elementos do diagrama de caso


de uso

Atores

Casos de uso

Relacionamentos
Associao
Generalizao
Dependncia:

Extenso e Incluso

Atores
Representam os papis desempenhados por elementos externos
ao sistema e que interagem com o sistema durante sua
execuo.

Pessoas: cliente, secretria, aluno, professor, administrador.


Dispositivos: impressora, mquina
Hardwares: placa de modem, placa de controle
Software: sistema de banco de dados, aplicativos, etc.

Notao:

Secretria

Diretor

Sistema de
Relatrios

(from Use Case View)

(from Use Case View)

(from Use Case View)

Atores
Exemplo 1: 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.
5

Atores
Exemplo 1: 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!
6

Atores
Exemplo 2: Sistema de Controle Acadmico
Vamos considerar um sistema de controle acadmico que ser utilizado na
secretaria de um determinado curso. No que diz respeito aos indivduos
envolvidos, somente o pessoal da secretaria ter acesso ao sistema. Entre as
pessoas que atuam na secretaria e poderiam utilizar o sistema esto o chefe
da secretaria, a secretria, alguns professores e alguns estagirios. Na
verdade, apesar de se tratarem de indivduos diferentes, quando estiverem
utilizando o sistema todos assumiro mesmo papel, ou seja, todos atuaro
na forma de um ator abstrato que pode ser denominado Secretaria.

Atores
Exemplo 2: Sistema de Controle Acadmico (continuao)
Preliminarmente, supe-se que alguns documentos devero ser impressos pelo
sistema, o que sugere a criao de um ator denominado Impressora com o
qual o sistema ira interagir para a impresso de documentos. O ator
impressora poderia ser considerado um ator implcito mas pode ser
ilustrativo faz-lo aparecer explicitamente no modelo.
Como o volume de informaes (alunos, professores, disciplinas, etc) pode ser
grande, ser necessrio um Sistema Gerenciador de Banco de Dados para
armazenamento dos dados acadmicos. Como se trata de um sistema
computacional independente com o qual o sistema de controle acadmico
ira interagir, ele deve ser considerado tambm como um ator.
8

Exerccios
1. Identificar os atores para um blog.
Um blog uma ferramenta de colaborao que formada por um conjunto de contedos,
podendo ser publicaes ou comentrios sobre as publicaes
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.

Exerccios
2.

Quais os atores que voc identifica para o seguinte enunciado:

Em uma empresa, vrios projetos so realizados. Os cinquenta empregados


da empresa trabalham em pelos menos um projeto. H um sistema
implantado na empresa que permite aos participantes de um
determinado projeto marcarem suas horas de trabalho. Esse sistema
tambm permite que outra pessoa, ao fim do ms, gere os relatrios
com os totais de horas trabalhadas de cada participante.

10

Casos de uso
Representa uma funcionalidade do sistema (um requisito
funcional)
iniciado por um ator ou por outro caso de uso
Dica:
Nomeie os casos de uso iniciando por um verbo
Notao:
Nome do Caso de Uso

11

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.
12

Casos de uso
Exemplo: Loja de CDs
Identificando os casos de uso
Vender CDs

Administrar estoque

13

Exerccios
1. Identificar os casos de uso para a seguinte situao para um blog.
Um blog uma ferramenta de colaborao que formada por um conjunto de
contedos, podendo ser publicaes ou comentrios sobre as publicaes
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.
14

Relacionamentos

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
Ator
(from Use Case View)

Caso de Uso
(from Use Case View)

15

Relacionamento de associao
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.
16

Relacionamento de associao
Exemplo: Loja de CDs
Identificando os relacionamentos de associao

Vender CDs

Atendente

Administrar estoque

Gerente

17

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:

18

Relacionamento de generalizao
Exemplo: Loja de CDs
Identificando generalizao de atores
Vender CDs

Atendente

Administrar estoque

Gerente

19

Relacionamento de generalizao
Generalizao de caso 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.
Dica: deve ser aplicada quando uma condio resulta na
definio de diversos fluxos alternativos.
Notao:
Pai

Filho 1

Filho 2

20

Relacionamento de generalizao
Exemplo: Loja de CDs
Identificando generalizao de casos de uso
Novos requisitos:
As vendas podem ser vista ou a prazo.
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.

21

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

22

Relacionamento de dependncia
Dependncia de 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>>
23

Relacionamento de dependncia
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.
24

Relacionamento de dependncia
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>>

Calcular desconto

Administrar estoque
Gerente

25

Exerccios
1. Construa um modelo de casos de uso, identificando os atores,
casos de uso e relacionamentos para a seguinte situao fictcia:
Estamos criando um servio de entregas. Nossos clientes podem nos
requisitar a entrega de volumes. Alguns volumes so considerados de
maior valor por nossos clientes, e, portanto, eles querem ter tais
volumes segurados durante o transporte. Contratamos uma companhia
de seguro para segurar volumes de valor.

26

Relacionamento de dependncia
Dependncia de 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>>

27

Relacionamento de dependncia
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.

28

Relacionamento de dependncia
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>>

Calcular desconto

<<include>>

Fazer login
<<include>>

Administrar estoque
Gerente

29

Exerccios
1. Construa um modelo de casos de uso, identificando os atores,
casos de uso e relacionamentos para a seguinte situao fictcia:
Bruna resolveu desenvolver uma aplicao para controlar as ligaes telefnicas
de sua casa, a fim de checar se o valor que paga mensalmente est correto.
Assim, sempre que desejar, poder listar as ligaes efetuadas num
determinado perodo, contabilizando o valor a pagar. Para que isso seja
possvel, toda ligao ser feita pelo computador. A cada solicitao de
ligao, a aplicao dever registrar: a data da ligao, a hora da ligao,
quantidade de minutos gastos (que deve ser registrado no momento que a
ligao for encerrada), o nmero de pulsos (que deve ser calculado pela
aplicao) e o telefone para onde se discou. A aplicao permitir o controle
de uma agenda de telefones, com nmero do telefone e o nome da pessoa de
30
contato...

Exerccios
Continuao exerccio 1:
O usurio poder escolher, no momento da ligao, se deseja um dos registros da
agenda ou se digitar diretamente o nmero do telefone. A forma de clculo dos
pulsos considera os seguintes critrios:
A ligao ao ser completada j conta um pulso. A partir da, a cada 4 minutos de
conversao concluda, cobra-se mais 1 pulso.
Cada pulso custa R0.08 para ligaes locais.
Os finais de semana possuem uma promoo: cada ligao contabiliza somente 1
pulso, independente do nmero de minutos de conversao.

31

Exerccios
2.

Identificar os relacionamentos para a seguinte situao para um blog.

Um blog uma ferramenta de colaborao que formada por um conjunto de


contedos, podendo ser publicaes ou comentrios sobre as publicaes
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.
32

Você também pode gostar