51
CIn-UFPE CIn-UFPE 1 ©2003, Alexandre Vasconcelos & Augusto Sampaio ©2003, Alexandre Vasconcelos & Augusto Sampaio Análise e Projeto de Sistemas Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

Embed Size (px)

Citation preview

Page 1: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 11©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Análise e Projeto de SistemasAnálise e Projeto de Sistemas

Modelagem de Requisitos com Casos de Uso

Page 2: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 22©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

ObjetivosObjetivos

Descrever em detalhe a técnica de Modelagem de Requisitos com Casos de Uso

Apresentar um modelo de documento de requisitos Discutir o uso do diagrama de atividades na modelagem

de casos de uso

Page 3: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 33©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Conceitos Básicos

Page 4: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 44©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Principais Tipos de RequisitosPrincipais Tipos de Requisitos

Não-Funcionais Atributos ou qualidades do sistema

Funcionais Expressam funcionalidades do sistema

Page 5: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 55©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Alguns Tipos de Requisitos Não-FuncionaisAlguns Tipos de Requisitos Não-Funcionais

Usabilidade (Facilidade de uso) Confiabilidade Desempenho Segurança Distribuição Adequação a Padrões Restrições de Hardware e Software

Page 6: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 66©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Caso de usoCaso de uso

É uma forma específica de uso do sistema através da execução de alguma de suas funcionalidades.

Uma unidade coerente de funcionalidade provida por um um sistema, manifestada por uma seqüência de mensagens trocadas entre o sistema e um ou mais usuários externos (representados como atores), junto com as ações executadas pelo sistema.

Page 7: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 77©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Caso de uso (continuação)Caso de uso (continuação)

Descrevem o que acontece dentro do sistema. Ajudam muito na comunicação entre clientes e

desenvolvedores. Mostram apenas o que o sistema faz, e não como.

Capturam o comportamento pretendido para um sistema, sem a necessidade de especificar como esse comportamento será implementado.

Page 8: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 88©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Caso de uso: representação gráficaCaso de uso: representação gráfica

Solicitarextrato Solicitar saldo

Page 9: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 99©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

AtoresAtores

Constituem as entidades que interagem com o ambiente do sistema Pessoas ou outros sistemas (de hardware ou software) que

interagem com o sistema em desenvolvimento Definem um papel particular São sempre externos ao sistema O sistema será descrito através de vários casos de uso

que são executados por um número de atores

Page 10: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 1010©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Ator: representação gráficaAtor: representação gráfica

Cliente Caixa

Page 11: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 1111©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Atores x usuários do sistemaAtores x usuários do sistema

Uma mesma pessoa pode desempenhar diferentes papéis

Carlos comoprofessor

Professor Estudante

Carlos comoestudante

Carlos

Page 12: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 1212©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

DDiagrama de casos de usoiagrama de casos de uso

Diagrama com os casos de uso do sistema e atores relacionados

Facilitam o entendimento do sistema mostrando a sua “visão externa”.

A coleção de casos de uso deve especificar todas as formas existentes de uso do sistema

Diagrama de casos de uso

Page 13: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 1313©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

DDiagrama de casos de uso:iagrama de casos de uso: representação gráficarepresentação gráfica

Cliente

Sacar dinheiro

Realizar depósito

Transferir entre contas

Uma associação entre um ator e um caso de uso indica que há uma comunicação, possivelmente com envio e recepção de mensagens.

Page 14: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 1414©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

CenáriosCenários

Em UML significa um caminho através de um caso de uso.

Uma instância de um caso de uso Exemplo (Sacar dinheiro):

Saque com sucesso Tentativa de saque MAS senha incorreta Tentativa de saque MAS saldo insuficiente

Page 15: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 1515©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Requisitos Não-Funcionais Requisitos Não-Funcionais xx Casos de Uso Casos de Uso

Requisitos não funcionais podem ser: Específicos: associados a um caso de uso específico Genéricos: associados a vários casos de uso ou ao sistema com

um todo Para serem atendidos podem gerar novos casos de uso

Page 16: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 1616©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Especificação de Caso de UsoEspecificação de Caso de Uso

Identificador do caso de uso Breve Descrição Ator (opcional) Prioridade Pré condições Pós condições Fluxo de eventos:

Fluxo de eventos principal Fluxos secundários: alternativos e de exceção

Requisitos Não-Funcionais Específicos

Page 17: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 1717©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Modelo de casos de uso

AtoresCasos de uso

Especificações de casos de uso

Modelo de casos de usoModelo de casos de uso

Page 18: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 1818©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Pacotes de Casos de UsoPacotes de Casos de Uso

