Modelos de Sistemas Casos de Uso Auxiliadora Freire

  • Slides: 150
Download presentation
Modelos de Sistemas Casos de Uso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição

Modelos de Sistemas Casos de Uso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 1 Utilizando UML e Padrões – Craig Larman

Objetivos Principais dos Casos de Uso • Delimitação do contexto de um sistema. •

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 Slide 2 Utilizando UML e Padrões – Craig Larman

Casos de Uso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville

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 • Técnica proposta por Ivar Jacobson em sua metodologia de desenvolvimento

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 Slide 4 Utilizando UML e Padrões – Craig Larman

Casos de Uso • Incorporado à linguagem UML(Unified Modeling Language), que define um diagrama

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 Slide 5 Utilizando UML e Padrões – Craig Larman

UML – Unified Modeling Language Linguagem de Modelagem Unificada • é uma linguagem visual

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 6 Utilizando UML e Padrões – Craig Larman

UML – Unified Modeling Language Linguagem de Modelagem Unificada – Descrição de um sistema

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 7 Utilizando UML e Padrões – Craig Larman

UML – Unified Modeling Language Linguagem de Modelagem Unificada • cada diagrama da UML

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 8 Utilizando UML e Padrões – Craig Larman

Diagrama de Casos de Uso Todo o conjunto de Casos de Uso e Atores

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 9 Utilizando UML e Padrões – Craig Larman

Diagrama de Casos de Uso • Descreve a funcionalidade proposta para o novo sistema.

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 Slide 10 Utilizando UML e Padrões – Craig Larman

Características do Diagrama Caso de Uso • São sempre iniciadas por um ator. •

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 Slide 11 Utilizando UML e Padrões – Craig Larman

Características do Diagrama Caso de Uso Etapas: • Objetivo • Ator • Descrição •

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 Slide 12 Utilizando UML e Padrões – Craig Larman

Diagrama Caso de Uso - Objetivo Manter os clientes da empresa, onde também serão

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 Slide 13 Utilizando UML e Padrões – Craig Larman

Diagrama Caso de Uso - Ator • Atores são papéis de elementos externos ao

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 Slide 14 Utilizando UML e Padrões – Craig Larman

Diagrama Caso de Uso Como identificar atores? Para identificar os atores que vão participar

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 Slide 15 Utilizando UML e Padrões – Craig Larman

Diagrama Caso de Uso - Ator • Exemplo de atores: • Cliente • Secretária

Diagrama Caso de Uso - 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 Slide 16 Utilizando UML e Padrões – Craig Larman

Diagrama Caso de Uso - Ator • É um papel que tipicamente estimula/solicita ações/eventos

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 Slide 17 Utilizando UML e Padrões – Craig Larman

Diagrama Caso de Uso - Atores Ator PESSOA Auxiliadora Freire Ator SISTEMA Fonte: Engenharia

Diagrama Caso de Uso - Atores Ator PESSOA Auxiliadora Freire Ator SISTEMA Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 18 Utilizando UML e Padrões – Craig Larman

Diagrama Caso de Uso - Atores herança entre Atores Auxiliadora Freire Fonte: Engenharia de

Diagrama Caso de Uso - Atores herança entre Atores 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 Casos de Uso = OBJETIVO do Ator Representação Auxiliadora Freire

Diagrama Caso de Uso Casos de Uso = OBJETIVO do Ator Representação Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 20 Utilizando UML e Padrões – Craig Larman

Diagrama Casos de Uso – Caso de Uso • É uma sequência de ações

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 Slide 21 Utilizando UML e Padrões – Craig Larman

Diagrama Casos de Uso – Caso de Uso • Caso de uso, normalmente, é

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 Slide 22 Utilizando UML e Padrões – Craig Larman

Especificação dos Casos de Uso • Cada caso de uso no diagrama de casos

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 23 Utilizando UML e Padrões – Craig Larman

Casos de Uso = Diagrama + Narrativa Descrição - Esse caso de uso começa

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 24 Utilizando UML e Padrões – Craig Larman

