Engenharia de Software: Engenharia de Requisitos

Artigo da Série Engenharia de Software.

O tema de hoje: Engenharia de Requisitos.

Engenharia de Requisitos é o processo de definir, documentar e manter os requisitos em Engenharia de Software.

Quais as principais atividades?

Antes de mostrar quais as atividades estão envolvidas na Engenharia de Requisitos, é importante fazer um Estudo de Viabilidade com as partes interessadas, para saber se a solução a ser implementada agrega valor ao negócio, se tem orçamento, se tem integração e se já não existe uma solução pronta de mercado.

Após o estudo teremos:

  • Levantamento (Elicitação)

Analistas e Stakeholders se reunem para levantar necessidades. Aqui podemos fazer uso de técnicas como: Entrevistas, Questionários, Workshops de Requisitos, Cenários, Prototipagem e Etnografias (vivenciar na prática a situação, semelhante aos Laboratórios que atores realizam pra montar uma personagem).

  • Análise/Negociação de Requisitos

Aqui classificamos, resolvemos conflitos ( inclusive políticos), priorizamos e confirmamos os requisitos.

  • Especificação

Esta é a atividade de documentação e modelagem. Definimos requisitos para os usuários, requisitos de sistema, o design da aplicação. Estes requisitos classificamos como requisitos funcionas (RF) e requisitos não funcionais (RNF). Criamos Casos de Usos, e outros diagramas presentes na UML.

  • Validação

Com a documentação em mãos, o analista de requisitos verifica e valida se o sistema atende ao clientes. Algumas técnicas usadas são Revisão, Prototipação, Criação de Casos de Testes.

  • Gestão de Requisitos

A gestão de requisitos faz o controle de mudanças para atender à dinâmica dos negócios, visão do usuário, ….

Leia também:

Projetos em Node.js com boas práticas

Como o Node.js é uma plataforma e não um framework, as boas práticas ficam dependentes do projeto e dos desenvolvedores envolvidos.

Os padrões de design e as melhores práticas existem para evitar armadilhas comuns e construir aplicativos mais estáveis, mas esses princípios orientadores na maioria das vezes não são bem documentados.

Mas existem bons guias e filosofias disponíveis, recomendo visitar o The Node Way. Lá descrevem práticas recomendadas e princípios orientadores para a escrita de módulos de manutenção, aplicações escaláveis e códigos que são realmente agradáveis de ler.

 

Uma sugestão que ajuda bastante é utilizar um linter desde o início.

In computer programming, lint is a Unix utility that flags some suspicious and non-portable constructs in C language source code. Wikipedia

No caso de Javascript, o mais bem availado é o ESLint, veja a comparação com outros neste link.

Como dica de uma boa leitura utilize JavaScript Standard Style, que exemplifica e evita de você criar as suas próprias regras.

Leia também: