A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Especificação e Modelagem de Requisitos

Apresentações semelhantes


Apresentação em tema: "Especificação e Modelagem de Requisitos"— Transcrição da apresentação:

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


Carregar ppt "Especificação e Modelagem de Requisitos"

Apresentações semelhantes


Anúncios Google