Detalhe do Caso de Uso Deve ser possível ao Analista de Crédito: ü incluir

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 documentos obrigatórios - CPF e o RG; Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 25 Utilizando UML e Padrões – Craig Larman

Detalhe do Caso de Uso Deve ser possível ao Analista de Crédito: (cont. )

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 Slide 26 Utilizando UML e Padrões – Craig Larman

Detalhe do Caso de Uso • Se o cliente possuir contas bancárias, esses dados

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 Slide 27 Utilizando UML e Padrões – Craig Larman

Expansão Diagrama de Casos de Uso • Consiste na explicitação de todas as diferentes

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 Slide 28 Utilizando UML e Padrões – Craig Larman

Casos de Uso Tipos de especificação • descrição inicial representação conceitual do sistema; •

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 29 Utilizando UML e Padrões – Craig Larman

Especificação dos Casos de Uso Descrição inicial Descrição base Descrição elaborada Nome Atores Descrição

Especificação dos Casos de Uso Descrição inicial Descrição base Descrição elaborada Nome Atores Descrição 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 Slide 30 Utilizando UML e Padrões – Craig Larman

Cenário 1 (Fluxo Básico) : Passo 1, Passo 2, Passo 3, Passo 4 Fluxo

Cenário 1 (Fluxo Básico) : Passo 1, Passo 2, Passo 3, Passo 4 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 Slide 31 Utilizando UML e Padrões – Craig Larman

 • Diagrama de Caso de Uso Cenário 1 (Fluxo Básico) : Passo 1,

• Diagrama de Caso de Uso Cenário 1 (Fluxo Básico) : Passo 1, Passo 2, Passo 3, Passo 4 E se a consulta for por cliente? Auxiliadora Freire Fluxo Alternativo Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 32 Utilizando UML e Padrões – Craig Larman

Diagrama de Caso de Uso Fluxos Alternativos Os cenários são todos os caminhos possíveis

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 33 Utilizando UML e Padrões – Craig Larman

Diagrama de Caso de Uso Fluxos Alternativos • Cenário 1 : Passo 1, Passo

Diagrama de Caso de Uso Fluxos Alternativos • Cenário 1 : Passo 1, Passo 2, Passo 3, Passo 4 (Fluxo Básico); • Cenário 2 : Passo 1, Passo 2, A 1 , Passo 4; • Cenário 3 : Passo 1, Passo 2, Passo 3, A 2 , Passo 2; • Cenário 4 : Passo 1, Passo 2, A 1 , A 2 , Passo 2; • Cenário 5 : Passo 1, A 3. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 34 Utilizando UML e Padrões – Craig Larman

Fluxos Alternativos Cenário 2 : Passo 1, Passo 2, A 1 , Passo 4

Fluxos Alternativos Cenário 2 : Passo 1, Passo 2, A 1 , Passo 4 A 1 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, A 1 , Passo 4

Fluxos Alternativos Cenário 2 : Passo 1, Passo 2, A 1 , Passo 4 A 1 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 3 : Passo 1, Passo 2, Passo 3, A 2 ,

Fluxos Alternativos Cenário 3 : Passo 1, Passo 2, Passo 3, A 2 , Passo 2 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 4 : Passo 1, Passo 2, A 1 , A 2

Fluxos Alternativos Cenário 4 : Passo 1, Passo 2, A 1 , A 2 , Passo 2 A 1 A 2 Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 38 Utilizando UML e Padrões – Craig Larman

Fluxos Alternativos Cenário 5 : Passo 1, A 3 Auxiliadora Freire Fonte: Engenharia de

Fluxos Alternativos Cenário 5 : Passo 1, A 3 Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 39 Utilizando UML e Padrões – Craig Larman

Diagrama de Caso de Uso Fluxos Alternativos O que causa um Fluxo Alternativo luma

Diagrama de Caso de Uso Fluxos Alternativos O que causa um Fluxo Alternativo luma escolha do Ator O que um Fluxo Alternativo pode fazer l retroceder para um passo anterior. lo estado do Sistema. l avançar para um passo posterior; finalizar o Caso de Uso. l 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 Pré-condição e Pós-condição Pré-condição Auxiliadora Freire Fonte: Engenharia de

