• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
3. Casos de Uso
 

3. Casos de Uso

on

  • 7,806 views

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

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

Statistics

Views

Total Views
7,806
Views on SlideShare
7,801
Embed Views
5

Actions

Likes
8
Downloads
256
Comments
0

1 Embed 5

http://www.slideshare.net 5

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />

3. Casos de Uso 3. Casos de Uso Presentation Transcript

  • 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