Nota temporária rápida : Este post precisa de melhorias para responder melhor à pergunta, como 1) detalhes adicionais devem ser incluídos nas referências 2) algumas citações talvez 3) correção geral do inglês 4) qualidade geral da narrativa 5) etc. de volta a ele. Sinta-se livre para melhorar você mesmo.
Examinar seus modelos pode fornecer informações valiosas sobre as diferenças entre esses termos.
Existem vários modelos para casos de uso. Encontrei 3 após uma pesquisa rápida: 1 , 2 , 3 . Alguns pontos que eles (às vezes vagamente) têm em comum são:
- Nome do caso de uso / título
- Descrição - algum texto breve que descreve o escopo.
- Ator (es) / Ator principal - pessoa (s) que interagem com esse caso de uso específico.
- Pré - condição - qualquer coisa que este caso de uso possa assumir como verdadeira antes de iniciar seu ciclo de vida.
- Cenário de sucesso - uma sequência de etapas que descreve o fluxo correto de eventos que ocorrem.
Extensões - fluxo do aplicativo quando ele se desvia do fluxo do cenário de sucesso:
- Fluxos alternativos - outras opções de fluxo correto
- Fluxos de exceção - fluxo de eventos para quando as coisas dão errado
Garantia de sucesso (também conhecida como condição pós) - estado da aplicação depois que tudo estiver pronto
Alguns pontos adicionais que podem ser incluídos são Nível , Garantias mínimas , Gatilho , etc.
Acima está o que chamamos de caso de uso totalmente vestido . Você pode simplificar a criação de casos de uso usando um caso de uso casual usando apenas os pontos mais importantes, por exemplo:
- Título
- Atores
- Sequência de eventos
Os casos de uso foram criados e popularizados por Ivar Jacobson no final dos anos 80 e início dos anos 90. Mais tarde, outras pessoas também contribuíram para seu trabalho (uma delas é Alistair Cockburn, autor de Writing Effective Use Cases ). Para parafrasear Martin Fowler casos de uso podem fazer uso de texto e diagramas UML, mas as suas maiores mentiras valor no texto dele. Eles são melhores quando não são grandes e fáceis de ler.
História do usuário - uma pequena história que descreve um recurso específico. Existe um padrão comum de como escrever uma história de usuário, que é:
Como um tipo específico de usuário
, quero fazer algo
para que, por algum motivo .
Além disso, a história do usuário pode ter critérios de aceitação .
Como você pode ver, esse modelo é muito menor que o do caso de uso. As histórias de usuários são comumente associadas à região scrum / ágil / xp do desenvolvimento de software. Eles devem ser escritos em pequenas regiões da superfície, como post-its e / ou em scrum boards. Lá, eles recebem (geralmente) valores pontuais que se aproximam de quanto esforço precisa ser investido na ref da história do usuário .
Bill Wake desenvolveu a mnemônica do INVEST para descrever quais qualidades uma boa história de usuário deve ter, e tomarei emprestado o breve resumo de Martin Fowler em seu site :
Independente : as histórias podem ser entregues em qualquer ordem.
Negociável : os detalhes do que está na história são co-criados pelos programadores e pelo cliente durante o desenvolvimento.
Valioso : a funcionalidade é vista como valiosa pelos clientes ou usuários do software.
Estimativa : os programadores podem apresentar uma estimativa razoável para a construção da história.
Pequena : as histórias devem ser construídas em uma pequena quantidade de tempo, geralmente uma questão de pessoa-dia. Certamente você deve conseguir criar várias histórias em uma iteração.
Testável : você deve poder escrever testes para verificar se o software dessa história funciona corretamente.
O cenário de uso segue o padrão GWT, que significa Dado quando, então:
Cenário : título
Fornecido : um fato específico
E : outro fato específico (pode ser opcional)
Quando : algum evento acontece
Então : outro evento acontece
Os cenários de uso estão associados ao desenvolvimento orientado a comportamentos. Parece muito semelhante a um teste. Martin Fowler em seu blog fornece um pouco de história e raciocínio por trás dos cenários de uso. Aqui está a parte importante:
A parte fornecida descreve o estado do mundo antes de você começar o comportamento especificado neste cenário. Você pode pensar nisso como as pré-condições para o teste.
A seção quando é o comportamento que você está especificando.
Finalmente, a seção then descreve as alterações que você espera devido ao comportamento especificado.
Os cenários de uso podem ser usados para escrever um teste para o seu aplicativo. Para citar o último parágrafo da postagem de Martin:
Embora o estilo Given-When-Then seja sintomático ao BDD, a idéia básica é bastante comum ao escrever testes ou especificações por exemplo. Meszaros descreve o padrão como teste de quatro fases. Suas quatro fases são Configuração (Dada), Exercício (Quando), Verificar (Então) e Desmontagem. Bill Wake veio com a formulação como Organizar, Agir, Afirmar.
Referências para estudos mais aprofundados:
Páginas da Wikipedia para caso de uso , história do usuário , cenário de uso
Os blogs de Martin Fowler sobre caso de uso , história do usuário , cenário de uso