De que se trata o artigo: Este artigo objetiva a apresentação de padrões para construção de Documento de Especificação de Requisitos de Software (DERS) e também mostrar boas práticas para sua elaboração, de forma a facilitar a comunicação entre os stakeholders.


Para que serve:
Obedecendo a padrões para desenvolvimento do DERS, esse documento apresentará melhor qualidade, representando, consequentemente, o que os stakeholders esperam do projeto de software que está sendo desenvolvido, tornando possível que o projeto seja implementado com maior possibilidade de sucesso, abrangendo as necessidades dos usuários.


Em que situação o tema é útil:
Em projetos de software, a Engenharia de Requisitos é normalmente empregada como uma das fases preliminares. É através da Engenharia de Requisitos que os analistas descobrem as reais necessidades do cliente e transferem-nas para o DERS. Utilizando os padrões mostrados neste artigo, é possível criar um DERS com maior qualidade.

Com os avanços tecnológicos que vem ocorrendo nas últimas décadas e a visível diminuição do custo do hardware, a informação passa a ser um recurso estratégico das empresas. O software se tornou, então, a força motora desta nova era. A integridade das informações oferecidas por um software pode diferenciar uma empresa de suas concorrentes.

O software é capaz de manipular o produto mais importante para uma empresa – a informação, e por isso é tão caro. Para evitar que a parte mais cara dos sistemas computadorizados fosse desenvolvida com baixa qualidade e pouca previsibilidade de custo e recursos, surgiram técnicas de Engenharia de Software. A Engenharia de Software surgiu com o objetivo de definir e aplicar métodos que pudessem ajudar no processo de construção, manutenção e implantação de software.

A Engenharia de Software pode ser entendida, então, como a disciplina de engenharia aplicada ao desenvolvimento de software, compreendendo um conjunto de etapas que envolvem métodos, ferramentas e procedimentos que possibilitam o controle do processo de desenvolvimento de software, ocupando-se de todos os aspectos, desde os estágios iniciais de especificação do sistema até a manutenção desse sistema, oferecendo ao profissional uma base para a construção de software de alta qualidade produtivamente.

A Engenharia de Requisitos pode ser vista como uma sub-área da Engenharia de Software, cujo principal objetivo é a obtenção de uma especificação correta e completa dos requisitos.

Este artigo propõe apresentar a Engenharia de Requisitos e seu principal produto, o Documento de Especificação de Requisitos de Software (DERS), e mostrar boas práticas para a construção do mesmo.

A Engenharia de Requisitos

O principal objetivo da Engenharia de Requisitos é criar e manter documentos de requisitos de sistemas, chamado de Documento de Especificação de Requisitos de Software (DERS) [2]. O processo de engenharia de requisitos, como um todo, contém quatro grandes sub-processos que são: em quais aspectos o sistema é útil ao negócio (estudo de viabilidade), descoberta de requisitos (elicitação e análise), conversão de tais requisitos em um formato padrão (especificação) e descoberta se tais requisitos realmente definem o sistema tal como o usuário deseja (validação).

Na Figura 1 pode ser visto um processo de Engenharia de Software como um todo, conhecido como Ciclo de Vida Clássico, que também pode ser executado várias vezes como parte integrante de um ciclo de vida iterativo e incremental.

Processo de Engenharia de Software

Figura 1. O processo de Engenharia de Software [3]

Esse modelo representa o processo de Engenharia de Software como um todo e envolve as atividades [3]:

  • Análise de requisitos do software: É nessa fase que a Engenharia de Requisitos é aplicada. Os requisitos do sistema são coletados baseados no conhecimento de domínio do software, assim como funções requeridas, comportamento, desempenho e interface.
  • Projeto: projeto de software é na verdade um processo de vários passos que foca em quatro atributos distintos: estrutura de dados, arquitetura do software, representação de interface e detalhes de procedimentos (algorítmicos).
  • Codificação: o projeto é traduzido em linguagem de máquina através de uma linguagem de programação.
  • Testes: Os testes focam em descobrir erros e definir que determinadas entradas irão realmente produzir os resultados esperados.
  • Suporte: O software certamente irá precisar de modificações após ser entregue ao cliente. Essas modificações podem ocorrer por causa de erros que tenham sido encontrados, novas funcionalidades, melhoria de desempenho ou adaptação de funcionalidades existentes.
  • ...
    Quer ler esse conteúdo completo? Tenha acesso completo