SlideShare une entreprise Scribd logo
1  sur  50
Casos de Uso

  Engenharia de Requisitos
  Requisito – sistema
  Caso de uso - usuário
Casos de Uso no Contexto do UP
     Análise        Projeto


    Casos de Uso
     Expandidos     Projeto da
                    Camada de
                     Aplicação

      Modelo
     Conceitual
                    Projeto da
                    Camada de
                     Domínio
     Contratos
Atividades de Expansão
• Descrever o fluxo principal
• Descrever fluxos alternativos
Tipos de caso de uso
• Essencial
• Real
Casos de Uso Essenciais
• Apenas a “essência” das operações é
  apresentada, em oposição à sua realização
  concreta
Sistema Atual × Sistema Futuro ×
 Descrição Essencial
• Atual: “o funcionário procura a ficha do cliente
  no fichário”
• Futuro: “o funcionário clica no botão “procurar”
  digitando o código do cliente no campo X3”
• Essencial: “o funcionário localiza as informações
  sobre o cliente”.
Casos de Uso na Análise e Projeto
• Na análise o objetivo é estudar o sistema para
  descobrir as necessidades do cliente ∴ Casos
  de Uso Essenciais.
• No projeto o objetivo é produzir uma solução
  implementada de um sistema informatizado para
  uso pelo cliente ∴ Casos de Uso Reais.
Níveis de Detalhamento
• Alto Nível
• Expandido
Exemplo de Caso de Uso de Alto
    Nível

Caso de uso: Emprestar Fitas
Um cliente solicita a locação de algumas fitas. Após identificar-se e
identificar as fitas ele pode levá-las para casa, ciente do prazo de
devolução e do valor a ser pago.
Caso de Uso: Locar Fitas

        Fluxo Principal:                         Tratamento de Exceções:
        1. O cliente chega ao balcão com as      3a. O cliente não possui cadastro.
        fitas que deseja locar.
                                                         3a.1 O cliente deve informar seus dados para
        2. O cliente informa seu nome e                  cadastro.
        entrega as fitas ao funcionário.
                                                         3a.2 O funcionário registra o cadastro.
        3. O funcionário registra o nome do
                                                         3a.3 Retorna ao fluxo principal no passo 3.
        cliente e inicia a locação.
                                                 3b. O cliente possui pendências no cadastro (locação
        4. O funcionário registra cada uma das
                                                 anterior não foi paga).
        fitas.
                                                         3b.1 O cliente paga seu débito.
        5. O funcionário finaliza a locação,
        devolve as fitas ao cliente e lhe                3b.2 O funcionário registra a quitação do débito,
        informa a data de devolução e o valor            eliminando assim a pendência.
        total da locação.
                                                         3b.3 Retorna ao passo 3.
        6. O cliente vai embora com as fitas.
                                                 4a. Uma fita está reservada para outro cliente.
                                                         4a.1 O funcionário informa que a fita não está
                                                         disponível para locação.
                                                         4a.2 Prossegue a locação do passo 4 sem incluir
                                                         a fita reservada.



Exemplo de Caso de
                                                 4b. Uma fita está danificada.
                                                         4b.1 O funcionário informa que a fita está
                                                         danificada.



Uso Expandido
                                                         4b.2 O funcionário registra que a fita está
                                                         danificada.
                                                         4b.3 O funcionário verifica se existe outra fita
                                                         disponível com o mesmo filme.
                                                         4b.3 Se existir, o funcionário substitui a fita e
                                                         segue no passo 4, senão segue do passo 4 sem
                                                         incluir a fita danificada.
Passos em um Fluxo
• Obrigatórios
• Complementares
• Não Recomendados
Passos Obrigatórios
• Indicam as entradas e saídas de informação do
  sistema necessárias para realizar o caso de
  uso.
• Na falta de qualquer um desses passos o caso
  de uso pode ficar sem sentido.
Exemplo de caso de uso onde falta
   uma entrada de informação

Caso de Uso (mal construído): Reservar um Filme
1. O cliente entra em contato com o funcionário da
videolocadora (possivelmente por telefone).
2. O cliente informa seu nome.
3. O cliente solicita uma reserva.
4. O funcionário confirma a reserva.
Um diálogo impossível baseado no
    caso de uso anterior

Cliente: Boa tarde!
Funcionário: Boa tarde! Em que posso servi-lo?
Cliente: Meu nome é João e eu gostaria de reservar um filme.
Funcionário: Pois não, Senhor. Acabo de efetuar a reserva.
Cliente: Grato!
Uma solução mais adequada


