Você está na página 1de 27

Conceitos Básicos

Análise e Projeto de Sistemas

Diagrama de
Caso de Uso
Eliana Pereira
eliana.pereira@restinga.ifrs.edu.br
2

Diagrama de Casos de Uso


• Esse diagrama documenta o que o sistema faz do ponto de
vista do usuário. Em outras palavras, ele descreve as
principais funcionalidades do sistema e a interação dessas
funcionalidades com os usuários do mesmo sistema.

• Nesse diagrama não nos aprofundamos em detalhes


técnicos que dizem como o sistema faz.

• Representam atores, casos de uso e suas associações.


• Provêem uma visão geral das funcionalidades do sistema.
• Diagrama Comportamental da UML.
3

Diagrama de Casos de Uso


• Elementos básicos:
– Casos de Uso
– Atores
– Relacionamentos
• Associação
• Generalização
• Includes
• Extends
4

Casos de Uso
• “Um caso de uso especifica um comportamento de um
sistema segundo uma perspectiva externa e é uma descrição
de um conjunto de sequências de ações realizadas pelo
sistema para produzir um resultado de valor observável por
um ator.” (Grady Booch)

• Casos de uso são formas de estruturar requisitos em:


– Notação gráfica e linguagem natural baseada em templates
– Representam o que os usuários podem fazer no sistema
– São independentes do método de análise (OO, Estruturado, etc.)
5

Exemplos de Casos de Uso

• Cliente de banco pode usar um caixa automático


para efetuar saque, emitir extrato ou informar o saldo
– Casos de Uso: Efetuar Saque, Emitir Extrato e
Informar Saldo
6

Atores

• Agente externo ao sistema


• Agente que pode executar as funcionalidades descritas nos use
cases
• Representa uma pessoa, grupo ou sistema
• Podem estar ligados a vários casos de uso
• Geralmente são levantados primeiro e depois busca-se os casos
de uso para cada um deles
• Graficamente representados pelo
– "stick man", contendo seu nome abaixo da figura
– retângulo, com o estereótipo << actor >>
7

Atores
8

Atores
9

Perguntas para identificar os atores

• Quem utiliza o sistema?


• Quem instala e mantém o sistema?
• Que outros sistemas/dispositivos utilizam o sistema ou são utilizados por ele?
• Quem obtém informação do sistema?
• Quem provê informação ao sistema?
• O que o sistema faz automaticamente?
10

Captura dos casos de uso

• Feita durante a concepção (conversas iniciais) e elicitação


(entrevistas, etc.);
– Identifique as interações discretas entre usuários e sistema;
– Dê um nome a cada uma delas;
– Escreva uma descrição textual pequena.
• Geralmente são identificados em paralelo com a identificação dos
atores;

• Alguns casos e atores podem ser capturados em fases mais


avançadas.
11

Dicas para identificar casos de uso

• Que funções o ator irá querer do sistema?


• O sistema armazena informações?
• Que atores irão criar, ler, atualizar ou apagar estas informações?
• O sistema precisa notificar algum ator sobre alguma mudança
interna?

• Existem eventos externos que o sistema precisa estar ciente?


12

Nível adequado de granularidade

• Não existe uma regra simples;


– Recomendação: Para a análise de requisitos, concentre-se
em casos de uso no nível de processos elementares de
negócio: [LARMAN 2002]
• Uma tarefa que é realizada por uma pessoa em um lugar,
em um determinado momento, em resposta a um evento
de negócio, que acrescenta um valor mensurável ao
processo de negócio e deixa os dados em um estado
consistente.
– Um bom caso de uso compreende uma seqüência de
transações realizadas pelo sistema que produzem um
resultado de valor observável para um ator específico.
13

Exemplo de Diagrama de Caso de Uso


14

Exercício

• Modele um diagrama de casos de uso para um sistema de reserva


de salas.

• Modele um diagrama de casos de uso para um sistema de controle


de um estacionamento (com clientes rotativos e mensalistas).
15

Relacionamentos entre atores e casos de


uso
• Relacionamentos entre casos de uso:
– Generalização/herança
– Extensão
– Inclusão
• Relacionamentos entre atores:
– Generalização/herança
• Relacionamentos entre atores e casos de uso:
– Associação
16

Associação
• Interação do ator com o caso de uso
• Único relacionamento possível entre atores e casos de uso
17

Herança / Generalização
• Ocorre entre casos de uso ou entre atores
• É considerado quando temos dois elementos semelhantes, mas com um
deles realizando algo a mais
18

Herança / Generalização
• Ocorre entre casos de uso ou entre atores
• É considerado quando temos dois elementos semelhantes, mas com um
deles realizando algo a mais
19

Herança / Generalização
• Entre casos de uso:
20

Herança / Generalização
• Entre atores:
21

Extensão (extends)

• Um caso de uso terá seu procedimento acrescido, em um ponto de


extensão, de outro caso de uso, identificado como base

• Pontos de extensão são rótulos que aparecem nos cenários do caso de


uso base

• É permitido colocar diversos pontos de extensão num mesmo caso de


uso
22

Extensão (extends)
• Representação gráfica
23

Quando usar <<extends>>

• Expressar rotinas de exceção


• Separar um comportamento obrigatório de outro opcional
• Separar um trecho do caso de uso que será executado apenas em
determinadas condições
24

Inclusão (include)
• Indica que um deles terá seu procedimento copiado num local
especificado no outro caso de uso, identificado como base
25

Quando usar <<include>>

• Quando existem cenários cujas ações servem a mais de um caso de uso


– Por exemplo: validar matrícula é útil para casos de uso como
renovar matrícula de aluno, emitir histórico escolar, lançar notas de
provas, entre outros
Passo 1. O aluno digita sua matrícula. O sistema verifica se a
matrícula é válida e ativa. Include (Validar Matrícula). (...)
26

Casos de Uso e Pacotes


• Sistemas com alta complexidade usam pacotes
• Pacotes organizam o sistema
27

Casos de Uso e Pacotes


• Use case representado assim:
– pacote:: elemento
– Controle Acadêmico :: Cadastrar aluno