segunda-feira, 17 de agosto de 2009

Engenharia de Requisitos de Software

Em nosso dia-a-dia, no ambiente de desenvolvimento de software, estamos constantemente criando, mudando, adaptando e aperfeiçoando os softwares. Nosso objetivo é conseguir desenvolver um produto de software que atenda às necessidades dos clientes e as demandas de mercado.


Quando fizemos isto estamos realizando alterações nos requisitos do software. Lembrando que requisitos de software podem ser compreendidos como a capacidade do software que deve ser atendida pelo sistema para satisfazer o problema do usuário. (DORFMANN; THAYER, 1990).


Contudo, o ideal é que consigamos controlar estas modificações nos requisitos de maneira organizada.


A proposta da Engenharia de Requisitos de Software é justamente esta, apresentar diretrizes que abranjam todas as atividades necessárias para criar e manter as documentações de requisitos de software (SOMMERVILLE, 2001). Estas atividades consistem num conjunto de técnicas empregadas para levantar, detalhar, documentar e validar os requisitos de um produto (PAULA, 2003).


A Engenharia de Requisitos é uma área da disciplina de Engenharia de Software.


A Engenharia de Requisitos permite entender o que o cliente necessita, analisando suas necessidades, avaliando as ações que devem ser executadas, negociando uma condição adequada, especificando a solução claramente, validando a especificação e criando os requisitos conforme são transformados em um sistema (DORFMANN; THAYER, 1997).


O processo de engenharia de requisitos pode ser dividido em sete funções distintas (PRESSMAN, 2001):


Concepção: consiste na compreensão básica do problema, compreender os envolvidos que esperam solução, verificar a natureza da solução, estabelecer a comunicação e colaboração entre cliente e desenvolvedor;


Levantamento: consiste na coleta dos requisitos de forma organizada;


Elaboração: ação de modelagem de análise que define o domínio do problema informacional, funcional e comportamental;


Negociação: consiste na negociação do engenheiro de requisitos com o cliente. Através de uma abordagem iterativa, requisitos são eliminados, combinados, modificados, priorizados de forma que alcance um grau de satisfação;


Especificação: trata-se do produto de trabalho do engenheiro de requisitos. Consiste num documento que descreve a função e o desempenho de um sistema baseado em computador e as restrições que conduzirão o desenvolvimento;


Validação: os produtos de engenharia de requisitos que foram desenvolvidos são avaliados quanto a sua qualidade. Consiste em examinar a especificação para garantir que os requisitos tenham sido declarados de modo claro, tendo inconsistências, omissões e erros identificados e corrigidos e que produtos de trabalho estejam de acordo com as normas estabelecidas para o processo, o projeto e produto;


Gestão dos Requisitos: conjunto de atividades que auxiliam a equipe do projeto a identificar, controlar e rastrear requisitos e modificações de requisitos em qualquer momento, à medida que o projeto prossegue.

Assim, apresentamos os conceitos que abrangem a Engenharia de Requisitos de Software. Os modelos de Qualidade de Software (ISO, CMMI, MPS.BR, por exemplo) e os modelos de Processos de Software (RUP, por exemplo) fornecem um conjunto de ações que podem ser aplicadas sobre esta diretrizes para atingir os resultados esperados.


Bibliografia:


DORFMANN, Merlin; THAYER, Richard H. Standards, Guidelines, and Examples of System and Software Requirements Engineering. Los Alamitos, CA: IEEE Computer Society Press, 1990.


PAULA, Wilson de Pádua Filho. Engenharia de Software: Fundamentos, Métodos e Padrões. Rio de Janeiro: LTC, 2003.


PRESSMAN, R. S. Software Engineering: A Practitioner’s Approach. 5th ed. New York: McGraw-Hill, 2001.


SOMMERVILLE, Ian. Engenharia de Software. 6ª ed. São Paulo: Pearson Addison Wesley, 2003.

Nenhum comentário:

Postar um comentário