Engenharia de Software - .Engenharia de Software Behavior-Driven Development Professor: Régis Patrick

  • View
    213

  • Download
    0

Embed Size (px)

Text of Engenharia de Software - .Engenharia de Software Behavior-Driven Development Professor: Régis...

  • Engenharia de Software Engenharia de Software

    Behavior-Driven Development

    Professor: Rgis Patrick Silva Simo

  • Agenda

    Introduo

    Behavior-Driven Development

    Personas

    Objetivos

    Histrias de Usurios

    Detalhamento das Histrias do Usurio

  • Bibliografia

  • Introduo Processos Tradicionais

  • Processos geis

    Introduo

  • Test-Driven Development (TDD)

    Introduo

  • Behavior-Driven Development

  • Histrias de Usurios e BDD

    Behavior-Driven Development

  • BDD e Testes Automatizados

    Behavior-Driven Development

  • BDD e Testes Automatizados

    Behavior-Driven Development

  • Histrias de Usurio

    Behavior-Driven Development

  • Implementao de Histrias de Usurio

    Behavior-Driven Development

  • Teste Automatizado e Documentao

    Behavior-Driven Development

  • Documentao

    Behavior-Driven Development

  • Personas

    So as pessoas que usaro o sistema Procura-se identificar nome, idade, necessidades,

    limitaes, culturas, etc. Exemplo:

    Joo, 26 anos, graduando Maria, 65 anos, usa culos, tem superior

    completo O objetivo principal identificar caractersticas e

    necessidades especficas de cada pessoa

  • Personas

    Modelo para identificao de Personas

    Nome e

    Desenho

    Perfil

    Comportamento Comportamento Comportamento Necessidades

    Fonte: Livro Direto ao Ponto, Paulo Caroli, Editora Casa do Cdigo, 2015

  • Personas

    Modelo para identificao de Personas

    Joo Perfil 26 anos casado graduando em

    Administrao

    Comportamento Curioso Apreciador de boa comida Questionador

    Necessidades Ter acesso rpido informaes

    sobre Food Parks Saber onde o seu Food Truck

    preferido estar este fim de semana

  • Personas Dean Leffingwell diferencia:

    Personas x Papeis desempenhados pelas personas As Personas so exemplos reais dos Papeis Os Papeis so os Atores dos Casos de Uso do RUP Na escrita das histrias, normalmente utilizam-se os

    Papeis Exemplos de Papis:

    Consumidor em geral Estudantes de culinria Donos de Food Truckers Organizadores de Food Parks

  • Objetivos So necessidades dos clientes e usurios,

    stakeholders. So as metas do produto. Se for desenvolvimento o Business Model Canvas

    anteriormente, as propostas de valor so fortes candidatas a serem objetivos do produto.

    Devem ser identificados em uma cartolina a parte. Utilizar a tcnica de brainstorm com os stakeholders.

    Ao final, os objetivos devem ser priorizados. Se muitos objetivos forem levantados, considerar os

    trs ou quatro mais importantes para tratamentos nas primeiras releases, ou seja, identificao de histrias.

  • Objetivos Exemplos:

    Comer as comidas preferidas Descobrir novas comidas Seguir os Food Truckers preferidos Descobrir quais os Food Parks da cidade

  • Histrias

    Matriz Personas x Objetivos Funcionalidades ou pores de funcionalidade pico x Histria Os trs C's:

    Escrita em um Carto um convite a Conversao Precisa de Confirmao: critrios de aceite

  • Histrias

    Formato BDD - Behavior-Driven Development ou Desenvolvimento orientado por comportamento

    Narrativa Como Quero/posso/desejo/preciso Para

    Critrios de aceitao Dado que Quando Ento

  • Histrias Formato BDD:

    Narrativa Como Consumidor Quero pesquisar onde o Food Trucker A Melhor Comida

    estar este fim de semana Para poder comer a minha comida preferida

    Critrios de aceitao Dado que estou na tela de Pesquisar Eventos do Food

    Trucker E existem Food Parks onde o Food Trucker A Melhor Comida ir participar no perodo de 25/09/2015 27/09/2015

    Quando eu informo o Food Trucker A Melhor Comida e o perodo de 25/09/2015 27/09/2015 E solicito a pesquisa

    Ento so apresentados os Food Parks onde o Food Trucker estar presente no perodo de 25/09/2015 27/09/2015

  • Histrias Formato BDD:

    Critrios de aceitao Dado que estou na tela de Pesquisar Eventos do Food

    Trucker e NO existem Food Parks onde o Food Trucker A Melhor Comida ir participar no perodo de 02/10/2015 04/10/2015

    Quando eu informo o Food Trucker A Melhor Comida e o perodo de 02/10/2015 04/10/2015 E solicito a pesquisa

    Ento o sistema apresenta a mensagem O Food Trucker A Melhor Comida no participar de nenhum Food Trucker no perodo de 02/10/2015 04/10/2015

  • Histrias

    Formato BDD: Narrativa

    Como Consumidor Quero me cadastrar no aplicativo Para poder seguir o meu food trucker preferido

    Critrios de aceitao Dado que estou na tela de cadastrado de consumidor Quando eu informo os meus dados

    E solicito o cadastro Ento o sistema valida os meus dados, me cadastra como

    consumidor E apresenta a tela principal do app como consumidor logado

  • Histrias

    Atributos de uma boa histria (INVEST) I Independente (pode ser implementada sozinha) N Negocivel (histrias no so contratos rgidos,

    so um convite a conversao) V - Valiosa para o cliente E Estimvel (complexidade, tamanho, esforo,

    tempo, por exemplo) S Small (Pequena para caber em uma sprint) T - Testvel

  • Histrias Caso de uso Manter Cliente

    FP: Incluir cliente FA1: Consultar cliente FA2: Alterar cliente FA3: Excluir cliente FE1: Campos obrigatrios FE2: Excluso no permitida

    Como gestor Quero incluir cliente Dado que o gestor est ativo Quando informo dados do cliente Ento o sistema inclui registro Dado que o gestor est ativo Quando informo campos em branco Ento sistema apresenta mensagem de erro

    ERR-31

    Como um colaborador Quero consultar cliente Dado que

    Como um gestor Quero alterar cliente Dado que

    Como um gestor Quero excluir cliente Dado que acesso um cliente com pendncias Quando solicito excluso do registro Ento sistema apresenta mensagem de erro

    ERR-32

    Fonte: Curso de Gerenciamento gil de Requisitos, autor Junilson Pereira Souza

  • Histrias x Casos de Uso Parmetro Histria Caso de Uso Tamanho Pequeno No definido Abrangncia Funcionalidade mnima Funcionalidade completa

    Tempo de Implementao Iterao No definido

    Base para es@ma@va Fcil (devido ao tamanho) Varivel (devido ao tamanho)

    Rigor Inteno Contrato Organizao Listas Documento de requisitos

    Elaborao Just-in-@me Prvia Colaborao Prevista No definido

    Histrias

    Fonte: Curso de Gerenciamento gil de Requisitos, autor Junilson Pereira Souza

  • Histrias

    Histrias x Casos de Uso No uma regra, mas tipicamente pode ocorrer o

    mapeamento de uma histria para cada fluxo de um caso de uso, considerando os fluxos principais e alternativos

    O aspecto principal respeitar os princpios de timebox e de valor agregado de uma histria

    Com isto, pode haver mais de uma histria para um fluxo ou vice-versa

    Alm disso, os fluxos de exceo no seriam em geral modelados como histrias, visto que no agregam valor. Neste caso, poderiam ser tratados como critrios de aceite.

    Fonte: Curso de Gerenciamento gil de Requisitos, autor Junilson Pereira Souza

  • Dicas para boas histrias Uma boa histria deve passar por todas as camadas da

    aplicao: Errado: Fazer s o formulrio, depois fazer a gravao no banco.

    Faa uma funcionalidade que tenha valor para o usurio, mesmo que pequena.

    Coloque as restries (requisitos no funcionais) como histrias.

    Detalhe ou quebre em histrias menores as histrias mais prximas de serem feitas. As que esto longe de serem implementadas podem ser maiores e menos precisas.

    Deixe os detalhes da interface com o usurio fora das histrias sempre que possvel. Crie prottipos e documentos especficos.

    Histrias

  • Dicas para boas histrias Se algum aspecto do sistema precisar ser documentado em

    um formato diferente, no exite, use o formato desejado. Use os atores especficos nas histrias, evite usar atores

    genricos, como usurio. Escreva a histria para um nico usurio, na terceira pessoa

    do singular Escreva as histrias na voz ativa O usurio/cliente deve escrever as histrias No numere as histrias (a razo para isto seria

    rastreabilidade), no mximo d um ttulo Lembre que a histria um convite a conversao. No

    coloque muitos detalhes nelas.

    Histrias

  • Lista exemplo e parcial de Histrias do Food Follower Cadastrar-se como Consumidor Cadastrar-se como Dono de Food Trucker Cadastrar-se como Organizador de Food Park Pesquisar Participao de Food Trucker Seguir Food Trucker Divulgar Food Park Divulgar Food Trucker Logar-se como Consumidor Logar-se como Dono de Food Trucker Logar-se como Organizador de Food Park Logout

    Histrias

  • Lista exemplo e parcial de Histrias do Food Follower Editar dados como Consumidor Editar dados como Dono de Food Trucker Editar dados como Organizador de Food Park Exclui-se como Consumidor Exclui-se como Dono de Food Trucker Exclui-se como Organizador de Food Park Pesquisar Participao de Food Trucker Recomendar Food Trucker Recomendar Food Park

    Histrias

  • Detalhamento das Histrias

  • Detalhamento das Histrias

  • FIM