Você está na página 1de 31
Casos de Uso e Diagrama de Casos de Uso SSC 124: Análise e Projeto Orientados
Casos de Uso e Diagrama de Casos de Uso SSC 124: Análise e Projeto Orientados

Casos de Uso e Diagrama de Casos de Uso

SSC 124: Análise e Projeto Orientados a Objetos

Profa. Dra. Elisa Yumi Nakagawa

Definição n   Caso de uso ( use case ) n   unidade funcional provida
Definição n   Caso de uso ( use case ) n   unidade funcional provida

Definição

nCaso de uso (use case)

nunidade funcional provida pelo sistema, subsistema, ou classe manifestada por sequências de mensagens entre o sistema e um ou mais atores. nrepresenta uma possível utilização do sistema por um ator, que pode ser uma pessoa, dispositivo físico, mecanismo ou subsistema que interage com o sistema alvo, utilizando algum de seus serviços

Caso de Uso n   Um caso de uso narra a interação entre o sistema
Caso de Uso n   Um caso de uso narra a interação entre o sistema

Caso de Uso

nUm caso de uso narra a interação entre o sistema e os atores envolvidos, para atingir um ou mais objetivos nDeve estar relacionado a um processo bem definido, com começo, meio e fim nExemplos:

nEmprestar Livro nVender Produtos nIncluir ordem de serviço

Casos de Uso n   Muitas vezes, são utilizados como um contrato entre desenvolvedor e
Casos de Uso n   Muitas vezes, são utilizados como um contrato entre desenvolvedor e

Casos de Uso

nMuitas vezes, são utilizados como um contrato entre desenvolvedor e cliente. nPodem ser identificados com base no documento de requisitos nPodem ser utilizados como forma de identificar os requisitos, para depois escrever o documento de requisitos

Casos de Uso n   Veja exemplo de um documento de requisitos 5
Casos de Uso n   Veja exemplo de um documento de requisitos 5

Casos de Uso

nVeja exemplo de um documento de requisitos

Como identificar os atores? n   O que são atores? n   Responsáveis, direta ou
Como identificar os atores? n   O que são atores? n   Responsáveis, direta ou

Como identificar os atores?

nO que são atores?

nResponsáveis, direta ou indiretamente, pela interação com o sistema nUma pessoa, dispositivo físico, mecanismo ou subsistema

Como identificar os atores? n   Tipos de ator: n   Ator principal : interage
Como identificar os atores? n   Tipos de ator: n   Ator principal : interage

Como identificar os atores?

nTipos de ator:

nAtor principal: interage diretamente com o sistema computacional nAtor secundário: interage com outros atores nExemplos de atores:

nfuncionário de um banco nsensor de fumaça nsubsistema de autorização de crédito

n

Como identificar os atores? n   Exemplo (Sistema de Biblioteca): n   Ao emprestar um
Como identificar os atores? n   Exemplo (Sistema de Biblioteca): n   Ao emprestar um

Como identificar os atores?

nExemplo (Sistema de Biblioteca):

nAo emprestar um livro, o Atendente é quem opera o computador e realiza a transação, portanto, é o ator principal nJá o Leitor, interage com o atendente, sendo um ator secundário

Como identificar os casos de uso? n   Analisar cada requisito do sistema em busca
Como identificar os casos de uso? n   Analisar cada requisito do sistema em busca

Como identificar os casos de uso?

nAnalisar cada requisito do sistema em busca dos grandes eventos que ocorrem no mundo real e que dão origem a uma interação entre um ator e o sistema

Como identificar os casos de uso? n   Exemplo: Biblioteca n   R1. Para usar
Como identificar os casos de uso? n   Exemplo: Biblioteca n   R1. Para usar

Como identificar os casos de uso?

nExemplo: Biblioteca

nR1. Para usar os serviços de uma biblioteca, os leitores deverão estar registrados e possuir um cartão com número de identificação e foto.

nR2. O sistema deve permitir que um leitor apto empreste um ou mais livros, por um período de tempo que varia de 1 semana a 6 meses, dependendo do tipo de leitor (1 semana para estudantes de graduação, 15 dias para estudantes de pós-graduação e 6 meses para docentes).

Como identificar os casos de uso? n   R3. O leitor está apto a emprestar
Como identificar os casos de uso? n   R3. O leitor está apto a emprestar

Como identificar os casos de uso?

nR3. O leitor está apto a emprestar livros se não possuir em seu poder livros com data de devolução vencida e desde que o número de livros emprestados não ultrapasse o número máximo permitido, que depende do tipo de leitor (6 livros para estudantes de graduação, 10 livros para estudantes de pós-graduação e 15 livros para docentes).

