modelos de sistemas casos de uso
DESCRIPTION
Modelos de Sistemas Casos de Uso. 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. - PowerPoint PPT PresentationTRANSCRIPT
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 1 Utilizando UML e Padrões – Craig Larman
Modelos de SistemasCasos de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 2 Utilizando UML e Padrões – Craig Larman
• 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.
Objetivos Principais dos Casos de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 3 Utilizando UML e Padrões – Craig Larman
Casos de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 4 Utilizando UML e Padrões – Craig Larman
• 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".
Casos de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 5 Utilizando UML e Padrões – Craig Larman
• 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.
Casos de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 6 Utilizando UML e Padrões – Craig Larman
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 Slide 7 Utilizando UML e Padrões – Craig Larman
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 Slide 8 Utilizando UML e Padrões – Craig Larman
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 Slide 9 Utilizando UML e Padrões – Craig Larman
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 Slide 10 Utilizando UML e Padrões – Craig Larman
• Descreve a funcionalidade proposta para o novo sistema.
• Fornece uma descrição clara e consistente do que o sistema deve fazer.
Diagrama de Casos de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 11 Utilizando UML e Padrões – Craig Larman
• 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.
Características do Diagrama Caso de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 12 Utilizando UML e Padrões – Craig Larman
Etapas:• Objetivo• Ator • Descrição • Passos (procedimentos)
Características do Diagrama Caso de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 13 Utilizando UML e Padrões – Craig Larman
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.
Diagrama Caso de Uso - Objetivo
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 14 Utilizando UML e Padrões – Craig Larman
• 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).
Diagrama Caso de Uso - Ator
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 15 Utilizando UML e Padrões – Craig Larman
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?
Diagrama Caso de Uso Como identificar atores?
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 16 Utilizando UML e Padrões – Craig Larman
Ator• Exemplo de atores:• Cliente• Secretária• Sistema de vendas (desde que não seja o
sistema que estamos desenvolvendo)
Diagrama Caso de Uso - Ator
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 17 Utilizando UML e Padrões – Craig Larman
• É 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
Diagrama Caso de Uso - Ator
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 18 Utilizando UML e Padrões – Craig Larman
Diagrama Caso de Uso - Atores
Ator PESSOA Ator SISTEMA
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 19 Utilizando UML e Padrões – Craig Larman
Diagrama Caso de Uso - Atores
herança entre Atores
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 20 Utilizando UML e Padrões – Craig Larman
Casos de Uso = OBJETIVO do Ator
Diagrama Caso de Uso
Representação
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 21 Utilizando UML e Padrões – Craig Larman
• É 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.
Diagrama Casos de Uso – Caso de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 22 Utilizando UML e Padrões – Craig Larman
• 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.
Diagrama Casos de Uso – Caso de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 23 Utilizando UML e Padrões – Craig Larman
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 Slide 24 Utilizando UML e Padrões – Craig Larman
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 Slide 25 Utilizando UML e Padrões – Craig Larman
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;
Detalhe do Caso de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 26 Utilizando UML e Padrões – Craig Larman
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.
Detalhe do Caso de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 27 Utilizando UML e Padrões – Craig Larman
• 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.
Detalhe do Caso de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 28 Utilizando UML e Padrões – Craig Larman
• Consiste na explicitação de todas as diferentes funcionalidade do sistema, que permitirá inferir e identificar mais claramente outras necessidades.
Expansão Diagrama de Casos de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 29 Utilizando UML e Padrões – Craig Larman
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 Slide 30 Utilizando UML e Padrões – Craig Larman
Descrição inicial Descrição base Descrição elaboradaNome Nome NomeAtores Atores AtoresDescrição Descrição Descrição
Fluxo básico Fluxo básico
Fluxo alternativo
Pré-condiçãoPós-condiçãoRequisitos especiais
Especificação dos Casos de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 31 Utilizando UML e Padrões – Craig Larman
Fluxo Básico: Quando a atividade é realizada com sucesso, deve existir somente um fluxo.
Cenário 1 (Fluxo Básico) : Passo1, Passo2, Passo3, Passo4
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 32 Utilizando UML e Padrões – Craig Larman
E se a consulta for por cliente? Fluxo Alternativo
•
Diagrama de Caso de Uso Cenário 1 (Fluxo Básico) : Passo1, Passo2, Passo3,
Passo4
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 33 Utilizando UML e Padrões – Craig Larman
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 Slide 34 Utilizando UML e Padrões – Craig Larman
• 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.
Diagrama de Caso de Uso Fluxos Alternativos
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 35 Utilizando UML e Padrões – Craig Larman
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 Slide 36 Utilizando UML e Padrões – Craig Larman
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 Slide 37 Utilizando UML e Padrões – Craig Larman
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 Slide 38 Utilizando UML e Padrões – Craig Larman
Fluxos AlternativosCenário 4 : Passo 1, Passo 2, A1 , A2 , Passo 2
A2
A1
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 39 Utilizando UML e Padrões – Craig Larman
Fluxos Alternativos Cenário 5 : Passo 1, A3
A3
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 40 Utilizando UML e Padrões – Craig Larman
Diagrama de Caso de Uso Fluxos Alternativos
O que causa um Fluxo Alternativo
O que um Fluxo Alternativo pode fazer
luma escolha do Ator l retroceder para um passo anterior.
lo estado do Sistema. l avançar para um passo posterior;
l finalizar o Caso de Uso.
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 41 Utilizando UML e Padrões – Craig Larman
Diagrama de Caso de Uso Pré-condição e Pós-condição
Pré-condição
Pós-condição
Pós-condiçãoPós-condição
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 42 Utilizando UML e Padrões – Craig Larman
• 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".
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 Slide 43 Utilizando UML e Padrões – Craig Larman
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 Slide 44 Utilizando UML e Padrões – Craig Larman
Pós-condição: Tarefas que devem ser realizadas depois que as etapas de Caso de Uso tiverem sido concluídas. As pós-condições descrevem os resultados observáveis de sucesso ou de falha do Caso de Uso.
Especificação dos Casos de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 45 Utilizando UML e Padrões – Craig Larman
Especificação dos Casos de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 46 Utilizando UML e Padrões – Craig Larman
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.
Especificação dos Casos de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 47 Utilizando UML e Padrões – Craig Larman
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 Slide 48 Utilizando UML e Padrões – Craig Larman
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 Slide 49 Utilizando UML e Padrões – Craig Larman
Casos de Uso: Relacionamentos(exemplo)
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 50 Utilizando UML e Padrões – Craig Larman
Casos de Uso: Relacionamentos(exemplo)
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 51 Utilizando UML e Padrões – Craig Larman
Exemplo – Sistema de PedidosDiagrama de Casos de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 52 Utilizando UML e Padrões – Craig Larman
Diagrama de Caso de Uso NARRATIVA
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 53 Utilizando UML e Padrões – Craig Larman
Diagrama de Caso de Uso NARRATIVA
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 54 Utilizando UML e Padrões – Craig Larman
Diagrama de Casos de Uso Relacionamento «include» entre Casos de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 55 Utilizando UML e Padrões – Craig Larman
Caso de Uso “Selecionar Produtos”
Diagrama de Caso de Uso Relacionamento «include» entre Casos de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 56 Utilizando UML e Padrões – Craig Larman
Diagrama de Caso de Uso Após o relacionamento «include»
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 57 Utilizando UML e Padrões – Craig Larman
Diagrama de Caso de Uso Após o relacionamento «include»
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 58 Utilizando UML e Padrões – Craig Larman
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 Slide 59 Utilizando UML e Padrões – Craig Larman
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 Slide 60 Utilizando UML e Padrões – Craig Larman
Diagrama de Caso de Uso Relacionamento «extend» entre Casos de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 61 Utilizando UML e Padrões – Craig Larman
Diagrama de Caso de Uso Relacionamento «extend» entre Casos de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 62 Utilizando UML e Padrões – Craig Larman
Construindo Casos de Uso1. 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 Slide 63 Utilizando UML e Padrões – Craig Larman
Decomposição de Casos de UsoPacotes
Casos de UsoGerenciar
Ponto de Venda
Casos de UsoGerenciar Estoque
Casos de UsoGerais
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 64 Utilizando UML e Padrões – Craig Larman
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 Slide 65 Utilizando UML e Padrões – Craig Larman
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.
Construindo Casos de Uso Exemplo
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 66 Utilizando UML e Padrões – Craig Larman
• 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..
Construindo Casos de Uso Exemplo
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 67 Utilizando UML e Padrões – Craig Larman
• 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.
Construindo Casos de Uso Exemplo
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 68 Utilizando UML e Padrões – Craig Larman
• 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.
Construindo Casos de Uso Exemplo
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 69 Utilizando UML e Padrões – Craig Larman
• 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.
Construindo Casos de Uso Exemplo
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 70 Utilizando UML e Padrões – Craig Larman
• 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
Construindo Casos de Uso Exemplo
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 71 Utilizando UML e Padrões – Craig Larman
• 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.
Construindo Casos de Uso Exemplo
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 72 Utilizando UML e Padrões – Craig Larman
• Passo 1-2-3
Gerenciar Usuários
Caixa
Iniciar
Log in
Comprar Itens
Administradordo sistema
Cliente
Gerente
Exemplo – PONTO DE VENDAS
Devolver Itens
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 73 Utilizando UML e Padrões – Craig Larman
• Passo 4 - caso de uso em alto nívelCaso de uso: Comprar ItensAtores: Cliente, CaixaDescriçã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.
Exemplo 1 – PONTO DE VENDAS
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 74 Utilizando UML e Padrões – Craig Larman
Caso de uso: IniciarAtores: GerenteDescriçã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.
Exemplo 1 – PONTO DE VENDAS
• Passo 4 - caso de uso em alto nível (cont.)
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 75 Utilizando UML e Padrões – Craig Larman
Exemplo – PONTO DE VENDAS
Passo 5 - caso de uso essenciais expandidos
Caixa
Comprar Itens
Cliente
Pagar com cartão
Pagar com dinheiro
Pagar com cheque
<< Extend >>
<< E
xten
d >> << Extend >>
Controlar estoque
<< Include>>
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 76 Utilizando UML e Padrões – Craig Larman
• Passo 5 - caso de uso essenciais expandidosSequência típica de eventosAçã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.
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.
Exemplo – PONTO DE VENDAS
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 77 Utilizando UML e Padrões – Craig Larman
• Passo 5 - continuação.....Ação do ator Resposta do sistema
4- No término da entrada de itens o Caixa, indica para o POST que a entrada de itens está completa.
5- O sistema apresenta o total de venda.
6- O caixa informa ao Cliente o total.
Exemplo – PONTO DE VENDAS
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 78 Utilizando UML e Padrões – Craig Larman
• Passo 5 - continuação.....Ação do ator Resposta do
sistema7- 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.
Exemplo – PONTO DE VENDAS
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 79 Utilizando UML e Padrões – Craig Larman
• 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.
Exemplo – PONTO DE VENDAS
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 80 Utilizando UML e Padrões – Craig Larman
• 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.
Exemplo – PONTO DE VENDAS
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 81 Utilizando UML e Padrões – Craig Larman
• Passo 5 - Seção – Pagar com dinheiroAçã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 fornecida.
3- Apresenta o troco devido ao Cliente.
4- O Caixa deposita o dinheiro recebido e retira o troco devido.
Exemplo – PONTO DE VENDAS
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 82 Utilizando UML e Padrões – Craig Larman
• 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.
Exemplo – PONTO DE VENDAS
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 83 Utilizando UML e Padrões – Craig Larman
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 Slide 84 Utilizando UML e Padrões – Craig Larman
Transferir entre contas
ClienteRealizar depósito
Sacar dinheiro
Consultar saldo
Solicitar extrato
Alterar senha
Exemplo - Saque Bancário
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 85 Utilizando UML e Padrões – Craig Larman
Transferir entre contas
ClienteRealizar depósito
Sacar dinheiro
Registrarmovimento
<< Include>>
<< Include>>
<< Include>>
Exemplo - Saque Bancário
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 86 Utilizando UML e Padrões – Craig Larman
Caso de uso
Sacar dinheiro
Atores: ClienteDescrição: Descreve os passos
necessários para o cliente sacar algum valor de uma determinada conta.
Exemplo - Saque Bancário
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 87 Utilizando UML e Padrões – Craig Larman
Ação do ator Resposta do sistema
1- Informar o número da conta
2- Verificar se a conta existe3- Solicitar senha
Exemplo - Saque Bancário
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 88 Utilizando UML e Padrões – Craig Larman
Ação do ator Resposta do sistema
4- Informar senha
5- Verificar se a senha está correta
6- Informar o valor a ser retirado
Exemplo - Saque Bancário
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 89 Utilizando UML e Padrões – Craig Larman
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”
Exemplo - Saque Bancário
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 90 Utilizando UML e Padrões – Craig Larman
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.
Exemplo 1 – Sistema Matrícula num Curso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 91 Utilizando UML e Padrões – Craig Larman
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.
Exemplo 1 – Sistema Matrícula num Curso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 92 Utilizando UML e Padrões – Craig Larman
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.
Exemplo 1 – Sistema Matrícula num Curso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 93 Utilizando UML e Padrões – Craig Larman
Requisitos Funcionais PrioridadeProfessores escolhem disciplinas alecionar
Essencial
Produzida listagem de disciplinas e professores
Essencial
Alunos inscrevem-se e matriculam-senas disciplinas
Essencial
Exemplo 1 – Sistema Matrícula num Curso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 94 Utilizando UML e Padrões – Craig Larman
Requisitos Funcionais PrioridadeProduzida listagem de disciplinas ealunos matriculados
Essencial
A secretaria introduz os dados eemite uma listagem para cadaprofessor com as disciplinas que vãolecionar
Essencial
Exemplo 1 – Sistema Matrícula num Curso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 95 Utilizando UML e Padrões – Craig Larman
Requisitos Funcionais PrioridadeA secretaria produz uma listagem paraos alunos das disciplinas disponíveisnesse semestre
Importante
Após o período de inscrição osprofessores recebem a listagem dasdisciplinas a leccionar com a lista dosalunos matriculados
Desejável
Exemplo 1 – Sistema Matrícula num Curso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 96 Utilizando UML e Padrões – Craig Larman
Requisitos Funcionais PrioridadeA matrícula ser-lhes-á cobrada atravésde um sistema de faturamento externo.Este sistema irá receber a informaçãonecessária a partir do sistema degestão de cursos.
Essencial
Recebem um catálogo do curso com alista de disciplinas que inclui o docente,o departamento e os pré-requisitosnecessários
Essencial
Exemplo 1 – Sistema Matrícula num Curso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 97 Utilizando UML e Padrões – Craig Larman
Requisitos Funcionais PrioridadeOs alunos poderão escolher até 4disciplinas, e deverão indicar 2 opcionais
Essencial
As disciplinas poderão ter no máximo10 alunos e no mínimo 3 alunos (senãoserão canceladas)
Essencial
Os alunos terão acesso ao sistemadurante um certo período e forma apoderem adicionar e alterar disciplinasà sua seleção inicial
Essencial
Exemplo 1 – Sistema Matrícula num Curso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 98 Utilizando UML e Padrões – Craig Larman
Requisitos Não-Funcionais TipoAcesso online ao sistema paraescolha das disciplinas a lecionare para saber no final quais os alunosmatriculados nas mesmas
Interopebilidade
....
Exemplo 1 – Sistema Matrícula num Curso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 99 Utilizando UML e Padrões – Craig Larman
Papel DescriçãoAluno alguém que se matricula para ter
aulas na UniversidadeProfessor alguém certificado para dar aulas
na UniversidadeFuncionário dasecretaria alguém responsável pela
manutenção do sistema de gestão de cursos da Universidade
Sistema deFaturamento sistema externo responsável pela
cobrança das matrículas aos alunos da Universidade
Exemplo 1 – Sistema Matrícula num CursoATORES
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 100 Utilizando UML e Padrões – Craig Larman
Exemplo 1 – Sistema Matrícula num CursoDiagrama de Contexto
Sistema de cobrança
Professor
AlunoFuncionário
Sistema de
Matrícula
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 101 Utilizando UML e Padrões – Craig Larman
Exemplo 1 – Sistema Matrícula num Curso Casos de Uso
Funcionário
Matrícula nos CursosSistema de
cobrança
Aluno
Professor
Selecionar curso para ensinar
Pedir lista dos matriculados
Manter Informação de aluno
Manter informação de professor
Gerar catalogo
Manter informações dos cursos
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 102 Utilizando UML e Padrões – Craig Larman
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.
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 103 Utilizando UML e Padrões – Craig Larman
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.
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 104 Utilizando UML e Padrões – Craig Larman
Requisitos Funcionais PrioridadeO cliente visualiza os tipos de pizzas(sabores, tamanho...)
Essencial
O cliente escolhe a pizza e adiciona no seu pedido
Essencial
O cliente seleciona a bebida EssencialO cliente visualiza o pedido antes defechar o pedido
Essencial
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 105 Utilizando UML e Padrões – Craig Larman
Requisitos Funcionais PrioridadeO cliente poderá visualizar uma listacom todos os seus Pedido jásolicitados anteriormente.
Essencial
O cliente pode opinar sobre oatendimento da pizzaria, referindo-setanto à qualidade da pizza como daentrega.
Importante
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 106 Utilizando UML e Padrões – Craig Larman
Requisitos Funcionais PrioridadeUm pedido poderá realizar muitospedidos, no entanto, um pedido seráexclusivo para um único cliente.
Desejável
Cada pedido deverá armazenar, entreoutras informações, a data e a horaem que o pedido foi feito e a horaprovável de sua entrega.
Essencial
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 107 Utilizando UML e Padrões – Craig Larman
Requisitos Funcionais PrioridadeO valor da pizza será calculado pelo sabor mais caro.
Essencial
Cada pizza consome diversasquantidades de diversos itens deestoque.Sempre que uma pizza for produzida,essas quantidades devem serdiminuídas de seus respectivos itensno estoque.
Essencial
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 108 Utilizando UML e Padrões – Craig Larman
Requisitos Funcionais PrioridadeMontar pedido para o fornecedor sempreque um item do estoque estiver com suaquantidade perto da quantidade mínima.
Essencial
Emitir relatório que permitam saber quais ossabores de pizza são mais pedidos, bairros que se encontram estes clientes.
Essencial
Emitir relatório com o consumo médiodiário de cada produto.
Importante
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 109 Utilizando UML e Padrões – Craig Larman
Requisitos Não-Funcionais TipoControle de acesso – o clientedeverá estar logado ao sistema
Segurança
O tempo de resposta deve ser omenor possível para não prejudicaro atendimento aos clientes
Performance
O sistema deverá gravar logs deerros
Tolerância a falha
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 110 Utilizando UML e Padrões – Craig Larman
Requisitos Não-Funcionais TipoO sistema deverá fazer backupautomático no final do dia
Tolerância a falha
O sistema deverá ser facilmenteintegralizável, caso seja necessáriointerligá-lo a a outros sistemasexistentes.
Interoperabilidade
O sistema deve ser fácil de usar Usabilidade
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 111 Utilizando UML e Padrões – Craig Larman
Funções do produto ( algumas funções) Funções Descrição
Escolher Pizza
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.
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 112 Utilizando UML e Padrões – Craig Larman
Funções do produto ( algumas funções) Funções Descrição
Escolher Bebida
Representa o processo pelo qual um cliente escolhe uma bebida, sendo um pouco semelhante ao processo de escolha de pizza.
Opinar Esse serviço permite que o cliente emita opiniões sobre os pedidos feitos anteriormente por ele.
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 113 Utilizando UML e Padrões – Craig Larman
Funções do produto ( algumas funções) Funções Descrição
VisualizarPedido 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 Pedidos
Anteriores
O cliente pode visualizar todos os pedidos já feitos por ele.
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 114 Utilizando UML e Padrões – Craig Larman
Funções DescriçãoVisualizarSabores
MaisPedidos
Esse processo apresenta todos os sabores da pizzaria em ordem de sua preferencia
ConcluirPedido
Último passo para solicitar um pedido. É obrigatório que o cliente visualize seu pedido antes de concluí-lo.
Funções do produto ( algumas funções)
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 115 Utilizando UML e Padrões – Craig Larman
Funções DescriçãoVisualizar
Pedidos em Aberto
Permite que um funcionário obtenha uma listagem de todos os pedidos ainda não atendidos.
FinalizarPedido do
Cliente
Define um pedido como finalizado, determinando o funcionário que o preparou e o que o entregou.
Funções do produto ( algumas funções)
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 116 Utilizando UML e Padrões – Craig Larman
Funções DescriçãoManter
CardápioIncluir, alterar e excluir pizzas do cardápio. Executado pelo administrador.
Emitir Produtos em Baixa no
Estoque
Gera um relatório apresentando todos os produtos em baixa no estoque.
Funções do produto ( algumas funções)
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 117 Utilizando UML e Padrões – Craig Larman
Funções DescriçãoEmitir
Comprasem Aberto
Gera uma listagem contendo todas as compras solicitadas a fornecedores que ainda não foram entregues. ( Administrador)
Manter Compras
Fornecedor
Permite ao administrador efetuar a manutenção das compras da empresa.
Funções do produto ( algumas funções)
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 118 Utilizando UML e Padrões – Craig Larman
Funções DescriçãoEmitir
Melhores Clientes
Relatório de clientes que mais consomem na Pizzaria
Emitir Consumo
por Período
Relatório que informa o consumo dos itens do estoque em um determinado período.
Funções do produto ( algumas funções)
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 119 Utilizando UML e Padrões – Craig Larman
Exemplo 2 – Sistema de Pizzaria Online Subsistema de Venda
ClienteVisualizar
Sabores mais Pedidos
Visualizar Pedidos
AnterioresEscolher
Pizza
Escolher Bebida
Visualizar Pedidos
Opinar
ConcluirPedido
ExcluirPedido
Logar
Auto-Registrar
Cliente
<<inc>>
<<ex
t>>
<<ext>>
<<ext>>
<<inc>>
<<in
c>>
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 120 Utilizando UML e Padrões – Craig Larman
AdministradorEmitir
Compras em Aberto
Visualizar Pedidos
em AbertoManter
Cardápio
Emitir Produtos em Baixa Finalizar
Pedido Cliente
Manter Compras
Fornecedor
Emitir Consumo
por Pedido
Emitir Melhores Clientes
Logar
Visualizar pedido
Administrador
<<inc>>
<<ex
t>>
Funcionário
Exemplo 2 – Sistema de Pizzaria Online Subsistema Administrativo
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 121 Utilizando UML e Padrões – Craig Larman
Cliente
Visualizar Sabores
mais Pedidos
Visualizar Pedidos
AnterioresEscolher
Pizza
Escolher Bebida
Visualizar Pedidos
Opinar
ConcluirPedido
ExcluirPedido
Logar
Auto-Registrar
Cliente
<<inc>>
<<ex
t>>
<<ext>>
<<ext>>
<<inc>>
<<in
c>>
Exemplo 2 – Sistema de Pizzaria OnlineSubsistema Venda
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 122 Utilizando UML e Padrões – Craig Larman
Nome do Caso de Uso Escolher PizzaAtor principal ClienteAtores 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
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 123 Utilizando UML e Padrões – Craig Larman
Fluxo principalAções do ator Ações do Sistema1- selecionar opção Escolher Pizza
2- Apresentar tamanhos e sabores disponíveis
3-Selecionar tamanho da pizza
4- Permitir a escolha de sabores de acordo com o tamanho selecionado
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 124 Utilizando UML e Padrões – Craig Larman
Fluxo principalAções do ator Ações do Sistema5- Selecionar tantos sabores quantos desejados até olimite do tamanho escolhido
6- Adicionar pizza ao carrinho de pizzas
7- Armazenar pizza escolhida ao pedido
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 125 Utilizando UML e Padrões – Craig Larman
Cliente
Visualizar Sabores
mais Pedidos
Visualizar Pedidos
AnterioresEscolher
Pizza
Escolher Bebida
Visualizar Pedidos
Opinar
ConcluirPedido
ExcluirPedido
Logar
Auto-Registrar
Cliente
<<inc>>
<<ex
t>>
<<ext>>
<<ext>>
<<inc>>
<<in
c>>
Exemplo 2 – Sistema de Pizzaria OnlineSubsistema Venda
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 126 Utilizando UML e Padrões – Craig Larman
Nome do Caso de Uso Visualizar PedidoAtor principal ClienteAtores 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
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 127 Utilizando UML e Padrões – Craig Larman
Fluxo principalAções do ator Ações do Sistema1- Selecionar opção Visualizar Pedido
2- Apresentar todas as pizzas, com seus respectivos sabores e, e as bebidas escolhidas pelo cliente.
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 128 Utilizando UML e Padrões – Craig Larman
Fluxo Alternativo – Excluir ItemAções do ator Ações do Sistema1- Selecionar Item e solicitar sua exclusão
2- Executar o caso de uso “Excluir Item”
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 129 Utilizando UML e Padrões – Craig Larman
Nome do Caso de Uso Excluir ItemAtor principal ClienteAtores secundários
Resumo Este caso de uso descreve as etapas percorridas para excluir um item do pedido
Pré-condição
Pós-condição
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 130 Utilizando UML e Padrões – Craig Larman
Fluxo Alternativo I Excluir PizzaAções do ator Ações do Sistema
1- Excluir pizza
2- Excluir itens de sabor da pizza
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 131 Utilizando UML e Padrões – Craig Larman
Fluxo Alternativo II Excluir BebidaAções do ator Ações do Sistema
1- Excluir bebida
Exemplo 2 – Sistema de Pizzaria Online
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 132 Utilizando UML e Padrões – Craig Larman
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 ehomologação do sistema.
1.2 Escopo do produtoO Sistema a ser desenvolvido terá como campo de atuação a área hoteleira. Omesmo servirá ao gerenciamento de uma rede de hotéis, oferecendo uma interfacetotalmente voltada para WEB. Cada hotel terá um ou vários terminais que permitirãoas operações básicas de um hotel, podendo o cliente reservar e cancelar umapartamento através da Web, e terá também comunicação com outros hotéis damesma rede de modo a consultar sobre disponibilidade de vagas. Este sistematambém faz interface com outros dois sistemas internos do hotel: controle derestaurante e controle de tarifação de telefone. l .
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 133 Utilizando UML e Padrões – Craig Larman
2. DESCRIÇÃO GERAL
O Sistema de Controle de Reserva de Hotel – CRH vem para facilitar a vida da RedeHoteleira a qual vai servir. Tendo como característica óbvia a automatização dasprincipais tarefas inerentes à regra do negócio, ele dará grande agilidade na execuçãodos principais processos do hotel, hoje feitos de forma manual. Por ser um produtototalmente voltado para WEB, ele descentraliza parte do serviço para o ladoCLIENTE, uma vez que este poderá cadastrar-se eefetuar reservas, sem necessariamente interagir com os funcionários do hotel.
Exemplo 3 – Reserva de Hotel
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 134 Utilizando UML e Padrões – Craig Larman
3 – REQUISITOS ESPECÍFICOS
Abaixo detalharemos as principais funções dos produto em desenvolvimento, cujaanálise e especificação de requisitos é objeto desde documento.
3.1 Requisitos funcionais
Exemplo 3 – Reserva de Hotel
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 135 Utilizando UML e Padrões – Craig Larman
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 dohóspede).
Importante
Controle de limpeza dos apartamentos Desejável
Exemplo 3 – Reserva de Hotel
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 136 Utilizando UML e Padrões – Craig Larman
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).
Essencial
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
Exemplo 3 – Reserva de Hotel
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 137 Utilizando UML e Padrões – Craig Larman
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 sehospeda, gastos médios, itens mais consumidos nosrestaurantes).
Importante
Serviços de mala direta (podendo selecionar os clientes e enviarmensagens via e-mail ou imprimir cartas para serem enviadosposteriormente via correio.
Desejável
Pesquisa dos clientes no banco de dados segundo alguns tiposde critérios (freqüência que o cliente se hospeda, preferência deapartamentos, preferência de local, tipo de serviços utilizados,estadia de negócios ou turismo, faixa etária, procedência).
Desejável
Exemplo 3 – Reserva de Hotel
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 138 Utilizando UML e Padrões – Craig Larman
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
Exemplo 3 – Reserva de Hotel
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 139 Utilizando UML e Padrões – Craig Larman
3.2 Requisitos não-funcionais
Requisitos Não-Funcionais Tipo
Conexão para consultas e reservas de vagas em outros hotéis doGrupo
Interopebilidade
Tempo de resposta desejável menor que 10 segundos paraconsultas 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 Usabilidade
Portabilidade para novos hardwares e sistemas operacionais(quando forem lançadas novas versões de sistema operacional).
Portabilidade
Interface gráfica fácil de usar 'tipo Windows' para entrada dedados e operação
Usabilidade
Exemplo 3 – Reserva de Hotel
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 140 Utilizando UML e Padrões – Craig Larman
3.2 Requisitos não-funcionais
Requisitos Não-Funcionais Tipo
Procedimento de backup do cadastro de clientes e ocupação edados correntes
Segurança
Senha de acesso ao sistema. Deverão ter senhas diferentes pararecepcionistas, camareiras, gerentes e proprietário de modo quecada 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 aconfidencialidade das informações trocadas pelos usuários
Segurança
Garantia: o desenvolvedor do produto deverá dar suporte gratuitodurante um ano após a entrega do produto para casos de maufuncionamento do sistema
Externo(não éticos)
Deverá fornecer treinamento aos usuários Organizacionais(entrega)
Exemplo 3 – Reserva de Hotel
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 141 Utilizando UML e Padrões – Craig Larman
3.2 Requisitos não-funcionais
Requisitos Não-Funcionais TipoO produto pode ser desenvolvido em etapas, mas deverá ter asfuncionalidades básicas na primeira versão (gerenciar reservas eocupação de apartamentos, cadastro de clientes, controle depagamento, emissão de relatórios, e reservas pela Web).
Organizacionais(entrega)
O prazo de desenvolvimento para as funcionalidades básicas éde 6 meses
Organizacionais(entrega)
Após o desenvolvimento das funcionalidades básicas, o sistemadeverá ser colocado em operação por 3 meses antes de se iniciaro desenvolvimento de outras funcionalidades
Organizacionais(entrega)
Após os 3 meses de funcionamento, o produto deverá serreavaliado para inserir melhorias, corrigir falhas do sistema eimplementar as novas funcionalidades.
Organizacionais(manutenção)
O prazo estimado para implementação da segunda fase é de 6 meses
Organizacionais(entrega)
Exemplo 3 – Reserva de Hotel
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 142 Utilizando UML e Padrões – Craig Larman
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
Exemplo 3 – Reserva de Hotel
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 143 Utilizando UML e Padrões – Craig Larman
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.
Exemplo 3 – Reserva de Hotel
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 144 Utilizando UML e Padrões – Craig Larman
AtendenteLimpeza
Cliente Funcionário
Sistema de Controle de
Reserva de Hotel
Gerente
Sistema Contab.
Adm Cartão
Exemplo 3 – Reserva de HotelDiagrama de Contexto
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 145 Utilizando UML e Padrões – Craig Larman
Exemplo 3 – Reserva de HotelCasos de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 146 Utilizando UML e Padrões – Craig Larman
Controlar Reserva
Atendente Reservar Quarto
CancelarReservar
Canc.Automático
Disponib.Quarto
Verif. disp.
quartoObter período
reserva
<<extend>>
<<extend>>
<<extend>>
<<inc>>
<<inc>>
<<inc>>
<<in
c>>
Exemplo 3 – Reserva de HotelCasos de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 147 Utilizando UML e Padrões – Craig Larman
RegistrarEntrada Cliente
Atendente
FazerReserva
<<extend>> Cadastro
Cliente Cliente<<extend>>
Exemplo 3 – Reserva de HotelCasos de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 148 Utilizando UML e Padrões – Craig Larman
Fazerpagamento
AtendenteVerificarServiços
<<include>>Providenciar saida
Cliente
<<extend>>
Pag.Vista
Pag.Cartão
<<extend>>
Exemplo 3 – Reserva de HotelCasos de Uso
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 149 Utilizando UML e Padrões – Craig Larman
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;
Exemplo 4 – Locadora
Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 150 Utilizando UML e Padrões – Craig Larman
(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.
Exemplo 4 – Locadora