SlideShare a Scribd company logo
1 of 42
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
            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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

More Related Content

What's hot

Dinamica vision box_2013
Dinamica vision box_2013Dinamica vision box_2013
Dinamica vision box_2013Ricardo Infante
 
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...Natanael Simões
 
Prototipação de software
Prototipação de softwarePrototipação de software
Prototipação de softwareleopp
 
Engenharia de Software: Lista de exercício 1- Caso de uso
Engenharia de Software: Lista de exercício 1- Caso de usoEngenharia de Software: Lista de exercício 1- Caso de uso
Engenharia de Software: Lista de exercício 1- Caso de usoCris Fidelix
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Luís Fernando Richter
 
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Rosanete Grassiani dos Santos
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesRodrigo Cascarrolho
 
Aula 12 - Diagrama de Atividades.pdf
Aula 12 - Diagrama de Atividades.pdfAula 12 - Diagrama de Atividades.pdf
Aula 12 - Diagrama de Atividades.pdfIvanFontainha
 
Conceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasConceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasClayton de Almeida Souza
 
Uml Diagramas estruturais - parte escrita
Uml   Diagramas estruturais - parte escritaUml   Diagramas estruturais - parte escrita
Uml Diagramas estruturais - parte escritathaisedd
 
Webinar Gamificação para Gestão de Mudança - Bruno Medina e Samara Tanaka
Webinar Gamificação para Gestão de Mudança - Bruno Medina e Samara TanakaWebinar Gamificação para Gestão de Mudança - Bruno Medina e Samara Tanaka
Webinar Gamificação para Gestão de Mudança - Bruno Medina e Samara TanakaMJV Technology & Innovation Brasil
 
Uml diagrama de sequencia
Uml diagrama de sequenciaUml diagrama de sequencia
Uml diagrama de sequenciaItalo Costa
 
Aula 7 a necessidade de foco no cliente aula 10
Aula 7 a necessidade de foco no cliente   aula 10Aula 7 a necessidade de foco no cliente   aula 10
Aula 7 a necessidade de foco no cliente aula 10José Paulo Alves Fusco
 
Histórias de Usuário: Como escrever a história perfeita?
Histórias de Usuário: Como escrever a história perfeita?Histórias de Usuário: Como escrever a história perfeita?
Histórias de Usuário: Como escrever a história perfeita?Priscila Ribeiro Chagas
 
Introdução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresIntrodução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresWellington Oliveira
 

What's hot (20)

Introdução ao RUP
Introdução ao RUPIntrodução ao RUP
Introdução ao RUP
 
Dinamica vision box_2013
Dinamica vision box_2013Dinamica vision box_2013
Dinamica vision box_2013
 
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
 
Prototipação de software
Prototipação de softwarePrototipação de software
Prototipação de software
 
casos de uso
casos de usocasos de uso
casos de uso
 
Metodologia Ágil
Metodologia ÁgilMetodologia Ágil
Metodologia Ágil
 
Engenharia de Software: Lista de exercício 1- Caso de uso
Engenharia de Software: Lista de exercício 1- Caso de usoEngenharia de Software: Lista de exercício 1- Caso de uso
Engenharia de Software: Lista de exercício 1- Caso de uso
 
Aula 7 - Modelagem de Software
Aula 7 - Modelagem de SoftwareAula 7 - Modelagem de Software
Aula 7 - Modelagem de Software
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006
 
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
 
Aula 12 - Diagrama de Atividades.pdf
Aula 12 - Diagrama de Atividades.pdfAula 12 - Diagrama de Atividades.pdf
Aula 12 - Diagrama de Atividades.pdf
 
Conceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasConceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de Sistemas
 
Uml Diagramas estruturais - parte escrita
Uml   Diagramas estruturais - parte escritaUml   Diagramas estruturais - parte escrita
Uml Diagramas estruturais - parte escrita
 
Webinar Gamificação para Gestão de Mudança - Bruno Medina e Samara Tanaka
Webinar Gamificação para Gestão de Mudança - Bruno Medina e Samara TanakaWebinar Gamificação para Gestão de Mudança - Bruno Medina e Samara Tanaka
Webinar Gamificação para Gestão de Mudança - Bruno Medina e Samara Tanaka
 
