Modelos de Sistemas
Casos de Uso
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 1
Objetivos Principais dos Casos de Uso
• Delimitação do contexto de um sistema.
• Entendimento dos requisitos.
• Descrição dos requisitos funcionais.
• Principal saída da etapa de especificação de
requisitos.
• Principal entrada da etapa de análise.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 2
Casos de Uso
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 3
Casos de Uso
• Técnica proposta por Ivar Jacobson em
sua metodologia de desenvolvimento de
sistemas orientados a objetos OOSE
(Engenharia de Software Orientada á Objeto ).
• Segundo Ivar Jacobson, podemos dizer
que um Caso de Uso é um "documento
narrativo que descreve a sequência de
eventos de um ator que usa um sistema
para completar um processo".
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 4
Casos de Uso
• Incorporado à linguagem UML(Unified
Modeling Language), que define um
diagrama para representar graficamente
os casos de uso e seus relacionamentos
(Diagrama de Casos de Uso).
• Cada caso de uso deve descrever
somente uma funcionalidade ou objetivo
do sistema.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 5
UML – Unified Modeling Language
Linguagem de Modelagem Unificada
• é uma linguagem visual utilizada para
modelar sistemas computacionais por meio
do paradigma de Orientação a Objetos.
• a UML é composta por vários diagramas
com o objetivo de fornecer múltiplas visões
do sistema a ser modelado, analisando-o e
modelando-o sob diversos aspectos.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 6
UML – Unified Modeling Language
Linguagem de Modelagem Unificada
– Descrição de um sistema segundo três
perspectivas:
• Operações (funcional)  Diagrama de Caso
de Uso
• Dados (estrutural)  Diagrama de Classes
• Eventos (temporal)  Diagramas de
Sequência,
Atividades,
Transição de Estados
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 7
UML – Unified Modeling Language
Linguagem de Modelagem Unificada
• cada diagrama da UML modela o sistema
em camadas, sendo que alguns diagramas
enfocam o sistema de forma mais geral,
apresentando uma visão externa do sistema,
como é o objetivo do Diagrama de Casos
de Uso.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 8
Diagrama de Casos de Uso
Todo o conjunto de Casos de Uso
e Atores do sistema organiza o
escopo do sistema
a respeito dos objetivos que os
usuários atingirão quando o
sistema estiver pronto.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 9
Diagrama de Casos de Uso
• Descreve a funcionalidade
proposta para o novo sistema.
• Fornece uma descrição clara e
consistente do que o sistema
deve fazer.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 10
Características do Diagrama Caso de Uso
• São sempre iniciadas por um ator.
• Deve sempre retornar um resultado ao
ator.
• Cada caso de uso especifica uma
funcionalidade completa envolvendo os
atores interessados.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 11
Características do Diagrama Caso de Uso
Etapas:
• Objetivo
• Ator
• Descrição
• Passos (procedimentos)
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 12
Diagrama Caso de Uso - Objetivo
Manter os clientes da empresa, onde também
serão submetidos a análise de crédito. Os
clientes devem fornecer informações como
referências pessoais e comerciais, dados
profissionais e dados pessoais.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 13
Diagrama Caso de Uso - Ator
• Atores são papéis de elementos externos ao
sistema e que interagem DIRETAMENTE
com o sistema.
• Um Ator é um PAPEL DESEMPENHADO
POR ALGUMA COISA EXTERNA ao
sistema (não necessariamente uma pessoa).
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 14
Diagrama Caso de Uso
Como identificar atores?
Para identificar os atores que vão participar
do modelo devemos fazer as seguintes
perguntas:
• Quem usa o sistema?
• Quem inicializa o sistema?
• Quem fornece os dados?
• Quem usa as informações?
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 15
Diagrama Caso de Uso - Ator
Ator
• Exemplo de atores:
• Cliente
• Secretária
• Sistema de vendas (desde que não seja o
sistema que estamos desenvolvendo)
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 16
Diagrama Caso de Uso - Ator
• É um papel que tipicamente estimula/solicita
ações/eventos do sistema e recebe reações. Cada
ator pode participar de vários casos de uso.
Ator
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 17
Diagrama Caso de Uso - Atores
Ator  PESSOA
Auxiliadora Freire
Ator  SISTEMA
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 18
Diagrama Caso de Uso - Atores
herança entre Atores
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 19
Diagrama Caso de Uso
Casos de Uso = OBJETIVO do Ator
Representação
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 20
Diagrama Casos de Uso –
Caso de Uso
• É uma sequência de ações executadas para um
determinado objetivo.
• O seu nome deve ser uma frase que indique a
ação que ele realiza.
• É descrito como um conjunto de passos bem
como suas exceções.
• Tem início, meio e fim e sempre devolve uma
resposta.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 21
Diagrama Casos de Uso –
Caso de Uso
• Caso de uso, normalmente, é iniciado a
partir de um estímulo (solicitação) de um
ator. Em geral uma comunicação é
identificada como uma ligação sem direção.
•Um caso de uso pode estar associado a mais
de um ator. Atores ativos iniciam um caso de
uso, atores passivos participam do caso de
uso sem iniciá-lo.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 22
Especificação dos Casos de Uso
• Cada caso de uso no diagrama de
casos de uso deve ser detalhado na
especificação de caso de uso.
• Esta especificação é evolutiva,
quanto mais requisitos são coletados,
mais detalhes são adicionados na
especificação.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 23
Casos de Uso = Diagrama + Narrativa
Descrição - Esse caso de uso começa no
cadastramento de uma proposta de
financiamento pelo Analista de Crédito, que
será submetida a uma análise de crédito.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 24
Detalhe do Caso de Uso
Deve ser possível ao Analista de Crédito:
 incluir um novo cliente, sempre que
