especificação e modelagem de requisitos. elicitar requisitos de produto especificar casos de uso e...

75
Especificação e Modelagem de Requisitos

Upload: internet

Post on 17-Apr-2015

114 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Especificação e Modelagem de Requisitos

Page 2: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Especificação e Modelagem de Requisitos

Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar e Validar os requisitos

Requisitosp/ Inspeção

Plano e Casos de Teste

Casos de Uso eEsp. Suplementar

Regras de Negócio

GlossárioDocumento de Visão

Analista de Requisitos

Page 3: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Análise dos Requisitos

Trabalha com requisitos incompletosSe 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?

Page 4: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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

Page 5: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Modelo de Casos de Uso

O Modelo de Casos de Uso– Especifica em detalhes requisitos do sistema

Emprega – Atores – Casos de Uso

Cliente

Comprar

Page 6: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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

Cliente

Page 7: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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

Comprar

Page 8: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Modelo de Casos de Uso

Os atores representam o que interage com o sistemaRepresentam tudo que necessita trocar informação com o sistemaComo estão fora do sistema: não são descritos em detalheAtores 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

Page 9: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Modelo de Casos de Uso

Uma instância de um Ator efetua diversas operações no sistemaQuando um usuário usa o sistema, efetua um seqüência de transações relacionadas em um diálogo com o sistemaEsta seqüência é chamada de Caso de UsoCada 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

Page 10: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Modelo de Casos de Uso

Casos de Uso capturam os requisitos funcionaisO conjunto de todos os Casos de Uso especificam a funcionalidade completa do sistemaAgrupar funcionalidades e chamá-las de Casos de Uso facilita o gerenciamento destes requisitos durante ciclo de desenvolvimento

Page 11: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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

Page 12: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Casos de Uso

Page 13: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Casos de Uso

Discutir com o cliente o que o sistema faráIdentificar quem interage com o sistemaIdentificar que interfaces o sistema terá

Page 14: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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

Page 15: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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

Page 16: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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

Page 17: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

De posse dos Casos de Uso

Verifique se não há requisitos faltandoVerifique que os desenvolvedores entendem os requisitosVantagem é ter apelo visual dos requisitos mais relevantes do cliente

Page 18: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Elaborando o Modelo de Casos de Uso

Page 19: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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

Page 20: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Seqüência de ações, executada pelo sistema, que gera um resultado

– De valor observável– E para um ou mais

atoresFunção

Procedimento computacional

Casos de Uso: função – transação/serviço

Page 21: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Caso de Uso: Ator

Alguém ou alguma coisa (fora do sistema) que interage com o sistema

Emissor/Receptor

Page 22: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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

Page 23: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Caso de Uso

Executa alguma quantidade tangível de trabalhoSob a perspectiva do ator fornece– um resultado– um novo objeto– alteração de estado de um objeto existente

Page 24: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Caso de Uso

A descrição de um caso de uso define o que o sistema faz quando o caso de uso é realizadoA 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

Page 25: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Caso de Uso e Ator

Função

Emissor

Passo 1Passo 2…Passo N

Descrição

Page 26: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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)

Page 27: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Atores

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

Funcionários

BoyCaixa

Page 28: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Atores

Os atores estão associados a Casos de Uso

– Ator e Caso de Uso se comunicam

– Enviar e Receber mensagens

Cliente

Caixa

Venda

Page 29: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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

Page 30: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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: ClienteCasos de Uso: Sacar dinheiro, Transferir dinheiro e Consultar saldo

Page 31: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Exemplo de Caso de Uso

Cliente

Transferirdinheiro

Sacardinheiro

Consultarsaldo

Valor deresultado

observável

Page 32: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Identificando Casos de Uso

Em geral, é difícil decidir entre um ou vários Casos de UsoPor 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

Page 33: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Identificando Casos de Uso

Page 34: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Identificando Casos de Uso

Deve representar valor observável para atorPode-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

Page 35: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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

Page 36: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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

Page 37: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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

Page 38: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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?

Page 39: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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

Page 40: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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

Page 41: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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)

Page 42: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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

Page 43: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Caso de Uso: um exemplo 1/8

Caso de Uso: Processar VendaDescriçã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

Page 44: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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

Page 45: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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

Page 46: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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

Page 47: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Casos de Uso – Descrição Detalhada 5/8

Cadastrar Cliente

Fluxo Normal: – Número seqüência. Agente + verbo + complemento

1. O cliente fornece seus dados2. O sistema verifica que o cliente não está

cadastrado3. O sistema adiciona novo cliente4. O sistema informa que o cadastro foi efetuado