Uml diagrama de sequencia
Uml diagrama de sequenciaUml diagrama de sequencia
Uml diagrama de sequencia
 
Aula 7 a necessidade de foco no cliente aula 10
Aula 7 a necessidade de foco no cliente   aula 10Aula 7 a necessidade de foco no cliente   aula 10
Aula 7 a necessidade de foco no cliente aula 10
 
Diagrama de sequência
Diagrama de sequênciaDiagrama de sequência
Diagrama de sequência
 
Histórias de Usuário: Como escrever a história perfeita?
Histórias de Usuário: Como escrever a história perfeita?Histórias de Usuário: Como escrever a história perfeita?
Histórias de Usuário: Como escrever a história perfeita?
 
Introdução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresIntrodução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de Computadores
 

Similar to 3. Casos de Uso

2. Abordagens Ágeis
2. Abordagens Ágeis2. Abordagens Ágeis
2. Abordagens ÁgeisSaulo Arruda
 
Resumo diagrama de casos de utilização
Resumo diagrama de casos de utilizaçãoResumo diagrama de casos de utilização
Resumo diagrama de casos de utilizaçãoMarco Coelho
 
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGModelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGNeubio Ferreira
 
Métodos ágeis de desenvolvimento de software
Métodos ágeis de desenvolvimento de softwareMétodos ágeis de desenvolvimento de software
Métodos ágeis de desenvolvimento de softwareJerônimo Medina Madruga
 
Palestra introdução a uml e casos de uso final_parte1
Palestra introdução a uml e casos de uso final_parte1Palestra introdução a uml e casos de uso final_parte1
Palestra introdução a uml e casos de uso final_parte1marcosdcmartinsss
 
Palestra introdução a uml e casos de uso final_parte2
Palestra introdução a uml e casos de uso final_parte2Palestra introdução a uml e casos de uso final_parte2
Palestra introdução a uml e casos de uso final_parte2marcosdcmartinsss
 
1- Diagramas de caso de uso
1- Diagramas de caso de uso1- Diagramas de caso de uso
1- Diagramas de caso de usoCris Fidelix
 
PDS 11 - Diagrama de Caso de Uso aula.pdf
PDS 11 - Diagrama de Caso de Uso aula.pdfPDS 11 - Diagrama de Caso de Uso aula.pdf
PDS 11 - Diagrama de Caso de Uso aula.pdfjoaoluciodesouzajnio
 
Use Case Diagram.pptx
Use Case Diagram.pptxUse Case Diagram.pptx
Use Case Diagram.pptxrubens708870
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...Isaac de Souza
 
Pesquisa Operacional 1_ Aula 1
Pesquisa Operacional 1_ Aula 1Pesquisa Operacional 1_ Aula 1
Pesquisa Operacional 1_ Aula 1Joabe Amaral
 
Ambiente Virtual de Treinamento: Transferindo o Aprendizado Virtual para a Re...
Ambiente Virtual de Treinamento: Transferindo o Aprendizado Virtual para a Re...Ambiente Virtual de Treinamento: Transferindo o Aprendizado Virtual para a Re...
Ambiente Virtual de Treinamento: Transferindo o Aprendizado Virtual para a Re...Alexandre Lima, M.Sc.
 

Similar to 3. Casos de Uso (20)

2. Abordagens Ágeis
2. Abordagens Ágeis2. Abordagens Ágeis
2. Abordagens Ágeis
 
Resumo diagrama de casos de utilização
Resumo diagrama de casos de utilizaçãoResumo diagrama de casos de utilização
Resumo diagrama de casos de utilização
 
UML
UMLUML
UML
 
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGModelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
 
FC-Logic
FC-LogicFC-Logic
FC-Logic
 
Métodos ágeis de desenvolvimento de software
Métodos ágeis de desenvolvimento de softwareMétodos ágeis de desenvolvimento de software
Métodos ágeis de desenvolvimento de software
 
Palestra introdução a uml e casos de uso final_parte1
Palestra introdução a uml e casos de uso final_parte1Palestra introdução a uml e casos de uso final_parte1
Palestra introdução a uml e casos de uso final_parte1
 