existir uma nova proposta, informando:
Dados pessoais: nome completo, endereço de
residência, bairro, cidade, CEP, Estado, telefone
para contato, nome da empresa, endereço comercial,
cargo que ocupa, salário e data de nascimento;
Dados dos documentos obrigatórios CPF e o RG;
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 25
Detalhe do Caso de Uso
Deve ser possível ao Analista de Crédito: (cont.)
 alterar os dados do cliente cadastrado;
 excluir o cliente cadastrado, caso haja
desistência da proposta de crédito;
 consultar todos os dados do cliente,
informando o CPF ou o código do
cliente.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 26
Detalhe do Caso de Uso
• Se o cliente possuir contas bancárias, esses
dados deverão ser fornecidos;
• O cliente deve apresentar,
obrigatoriamente, no mínimo 2 referências
pessoais ou comerciais;
• Para toda manipulação dos clientes na base
de dados, deve ser validado o CPF e a
cidade escolhida.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 27
Expansão Diagrama de Casos de Uso
• Consiste na explicitação de
todas as diferentes funcionalidade
do sistema, que permitirá inferir e
identificar mais claramente outras
necessidades.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 28
Casos de Uso
Tipos de especificação
• descrição inicial  representação
conceitual do sistema;
• descrição base  documenta o
comportamento ideal;
• descrição elaborada  documenta
detalhadamente o comportamento.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 29
Especificação dos Casos de Uso
Descrição inicial
Descrição base
Descrição elaborada
Nome
Nome
Nome
Atores
Atores
Atores
Descrição
Descrição
Descrição
Fluxo básico
Fluxo básico
Fluxo alternativo
Pré-condição
Pós-condição
Requisitos especiais
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 30
Cenário 1 (Fluxo Básico) :
Passo1, Passo2, Passo3, Passo4
Fluxo Básico: Quando a atividade é realizada
com sucesso, deve existir somente um fluxo.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 31
•
Diagrama de Caso de Uso
Cenário 1 (Fluxo Básico) : Passo1, Passo2, Passo3, Passo4
E se a consulta for por cliente?
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Fluxo Alternativo
Slide 32
Diagrama de Caso de Uso
Fluxos Alternativos
Os cenários são todos os
caminhos possíveis que o
Caso de Uso pode ter
desde o Fluxo Básico até
todos os Fluxos
Alternativos combinados
entre si.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 33
Diagrama de Caso de Uso
Fluxos Alternativos
• Cenário 1 : Passo1, Passo2, Passo3, Passo4
(Fluxo Básico);
• Cenário 2 : Passo1, Passo2, A1 , Passo4;
• Cenário 3 : Passo1, Passo2, Passo 3, A2 , Passo2;
• Cenário 4 : Passo1, Passo2, A1 , A2 , Passo2;
• Cenário 5 : Passo1, A3.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 34
Fluxos Alternativos
Cenário 2 : Passo 1, Passo 2, A1 , Passo 4
A1
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 35
Fluxos Alternativos
Cenário 2 : Passo 1, Passo 2, A1 , Passo 4
A1
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 36
Fluxos Alternativos
Cenário 3 : Passo 1, Passo 2, Passo 3, A2 , Passo 2
A2
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 37
Fluxos Alternativos
Cenário 4 : Passo 1, Passo 2, A1 , A2 , Passo 2
A1
A2
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 38
Fluxos Alternativos
Cenário 5 : Passo 1, A3
A3
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 39
Diagrama de Caso de Uso
Fluxos Alternativos
O que causa um Fluxo
Alternativo
uma escolha do Ator
O que um Fluxo
Alternativo pode fazer
 retroceder para um
passo anterior.
o estado do Sistema.
 avançar para um
