Sie sind auf Seite 1von 5

Introdução

● O que é um caso de uso (use case)?


○ Ação a ser executada por um sistema
○ Produz um resultado observável por um ou mais papéis no sistema (atores)
○ É representado por um cenário principal e cenários alternativos

Casos de Uso

Análise e Projeto de Sistemas


Prof. Marcelo Schots
2

Especificação de casos de uso Especificação de casos de uso


● Descreve as interações típicas entre os usuários de um sistema e o próprio ● Fluxo principal (FP): cenário mais comum
sistema (ou, em alguns casos, entre sistemas) “Como isso é (ou deveria ser) feito na maior parte das vezes?”
○ Representa requisitos funcionais do sistema ● Fluxo alternativo (FA): variações (extensões)
● Elaboração baseada em cenários “De que formas diferentes isso pode ser feito?”
● Fluxo de exceção (FE): erros “inesperados”
“O que pode dar errado?”
● Observações
○ O fluxo principal é único e deve obrigatoriamente possuir um passo informando
que o caso de uso é encerrado
○ Os dois últimos fluxos devem, obrigatoriamente,
■ ser unicamente identificados por numeração crescente (ex.: FA01, FA02, FE01)
■ indicar, no(s) fluxo(s) originário(s), o(s) passo(s) em que eles o(s) estendem, E
■ indicar, no final da descrição do fluxo, para qual ponto de qual fluxo o controle será
3 4
repassado OU um passo informando que o caso de uso é encerrado
Especificação de casos de uso Especificação de casos de uso
● Propriedades importantes: ● Pré-condição
○ Um caso de uso faz parte de um cenário ○ Define que premissas são assumidas como verdadeiras para que o caso de uso
○ Um caso de uso deve ter identificador único (UC01, UC02, ...) tenha início
○ Os passos que compõem o caso de uso devem ser numerados ■ Ex.: o funcionário deve estar identificado no sistema
■ Numeração auxilia na ordenação ● Pós-condição
● Ordem de precedência ○ Representa o estado que o sistema atinge após o caso de uso ter sido realizado
■ Numeração auxilia na referência
com sucesso
● Ex.: O fim de um fluxo alternativo ou de exceção retorna a um determinado passo
■ Ex.: os dados do funcionário são alterados
do caso de uso
○ Não é preciso declarar como este estado foi alcançado
● Atenção: não se cria um caso de uso contendo apenas um passo de um
processo
○ Um caso de uso representa um conjunto de passos que representam uma função

5 6

Diagrama de casos de uso Atores


● Elementos ● Representam um papel desempenhado por um usuário ou sistema ao
○ Caso de uso interagir com o sistema em desenvolvimento
■ Ação que ocorre no sistema ● Ator não é sinônimo de usuário
○ Ator
○ Um mesmo usuário pode desempenhar mais de um papel junto ao sistema
■ Papel desempenhado por um usuário do sistema
○ Sistemas podem exercer funções no sistema (e.g., sistemas autônomos), mas
● (ou, em alguns casos, por outro sistema)
não podem ser considerados usuários
○ Relacionamentos
■ Generalizações, inclusões, extensões

7 8
Atores Relacionamentos – Generalização
● Classificação: ● É considerada quando há dois elementos semelhantes, sendo que um deles
○ Ator principal: aquele cujo objetivo o caso de uso está tentando satisfazer realiza algo a mais
○ Ator(es) secundário(s): aquele(s) com o(s) qual(ais) o sistema se comunica para ● Entre casos de uso
realizar o caso de uso ○ Um caso de uso específico herda (não estende) um caso de uso mais genérico
● Os passos do caso de uso mostram a intenção do ator ■ O caso de uso X é um tipo de caso de uso Y e substitui/redefine alguns
○ Detalhes sobre os mecanismos utilizados, jargões de interface, e formas de comportamentos definidos em Y
interação não entram na descrição ● Entre atores
■ Exemplo: Usuário seleciona a opção de desligar o computador ○ Um ator A desempenha alguns papéis, enquanto um ator B desempenha os
■ Contraexemplo: Usuário “clica” no botão de desligar o computador mesmos papéis de A além de outros próprios (i.e., de B)
■ O ator B atua como um ator A (o ator B desempenha o papel de A, muitas vezes o ator
B é um tipo de ator A, possuindo também suas especificidades)

