SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
DIAGRAMAS DE CASOS DE USO
       Sergio da Silva Chaves
OBJETIVOS
•   Introduzir conceitos de casos de uso, ator e fluxo de eventos
•   Apresentar sub-fluxos de eventos
•   Discutir sobre identificação, evolução e organização de casos de uso
•   Apresentar notação UML para reusar atores e casos de uso
CASO DE USO

                         • Seqüência de ações,
                           executada pelo sistema,
                           que gera um resultado
                               • De valor observável
                               • E para ator particular
  Função




  Procedimento computacional
CASO DE USO E ATOR

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




Emissor/Receptor
CASO DE USO
    E ATOR




                                      Resultado de Valor Observável
Ator Particular




                             Função
                  Emissor




                             Função
                  Receptor
CASO DE USO E ATOR
•   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
CASO DE USO E ATOR

          Descrição



                      Passo 1
                      Passo 2
                      …
                      Passo N

Emissor
                      Função
EXEMPLO DE CASO DE USO E ATOR
•   Cliente de banco pode usar um caixa automático para
     • sacar dinheiro, transferir dinheiro ou consultar o saldo da conta
•   Ator: Cliente
•   Caso de uso: Sacar dinheiro, transferir dinheiro e consultar saldo
EXEMPLO DE CASO DE USO E ATOR


  Valor de
 resultado
observável

                  Transferir
                   dinheiro




    Sacar                         Consultar
   dinheiro                        saldo

                   Cliente
IDENTIFICANDO CASOS DE USO
•   Em geral, difícil decidir entre um ou vários casos de uso
•   Por exemplo, seriam casos de uso
     • Inserir cartão em um Caixa Automático?
     • Entrar com a senha?
     • Receber o cartão de volta?
IDENTIFICANDO CASOS DE USO
•   Representar valor observável para ator
•   Pode-se determinar
     • De interações (seqüência de ações) com o sistema que resultam valores para atores
     • Satisfaz um objetivo particular de um ator que o sistema deve prover
IDENTIFICANDO CASO DE USO
•   Facilitar gerenciamento durante ciclo de desenvolvimento
     • A razão para agrupar funcionalidades e chamá-las de casos de uso
EVOLUÇÃO DOS CASOS DE USO
• Inicialmente use cases são simples
   • Apenas esboço sobre funcionamento é suficiente
• Mas com a sedimentação da modelagem
   • Descrição mais detalhada do fluxo de eventos faz-se necessária
• Fluxo de eventos deve ser refinado
   • Todos os stakeholders* envolvidos devem estar de acordo com a
     descrição
       *São pessoas ou grupos específicos que tem uma quota de influencia no resultado do projeto.
ORGANIZANDO CASOS DE USO

  •   Sistema pequeno não demanda estruturação
       • Exemplo, seis casos de uso, com dois/três atores
  •   Já sistemas maiores requerem princípios de estruturação e organização
       • Caso contrário, planejamento, atribuição de prioridades, etc., podem se tornar difíceis
PACOTE DE CASO DE USO
•   Primeiro esforço de estruturação
•   Agrupam-se use cases relacionados em único container
PACOTE DE CASOS DE USO




   Clientes
                         Clientes :: Atendimento
REUSO EM CASOS DE USO

  •   Comportamento comum a mais de dois casos de uso (ou forma parte independente)
       • Pode-se modelar como caso de uso para ser reusado
  •   Há três possibilidades
       • Inclusão
       • Extensão
       • Generalização/Especialização
INCLUSÃO
•   Vários casos de uso possuem texto de fluxo de eventos
     • Comum/idêntico
     • Sempre usado
•   Equivalente a fatoração feita em programação através de sub-programas
     • #include da linguagem C
INCLUSÃO

  • Como exemplo, tanto “Sacar dinheiro” quanto
    “Consultar saldo” necessitam da senha
     • Pode-se criar novo caso de uso “Autenticar usuário” e incluí-
       lo
  • Mas atenção
     • NÃO SE DEVE CRIAR CASOS DE USO MÍNIMOS
     • Deve haver ganho no reuso
INCLUSÃO




                    Autenticar
    << include >>                << include >>
                     usuário




   Sacar                            Consultar
  dinheiro                           saldo
