Você está na página 1de 27

Casos de Uso (Use Cases)

Introdução
• Desenvolver software de qualidade é fazer o
software de forma correcta, nos prazos
estabelecidos e com um nível aceitável de
defeitos
• Uma das maiores fontes de fracasso é
desenvolver software de qualidade, mas que
não satisfaz os desejos dos utilizadores (o
software não é funcional)
Introdução
• Dessa forma, é necessário fazer com que o
utilizador participe mais no processo de
desenvolvimento
• É o utilizador quem vai medir o nível de
qualidade do software
• Os requisitos podem ser classificados em:
– Funcionais
– Não funcionais
Introdução
• Os requisitos funcionais são os que indicam as
funções que são executadas pelo sistema
• Podemos citar vários requisitos não
funcionais, como:
– Facilidade de Uso
– Hardware e Ambiente alvo para o Produto
– Qualidade
– Desempenho
– Segurança
Introdução
• Casos de Uso são uma excelente técnica para
entender os requisitos de um sistema
• A UML inclui formalmente as noções de Caso
de Uso e Diagrama de Casos de Uso
• O ícone em UML para um Caso de Uso é:

Comprar items
O que é Caso de Uso (Use Case)
• Um Caso de Uso é um documento narrativo
que descreve a sequência de eventos de um
Actor (um agente externo) usando o sistema
para completar um processo
• São histórias ou casos de utilização do sistema
• São usados para capturar comportamentos
relevantes do sistema, sem a preocupação de
especificar como serão implementados
Diagrama de Casos de Uso
• Um Diagrama de Casos de Uso apresenta:
– Um conjunto de casos de uso, actores e as suas
relações
– Captura as funcionalidades de um sistema de
acordo com a visão dos seus utilizadores
– Desenvolvido pelo Analista em conjunto com
especialistas no domínio da aplicação
– É composto por:
• Casos de Uso
• Actores
• Relações de dependência, generalização e associação
Diagramas de Casos de Uso
• Os Diagramas de Casos de Uso são utilizados
para modelar:

– O contexto de um sistema, identificando os


actores e os seus papéis na interacção com o
sistema
– Os requisitos de um sistema, especificando o que
o sistema deve fazer (do ponto de vista dos seus
utilizadores) sem, no entanto, se preocupar em
como deve ser implementado
Diagramas de Casos de Uso
• Os Diagramas de Casos de Uso servem
também para:

– Validar a arquitectura do sistema


– Identificar e gerar casos de teste
Atribuir Nomes nos Casos de Uso
• O nome de um Caso de Uso deve representar
uma acção do sistema.
– Esse nome deve fazer parte do vocabulário
– Normalmente inicia-se com um verbo, como por
exemplo:
• Comprar Items
• Incluir um Pedido
O que é um Actor
• Um Actor num Caso de Uso representa uma
entidade externa ao sistema que interage de
alguma forma com um Caso de Uso
• Um actor normalmente é:
– Uma pessoa
– Um dispositivo de hardware
– Outro sistema
O que é um Actor
• Actores estão fora do sistema, ou seja, não são
entidades que compõem o sistema
• Uma associação entre um Caso de Uso e um Actor
indica que cada um pode enviar ou receber
mensagens
• Representação de um Actor em UML:

Nome do Ator
Generalização de Actores

Cliente

