Uma feature não é uma qualidade software. Ou seja, o software ser rápido não é uma feature!

Requisito de software

Uma funcionalidade/característica que o software tem. Sendo assim um software é um conjunto de requisitos.

Engenharia de requisitos

  • Vai da primeira ação da engenharia de software até a modelagem;
  • não faça apenas um conversa com o cliente;
  • Estabelece uma base sólida para o projeto;

Requisitos de usuário (ou história de usuário)

  • O que o usuário pede do sistema.

Requisito de sistema

  • feito a partir do Requisitos de usuário;
  • Descrições mais detalhadas;
  • Aquilo que vai ser implementado;
  • Quebra do requisito do usuário em partes mais detalhadas, que explica o que o sistema vai fazer, fazendo isso de forma que um desenvolvedor consiga entender e implementar no sistema de forma mais fácil.

Especificação de requisitos de sistema

  • listagem dos requisitos do sistema.

Regras de negócio

  • Regras que o sistema segue;
  • O que o sistema faz e como ele faz;
  • Consigo pegar através do levantamento dos requisitos de usuário e transformação para requisitos de sistema.

7 tarefas da engenharia de software

1 — concepção

  • onde nasce a ideia/problema.

2 — levantamento

  • Pega os requisitos de usuário e começa a extrair os requisitos de sistema.

3 — elaboração

  • Refinamento dos requisitos;
  • Criar diagramas para que sejam entendidos de uma forma mais fácil.

4 — negociação

  • Ver com o cliente quais requisitos são mais importantes.

5 — especificação

  • Documentação de requisitos;
  • Uso do SRS por exemplo.

6 — validação

  • Apresenta à documentação ao cliente para ele verificar se é o que ele quer mesmo;
  • Documentação precisa estar clara.

7 — gestão

  • Gerenciamento da lista de requisitos, sempre negociada com o cliente.

Backlog

  • Lista de requisitos.

Se o cliente fala que seria legal ter algo no sistema. É por que você não é tão importante.

Project Owner(PO)

  • Pessoa que gerencia os requisitos.

Stakeholders

  • todos os interessados no projeto.

Requisitos funcionais

  • Funcionalidades do software;
  • Completude → Devem ser levantados todos os requisitos muito importantes para o que o software funcione à priori;
  • Consistência → Um requisito não pode anular outro.

Requisitos não funcionais

  • Características do sistema (ser rápido e ser web, por exemplo).