INCLUSÃO
•   Descrição de Consultar saldo
     • Fluxo de Eventos Principal:
          • include (Autenticar usuário). Sistema pede a Cliente que selecione tipo de conta
            (corrente, etc). ...
EXTENSÃO
•   Use case pode ser estendido por outro
     • Extensão de funcionalidade/Caso excepcional
•   Extensão ocorre em pontos específicos
     • Pontos de extensão
EXTENSÃO
•   Há também inclusão de texto (fluxo de eventos)
     • Porém sob condições particulares
•   Pode ser usada para
     • Simplificar fluxos de eventos complexos
     • Representar comportamentos opcionais
     • Lidar com exceções
EXTENSÃO



              << extend >>
                (urgente)




Atendimento                     Atendimento
de urgência
                             Pontos de extensão
                                  urgente
EXTENSÃO
•   Descrição de Atendimento
     • Fluxo de Eventos Principal:
          • Colete os itens do pedido. (urgente). Submeta pedido para processamento.
ESPECIALIZAÇÃO
•   Caso de uso pode especializar outro
     • Adição/refinamento do fluxo de eventos original
•   Especialização permite modelar comportamento de estruturas de aplicação em comum
ESPECIALIZAÇÃO




                 ∆
Atendimento          Atendimento
de urgência




                     ∆
  Cliente              Cliente
 comercial
FLUXO DE EVENTOS
•   Parte mais importante de um caso de uso
     • Atividade de requisitos
•   Define a seqüência de ações entre o ator e o sistema
FLUXO DE EVENTOS
•   Geralmente em linguagem natural
     • Uso preciso de termos definidos no glossário de acordo com o domínio do problema
•   Também expresso formalmente
     • Pré e pós-condições (ou pseudo-código)
EXEMPLO DE FLUXO DE EVENTOS
•        Um esboço inicial sobre Sacar dinheiro seria
    1.       O caso de uso inicia quando o Cliente insere um cartão no caixa eletrônico. Sistema
             lê e valida informação do cartão
    2.       Sistema pede a senha. Cliente entra com a senha. Sistema valida a senha.
    3.       Sistema pede seleção do serviço. Cliente escolhe “Sacar dinheiro”
    4.       Sistema pede a quantia a sacar. Cliente informa.
    5.       Sistema pede seleção da conta (corrente, etc). Cliente informa.
    6.       Sistema comunica com a rede para validar a conta, senha e o valor a sacar.
    7.       Sistema pede remoção do cartão. Cliente remove.
    8.       Sistema entrega quantia solicitada.
FLUXO DE EVENTOS
•   Na descrição do que o sistema faz através de fluxos de eventos completos
     • Surgem caminhos alternativos
     • Casos diferentes a considerar
     • Efeitos/valores diferentes a produzir
•   Eventualmente descreve todos esses caminhos possíveis
SUB-FLUXOS DE EVENTOS
•   Fluxo de eventos visto como
     • Vários sub-fluxos de eventos
•   Sub-fluxos são descritos como
     • Principal
     • Alternativos/excepcionais
•   Abordagem visa reuso de fluxos de eventos (sub-fluxos)
EXEMPLO DE SUB-FLUXOS
• Seja o use case Validar usuário
   • Fluxo principal:
       • O caso de uso inicia quando o sistema pede ao Cliente a senha.
         Cliente entra com senha. Sistema verifica se a senha é válida. Se a
         senha é válida, sistema confirma e termina o use case.
   • Fluxo excepcional:
       • Cliente pode cancelar a transação a qualquer momento pressionando
         a tecla ESC, reiniciando o caso de uso. Nenhuma modificação é feita
         na conta do Cliente.
   • Fluxo excepcional:
       • Se Cliente entra com senha inválida, o caso de uso reinicia.
DIAGRAMAS DE CASOS DE USO
•   Caracterizar limites da funcionalidade do sistema
     • Casos de uso são organizados dentro de um diagrama
•   Em diagramas de casos de uso
     • Atores são relacionados por generalização/especialização
