You are on page 1of 31

Casos de Uso e Diagrama de

Casos de Uso

SSC 124: Anlise e Projeto Orientados a Objetos

Profa. Dra. Elisa Yumi Nakagawa

1
Definio
n Caso de uso (use case)
n unidade funcional provida pelo sistema,
subsistema, ou classe manifestada por
sequncias de mensagens entre o sistema e
um ou mais atores.
n representa uma possvel utilizao do sistema
por um ator, que pode ser uma pessoa,
dispositivo fsico, mecanismo ou subsistema
que interage com o sistema alvo, utilizando
algum de seus servios

2
Caso de Uso
n Um caso de uso narra a interao entre o
sistema e os atores envolvidos, para atingir
um ou mais objetivos
n Deve estar relacionado a um processo bem
definido, com comeo, meio e fim
n Exemplos:
n Emprestar Livro
n Vender Produtos
n Incluir ordem de servio

3
Casos de Uso
n Muitas vezes, so utilizados como um
contrato entre desenvolvedor e cliente.
n Podem ser identificados com base no
documento de requisitos
n Podem ser utilizados como forma de
identificar os requisitos, para depois
escrever o documento de requisitos

4
Casos de Uso

n Veja exemplo de um documento de


requisitos

5
Como identificar os atores?
n O que so atores?
n Responsveis, direta ou indiretamente,
pela interao com o sistema
n Uma pessoa, dispositivo fsico, mecanismo
ou subsistema

6
Como identificar os atores?
n Tipos de ator:
n Ator principal: interage diretamente com o
sistema computacional
n Ator secundrio: interage com outros
atores
n Exemplos de atores:
n funcionrio de um banco
n sensor de fumaa
n subsistema de autorizao de crdito
n ...
7
Como identificar os atores?
n Exemplo (Sistema de Biblioteca):
n Ao emprestar um livro, o Atendente
quem opera o computador e realiza a
transao, portanto, o ator principal
n J o Leitor, interage com o atendente,

sendo um ator secundrio

8
Como identificar os casos de
uso?
n Analisar cada requisito do sistema em
busca dos grandes eventos que
ocorrem no mundo real e que do
origem a uma interao entre um ator e
o sistema

9
Como identificar os casos de
uso?
n Exemplo: Biblioteca

n R1. Para usar os servios de uma biblioteca, os leitores


devero estar registrados e possuir um carto com
nmero de identificao e foto.

n R2. O sistema deve permitir que um leitor apto empreste


um ou mais livros, por um perodo de tempo que varia de
1 semana a 6 meses, dependendo do tipo de leitor (1
semana para estudantes de graduao, 15 dias para
estudantes de ps-graduao e 6 meses para docentes).
10
Como identificar os casos de
uso?
n R3. O leitor est apto a emprestar livros se no possuir em
seu poder livros com data de devoluo vencida e desde
que o nmero de livros emprestados no ultrapasse o
nmero mximo permitido, que depende do tipo de leitor
(6 livros para estudantes de graduao, 10 livros para
estudantes de ps-graduao e 15 livros para docentes).

n R4. O sistema deve permitir que o leitor devolva um ou


mais livros em seu poder, fazendo com que o livro volte a
ficar disponvel na biblioteca

11
Como identificar os casos de
uso?
n De acordo com esses requisitos, dois casos de
uso candidatos so:
n Emprestar Livro
n Devolver Livro

n Um requisito pode referir-se a mais de um caso


de uso.
n Um caso de uso pode referir-se a mais de um
requisito
12
Requisitos X Casos de Uso
Requisito Caso de Uso

R1, R2, Emprestar livro


R3 Um leitor empresta um ou mais livros da biblioteca, por um
perodo de tempo que depende do tipo de leitor

R1, R3, Devolver Livro


R4 Um leitor devolve um livro que estava em seu poder,
tornando-o novamente disponvel para emprstimo

13
Notao UML Atores e
Casos de Uso

Emprestar Livro

Emprestar Livro

14
Exemplo: Diagrama de Caso
de Uso

Emprestar Livro

Atendente
Devolver Livro
Leitor

Consultar Livro
Bibliotecria Incluir Livro

Comprar Livro

15
Notao UML para Diagramas
de Caso de Uso
n Um diagrama de caso de uso
excelente para:
n Mostrar a fronteira do sistema
n o que est dentro ou fora dele
n Dar uma viso geral do comportamento do
sistema
n como ele usado e por quem

