Gerenciamento
Ágil de Projetos
Aula 3 - Casos de Uso
Casos de Uso

          • Casos de Uso são narrativas em texto,
            amplamente utilizadas para descobrir e
       ...
Definições
          • Ator é algo com comportamento, tal como uma
            pessoa, sistema ou organização.
          •...
Por que Casos de Uso?
          • Casos de Uso são uma boa maneira de manter as
            coisas simples e tornar possív...
Situações para usar
          • Casos de uso são uma forma de escrita que pode
            ser utilizada em diferentes sit...
Notação do Caso de Uso
          • Resumido: um parágrafo, geralmente o cenário
            principal.
          • Informa...
Atores têm Objetivos
          • Um balconista responsável por anotar as
            ordens de serviço pelo telefone tem u...
Objetivos podem falhar
          • O que acontece se o computador desligasse no meio
            da anotação de um pedido?...
Interações são compostas
          • Uma sequência de mensagens, ou cenário, é uma
            interação composta; Suponha...
Um Caso de Uso agrupa cenários
           • O ator primário tem um objetivo;
           • O sistema deveria ajudar o ator ...
Como escrever

           • Aprender a escrever um bom caso de uso é
             difícil;
           • Conceitos aplicáve...
Modelo
           • Nome: Iniciado com um verbo; Geralmente
             expressa o objetivo do ator principal;
          ...
Modelo
           • Pré-condições: O que precisa ser verdade de início e
             vale a pena dizer ao leitor;
       ...
Modelo

           • Requisitos especiais: requisitos não funcionais
             relacionados;
           • Variantes tec...
Escopo

           • Um caso de uso de negócio tem a empresa
             como escopo. Seu símbolo é uma casa.
           ...
Escopo
           • Um caso de uso do sistema tem um computador
             como seu escopo; Seu símbolo é uma caixa.
   ...
Stakeholders e atores
           • Um stakeholder é                 • Procure atores em:
             alguém que participa...
Níveis de Objetivos
           • Objetivos do Usuário (Azul, Nível do Mar                  , !)
            •   É o objeti...
Níveis de Objetivos
           • Nível de Resumo (Branco, Nuvem               / Pipa    , +)
            •   Objetivos nív...
Níveis de Objetivos
           • Subfunções (Índigo/Preto, Debaixo D’Água                /
             Marisco , -)
     ...
Encontrando o Nível

           • Encontre o objetivo do usuário
            • O que o ator primário realmente quer?
     ...
Pré-condições
           • A pré-condição de um caso de uso anuncia o que o
             sistema garantirá que é verdadeir...
Garantias Mínimas
           • As garantias mínimas são as menores promessas que o
             sistema faz aos stakeholde...
Garantias de Sucesso
           • A garantia de sucesso estabelece quais interesses dos
             stakeholders são sati...
Acionadores

           • O acionador (gatilho) especifica o evento que
             faz o caso de uso começar.
           ...
Cenário de Sucesso Principal
           • O cenário de sucesso principal e todas as extensões
             são acomodadas ...
Corpo do cenário
           • Todo cenário é escrito como uma sequência de
             ações dos diversos atores para alc...
Exemplo
       1.   Atendente entra com o número da apólice;
       2.   Sistema preenche a informação disponível;
       ...
Exemplo
       1.   Atendente entra com o número da apólice;
       2.   Sistema preenche a informação disponível;
       ...
Diretrizes
           • Use gramática simples
             Sujeito ... verbo ... objeto direto... frase preposicional.
   ...
Diretrizes
           • Mostre o processo avançando
             Use: “Usuário entra com nome e endereço”
             No ...
Diretrizes
           • Inclua um conjunto de Ações “Razoável”
             Use: “1. O cliente entra com o número de
     ...
Diretrizes
           • “Valide”, Não “Verifique se”
             Use: “O sistema valida que a senha está correta”
        ...
Diretrizes
           • Expressão idiomática: “Faça Passos x-y
             até Condição”
             Use: ”... 3. Client...