nR4. O sistema deve permitir que o leitor devolva um ou mais livros em seu poder, fazendo com que o livro volte a ficar disponível na biblioteca

Como identificar os casos de uso? n   De acordo com esses requisitos, dois casos
Como identificar os casos de uso? n   De acordo com esses requisitos, dois casos

Como identificar os casos de uso?

nDe acordo com esses requisitos, dois casos de uso candidatos são:

nEmprestar Livro nDevolver Livro

nUm requisito pode referir-se a mais de um caso de uso. nUm caso de uso pode referir-se a mais de um requisito

Requisitos X Casos de Uso Requisito Caso de Uso   R1, R2, Emprestar livro  
Requisitos X Casos de Uso Requisito Caso de Uso   R1, R2, Emprestar livro  

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 período 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 disponível para empréstimo

Notação UML – Atores e Casos de Uso Emprestar Livro Emprestar Livro 14
Notação UML – Atores e Casos de Uso Emprestar Livro Emprestar Livro 14

Notação UML – Atores e Casos de Uso

Notação UML – Atores e Casos de Uso Emprestar Livro Emprestar Livro 14
Notação UML – Atores e Casos de Uso Emprestar Livro Emprestar Livro 14
Emprestar Livro
Emprestar Livro
Notação UML – Atores e Casos de Uso Emprestar Livro Emprestar Livro 14

Emprestar Livro

Exemplo: Diagrama de Caso de Uso Emprestar Livro Atendente Leitor Devolver Livro Incluir Livro Bibliotecária
Exemplo: Diagrama de Caso de Uso Emprestar Livro Atendente Leitor Devolver Livro Incluir Livro Bibliotecária

Exemplo: Diagrama de Caso de Uso

Exemplo: Diagrama de Caso de Uso Emprestar Livro Atendente Leitor Devolver Livro Incluir Livro Bibliotecária Consultar

Emprestar Livro

Atendente
Atendente
Leitor
Leitor

Devolver Livro

Incluir Livro Bibliotecária
Incluir Livro
Bibliotecária

Consultar Livro

Comprar Livro

Notação UML para Diagramas de Caso de Uso n   Um diagrama de caso de
Notação UML para Diagramas de Caso de Uso n   Um diagrama de caso de

Notação UML para Diagramas de Caso de Uso

nUm diagrama de caso de uso é excelente para:

nMostrar a fronteira do sistema

no que está dentro ou fora dele

nDar uma visão geral do comportamento do sistema

ncomo ele é usado e por quem

Exemplo: Diagrama de Caso de Uso Emprestar Livro Devolver Livro Consultar Livro Incluir Livro Comprar
Exemplo: Diagrama de Caso de Uso Emprestar Livro Devolver Livro Consultar Livro Incluir Livro Comprar

Exemplo: Diagrama de Caso de Uso

Emprestar Livro

Emprestar Livro Devolver Livro Consultar Livro Incluir Livro Comprar Livro

Devolver Livro

Consultar Livro

Incluir Livro

Comprar Livro

Uso Emprestar Livro Devolver Livro Consultar Livro Incluir Livro Comprar Livro Atendente Leitor Bibliotecária 17
Uso Emprestar Livro Devolver Livro Consultar Livro Incluir Livro Comprar Livro Atendente Leitor Bibliotecária 17
Uso Emprestar Livro Devolver Livro Consultar Livro Incluir Livro Comprar Livro Atendente Leitor Bibliotecária 17

Atendente

Leitor
Leitor
Uso Emprestar Livro Devolver Livro Consultar Livro Incluir Livro Comprar Livro Atendente Leitor Bibliotecária 17
Uso Emprestar Livro Devolver Livro Consultar Livro Incluir Livro Comprar Livro Atendente Leitor Bibliotecária 17
Uso Emprestar Livro Devolver Livro Consultar Livro Incluir Livro Comprar Livro Atendente Leitor Bibliotecária 17

Bibliotecária

17

Notação UML para Diagramas de Caso de Uso

0 n 0 0 * * 1 RealizarRealizarSaqueSaque Saque Realizar Saque
0 n
0
0
* *
1
RealizarRealizarSaqueSaque
Saque
Realizar Saque

Lê-se: um cliente faz 0 ou mais saques, um saque é feito por um cliente.