Servem para agrupar casos de uso relacionados

Critérios para agrupamento: ator funcionalidades correlatas processos “um por todos e todos por um”

Page 19: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 1919©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Um Modelo de Documento de RequisitosUm Modelo de Documento de Requisitos Introdução

Objetivos do documento Público ao qual se destina Termos e acrônimos Referências

Descrição geral do sistema Abrangência e sistemas relacionados Descrição dos usuários

Casos de uso Diagrama Especificações

Requisitos não funcionais genéricos

Page 20: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 2020©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Como encontrar atores eComo encontrar atores ecasos de uso?casos de uso?

Page 21: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 2121©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Como encontrar atores?Como encontrar atores?

Quem usa o sistema? Quem instala/mantém o sistema? Quem inicia/desliga o sistema? Que outros sistemas usam o sistema? Quem recebe informação do sistema? Quem provê informação ao sistema?

Page 22: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 2222©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Como encontrar casos de uso?Como encontrar casos de uso?

Atores são fundamentais para a descoberta dos casos de uso

Pergunte Que funções o ator vai querer do sistema? O sistema armazena informações? Que informações atores irão

criar, ler, atualizar ou apagar? O sistema precisa notificar o ator sobre mudanças no seu estado

interno? Existe algum evento externo que o sistema precisa saber? Que

ator informa o sistema desses eventos?

Page 23: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 2323©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Especificação Detalhadados Casos de Uso

Page 24: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 2424©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Quando e por que realizá-las? Quando e por que realizá-las?

Quando? após fazer levantamento dos principais casos de uso do sistema

Por que? descrever detalhes dos casos de uso descrever fluxos de eventos e outras propriedades uniformizar entendimento entre clientes, usuários e equipe de

desenvolvimento

Page 25: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 2525©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Identificação do Identificação do ccaso de aso de uusoso

Deve ser única! Não deve mudar nunca Pois casos de uso podem ser referenciados por

seu identificador

Page 26: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 2626©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Breve descrição do caso de usoBreve descrição do caso de uso

Dar uma idéia do propósito do caso de uso, do seu objetivo

Deve ser feita ao se identificar o caso de uso, para evitar mal-entendidos

2 ou 3 linhas!

Page 27: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 2727©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Prioridade de casos de Prioridade de casos de uusoso

Essencial para gerenciar os requisitos É preciso definir prioridade de todos os casos de

uso Exemplos de prioridade:

Essencial Importante Desejável

Page 28: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 2828©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Pré e pós condiçõesPré e pós condições

O que deve ser verdade antes e depois da realização do caso de uso!

Page 29: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 2929©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Pré e pós condições: exemplosPré e pós condições: exemplos

Caso de uso “Entregar pedido” Pré condição: os itens do pedido devem existir em estoque Pós condição: os itens enviados devem ser abatidos do estoque

Caso de uso “Recadastrar CPF” Pré condição: o usuário deve possuir um CPF Pós condição: a situação do contribuinte é atualizada

Page 30: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 3030©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Fluxo de eventos básico/principalFluxo de eventos básico/principal

Série de passos que compõem um caso de uso Concentre-se inicialmente na funcionalidade

básica/central do caso de uso Pense nos fluxos secundários depois!

Page 31: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 3131©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Exemplo de um fluxo básicoExemplo de um fluxo básico

Caso de uso “Sacar dinheiro”1. O cliente passa o seu cartão2. Digita sua senha3. Digita o valor do saque4. O sistema verifica se há saldo suficiente5. O saldo é debitado da conta do cliente6. O dinheiro é entregue ao cliente

Page 32: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 3232©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Exemplo de um fluxo básicoExemplo de um fluxo básico

Caso de uso “Sacar dinheiro”

MAS... E se a senha não conferir? E se não houver saldo? E se não houver dinheiro suficiente na máquina?

Page 33: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 3333©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Fluxos secundáriosFluxos secundários

Só devem ser analisados e descritos após a descrição dos fluxos básicos. situações especiais (ex: desconto para um cliente) situações de erro

Page 34: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 3434©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Uso do diagrama de atividades na especificação dos fluxos de eventos

Page 35: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 3535©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Diagrama de atividadesDiagrama de atividades

Usados para representar graficamente o fluxo de eventos (fluxo básico + fluxos alternativos)

São semelhantes aos antigos fluxogramas. São muito usados para modelar atividades concorrentes.

Às vezes um diagrama fala mais que 1000 palavras!

Page 36: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 3636©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Diagrama de atividadesDiagrama de atividades

É composto de: atividades transições decisões

