Análise Orientada a Objetos Casos de Uso
Objetivo: Descrever um modelo funcional do sistema. Procura identificar os usuários e representar o sistema segundo a sua visão. [Deboni 2003].    Deve estabelecer um modelo de requisitos do sistema através da identificação de como o mesmo será utilizado pelos elementos externos e quais serviços deve prover. Casos de Uso
Este diagrama utiliza três elementos básicos para a sua construção: ATOR Um ator é alguém ou alguma coisa que interage com o sistema; é quem ou o que usa o sistema. O ator representa um papel, não um usuário individual do sistema. Atores podem ser humanos ou sistemas automatizados. O ator comunica-se com o sistema enviando e recebendo mensagens. Atores recebem nomes que refletem o papel que desempenham no sistema. Representação gráfica do ator: 0 Elementos de um Diagrama UC nome do ator
Atores - Exemplos Em um Consultório Médico Em uma Biblioteca Elementos de um Diagrama UC Médico Atendente Bibliotecário Usuário
CASO DE USO Um caso de uso representa uma funcionalidade completa do sistema, conforme percebida por um ator.   É um conjunto de seqüências de ações que um sistema executa, gerando um resultado observável que interessa a determinado ator.   A idéia é que os casos de uso representem, por meio de pequenas histórias descritivas, as funcionalidades de um sistema.   Modela o diálogo entre o ator e o sistema.   São as funções que o sistema vai desempenhar. Casos de Uso
CASO DE USO Os Casos de Uso representam as funções do sistema, ou seja, os requisitos do sistema sob o ponto de vista do usuário Eles mostram as funcionalidades que serão utilizadas pelos usuários O foco do Caso de Uso está em O QUE o sistema faz e não COMO o sistema faz Casos de Uso
     Representação gráfica do Caso de Uso   Casos de Uso Nome do Caso de Uso Nome do Caso de Uso