EXEMPLO DE DIAGRAMA

                                     Sistema de validação
                                     de cartão de crédito

                                             Transação de
                                                cartão

             Cliente                            Processa     Instituição
              ∆ ∆                                fatura     vendedora


                                               Reconcilia
                                               transações


  Cliente                Cliente
                                                 Gerencia
individual             corporativo                conta
                                                            Financeira
BIBLIOGRAFIA
•   Sommerville, I. Software Engineering
•   Kruchten, P. The Rational Unified Process: An Introduction. 2nd Ed
•   Booch, G. et al. The Unified Modeling Language User Guide.

Mais conteúdo relacionado

Mais procurados

Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosIgor Takenami
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em pptAndrei Bastos
 
Modelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoModelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoHelder Lopes
 
Descrição formal de Casos de Uso
Descrição formal de Casos de UsoDescrição formal de Casos de Uso
Descrição formal de Casos de UsoNatanael Simões
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAislan Rafael
 
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. CarvalhoAula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. CarvalhoRudson Kiyoshi Souza Carvalho
 
Apresentação mvc
Apresentação mvcApresentação mvc
Apresentação mvcleopp
 
01 Introdução à programação web
01 Introdução à programação web01 Introdução à programação web
01 Introdução à programação webCentro Paula Souza
 
Sistemas operativos distribuidos e de redes
Sistemas operativos distribuidos e de redesSistemas operativos distribuidos e de redes
Sistemas operativos distribuidos e de redesPortal_do_Estudante_SD
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScriptCarlos Eduardo Kadu
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de SoftwareRalph Rassweiler
 

Mais procurados (20)

Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Aula4 levantamento requisitos
Aula4 levantamento requisitosAula4 levantamento requisitos
Aula4 levantamento requisitos
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Aula 07 - Diagrama de sequencia
Aula 07 - Diagrama de sequenciaAula 07 - Diagrama de sequencia
Aula 07 - Diagrama de sequencia
 
Diagrama sequencia
Diagrama sequenciaDiagrama sequencia
Diagrama sequencia
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Modelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoModelagem de Sistemas de Informação
Modelagem de Sistemas de Informação
 
Diagramas de casos de uso - aula 2
Diagramas de casos de uso - aula 2Diagramas de casos de uso - aula 2
Diagramas de casos de uso - aula 2
 
Descrição formal de Casos de Uso
Descrição formal de Casos de UsoDescrição formal de Casos de Uso
Descrição formal de Casos de Uso
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
 
Introdução à UML com Casos de Uso
Introdução à UML com Casos de UsoIntrodução à UML com Casos de Uso
Introdução à UML com Casos de Uso
 
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. CarvalhoAula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
 
Apresentação mvc
Apresentação mvcApresentação mvc
Apresentação mvc
 
01 Introdução à programação web
01 Introdução à programação web01 Introdução à programação web
01 Introdução à programação web
 
Sistemas operativos distribuidos e de redes
Sistemas operativos distribuidos e de redesSistemas operativos distribuidos e de redes
Sistemas operativos distribuidos e de redes
 
Diagrama de Casos de Uso
Diagrama de Casos de UsoDiagrama de Casos de Uso
Diagrama de Casos de Uso
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Aula 06 - Diagrama de classes
Aula 06 - Diagrama de classesAula 06 - Diagrama de classes
Aula 06 - Diagrama de classes
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de Software
 

Destaque

Análise Orientada a Objetos - Casos de Uso
Análise Orientada a Objetos - Casos de UsoAnálise Orientada a Objetos - Casos de Uso
Análise Orientada a Objetos - Casos de UsoCursoSENAC
 
Sistema De GestãO De ClíNica VeterináRia
Sistema De GestãO De ClíNica VeterináRiaSistema De GestãO De ClíNica VeterináRia
Sistema De GestãO De ClíNica VeterináRiaISTEC
 
Grupo 15 - La Santa Inquisicion
Grupo 15 - La Santa InquisicionGrupo 15 - La Santa Inquisicion
Grupo 15 - La Santa InquisicionJorge Ccahuana
 
Análise e Projeto de Sistemas
Análise e Projeto de SistemasAnálise e Projeto de Sistemas
Análise e Projeto de SistemasGuilherme
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesRodrigo Cascarrolho
 

