Especifica - PowerPoint PPT Presentation

About This Presentation
Title:

Especifica

Description:

Title: Slide sem t tulo Author: Teresa Last modified by: Esteban Created Date: 5/10/2003 11:43:19 AM Document presentation format: Apresenta o na tela (4:3) – PowerPoint PPT presentation

Number of Views:44
Avg rating:3.0/5.0
Slides: 76
Provided by: Teresa
Category:

less

Transcript and Presenter's Notes

Title: Especifica


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
Requisitos p/ Inspeção
Plano e Casos de Teste
Casos de Uso e Esp. Suplementar
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
Modelo de Casos de Uso
  • O Modelo de Casos de Uso
  • Especifica em detalhes requisitos do sistema
  • Emprega
  • Atores
  • Casos de Uso

6
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
  • 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
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
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
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
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
Casos de Uso
  • Discutir com o cliente o que o sistema fará
  • Identificar quem interage com o sistema
  • Identificar que interfaces o sistema terá

14
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

15
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.......

16
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
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
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
  • 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
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
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
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
Passo 1 Passo 2 Passo N
Emissor
Função
26
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)

27
Atores
  • Pode-se definir grupos gerais de atores e suas
    especializações

28
Atores
  • 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
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
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?

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
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
  • Caixa
  • 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 ltnúmerogt ltDescrição do caso alternativogt
  • 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
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
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
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 (ltlt includegtgt)
  • A descrição do Caso de Uso está muito complexa
  • Extensão (ltlt extendsgtgt)
  • Generalização (herança)

58
Inclusão
Executando uma instância do Caso de uso Base
59
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
  • ltltincludegtgt

60
Inclusão
  • Caso de Uso Venda
  • Fluxo Normal
  • ........
  • .........
  • Inclui Pagar
  • Finalizar Venda

61
Inclusão
ltltincludegtgt
62
Extensão
Executando uma instância do Caso de uso Base
63
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
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
  • ltltextendgtgt

65
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
Extensão
ltltextendsgtgt
67
Generalização
Executando uma instância do Caso de uso Filho
68
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

69
Generalização
derivado
base
70
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
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
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

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
Write a Comment
User Comments (0)
About PowerShow.com