Caso de Uso: Reservar um Filme
1. O cliente entra em contato com o funcionário da videolocadora
(possivelmente por telefone).
2. O cliente informa seu nome.
3. O cliente solicita uma reserva informando o nome do filme.
4. O funcionário confirma a reserva, informando o prazo de validade.
Tipos de passos obrigatórios
• Eventos de sistema – entradas.
• Respostas de sistema – saídas.

• Obs. Não são respostas de sistema retornos do
  tipo “ok”. Deve ser enviada ao mundo externo
  algum tipo de informação que o sistema
  armazena.
Identificação de passos obrigatórios
    em um Caso de Uso

Caso de Uso: Reservar um Filme
1. O cliente entra em contato com o funcionário da videolocadora
(possivelmente por telefone).
2. [EV] O cliente informa seu nome.
3. [EV] O cliente solicita uma reserva informando o nome do filme.
4. [RS] O funcionário confirma a reserva, informando o prazo de validade.
Passos Complementares
• Não possuem uma entrada ou saída do sistema,
  mas ajudam a compreender o contexto.
• Estes passos têm pouca ou nenhuma influência
  na complexidade do software a ser
  desenvolvido.
Exemplos de passos
complementares
• “o cliente chega ao balcão com as fitas que
  deseja locar”
• “o cliente vai embora com as fitas”
• “o funcionário pergunta o nome do cliente”
• “o sistema informa que a reserva foi concluída
  com sucesso”
Passos Não Recomendados
• São os processos internos ao sistema .
• O caso de uso deve descrever a interação entre
  o sistema e os atores externos, não o
  processamento interno.
Exemplos de passos que não
deveriam constar em um caso de
uso
• “o sistema registra o nome do cliente no banco
  de dados”
• “o sistema calcula a média das vendas”
Um exemplo de caso de uso com
       passos não recomendados
Caso de Uso (mal construído): Emprestar Fitas
1. O cliente chega ao balcão com as fitas que deseja emprestar.
2. O cliente informa seu nome.
3. O funcionário registra o nome do cliente.
4. O sistema verifica se o cliente tem cadastro e se o cliente não está suspenso
por não pagamento de empréstimos anteriores.
5. O funcionário registra cada uma das fitas.
6. O sistema verifica no banco de dados o registro das fitas e marca cada uma
como “emprestada”. Posteriormente o sistema adiciona cada fita ao empréstimo
corrente e soma o valor das fitas no total do empréstimo.
7. O funcionário encerra o empréstimo.
8. O cliente vai embora com as fitas.
Tratamento de Exceções no Caso
 de Uso
• Depois de descrever o fluxo principal do caso de uso,
  deve-se imaginar o que poderia dar errado em cada um
  dos passos descritos
• Uma exceção é um evento que se não for devidamente
  tratado impede o prosseguimento do caso de uso
• A exceção em um processo não é necessariamente
  algo que impede que o processo seja iniciado, mas
  normalmente algo que impede que ele seja concluído
Partes de um tratamento de
exceção
• Identificador – número da linha no FP e código
  da exceção
• Descrição da exceção – uma frase
• Ações corretivas – um fluxo alternativo
• Finalização – se e como retorna-se ao FP
Formas de Finalizar um Fluxo
    Alternativo
•   Voltar ao início do passo que causou a exceção
•   Ir para algum passo posterior
•   Voltar ao início do caso de uso
•   Abortar o caso de uso
Forma a ser evitada no Fluxo
 Principal
• Se o cliente possui cadastro então o funcionário
  registra...
Abortar o Caso de Uso
• Quando não for possível ou desejável realizar
  um passo, o caso de uso é abortado.
• Não é necessário indicar isso como exceção,
  pois idealmente pode ocorrer a qualquer
  momento e em qualquer passo.
Variantes
• Não são exceções, mas sub-conjuntos de
  cenários distintos dentro de um caso de uso
Caso de Uso: Devolver Fitas             Variantes
                                        5.1: Dinheiro:
                                                5.1.1. O cliente entrega a quantia em dinheiro.
Fluxo Principal                                 5.1.2. O funcionário registra a quantia.
1. O cliente entrega as fitas que               5.1.3. O sistema informa o troco.
deseja devolver.                                5.1.4. O funcionário entrega o troco ao cliente.
2. O funcionário identifica cada uma    5.2: Cheque:
das fitas.
                                                5.2.1. O cliente entrega o cheque.
3. O funcionário indica que não há
mais fitas para devolver.                       5.2.2. O funcionário solicita a presença do
                                                gerente.
4. O sistema informa o valor total a
ser pago.                                       5.2.3. O gerente dá o visto no cheque.
5. O cliente realiza o pagamento:       5.3: Cartão:
 - Dinheiro: Ver variante 5.1.                  5.3.1. O cliente entrega o cartão de crédito.
 - Cheque: Ver variante 5.2.                    5.3.2. O funcionário envia a informação sobre
                                                o cartão ao serviço de autorização, bem como
 - Cartão: Ver variante 5.3.                    o valor da compra e a identificação da loja.