Palestra introdução a uml e casos de uso final_parte2
Palestra introdução a uml e casos de uso final_parte2Palestra introdução a uml e casos de uso final_parte2
Palestra introdução a uml e casos de uso final_parte2
 
1- Diagramas de caso de uso
1- Diagramas de caso de uso1- Diagramas de caso de uso
1- Diagramas de caso de uso
 
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
 
Aula05 frameworks
Aula05 frameworksAula05 frameworks
Aula05 frameworks
 
SCRUM - Aula 2
SCRUM - Aula 2SCRUM - Aula 2
SCRUM - Aula 2
 
PDS 11 - Diagrama de Caso de Uso aula.pdf
PDS 11 - Diagrama de Caso de Uso aula.pdfPDS 11 - Diagrama de Caso de Uso aula.pdf
PDS 11 - Diagrama de Caso de Uso aula.pdf
 
Objectory
ObjectoryObjectory
Objectory
 
Use Case Diagram.pptx
Use Case Diagram.pptxUse Case Diagram.pptx
Use Case Diagram.pptx
 
Análise de requisitos
Análise de requisitosAnálise de requisitos
Análise de requisitos
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
 
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
 
Pesquisa Operacional 1_ Aula 1
Pesquisa Operacional 1_ Aula 1Pesquisa Operacional 1_ Aula 1
Pesquisa Operacional 1_ Aula 1
 
Ambiente Virtual de Treinamento: Transferindo o Aprendizado Virtual para a Re...
Ambiente Virtual de Treinamento: Transferindo o Aprendizado Virtual para a Re...Ambiente Virtual de Treinamento: Transferindo o Aprendizado Virtual para a Re...
Ambiente Virtual de Treinamento: Transferindo o Aprendizado Virtual para a Re...
 

More from Saulo Arruda

MVP: conheça os 2 significados ao criar o seu #cpbr8
MVP: conheça os 2 significados ao criar o seu #cpbr8MVP: conheça os 2 significados ao criar o seu #cpbr8
MVP: conheça os 2 significados ao criar o seu #cpbr8Saulo Arruda
 
Oportunidade para desenvolvedores na era das startups
Oportunidade para desenvolvedores na era das startupsOportunidade para desenvolvedores na era das startups
Oportunidade para desenvolvedores na era das startupsSaulo Arruda
 
Growth Hacking Mobile - BRAPPS 2014
Growth Hacking Mobile - BRAPPS 2014Growth Hacking Mobile - BRAPPS 2014
Growth Hacking Mobile - BRAPPS 2014Saulo Arruda
 
Growth hacking - Jera Retrospectiva
Growth hacking  - Jera RetrospectivaGrowth hacking  - Jera Retrospectiva
Growth hacking - Jera RetrospectivaSaulo Arruda
 
#CPBR7 - Métricas para startups
#CPBR7 - Métricas para startups#CPBR7 - Métricas para startups
#CPBR7 - Métricas para startupsSaulo Arruda
 
StartupFarm métricas
StartupFarm métricasStartupFarm métricas
StartupFarm métricasSaulo Arruda
 
Mande seu chefe pentear macaco
Mande seu chefe pentear macacoMande seu chefe pentear macaco
Mande seu chefe pentear macacoSaulo Arruda
 
Sthart - Desenvolvimento Web e Mobile
Sthart - Desenvolvimento Web e MobileSthart - Desenvolvimento Web e Mobile
Sthart - Desenvolvimento Web e MobileSaulo Arruda
 
Como ganhar dinheiro com aplicativos mobile?
Como ganhar dinheiro com aplicativos mobile?Como ganhar dinheiro com aplicativos mobile?
Como ganhar dinheiro com aplicativos mobile?Saulo Arruda
 
Startups - É programando que se empreende
Startups - É programando que se empreendeStartups - É programando que se empreende
Startups - É programando que se empreendeSaulo Arruda
 
Desenvolvimento iOS - Aula 6
Desenvolvimento iOS - Aula 6Desenvolvimento iOS - Aula 6
Desenvolvimento iOS - Aula 6Saulo Arruda
 
Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 5Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 5Saulo Arruda
 
Desenvolvimento iOS - Aula 4
Desenvolvimento iOS - Aula 4Desenvolvimento iOS - Aula 4
Desenvolvimento iOS - Aula 4Saulo Arruda
 