Diagrama de Caso de Uso Pré-condição e Pós-condição Pré-condição 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 • Demonstram restrições para um Caso

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 Slide 42 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

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

Especificação dos Casos de Uso Pós-condição: Tarefas que devem ser realizadas depois que as

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 Slide 44 Utilizando UML e Padrões – Craig Larman

Especificação dos Casos de Uso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição /

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 Requisitos especiais: • Requisitos legais e de regulamentação; •

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 Slide 46 Utilizando UML e Padrões – Craig Larman

Estruturar Modelo de Casos de Uso • Estabelecer relacionamento de “Inclusão” entre os casos

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 atores. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 47 Utilizando UML e Padrões – Craig Larman

Diagrama de Casos de Uso: Relacionamentos • Extensão: representa fluxos opcionais ou anormais. É

Diagrama de 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 48 Utilizando UML e Padrões – Craig Larman

Casos de Uso: Relacionamentos (exemplo) Auxiliadora Freire Fonte: Engenharia de Software 8º Edição /

Casos de Uso: Relacionamentos (exemplo) 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 /

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

Exemplo – Sistema de Pedidos Diagrama de Casos de Uso Auxiliadora Freire Fonte: Engenharia

Exemplo – Sistema de Pedidos Diagrama de Casos de Uso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 51 Utilizando UML e Padrões – Craig Larman

Diagrama de Caso de Uso NARRATIVA Auxiliadora Freire Fonte: Engenharia de Software 8º Edição

Diagrama de Caso de Uso NARRATIVA 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

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 Casos de Uso Relacionamento «include» entre Casos de Uso Auxiliadora Freire Fonte:

Diagrama de Casos de Uso Relacionamento «include» entre Casos de Uso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 54 Utilizando UML e Padrões – Craig Larman

Diagrama de Caso de Uso Relacionamento «include» entre Casos de Uso Caso de Uso

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 Slide 55 Utilizando UML e Padrões – Craig Larman

Diagrama de Caso de Uso Após o relacionamento «include» Auxiliadora Freire Fonte: Engenharia de

Diagrama de Caso de Uso Após o relacionamento «include» 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

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 Relacionamento «extend» entre Casos de Uso • Um Caso

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 58 Utilizando UML e Padrões – Craig Larman

Diagrama de Caso de Uso Relacionamento «extend» entre Casos de Uso • Para direcionar

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 59 Utilizando UML e Padrões – Craig Larman

Diagrama de Caso de Uso Relacionamento «extend» entre Casos de Uso Auxiliadora Freire Fonte:

Diagrama de Caso de Uso Relacionamento «extend» entre Casos de Uso 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:

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

Construindo Casos de Uso 1. Listar todas as funções e defina a fronteira do

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 Slide 62 Utilizando UML e Padrões – Craig Larman

Decomposição de Casos de Uso Pacotes Casos de Uso Gerenciar Ponto de Venda Casos

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 Slide 63 Utilizando UML e Padrões – Craig Larman

Construindo Casos de Uso Exemplo Objetivo Geral O propósito do Sistema é criar um

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 64 Utilizando UML e Padrões – Craig Larman

Construindo Casos de Uso Exemplo Objetivos Específicos: • Checkout (passagem pelo caixa) mais rápido

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 Slide 65 Utilizando UML e Padrões – Craig Larman

Construindo Casos de Uso Exemplo • Passo 1. 1 Listar todos os requisitos •

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 Slide 66 Utilizando UML e Padrões – Craig Larman