6. O funcionário conclui a devolução.           5.3.3. O Serviço de autorização envia o código
                                                de autorização.
                                                5.3.4. O cliente confirma a autorização
                                                (possivelmente com a assinatura).
Fluxos Alternativos de Outros
 Casos de Uso
Caso de Uso: Vender Fitas
1. O cliente se identifica.
2. O cliente entrega as fitas que deseja comprar.
3. O funcionário identifica as fitas para compra.
4. O sistema informa o valor total.
5. O cliente realiza o pagamento:
       - Dinheiro: Ver Caso de Uso “Devolver Fitas” variante 5.1
       - Cheque: Ver Caso de Uso “Devolver Fitas” variante 5.2
       - Cartão: Ver Caso de Uso “Devolver Fitas” variante 5.3
4. O cliente vai embora.
Em UML:
Quando usar variantes?
• Quando uma mesma seqüência de passos é
  repetida em diferentes casos de uso
• Quando um caso de uso é demasiadamente
  complexo, e a divisão dele em variantes ajuda
  na sua compreensão
Cenários
• Cada cenário é uma realização particular do
  caso de uso
Diferentes cenários devem ter
       passos obrigatórios distintos

     • Contra-exemplo:
1. O cliente chega no balcão com as   1. O cliente chega no balcão com as
fitas.                                fitas.
2. O funcionário solicita o nome do   2. O cliente informa o seu nome.
cliente.                              3. [EV] O funcionário registra o
3. O cliente informa o seu nome.      nome...
4. [EV] O funcionário registra o
nome...

               (a)                                        (b)
Consultas no caso de uso
• Evite:
   – “o sistema verifica se o usuário está cadastrado”
• Prefira:
   – “o funcionário informa a identificação do cliente”
   – “o sistema informa os dados do cadastro do cliente”
Outras seções de um Caso de Uso
•   Atores
•   Interessados
•   Pré-Condições
•   Pós-Condições de Sucesso
•   Requisitos Correlacionados
•   Variações Tecnológicas
•   Questões em Aberto
Caso de Uso: Emprestar Fitas
Atores: Funcionário e Cliente
Interessados: Gerente financeiro, Setor de compras
Pré-condições: As fitas a serem locadas estão devidamente registradas (pode-se garantir que as fitas com código
identificador tenham sido previamente registradas no sistema se o código for produzido apenas após o registro).
Pós-condições: O cliente ficou de posse das fitas. O registro da locação das fitas para o cliente foi feito. O cliente
foi informado do prazo e valor da locação.
Requisitos Correlacionados: F1 e F2.
Variações tecnológicas: a identificação do cliente poderá ser feita através de um código simples ou um cartão
com código de barras. A identificação das fitas também poderá ser feita por um código ou por leitor de código de
barras. Outra opção seria um leitor magnético, mas esta opção não está sendo seriamente considerada no
momento devido ao custo.
Questões em aberto:
1. Os prazos de locação variam de fita para fita?
2. Existem promoções do tipo leve 4 e pague 3?
Fluxo Principal:
1. O cliente chega ao balcão com as fitas que deseja locar.
2. O cliente informa seu nome e entrega ao funcionário as fitas.
3. [EV] O funcionário registra o nome do cliente e inicia a locação.
4. [EV] O funcionário registra cada uma das fitas.
5. [RS] O funcionário finaliza a locação, devolve as fitas ao cliente e lhe informa a data de devolução e o valor total
da locação.
6. O cliente vai embora com as fitas.
Tratamento de exceções:
3a. O cliente não possui cadastro.
3a.1 O cliente deve informar seus dados para cadastro.
3a.2 [EV] O funcionário registra o cadastro.
3a.3 Retorna ao fluxo principal no passo 3.
3b. O cliente possui pendências no cadastro (locação anterior não foi paga).
          3b.1 O cliente paga seu débito.
          3b.2 [EV] O funcionário registra a quitação do débito, eliminando assim a pendência.
          3b.3 Retorna ao passo 3.
4a. Uma fita está reservada para outro cliente.
          4a.1 [RS] O funcionário informa que a fita não está disponível para locação.
          4a.2 Prossegue a locação do passo 4 sem incluir a fita reservada.
4b. Uma fita está danificada.
          4b.1 O funcionário informa que a fita está danificada.
          4b.2 [EV] O funcionário registra que a fita está danificada.
          4b.2 O funcionário verifica se existe outra fita disponível com o mesmo filme.
             4b.3 [EV] Se existir, o funcionário substitui a fita e segue no passo 4, senão segue do passo 4 sem
