Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Especificação e Modelagem de Requisitos
2
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
3
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?
4
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
5
O Modelo de Casos de Uso Emprega Modelo de Casos de Uso
Especifica em detalhes requisitos do sistema Emprega Atores Casos de Uso
6
Define o que existe do lado de fora do sistema
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
7
Caso de Uso: Cenário: 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
8
Os atores representam o que interage com o 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
9
Uma instância de um Ator efetua diversas operações no sistema
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
10
Casos de Uso capturam os requisitos funcionais
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
11
Do conjunto de casos de uso é possível derivar o Plano de Testes
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
12
Casos de Uso
13
Discutir com o cliente o que o sistema fará
Casos de Uso Discutir com o cliente o que o sistema fará Identificar quem interage com o sistema Identificar que interfaces o sistema terá Fonte: Alexandre Mota - UFPE
14
Tipos e Formatos Casos de Uso Caixa preta
O sistema é descrito em termos de suas responsabilidades Elementos de software possuem responsabilidades e colaboram com outros elementos que têm responsabilidades
15
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
16
evolução no tempo Formato Casos de Uso 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
17
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
18
Elaborando o Modelo de Casos de Uso
19
Nenhum sistema existe isoladamente
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
20
Casos de Uso: função – transação/serviço
Procedimento computacional Seqüência de ações, executada pelo sistema, que gera um resultado De valor observável E para um ou mais atores Função
21
Alguém ou alguma coisa (fora do sistema) que interage com o sistema
Caso de Uso: Ator Alguém ou alguma coisa (fora do sistema) que interage com o sistema Emissor/Receptor
22
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
23
Executa alguma quantidade tangível de trabalho
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
24
Além disso, servem para:
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
25
Caso de Uso e Ator Descrição Passo 1 Passo 2 … Passo N Emissor Função
26
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)
27
Pode-se definir grupos gerais de atores e suas especializações
28
Os atores estão associados a Casos de Uso
Ator e Caso de Uso se comunicam Enviar e Receber mensagens
29
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
30
Cliente de banco deseja usar um caixa automático para
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
31
Transferir dinheiro Sacar dinheiro Consultar saldo Cliente
Exemplo de Caso de Uso Valor de resultado observável Transferir dinheiro Sacar dinheiro Consultar saldo Cliente
32
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
33
Identificando Casos de Uso
34
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
35
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
36
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, ....
37
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
38
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? Existem atividades temporais periódicas? Ressaltar que o TEMPO é um ator do sistema quando dada tarefa repete-se de “tempos em tempos”.
39
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
40
Que funções o ator requer do sistema? O que o ator necessita fazer?
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
41
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)
42
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
43
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
44
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 Cliente Gerente Pré-condições O que deve ser verdade antes de iniciar o caso de uso O caixa está identificado e autenticado
45
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
46
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
47
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
48
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...
49
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
50
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
51
Exercício Desenvolver o Diagrama de Casos de Uso e a descrição dos Fluxos para o sistema da Petrobrás.
52
Organizando o Modelo de Casos de Uso
53
Especifique as associações de cada ator para os 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
54
Diagrama de Casos de Uso
55
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
56
Todos os atores envolvidos com um Caso de Uso
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
57
Estruturar modelo de 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)
58
Executando uma instância do Caso de uso Base
Inclusão Executando uma instância do Caso de uso Base Caso de uso Base Caso de Uso Inclusão <<include>>
59
Se o Caso de Uso incluído muda o Base, necessita ser revisto
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>>
60
Caso de Uso Venda Fluxo Normal ........ ......... Inclui Pagar
Inclusão Caso de Uso Venda Fluxo Normal Inclui Pagar Finalizar Venda
61
<<include>>
Inclusão <<include>>
62
Executando uma instância do Caso de uso Base
Extensão Executando uma instância do Caso de uso Base Caso de uso Base Caso de Uso Extensão <<extend>> Ponto de Extensão
63
Utilizado para modelar comportamento excepcional do sistema
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
64
Representado como uma dependência
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>>
65
Caso de Uso Devolver Produtos Fluxo Normal
Extensão Caso de Uso Devolver Produtos Fluxo Normal O Cliente chega com produto para devolução O Caixa prepara cupom de troca (devolver dinheiro) Reportar ao Estoque Finalizar Operação Ponto de extensão – devolver dinheiro
66
<<extends>>
Extensão <<extends>>
67
Executando uma instância do Caso de uso Filho
Generalização Executando uma instância do Caso de uso Filho Caso de uso Pai Caso de Uso Filho
68
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
69
Generalização derivado base
70
Esse caso de Uso começa quando o cliente deseja efetuar pagamento
Generalização Ator: Cliente Esse caso de Uso começa quando o cliente deseja efetuar pagamento O Cliente registra o documento de cobrança O Cliente informa a opção desejada Se pagto a dinheiro – executar subseção Pagar a dinheiro Se pagto com cartão de crédito- executar subseção Pagar com Cartão O sistema registra o pagamento O sistema emite o recibo Subseção – Pagar a Dinheiro O Cliente coloca o dinheiro em um envelope e lacra O Cliente informa o numero do envelope ao sistema O cliente deposita o envelope
71
Especifique os Casos de Uso para:
Exercício Especifique os Casos de Uso para: Sistema da padaria de pequeno porte Sistema inteligente de preenchimento do IRPF Sistema de abertura automática de porta
72
Revisando.....
73
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
74
Mostre somente Dicas e Sugestões
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
75
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.