passo posterior;
finalizar o Caso de
Uso.

Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 40
Diagrama de Caso de Uso
Pré-condição e Pós-condição
Pós-condição
Pós-condição
Pós-condição
Pré-condição
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 41
Diagrama de Caso de Uso
Pré-condição e Pós-condição
• Demonstram restrições para um Caso de
Uso iniciar e garantias mínimas alcançadas
quando este terminar.
• A Pré-condição é a CONDIÇÃO o Sistema
deve se encontrar para permitir que o Caso
de Uso inicie. A pré-condição mais comum
nos sistemas é "O usuário deve estar
logado".
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 42
Diagrama de Caso de Uso
Pré-condição e Pós-condição
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 43
Especificação dos Casos de Uso
Pós-condição: Tarefas que devem ser
realizadas depois que as etapas de Caso de
Uso tiverem sido concluídas. As póscondições descrevem os resultados
observáveis de sucesso ou de falha do Caso
de Uso.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 44
Especificação dos Casos de Uso
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 45
Especificação dos Casos de Uso
Requisitos especiais:
• Requisitos legais e de regulamentação;
• Padrões de aplicativos;
• Requisitos de usabilidade, confiabilidade,
desempenho e portabilidade;
• Sistemas operacionais, ambientes,
compatibilidade e restrições de projeto.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 46
Estruturar Modelo de Casos de Uso
• Estabelecer relacionamento de “Inclusão”
entre os casos de uso.
• Estabelecer relacionamento de “Extensão”
entre os casos de uso.
• Estabelecer relacionamento de “Generalização”
entre os casos de uso.
• Estabelecer relacionamento de “Generalização”
entre os atores.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 47
Diagrama de Casos de Uso
Casos de Uso: Relacionamentos
• Extensão: representa fluxos opcionais
ou anormais. É representado por
<<extend>>
• Inclusão: representa fluxos complexos e
comuns a vários casos de uso.
É representado por <<include>>
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 48
Casos de Uso: Relacionamentos
(exemplo)
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 49
Casos de Uso: Relacionamentos
(exemplo)
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 50
Exemplo – Sistema de Pedidos
Diagrama de Casos de Uso
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 51
Diagrama de Caso de Uso
NARRATIVA
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 52
Diagrama de Caso de Uso
NARRATIVA
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 53
Diagrama de Casos de Uso
Relacionamento «include» entre Casos de Uso
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 54
Diagrama de Caso de Uso
Relacionamento «include» entre Casos de Uso
Caso de Uso “Selecionar Produtos”
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 55
Diagrama de Caso de Uso
Após o relacionamento «include»
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 56
Diagrama de Caso de Uso
Após o relacionamento «include»
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 57
Diagrama de Caso de Uso
Relacionamento «extend» entre Casos de Uso
• Um Caso de Uso disponibiliza um
ponto de extensão (extension point)
que outros Casos de Uso podem
observar e de acordo com uma
condição, este Caso de Uso que está
observando pode assumir o controle e
embutir os seus comportamentos.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 58
Diagrama de Caso de Uso
Relacionamento «extend» entre Casos de Uso
• Para direcionar melhor o uso do
relacionamento «extend», podemos
afirmar que você usará esta técnica quando
necessitar que a qualquer momento dada
uma condição, o Caso de Uso base deverá
ser interrompido e outro Caso de Uso
deverá assumir o controle.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 59
Diagrama de Caso de Uso
Relacionamento «extend» entre Casos de Uso
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 60
Diagrama de Caso de Uso
Relacionamento «extend» entre Casos de Uso
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 61
Construindo Casos de Uso
1. Listar todas as funções e defina a
fronteira do sistema.
2. Identificar atores e casos de uso.
3. Desenhe o diagrama de casos de uso.
4. Escreva todos os casos de uso em
formato de alto nível.
5. Escreva os casos de uso mais críticos
em formato essencial expandido.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 62
Decomposição de Casos de Uso
Pacotes
Casos de Uso
Gerenciar
Ponto de Venda
Casos de Uso
Gerenciar
Estoque
Casos de Uso
Gerais
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 63
Construindo Casos de Uso
Exemplo
Objetivo Geral
O propósito do Sistema é criar
um terminal de ponto de vendas
para ser usado em lojas de varejo
para aumentar a automatização
das compras.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 64
Construindo Casos de Uso
Exemplo
Objetivos Específicos:
• Checkout (passagem pelo caixa) mais
rápido para o cliente;
•Verificação e identificação rápida do
cliente;
•Análise rápida e precisa do crédito.
•
•
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 65
Construindo Casos de Uso
Exemplo
• Passo 1.1  Listar todos os requisitos
• Capturar a informação de um item
adquirido, usando o código, obtido por
um leitor de código de barra, ou pela
entrada manual usando o código universal
de produto.
.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 66
Construindo Casos de Uso
Exemplo
• Passo 1.1  Listar todos os requisitos (cont.)
• Calcular o total da venda corrente,
incluindo os cálculos de impostos e de
cupons de desconto;
• Reduzir a quantidade em estoque
quando a venda for finalizada.
• Registrar as venda completadas.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 67
Construindo Casos de Uso
Exemplo
• Passo 1.1  Listar todos os requisitos (cont)
• O gerente deve abrir o caixa (log in) com
um identificador (ID) e uma senha para
poder usar o sistema.
• Tratar os pagamentos em dinheiro:
capturar a quantia recebida e informar o
troco.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 68
Construindo Casos de Uso
Exemplo
• Passo 1.1  Listar todos os requisitos (cont)
• Tratar
o pagamento por cartão de crédito:
captar a informação do cartão de crédito
por um leitor de cartões ou uma entrada
manual e autorizar o pagamento com o
serviço de autorização de crédito
(externo) da loja via conexão por modem.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 69
Construindo Casos de Uso
Exemplo
• Passo 1.1  Listar todos os requisitos (cont.)
• Registrar os pagamentos por crédito no
sistema de contas a receber da loja, uma
vez que o serviço de autorização de crédito
deve à loja a quantia oferecida como
pagamento
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 70
Construindo Casos de Uso
Exemplo
• Passo 1.2  Listar todas as funções
• Comprar itens;
• Controlar estoque
• Gerenciar usuários
• Inicializar caixa
• Fazer login
• Efetuar pagamento com dinheiro
• Efetuar pagamento com cartão
• Efetuar pagamento com cheque.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 71
Exemplo – PONTO DE VENDAS
• Passo 1-2-3
Comprar Itens
Log in
Caixa
Cliente
Devolver Itens
Iniciar
Administrador
do sistema
Auxiliadora Freire
Gerenciar Usuários
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Gerente
Slide 72
Exemplo 1 – PONTO DE VENDAS
• Passo 4 - caso de uso em alto nível
Caso de uso: Comprar Itens
Atores:
Cliente, Caixa
Descrição:
Um cliente chega a um ponto de
pagamento, com vários itens que
deseja comprar. O Caixa registra
os itens de compra e recebe um
pagamento. No final, o Cliente sai
com os itens comprados.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 73
Exemplo 1 – PONTO DE VENDAS
• Passo 4 - caso de uso em alto nível (cont.)
Caso de uso: Iniciar
Atores:
Gerente
Descrição:
O Gerente liga o sistema POST
de modo a prepará-lo para o uso
pelos Caixas. O Gerente verifica
se a data e a hora estão corretas,
após o que o sistema está
preparado para uso dos caixas.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 74
Exemplo – PONTO DE VENDAS
Passo 5 - caso de uso essenciais expandidos
Comprar Itens
Cliente
Caixa
Controlar
estoque
Pagar com
dinheiro
Auxiliadora Freire
Pagar com
cheque
Pagar com
cartão
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 75
Exemplo – PONTO DE VENDAS
• Passo 5 - caso de uso essenciais expandidos
Sequência típica de eventos
Ação do ator
Resposta do sistema
1- Este caso de uso começa
quando um Cliente chega a um
ponto de pagamento equipado
com um POST, com vários itens
que deseja comprar.
2- O Caixa registra cada item.
Se houver mais de exemplar de
item, o Caixa pode entrar com a
qte.
Auxiliadora Freire
3- determina o preço do item e
acrescenta informações sobre o
item à transação de venda em
andamento. A descrição e o preço
do item são apresentados.
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 76
Exemplo – PONTO DE VENDAS
• Passo 5 - continuação.....
Ação do ator
Resposta do sistema
4- No término da
5- O sistema
entrada de itens o
apresenta o total de
Caixa, indica para o
venda.
POST que a entrada de
itens está completa.
6- O caixa informa ao
Cliente o total.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 77
Exemplo – PONTO DE VENDAS
• Passo 5 - continuação.....
Ação do ator
Resposta do
sistema
7- O Cliente informa o tipo de
pagamento:
a) se pagamento em dinheiro – ver
Pagar com dinheiro.
b) Se pagamento com cartão – ver
Pagar com Cartão.
c) Se pagamento com cheque – ver
Pagar com cheque.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 78
Exemplo – PONTO DE VENDAS
• Passo 5 - continuação.....
Ação do ator
Resposta do sistema
8- Registra a venda
completada.
9- Atualiza os níveis de
estoque.
10- Gera um recibo.
11- O caixa dar o recibo ao
Cliente.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 79
Exemplo – PONTO DE VENDAS
• Passo 5 - continuação.....
Sequencias alternativas.
Linha 2 – Entrada de identificador de item
inválido. Indicar erro.
Linha 7 – Cliente não pode pagar;
cancelar a transação de venda.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 80
Exemplo – PONTO DE VENDAS
• Passo 5 - Seção – Pagar com dinheiro
Ação do ator
Resposta do sistema
1- O Cliente dar um
pagamento em dinheiro – “
O valor fornecido” –
possivelmente maior que o
total de venda.
2- O Caixa registra a quantia 3- Apresenta o troco devido
fornecida.
ao Cliente.
4- O Caixa deposita o
dinheiro recebido e retira o
troco
devido.
Auxiliadora
Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Slide 81
Utilizando UML e Padrões – Craig Larman
Exemplo – PONTO DE VENDAS
• Passo 5 - Seção – Pagar com dinheiro
Sequencias alternativas.
Linha 1 – O cliente não tem dinheiro
suficiente. Pode cancelar a venda ou
iniciar outro método de pagamento.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 82
Exemplo - Saque Bancário
• Requisitos
 solicitar extrato;
 registrar movimento;
 consultar saldo;
 sacar dinheiro;
 realizar depósito;
 transferência entre contas;
 alterar senha.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 83