9 10

Relacionamentos – Generalização Relacionamentos – Extensão (<<extend>>)


● Quando um fluxo alternativo ou de exceção possui uma sequência de passos
Generalização entre casos de uso Generalização entre atores
complexa ou que mereça um destaque no contexto do sistema, pode-se
separar esse fluxo em um caso de uso à parte e relacioná-los com uma
extensão
● Este recurso também é utilizado para:
○ separar um comportamento obrigatório de outro opcional
○ separar um trecho do caso de uso que será utilizado apenas em determinadas
condições
● Um caso de uso estende (<<extend>>) outro caso de uso quando agrega
uma funcionalidade opcional a este outro (ou seja, estende sua
funcionalidade)
11 12
Relacionamentos – Inclusão (<<include>>) Relacionamentos – Extensão e inclusão
● Quando há uma porção de comportamento que é similar ao longo de um ou
mais casos de uso (chamados casos de uso base) e não se deseja repetir a
sua descrição, faz-se uso da inclusão
● Este recurso é utilizado quando existem cenários cujas ações servem a mais Extensões
de um caso de uso
○ Também facilita a reutilização e evita reescritas desnecessárias
● Um caso de uso inclui (<<include>>) outro caso de uso quando, para ser
executado, ele precisa incluir a execução da funcionalidade deste outro
○ Importante: o caso de uso base NÃO pode ser executado sem a execução do
Inclusões
caso de uso incluído

13 14

Exemplo de diagrama de casos de uso Exercício


Identifique um fluxo alternativo e um fluxo de exceção para o caso de uso “UC04:
Efetuar reserva de mesas”, cujo fluxo principal é apresentado a seguir.
1. O sistema solicita a data da reserva.
2. O cliente informa a data da reserva.
3. O sistema calcula e exibe o número de mesas disponíveis para reserva.
4. O sistema exibe o mapa do salão do restaurante, indicando as mesas disponíveis e as já reservadas.
5. O cliente seleciona uma ou mais mesas disponíveis para reserva e solicita a reserva desta(s).
6. O sistema solicita o CPF do cliente para identificá-lo no sistema.
7. O cliente informa seu CPF.
8. O sistema pesquisa pelo cadastro do cliente.
9. O sistema exibe o nome e o telefone do cliente, bem como as mesas selecionadas, para confirmação.
10. O cliente confirma os dados exibidos.
11. O sistema efetua a reserva das mesas selecionadas, atribuindo-as ao cliente na data escolhida.
12. O caso de uso é encerrado.

15 16
Algumas possíveis respostas Exercício
● Fluxo alternativo FA01: Reservas esgotadas ● Descrever o caso de uso “Realizar saque” com todos os fluxos alternativos e
1. O sistema informa que não há reservas disponíveis para a data de exceção, sabendo que o banco possui as seguintes regras de negócio
selecionada. que devem ser respeitadas:
2. O caso de uso é encerrado. ○ O cliente que errar a senha 3 vezes terá seu acesso bloqueado.
● Fluxo de exceção FE01: Cliente não cadastrado ○ O cliente não pode efetuar o saque de mais de R$ 1000,00 no mesmo dia (ou
1. O sistema informa que o cliente não está cadastrado, e oferece a opção seja, no intervalo entre as 0h de um dia até as 23h59 do mesmo dia).
○ Se o cliente não realizar qualquer ação em 20 segundos, a operação de saque é
de cadastrar o cliente.
cancelada.
2. A execução do caso de uso é repassada ao caso de uso Cadastrar ○ Caso haja qualquer falha na comunicação com o banco, a operação deve ser
cliente (extensão – <<extend>> – do presente caso de uso), retornando cancelada.
em seguida para o passo 7 do fluxo principal.

17 18

Referências
● Pressman, R. S. (2016). “Engenharia de Software”, 8ª ed., McGraw-Hill.
● Booch, G., Rumbaugh, J., Jacobson, I. (2006). “UML: Guia do Usuário”, 2ª
ed., Campus.
● Fowler, M. (2005). “UML Essencial”, 3ª ed., Bookman.
● Slides prof. Gleison Santos (Casos de Uso I).
● Slides prof. Jobson Luiz Massolar (Análise e Modelagem de Sistemas com
UML).

19

Das könnte Ihnen auch gefallen