com sucesso

Page 48: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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

Page 49: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Casos de Uso – Descrição Detalhada 7/8

Cadastrar Cliente - Fluxos Alternativos

Caso 1: o cliente já está cadastrado1. 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

Page 50: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Casos de Uso – Descrição Detalhada 8/8

VendaFluxo Normal

1. O cliente chega com os itens selecionados no caixa2. O Caixa inicia uma venda3. Para cada item (trazido pelo Cliente)

1. Adicionar Item de venda

4. O caixa finaliza a venda5. O sistema totaliza a compra e informa o total 6. O cliente efetua o pagamento7. O Caixa registra o pagamento 8. O sistema da baixa no estoque dos itens vendidos9. O sistema emite o recibo10. ......................

Page 51: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Exercício

Desenvolver o Diagrama de Casos de Uso e a descrição dos Fluxos para o sistema da Petrobrás.

Page 52: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Organizando o Modelo de Casos de Uso

Page 53: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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

Page 54: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Diagrama de Casos de Uso

Pessoa Fisica Pessoa Juridica

ClienteRealizar transacao com Cartao de

CreditoAgente de Cartao

de Credito

Processar Conta do Cliente

Instituicao Financeira

Page 55: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Diagramas de Casos de Uso

São secundáriosO importante é o texto descrevendo os Casos de UsoApóiam a organização– Pacotes de Casos de Uso

• Agregam casos de uso funcionalmente coesos

– Visualizam relacionamentos entre • casos de uso• atores

Page 56: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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

Page 57: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Revisando Casos de Uso

Estruturar modelo de Casos de UsoEstabelecer 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)

Page 58: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Inclusão

Caso de uso Base

Caso de Uso Inclusão

<<include>>

Executando uma instância do Caso de uso Base

Page 59: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Inclusão

Caso de uso base incorpora explicitamente comportamento de outro Caso de Uso em ponto específicoRepresentado como uma dependência (seta tracejada) para o Caso de Uso incluídoSe o Caso de Uso incluído muda o Base, necessita ser revisto<<include>>

Page 60: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Inclusão

Caso de Uso VendaFluxo Normal

1. ........2. .........3. Inclui Pagar4. Finalizar Venda

Page 61: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Inclusão

Venda

Pagar

Cliente

<<include>>

Page 62: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Extensão

Caso de uso Base

Caso de Uso Extensão

<<extend>>

Executando uma instância do Caso de uso Base

Ponto deExtensão

Page 63: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Extensão

Um Caso de Uso incorpora implicitamente o comportamento de outro caso de usoApenas em circunstâncias específicas o caso de uso estendido é incorporado ao caso de uso baseUtilizado para modelar comportamento excepcional do sistema – Exceções

Page 64: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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

Page 65: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Extensão

Caso de Uso Devolver ProdutosFluxo Normal

1. O Cliente chega com produto para devolução

2. O Caixa prepara cupom de troca (devolver dinheiro)

3. Reportar ao Estoque4. Finalizar Operação

1. Ponto de extensão – devolver dinheiro

Page 66: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Extensão

Devolver DinheiroEfetuar Troca

<<extends>>

Page 67: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Generalização

Executando uma instância do Caso de uso Filho

Caso de uso Pai

Caso de Uso Filho

Page 68: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Generalização

Similar a generalização entre ClassesO caso de uso filho herda– o significado do caso de uso pai– o comportamento

O comportamento do Caso de Uso filho normalmente é redefinidoO Caso de Uso filho pode ser usado no lugar do pai

Page 69: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Generalização

Pagar a Dinheiro

Pagar com Cartão

Cliente Pagar

base

derivado

Page 70: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

GeneralizaçãoAtor: Cliente1. Esse caso de Uso começa quando o cliente

deseja efetuar pagamento2. O Cliente registra o documento de cobrança3. 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 pagamento5. O sistema emite o recibo6. Subseção – Pagar a Dinheiro

1. O Cliente coloca o dinheiro em um envelope e lacra2. O Cliente informa o numero do envelope ao sistema3. O cliente deposita o envelope4. .......

Page 71: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Exercício

- Especifique os Casos de Uso para:1. Sistema da padaria de pequeno porte2. Sistema inteligente de preenchimento do IRPF3. Sistema de abertura automática de porta

Page 72: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

Revisando.....

Page 73: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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ômicoFaç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 estendemDescreva 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

Page 74: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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

Page 75: Especificação e Modelagem de Requisitos. Elicitar Requisitos de Produto Especificar casos de uso e validá-los Especificar requisitos não funcionais Analisar

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