Destaque (7)

Aula3 casos de uso
Aula3 casos de usoAula3 casos de uso
Aula3 casos de uso
 
Análise Orientada a Objetos - Casos de Uso
Análise Orientada a Objetos - Casos de UsoAnálise Orientada a Objetos - Casos de Uso
Análise Orientada a Objetos - Casos de Uso
 
Sistema De GestãO De ClíNica VeterináRia
Sistema De GestãO De ClíNica VeterináRiaSistema De GestãO De ClíNica VeterináRia
Sistema De GestãO De ClíNica VeterináRia
 
Aula 7 diagramas_classes2
Aula 7 diagramas_classes2Aula 7 diagramas_classes2
Aula 7 diagramas_classes2
 
Grupo 15 - La Santa Inquisicion
Grupo 15 - La Santa InquisicionGrupo 15 - La Santa Inquisicion
Grupo 15 - La Santa Inquisicion
 
Análise e Projeto de Sistemas
Análise e Projeto de SistemasAnálise e Projeto de Sistemas
Análise e Projeto de Sistemas
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
 

Semelhante a Diagramas de casos de uso

Semelhante a Diagramas de casos de uso (20)

UMLAulaI.pdf
UMLAulaI.pdfUMLAulaI.pdf
UMLAulaI.pdf
 
Análise de Sistemas Orientado a Objetos - 05
Análise de Sistemas Orientado a Objetos - 05Análise de Sistemas Orientado a Objetos - 05
Análise de Sistemas Orientado a Objetos - 05
 
Modelagem de Sistemas de Informação 07
Modelagem de Sistemas de Informação 07Modelagem de Sistemas de Informação 07
Modelagem de Sistemas de Informação 07
 
Aula6 diagrama casos de uso
Aula6 diagrama casos de usoAula6 diagrama casos de uso
Aula6 diagrama casos de uso
 
1- Diagramas de caso de uso
1- Diagramas de caso de uso1- Diagramas de caso de uso
1- Diagramas de caso de uso
 
4 casos-de-uso
4 casos-de-uso4 casos-de-uso
4 casos-de-uso
 
Aps caso uso
Aps caso usoAps caso uso
Aps caso uso
 
Aula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageAula UML - Unified Modeling Language
Aula UML - Unified Modeling Language
 
Parte6 casos de uso
Parte6   casos de usoParte6   casos de uso
Parte6 casos de uso
 
REA- Diagramas de Casos de Uso da UML
REA- Diagramas de Casos de Uso da UMLREA- Diagramas de Casos de Uso da UML
REA- Diagramas de Casos de Uso da UML
 
Requisitos monitoria
Requisitos monitoriaRequisitos monitoria
Requisitos monitoria
 
Dicas diagrama de casos de uso
Dicas diagrama de casos de usoDicas diagrama de casos de uso
Dicas diagrama de casos de uso
 
casos de uso
casos de usocasos de uso
casos de uso
 
Fluxo de Requisitos (RUP).pdf
Fluxo de Requisitos (RUP).pdfFluxo de Requisitos (RUP).pdf
Fluxo de Requisitos (RUP).pdf
 
Rational Unfied Process
Rational Unfied ProcessRational Unfied Process
Rational Unfied Process
 
requisitos de software.pptx
requisitos de software.pptxrequisitos de software.pptx
requisitos de software.pptx
 
Aula 01 - UML e Padrões de Projeto
Aula 01 - UML e Padrões de ProjetoAula 01 - UML e Padrões de Projeto
Aula 01 - UML e Padrões de Projeto
 
Workshop de Requisitos - User Story Mapping
Workshop de Requisitos - User Story MappingWorkshop de Requisitos - User Story Mapping
Workshop de Requisitos - User Story Mapping
 
Aula 05 - Caso de Uso.pdf
Aula 05 - Caso de Uso.pdfAula 05 - Caso de Uso.pdf
Aula 05 - Caso de Uso.pdf
 
Aula 05 - Caso de Uso.pdf
Aula 05 - Caso de Uso.pdfAula 05 - Caso de Uso.pdf
Aula 05 - Caso de Uso.pdf
 

