Header Ads Widget

Responsive Advertisement

Ticker

6/recent/ticker-posts

Engenharia de Requisitos de Software : O que é?

Conforme mencionado por Roger S. Pressman na 8ª Edição do livro "Engenharia de Software", no contexto do processo de desenvolvimento de software, a engenharia de requisitos tem seu início durante a fase de comunicação e se estende ao longo da etapa de modelagem, devendo se ajustar às demandas do processo, do projeto, do produto e das pessoas envolvidas. A engenharia de requisitos engloba a compreensão aprofundada do contexto do trabalho em questão, das necessidades específicas que o projeto e a implementação devem satisfazer, das prioridades que guiam a sequência de execução das tarefas, assim como das informações, funcionalidades e comportamentos que influenciarão o resultado final do projeto.

Os tipos de requisitos, são geralmente divididos em dois grupos principais: funcionais e não funcionais. Os requisitos funcionais são como a lista de tarefas que o sistema deve conseguir executar, como por exemplo, conseguir salvar informações relevantes em um banco de dados. Por outro lado, os requisitos não funcionais são responsáveis por garantir que o sistema seja de boa qualidade, como ser capaz de manter as informações seguras, fazer com que o sistema seja fácil de usar e acessível para todos. Estes, podem ainda, ser divididos em requisitos de produto, organizacionais ou externos.

Ambos requisitos, funcionais e não funcionais podem também ser classificados em primários e secundários, sendo os primários considerados solicitações diretas de alguma parte interessada no projeto e os secundários definidos por um processo de refinamento de um requisito primário


Requisitos de um sistema são descrições dos serviços fornecidos pelo sistema e as suas restrições operacionais. Os requisitos demonstram as necessidades de um cliente de um sistema que ajuda a resolver um determinado problema — Sommervile (2017)


Figura 1

Tipos de requisitos e suas categorias



O processo de engenharia de requisitos abrange aspectos de elaboração, documentação e manutenção dos requisitos durante todo ciclo de vida de desenvolvimento de software. Este processo é composto pela elicitação, análise e negociação, especificação e validação dos requisitos.

Atualmente, existem diversos modelos de processos, mas independentemente de suas particularidades, todos devem possuir quatro atividades fundamentais para a 

engenharia de software, conforme Figura 2:

Análise e definição de requisitos

Projeto de sistema e software

Implementação e teste unitário

Integração e teste do sistema

Operação e manutenção 

Figura 2

Fonte: Modelo em cascata (SOMMERVILLE, 2011, p.20).


Enquanto a engenharia de requisitos abrange etapas como a definição dos requisitos, documentação e manutenção dessa documentação ao longo de um projeto, a gestão de requisitos se concentra nas atividades principais, como controlar mudanças, monitorar requisitos, gerenciar versões e rastrear necessidades.

O objetivo da gestão é supervisionar integralmente o desenvolvimento e a implementação dos requisitos, acompanhando o status de cada componente ligado a um requisito durante o desenvolvimento e identificando qualquer obstáculo que possa estar impedindo o progresso ou dependências. Ela deve ser aplicada desde as fases iniciais do desenvolvimento do produto e ao longo do processo, com foco em manutenções em vez de introduzir mudanças substanciais, contribuindo assim para aprimorar a qualidade do produto, que é onde reside a relevância da gestão

A gestão assegura que o produto seja entregue em conformidade com todas regras de negócio estabelecidas, buscando minimizar falhas, com foco em eliminá-las, e reduzindo o risco de fatores que possam prejudicar sua qualidade.


Desafios


Como as demandas do mercado e dos sistemas estão em constante evolução, seus processos e necessidades também estão, desta forma seus requisitos acabam ficando ultrapassados, antes mesmo que o documento esteja finalizado (SOMMERVILLE, 2011). Com isto um dos desafios para a engenharia de software é encontrar e fazer uso de ferramentas rápidas e efetivas para análise e documentação de requisitos. Hoje em dia existem diversas ferramentas disponíveis para auxiliar nesta importante etapa, porém para processos distintos, sendo difícil unir todos de forma coesa a fim de facilitar a compreensão.


Referências


FERNANDO MASSAO FRAZNIN NISHI. Requisitos de Software: Proposta, Especificação e Otimização de um Metaframework para a Documentação.

Karl Wiegers & Joy Beatty. Software Requirements, 3rd Edition.

PRESSMAN, Roger. S., & Bruce R. Maxim. Engenharia de Software, 8ª Edição.

LFDev. Como escrever requisitos de software de forma simples e garantir o mínimo de erros no sistema/app < https://medium.com/lfdev-blog/como-escrever-requisitos-de-software-de-forma-simples-e-garantir-o-m%C3%ADnimo-de-erros-no-sistema-app-74df2ee241cc >




Diego Fernandes


Analista de Negócio, Tecnólogo em Análise e Desenvolvimento de Sistemas pela Universidade Norte do Paraná, pós-graduando em Engenharia de Software na Universidade Tecnológica Federal do Paraná


Postar um comentário

0 Comentários