Exemplo: Sistema Telefônico Casos de Uso Realizar Chamada Manter  Agenda Usuário
Exemplo: Panificadora  Casos de Uso Vender Produtos Receber Pagamento Balconista Caixa
Para identificar os Casos de Uso respondemos algumas perguntas como: “ Qual é a expectativa do usuário ao usar o sistema, ou seja, o que ele precisa fazer com o sistema?” “  Quais resultados de valor o usuário espera receber do sistema?” Exemplos: Efetuar Depósito Solicitar Extrato Efetuar Transferência Efetuar Saque Validar Saldo Está é uma lógica oculta com a qual o usuário final não se preocupa, portanto não é qualificada com um Caso de Uso Casos de Uso
Casos de Uso do tipo CRUD (Create, Read, Update, Delete) por terem comportamentos muito semelhantes geralmente são combinados em um caso de uso que ofereça todos os recursos de manutenção. = UC Manter Usuário UC Incluir Usuário UC Excluir Usuário UC Alterar Usuário UC Pesquisar Usuário UC Manter  Conta Corrente UC Abrir conta corrente UC Encerrar conta corrente UC Alterar conta corrente UC Consultar conta corrente Fazendo uma analogia: Casos de Uso =
Exercícios: 1) Identifique os atores e elabore o diagrama de casos de uso para o sistema de controle de uma biblioteca descrito a seguir: É um sistema de suporte para uma biblioteca A biblioteca empresta livros e revistas para clientes, que são registrados no sistema, no qual também estão registrados os livros e as revistas A biblioteca controla a compra de novos títulos. De títulos populares compra-se várias cópias. Livros antigos e revistas são removidos quando estão ultrapassados ou deteriorados Bibliotecário é um funcionário da biblioteca que interage com os clientes e seu trabalho   é auxiliado pelo sistema Casos de Uso
Exercícios:  (continuação) Um cliente pode reservar um livro ou revista que não está disponível no momento na biblioteca, de forma que quando ele for devolvido ou comprado pela biblioteca, o cliente é avisado. A reserva é cancelada quando o cliente retira o livro ou revista, ou através de um processo exclusivo de cancelamento A biblioteca pode facilmente criar, atualizar, e apagar informações sobre seus títulos, clientes, empréstimos, e reservas no sistema O sistema pode rodar em todos os ambientes populares (UNIX, Linux, windows, etc) e tem uma interface gráfica (GUI) moderna O sistema deve ser facilmente estendido com novas funcionalidades O sistema deve lidar com a mensagem que é enviada ao cliente quando um título reservado torna-se disponível, e precisa checar se um determinado título está ultrapassado ou deteriorado. Casos de Uso
Exercícios: 2)  Identifique os atores e elabore o diagrama de casos de uso para um sistema de controle de uma máquina que vende Coca-Cola, descrito a seguir: É um sistema de venda de Coca-cola em máquina automatizada O sistema deve estar preparado para receber e conferir o dinheiro colocado pelo Cliente, inclusive para dar o troco Deve controlar a recarga de refrigerantes pelo Técnico, bem como o recolhimento do dinheiro da máquina. Casos de Uso
Descreva passo a passo como ocorre o Saque em um Caixa Automático. 1 - Cliente insere o cartão 2 - Caixa Automático solicita a senha 3 - Caixa solicita Automático solicita o serviço que o Cliente deseja 4 - Cliente seleciona a opção Saque 5 - Caixa Automático solicita o valor do Saque 6 - Cliente seleciona o valor da retirada 7 - Caixa Automático solicita data de nascimento 8 - Caixa Automático solicita a colocação do cartão 9 - Cliente insere e retira o cartão 10 - Caixa Automático libera o dinheiro 11 - Caixa Automático inicia a tela para o próximo Cliente Especificação de um Caso de Uso
Vocês especificaram um Caso de Uso Como não foi fornecido um padrão, cada um fez do seu modo Sem um padrão cada um coloca o seu estilo na especificação: muitos detalhes só um resumo o que pode criar problemas de  comunicação Especificação de um Caso de Uso
Problemas de Comunicação
Informações Básicas Número do Caso de Uso  Nome do Caso de Uso Descrição Pré-condições Pós-condições Ator Principal Fluxo de Eventos  Fluxos Alternativos Fluxos de Exceção Cenários Views (Telas, Relatórios, etc) Regras de Negócio Especificação de um Caso de Uso
Descrição :  Descrever a função  e o resultado observável do Caso de Uso. Orientações:   Escreva pouco Especifique com exatidão o resultado observável  Sugestão:   “Este Caso de Uso serve para ...” Exemplos:   Este caso de uso serve para realizar um saque em Conta Corrente com cartão de débito. Especificação de um Caso de Uso
Pré-condições: Condições que precisam ser verdadeiras para que o Caso de Uso possa iniciar Orientações: Uma pré-condição não satisfeita impede o início do Caso de Uso .  Uma pré-condição pode ser um outro Caso de Uso executado.  Nem todos os Casos de Uso têm pré-condições.   Sugestão:  “Este Caso de Uso  pode  iniciar  somente se  ...” Exemplos:   Este use case pode iniciar somente se: O Cliente tiver perfil disponível para transação Saque em Conta Corrente. Tela do Caixa Automático estiver disponível. Especificação de um Caso de Uso
Pós-condições : Situação após a execução do Caso de Uso Orientações: As pós-condições são condições que devem sempre ser verdadeiras  após o término  da execução do Caso de Uso.  Uma pós-condição não satisfeita impede o fim normal do Caso de Uso. Assim como as pré-condições, as pós-condições podem ser usadas para adicionar informações sobre a ordem em que os Casos de Uso são executados. Sugestão:   “Após o fim normal deste Caso de Uso  ... deve ...” Exemplos:   Após o fim normal deste Caso de Uso, o sistema deve: ter feito o débito na Conta Corrente do Cliente. ter acionado o UC Contabilidade de Caixa. ter impresso o Comprovante do Saque em C/C. ter disponibilizado informações para Extrato C/C. Especificação de um Caso de Uso
Ator: O Ator não faz parte do sistema , ele é quem solicita uma ação ao sistema (ou recebe uma resposta do sistema), ou seja, é quem interage com o sistema. Tipos de ator: Humano:   um cliente de um banco sacando dinheiro. Sistema:  o Sistema de Ações é o Ator quando aciona o Sistema de Contas Correntes para depositar os dividendos da carteira de ações do cliente.   Tempo:   no início do mês o Sistema de Contas Correntes imprime os extratos do mês anterior para enviar ao cliente através do Correio.   Especificação de um Caso de Uso
Fluxo de Eventos Principal  : Descrever a seqüência de ações que devem ser executadas para que o Caso de Uso execute sua função. Orientações: Descrição passo a passo do fluxo normal, ou “caminho feliz”, sob o ponto de vista do Ator Especifica como o Sistema será usado e não como será implementado Deve ser caracterizado por frases simples, em que o sujeito é o Ator ou o Sistema Não deve ter desvios para outros passos do Fluxo de Eventos Especificação de um Caso de Uso
Sugestão: O Usuário ....  O Sistema apresenta a tela XXX O Usuário ... ... O Caso de Uso é finalizado. Especificação de um Caso de Uso
Fluxos de Eventos Alternativos No Fluxo de Eventos Principal, caso ocorra alguma condição em algum dos passos, deve-se executar um Fluxo Alternativo para aquele passo. Orientações: Um Fluxo Alternativo pode conter outros Fluxos Alternativos e pode retornar para o fluxo principal Especificação de um Caso de Uso
Fluxos de Eventos Alternativos  (Continuação): Sugestão: Fluxo Principal O Usuário ...  (A1) O Sistema apresenta a tela XXX... O Usuário ...  (A2) Fluxos Alternativos A1: [ nome do fluxo alternativo A1 ] O Usuário ...  (A3) O Sistema ... A2: [ nome do fluxo alternativo A2 ] ... Especificação de um Caso de Uso
Fluxos de Exceção Descrevem os procedimentos que devem ser adotados no caso de erros durante os fluxos principal e alternativos. Especificação de um Caso de Uso
Cenários : São exemplos específicos de fluxos de um Caso de Uso. São úteis para validar os fluxos. Exemplos: Cenário 1: Saldo da conta igual a R$ 1000,00 e cliente tenta sacar R$ 2.000,00 Cenário 2: Saldo da conta igual a R$ 1000,00 e cliente saca um valor menor que o saldo, com sucesso Especificação de um Caso de Uso
Caso de Uso Políticas Restrições, proibições ou obrigações  para o Ator Regras do Sistema Restrições, proibições ou obrigações  para o Sistema Regras  Regras (Exclusivas) Regras (Reusáveis) Caso de Uso Sistema Processo Regras de Negócio Especificação de um Caso de Uso
Formatos das Regras de Negócio “ {Sujeito da Frase}  deve  ...”  (obrigar) Exemplo: R1: Um pedido de empréstimo acima de R$ 1.000,00  deve  ter dois avalistas. “ {Sujeito da Frase}  pode ... somente se  ...”  (restringir) Exemplo: R2: Um saque  pode  ser feito  somente se  a conta estiver ativa e o saldo for suficiente. “ {Sujeito da Frase}  não pode  ...”  (proibir) Exemplo: R3: Um Cliente  não pode  fazer um empréstimo se tiver restritivos. Especificação de um Caso de Uso
Exemplos Comentados Exemplo 1:  Um Cliente do Banco  deve ter uma conta corrente Comentário : Uma regra  sempre  deve ser declarada através de uma frase com sujeito Exemplo 2: Um Cliente deve apresentar dois avalistas,  se  o valor do empréstimo for superior a R$ 10.000,00. Comentário:  Uma regra pode ser qualificada com as palavras “ se ” e “ quando ” Especificação de um Caso de Uso
Exemplo 2:  O sistema  deve permitir o saque se a conta estiver ativa e se o saldo for suficiente Comentário:   Para especificar regras implementáveis podemos utilizar como sujeito  o Sistema . Especificação de um Caso de Uso
Exemplo: Um Cliente novo deve receber talão de cheque  depois  de 30 dias da abertura da conta.  Comentário:  Uma regra pode ser qualificada com palavras que façam referência ao tempo, tais como  “ antes ”, “ depois ”, “ durante ”, “ por  (um intervalo de tempo)”, “ em  (um momento ou um intervalo de tempo)” Especificação de um Caso de Uso
Exemplo: Considere os passos do Fluxo Principal abaixo O usuário solicita o saque. Se o saque for aprovado, o sistema libera o dinheiro. Comentários:  1) Fluxo principal ou alternativo começando com “ se ”,  pode estar escondendo uma regra. Tente reescrevê-la numa frase com sujeito e seguindo as orientações apresentadas. 2) O exemplo revisado conforme o padrão é assim:   1. O usuário solicita o saque 2. O sistema libera o dinheiro (R8). Especificação de um Caso de Uso
Comentários:   3) A regra R8 deve ser especificada no Modelo de Regras e apenas referenciada no Caso de Uso:   “R8: O sistema deve permitir o saque se a conta estiver ativa e o saldo for suficiente”.   4) Este padrão estabelece que a regra deve começar com um sujeito e não com “se”  para evitar que o analista seja induzido a escrever pseudo-código. Especificação de um Caso de Uso
Fluxo de Eventos dos Casos de Uso – Exemplos Saque com cartão:  UC001 – Saque com cartão  Telefone Celular:   UC001 – Realizar Chamada Casos de Uso
Exemplo: Estudo de Caso 1 – Sistema de Empréstimos Exercícios: Estudo de Caso 3 – Revenda de Celulares Casos de Uso
  O Diagrama de Caso de Uso pode ser reestruturado para melhor demonstrar o encadeamento das funções. A reestruturação é feita a partir dos relacionamentos existentes entre atores e entre casos de uso. Diagrama de Caso de Uso Estruturação de um Diagrama de Caso de Uso
  Relacionamento entre atores   Os atores podem ser organizados em hierarquias, em que atores mais especializados herdam o comportamento dos atores mais generalizados : Casos de Uso Cliente Pessoa jurídica Pessoa física
  Relacionamentos entre casos de uso   Existem três tipos de relacionamento entre casos de uso:   Generalização ou Herança Uso (Include) Extensão (Extend) 1.      Generalização : Este relacionamento é usado quando um Caso de Uso é semelhante a outro, mas faz um pouco mais. Neste caso, o segundo caso é uma especialização do primeiro. Os casos de uso genéricos são chamados abstrações.   A generalização é representada por uma seta oca, que aponta do caso de uso específico para o caso de uso mais genérico. Casos de Uso
  Relacionamentos entre casos de uso   1.      Generalização: (Exemplos)  Casos de Uso Saque Saque Automático Saque Manual Agendar Horário Agendar Via Web Agendar Manual Exemplo1 Exemplo 2
  Relacionamentos entre casos de uso   2.   Uso (Include):  Ocorre quando existe uma parte do comportamento de um caso de uso que pode ser usado em outro caso, ou seja, uma rotina comum. Para não ficar repetindo este comportamento em todos os Casos de Uso, faz-se um Caso novo e usa-se este caso.   É utilizado para agrupar funcionalidades comuns utilizadas por diversos casos de uso, e não está sujeita a nenhuma condição.   A inclusão é representada por uma linha pontilhada com uma seta aberta que sai do caso de uso base e aponta para o caso de uso incluído. Casos de Uso