incluir a fita danificada.
Fronteira do Sistema
Na fase de análise, o texto dos
casos de uso expandidos terá
basicamente duas utilizações:
• Como fonte de informação para encontrar
  conceitos para o modelo conceitual.
• Como fonte de informação para encontrar as
  operações e consultas de sistema, que darão
  origem aos métodos que fazem a interface do
  sistema com o mundo externo.
Operações e Consultas de Sistema
• Operações de sistema são métodos que são
  ativados a partir de um evento de sistema, ou
  seja, como resposta a uma ação de um usuário
  [EV]
• Consultas de sistema são métodos que
  correspondem à simples verificação de
  informação já armazenada [RS]
• Pode-se dizer que as operações e consultas de
  sistema, em conjunto, correspondem à
  totalidade das funções possíveis do sistema, ou
  seja, à funcionalidade efetiva total do sistema.
Diagrama de Seqüência
Comentários sobre Diagramas de
Seqüencia
• A informação normalmente não é criada durante
  estes processos, mas apenas transferida ou
  transformada.
• Um ator ou o sistema detém alguma informação,
  e para realizar o processo ele terá de passar
  esta informação adiante.
• O diagrama de seqüência pode ser construído para o
  fluxo principal do caso de uso e eventualmente também
  para alguns cenários com fluxos alternativos.
• O importante nesta fase não é ter o diagrama em si,
  mas identificar corretamente que operações e consultas
  de sistema são necessárias.
• A existência dos diagramas completos com o fluxo de
  informações entre os atores e do sistema para os
  atores será interessante na fase de projeto da interface,
  mas por enquanto, na análise, é suficiente saber quais
  são as informações repassadas dos atores para o
  sistema e vice versa.
• O analista deve preocupar-se então em construir um
  catálogo com todas as operações e consultas de
  sistema identificadas nesta fase, seja nos fluxos
  principais como os fluxos alternativos.
• Mais adiante, ainda no processo de análise estas
  informações serão usadas para definir os contratos de
  operação de sistema que indicam como o sistema
  transforma a informação.
Consulta implícita
Consulta explícita ******* parametro
saldo := consultaSaldo()
Caracterização de termos
• Evento de sistema: dos atores para a aplicação
• Resposta de sistema: do controlador para a
  aplicação e da aplicação para os atores
• Operação de sistema: da aplicação para o
  controlador (altera a informação – não segue
  resposta de sistema)
• Consulta de sistema: da aplicação para o
  controlador (não altera a informação – segue
  resposta de sistema)
Tipos de Operação de Sistema
• Operações com parâmetros, que usualmente
  correspondem a eventos informativos.
• Operações sem parâmetros, que usualmente
  correspondem a eventos de controle.

Contenu connexe

En vedette

2016 Frente 2 módulo 12 b sistema nervoso – divisões
2016 Frente 2 módulo 12 b sistema nervoso – divisões2016 Frente 2 módulo 12 b sistema nervoso – divisões
2016 Frente 2 módulo 12 b sistema nervoso – divisõesColégio Batista de Mantena
 
MANUAL DEL EMPRESARIO INDEPENDIENTE SYNERGYO2
MANUAL DEL EMPRESARIO INDEPENDIENTE SYNERGYO2MANUAL DEL EMPRESARIO INDEPENDIENTE SYNERGYO2
MANUAL DEL EMPRESARIO INDEPENDIENTE SYNERGYO2CARLOS FELIX
 
COLAGENO HIDROLIZADO SYNERGENO2
COLAGENO HIDROLIZADO SYNERGENO2COLAGENO HIDROLIZADO SYNERGENO2
COLAGENO HIDROLIZADO SYNERGENO2CARLOS FELIX
 
PROMOCIONES SYNERGYO2 PERU
PROMOCIONES SYNERGYO2 PERUPROMOCIONES SYNERGYO2 PERU
PROMOCIONES SYNERGYO2 PERUCARLOS FELIX
 
Apresentação Final Projeto de Software
Apresentação Final Projeto de SoftwareApresentação Final Projeto de Software
Apresentação Final Projeto de Softwareiltonsdaniel
 
Curso de verificação e Revisão e Inspeção de artefatos
Curso de verificação e Revisão e Inspeção de artefatosCurso de verificação e Revisão e Inspeção de artefatos
Curso de verificação e Revisão e Inspeção de artefatosQualister
 
Testes de segurança
Testes de segurançaTestes de segurança
Testes de segurançaQualister
 
Especificação caso de uso
Especificação caso de usoEspecificação caso de uso
Especificação caso de usoGabriel Faustino
 