16
Exemplo: Diagrama de Caso
de Uso

Emprestar Livro

Atendente

Devolver Livro
Leitor

Incluir Livro
Consultar Livro

Bibliotecria

Comprar Livro

17
Notao UML para Diagramas
de Caso de Uso
0..n
0..*
0..*

1 Saque
Realizar
Realizar
Realizar Saque
Saque
Saque

L-se: um cliente
1 faz 0 ou mais
Cliente saques, um saque
feito por um
0..*
0..n cliente.

Multiplicidade Deposito
Realizar Depsito
da associao
18
Exemplo: Diagrama de Caso
de Uso

19
Atendente Emprestar Livro
Leitor
(from Logical View)
...)
Herana entre
Comunicao entre atores
ator secundrio e
principal
Bibliotecria Aquisio de Livro

Herana entre Incluir Bibliotecria


Administrador
atores
Incluses, Alteraes, Excluses
e Consultas so casos de uso?
n Para cada objeto do sistema, seria necessrio
considerar trs casos de uso?
n Exemplo:
n Incluir Livro, Alterar dados do livro e Excluir Livro
n E quanto s consultas, por exemplo,
Consultar Livro por Autor, Consultar Livro por
Ttulo, etc., seriam casos de uso?

21
Incluses, Alteraes, Excluses
e Consultas so casos de uso?
n No h consenso
n Como so processos em geral muito
simples, com lgica conhecida, no
vamos detalh-los como faremos com
os casos de uso mais complexos.
n No entanto, incluiremos no diagrama de
casos de uso, para dar uma noo geral
do escopo e tamanho do sistema

22
Incluses, Alteraes, Excluses
e Consultas so casos de uso?
Incluir Livro

Alterar dados do livro

Excluir Livro
Leitor
Atendente

Consultar Livro
Gerenciar Leitores

Alterar dados do leitor


Atendente Leitor

Excluir Leitor Gerenciar Livros

Consultar Leitor Incluir Leitor 23


Relacionamentos entre casos
de uso
n Pode-se ter casos em que a execuo de um
caso de uso implique na execuo de um
outro.
n Ou um caso de uso possui uma parte que se
repete em outros casos de uso.
n Para evitar redundncia de texto, pode-se
isolar essas partes em casos de uso
separados, e relacion-los uns aos outros.

24
Relacionamento <include>
n Uso principal: Quando um caso de uso possui um
comportamento parcial comum a vrios outros
casos de uso
n Evitar repetir comportamento reso
n A incluso do outro caso de uso obrigatria
n Exemplo: <<inc lude>>

Saque

Movimento Conta
Cliente <<include>>

Deposito 25
Relacionamento <include>
n Usado tambm para decompor um caso de uso
muito complexo
n Ajuda a melhorar a compreenso do caso de uso
n Ateno: evite esse uso, a menos que o caso de uso seja
realmente muito complexo
Conferir Dados Cadastrais

n Exemplo: <<include>>

<<include>>
Alugar Carro Escolher modelo
<<include>>
Cliente

Pagar taxa

26
Outro Exemplo de include

Abrir conta
Funcionrio

Sacar <<include>>

<<include>>
Depositar

<<include>>

Cliente autenticar-se
(from Logical View)
Consultar
<<include>>

Transferir 27
Relacionamento <extend>

n Um caso de uso estende outro se ele adiciona


comportamento ao caso de uso base.
n Quando um fluxo alternativo complexo e merece maior
detalhamento, pode-se escrev-lo na forma de uma
extenso ao caso de uso base.
OU
n Quando uma modificao necessria em um caso de
uso e no se quer mexer no caso de uso base
n O caso de uso de extenso no tem
execuo obrigatria, mas opcional
28
Relacionamento <extend>
n Exemplo:
Emprestar Livros

Leitor Atendente
<<extend>>

Emprestar sem carteirinha

29
Outro Exemplo de include e
extend

Matricular-se na Universidade

Aluno
<<include>>

<<extend>>

Matricular-se em disciplinas

Fazer verificao de segurana

Aluno Estrangeiro

30
Casos de Uso e Diagrama de
Casos de Uso

SSC 124: Anlise e Projeto Orientados a Objetos

Profa. Dra. Elisa Yumi Nakagawa

31