Page 37: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 3737©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Estado inicial

Verifica senha

Libera dinheiro

Termina transação eImprime recibo

Manipula senha incorreta

[ incorreta ]

[ correta ]

Pede valor

condição deguarda

atividade

[ dinheiro disponível ]

[ dinheiro não disponível ]

Prepara paraImprimir recibo

[ resolvido ]

[ não resolvido ]

Exemplo: diagrama de atividades para o caso de uso Exemplo: diagrama de atividades para o caso de uso Sacar dinheiroSacar dinheiro

transição

concorrência

Estado final

decisão

sincronização de atividades

Page 38: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 3838©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Estruturação do Modelode Casos de Uso

Page 39: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 3939©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Por que estruturar o modelo?Por que estruturar o modelo?

Extrair descrições de funcionalidades genéricas e compartilhadas que podem ser usadas por mais de um caso de uso.

Extrair descrições de funcionalidades adicionais que possam estender descrições específicas

Facilitar o entendimento do modelo

Page 40: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 4040©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Generalização de AtoresGeneralização de Atores

É possível definir tipos gerais de atores e especializá-los usando o relacionamento de especialização

Vendedor Realizar venda

Estabelecer créditoSupervisor

Page 41: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 4141©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Generalização de Atores: outro exemplo Generalização de Atores: outro exemplo

Aluno

Alunotempo integral

Alunotempo parcial

Page 42: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 4242©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Relacionamentos entre Casos de UsoRelacionamentos entre Casos de Uso

Inclusão Extensão Generalização

Page 43: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 4343©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Inclusão de casos de usoInclusão de casos de uso

Use inclusão quando houver repetição entre casos de uso e você desejar evitar esta repetição.

Um caso de uso incorpora explicitamente o comportamento de outro caso de uso, evitando assim repetições de descrição de fluxos.

Page 44: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 4444©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Inclusão de casos de uso: exemploInclusão de casos de uso: exemplo

Efetuar pagamento

Vendedor

Realizar pedido

<<includes>>

Page 45: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 4545©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Inclusão de casos de uso: outro exemploInclusão de casos de uso: outro exemplo

Validar cliente

Cliente

Sacar

<<includes>>

Page 46: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 4646©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Exemplo de inclusão: validação de cliente no Exemplo de inclusão: validação de cliente no sistemasistema

Use Case: SacarO cliente seleciona a opção “sacar”O cliente informa o valor a ser sacadoincludes Validar clienteO cliente recebe o dinheiro

Use Case de Inclusão: Validar ClienteO cliente informa a senha e passa o cartãoO sistema valida a senha e os dados do cartão

Page 47: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 4747©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Extensão de casos de usoExtensão de casos de uso

Use extensão quando quiser descrever uma variação do comportamento normal. partes opcionais de use cases cursos alternativos e complexos que raramente ocorrem

Solicitar catálogo

Vendedor

Realizar pedido

<<extends>>

Page 48: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 4848©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Generalização de casos de usoGeneralização de casos de uso

Relaciona um Use Case especializado a um mais geral O filho herda os atributos, operações e seqüências de

comportamento dos pais O filho pode adicionar e redefinir o comportamento do pai O filho pode substituir o pai em qualquer lugar que ele

aparece

Page 49: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 4949©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Generalização de casos de uso: exemploGeneralização de casos de uso: exemplo

Validar cliente

Verificar password Scan da retina

Page 50: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 5050©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Diagrama de casos de uso estruturado: outro Diagrama de casos de uso estruturado: outro exemploexemplo

Estudante

Secretária

<<estende>> Histórico dosemestre atual

Solicitar histórico dedo curso

Solicitarhistórico

<<estende>>

Verificardependências

Matricularaluno<<inclui>>

Sistema de controlede pre-requisitos

Page 51: ©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso

CIn-UFPECIn-UFPE 5151©2003, Alexandre Vasconcelos & Augusto Sampaio©2003, Alexandre Vasconcelos & Augusto Sampaio

Diagrama de casos de uso estruturado: Diagrama de casos de uso estruturado: outro exemplooutro exemplo

Mostrar dados da consulta

Informar dados do Qualiti Card

<<include>>

Operadora do DOC

Operadora cartao de créditoRealizar transferencia

Consultar cheques

Solicitar taloes de cheque

Desbloquear taloes de cheque

Efetuar Login Alterar senha

Consultar saldo

<<include>>

Consultar extrato

<<include>>

Consultar Cartão

<<include>>

Realizar DOC

Efetuar pagamento do Cartão

<<include>>

Habilitar acesso a conta

Cliente