750 likes | 878 Views
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. Analista de
E N D
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 Analista de Requisitos Casos de Uso e Esp. Suplementar Plano e Casos de Teste 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 com comportamento como • uma pessoa (identificada pelo seu papel) • um sistema computacional • uma organização • um sensor/atuador
Caso de Uso • 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 • 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 • 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 evolução no tempo
De posse dos Casos de Uso • Verifique se não há requisitos faltando • Verifique que os desenvolvedores entendem os requisitos • Vantagem é ter apelo visual dos requisitos mais relevantes do cliente
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
Procedimento computacional 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
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
Descrição Caso de Uso e Ator 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 • 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: • 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 • O cliente chega com os itens selecionados no caixa • O Caixa inicia uma venda • Para cada item (trazido pelo Cliente) • Adicionar Item de venda • 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 • ......................