Relacionamentos entre casos de uso   2.      Uso (Include): (Exemplos)  <include> <include> <include> <include> Casos de Uso Saque Verificar senha Consulta Saldo Venda Atualizar Estoque Compra  Fornecedor Exemplo1 Exemplo 2
Relacionamentos entre casos de uso   3.   Extensão (Extend):  É   semelhante ao Uso, porém só existe a extensão sujeita a uma determinada condição, ou seja, o comportamento do caso de uso estendido é inserido somente se uma condição for Verdadeira. A extensão é representada por uma linha pontilhada com uma seta aberta, que sai do caso de uso estendido e aponta para o caso de uso base. Casos de Uso
Casos de Uso Relacionamentos entre casos de uso   3.      Extensão (Extend): (Exemplos)  Venda Consulta SPC <extend> Discar número Discar número da memória <extend>
Exercício: Reestruturar os Diagramas de Caso de Uso dos Estudos de Caso Casos de Uso

Análise Orientada a Objetos - Casos de Uso

  • 1.
    Análise Orientada aObjetos Casos de Uso
  • 2.
    Objetivo: Descrever ummodelo funcional do sistema. Procura identificar os usuários e representar o sistema segundo a sua visão. [Deboni 2003].   Deve estabelecer um modelo de requisitos do sistema através da identificação de como o mesmo será utilizado pelos elementos externos e quais serviços deve prover. Casos de Uso
  • 3.
    Este diagrama utilizatrês elementos básicos para a sua construção: ATOR Um ator é alguém ou alguma coisa que interage com o sistema; é quem ou o que usa o sistema. O ator representa um papel, não um usuário individual do sistema. Atores podem ser humanos ou sistemas automatizados. O ator comunica-se com o sistema enviando e recebendo mensagens. Atores recebem nomes que refletem o papel que desempenham no sistema. Representação gráfica do ator: 0 Elementos de um Diagrama UC nome do ator
  • 4.
    Atores - ExemplosEm um Consultório Médico Em uma Biblioteca Elementos de um Diagrama UC Médico Atendente Bibliotecário Usuário
  • 5.
    CASO DE USOUm caso de uso representa uma funcionalidade completa do sistema, conforme percebida por um ator.   É um conjunto de seqüências de ações que um sistema executa, gerando um resultado observável que interessa a determinado ator.   A idéia é que os casos de uso representem, por meio de pequenas histórias descritivas, as funcionalidades de um sistema.   Modela o diálogo entre o ator e o sistema.   São as funções que o sistema vai desempenhar. Casos de Uso
  • 6.
    CASO DE USOOs Casos de Uso representam as funções do sistema, ou seja, os requisitos do sistema sob o ponto de vista do usuário Eles mostram as funcionalidades que serão utilizadas pelos usuários O foco do Caso de Uso está em O QUE o sistema faz e não COMO o sistema faz Casos de Uso
  • 7.
        Representaçãográfica do Caso de Uso  Casos de Uso Nome do Caso de Uso Nome do Caso de Uso
  • 8.
    Exemplo: Sistema TelefônicoCasos de Uso Realizar Chamada Manter Agenda Usuário
  • 9.
    Exemplo: Panificadora Casos de Uso Vender Produtos Receber Pagamento Balconista Caixa
  • 10.
    Para identificar osCasos de Uso respondemos algumas perguntas como: “ Qual é a expectativa do usuário ao usar o sistema, ou seja, o que ele precisa fazer com o sistema?” “ Quais resultados de valor o usuário espera receber do sistema?” Exemplos: Efetuar Depósito Solicitar Extrato Efetuar Transferência Efetuar Saque Validar Saldo Está é uma lógica oculta com a qual o usuário final não se preocupa, portanto não é qualificada com um Caso de Uso Casos de Uso
  • 11.
    Casos de Usodo tipo CRUD (Create, Read, Update, Delete) por terem comportamentos muito semelhantes geralmente são combinados em um caso de uso que ofereça todos os recursos de manutenção. = UC Manter Usuário UC Incluir Usuário UC Excluir Usuário UC Alterar Usuário UC Pesquisar Usuário UC Manter Conta Corrente UC Abrir conta corrente UC Encerrar conta corrente UC Alterar conta corrente UC Consultar conta corrente Fazendo uma analogia: Casos de Uso =
  • 12.
    Exercícios: 1) Identifiqueos atores e elabore o diagrama de casos de uso para o sistema de controle de uma biblioteca descrito a seguir: É um sistema de suporte para uma biblioteca A biblioteca empresta livros e revistas para clientes, que são registrados no sistema, no qual também estão registrados os livros e as revistas A biblioteca controla a compra de novos títulos. De títulos populares compra-se várias cópias. Livros antigos e revistas são removidos quando estão ultrapassados ou deteriorados Bibliotecário é um funcionário da biblioteca que interage com os clientes e seu trabalho é auxiliado pelo sistema Casos de Uso
  • 13.
    Exercícios: (continuação)Um cliente pode reservar um livro ou revista que não está disponível no momento na biblioteca, de forma que quando ele for devolvido ou comprado pela biblioteca, o cliente é avisado. A reserva é cancelada quando o cliente retira o livro ou revista, ou através de um processo exclusivo de cancelamento A biblioteca pode facilmente criar, atualizar, e apagar informações sobre seus títulos, clientes, empréstimos, e reservas no sistema O sistema pode rodar em todos os ambientes populares (UNIX, Linux, windows, etc) e tem uma interface gráfica (GUI) moderna O sistema deve ser facilmente estendido com novas funcionalidades O sistema deve lidar com a mensagem que é enviada ao cliente quando um título reservado torna-se disponível, e precisa checar se um determinado título está ultrapassado ou deteriorado. Casos de Uso
  • 14.
    Exercícios: 2) Identifique os atores e elabore o diagrama de casos de uso para um sistema de controle de uma máquina que vende Coca-Cola, descrito a seguir: É um sistema de venda de Coca-cola em máquina automatizada O sistema deve estar preparado para receber e conferir o dinheiro colocado pelo Cliente, inclusive para dar o troco Deve controlar a recarga de refrigerantes pelo Técnico, bem como o recolhimento do dinheiro da máquina. Casos de Uso
  • 15.
    Descreva passo apasso como ocorre o Saque em um Caixa Automático. 1 - Cliente insere o cartão 2 - Caixa Automático solicita a senha 3 - Caixa solicita Automático solicita o serviço que o Cliente deseja 4 - Cliente seleciona a opção Saque 5 - Caixa Automático solicita o valor do Saque 6 - Cliente seleciona o valor da retirada 7 - Caixa Automático solicita data de nascimento 8 - Caixa Automático solicita a colocação do cartão 9 - Cliente insere e retira o cartão 10 - Caixa Automático libera o dinheiro 11 - Caixa Automático inicia a tela para o próximo Cliente Especificação de um Caso de Uso
  • 16.
    Vocês especificaram umCaso de Uso Como não foi fornecido um padrão, cada um fez do seu modo Sem um padrão cada um coloca o seu estilo na especificação: muitos detalhes só um resumo o que pode criar problemas de comunicação Especificação de um Caso de Uso
  • 17.
  • 18.
    Informações Básicas Númerodo Caso de Uso Nome do Caso de Uso Descrição Pré-condições Pós-condições Ator Principal Fluxo de Eventos Fluxos Alternativos Fluxos de Exceção Cenários Views (Telas, Relatórios, etc) Regras de Negócio Especificação de um Caso de Uso
  • 19.
    Descrição : Descrever a função e o resultado observável do Caso de Uso. Orientações: Escreva pouco Especifique com exatidão o resultado observável Sugestão: “Este Caso de Uso serve para ...” Exemplos: Este caso de uso serve para realizar um saque em Conta Corrente com cartão de débito. Especificação de um Caso de Uso
  • 20.
    Pré-condições: Condições queprecisam ser verdadeiras para que o Caso de Uso possa iniciar Orientações: Uma pré-condição não satisfeita impede o início do Caso de Uso . Uma pré-condição pode ser um outro Caso de Uso executado. Nem todos os Casos de Uso têm pré-condições. Sugestão: “Este Caso de Uso pode iniciar somente se ...” Exemplos: Este use case pode iniciar somente se: O Cliente tiver perfil disponível para transação Saque em Conta Corrente. Tela do Caixa Automático estiver disponível. Especificação de um Caso de Uso
  • 21.
    Pós-condições : Situaçãoapós a execução do Caso de Uso Orientações: As pós-condições são condições que devem sempre ser verdadeiras após o término da execução do Caso de Uso. Uma pós-condição não satisfeita impede o fim normal do Caso de Uso. Assim como as pré-condições, as pós-condições podem ser usadas para adicionar informações sobre a ordem em que os Casos de Uso são executados. Sugestão: “Após o fim normal deste Caso de Uso ... deve ...” Exemplos: Após o fim normal deste Caso de Uso, o sistema deve: ter feito o débito na Conta Corrente do Cliente. ter acionado o UC Contabilidade de Caixa. ter impresso o Comprovante do Saque em C/C. ter disponibilizado informações para Extrato C/C. Especificação de um Caso de Uso
  • 22.
    Ator: O Atornão faz parte do sistema , ele é quem solicita uma ação ao sistema (ou recebe uma resposta do sistema), ou seja, é quem interage com o sistema. Tipos de ator: Humano: um cliente de um banco sacando dinheiro. Sistema: o Sistema de Ações é o Ator quando aciona o Sistema de Contas Correntes para depositar os dividendos da carteira de ações do cliente. Tempo: no início do mês o Sistema de Contas Correntes imprime os extratos do mês anterior para enviar ao cliente através do Correio. Especificação de um Caso de Uso
  • 23.
    Fluxo de EventosPrincipal : Descrever a seqüência de ações que devem ser executadas para que o Caso de Uso execute sua função. Orientações: Descrição passo a passo do fluxo normal, ou “caminho feliz”, sob o ponto de vista do Ator Especifica como o Sistema será usado e não como será implementado Deve ser caracterizado por frases simples, em que o sujeito é o Ator ou o Sistema Não deve ter desvios para outros passos do Fluxo de Eventos Especificação de um Caso de Uso
  • 24.
    Sugestão: O Usuário.... O Sistema apresenta a tela XXX O Usuário ... ... O Caso de Uso é finalizado. Especificação de um Caso de Uso
  • 25.
    Fluxos de EventosAlternativos No Fluxo de Eventos Principal, caso ocorra alguma condição em algum dos passos, deve-se executar um Fluxo Alternativo para aquele passo. Orientações: Um Fluxo Alternativo pode conter outros Fluxos Alternativos e pode retornar para o fluxo principal Especificação de um Caso de Uso
  • 26.
    Fluxos de EventosAlternativos (Continuação): Sugestão: Fluxo Principal O Usuário ... (A1) O Sistema apresenta a tela XXX... O Usuário ... (A2) Fluxos Alternativos A1: [ nome do fluxo alternativo A1 ] O Usuário ... (A3) O Sistema ... A2: [ nome do fluxo alternativo A2 ] ... Especificação de um Caso de Uso
  • 27.
    Fluxos de ExceçãoDescrevem os procedimentos que devem ser adotados no caso de erros durante os fluxos principal e alternativos. Especificação de um Caso de Uso
  • 28.
    Cenários : Sãoexemplos específicos de fluxos de um Caso de Uso. São úteis para validar os fluxos. Exemplos: Cenário 1: Saldo da conta igual a R$ 1000,00 e cliente tenta sacar R$ 2.000,00 Cenário 2: Saldo da conta igual a R$ 1000,00 e cliente saca um valor menor que o saldo, com sucesso Especificação de um Caso de Uso
  • 29.
    Caso de UsoPolíticas Restrições, proibições ou obrigações para o Ator Regras do Sistema Restrições, proibições ou obrigações para o Sistema Regras Regras (Exclusivas) Regras (Reusáveis) Caso de Uso Sistema Processo Regras de Negócio Especificação de um Caso de Uso
  • 30.
    Formatos das Regrasde Negócio “ {Sujeito da Frase} deve ...” (obrigar) Exemplo: R1: Um pedido de empréstimo acima de R$ 1.000,00 deve ter dois avalistas. “ {Sujeito da Frase} pode ... somente se ...” (restringir) Exemplo: R2: Um saque pode ser feito somente se a conta estiver ativa e o saldo for suficiente. “ {Sujeito da Frase} não pode ...” (proibir) Exemplo: R3: Um Cliente não pode fazer um empréstimo se tiver restritivos. Especificação de um Caso de Uso
  • 31.
    Exemplos Comentados Exemplo1: Um Cliente do Banco deve ter uma conta corrente Comentário : Uma regra sempre deve ser declarada através de uma frase com sujeito Exemplo 2: Um Cliente deve apresentar dois avalistas, se o valor do empréstimo for superior a R$ 10.000,00. Comentário: Uma regra pode ser qualificada com as palavras “ se ” e “ quando ” Especificação de um Caso de Uso
  • 32.
    Exemplo 2: O sistema deve permitir o saque se a conta estiver ativa e se o saldo for suficiente Comentário: Para especificar regras implementáveis podemos utilizar como sujeito o Sistema . Especificação de um Caso de Uso
  • 33.
    Exemplo: Um Clientenovo deve receber talão de cheque depois de 30 dias da abertura da conta. Comentário: Uma regra pode ser qualificada com palavras que façam referência ao tempo, tais como “ antes ”, “ depois ”, “ durante ”, “ por (um intervalo de tempo)”, “ em (um momento ou um intervalo de tempo)” Especificação de um Caso de Uso
  • 34.
    Exemplo: Considere ospassos do Fluxo Principal abaixo O usuário solicita o saque. Se o saque for aprovado, o sistema libera o dinheiro. Comentários: 1) Fluxo principal ou alternativo começando com “ se ”, pode estar escondendo uma regra. Tente reescrevê-la numa frase com sujeito e seguindo as orientações apresentadas. 2) O exemplo revisado conforme o padrão é assim: 1. O usuário solicita o saque 2. O sistema libera o dinheiro (R8). Especificação de um Caso de Uso
  • 35.
    Comentários: 3) A regra R8 deve ser especificada no Modelo de Regras e apenas referenciada no Caso de Uso: “R8: O sistema deve permitir o saque se a conta estiver ativa e o saldo for suficiente”. 4) Este padrão estabelece que a regra deve começar com um sujeito e não com “se” para evitar que o analista seja induzido a escrever pseudo-código. Especificação de um Caso de Uso
  • 36.
    Fluxo de Eventosdos Casos de Uso – Exemplos Saque com cartão: UC001 – Saque com cartão Telefone Celular: UC001 – Realizar Chamada Casos de Uso
  • 37.
    Exemplo: Estudo deCaso 1 – Sistema de Empréstimos Exercícios: Estudo de Caso 3 – Revenda de Celulares Casos de Uso
  • 38.
      O Diagramade Caso de Uso pode ser reestruturado para melhor demonstrar o encadeamento das funções. A reestruturação é feita a partir dos relacionamentos existentes entre atores e entre casos de uso. Diagrama de Caso de Uso Estruturação de um Diagrama de Caso de Uso
  • 39.
      Relacionamento entreatores Os atores podem ser organizados em hierarquias, em que atores mais especializados herdam o comportamento dos atores mais generalizados : Casos de Uso Cliente Pessoa jurídica Pessoa física
  • 40.
      Relacionamentos entrecasos de uso Existem três tipos de relacionamento entre casos de uso: Generalização ou Herança Uso (Include) Extensão (Extend) 1.     Generalização : Este relacionamento é usado quando um Caso de Uso é semelhante a outro, mas faz um pouco mais. Neste caso, o segundo caso é uma especialização do primeiro. Os casos de uso genéricos são chamados abstrações.   A generalização é representada por uma seta oca, que aponta do caso de uso específico para o caso de uso mais genérico. Casos de Uso
  • 41.
      Relacionamentos entrecasos de uso 1.     Generalização: (Exemplos)  Casos de Uso Saque Saque Automático Saque Manual Agendar Horário Agendar Via Web Agendar Manual Exemplo1 Exemplo 2
  • 42.
      Relacionamentos entrecasos de uso 2.   Uso (Include): Ocorre quando existe uma parte do comportamento de um caso de uso que pode ser usado em outro caso, ou seja, uma rotina comum. Para não ficar repetindo este comportamento em todos os Casos de Uso, faz-se um Caso novo e usa-se este caso.   É utilizado para agrupar funcionalidades comuns utilizadas por diversos casos de uso, e não está sujeita a nenhuma condição.   A inclusão é representada por uma linha pontilhada com uma seta aberta que sai do caso de uso base e aponta para o caso de uso incluído. Casos de Uso
  • 43.
    Relacionamentos entre casosde uso 2.     Uso (Include): (Exemplos)  <include> <include> <include> <include> Casos de Uso Saque Verificar senha Consulta Saldo Venda Atualizar Estoque Compra Fornecedor Exemplo1 Exemplo 2
  • 44.
    Relacionamentos entre casosde uso 3.   Extensão (Extend): É semelhante ao Uso, porém só existe a extensão sujeita a uma determinada condição, ou seja, o comportamento do caso de uso estendido é inserido somente se uma condição for Verdadeira. A extensão é representada por uma linha pontilhada com uma seta aberta, que sai do caso de uso estendido e aponta para o caso de uso base. Casos de Uso
  • 45.
    Casos de UsoRelacionamentos entre casos de uso 3.     Extensão (Extend): (Exemplos)  Venda Consulta SPC <extend> Discar número Discar número da memória <extend>
  • 46.
    Exercício: Reestruturar osDiagramas de Caso de Uso dos Estudos de Caso Casos de Uso