Upload
internet
View
125
Download
3
Embed Size (px)
Citation preview
Professor: André Gustavo Bastos Lima
UMLUnified Modeling Language
Professor: André Gustavo Bastos Lima
Diagramas de Casos de Uso
DEFINIÇÃO DE CASO DE USO
Segundo o RUP:
“Um Caso de Uso é a relação de uma seqüência de ações que um sistema executa produzindo
um resultado de valor observável para um ator específico.”
UML - DIAGRAMA DE CASOS DE USO
Consultar Disponibilidade
Inscrever em Curso
Atualizar Financeiro
Aluno
<<extend>>
<<include>>
UML - DIAGRAMA DE CASOS DE USO
Visão de alto nível (perspectiva externa e dos atores); O mais informal do diagramas da UML;
Representa o conjunto de atores, casos de uso, seus relacionamentos e responsabilidades;
Ajuda a capturar os requisitos funcionais do sistema;
É importante para a organização e modelagem de comportamentos do sistema (representação dinâmica);
A sua documentação é essencial (outros diagramas da UML, como de atividades e de seqüência, mais formais e precisos, podem ser usados nessa documentação).
UML - DIAGRAMA DE CASOS DE USO
São as ações dos usuários com começo, meio e fim;
Pode ser simples ou complexo, ter alguns parágrafos ou várias páginas (ou diagramas) em sua documentação;
As funcionalidades do sistema podem ser rastreadas para casos de uso;
São exemplos: Sacar Dinheiro, Comprar Produtos, Abrir Conta, Pagar Título Bancário etc.
ANATOMIA DO CASO DE USO
Descrição
Fluxo Básico
Fluxo Alternativo 1
Fluxo Alternativo n
Pontos de Extensão
Pós-condição
Pré-condição
DESCRIÇÃO
Apresenta uma breve descrição do objetivo do caso de uso.
Descrição
Este caso de uso descreve o procedimento de saque de dinheiro em um caixa eletrônico.
Descrição
Este caso de uso descreve o procedimento de saque de dinheiro em um caixa eletrônico.
PRÉ-CONDIÇÃO
É o estado do sistema requerido antes do caso de uso ser iniciado;
Pode ser omitido (usar apenas quando relevante);
Deve ser um estado de valor mensurável; A Pré-condição é uma restrição para o início do
caso de uso, não o evento que inicia o caso de uso.
Pré-Condição
Cliente identificado corretamente.
Pré-Condição
Cliente identificado corretamente.
PÓS-CONDIÇÃO
Uma pós-condição é o estado no qual o sistema deve estar ao final do caso de uso;
Pode ser omitido, usar apenas quando adicionar valor;
Deve ser um estado de valor mensurável;
Pós-Condição
Cartão devolvido ao cliente.
Pós-Condição
Cartão devolvido ao cliente.
CENÁRIOS
É o diálogo ator-sistema detalhando a execução do caso de uso.
Fluxo Básico Fluxo onde tudo dá certo.
Fluxos alternativos Variações na execução do fluxo básico; Erros (exceções) que podem ocorrer no fluxo básico
(em alguns processos são chamados de fluxos de exceção).
FLUXO BÁSICO
Fluxo Básico
1. O Cliente informa a opção de Saque.2. O Sistema solicita o valor do saque.3. O Cliente informa o valor e confirma a operação.4. O Sistema verifica o valor informado.5. O Sistema verifica o saldo do cliente .[A1]6. O Sistema debita o valor sacado do saldo do cliente.[A2]7. O Sistema entrega o dinheiro.8. Fim do caso de uso.
Fluxo Básico
1. O Cliente informa a opção de Saque.2. O Sistema solicita o valor do saque.3. O Cliente informa o valor e confirma a operação.4. O Sistema verifica o valor informado.5. O Sistema verifica o saldo do cliente .[A1]6. O Sistema debita o valor sacado do saldo do cliente.[A2]7. O Sistema entrega o dinheiro.8. Fim do caso de uso.
FLUXO ALTERNATIVO
Fluxos Alternativos
A1. Valor informado inválido1. No passo 4 do fluxo básico o sistema verificou que o valor informado é inválido.2. O sistema informa que o valor é inválido.3. O sistema informa as regras para valores válidos.4. O caso de uso volta para o passo 2 do fluxo básico.
A2. Saldo insuficiente1. No passo 5 do fluxo básico o Sistema verificou que o cliente não possui saldo.2. O Sistema informa o saldo disponível.3. O caso de uso volta para o passo 8 do fluxo básico.
O QUE UM CASO DE USO NÃO CONTÉM
O caso de uso descreve a funcionalidade do sistema de uma perspectiva orientada a tarefa (passos).
O Caso de uso não contém:Detalhes da interface de usuário;Objetivos de performace;Detalhes da arquitetura da aplicação;Requisitos não funcionais.
O QUE UM CASO DE USO NÃO CONTÉM
Exemplos:
“... O sistema exibe um DBGrid com os...”“... A resposta deverá ser retornada em
menos de 10 segs...”“... O sistema inicia uma conexão com o
servidor de aplicação...”“... O usuário deverá entrar com os códigos
através da caneta ótica ....”
COMO ENCONTRAR CASOS DE USO
Identifique as interações do usuário (concentre-se nos objetivos do usuário): “Sacar dinheiro...” “Transferir dinheiro entre contas...” “Cadastrar contas de débito automático...”
Descreva as funções que o usuário deseja do sistema; Descreva as funções que criam, lêem, atualizam e
excluem informações; Descreva como os atores são notificados sobre alterações
de estado do sistema; Descreva como o Ator necessitará informar ao sistema
eventos ocorridos.
NOMEANDO OS CASOS DE USO
Nomeie o caso de uso com uma frase que especifique o objetivo do ator.
Utilize verbos concretos, “fortes”, ao invés de verbos genéricos e fracos, exemplos: Verbos fortes: criar, calcular, migrar, receber, arquivar,
registrar e ativar. Verbos fracos: controlar, gerenciar, administrar,
organizar e processar. Seja explícito. Utilize termos específicos, exemplos:
Termos fracos: dado e sistema. Termos fortes: pagamento e conta.
NOMEANDO OS CASOS DE USO
Bons nomes
Depositar Dinheiro;
Gravar Movimentação Bancária;
Transferir Valores entre Contas Correntes.
Nomes Ruins
Controle de Saque;
Controle de Saldo;
Transferência Bancária.
DEFINIÇÃO DE ATOR
É qualquer coisa que interage com o sistema;
Pode ser um usuário, um hardware externo ou outro sistema;
Representa uma classe de usuários;
Algo sobre o qual não temos controle.
DEFINIÇÃO DE ATOR (CONT.)
Várias pessoas podem ser representadas por um único ator
Caixa
Eletrônico
Bruno
é um cliente
Ana Lúcia
é uma cliente Saque de Conta
Corrente
Correntista
DEFINIÇÃO DE ATOR (CONT.)
Uma pessoa pode atuar como mais de um ator.
Caixa
Eletrônico
Fulano
é um cliente
Fulano também é responsável
pelo abastecimento
da máquina
Correntista
Técnico responsável
DEFINIÇÃO DE ATOR (CONT.)
Ator Primário: Estimula o sistema a reagir.
Ator Secundário: Responde às solicitações do sistema.
Caso de uso
Ator Primário Ator Secundário
NOMEANDO ATORES
Agrupe os indivíduos segundo a utilização do sistema;
Identifique os papéis que eles assumem ao utilizar o sistema;
Cada papel é um ator em potencial; Use nomes comuns para um sistema existente
(do ponto de vista do usuário), não invente um nome novo;
NOMEANDO ATORES
INCadastrar
Títulos
INSS
MEC
Recepcionista
Auditor
Nomes ruins
Bons nomes
3
MODELO DE CASOS DE USO
Correntista
Técnico do Suporte
Sacar Dinheiro
Depositar Dinheiro
Pagar Título
Abastecer Numerário
COMUNICAÇÃO
Os relacionamentos de associação entre Atores e classes de Casos de Uso são usados para indicar que o ator participa e se comunica com o sistema conforme descrito no Caso de Uso;
A seta indica quem inicia a comunicação;
Setas não demonstram fluxo;
Setas duplas não são utilizadas.
COMUNICAÇÃO
Seta do Ator para o caso de uso: Ator dispara o caso de uso; Ator estimula o sistema; Ator principal.
Correntista
Consultar Saldo
COMUNICAÇÃO
Seta do Caso de Uso para o Ator: Sistema solicita informações; Sistema espera uma ação do ator; Ator secundário.
Correntista
Consultar Saldo
Sistema Mainframe
FATORAÇÃO DE CASOS DE USO
Existem três tipos de relacionamento de fatoração: Inclusão – Include; Extensão – Extend; Generalização.
Objetivos: Descrição de procedimentos obrigatórios; Descrição de procedimentos opcionais; Especialização de comportamento.
INCLUSÃO (INCLUDE)
Características:
A execução do caso de uso incluído é obrigatória;
O caso de uso base depende do resultado retornado pelo caso de uso incluído;
A inclusão é na essência um encapsulamento.
EXTENSÃO (EXTEND)
Características:
Representa uma fatoração implícita;
A execução do caso de uso de extensão é opcional;
O caso de uso de extensão é inserido no caso de uso base em locais específicos chamados “Pontos de extensão”;
GENERALIZAÇÃO
Utilizado para:
Destacar o comportamento comum a mais de um caso de uso, mas com algumas particularidades adicionais;
Demonstrar formas mais específicas de comportamento do um caso de uso.
GENERALIZAÇÃO
Características:Relacionamento é-um entre um caso de uso
base (pai) com um ou mais casos de uso filhos;
Semelhante a generalização/herança de classes;
O filho herda toda a estrutura, comportamento e relacionamentos do pai;
O filho é totalmente dependente da estrutura do pai.
GENERALIZAÇÃO - EXEMPLO
No caso de uso “Cobrança de Penalti”, podem ser representados a cobrança de penalti em tempo regulamentar e como desempate. Esses dois casos de uso têm muito do seu comportamento em comum, mas com algumas particularidades, como a reposição da bola em jogo ou não.
GENERALIZAÇÃO - EXEMPLO
Cobrança de Penalti
Cobrança de Penalti em tempo
regulamentar
Cobrança de Penalti em desempate