faz 0 ou mais saques, um saque é feito por um cliente. 1 0 0 n
faz 0 ou mais saques, um saque é feito por um cliente. 1 0 0 n
faz 0 ou mais saques, um saque é feito por um cliente. 1 0 0 n
1 0 0 n *
1
0
0 n
*

Cliente

Multiplicidade da associação
Multiplicidade
da associação

Deposito

Realizar Depósito

Exemplo: Diagrama de Caso de Uso 19
Exemplo: Diagrama de Caso de Uso 19

Exemplo: Diagrama de Caso de Uso

Exemplo: Diagrama de Caso de Uso 19
Leitor (from Logical V ) Comunicação entre ator secundário e principal
Leitor
(from Logical V
)
Comunicação entre
ator secundário e
principal
V ) Comunicação entre ator secundário e principal Emprestar Livro Atendente Herança entre atores B i
V ) Comunicação entre ator secundário e principal Emprestar Livro Atendente Herança entre atores B i

Emprestar Livro

Atendente

Herança entre atores
Herança entre
atores
principal Emprestar Livro Atendente Herança entre atores B i b l i o t e c
principal Emprestar Livro Atendente Herança entre atores B i b l i o t e c

Bibliotecária

Aquisição de Livro

Herança entre atores
Herança entre
atores
e c á r i a Aquisição de Livro Herança entre atores Incluir Bibliotecária A d
e c á r i a Aquisição de Livro Herança entre atores Incluir Bibliotecária A d

Incluir Bibliotecária

Administrador

Inclusões, Alterações, Exclusões e Consultas são casos de uso? n   Para cada objeto do
Inclusões, Alterações, Exclusões e Consultas são casos de uso? n   Para cada objeto do

Inclusões, Alterações, Exclusões e Consultas são casos de uso?

nPara cada objeto do sistema, seria necessário considerar três casos de uso? nExemplo:

nIncluir Livro, Alterar dados do livro e Excluir Livro

nE quanto às consultas, por exemplo, Consultar Livro por Autor, Consultar Livro por Título, etc., seriam casos de uso?

Inclusões, Alterações, Exclusões e Consultas são casos de uso? n   Não há consenso n
Inclusões, Alterações, Exclusões e Consultas são casos de uso? n   Não há consenso n

Inclusões, Alterações, Exclusões e Consultas são casos de uso?

nNão há consenso nComo são processos em geral muito simples, com lógica conhecida, não vamos detalhá-los como faremos com os casos de uso mais complexos. nNo entanto, incluiremos no diagrama de casos de uso, para dar uma noção geral do escopo e tamanho do sistema

Inclusões, Alterações, Exclusões e Consultas são casos de uso? Incluir Livro Leitor Alterar dados do
Inclusões, Alterações, Exclusões e Consultas são casos de uso? Incluir Livro Leitor Alterar dados do

Inclusões, Alterações, Exclusões e Consultas são casos de uso?

Alterações, Exclusões e Consultas são casos de uso? Incluir Livro Leitor Alterar dados do livro Excluir
Incluir Livro
Incluir Livro
Exclusões e Consultas são casos de uso? Incluir Livro Leitor Alterar dados do livro Excluir Livro
Exclusões e Consultas são casos de uso? Incluir Livro Leitor Alterar dados do livro Excluir Livro

Leitor

Alterar dados do livro

Excluir Livro Consultar Livro Alterar dados do leitor Excluir Leitor
Excluir Livro
Consultar Livro
Alterar dados do leitor
Excluir Leitor

Atendente

Livro Alterar dados do leitor Excluir Leitor Atendente Atendente Gerenciar Leitores Gerenciar Livros Leitor
Livro Alterar dados do leitor Excluir Leitor Atendente Atendente Gerenciar Leitores Gerenciar Livros Leitor

Atendente

Gerenciar Leitores

Gerenciar Livros

Excluir Leitor Atendente Atendente Gerenciar Leitores Gerenciar Livros Leitor Consultar Leitor Incluir Leitor 23

Leitor

Relacionamentos entre casos de uso n   Pode-se ter casos em que a execução de
Relacionamentos entre casos de uso n   Pode-se ter casos em que a execução de

Relacionamentos entre casos de uso

nPode-se ter casos em que a execução de um caso de uso implique na execução de um outro. nOu um caso de uso possui uma parte que se repete em outros casos de uso. nPara evitar redundância de texto, pode-se isolar essas partes em casos de uso separados, e relacioná-los uns aos outros.

Relacionamento <include> n   Uso principal : Quando um caso de uso possui um comportamento
Relacionamento <include> n   Uso principal : Quando um caso de uso possui um comportamento