Extensões
           • Casos de uso devem conter todos os cenários, tanto
             de sucesso como de falha.
         ...
Extensões

           • Encontrar extensões em três fases:
             1. Fazer brainstorming e incluir toda
            ...
Extensões - Exemplo
           • Cenário de Sucesso Principal:
             ...
             3. O sistema percorre o docum...
Extensões
           • Extensões:
             4a. O sistema não detecta outro erro até o final.
               4a1. O sist...
Diretrizes
           • Faça a condição dizer o que foi detectado
             Use: “Senha Inválida; Rede inoperante; O cl...
Variações Tecnológ. e de dados
           • Variações Tecnológicas e de Dados são usadas para
             expressar “mane...
Mão na massa
                                                               30 min
           • Elabore junto com a turma ...
Referências
           •   [LAR06] LARMAN, Craig. Utilizando UML e Padrões -
               Uma Introdução à Análise e ao ...
Próximos SlideShares
Carregando em…5
×

3. Casos de Uso

8.611 visualizações

Publicada em

Terceira aula do treinamento de Gerenciamento Ágil de Projetos ministrado na CASSEMS.

Publicada em: Tecnologia, Educação
  • Seja o primeiro a comentar

3. Casos de Uso

  1. 1. Gerenciamento Ágil de Projetos Aula 3 - Casos de Uso
  2. 2. Casos de Uso • Casos de Uso são narrativas em texto, amplamente utilizadas para descobrir e registrar requisitos. • Modelo de Casos de Uso trata-se do conjunto de todos os casos de uso escritos. • Diagrama de Casos de Uso é a notação da UML para ilustrar os casos de uso, os atores e o relacionamento entre eles. Slide 2 Aula 2 - Abordagens Ágeis
  3. 3. Definições • Ator é algo com comportamento, tal como uma pessoa, sistema ou organização. • Cenário é uma sequência específica de ações e interações entre atores e o sistema. • Um caso de uso é uma coleção de cenários relacionados de sucesso e fracasso que descrevem um ator usando um sistema como meio para atingir um objetivo. Aula 2 - Abordagens Ágeis [1] Slide 3
  4. 4. Por que Casos de Uso? • Casos de Uso são uma boa maneira de manter as coisas simples e tornar possível a especialistas no domínio a escrevê-los (ou participar da escrita); • Enfatizam os objetivos e perspectivas do usuário: “quem está usando o sistema, quais são seus típicos cenários de uso e seus objetivos”; • Níveis “configuráveis” de sofisticação e formalidade; Aula 2 - Abordagens Ágeis [1] Slide 4
  5. 5. Situações para usar • Casos de uso são uma forma de escrita que pode ser utilizada em diferentes situações: • Para descrever um processo de trabalho; • Para focar a discussão sobre futuros requisitos de software; • Para ser os requisitos funcionais de um sistema; • Para documentar o projeto do sistema; • Para ser escrito em um grupo pequeno e restrito; ou em um grupo grande e distribuído; Aula 2 - Abordagens Ágeis [2] Slide 5
  6. 6. Notação do Caso de Uso • Resumido: um parágrafo, geralmente o cenário principal. • Informal: múltiplos parágrafos que cobrem vários cenários. • Completo: todos os passos e variantes são escritos em detalhes. • Quando? Resumido e informal no início do projeto. Completo, durante o primeiro workshop de requisitos para os casos de uso críticos; Aula 2 - Abordagens Ágeis [1] Slide 6
  7. 7. Atores têm Objetivos • Um balconista responsável por anotar as ordens de serviço pelo telefone tem um objetivo: • Ter o registro no computador e iniciar a ordem de serviço; • O sistema também tem uma responsabilidade: • Registrar e inicializar a ordem de serviço; • Para cumprir a responsabilidade o sistema formula subobjetivos; Ele pode realizar alguns objetivos internamente, mas precisa do auxílio de um ator secundário para realizar outros; Aula 2 - Abordagens Ágeis [2] Slide 7
  8. 8. Objetivos podem falhar • O que acontece se o computador desligasse no meio da anotação de um pedido? • Se o sistema não consegue entregar a promessa de serviço, o balconista deve enviar um objetivo de backup - neste caso, papel e caneta; • O sistema pode encontrar uma falha em um dos seus subobjetivos; Talvez o ator primário tenha enviado dados errados; • Este foco em falha de objetivos é uma das razões de casos de uso serem excelentes requisitos funcionais; Aula 2 - Abordagens Ágeis [2] Slide 8
  9. 9. Interações são compostas • Uma sequência de mensagens, ou cenário, é uma interação composta; Suponha a interação com uma máquina de refrigerante: 1. Eu insiro uma nota de um real 2. Pressiono “guaraná” 3. A maquina diz “Necessária quantia exata” 4. Eu pressiono a Devolução de Moedas 5. A máquina devolve o valor de um real em moedas 6. Eu pego as moedas e vou embora. Aula 2 - Abordagens Ágeis [2] Slide 9
  10. 10. Um Caso de Uso agrupa cenários • O ator primário tem um objetivo; • O sistema deveria ajudar o ator a atingir este objetivo; • Alguns cenários mostram o objetivo sendo alcançado; • Alguns terminam como ele sendo abandonado; • Cada cenário tem uma sequência de passos mostrando como as ações e iterações se desdobram; • Um caso de uso agrupa todos os cenários, mostrando todas as maneiras para um objetivo ter sucesso ou falhar; Aula 2 - Abordagens Ágeis [2] Slide 10
  11. 11. Como escrever • Aprender a escrever um bom caso de uso é difícil; • Conceitos aplicáveis: • Escopo: Qual é realmente o sistema sob discussão (SsD)? • Ator Primário: Quem tem o objetivo? • Nível: Quão alto ou baixo é o nível do objetivo? Aula 2 - Abordagens Ágeis [2] Slide 11
  12. 12. Modelo • Nome: Iniciado com um verbo; Geralmente expressa o objetivo do ator principal; • Escopo: Empresa, sistema ou subsistema; • Nível: branco, azul ou índigo; • Stakeholders e interesses: Quem se importa com o caso de uso e o que desejam; • Ator Principal: chama o sistema para fornecer os serviços; Aula 2 - Abordagens Ágeis [1] Slide 12
  13. 13. Modelo • Pré-condições: O que precisa ser verdade de início e vale a pena dizer ao leitor; • Garantia de sucesso: O que precisa ser verdade ao término bem sucedido e vale a pena dizer ao leitor; • Cenário de sucesso principal: um caminho típico, incondicional e otimista do cenário de sucesso; • Extensões: cenários alternativos de sucesso ou fracasso; Aula 2 - Abordagens Ágeis [1] Slide 13
  14. 14. Modelo • Requisitos especiais: requisitos não funcionais relacionados; • Variantes tecnológicas e de dados: métodos de entrada e saída e formatos de dados variáveis; • Frequência de ocorrência: Influencia a investigação, teste e oportunidade da implementação; • Diversos: Como, por exemplo, pontos em aberto; Aula 2 - Abordagens Ágeis [1] Slide 14
  15. 15. Escopo • Um caso de uso de negócio tem a empresa como escopo. Seu símbolo é uma casa. • Colorida de preto ( ) trata todo o empreendimento como uma caixa preta; • Colorida de branco ( ) fala sobre os departamentos e pessoal dentro da organização; Aula 2 - Abordagens Ágeis [2] Slide 15
  16. 16. Escopo • Um caso de uso do sistema tem um computador como seu escopo; Seu símbolo é uma caixa. • Colorida de preto ( ) trata como uma caixa-preta; • Colorida de banco ( ) se você revela como seus componentes trabalham; • Um caso de uso de componente é sobre um subsistema ou componente de um sistema em desenvolvimento. Seu símbolo é um parafuso ( ). Aula 2 - Abordagens Ágeis [2] Slide 16
  17. 17. Stakeholders e atores • Um stakeholder é • Procure atores em: alguém que participa • Os stakeholders do no contrato. sistema; • Um ator é qualquer • O ator primário de um caso de uso; coisa que tem um • O próprio sistema sob comportamento. Pode discussão (SsD); ser uma pessoa, uma • Atores secundários de empresa, um software, um caso de uso; um hardware, etc. • Atores internos - componentes do SsD; Aula 2 - Abordagens Ágeis [2] Slide 17
  18. 18. Níveis de Objetivos • Objetivos do Usuário (Azul, Nível do Mar , !) • É o objetivo que o ator primário tem ao tentar ter seu trabalho realizado ou que o usuário tem ao usar o sistema. • Corresponde ao processo de negócio elementar. • Remete à questão: “O ator primário pode ir embora feliz depois de ter feito isso?” • Teste do café: “Depois que acabar isso, eu posso tomar um café?”; • Geralmente uma pessoa em uma sessão (2-20 min); Aula 2 - Abordagens Ágeis [2] Slide 18
  19. 19. Níveis de Objetivos • Nível de Resumo (Branco, Nuvem / Pipa , +) • Objetivos nível-resumo envolvem múltiplos objetivos do usuário. • Mostram o contexto no qual os objetivos do usuário operam; • Mostram a sequência do ciclo de vida de objetivos relacionados; • Fornecem um índice para os casos de uso de mais baixo nível; Aula 2 - Abordagens Ágeis [2] Slide 19
  20. 20. Níveis de Objetivos • Subfunções (Índigo/Preto, Debaixo D’Água / Marisco , -) • São aqueles necessários para realizarem os objetivos do usuário; • Só inclua conforme você precisar, geralmente podem ser descritos como passos em cenários; • Podem ser utilizados para representar re-uso; Aula 2 - Abordagens Ágeis [2] Slide 20
  21. 21. Encontrando o Nível • Encontre o objetivo do usuário • O que o ator primário realmente quer? • Por que esse ator está fazendo isso? • Use de 3 a 10 passos por caso de uso • Remova detalhes de interface do usuário. • Eleve o nível perguntando “por que” para encontrar o próximo mais alto nível de objetivo. Aula 2 - Abordagens Ágeis [2] Slide 21
  22. 22. Pré-condições • A pré-condição de um caso de uso anuncia o que o sistema garantirá que é verdadeiro antes de permitir o início do caso de uso. • Geralmente indica que alguns outros casos de uso já executaram para estabelecê-la; • Um erro comum é escrever algo que frequentemente, mas não necessariamente, é verdadeiro. • Ex.: Atendente entrou no sistema; O cliente foi validado; O sistema já localizou a informação da apólice do seguro Aula 2 - Abordagens Ágeis [2] Slide 22
  23. 23. Garantias Mínimas • As garantias mínimas são as menores promessas que o sistema faz aos stakeholders, particularmente quando o objetivo do ator primário não pode ser alcançado. • São escritas como um conjunto de simples asserções que serão verdadeira ao final de qualquer execução do caso de uso. • Mostra os interesses de cada stakeholder sendo satisfeito; • Ex.: Pedido será iniciado somente se o pagamento for recebido; O pedido parcial é gravado; Aula 2 - Abordagens Ágeis [2] Slide 23
  24. 24. Garantias de Sucesso • A garantia de sucesso estabelece quais interesses dos stakeholders são satisfeitos depois de uma conclusão bem sucedida do caso de uso, ou ao término de um cenário de sucesso principal ou ao término de um caminho de sucesso alternativo; • O teste de verificação para a seção de garantias de sucesso é que os stakeholders concordam que seus interesses foram satisfeitos; • Ex.: O arquivo será salvo; O sistema iniciará uma ordem de serviço; As taxas serão calculadas; Aula 2 - Abordagens Ágeis [2] Slide 24
  25. 25. Acionadores • O acionador (gatilho) especifica o evento que faz o caso de uso começar. • Às vezes o acionador precede o primeiro passo de um caso de uso, às vezes ele é o primeiro passo. • Ex.: Cliente insere cartão; Cliente solicita informação; Às 17 horas de segunda à sexta; Aula 2 - Abordagens Ágeis [2] Slide 25
  26. 26. Cenário de Sucesso Principal • O cenário de sucesso principal e todas as extensões são acomodadas dentro de da estrutura: • Uma condição sob a qual o cenário é executado (pré-condição + acionador); • Um objetivo a alcançar; • Um conjunto de passos de ação; • Uma condição de fim; • Um possível conjunto de extensões escritas como fragmentos de cenários; Aula 2 - Abordagens Ágeis [2] Slide 26
  27. 27. Corpo do cenário • Todo cenário é escrito como uma sequência de ações dos diversos atores para alcançar seu objetivo; • Um cenário deve descrever: • Uma interação entre dois atores; • Um passo de validação para proteger um interesse de um stakeholder; • Uma mudança interna para satisfazer um interesse de um stakeholder; Aula 2 - Abordagens Ágeis [2] Slide 27
  28. 28. Exemplo 1. Atendente entra com o número da apólice; 2. Sistema preenche a informação disponível; 3. Atendente entra com informação da perda; 4. Sistema confirma que há reivindicações e atribui um número; 5. Atendente continua entrando com informação específica de perda; 6. Sistema extrai informação de cobertura; 7. Atendente seleciona e designa um Organizador; 8. Sistema salva e dispara confirmação; Aula 2 - Abordagens Ágeis [2] Slide 28
  29. 29. Exemplo 1. Atendente entra com o número da apólice; 2. Sistema preenche a informação disponível; 3. Atendente entra com informação da perda; 4. Sistema confirma que há reivindicações e atribui um número; 5. Atendente continua entrando com informação específica de perda; 6. Sistema extrai informação de cobertura; 7. Atendente seleciona e designa um Organizador; 8. Sistema salva e dispara confirmação; Aula 2 - Abordagens Ágeis [2] Slide 28
  30. 30. Diretrizes • Use gramática simples Sujeito ... verbo ... objeto direto... frase preposicional. O sistema ... deduz ... a quantia ... do saldo da conta. • Mostre claramente “quem está com a bola” • Escreva com uma Visão Geral Use: “O cliente insere no caixa o cartão e a senha O sistema deduz a quantia do saldo da conta” No lugar de: “Pegar o cartão do caixa e a senha. Deduzir quantia do saldo da conta”. Aula 2 - Abordagens Ágeis [2] Slide 29
  31. 31. Diretrizes • Mostre o processo avançando Use: “Usuário entra com nome e endereço” No lugar de: “Usuário pressiona a tecla tab” • Mostre a interação dos atores, não os movimentos Use: “Usuário entra com nome e endereço. Sistema apresenta o perfil do usuário.” No lugar de: “Sistema pergunta o nome. Usuário entra com o nome. Sistema pergunta endereço. Usuário entra com endereço. Usuário clica em OK...” Aula 2 - Abordagens Ágeis [2] Slide 30
  32. 32. Diretrizes • Inclua um conjunto de Ações “Razoável” Use: “1. O cliente entra com o número de pedido. 2. O sistema detecta que ele corresponde ao premiado. 3. O sistema registra o usuário e pedido como ganhador.” No lugar de: “O cliente entra com o número de pedidos. O sistema detecta que ele corresponde ao premiado. O sistema registra o usuário e pedido como ganhador.” Aula 2 - Abordagens Ágeis [2] Slide 31
  33. 33. Diretrizes • “Valide”, Não “Verifique se” Use: “O sistema valida que a senha está correta” No lugar de: “O sistema verifica se a senha está correta” • Mencione o tempo ocionalmente • Expressão idiomática: “Usuário tem Sistema A chama sistema B” Use: “Usuário tem recuperando dados do sistema B” No lugar de: “Usuário sinaliza para recuperar dados do sistema B. Sistema recupera dados do sistema B” Aula 2 - Abordagens Ágeis [2] Slide 32
  34. 34. Diretrizes • Expressão idiomática: “Faça Passos x-y até Condição” Use: ”... 3. Cliente seleciona um item pra comprar. 4. Sistema adiciona item ao carrinho de compras. Cliente repete os passos 3-4 até indicar que terminou” Use: “Passos 3-5 podem ocorrer em qualquer odem 3. Usuário seleciona produtos para comprar 4. Usuário especifica forma de pagamento 5. Usuário fornece endereço de destino” Aula 2 - Abordagens Ágeis [2] Slide 33
  35. 35. Extensões • Casos de uso devem conter todos os cenários, tanto de sucesso como de falha. • Poderíamos descrever cada cenário individualmente, porém, isso é um pesadelo para manutenção. • Uma boa maneira é organizar o texto do cenário principal de sucesso com uma sequência simples até a conclusão. E então escrever um cenário de extensão para cada ponto de desvio. • Extensões estão onde os mais interessantes requisitos residem. Aula 2 - Abordagens Ágeis [2] Slide 34
  36. 36. Extensões • Encontrar extensões em três fases: 1. Fazer brainstorming e incluir toda possibilidade que vocês e seus colegas possam levantar; 2. Avaliar, eliminar e juntar idéias; 3. Sentar e trabalhar no tratamento de cada uma dessas condições pelo sistema Aula 2 - Abordagens Ágeis [2] Slide 35
  37. 37. Extensões - Exemplo • Cenário de Sucesso Principal: ... 3. O sistema percorre o documento verificando cada palavra no seu dicionário. 4. O sistema detecta um erro ortográfico, destaca a palavra e fornece alternativas. 5. O usuário seleciona uma da opções para substituição. ... Aula 2 - Abordagens Ágeis [2] Slide 36
  38. 38. Extensões • Extensões: 4a. O sistema não detecta outro erro até o final. 4a1. O sistema notifica o usuário, e finaliza o caso de uso 5a. Usuário escolhe manter a ortografia original. 5a1. O sistema ignora a palavra e continua: 5b. Usuário digita uma nova ortografia que não está na lista: 5b1. O sistema re-valida a nova ortografia, volta ao passo 3 Aula 2 - Abordagens Ágeis [2] Slide 37
  39. 39. Diretrizes • Faça a condição dizer o que foi detectado Use: “Senha Inválida; Rede inoperante; O cliente não responde (time-out); Dinheiro não foi ejetado;” • Alinhe o Tratamento da Condição Use: “2a. Fundo Insuficiente 2a1. Sistema notifica cliente, pede por nova quantia. 2a2. Cliente entra com nova quantia” Aula 2 - Abordagens Ágeis [2] Slide 38
  40. 40. Variações Tecnológ. e de dados • Variações Tecnológicas e de Dados são usadas para expressar “maneiras diferentes pelas quais isto pode ser feito”. Ex.: “7. Reembolsar cliente pelas mercadorias devolvidas. Variações Tecnológicas e de Dados: 7a. Reembolsar por cheque,TED ou crédito para compras.” “2. Usuário identifica-se, o banco e código da conta. Variações Tecnológicas e de Dados: 2a. Usar cartão magnético ou impressão digital” Aula 2 - Abordagens Ágeis [2] Slide 39
  41. 41. Mão na massa 30 min • Elabore junto com a turma um caso de uso para os casos abaixo: Comprar refrigerante da máquina; Fazer saque no caixa eletrônico; • Elabore os casos de uso do estudo de caso com o seu grupo. Slide 40 Desenvolvimento Ágil com Ruby on Rails
  42. 42. Referências • [LAR06] LARMAN, Craig. Utilizando UML e Padrões - Uma Introdução à Análise e ao Projeto Orientado a Objetos e ao Desenvolvimento Iterativo. 3a. Edição; Bookman: 2006; ISBN 8560031529 • [COC05] COCKBURN, Alistair. Escrevendo Casos de Uso Eficazes. 1a Edição; Bookman: 2005; ISBN 9788536304571 Slide 41 Aula 2 - Abordagens Ágeis

×