Exemplo - Saque Bancário
Solicitar extrato
Consultar saldo
Sacar dinheiro
Cliente
Realizar depósito
Transferir
entre contas
Alterar senha
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 84
Exemplo - Saque Bancário
Sacar
dinheiro
Cliente
Realizar
depósito
<< Include>>
Registrar
movimento
Transferir
entre contas
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 85
Exemplo - Saque Bancário
Caso de
uso
Atores:
Descrição:
Auxiliadora Freire
Sacar dinheiro
Cliente
Descreve os passos
necessários para o cliente
sacar algum valor de uma
determinada conta.
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 86
Exemplo - Saque Bancário
Ação do ator
Resposta do
sistema
1- Informar o número
da conta
2- Verificar se a
conta existe
3- Solicitar senha
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 87
Exemplo - Saque Bancário
Ação do ator
Resposta do
sistema
4- Informar senha
5- Verificar se a
senha está correta
6- Informar o valor a
ser retirado
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 88
Exemplo - Saque Bancário
Ação do ator
Resposta do sistema
7- Se o valor solicitado
for válido, entregar a
importância ao cliente.
8- Ver “Registrar
Movimento”
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 89
Exemplo 1 – Sistema Matrícula num Curso
No início de cada semestre, os alunos devem
requisitar um catálogo de cursos contendo aqueles
que serão oferecidos no semestre. Este catálogo
deve conter informações a respeito de cada curso,
do professor, do departamento e dos prérequisitos. Desse modo, os alunos podem tomar
suas decisões mais apropriadamente.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 90
Exemplo 1 – Sistema Matrícula num Curso
O novo sistema permitirá que os alunos selecionem
quatro cursos oferecidos para o próximo semestre.
Além disso, o aluno indicará dois cursos
alternativos, caso ele não possa ser matriculado na
primeira opção. Cada curso terá no máximo 10
alunos e o no mínimo de 3 alunos. O curso, com
número de alunos inferior a 3, será cancelado. Para
cada matrícula feita por um aluno, o sistema envia
informação ao sistema de cobrança para que possa
ser cobrado o pagamento, durante o semestre.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 91
Exemplo 1 – Sistema Matrícula num Curso
Os Professores devem acessar o sistema “on line”,
indicando quais cursos irão lecionar. Eles também
podem acessar o sistema para saber quais alunos
estão matriculados em cada curso.
Em cada semestre, há um prazo para alteração de
matrícula. Os alunos devem poder acessar o
sistema durante esse período, para adicionar ou
cancelar cursos.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 92
Exemplo 1 – Sistema Matrícula num Curso
Requisitos Funcionais
Prioridade
Professores escolhem disciplinas a
Essencial
lecionar
Produzida listagem de disciplinas e
Essencial
professores
Alunos inscrevem-se e matriculam-se Essencial
nas disciplinas
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 93
Exemplo 1 – Sistema Matrícula num Curso
Requisitos Funcionais
Produzida listagem de disciplinas e
alunos matriculados
A secretaria introduz os dados e
emite uma listagem para cada
professor com as disciplinas que vão
lecionar
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Prioridade
Essencial
Essencial
Slide 94
Exemplo 1 – Sistema Matrícula num Curso
Requisitos Funcionais
A secretaria produz uma listagem para
os alunos das disciplinas disponíveis
nesse semestre
Após o período de inscrição os
professores recebem a listagem das
disciplinas a leccionar com a lista dos
alunos matriculados
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Prioridade
Importante
Desejável
Slide 95
Exemplo 1 – Sistema Matrícula num Curso
Requisitos Funcionais
Prioridade
A matrícula ser-lhes-á cobrada através Essencial
de um sistema de faturamento externo.
Este sistema irá receber a informação
necessária a partir do sistema de
gestão de cursos.
Recebem um catálogo do curso com a Essencial
lista de disciplinas que inclui o docente,
o departamento e os pré-requisitos
necessários
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 96
Exemplo 1 – Sistema Matrícula num Curso
Requisitos Funcionais
Prioridade
Os alunos poderão escolher até 4
Essencial
disciplinas, e deverão indicar 2 opcionais
As disciplinas poderão ter no máximo
Essencial
10 alunos e no mínimo 3 alunos (senão
serão canceladas)
Os alunos terão acesso ao sistema
Essencial
durante um certo período e forma a
poderem adicionar e alterar disciplinas
à sua seleção inicial
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 97
Exemplo 1 – Sistema Matrícula num Curso
Requisitos Não-Funcionais
Acesso online ao sistema para
escolha das disciplinas a lecionar
e para saber no final quais os alunos
matriculados nas mesmas
....
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Tipo
Interopebilidade
Slide 98
Exemplo 1 – Sistema Matrícula num Curso
ATORES
Papel
Descrição
Aluno
alguém que se matricula para ter
aulas na Universidade
Professor
alguém certificado para dar aulas
na Universidade
Funcionário da
secretaria
alguém responsável pela
manutenção do sistema de gestão
de cursos da Universidade
Sistema de
Faturamento
sistema externo responsável pela
cobrança das matrículas aos
alunos da Universidade
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 99
Exemplo 1 – Sistema Matrícula num Curso
Diagrama de Contexto
Sistema de
cobrança
Sistema
de
Matrícula
Funcionário
Aluno
Auxiliadora Freire
Professor
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 100
Exemplo 1 – Sistema Matrícula num Curso
Casos de Uso
Sistema de
cobrança
Matrícula
nos Cursos
Manter Informação
de aluno
Manter informações
dos cursos
Aluno
Pedir lista dos
matriculados
Professor
Auxiliadora Freire
Selecionar curso
para ensinar
Funcionário
Gerar catalogo
Manter informação
de professor
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 101
Exemplo 2 – Sistema de Pizzaria Online
Uma empresa tem necessidade de um Sistema de
Pizzaria Online, por meio do qual seus clientes
possam solicitar pizzas pela Internet.
O sistema tem o controle dos pedidos das pizzas e
bebidas. Para solicitar seus pedidos os clientes
obrigatoriamente deverão estar cadastrado. Um
cliente poderá realizar vários pedidos, no entanto,
um pedido será exclusivo para um cliente.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 102
Exemplo 2 – Sistema de Pizzaria Online
O sistema deve informar, através de relatórios
online, sempre que um item estiver com sua
quantidade abaixo ou perto da quantidade
mínima. Neste caso deverá ser montado um
pedido para um fornecedor que venda este tido de
produto.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 103
Exemplo 2 – Sistema de Pizzaria Online
Requisitos Funcionais
Prioridade
O cliente visualiza os tipos de pizzas Essencial
(sabores, tamanho...)
O cliente escolhe a pizza e adiciona Essencial
no seu pedido
O cliente seleciona a bebida
Essencial
O cliente visualiza o pedido antes de Essencial
fechar o pedido
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 104
Exemplo 2 – Sistema de Pizzaria Online
Requisitos Funcionais
O cliente poderá visualizar uma lista
com todos os seus Pedido já
solicitados anteriormente.
O cliente pode opinar sobre o
atendimento da pizzaria, referindo-se
tanto à qualidade da pizza como da
entrega.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Prioridade
Essencial
Importante
Slide 105
Exemplo 2 – Sistema de Pizzaria Online
Requisitos Funcionais
Um pedido poderá realizar muitos
pedidos, no entanto, um pedido será
exclusivo para um único cliente.
Cada pedido deverá armazenar, entre
outras informações, a data e a hora
em que o pedido foi feito e a hora
provável de sua entrega.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Prioridade
Desejável
Essencial
Slide 106
Exemplo 2 – Sistema de Pizzaria Online
Requisitos Funcionais
O valor da pizza será calculado pelo
sabor mais caro.
Cada pizza consome diversas
quantidades de diversos itens de
estoque.
Sempre que uma pizza for produzida,
essas quantidades devem ser
diminuídas de seus respectivos itens
no estoque.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Prioridade
Essencial
Essencial
Slide 107
Exemplo 2 – Sistema de Pizzaria Online
Requisitos Funcionais
Montar pedido para o fornecedor sempre
que um item do estoque estiver com sua
quantidade perto da quantidade mínima.
Prioridade
Essencial
Emitir relatório que permitam saber quais os
sabores de pizza são mais pedidos, bairros
que se encontram estes clientes.
Essencial
Emitir relatório com o consumo médio
diário de cada produto.
Importante
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 108
Exemplo 2 – Sistema de Pizzaria Online
Requisitos Não-Funcionais
Tipo
Controle de acesso – o cliente
Segurança
deverá estar logado ao sistema
O tempo de resposta deve ser o
Performance
menor possível para não prejudicar
o atendimento aos clientes
O sistema deverá gravar logs de
Tolerância a
erros
falha
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 109
Exemplo 2 – Sistema de Pizzaria Online
Requisitos Não-Funcionais
Tipo
O sistema deverá fazer backup
Tolerância a
automático no final do dia
falha
O sistema deverá ser facilmente
Interoperabi
integralizável, caso seja necessário
lidade
interligá-lo a a outros sistemas
existentes.
O sistema deve ser fácil de usar
Usabilidade
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 110
Exemplo 2 – Sistema de Pizzaria Online
Funções do produto ( algumas funções)
Funções
Escolher
Pizza
Auxiliadora Freire
Descrição
O sistema deverá apresentar um
formulário contendo duas
divisões, a primeira apresentará
os tamanhos de pizzas
(pequeno, médio e grande) e a
segunda os sabores de pizzas
disponíveis.
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 111
Exemplo 2 – Sistema de Pizzaria Online
Funções do produto ( algumas funções)
Funções
Escolher
Bebida
Opinar
Auxiliadora Freire
Descrição
Representa o processo pelo qual
um cliente escolhe uma bebida,
sendo um pouco semelhante ao
processo de escolha de pizza.
Esse serviço permite que o cliente
emita opiniões sobre os pedidos
feitos anteriormente por ele.
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 112
Exemplo 2 – Sistema de Pizzaria Online
Funções do produto ( algumas funções)
Funções
Visualizar
Pedido
Descrição
O cliente pode visualizar os itens
escolhidos (pizzas e bebidas)
Excluir Item A partir do caso de uso
“Visualizar Pedido”, o cliente
pode excluir item do pedido.
Visualizar O cliente pode visualizar todos os
Pedidos
pedidos já feitos por ele.
Anteriores
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 113
Exemplo 2 – Sistema de Pizzaria Online
Funções do produto ( algumas funções)
Funções
Visualizar
Sabores
Mais
Pedidos
Concluir
Pedido
Auxiliadora Freire
Descrição
Esse processo apresenta todos os
sabores da pizzaria em ordem de sua
preferencia
Último passo para solicitar um
pedido. É obrigatório que o cliente
visualize seu pedido antes de
concluí-lo.
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 114
Exemplo 2 – Sistema de Pizzaria Online
Funções do produto ( algumas funções)
Funções
Visualizar
Pedidos em
Aberto
Finalizar
Pedido do
Cliente
Auxiliadora Freire
Descrição
Permite que um funcionário obtenha
uma listagem de todos os pedidos
ainda não atendidos.
Define um pedido como finalizado,
determinando o funcionário que o
preparou e o que o entregou.
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 115
Exemplo 2 – Sistema de Pizzaria Online
Funções do produto ( algumas funções)
Funções
Descrição
Manter
Incluir, alterar e excluir pizzas do
Cardápio
cardápio. Executado pelo
administrador.
Emitir Produtos Gera um relatório apresentando
em Baixa no
todos os produtos em baixa no
Estoque
estoque.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 116
Exemplo 2 – Sistema de Pizzaria Online
Funções do produto ( algumas funções)
Funções
Emitir
Compras
em Aberto
Descrição
Gera uma listagem contendo todas as
compras solicitadas a fornecedores
que ainda não foram entregues.
( Administrador)
Manter
Permite ao administrador efetuar a
Compras manutenção das compras da
Fornecedor empresa.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 117
Exemplo 2 – Sistema de Pizzaria Online
Funções do produto ( algumas funções)
Funções
Emitir
Melhores
Clientes
Emitir
Consumo
por
Período
Auxiliadora Freire
Descrição
Relatório de clientes que mais
consomem na Pizzaria
Relatório que informa o consumo
dos itens do estoque em um
determinado período.
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 118
Escolher
Bebida
Cliente
Visualizar
Sabores mais
Pedidos
Opinar
<<inc>>
Auxiliadora Freire
Excluir
Pedido
<<inc>>
Visualizar
Pedidos
Concluir
Pedido
Cliente
Logar
<<ext>>
Escolher
Pizza
Visualizar
Pedidos
Anteriores
<<inc>>
Exemplo 2 – Sistema de Pizzaria Online
Subsistema de Venda
AutoRegistrar
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 119
Exemplo 2 – Sistema de Pizzaria Online
Subsistema Administrativo
Emitir
Produtos
em Baixa
Administrador
Emitir
Compras
em Aberto
Manter
Compras
Fornecedor
Auxiliadora Freire
<<inc>>
Visualizar
Pedidos
em Aberto
<<ext>>
Manter
Cardápio
Visualizar
pedido
Emitir
Consumo
por Pedido
Emitir
Melhores
Clientes
Finalizar
Pedido
Cliente
Funcionário
Logar
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Administrador
Slide 120
Escolher
Pizza
Visualizar
Pedidos
Anteriores
Excluir
Pedido
Escolher
Bebida
<<inc>>
Visualizar
Pedidos
Concluir
Pedido
Cliente
Cliente
Opinar
Logar
<<ext>>
Visualizar
Sabores
mais
Pedidos
<<inc>>
Exemplo 2 – Sistema de Pizzaria Online
Subsistema Venda
AutoRegistrar
<<inc>>
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 121
Exemplo 2 – Sistema de Pizzaria Online
Nome do Caso de Uso
Ator principal
Escolher Pizza
Cliente
Atores secundários
Resumo
Este caso de uso descreve as
etapas percorridas por um
cliente para escolher uma pizza.
Pré-condição
Pós-condição
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 122
Exemplo 2 – Sistema de Pizzaria Online
Fluxo principal
Ações do ator
Ações do Sistema
1- selecionar opção
Escolher Pizza
2- Apresentar tamanhos e
sabores disponíveis
3-Selecionar tamanho da 4- Permitir a escolha de sabores
pizza
de acordo com o tamanho
selecionado
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 123
Exemplo 2 – Sistema de Pizzaria Online
Fluxo principal
Ações do ator
Ações do Sistema
5- Selecionar tantos
sabores quantos
desejados até olimite do
tamanho escolhido
6- Adicionar pizza ao
carrinho de pizzas
7- Armazenar pizza escolhida ao
pedido
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 124
Escolher
Pizza
Visualizar
Pedidos
Anteriores
Excluir
Pedido
Escolher
Bebida
<<inc>>
Visualizar
Pedidos
Concluir
Pedido
Cliente
Cliente
Opinar
Logar
<<ext>>
Visualizar
Sabores
mais
Pedidos
<<inc>>
Exemplo 2 – Sistema de Pizzaria Online
Subsistema Venda
AutoRegistrar
<<inc>>
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 125
Exemplo 2 – Sistema de Pizzaria Online
Nome do Caso de Uso
Ator principal
Visualizar Pedido
Cliente
Atores secundários
Resumo
Este caso de uso descreve as
etapas percorridas por um
cliente para visualizar os itens de
seu pedido.
Pré-condição
Pós-condição
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 126
Exemplo 2 – Sistema de Pizzaria Online
Fluxo principal
Ações do ator
Ações do Sistema
1- Selecionar opção
Visualizar Pedido
2- Apresentar todas as pizzas,
com seus respectivos sabores e,
e as bebidas escolhidas pelo
cliente.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 127
Exemplo 2 – Sistema de Pizzaria Online
Fluxo Alternativo –
Excluir Item
Ações do ator
Ações do Sistema
1- Selecionar Item e
solicitar sua exclusão
2- Executar o caso de uso
“Excluir Item”
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 128
Exemplo 2 – Sistema de Pizzaria Online
Nome do Caso de Uso
Ator principal
Excluir Item
Cliente
Atores secundários
Resumo
Este caso de uso descreve as
etapas percorridas para excluir
um item do pedido
Pré-condição
Pós-condição
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 129
Exemplo 2 – Sistema de Pizzaria Online
Fluxo Alternativo I
Excluir Pizza
Ações do ator
Ações do Sistema
1- Excluir pizza
2- Excluir itens de sabor da pizza
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 130
Exemplo 2 – Sistema de Pizzaria Online
Fluxo Alternativo II
Excluir Bebida
Ações do ator
Ações do Sistema
1- Excluir bebida
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 131
Exemplo 3 – Reserva de Hotel
1. INTRODUÇÃO
Este documento especifica os requisitos do sistema Controle de Reserva de
Hotel, fornecendo aos desenvolvedores as informações necessárias para o
projeto e implementação, assim como para a realização dos testes e
homologação do sistema.
1.2 Escopo do produto
O Sistema a ser desenvolvido terá como campo de atuação a área hoteleira. O
mesmo servirá ao gerenciamento de uma rede de hotéis, oferecendo uma interface
totalmente voltada para WEB. Cada hotel terá um ou vários terminais que permitirão
as operações básicas de um hotel, podendo o cliente reservar e cancelar um
apartamento através da Web, e terá também comunicação com outros hotéis da
mesma rede de modo a consultar sobre disponibilidade de vagas. Este sistema
também faz interface com outros dois sistemas internos do hotel: controle de
restaurante e controle de tarifação de telefone.
Auxiliadora
Freire