Diagramas de casos de uso

  • 1. DIAGRAMAS DE CASOS DE USO Sergio da Silva Chaves
  • 2. OBJETIVOS • Introduzir conceitos de casos de uso, ator e fluxo de eventos • Apresentar sub-fluxos de eventos • Discutir sobre identificação, evolução e organização de casos de uso • Apresentar notação UML para reusar atores e casos de uso
  • 3. CASO DE USO • Seqüência de ações, executada pelo sistema, que gera um resultado • De valor observável • E para ator particular Função Procedimento computacional
  • 4. CASO DE USO E ATOR • Alguém ou alguma coisa (fora do sistema) que interage com o sistema Emissor/Receptor
  • 5. CASO DE USO E ATOR Resultado de Valor Observável Ator Particular Função Emissor Função Receptor
  • 6. CASO DE USO E ATOR • 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
  • 7. CASO DE USO E ATOR Descrição Passo 1 Passo 2 … Passo N Emissor Função
  • 8. EXEMPLO DE CASO DE USO E ATOR • Cliente de banco pode usar um caixa automático para • sacar dinheiro, transferir dinheiro ou consultar o saldo da conta • Ator: Cliente • Caso de uso: Sacar dinheiro, transferir dinheiro e consultar saldo
  • 9. EXEMPLO DE CASO DE USO E ATOR Valor de resultado observável Transferir dinheiro Sacar Consultar dinheiro saldo Cliente
  • 10. IDENTIFICANDO CASOS DE USO • Em geral, difícil decidir entre um ou vários casos de uso • Por exemplo, seriam casos de uso • Inserir cartão em um Caixa Automático? • Entrar com a senha? • Receber o cartão de volta?
  • 11. IDENTIFICANDO CASOS DE USO • Representar valor observável para ator • Pode-se determinar • De interações (seqüência de ações) com o sistema que resultam valores para atores • Satisfaz um objetivo particular de um ator que o sistema deve prover
  • 12. IDENTIFICANDO CASO DE USO • Facilitar gerenciamento durante ciclo de desenvolvimento • A razão para agrupar funcionalidades e chamá-las de casos de uso
  • 13. EVOLUÇÃO DOS CASOS DE USO • Inicialmente use cases são simples • Apenas esboço sobre funcionamento é suficiente • Mas com a sedimentação da modelagem • Descrição mais detalhada do fluxo de eventos faz-se necessária • Fluxo de eventos deve ser refinado • Todos os stakeholders* envolvidos devem estar de acordo com a descrição *São pessoas ou grupos específicos que tem uma quota de influencia no resultado do projeto.
  • 14. ORGANIZANDO CASOS DE USO • Sistema pequeno não demanda estruturação • Exemplo, seis casos de uso, com dois/três atores • Já sistemas maiores requerem princípios de estruturação e organização • Caso contrário, planejamento, atribuição de prioridades, etc., podem se tornar difíceis
  • 15. PACOTE DE CASO DE USO • Primeiro esforço de estruturação • Agrupam-se use cases relacionados em único container
  • 16. PACOTE DE CASOS DE USO Clientes Clientes :: Atendimento
  • 17. REUSO EM CASOS DE USO • Comportamento comum a mais de dois casos de uso (ou forma parte independente) • Pode-se modelar como caso de uso para ser reusado • Há três possibilidades • Inclusão • Extensão • Generalização/Especialização
  • 18. INCLUSÃO • Vários casos de uso possuem texto de fluxo de eventos • Comum/idêntico • Sempre usado • Equivalente a fatoração feita em programação através de sub-programas • #include da linguagem C
  • 19. INCLUSÃO • Como exemplo, tanto “Sacar dinheiro” quanto “Consultar saldo” necessitam da senha • Pode-se criar novo caso de uso “Autenticar usuário” e incluí- lo • Mas atenção • NÃO SE DEVE CRIAR CASOS DE USO MÍNIMOS • Deve haver ganho no reuso
  • 20. INCLUSÃO Autenticar << include >> << include >> usuário Sacar Consultar dinheiro saldo
  • 21. INCLUSÃO • Descrição de Consultar saldo • Fluxo de Eventos Principal: • include (Autenticar usuário). Sistema pede a Cliente que selecione tipo de conta (corrente, etc). ...
  • 22. EXTENSÃO • Use case pode ser estendido por outro • Extensão de funcionalidade/Caso excepcional • Extensão ocorre em pontos específicos • Pontos de extensão
  • 23. EXTENSÃO • Há também inclusão de texto (fluxo de eventos) • Porém sob condições particulares • Pode ser usada para • Simplificar fluxos de eventos complexos • Representar comportamentos opcionais • Lidar com exceções
  • 24. EXTENSÃO << extend >> (urgente) Atendimento Atendimento de urgência Pontos de extensão urgente
  • 25. EXTENSÃO • Descrição de Atendimento • Fluxo de Eventos Principal: • Colete os itens do pedido. (urgente). Submeta pedido para processamento.
  • 26. ESPECIALIZAÇÃO • Caso de uso pode especializar outro • Adição/refinamento do fluxo de eventos original • Especialização permite modelar comportamento de estruturas de aplicação em comum
  • 27. ESPECIALIZAÇÃO ∆ Atendimento Atendimento de urgência ∆ Cliente Cliente comercial
  • 28. FLUXO DE EVENTOS • Parte mais importante de um caso de uso • Atividade de requisitos • Define a seqüência de ações entre o ator e o sistema
  • 29. FLUXO DE EVENTOS • Geralmente em linguagem natural • Uso preciso de termos definidos no glossário de acordo com o domínio do problema • Também expresso formalmente • Pré e pós-condições (ou pseudo-código)
  • 30. EXEMPLO DE FLUXO DE EVENTOS • Um esboço inicial sobre Sacar dinheiro seria 1. O caso de uso inicia quando o Cliente insere um cartão no caixa eletrônico. Sistema lê e valida informação do cartão 2. Sistema pede a senha. Cliente entra com a senha. Sistema valida a senha. 3. Sistema pede seleção do serviço. Cliente escolhe “Sacar dinheiro” 4. Sistema pede a quantia a sacar. Cliente informa. 5. Sistema pede seleção da conta (corrente, etc). Cliente informa. 6. Sistema comunica com a rede para validar a conta, senha e o valor a sacar. 7. Sistema pede remoção do cartão. Cliente remove. 8. Sistema entrega quantia solicitada.
  • 31. FLUXO DE EVENTOS • Na descrição do que o sistema faz através de fluxos de eventos completos • Surgem caminhos alternativos • Casos diferentes a considerar • Efeitos/valores diferentes a produzir • Eventualmente descreve todos esses caminhos possíveis
  • 32. SUB-FLUXOS DE EVENTOS • Fluxo de eventos visto como • Vários sub-fluxos de eventos • Sub-fluxos são descritos como • Principal • Alternativos/excepcionais • Abordagem visa reuso de fluxos de eventos (sub-fluxos)
  • 33. EXEMPLO DE SUB-FLUXOS • Seja o use case Validar usuário • Fluxo principal: • O caso de uso inicia quando o sistema pede ao Cliente a senha. Cliente entra com senha. Sistema verifica se a senha é válida. Se a senha é válida, sistema confirma e termina o use case. • Fluxo excepcional: • Cliente pode cancelar a transação a qualquer momento pressionando a tecla ESC, reiniciando o caso de uso. Nenhuma modificação é feita na conta do Cliente. • Fluxo excepcional: • Se Cliente entra com senha inválida, o caso de uso reinicia.
  • 34. DIAGRAMAS DE CASOS DE USO • Caracterizar limites da funcionalidade do sistema • Casos de uso são organizados dentro de um diagrama • Em diagramas de casos de uso • Atores são relacionados por generalização/especialização
  • 35. EXEMPLO DE DIAGRAMA Sistema de validação de cartão de crédito Transação de cartão Cliente Processa Instituição ∆ ∆ fatura vendedora Reconcilia transações Cliente Cliente Gerencia individual corporativo conta Financeira
  • 36. BIBLIOGRAFIA • Sommerville, I. Software Engineering • Kruchten, P. The Rational Unified Process: An Introduction. 2nd Ed • Booch, G. et al. The Unified Modeling Language User Guide.