Análise de Requisitos
Modelo genérico
- Compreensão do domínio: os analistas devem desenvolver a sua compreensão do domínio do problema;
- Coleta de requisitos: interação com stakeholders pra descobrir requisitos do sistema;
- Classificação: conjunto não estruturado dos requisitos, organiza em grupos coerentes;
- Resolução de conflitos: resolução de conflitos de requisitos dados por stakeholders;
- Definição de prioridades: definir com stakeholders a ordem de prioridade de requisitos;
- Verificação de requisitos: verificação dos requisitos para certificar se estão completos, consistentes e de acordo com a necessidade do cliente.
Especificação de requisitos funcionais
- Requisitos de negócio
- Requisitos de usuário
- Requisitos de sistema

Especificação de requisitos não funcionais
- Requisitos de Produto
- Requisitos de Processo
- Requisitos Externos

Tipos de requisitos
- Funcionais: funções que o sistema deve fornecer, como o sistema deve reagir a entradas específicas e como deve ser comportar em determinadas situações;
- Não funcionais: trata-se atríbutos de qualidade que não é uma funcionalidade mas precisa ser realizado para que o software atenda os seus propósitos. Exemplo: restrições de tempo de resposta, confiabilidade, usabilidade, restrições sobre o processo de desenvolvimento, padrões. Exemplos: Interface de Usuário, Confiabilidade, Segurança, atuação, Manutenção, Standards.
- Requisitos de domínio: derivados do domínio da aplicação do sistema, em vez de serem obtidos das necessidades específicas dos usuários do sistema. Exemplo: As vendas não devem ser excluídas no banco de dados, em hipótese nenhuma.
Exemplos de requisitos funcionais
- O sistema deve permitir que o usuário faça login.
- O sistema deve permitir que o usuário faça logout.
- O sistema deve permitir que o usuário altere a senha.
- O sistema deve permitir que o usuário altere o nome.
- O sistema deve permitir que o usuário altere o e-mail.
- O sistema deve permitir que o usuário altere o telefone.
Exemplos de requisitos não funcionais
- Requisitos de Desempenho
- Requisitos de Disponibilidade
- Requisitos de Segurança
- Requisitos de Usabilidade
- Requisitos de Portabilidade
- Requisitos de Testabilidade
- Requisitos de Extensibilidade
- Requisitos de Reusabilidade
- Requisitos de Adaptabilidade
- Requisitos de Confiabilidade
- Requisitos de Manutenibilidade
- Requisitos de Eficiência
- Requisitos de Escalabilidade
- Requisitos de Interoperabilidade
- Requisitos de Integridade
- Requisitos de Restrições de Tempo
- Requisitos de Restrições de Espaço
- Requisitos de Restrições de Hardware
- Requisitos de Restrições de Software
- Requisitos de Compatibilidade
- Requisitos de padronização
- Linguagem imperativa/declarativa/lógica
- Metodologia de desenvolvimento
- Padrões de projeto
- Padrões de arquitetura
- Padrões de comunicação
- Padrões de interface
- Requisitos legais e regulamentares
- Lei de proteção de dados (LGPD)
- Lei geral de proteção de dados (GDPR)
- Requisitos da Organização
- Infraestrutura
- Processos
- Pessoas
- Cultura
- Políticas
- Diretrizes
- Metodologias
- Ferramentas
- Tecnologias
- Recursos
- Capacidades
- Competências
- Requisitos Externos
- Regras de legislação
- Localização
- Requisitos de facilidade
- Fácil de aprender
- Requisitos de eficácia
- Eficiente
- Requisitos éticos
- Informação confidencial
Técnicas de levantamento de requisitos
- Orientado a pontos de vista: reconhecer os diferentes pontos de vista e utilizá-os para estruturar o levantamento dos requisitos;
- Cenários: interagir e subtrair informações sobre os sistemas como fluxo de dados, casos de uso e diagramas de fluxo de dados;
- Etnografia: observação para compreender os requisitos sociais e organizacionais onde um analista insere no ambiente de trabalho.
Validação de requisitos
- Documento de requisitos
Etapas de um projeto de software
- Iniciação: etapa inicial onde avalia-se o problema e a solução adequada; escopo do projeto.
- Elicitação: levantamento incial dos requisitos e compreensão do domínio; os requisitos mudam constantemente.
- Elaboração: cria-se o documento de requisitos; o documento de requisitos é a base para o projeto.
- Especificação: formalização dos requisitos funcionais, não funcionais e de domínio; cria-se diagramas e textos etnográficos para documentar os requisitos.
- Gerenciamento de requisitos: gerenciamento de mudanças, riscos e qualidade; o documento de requisitos é a base para o projeto.