4. Tipos de Requisitos
• Modelo FURPS+:
• Funcionalidade (Funcionality)
• Usabilidade (Usability)
• Confiabilidade (Reliability)
• Desempenho (Performance)
• Suportabilidade (Supportability)
• + restrições de interface e físicos de
implementação,
design, requisitos
[RUP2002]
5. Especificação
• Formas de especificação:
• SRS (Software Requirements
Specification)
• Use Cases
• User Stories
• Projetos Ágeis fazem uso das 3 formas!
[RUP2002][AGILEMODELING2009]
6. SRS
• Relação de todos os requisitos de um
projeto/módulo/release/componente etc.;
• Engloba requisitos funcionais e não-
funcionais.
• Exemplo | Modelo
[RUP2002]
7. Use Cases
• Descrição dos cenários de uso de
determinada funcionalidade;
• Bastante detalhado, porém difícil de ser
mantido.
• Exemplo
[RUP2002]
9. User Stories
• Lembrar que é necessário uma conversa
com o cliente;
• Granularidade pequena, facilita a estimativa
e planejamento, mas não é documentação;
• Devem ser escritas pelo cliente.
[AGILEMODELING2009]
10. Escrevendo Histórias
• Modelo informal:
• Alunos podem comprar tickets de
estacionamento mensalmente;
• Tickets de estacionamento podem ser
pagos via cartão de crédito;
• Estudantes podem se matricular em
seminários se atenderem os pré-
requisitos; [COHN2004]
11. Escrevendo Histórias
• Modelo Formal:
• Como (papel do usuário)
• Quero (alguma coisa)
• Para (benefício/valor para o negócio)
[COHN2004]
12. Critério de Aceite
• Testes de Aceitação da História;
• Focado na interface com o Usuário;
• Testes de usabilidade, performance, stress;
• Orienta o desenvolvedor;
[COHN2004]
14. Visão
• Para quem estamos trabalhando?
• Qual problema estamos resolvendo?
• O que meu cliente precisa?
• Exemplo | Modelo
15. Modelo de Domínio
• Modelo conceitual do domínio de negócio
do cliente;
• Principais entidades e seus
relacionamentos;
• Não se preocupe em deixá-lo completo ou
detalhado, faça isso no seu código!
[AGILEMODELING2009]
17. Interface com o
Usuário
• Mostrar como ficará as telas;
• Faça de forma que seu usuário entenda;
• Use ferramentas que te ajudem: Papel e
Lapiseira, Balsamiq Mockups,Visio, HTML;
[AGILEMODELING2009]
18.
19. A neura dos requisitos
• Não pense que você consiguirá “levantar”
todos os requisitos no início do projeto;
• Deixe os requisitos evoluirem (e mudarem)
• Só existem 2 certezas:
• Vai mudar!
• Vai dar pau!
21. Referências
• Scott Ambler - Agile Modeling: Effective Practices for eXtreme
Programming and the Unified Process
• Dean Leffingwell, Don Widrig - Managing Software Requirements: A Use
Case Approach, Second Edition
• Mike Cohn - User Stories Applied: For Agile Software Development
• Johanna Rothman, Esther Derby - BehindClosedDoors: Secrets of Great
Management
• Johanna Rothman - Manage It! Your Guide to Modern, Pragmatic Project
Management
• Alistair Cockburn - Escrevendo Casos de Uso Eficazes