Relacionamento <include>

nUso principal: Quando um caso de uso possui um comportamento parcial comum a vários outros casos de uso

nEvitar repetir comportamento à reúso nA inclusão do outro caso de uso é obrigatória

nExemplo:

Saque
Saque

<<include>>

n   Exemplo: Saque <<include>> <<include>> Cliente Movimento Conta Deposito
n   Exemplo: Saque <<include>> <<include>> Cliente Movimento Conta Deposito

<<include>>

n   Exemplo: Saque <<include>> <<include>> Cliente Movimento Conta Deposito 25

Cliente

Movimento Conta

Relacionamento <include> n   Usado também para decompor um caso de uso muito complexo n
Relacionamento <include> n   Usado também para decompor um caso de uso muito complexo n

Relacionamento <include>

nUsado também para decompor um caso de uso muito complexo

nAjuda a melhorar a compreensão do caso de uso nAtenção: evite esse uso, a menos que o caso de uso seja realmente muito complexo

Conferir Dados Cadastrais <<include>>
Conferir Dados Cadastrais
<<include>>

<<include>>

Escolher modelo
Escolher modelo

nExemplo:

<<include>> Escolher modelo n   Exemplo: Cliente Alugar Carro <<include>> Pagar taxa

Cliente

Alugar Carro
Alugar Carro

<<include>>

Pagar taxa
Pagar taxa

26

Outro Exemplo de include

Outro Exemplo de include Funcionário Abrir conta <<include>> Sacar <<include>>
Outro Exemplo de include Funcionário Abrir conta <<include>> Sacar <<include>>
Outro Exemplo de include Funcionário Abrir conta <<include>> Sacar <<include>>
Outro Exemplo de include Funcionário Abrir conta <<include>> Sacar <<include>>

Funcionário

Outro Exemplo de include Funcionário Abrir conta <<include>> Sacar <<include>>

Abrir conta

<<include>> Sacar <<include>> Depositar
<<include>>
Sacar
<<include>>
Depositar
Cliente
Cliente
Sacar <<include>> Depositar Cliente <<include>> Consultar
<<include>> Consultar <<include>>
<<include>>
Consultar
<<include>>

autenticar-se

(from Logical View)

<<include>> Consultar <<include>> autenticar-se (from Logical View) Transferir 27
Relacionamento <extend> n   Um caso de uso estende outro se ele adiciona comportamento ao
Relacionamento <extend> n   Um caso de uso estende outro se ele adiciona comportamento ao

Relacionamento <extend>

nUm caso de uso estende outro se ele adiciona comportamento ao caso de uso base.

nQuando um fluxo alternativo é complexo e merece maior detalhamento, pode-se escrevê-lo na forma de uma extensão ao caso de uso base. OU nQuando uma modificação é necessária em um caso de uso e não se quer mexer no caso de uso base

nO caso de uso de extensão não tem execução obrigatória, mas opcional

Relacionamento <extend> n  Exemplo: Emprestar Livros Leitor Atendente <<extend>> Emprestar
Relacionamento <extend> n  Exemplo: Emprestar Livros Leitor Atendente <<extend>> Emprestar

Relacionamento <extend>

n  Exemplo: Emprestar Livros Leitor Atendente <<extend>>
n  Exemplo:
Emprestar Livros
Leitor
Atendente
<<extend>>

Emprestar sem carteirinha

Outro Exemplo de include e extend Aluno Matricular-se na Universidade <<include>>
Outro Exemplo de include e extend Aluno Matricular-se na Universidade <<include>>

Outro Exemplo de include e extend

Outro Exemplo de include e extend Aluno Matricular-se na Universidade <<include>>

Aluno

Outro Exemplo de include e extend Aluno Matricular-se na Universidade <<include>>
Outro Exemplo de include e extend Aluno Matricular-se na Universidade <<include>>
Matricular-se na Universidade <<include>> <<extend>> Matricular-se em disciplinas
Matricular-se na Universidade
<<include>>
<<extend>>
Matricular-se em disciplinas
Fazer verificação de segurança
Fazer verificação de segurança

Aluno Estrangeiro

Casos de Uso e Diagrama de Casos de Uso SSC 124: Análise e Projeto Orientados
Casos de Uso e Diagrama de Casos de Uso SSC 124: Análise e Projeto Orientados

Casos de Uso e Diagrama de Casos de Uso

SSC 124: Análise e Projeto Orientados a Objetos

Profa. Dra. Elisa Yumi Nakagawa