Fluxograma de atividades
Fluxograma de atividadesFluxograma de atividades
Fluxograma de atividadesVanessa Barbosa
 

En vedette (15)

2016 Frente 2 módulo 12 b sistema nervoso – divisões
2016 Frente 2 módulo 12 b sistema nervoso – divisões2016 Frente 2 módulo 12 b sistema nervoso – divisões
2016 Frente 2 módulo 12 b sistema nervoso – divisões
 
CLASS WORK 005
CLASS WORK 005CLASS WORK 005
CLASS WORK 005
 
MANUAL DEL EMPRESARIO INDEPENDIENTE SYNERGYO2
MANUAL DEL EMPRESARIO INDEPENDIENTE SYNERGYO2MANUAL DEL EMPRESARIO INDEPENDIENTE SYNERGYO2
MANUAL DEL EMPRESARIO INDEPENDIENTE SYNERGYO2
 
COLAGENO HIDROLIZADO SYNERGENO2
COLAGENO HIDROLIZADO SYNERGENO2COLAGENO HIDROLIZADO SYNERGENO2
COLAGENO HIDROLIZADO SYNERGENO2
 
2016 Frente 1 módulo 11 sistema abo
2016 Frente 1 módulo 11 sistema abo2016 Frente 1 módulo 11 sistema abo
2016 Frente 1 módulo 11 sistema abo
 
Bugzilla
BugzillaBugzilla
Bugzilla
 
PROMOCIONES SYNERGYO2 PERU
PROMOCIONES SYNERGYO2 PERUPROMOCIONES SYNERGYO2 PERU
PROMOCIONES SYNERGYO2 PERU
 
Apresentação Final Projeto de Software
Apresentação Final Projeto de SoftwareApresentação Final Projeto de Software
Apresentação Final Projeto de Software
 
Curso de verificação e Revisão e Inspeção de artefatos
Curso de verificação e Revisão e Inspeção de artefatosCurso de verificação e Revisão e Inspeção de artefatos
Curso de verificação e Revisão e Inspeção de artefatos
 
Caso De Uso
Caso De UsoCaso De Uso
Caso De Uso
 
Iiit delhi case study
Iiit delhi   case studyIiit delhi   case study
Iiit delhi case study
 
2016 Frente 1 modulo 13 Engenharia genética
2016 Frente 1 modulo 13 Engenharia genética2016 Frente 1 modulo 13 Engenharia genética
2016 Frente 1 modulo 13 Engenharia genética
 
Testes de segurança
Testes de segurançaTestes de segurança
Testes de segurança
 
Especificação caso de uso
Especificação caso de usoEspecificação caso de uso
Especificação caso de uso
 
Fluxograma de atividades
Fluxograma de atividadesFluxograma de atividades
Fluxograma de atividades
 

