Download - Especificação e Modelagem de Requisitos
![Page 1: Especificação e Modelagem de Requisitos](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/1.jpg)
Especificação e Modelagem de Requisitos
![Page 2: Especificação e Modelagem de Requisitos](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/2.jpg)
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ário
Documento de Visão
Analista de Requisitos
![Page 3: Especificação e Modelagem de Requisitos](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/12.jpg)
Casos de Uso
![Page 13: Especificação e Modelagem de Requisitos](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/18.jpg)
Elaborando o Modelo de Casos de Uso
![Page 19: Especificação e Modelagem de Requisitos](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/19.jpg)
Identificando
Nenhum sistema existe isoladamente– interage com atores humanos e/ou autômatos– atores esperam que o sistema se comporte de acordo
com o previstoUm 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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/25.jpg)
Caso de Uso e Ator
FunçãoEmissor
Passo 1Passo 2…Passo N
Descrição
![Page 26: Especificação e Modelagem de Requisitos](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/27.jpg)
Atores
Pode-se definir grupos gerais de atores e suas especializações
Funcionários
BoyCaixa
![Page 28: Especificação e Modelagem de Requisitos](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/31.jpg)
Exemplo de Caso de Uso
Cliente
Transferirdinheiro
Sacardinheiro
Consultarsaldo
Valor deresultado
observável
![Page 32: Especificação e Modelagem de Requisitos](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/33.jpg)
Identificando Casos de Uso
![Page 34: Especificação e Modelagem de Requisitos](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/39.jpg)
Identificando Casos de Uso
Atores Primários– necessidades que são supridas pelo sistema
• Caixa, clienteAtores de suporte– provem serviços para o sistema
• Agente de cartão de créditoPrimeiro temos que encontrar os atores primários– enumere as necessidades para cada ator
![Page 40: Especificação e Modelagem de Requisitos](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/41.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/42.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/43.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/44.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/45.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/46.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/47.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/48.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/49.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/50.jpg)
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 venda4. 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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/51.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/52.jpg)
Organizando o Modelo de Casos de Uso
![Page 53: Especificação e Modelagem de Requisitos](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/53.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/54.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/55.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/56.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/57.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/58.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/59.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/60.jpg)
Inclusão
Caso de Uso VendaFluxo Normal
1. ........2. .........3. Inclui Pagar4. Finalizar Venda
![Page 61: Especificação e Modelagem de Requisitos](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/61.jpg)
Inclusão
Venda
Pagar
Cliente
<<include>>
![Page 62: Especificação e Modelagem de Requisitos](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/62.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/63.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/64.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/65.jpg)
Extensão
Caso de Uso Devolver ProdutosFluxo Normal
1. O Cliente chega com produto para devolução2. 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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/66.jpg)
Extensão
Devolver DinheiroEfetuar Troca
<<extends>>
![Page 67: Especificação e Modelagem de Requisitos](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/67.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/68.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/69.jpg)
Generalização
Pagar a Dinheiro
Pagar com Cartão
Cliente Pagar
base
derivado
![Page 70: Especificação e Modelagem de Requisitos](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/70.jpg)
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 dinheiro2. Se pagto com cartão de crédito- executar subseção
Pagar com Cartão4. 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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/71.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/72.jpg)
Revisando.....
![Page 73: Especificação e Modelagem de Requisitos](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/73.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/74.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062521/56813a97550346895da290f7/html5/thumbnails/75.jpg)
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