Construindo Casos de Uso Exemplo • Passo 1. 1 Listar todos os requisitos (cont.

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 Slide 67 Utilizando UML e Padrões – Craig Larman

Construindo Casos de Uso Exemplo • Passo 1. 1 Listar todos os requisitos (cont)

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 Slide 68 Utilizando UML e Padrões – Craig Larman

Construindo Casos de Uso Exemplo • Passo 1. 1 Listar todos os requisitos (cont)

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 Slide 69 Utilizando UML e Padrões – Craig Larman

Construindo Casos de Uso Exemplo • Passo 1. 1 Listar todos os requisitos (cont.

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 Slide 70 Utilizando UML e Padrões – Craig Larman

Construindo Casos de Uso Exemplo • Passo 1. 2 Listar todas as funções •

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 Slide 71 Utilizando UML e Padrões – Craig Larman

Exemplo – PONTO DE VENDAS • Passo 1 -2 -3 Comprar Itens Caixa Log

Exemplo – PONTO DE VENDAS • Passo 1 -2 -3 Comprar Itens Caixa Log in Cliente Devolver Itens Iniciar Administrador do sistema Auxiliadora Freire Gerenciar Usuários Gerente Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 72 Utilizando UML e Padrões – Craig Larman

Exemplo 1 – PONTO DE VENDAS • Passo 4 - caso de uso em

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 Slide 73 Utilizando UML e Padrões – Craig Larman

Exemplo 1 – PONTO DE VENDAS • Passo 4 - caso de uso em

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 Slide 74 Utilizando UML e Padrões – Craig Larman

Exemplo – PONTO DE VENDAS Passo 5 - caso de uso essenciais expandidos <<

Exemplo – PONTO DE VENDAS Passo 5 - caso de uso essenciais expandidos << E > Auxiliadora Freire Pagar com cheque lud d> ten Pagar com dinheiro Inc Cliente e> > Ex < x E < << << > > d ten xten Caixa d >> Comprar Itens Controlar estoque Pagar com cartão 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

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 Slide 76 Utilizando UML e Padrões – Craig Larman

Exemplo – PONTO DE VENDAS • Passo 5 - continuação. . . Ação do

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 Slide 77 Utilizando UML e Padrões – Craig Larman

Exemplo – PONTO DE VENDAS • Passo 5 - continuação. . . Ação do

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 Slide 78 Utilizando UML e Padrões – Craig Larman

Exemplo – PONTO DE VENDAS • Passo 5 - continuação. . . Ação do

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 Slide 79 Utilizando UML e Padrões – Craig Larman

Exemplo – PONTO DE VENDAS • Passo 5 - continuação. . . Sequencias alternativas.

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 Slide 80 Utilizando UML e Padrões – Craig Larman

Exemplo – PONTO DE VENDAS • Passo 5 - Seção – Pagar com dinheiro

Exemplo – PONTO DE VENDAS • Passo 5 - Seção – Pagar com dinheiro Ação do ator 1 - O Cliente dar um pagamento em dinheiro – “ O valor fornecido” – possivelmente maior que o total de venda. Resposta do sistema 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

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 Slide 82 Utilizando UML e Padrões – Craig Larman

Exemplo - Saque Bancário • Requisitos ü solicitar extrato; ü registrar movimento; ü consultar

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 83 Utilizando UML e Padrões – Craig Larman

Exemplo - Saque Bancário Solicitar extrato Consultar saldo Sacar dinheiro Cliente Realizar depósito Transferir

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 Slide 84 Utilizando UML e Padrões – Craig Larman

Exemplo - Saque Bancário Sacar dinheiro << Inc lud e>> Cliente Realizar depósito Transferir

Exemplo - Saque Bancário Sacar dinheiro << Inc lud e>> Cliente Realizar depósito Transferir entre contas Auxiliadora Freire << Include>> << Registrar movimento >> e d u Incl Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 85 Utilizando UML e Padrões – Craig Larman

Exemplo - Saque Bancário Caso de uso Atores: Descrição: Auxiliadora Freire Sacar dinheiro Cliente

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 Slide 86 Utilizando UML e Padrões – Craig Larman

Exemplo - Saque Bancário Ação do ator Resposta do sistema 1 - Informar o

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 Slide 87 Utilizando UML e Padrões – Craig Larman

Exemplo - Saque Bancário Ação do ator Resposta do sistema 4 - Informar senha

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 Slide 88 Utilizando UML e Padrões – Craig Larman

Exemplo - Saque Bancário Ação do ator Resposta do sistema 7 - Se o

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 Slide 89 Utilizando UML e Padrões – Craig Larman

Exemplo 1 – Sistema Matrícula num Curso No início de cada semestre, os alunos

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 Slide 90 Utilizando UML e Padrões – Craig Larman

Exemplo 1 – Sistema Matrícula num Curso O novo sistema permitirá que os alunos

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 Slide 91 Utilizando UML e Padrões – Craig Larman

Exemplo 1 – Sistema Matrícula num Curso Os Professores devem acessar o sistema “on

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 Slide 92 Utilizando UML e Padrões – Craig Larman

Exemplo 1 – Sistema Matrícula num Curso Requisitos Funcionais Prioridade Professores escolhem disciplinas a

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 Slide 93 Utilizando UML e Padrões – Craig Larman

Exemplo 1 – Sistema Matrícula num Curso Requisitos Funcionais Produzida listagem de disciplinas e

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 Prioridade Essencial Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 94 Utilizando UML e Padrões – Craig Larman

Exemplo 1 – Sistema Matrícula num Curso Requisitos Funcionais A secretaria produz uma listagem

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 Prioridade Importante Desejável Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 95 Utilizando UML e Padrões – Craig Larman

Exemplo 1 – Sistema Matrícula num Curso Requisitos Funcionais Prioridade A matrícula ser-lhes-á cobrada

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 Slide 96 Utilizando UML e Padrões – Craig Larman

Exemplo 1 – Sistema Matrícula num Curso Requisitos Funcionais Prioridade Os alunos poderão escolher

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 Slide 97 Utilizando UML e Padrões – Craig Larman

Exemplo 1 – Sistema Matrícula num Curso Requisitos Não-Funcionais Acesso online ao sistema para

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 Tipo Interopebilidade Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 98 Utilizando UML e Padrões – Craig Larman

Exemplo 1 – Sistema Matrícula num Curso ATORES Papel Descrição Aluno alguém que se

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 Slide 99 Utilizando UML e Padrões – Craig Larman

Exemplo 1 – Sistema Matrícula num Curso Diagrama de Contexto Sistema de cobrança Aluno

Exemplo 1 – Sistema Matrícula num Curso Diagrama de Contexto Sistema de cobrança Aluno Auxiliadora Freire Sistema de Matrícula Professor Funcionário 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 Curso Casos de Uso Sistema de cobrança Matrícula

Exemplo 1 – Sistema Matrícula num Curso Casos de Uso Sistema de cobrança Matrícula nos Cursos Manter informações dos cursos Aluno Pedir lista dos matriculados Professor Auxiliadora Freire Manter Informação de aluno Selecionar curso para ensinar Funcionário Gerar catalogo Manter informação de professor Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 101 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Uma empresa tem necessidade de um Sistema

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 Slide 102 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online O sistema deve informar, através de relatórios

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 Slide 103 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Requisitos Funcionais Prioridade O cliente visualiza os

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 Slide 104 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Requisitos Funcionais O cliente poderá visualizar uma

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 Prioridade Essencial Importante Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 105 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Requisitos Funcionais Um pedido poderá realizar muitos

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 Prioridade Desejável Essencial Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 106 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Requisitos Funcionais O valor da pizza será

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 Prioridade Essencial Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 107 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Requisitos Funcionais Montar pedido para o fornecedor

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 Slide 108 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Requisitos Não-Funcionais Tipo Controle de acesso –

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 Slide 109 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Requisitos Não-Funcionais Tipo O sistema deverá fazer

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 Slide 110 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Funções do produto ( algumas funções) Funções

Exemplo 2 – Sistema de Pizzaria Online Funções do produto ( algumas funções) Funções Descrição Escolher Pizza Auxiliadora Freire 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 Slide 111 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Funções do produto ( algumas funções) Funções

Exemplo 2 – Sistema de Pizzaria Online Funções do produto ( algumas funções) Funções Descrição Escolher Bebida Opinar Auxiliadora Freire 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 Slide 112 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Funções do produto ( algumas funções) Funções

Exemplo 2 – Sistema de Pizzaria Online Funções do produto ( algumas funções) Funções Descrição Visualizar Pedido 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 Slide 113 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Funções do produto ( algumas funções) Descrição

Exemplo 2 – Sistema de Pizzaria Online Funções do produto ( algumas funções) Descrição Funções Visualizar Sabores Mais Pedidos Concluir Pedido Auxiliadora Freire 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 Slide 114 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Funções do produto ( algumas funções) Funções

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 Slide 115 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Funções do produto ( algumas funções) Funções

Exemplo 2 – Sistema de Pizzaria Online Funções do produto ( algumas funções) Funções Descrição Manter Cardápio Incluir, alterar e excluir pizzas do 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 Slide 116 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Funções do produto ( algumas funções) Funções

Exemplo 2 – Sistema de Pizzaria Online Funções do produto ( algumas funções) Funções Descrição Emitir Gera uma listagem contendo todas as Compras em Aberto 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 Slide 117 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Funções do produto ( algumas funções) Funções

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 Slide 118 Utilizando UML e Padrões – Craig Larman

Escolher Bebida Cliente Visualizar Sabores mais Pedidos Opinar <<inc>> Auxiliadora Freire Excluir Pedido <<inc>>

Escolher Bebida Cliente Visualizar Sabores mais Pedidos Opinar <<inc>> Auxiliadora Freire Excluir Pedido <<inc>> Concluir Pedido Visualizar Pedidos <<e xt>> Cliente Logar <<ext>> Escolher Pizza Visualizar Pedidos <<e xt> Anteriores > <<inc>> Exemplo 2 – Sistema de Pizzaria Online Subsistema de Venda Auto. Registrar 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 Administrativo Emitir Produtos em Baixa Administrador

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 Administrador Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 120 Utilizando UML e Padrões – Craig Larman

Excluir Pedido Escolher Bebida Visualizar Sabores mais Pedidos Opinar t>> <<inc>> Concluir Pedido Cliente

Excluir Pedido Escolher Bebida Visualizar Sabores mais Pedidos Opinar t>> <<inc>> Concluir Pedido Cliente <<e x Visualizar Pedidos Anteriores Visualizar Pedidos <<e xt>> Cliente Logar <<ext>> Escolher Pizza <<inc>> Exemplo 2 – Sistema de Pizzaria Online Subsistema Venda Auto. Registrar <<inc>> Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 121 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Nome do Caso de Uso Ator principal

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 Slide 122 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Fluxo principal Ações do ator Ações do

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 Slide 123 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Fluxo principal Ações do ator Ações do

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 Slide 124 Utilizando UML e Padrões – Craig Larman

Excluir Pedido Escolher Bebida Visualizar Sabores mais Pedidos Opinar t>> <<inc>> Concluir Pedido Cliente

Excluir Pedido Escolher Bebida Visualizar Sabores mais Pedidos Opinar t>> <<inc>> Concluir Pedido Cliente <<e x Visualizar Pedidos Anteriores Visualizar Pedidos <<e xt>> Cliente Logar <<ext>> Escolher Pizza <<inc>> Exemplo 2 – Sistema de Pizzaria Online Subsistema Venda Auto. Registrar <<inc>> Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 125 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Nome do Caso de Uso Ator principal

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 Slide 126 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Fluxo principal Ações do ator Ações do

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 Slide 127 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Fluxo Alternativo – Excluir Item Ações do

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 Slide 128 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Nome do Caso de Uso Ator principal

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 Slide 129 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Fluxo Alternativo I Excluir Pizza Ações do

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 Slide 130 Utilizando UML e Padrões – Craig Larman

Exemplo 2 – Sistema de Pizzaria Online Fluxo Alternativo II Excluir Bebida Ações do

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 Slide 131 Utilizando UML e Padrões – Craig Larman

Exemplo 3 – Reserva de Hotel 1. INTRODUÇÃO Este documento especifica os requisitos do

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 Slide 132 l Utilizando UML e Padrões – Craig Larman.

Exemplo 3 – Reserva de Hotel 2. DESCRIÇÃO GERAL O Sistema de Controle de

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 Slide 133 Utilizando UML e Padrões – Craig Larman

Exemplo 3 – Reserva de Hotel 3 – REQUISITOS ESPECÍFICOS Abaixo detalharemos as principais

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 Slide 134 Utilizando UML e Padrões – Craig Larman

Exemplo 3 – Reserva de Hotel 3. 1 Requisitos funcionais Requisitos Funcionais Prioridade Entrada

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 Slide 135 Utilizando UML e Padrões – Craig Larman

Exemplo 3 – Reserva de Hotel 3. 1 Requisitos funcionais (cont) Requisitos Funcionais Prioridade

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 Essencial Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 136 Utilizando UML e Padrões – Craig Larman

Exemplo 3 – Reserva de Hotel 3. 1 Requisitos funcionais (cont) Requisitos Funcionais Prioridade

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 Desejável Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 137 Utilizando UML e Padrões – Craig Larman

Exemplo 3 – Reserva de Hotel 3. 1 Requisitos funcionais (cont) Requisitos Funcionais Prioridade

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 Slide 138 Utilizando UML e Padrões – Craig Larman

Exemplo 3 – Reserva de Hotel 3. 2 Requisitos não-funcionais Requisitos Não-Funcionais Tipo Conexão

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 Usabilidade Portabilidade Usabilidade Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 139 Utilizando UML e Padrões – Craig Larman

Exemplo 3 – Reserva de Hotel 3. 2 Requisitos não-funcionais Requisitos Não-Funcionais Tipo Procedimento

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 Externo (não éticos) Organizacionais (entrega) Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 140 Utilizando UML e Padrões – Craig Larman

Exemplo 3 – Reserva de Hotel 3. 2 Requisitos não-funcionais Requisitos Não-Funcionais Tipo O

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 Organizacionais (entrega) Organizacionais (manutenção) Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 141 Utilizando UML e Padrões – Craig Larman

Exemplo 3 – Reserva de Hotel 2. 1 Usuário (atores) Papel Descrição Cliente Pessoa

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 Slide 142 Utilizando UML e Padrões – Craig Larman

Exemplo 3 – Reserva de Hotel 2. 1 Funções do produto ( algumas funções)

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 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 Slide 143 Utilizando UML e Padrões – Craig Larman

Exemplo 3 – Reserva de Hotel Diagrama de Contexto Cliente Funcionário Sistema de Controle

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 Slide 144 Utilizando UML e Padrões – Craig Larman

Exemplo 3 – Reserva de Hotel Casos de Uso Auxiliadora Freire Fonte: Engenharia de

Exemplo 3 – Reserva de Hotel Casos de Uso 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 Hotel Casos de Uso Atendente > < Controlar Reserva

Exemplo 3 – Reserva de Hotel Casos de Uso Atendente > < Controlar Reserva t x e < > end <<extend >> Reservar Quarto Cancelar Reservar >> c in << << in c> > << in c> Auxiliadora Freire > Canc. Automático inc d> Disponib. Quarto << xte n Obter período reserva >> << e > Verif. disp. quarto Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 146 Utilizando UML e Padrões – Craig Larman

Exemplo 3 – Reserva de Hotel Casos de Uso Atendente >> d en t

Exemplo 3 – Reserva de Hotel Casos de Uso Atendente >> d en t ex << Registrar Entrada Cliente Auxiliadora Freire Cadastro Cliente << ex t en Cliente d> > Fazer Reserva Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 147 Utilizando UML e Padrões – Craig Larman

Exemplo 3 – Reserva de Hotel Casos de Uso Providenciar saida Cliente Atendente >

Exemplo 3 – Reserva de Hotel Casos de Uso Providenciar saida Cliente Atendente > <ex < Pag. Vista Auxiliadora Freire > d n te Fazer pagamento <<include>> Verificar Serviços << ext end >> Pag. Cartão Fonte: Engenharia de Software 8º Edição / ©Ian Sommerville 2000 Slide 148 Utilizando UML e Padrões – Craig Larman

Exemplo 4 – Locadora Faça o Diagrama de Casos de Uso para Sistema de

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 Slide 149 Utilizando UML e Padrões – Craig Larman

Exemplo 4 – Locadora (cont. ) 6 - Locadora envia dicas de filmes para

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 Slide 150 Utilizando UML e Padrões – Craig Larman