Especificao e Modelagem de Requisitos Especificao e Modelagem
- Slides: 75
Especificação e Modelagem de Requisitos
Especificação e Modelagem de Requisitos Regras de Negócio Ø Ø Glossário Documento de Visão Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar e Validar os requisitos Casos de Uso e Esp. Suplementar Plano e Casos de Teste Analista de Requisitos p/ Inspeção
Análise dos Requisitos Trabalha com requisitos incompletos Se preocupa em descobrir problemas Requisitos são enumerados por exemplo, em uma reunião com stakeholders – Quais as inconsistências? – Quais os conflitos? – Tenho que fazer uma nova reunião?
Especificação de Requisitos de Produto Desenvolvida como uma conseqüência da fase de análise de requisitos – Modelo de Casos de Uso – Especificação Suplementar Serve como base para casos de teste – Requisitos funcionais e não funcionais
Modelo de Casos de Uso O Modelo de Casos de Uso – Especifica em detalhes requisitos do sistema Emprega – Atores – Casos de Uso
Ator Define o que existe do lado de fora do sistema – Ator é uma classe do subsistema mais abrangente que interage diretamente com o sistema – É algo comportamento como • • uma pessoa (identificada pelo seu papel) um sistema computacional uma organização um sensor/atuador
Caso de Uso: – O que deve ser feito pelo sistema – histórias de sucesso e insucesso que suportam o mesmo objetivo – um conjunto de cenários relacionados Cenário: – uma instância de um Caso de Uso – uma seqüência específica de ações e interações entre atores e sistema
Modelo de Casos de Uso Os atores representam o que interage com o sistema Representam tudo que necessita trocar informação com o sistema Como estão fora do sistema: não são descritos em detalhe Atores são diferentes de usuários: – usuário usa o sistema – ator representa uma certa regra seguida pelo usuário – uma mesma pessoa pode aparecer como instância de vários atores
Modelo de Casos de Uso Uma instância de um Ator efetua diversas operações no sistema Quando um usuário usa o sistema, efetua um seqüência de transações relacionadas em um diálogo com o sistema Esta seqüência é chamada de Caso de Uso Cada Caso de Uso é uma forma específica de usar o sistema Cada execução de um caso de uso pode ser visto como uma instância do Caso de Uso
Modelo de Casos de Uso capturam os requisitos funcionais O conjunto de todos os Casos de Uso especificam a funcionalidade completa do sistema Agrupar funcionalidades e chamá-las de Casos de Uso facilita o gerenciamento destes requisitos durante ciclo de desenvolvimento
Modelo de Casos de Uso Caso de Uso – determina um ou mais casos de teste Do conjunto de casos de uso é possível derivar o Plano de Testes – Garantir adequação do software aos requisitos funcionais
Casos de Uso
Casos de Uso Discutir com o cliente o que o sistema fará Identificar quem interage com o sistema Identificar que interfaces o sistema terá
Casos de Uso Tipos e Formatos – Caixa preta – O sistema é descrito em termos de suas responsabilidades – Elementos de software possuem responsabilidades e colaboram com outros elementos que têm responsabilidades
Casos de Uso Definindo as responsabilidades do sistema com casos de uso caixa-preta – O que o sistema deve fazer sem decidir como – Estilo caixa-preta • O sistema deve registrar a venda de cada item – Errado • O sistema salva no banco de dados. . . • O sistema gera um SQL INSERT. . . .
Casos de Uso Formato – Breve – um resumo – Casual – formato informal – Totalmente especificado • Um conjunto de seções que apóiam a sua descrição em detalhe
De posse dos Casos de Uso Verifique se não há requisitos faltando Verifique os desenvolvedores entendem os requisitos Vantagem é ter apelo visual dos requisitos mais relevantes do cliente
Elaborando o Modelo de Casos de Uso
Identificando Nenhum sistema existe isoladamente – interage com atores humanos e/ou autômatos – atores esperam que o sistema se comporte de acordo com o previsto Um caso de uso – especifica o comportamento de um sistema (ou de parte deste) – é a descrição de um conjunto de seqüências de ações – inclui variantes realizadas pelo sistema para produzir um resultado observável por um ator
Casos de Uso: função – transação/serviço Seqüência de ações, executada pelo sistema, que gera um resultado – De valor observável – E para um ou mais atores Função Procedimento computacional
Caso de Uso: Ator Alguém ou alguma coisa (fora do sistema) que interage com o sistema Emissor/Receptor
Caso de Uso Casos de uso podem ser aplicados para captar o comportamento pretendido – não é necessário especificar como serão implementados – fornecem uma maneira de obter melhor compreensão do sistema – cooperação com usuários e especialistas do domínio da aplicação
Caso de Uso Executa alguma quantidade tangível de trabalho Sob a perspectiva do ator fornece – um resultado – um novo objeto – alteração de estado de um objeto existente
Caso de Uso A descrição de um caso de uso define o que o sistema faz quando o caso de uso é realizado A funcionalidade do sistema é definida por um conjunto de casos de uso, cada um representando um fluxo de eventos específico Além disso, servem para: – verificar o sistema à medida que evolui durante o desenvolvimento
Caso de Uso e Ator Descrição Passo 1 Passo 2 … Passo N Emissor Função
Atores De um modo geral, atores podem ser: – – papéis que as pessoas representam nos Casos de Uso dispositivos de hardware mecânicos ou elétricos outros sistemas computacionais tempo (para representar atividades periódicas)
Atores Pode-se definir grupos gerais de atores e suas especializações
Atores Os atores estão associados a Casos de Uso – Ator e Caso de Uso se comunicam – Enviar e Receber mensagens
Casos de Uso Nomes – Todo caso de uso deve ter um nome que o diferencie dos demais – Expressões verbais ativas – Nomeiam um comportamento do sistema
Exemplo de Caso de Uso Cliente de banco deseja usar um caixa automático para – sacar dinheiro, transferir dinheiro ou consultar o saldo da conta Ator: Cliente Casos de Uso: Sacar dinheiro, Transferir dinheiro e Consultar saldo
Exemplo de Caso de Uso Valor de resultado observável Transferir dinheiro Sacar dinheiro Consultar saldo Cliente
Identificando Casos de Uso Em geral, é difícil decidir entre um ou vários Casos de Uso Por exemplo, seria Caso de Uso: – Inserir cartão em um Caixa Automático? – Digitar a senha? – Receber o cartão de volta? Casos de Uso devem ser organizados para evitar – Redundância – Conflitos – Ambigüidades
Identificando Casos de Uso
Identificando Casos de Uso Deve representar valor observável para ator Pode-se determinar – Devido a interações Ator x Sistema • seqüência de ações com o sistema que resultam valores para atores – Devido a necessidades de um Ator • satisfaz um objetivo particular de um ator que o sistema deve prover
Identificando Casos de Uso Procedimentos Iniciais – Escolha a fronteira do sistema – Identifique os atores primários • aqueles cujas necessidades serão supridas pelo sistema – Defina Casos de Uso que satisfaça as necessidades dos atores primários • um caso de uso para cada necessidade
Identificando Casos de Uso Traçar fronteira conceitual – Identificar o que está fora e o que está dentro do sistema Exemplo: ponto de vendas – Fora • Cliente, Caixa, Agente de Cartão de Crédito – Dentro • Venda, Emissão Recibo, Estoque, . .
Identificando Casos de Uso O que está dentro do sistema: – é responsável por executar seu comportamento O que está fora: – o contexto do sistema – o ambiente onde o sistema existe – determinam as necessidades que o sistema deve atender
Identificando Casos de Uso Identifique os atores – – – Quais grupos precisam de ajuda do sistema para realizar suas tarefas? Quais grupos são necessários para a execução das funções do sistema? Quais grupos interagem com algum hardware externo ou outros sistemas? Quais grupos realizam funções secundárias de administração e de manutenção? Existem atividades temporais periódicas?
Identificando Casos de Uso Atores Primários – necessidades que são supridas pelo sistema • Caixa, cliente Atores de suporte – provem serviços para o sistema • Agente de cartão de crédito Primeiro temos que encontrar os atores primários – enumere as necessidades para cada ator
Achando Casos de Uso Que funções o ator requer do sistema? O que o ator necessita fazer? O ator tem que ler, criar, destruir, modificar ou armazenar algum tipo de informação do sistema? O ator tem que ser notificado sobre eventos do sistema, ou o ator necessita notificar o sistema sobre alguma coisa? – o que estes eventos representam em termos de funcionalidade
Achando Casos de Uso Pode o trabalho diário do ator ser simplificado ou mais eficiente através da incorporação de novas funções? Outras questões – Que entradas/saídas o sistema necessita? • De onde vem e para onde vão? – Quais os maiores problemas com a implementação atual (quando existir automática ou a manual)
Identificando Casos de Uso Defina Casos de Uso – Nomeie os casos de uso como uma necessidade • Processar venda ( um necessidade do caixa) – Descreva cada caso de uso • primeiro uma descrição simplificada • complete esta descrição – analise o conjunto de casos de uso e faça uma organização – Não considere a Interface Homem-máquina • isto é implementação – Foco – o que fazer
Caso de Uso: um exemplo 1/8 Caso de Uso: Processar Venda Descrição Breve – O Caixa necessita efetuar a venda de um conjunto de itens selecionados pelo cliente. Deve atualizar estoque, registrar a venda e emitir o recibo Descrição Informal – Um cliente chega no caixa com itens a comprar. O Caixa registra cada item usando o Sistema. O sistema apresenta o total parcial e a descrição de cada item. O cliente entra com a informação de pagamento, que o sistema valida e registra. O sistema atualiza o estoque. O cliente recebe um recibo e parte com os itens adquiridos
Casos de Uso – Detalhado 2/8 Ator primário – o que inicia a ocorrência do caso de uso – Caixa Interessados – – Todos interessados em validar o Caso de Uso Caixa Cliente Gerente Pré-condições – O que deve ser verdade antes de iniciar o caso de uso – O caixa está identificado e autenticado
Casos de Uso – Detalhado 3/8 Pós-condições – O que deve ser verdade após o término com sucesso do caso de uso – A venda está registrada. O estoque foi atualizado, As comissões foram calculadas e armazenadas • descrição ainda informal
Casos de Uso - Descrição Detalhada 4/8 Fluxo Normal – Descreve a história principal de sucesso do caso de uso Fluxos Alternativos ou Extensões – Indicam outros cenários (tanto de sucesso como de insucesso) Requisitos Especiais: requisitos não funcionais, atributos de qualidade ou restrições • Usar um leitor ótico para o código de barras
Casos de Uso – Descrição Detalhada 5/8 Cadastrar Cliente Fluxo Normal: – 1. 2. 3. 4. Número seqüência. Agente + verbo + complemento O cliente fornece seus dados O sistema verifica que o cliente não está cadastrado O sistema adiciona novo cliente O sistema informa que o cadastro foi efetuado com sucesso
Casos de Uso – Descrição Detalhada 6/8 Fluxos Alternativos: Caso <número>: <Descrição do caso alternativo> Número seqüência. Agente + verbo + complemento ; – Finalizar caso de uso ou retornar ao passo. . .
Casos de Uso – Descrição Detalhada 7/8 Cadastrar Cliente - Fluxos Alternativos Caso 1: o cliente já está cadastrado 1. O sistema verifica que o cliente está cadastrado • número da seq. onde se inicia a variante 2. O sistema informa que já está cadastrado 3. Finalizar caso de uso
Casos de Uso – Descrição Detalhada 8/8 Venda Fluxo Normal 1. O cliente chega com os itens selecionados no caixa 2. O Caixa inicia uma venda 3. Para cada item (trazido pelo Cliente) 1. Adicionar Item de venda 4. 5. 6. 7. 8. 9. 10. O caixa finaliza a venda O sistema totaliza a compra e informa o total O cliente efetua o pagamento O Caixa registra o pagamento O sistema da baixa no estoque dos itens vendidos O sistema emite o recibo. . . . .
Exercício Desenvolver o Diagrama de Casos de Uso e a descrição dos Fluxos para o sistema da Petrobrás.
Organizando o Modelo de Casos de Uso
Organizando Organize os atores semelhantes em uma hierarquia de generalização/especialização Especifique as associações de cada ator para os Casos de Uso
Diagrama de Casos de Uso
Diagramas de Casos de Uso São secundários O importante é o texto descrevendo os Casos de Uso Apóiam a organização – Pacotes de Casos de Uso • Agregam casos de uso funcionalmente coesos – Visualizam relacionamentos entre • casos de uso • atores
Revisando Casos de Uso Todos os atores envolvidos com um Caso de Uso – Estão se comunicando? – Aparecem na sua descrição? – Algum não aparece? Tem ator ou Caso de Uso sem nenhuma associação? Algo de errado. . . Tem algum requisito funcional conhecido não tratado pelos Casos de Uso
Revisando Casos de Uso Estruturar modelo de Casos de Uso Estabelecer relacionamentos entre Casos de Uso – “Inclusão” – “Extensão” – “Generalização” Tem similaridades descritas em mais de um caso de Uso eliminar redundâncias – Inclusão (<< include>>) A descrição do Caso de Uso está muito complexa – Extensão (<< extends>>) – Generalização (herança)
Inclusão Executando uma instância do Caso de uso Base <<include>> Caso de Uso Inclusão
Inclusão Caso de uso base incorpora explicitamente comportamento de outro Caso de Uso em ponto específico Representado como uma dependência (seta tracejada) para o Caso de Uso incluído Se o Caso de Uso incluído muda o Base, necessita ser revisto <<include>>
Inclusão Caso de Uso Venda Fluxo Normal 1. 2. 3. 4. . . . Inclui Pagar Finalizar Venda
Inclusão <<include>>
Extensão uma instância do Caso de uso Base Executando Caso de uso Base <<extend>> Ponto de Extensão Caso de Uso Extensão
Extensão Um Caso de Uso incorpora implicitamente o comportamento de outro caso de uso Apenas em circunstâncias específicas o caso de uso estendido é incorporado ao caso de uso base Utilizado para modelar comportamento excepcional do sistema – Exceções
Extensão Representado como uma dependência – seta tracejada para o Caso de Uso Base Se o Caso de Uso base muda o Caso de Uso estendido, necessita ser revisto <<extend>>
Extensão Caso de Uso Devolver Produtos Fluxo Normal 1. O Cliente chega com produto para devolução 2. O Caixa prepara cupom de troca (devolver dinheiro) 3. Reportar ao Estoque 4. Finalizar Operação 1. Ponto de extensão – devolver dinheiro
Extensão <<extends>>
Generalização Executando uma instância do Caso de uso Filho Caso de uso Pai Caso de Uso Filho
Generalização Similar a generalização entre Classes O caso de uso filho herda – o significado do caso de uso pai – o comportamento O comportamento do Caso de Uso filho normalmente é redefinido O Caso de Uso filho pode ser usado no lugar do pai
Generalização derivado base
Generalização Ator: Cliente 1. Esse caso de Uso começa quando o cliente deseja efetuar pagamento 2. O Cliente registra o documento de cobrança 3. O Cliente informa a opção desejada 1. Se pagto a dinheiro – executar subseção Pagar a dinheiro 2. Se pagto com cartão de crédito- executar subseção Pagar com Cartão 4. O sistema registra o pagamento 5. O sistema emite o recibo 6. Subseção – Pagar a Dinheiro 1. 2. 3. 4. O Cliente coloca o dinheiro em um envelope e lacra O Cliente informa o numero do envelope ao sistema O cliente deposita o envelope. . . .
Exercício - Especifique os Casos de Uso para: 1. 2. 3. Sistema da padaria de pequeno porte Sistema inteligente de preenchimento do IRPF Sistema de abertura automática de porta
Revisando. . .
Dicas/Sugestões Todos os Casos de Uso deverão representar algum comportamento distinto e identificável Nomeie um comportamento que seja único, identificável e razoavelmente atômico Faça a fatoração de comportamento comum, obtendo-se este comportamento de outros casos de uso (inclusão) Faça a fatoração de variantes, aplicando esse comportamento a outros casos de uso que o estendem Descreva o fluxo de eventos de maneira suficientemente clara para que alguém de fora seja capaz de compreendêlo com facilidade – Especifique um conjunto mínimo de cenários explicitando a semântica normal e variante do Caso de Uso
Dicas e Sugestões Mostre somente – Casos de Uso que são importantes para a compreensão do comportamento do sistema (ou da parte sendo modelada) – Somente os atores relacionados com esses Casos de Uso
Exercício Especifique um sistema para uma Agenda Telefônica, que controle aniversário dos contatos: – Elicitar requisitos com o uso das técnicas abordadas • Requisitos de negócio • Requisitos de produto • Regras de negócio – Detalhar os Casos de Uso
- Language significado
- Modelagem estatística
- Sistemas de controle
- Modelagem de cargos
- Modelagem
- Modelagem dimensional
- Modelagem olap
- Korth silberschatz e sudarshan descrevem que na
- Modelagem
- Modelagem
- Modelagem de dados
- Modelagem caixa branca
- Modelagem
- Dne correios download 2021
- Requisitos cea
- Nanocad requisitos
- Requisitos de los ancianos
- Norma iso 9126
- Requisitos de la demanda art 255
- Requisitos de la lectura eficiente
- Receta cuantificada veterinaria
- Doble aislamiento en herramientas electricas
- Requisitos para entrar a la universidad
- Analista de requisitos
- Requisitos para instalar windows 7
- Oselementary
- Documento de requisitos de software template
- Lucas 9 23 26
- Requisitos de autocuidado universal
- Modelo de casos de uso
- Php windows installer
- Matriz legal ambiental
- Requisitos para legalizar libros contables
- Requisitos funcionais
- C
- Requisitos de un intercesor
- Matriz de requisitos legales sst 2020
- Crisis requisitos
- Objetivo de dorothea orem
- Elicitação de requisitos
- Teoría de los 21 problemas de enfermería
- Requisitos xampp
- Requisitos de los títulos valores
- Registro general de adquisiciones del estado rgae
- Levantamento de requisitos
- Requisitos universales
- Requisitos não funcionais exemplos
- Inocuidad alimentaria
- Requisitos de la norma iso 17025
- Requisitos não funcionais
- Tipos de requisitos
- Premio deming empresas ganadoras
- Degiro requisitos