Pessoa Pessoa
Física Jurídica
Especificação de Casos de Uso
• A especificação de Casos de Uso pode ser feita
através da descrição das sequências de
eventos em formato texto
• Devemos considerar:
– Como e quando o Caso de Uso inicia ou termina
– As interacções com os actores envolvidos
– A sequência normal de execução
– As sequências alternativas ou de excepção
Casos de Uso de Alto Nível
• São casos de uso que podem ser utilizados na
fase inicial para obter um melhor
entendimento sobre o processo como um
todo
• Normalmente têm o seguinte formato:
Caso de Uso: Nome do Caso de Uso
Actores: Actores envolvidos
Tipo: a) Primário, Secundário ou Opcional
b) Essencial ou Real
Descrição: Descrição resumida do Caso de Uso
Exemplo de Caso de Uso de Alto Nível
• Use Case: Comprar Items
• Actores: Cliente, Caixa
• Tipo: Primário
• Descrição: Um Cliente chega a um balcão com
items para comprar. O Caixa regista os items
comprados e recebe o pagamento.
Finalmente, o Cliente deixa o balcão levando
os items.
Casos de Uso Expandidos
• São casos de uso com um nível maior de
detalhe e são úteis para obter um
entendimento mais aprofundado do processo
e seus requisitos
• Geralmente são feitos após os de alto nível
Formato de um Caso de Uso
Expandido
Caso de Uso: Nome do Caso de Uso
Actores: Actores envolvidos
Finalidade: Intenção do Caso de Uso
Visão Geral: Descrição resumida do Caso de Uso
Tipo: a) Primário, Secundário ou Opcional
b) Essencial ou Real
Referências Cruzadas: Casos de Uso relacionados
Sequência Típica de Eventos:
Acção do Actor Resposta do Sistema
Descrições numeradas das Acções Descrições numeradas
executadas pelos Actores das Respostas do Sistema
Sequências Alternativas:
Alternativas ou Excepções que podem surgir
Formato de um Caso de Uso
Expandido
• Estrutura de notação para pontos de desvio:
– Dentro da secção Principal, na Sequência Típica
de Eventos, indicamos os desvios para sub-
secções;
– Escrevemos uma sub-secção para cada desvio,
usando uma Sequência Típica de Eventos
novamente.
– Se as sub-secções também têm alternativas,
descrevemos uma Sequência Alternativa.
• Quando as alternativas têm a mesma probabilidade de
ocorrerem, usamos desvios
Especificação do Tipo do Caso de Uso
• Primário x Secundário x Opcional
– Primário: usado em processos comuns
– Secundário: representa processos menos
importantes ou mais raros
– Opcional: usado quando o processo não precisa
ser expandido
Especificado o Tipo do Caso de Uso
• Essencial x Real
– Essencial: Quando o Caso de Uso é escrito de
forma a que não se considere a tecnologia a
ser usada para implementação
– Real: Quando o Caso de Uso considera
aspectos tecnológicos

Essencial Muito Real


Abstracto Muito Concreto
Explorar Casos de Uso
• Método baseado em actores:
– Identificar os actores
– Para cada actor, identificar os processos que eles
iniciam ou dos quais eles participam
• Método baseado em eventos:
– Identificar os eventos externos
– Relacionar cada evento a Actores e Casos de Uso
Diagrama de Casos de Uso
Terminal de
Ponto de Venda

Comprar Items

Cliente
Log In
(Iniciar uso)

Reembolsar Items Caixa


Comprados

Administrador
do Sistema Gerir
Utilizadores
Inclusão
• Uma relação de Inclusão de um Caso de Uso A
com um Caso de Uso B indica que uma
instância do Caso de Uso A deve incluir o
comportamento especificado para o Caso de
Uso B
<<include>>
Transferência
entre Contas Autenticar
Cliente
<< include >>

Sacar
Extensão
• Uma relação de Extensão de um Caso de Uso
A com um Caso de Uso B indica que uma
instância do Caso de Uso B pode incluir -
sujeito ao atendimento de certas condições - o
comportamento especificado para o Caso de
Uso A.
Sacar Dinheiro
<<extends>> Autorizar
Factor de extensão: Saque
quantia elevada
Generalização
• Uma Generalização de um Caso de Uso A
para um Caso de Uso B indica que A é uma
especialização de B

Receber pagamento
em cheque Receber
Pagamento

Receber pagamento
em cartão de crédito
Considerações
• Cada Diagrama de Casos de Uso representa
graficamente uma vista parcial do Sistema
• O conjunto de Diagramas de Casos de Uso
forma a visão de Casos de Uso completa do
Sistema
• Representam uma vista externa ao sistema,
ajudando a identificar e especificar o conjunto
de classes e as suas interações para atingir o
propósito do sistema

Você também pode gostar