05 casos deuso-operacoese_consultasdesistema

  • 1. Casos de Uso Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
  • 2. Casos de Uso no Contexto do UP Análise Projeto Casos de Uso Expandidos Projeto da Camada de Aplicação Modelo Conceitual Projeto da Camada de Domínio Contratos
  • 3. Atividades de Expansão • Descrever o fluxo principal • Descrever fluxos alternativos
  • 4. Tipos de caso de uso • Essencial • Real
  • 5. Casos de Uso Essenciais • Apenas a “essência” das operações é apresentada, em oposição à sua realização concreta
  • 6. Sistema Atual × Sistema Futuro × Descrição Essencial • Atual: “o funcionário procura a ficha do cliente no fichário” • Futuro: “o funcionário clica no botão “procurar” digitando o código do cliente no campo X3” • Essencial: “o funcionário localiza as informações sobre o cliente”.
  • 7. Casos de Uso na Análise e Projeto • Na análise o objetivo é estudar o sistema para descobrir as necessidades do cliente ∴ Casos de Uso Essenciais. • No projeto o objetivo é produzir uma solução implementada de um sistema informatizado para uso pelo cliente ∴ Casos de Uso Reais.
  • 8. Níveis de Detalhamento • Alto Nível • Expandido
  • 9. Exemplo de Caso de Uso de Alto Nível Caso de uso: Emprestar Fitas Um cliente solicita a locação de algumas fitas. Após identificar-se e identificar as fitas ele pode levá-las para casa, ciente do prazo de devolução e do valor a ser pago.
  • 10. Caso de Uso: Locar Fitas Fluxo Principal: Tratamento de Exceções: 1. O cliente chega ao balcão com as 3a. O cliente não possui cadastro. fitas que deseja locar. 3a.1 O cliente deve informar seus dados para 2. O cliente informa seu nome e cadastro. entrega as fitas ao funcionário. 3a.2 O funcionário registra o cadastro. 3. O funcionário registra o nome do 3a.3 Retorna ao fluxo principal no passo 3. cliente e inicia a locação. 3b. O cliente possui pendências no cadastro (locação 4. O funcionário registra cada uma das anterior não foi paga). fitas. 3b.1 O cliente paga seu débito. 5. O funcionário finaliza a locação, devolve as fitas ao cliente e lhe 3b.2 O funcionário registra a quitação do débito, informa a data de devolução e o valor eliminando assim a pendência. total da locação. 3b.3 Retorna ao passo 3. 6. O cliente vai embora com as fitas. 4a. Uma fita está reservada para outro cliente. 4a.1 O funcionário informa que a fita não está disponível para locação. 4a.2 Prossegue a locação do passo 4 sem incluir a fita reservada. Exemplo de Caso de 4b. Uma fita está danificada. 4b.1 O funcionário informa que a fita está danificada. Uso Expandido 4b.2 O funcionário registra que a fita está danificada. 4b.3 O funcionário verifica se existe outra fita disponível com o mesmo filme. 4b.3 Se existir, o funcionário substitui a fita e segue no passo 4, senão segue do passo 4 sem incluir a fita danificada.
  • 11. Passos em um Fluxo • Obrigatórios • Complementares • Não Recomendados
  • 12. Passos Obrigatórios • Indicam as entradas e saídas de informação do sistema necessárias para realizar o caso de uso. • Na falta de qualquer um desses passos o caso de uso pode ficar sem sentido.
  • 13. Exemplo de caso de uso onde falta uma entrada de informação Caso de Uso (mal construído): Reservar um Filme 1. O cliente entra em contato com o funcionário da videolocadora (possivelmente por telefone). 2. O cliente informa seu nome. 3. O cliente solicita uma reserva. 4. O funcionário confirma a reserva.
  • 14. Um diálogo impossível baseado no caso de uso anterior Cliente: Boa tarde! Funcionário: Boa tarde! Em que posso servi-lo? Cliente: Meu nome é João e eu gostaria de reservar um filme. Funcionário: Pois não, Senhor. Acabo de efetuar a reserva. Cliente: Grato!
  • 15. Uma solução mais adequada Caso de Uso: Reservar um Filme 1. O cliente entra em contato com o funcionário da videolocadora (possivelmente por telefone). 2. O cliente informa seu nome. 3. O cliente solicita uma reserva informando o nome do filme. 4. O funcionário confirma a reserva, informando o prazo de validade.
  • 16. Tipos de passos obrigatórios • Eventos de sistema – entradas. • Respostas de sistema – saídas. • Obs. Não são respostas de sistema retornos do tipo “ok”. Deve ser enviada ao mundo externo algum tipo de informação que o sistema armazena.
  • 17. Identificação de passos obrigatórios em um Caso de Uso Caso de Uso: Reservar um Filme 1. O cliente entra em contato com o funcionário da videolocadora (possivelmente por telefone). 2. [EV] O cliente informa seu nome. 3. [EV] O cliente solicita uma reserva informando o nome do filme. 4. [RS] O funcionário confirma a reserva, informando o prazo de validade.
  • 18. Passos Complementares • Não possuem uma entrada ou saída do sistema, mas ajudam a compreender o contexto. • Estes passos têm pouca ou nenhuma influência na complexidade do software a ser desenvolvido.
  • 19. Exemplos de passos complementares • “o cliente chega ao balcão com as fitas que deseja locar” • “o cliente vai embora com as fitas” • “o funcionário pergunta o nome do cliente” • “o sistema informa que a reserva foi concluída com sucesso”
  • 20. Passos Não Recomendados • São os processos internos ao sistema . • O caso de uso deve descrever a interação entre o sistema e os atores externos, não o processamento interno.
  • 21. Exemplos de passos que não deveriam constar em um caso de uso • “o sistema registra o nome do cliente no banco de dados” • “o sistema calcula a média das vendas”
  • 22. Um exemplo de caso de uso com passos não recomendados Caso de Uso (mal construído): Emprestar Fitas 1. O cliente chega ao balcão com as fitas que deseja emprestar. 2. O cliente informa seu nome. 3. O funcionário registra o nome do cliente. 4. O sistema verifica se o cliente tem cadastro e se o cliente não está suspenso por não pagamento de empréstimos anteriores. 5. O funcionário registra cada uma das fitas. 6. O sistema verifica no banco de dados o registro das fitas e marca cada uma como “emprestada”. Posteriormente o sistema adiciona cada fita ao empréstimo corrente e soma o valor das fitas no total do empréstimo. 7. O funcionário encerra o empréstimo. 8. O cliente vai embora com as fitas.
  • 23. Tratamento de Exceções no Caso de Uso • Depois de descrever o fluxo principal do caso de uso, deve-se imaginar o que poderia dar errado em cada um dos passos descritos • Uma exceção é um evento que se não for devidamente tratado impede o prosseguimento do caso de uso • A exceção em um processo não é necessariamente algo que impede que o processo seja iniciado, mas normalmente algo que impede que ele seja concluído
  • 24. Partes de um tratamento de exceção • Identificador – número da linha no FP e código da exceção • Descrição da exceção – uma frase • Ações corretivas – um fluxo alternativo • Finalização – se e como retorna-se ao FP
  • 25. Formas de Finalizar um Fluxo Alternativo • Voltar ao início do passo que causou a exceção • Ir para algum passo posterior • Voltar ao início do caso de uso • Abortar o caso de uso
  • 26. Forma a ser evitada no Fluxo Principal • Se o cliente possui cadastro então o funcionário registra...
  • 27. Abortar o Caso de Uso • Quando não for possível ou desejável realizar um passo, o caso de uso é abortado. • Não é necessário indicar isso como exceção, pois idealmente pode ocorrer a qualquer momento e em qualquer passo.
  • 28. Variantes • Não são exceções, mas sub-conjuntos de cenários distintos dentro de um caso de uso
  • 29. Caso de Uso: Devolver Fitas Variantes 5.1: Dinheiro: 5.1.1. O cliente entrega a quantia em dinheiro. Fluxo Principal 5.1.2. O funcionário registra a quantia. 1. O cliente entrega as fitas que 5.1.3. O sistema informa o troco. deseja devolver. 5.1.4. O funcionário entrega o troco ao cliente. 2. O funcionário identifica cada uma 5.2: Cheque: das fitas. 5.2.1. O cliente entrega o cheque. 3. O funcionário indica que não há mais fitas para devolver. 5.2.2. O funcionário solicita a presença do gerente. 4. O sistema informa o valor total a ser pago. 5.2.3. O gerente dá o visto no cheque. 5. O cliente realiza o pagamento: 5.3: Cartão: - Dinheiro: Ver variante 5.1. 5.3.1. O cliente entrega o cartão de crédito. - Cheque: Ver variante 5.2. 5.3.2. O funcionário envia a informação sobre o cartão ao serviço de autorização, bem como - Cartão: Ver variante 5.3. o valor da compra e a identificação da loja. 6. O funcionário conclui a devolução. 5.3.3. O Serviço de autorização envia o código de autorização. 5.3.4. O cliente confirma a autorização (possivelmente com a assinatura).
  • 30. Fluxos Alternativos de Outros Casos de Uso Caso de Uso: Vender Fitas 1. O cliente se identifica. 2. O cliente entrega as fitas que deseja comprar. 3. O funcionário identifica as fitas para compra. 4. O sistema informa o valor total. 5. O cliente realiza o pagamento: - Dinheiro: Ver Caso de Uso “Devolver Fitas” variante 5.1 - Cheque: Ver Caso de Uso “Devolver Fitas” variante 5.2 - Cartão: Ver Caso de Uso “Devolver Fitas” variante 5.3 4. O cliente vai embora.
  • 32. Quando usar variantes? • Quando uma mesma seqüência de passos é repetida em diferentes casos de uso • Quando um caso de uso é demasiadamente complexo, e a divisão dele em variantes ajuda na sua compreensão
  • 33. Cenários • Cada cenário é uma realização particular do caso de uso
  • 34. Diferentes cenários devem ter passos obrigatórios distintos • Contra-exemplo: 1. O cliente chega no balcão com as 1. O cliente chega no balcão com as fitas. fitas. 2. O funcionário solicita o nome do 2. O cliente informa o seu nome. cliente. 3. [EV] O funcionário registra o 3. O cliente informa o seu nome. nome... 4. [EV] O funcionário registra o nome... (a) (b)
  • 35. Consultas no caso de uso • Evite: – “o sistema verifica se o usuário está cadastrado” • Prefira: – “o funcionário informa a identificação do cliente” – “o sistema informa os dados do cadastro do cliente”
  • 36. Outras seções de um Caso de Uso • Atores • Interessados • Pré-Condições • Pós-Condições de Sucesso • Requisitos Correlacionados • Variações Tecnológicas • Questões em Aberto
  • 37. Caso de Uso: Emprestar Fitas Atores: Funcionário e Cliente Interessados: Gerente financeiro, Setor de compras Pré-condições: As fitas a serem locadas estão devidamente registradas (pode-se garantir que as fitas com código identificador tenham sido previamente registradas no sistema se o código for produzido apenas após o registro). Pós-condições: O cliente ficou de posse das fitas. O registro da locação das fitas para o cliente foi feito. O cliente foi informado do prazo e valor da locação. Requisitos Correlacionados: F1 e F2. Variações tecnológicas: a identificação do cliente poderá ser feita através de um código simples ou um cartão com código de barras. A identificação das fitas também poderá ser feita por um código ou por leitor de código de barras. Outra opção seria um leitor magnético, mas esta opção não está sendo seriamente considerada no momento devido ao custo. Questões em aberto: 1. Os prazos de locação variam de fita para fita? 2. Existem promoções do tipo leve 4 e pague 3? Fluxo Principal: 1. O cliente chega ao balcão com as fitas que deseja locar. 2. O cliente informa seu nome e entrega ao funcionário as fitas. 3. [EV] O funcionário registra o nome do cliente e inicia a locação. 4. [EV] O funcionário registra cada uma das fitas. 5. [RS] O funcionário finaliza a locação, devolve as fitas ao cliente e lhe informa a data de devolução e o valor total da locação. 6. O cliente vai embora com as fitas.
  • 38. Tratamento de exceções: 3a. O cliente não possui cadastro. 3a.1 O cliente deve informar seus dados para cadastro. 3a.2 [EV] O funcionário registra o cadastro. 3a.3 Retorna ao fluxo principal no passo 3. 3b. O cliente possui pendências no cadastro (locação anterior não foi paga). 3b.1 O cliente paga seu débito. 3b.2 [EV] O funcionário registra a quitação do débito, eliminando assim a pendência. 3b.3 Retorna ao passo 3. 4a. Uma fita está reservada para outro cliente. 4a.1 [RS] O funcionário informa que a fita não está disponível para locação. 4a.2 Prossegue a locação do passo 4 sem incluir a fita reservada. 4b. Uma fita está danificada. 4b.1 O funcionário informa que a fita está danificada. 4b.2 [EV] O funcionário registra que a fita está danificada. 4b.2 O funcionário verifica se existe outra fita disponível com o mesmo filme. 4b.3 [EV] Se existir, o funcionário substitui a fita e segue no passo 4, senão segue do passo 4 sem incluir a fita danificada.
  • 40. Na fase de análise, o texto dos casos de uso expandidos terá basicamente duas utilizações: • Como fonte de informação para encontrar conceitos para o modelo conceitual. • Como fonte de informação para encontrar as operações e consultas de sistema, que darão origem aos métodos que fazem a interface do sistema com o mundo externo.
  • 41. Operações e Consultas de Sistema • Operações de sistema são métodos que são ativados a partir de um evento de sistema, ou seja, como resposta a uma ação de um usuário [EV] • Consultas de sistema são métodos que correspondem à simples verificação de informação já armazenada [RS]
  • 42. • Pode-se dizer que as operações e consultas de sistema, em conjunto, correspondem à totalidade das funções possíveis do sistema, ou seja, à funcionalidade efetiva total do sistema.
  • 44. Comentários sobre Diagramas de Seqüencia • A informação normalmente não é criada durante estes processos, mas apenas transferida ou transformada. • Um ator ou o sistema detém alguma informação, e para realizar o processo ele terá de passar esta informação adiante.
  • 45. • O diagrama de seqüência pode ser construído para o fluxo principal do caso de uso e eventualmente também para alguns cenários com fluxos alternativos. • O importante nesta fase não é ter o diagrama em si, mas identificar corretamente que operações e consultas de sistema são necessárias. • A existência dos diagramas completos com o fluxo de informações entre os atores e do sistema para os atores será interessante na fase de projeto da interface, mas por enquanto, na análise, é suficiente saber quais são as informações repassadas dos atores para o sistema e vice versa.
  • 46. • O analista deve preocupar-se então em construir um catálogo com todas as operações e consultas de sistema identificadas nesta fase, seja nos fluxos principais como os fluxos alternativos. • Mais adiante, ainda no processo de análise estas informações serão usadas para definir os contratos de operação de sistema que indicam como o sistema transforma a informação.
  • 48. Consulta explícita ******* parametro saldo := consultaSaldo()
  • 49. Caracterização de termos • Evento de sistema: dos atores para a aplicação • Resposta de sistema: do controlador para a aplicação e da aplicação para os atores • Operação de sistema: da aplicação para o controlador (altera a informação – não segue resposta de sistema) • Consulta de sistema: da aplicação para o controlador (não altera a informação – segue resposta de sistema)
  • 50. Tipos de Operação de Sistema • Operações com parâmetros, que usualmente correspondem a eventos informativos. • Operações sem parâmetros, que usualmente correspondem a eventos de controle.