Cenário
O cenário é o processo de transformação (modelagem) dos requisitos em soluções executáveis.
User Story
Em XP, o User Story é uma técnica de modelagem da Programação Extrema - Extreme Programming (XP) na qual consiste em uma pequena descrição em linguagem ubíqua das características de valor para o sistema, divididas em cartões de restrição e característica, em que originam as tarefas (tasks) e critérios de testes (test criteria).
Cartão de Restrição:
Descrição das restrições e limites do sistema.
All resources must load in less than 10 seconds.
Cartão de Característica:
Descrição das características de uso do sistema.
Title: User Story
As a < type of user >, (WHO) // is this story for
I want < some goal > (WHAT) // they want to do
so that < some reason >. (WHY) // they want to do it
Days: [#] Priority [#]
Tarefas: conjunto de atividades necessárias de como criar uma execução da User Story - utiliza-se linguagem técnica sobre uma fatia da arquitetura pretendida.
Analysis A1
Design A1
Implementation A1
Testing A1
Critérios de Testes: conjuntos de testes para verificar a execução da User Story. Em Desenvolvimento Guiado por Comportamento - Behavior Driven Development (BDD) utiliza-se as partes: Given / When / Then
.
Given A
When B
Then C
As características de uma boa User Story é resumida no acrônimo INVEST:
- Independent - independente;
- Negotiable - negociável;
- Valuable - valorável;
- Estimatable - estimável;
- Small - pequeno; e
- Testable - testável.
A lista de cenários é reunida em uma Master Story List, sendo que cada User Story é desenvolvida por completo, ou seja, todas as tarefas são verificadas com testes durante uma iteração.
Use Case
Em 4+1, o Use Case ou Caso de Uso é uma técnica de modelagem clássica para Desenvolvimento Guiado por Caso de Uso - Use Case Driven Development (UCDD), na qual descreve em diferentes níveis os cenários com as interações dos atores ao sistema em alcançar uma específica meta através de diagrama (visão geral) e descrição (visão detalhada), quando existe uma visão de um todo das necessidades para o desenvolvimento do sistema.
O Use Case explana claramente e precisamente o que o sistema faz em linguagem ubíqua.
As partes comportamentais de um Use Case são: título (title), atores (actors), pré-condições (preconditions) e meta (goal).
As partes executáveis de um Use Case são: caminho principal (main path), caminho opcional (optional path), caminho alternativo (alternative path) e exceções (exceptions).
Diagrama:
Descrição:
Project MDS, version 1.0
------------------------
Title XYZ
1. Step 1 ... ---> Main Path
1.1 Substep 1.1 ... ---> Optional Path
1.1.1 Subsubstep 1.1.1 ... ---> Alternative Path
1.1.# ...
1.# ...
2. Step 2 ...
#. ...
Project MDS, version 1.0
------------------------
Title XYZ
1. Step 1 ...
2. Step 2 ...
#. ...
Project MDS, version 1.0
------------------------
Title XYZ
Description of main path ...
Description of alternate path ...
Project MDS, version 1.0
------------------------
Title XYZ
Actor | System
---------------------------
... |
| ... ... ...
... ... ... |
| ... ... ...
...
Extensions
----------
Description of alternate path ...
Project MDS, version 1.0
------------------------
Title XYZ
Primary Actor: XXX Main Path
Secondary Actor: YYY ---------
Preconditions: ... 1. Step 1 ...
Goal: ... 2. Step 2 ...
#. ...
Extensions
----------
1.1 Substep 1.1 ...
2.2 Substep 2.2 ...
Cada Use Case é desenvolvido por completo e também derivam-se para Tests Case ou Casos de Testes.
Sample Problem
Em SPD, Sample Problem...
Especificação de Requisitos
Método obsoleto de modelagem do Waterfall.