TDC 2012 - Querem me comprar, e agora?
TDC 2012 - Querem me comprar, e agora?TDC 2012 - Querem me comprar, e agora?
TDC 2012 - Querem me comprar, e agora?Saulo Arruda
 
Desenvolvimento iOS - Aula 3
Desenvolvimento iOS - Aula 3Desenvolvimento iOS - Aula 3
Desenvolvimento iOS - Aula 3Saulo Arruda
 
Desenvolvimento iOS - Aula 2
Desenvolvimento iOS - Aula 2Desenvolvimento iOS - Aula 2
Desenvolvimento iOS - Aula 2Saulo Arruda
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Saulo Arruda
 
Empreendedorismo Agil
Empreendedorismo AgilEmpreendedorismo Agil
Empreendedorismo AgilSaulo Arruda
 

More from Saulo Arruda (20)

MVP: conheça os 2 significados ao criar o seu #cpbr8
MVP: conheça os 2 significados ao criar o seu #cpbr8MVP: conheça os 2 significados ao criar o seu #cpbr8
MVP: conheça os 2 significados ao criar o seu #cpbr8
 
Oportunidade para desenvolvedores na era das startups
Oportunidade para desenvolvedores na era das startupsOportunidade para desenvolvedores na era das startups
Oportunidade para desenvolvedores na era das startups
 
Growth Hacking Mobile - BRAPPS 2014
Growth Hacking Mobile - BRAPPS 2014Growth Hacking Mobile - BRAPPS 2014
Growth Hacking Mobile - BRAPPS 2014
 
Growth hacking - Jera Retrospectiva
Growth hacking  - Jera RetrospectivaGrowth hacking  - Jera Retrospectiva
Growth hacking - Jera Retrospectiva
 
#CPBR7 - Métricas para startups
#CPBR7 - Métricas para startups#CPBR7 - Métricas para startups
#CPBR7 - Métricas para startups
 
StartupFarm métricas
StartupFarm métricasStartupFarm métricas
StartupFarm métricas
 
Mande seu chefe pentear macaco
Mande seu chefe pentear macacoMande seu chefe pentear macaco
Mande seu chefe pentear macaco
 
Sthart - Desenvolvimento Web e Mobile
Sthart - Desenvolvimento Web e MobileSthart - Desenvolvimento Web e Mobile
Sthart - Desenvolvimento Web e Mobile
 
Como ganhar dinheiro com aplicativos mobile?
Como ganhar dinheiro com aplicativos mobile?Como ganhar dinheiro com aplicativos mobile?
Como ganhar dinheiro com aplicativos mobile?
 
Startups - É programando que se empreende
Startups - É programando que se empreendeStartups - É programando que se empreende
Startups - É programando que se empreende
 
SCRUM - Aula1
SCRUM - Aula1SCRUM - Aula1
SCRUM - Aula1
 
Desenvolvimento iOS - Aula 6
Desenvolvimento iOS - Aula 6Desenvolvimento iOS - Aula 6
Desenvolvimento iOS - Aula 6
 
Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 5Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 5
 
Desenvolvimento iOS - Aula 4
Desenvolvimento iOS - Aula 4Desenvolvimento iOS - Aula 4
Desenvolvimento iOS - Aula 4
 
TDC 2012 - Querem me comprar, e agora?
TDC 2012 - Querem me comprar, e agora?TDC 2012 - Querem me comprar, e agora?
TDC 2012 - Querem me comprar, e agora?
 
Desenvolvimento iOS - Aula 3
Desenvolvimento iOS - Aula 3Desenvolvimento iOS - Aula 3
Desenvolvimento iOS - Aula 3
 
Desenvolvimento iOS - Aula 2
Desenvolvimento iOS - Aula 2Desenvolvimento iOS - Aula 2
Desenvolvimento iOS - Aula 2
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1
 
Empreendedorismo Agil
Empreendedorismo AgilEmpreendedorismo Agil
Empreendedorismo Agil
 
Minicurso Ruby
Minicurso RubyMinicurso Ruby
Minicurso Ruby
 

3. Casos de Uso

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

Editor's Notes