Dev
Enginer
Requisitos

Análise de Requisitos

Modelo genérico

  1. Compreensão do domínio: os analistas devem desenvolver a sua compreensão do domínio do problema;
  2. Coleta de requisitos: interação com stakeholders pra descobrir requisitos do sistema;
  3. Classificação: conjunto não estruturado dos requisitos, organiza em grupos coerentes;
  4. Resolução de conflitos: resolução de conflitos de requisitos dados por stakeholders;
  5. Definição de prioridades: definir com stakeholders a ordem de prioridade de requisitos;
  6. 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

  1. Requisitos de negócio
  2. Requisitos de usuário
  3. Requisitos de sistema

Especificação de requisitos não funcionais

  1. Requisitos de Produto
  2. Requisitos de Processo
  3. 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

  1. Iniciação: etapa inicial onde avalia-se o problema e a solução adequada; escopo do projeto.
  2. Elicitação: levantamento incial dos requisitos e compreensão do domínio; os requisitos mudam constantemente.
  3. Elaboração: cria-se o documento de requisitos; o documento de requisitos é a base para o projeto.
  4. 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.
  5. Gerenciamento de requisitos: gerenciamento de mudanças, riscos e qualidade; o documento de requisitos é a base para o projeto.

Referências