.
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 132
Exemplo 3 – Reserva de Hotel
2. DESCRIÇÃO GERAL
O Sistema de Controle de Reserva de Hotel – CRH vem para facilitar a vida da Rede
Hoteleira a qual vai servir. Tendo como característica óbvia a automatização das
principais tarefas inerentes à regra do negócio, ele dará grande agilidade na execução
dos principais processos do hotel, hoje feitos de forma manual. Por ser um produto
totalmente voltado para WEB, ele descentraliza parte do serviço para o lado
CLIENTE, uma vez que este poderá cadastrar-se e
efetuar reservas, sem necessariamente interagir com os funcionários do hotel.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 133
Exemplo 3 – Reserva de Hotel
3 – REQUISITOS ESPECÍFICOS
Abaixo detalharemos as principais funções dos produto em desenvolvimento, cuja
análise e especificação de requisitos é objeto desde documento.
3.1 Requisitos funcionais
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 134
Exemplo 3 – Reserva de Hotel
3.1 Requisitos funcionais
Requisitos Funcionais
Prioridade
Entrada para cadastro de cliente (nome, endereço, e-mail,data
de chegada, data de saída, classificação do cliente, documento).
Essencial
Consultas, reservas e cancelamento de reserva através da Web
Essencial
Cadastro de apartamento: tipo de quarto (suíte, standard, duplo,
ar-condicionado), cidade ou local
Essencial
Cadastro de salas e auditório
Essencial
Cadastro de despesas
Essencial
Controle de ocupação de apartamento (reservado ou entrada do
hóspede).
Importante
Controle de limpeza dos apartamentos
Desejável
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 135
Exemplo 3 – Reserva de Hotel
3.1 Requisitos funcionais (cont)
Requisitos Funcionais
Prioridade
Preços diferenciados para alta temporada e baixa temporada.
Desejável
Descontos para clientes VIP e grupos.
Desejável
Recebimento de pagamento (tipo de pagamento cheque,
dinheiro, cartão, parcelado, moeda estrangeira).
Emissão de nota fiscal (podendo ser separado por itens:
hospedagem, restaurante, lavanderia, etc).
Essencial
Emissão da fatura parcial (somente para consulta).
Importante
Emissão de relatórios contábeis.
Essencial
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Essencial
Slide 136
Exemplo 3 – Reserva de Hotel
3.1 Requisitos funcionais (cont)
Requisitos Funcionais
Prioridade
Relatórios de ocupação
Essencial
Consulta o nome do cliente (se já existente).
Desejável
Gerar relatórios estatísticos (média de dias que o cliente se
hospeda, gastos médios, itens mais consumidos nos
restaurantes).
Serviços de mala direta (podendo selecionar os clientes e enviar
mensagens via e-mail ou imprimir cartas para serem enviados
posteriormente via correio.
Pesquisa dos clientes no banco de dados segundo alguns tipos
de critérios (freqüência que o cliente se hospeda, preferência de
apartamentos, preferência de local, tipo de serviços utilizados,
estadia de negócios ou turismo, faixa etária, procedência).
Importante
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Desejável
Desejável
Slide 137
Exemplo 3 – Reserva de Hotel
3.1 Requisitos funcionais (cont)
Requisitos Funcionais
Prioridade
Recuperar consumo do Cliente no Restaurante
Essencial
Recuperar gastos do Cliente com telefone
Essencial
Recuperar gastos com serviço de Lavanderia
Essencial
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 138
Exemplo 3 – Reserva de Hotel
3.2 Requisitos não-funcionais
Requisitos Não-Funcionais
Tipo
Conexão para consultas e reservas de vagas em outros hotéis do
Grupo
Interopebilidade
Tempo de resposta desejável menor que 10 segundos para
consultas de vagas em outros hotéis da rede
Utilização de computadores PC de mercado
Portabilidade
Sistema operacional Windows XP ou mais recente
Portabilidade
Utilização da linguagem JAVA
Portabilidade para novos hardwares e sistemas operacionais
(quando forem lançadas novas versões de sistema operacional).
Interface gráfica fácil de usar 'tipo Windows' para entrada de
dados e operação
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Usabilidade
Portabilidade
Usabilidade
Slide 139
Exemplo 3 – Reserva de Hotel
3.2 Requisitos não-funcionais
Requisitos Não-Funcionais
Tipo
Procedimento de backup do cadastro de clientes e ocupação e
dados correntes
Segurança
Senha de acesso ao sistema. Deverão ter senhas diferentes para
recepcionistas, camareiras, gerentes e proprietário de modo que
cada usuário tenha acesso restrito a certas informações
Segurança
Sistema 'no-break' em caso de queda de energia
Segurança
O sistema deve possuir mecanismo que garanta a
confidencialidade das informações trocadas pelos usuários
Garantia: o desenvolvedor do produto deverá dar suporte gratuito
durante um ano após a entrega do produto para casos de mau
funcionamento do sistema
Deverá fornecer treinamento aos usuários
Segurança
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Externo
(não éticos)
Organizacionais
(entrega)
Slide 140
Exemplo 3 – Reserva de Hotel
3.2 Requisitos não-funcionais
Requisitos Não-Funcionais
Tipo
O produto pode ser desenvolvido em etapas, mas deverá ter as
funcionalidades básicas na primeira versão (gerenciar reservas e
ocupação de apartamentos, cadastro de clientes, controle de
pagamento, emissão de relatórios, e reservas pela Web).
O prazo de desenvolvimento para as funcionalidades básicas é
de 6 meses
Organizacionais
(entrega)
Após o desenvolvimento das funcionalidades básicas, o sistema
deverá ser colocado em operação por 3 meses antes de se iniciar
o desenvolvimento de outras funcionalidades
Após os 3 meses de funcionamento, o produto deverá ser
reavaliado para inserir melhorias, corrigir falhas do sistema e
implementar as novas funcionalidades.
Organizacionais
(entrega)
O prazo estimado para implementação da segunda fase é de 6
meses
Organizacionais
(entrega)
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Organizacionais
(entrega)
Organizacionais
(manutenção)
Slide 141
Exemplo 3 – Reserva de Hotel
2.1 Usuário (atores)
Papel
Descrição
Cliente
Pessoa que fazem uso dos serviços do Hotel
Atendente
Responsável pelo atendimento ao cliente
Gerente
Responsável pelo gerenciamento do Hotel
Contabilidade
Sistema de contabilidade responsável pelo
fechamento financeiro mensal do HOTEL
Limpeza
Setor encarregado pela limpeza do Hotel
Administradora de Cartão
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 142
Exemplo 3 – Reserva de Hotel
2.1 Funções do produto ( algumas funções)
Funções
Descrição
Cadastro de Cliente
Fazer cadastro dos clientes
Gerenciamento de Reservas
Permitir o cliente ou atendente autenticados
efetuar reservas ou manipular reservas prévias
Check-in
Tratar a entrada do Cliente no Hotel pelo
atendente
Check-out
Tratar a saída do Cliente no Hotel pelo atendente
Gerenciamento de filiais
Manipulação dos dados das filiais pela Gerência
Geral
Gerenciamento de Serviços
Atividades inerentes à associação de serviços a
um dado cliente dos serviços oferecidos pela
rede hoteleira.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 143
Exemplo 3 – Reserva de Hotel
Diagrama de Contexto
Cliente
Funcionário
Sistema de
Controle de
Reserva de Hotel
Sistema
Contab.
Limpeza
Atendente
Gerente
Adm
Cartão
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 144
Exemplo 3 – Reserva de Hotel
Casos de Uso
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 145
Exemplo 3 – Reserva de Hotel
Casos de Uso
Atendente
Controlar
Reserva
Reservar
Quarto
Verif.
disp.
quarto
Obter período
reserva
Cancelar
Reservar
Disponib.
Quarto
Canc.
Automático
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 146
Exemplo 3 – Reserva de Hotel
Casos de Uso
Atendente
Cadastro
Cliente
Registrar
Entrada
Cliente
Auxiliadora Freire
Cliente
Fazer
Reserva
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 147
Exemplo 3 – Reserva de Hotel
Casos de Uso
Atendente
Providenciar
saida
Cliente
<<include>>
Verificar
Serviços
Fazer
pagamento
Pag.
Vista
Auxiliadora Freire
Pag.
Cartão
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 148
Exemplo 4 – Locadora
Faça o Diagrama de Casos de Uso para
Sistema de Vídeo Locadora, considerando os
seguintes requisitos funcionais:
1- Cliente faz pedido do filme;
2- Cliente é cadastrado;
3- Cliente faz pagamento;
4- Fornecedor emite fatura;
5- Locadora envia nota-fiscal para o cliente;
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 149
Exemplo 4 – Locadora
(cont.)
6- Locadora envia dicas de filmes para os Clientes;
7- Locadora faz pagamento para a distribuidora;
8- Locadora faz pedido de DVD para distribuidora;
9- Locadora mantém uma relação de
distribuidoras;
10- O filme é consultado através dos atores,
atrizes e diretores.
Auxiliadora Freire
Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000
Utilizando UML e Padrões – Craig Larman
Slide 150
Download

Diagrama Caso de Uso