O Desafio da Engenharia de Requisitos em Estabelecer os Limites e o Contexto do Sistema a Ser Desenvolvido

A engenharia de requisitos é uma atividade fundamental para o sucesso de qualquer projeto de software, pois é responsável por definir, documentar e gerenciar os requisitos que expressam as necessidades e expectativas dos clientes e usuários do sistema. No entanto, antes de especificar os requisitos, é preciso delimitar o escopo do sistema, ou seja, estabelecer quais são os seus limites e o seu contexto.

Os limites do sistema definem o que faz parte do sistema e o que está fora dele, ou seja, quais são as suas fronteiras lógicas e físicas.

O contexto do sistema define o ambiente no qual o sistema irá operar, ou seja, quais são os seus objetivos, restrições, premissas, riscos, oportunidades e relações com outros sistemas.

Estabelecer os limites e o contexto do sistema é essencial para a engenharia de requisitos por vários motivos:

  • Ajuda a evitar ambiguidades, conflitos e inconsistências nos requisitos, pois esclarece o que está dentro e fora do escopo do projeto.
  • Ajuda a identificar os stakeholders relevantes para o projeto, pois indica quem são os fornecedores, clientes, usuários e outros interessados no sistema.
  • Ajuda a definir os critérios de qualidade e aceitação do sistema, pois determina quais são as expectativas e necessidades dos stakeholders em relação ao sistema.
  • Ajuda a planejar e gerenciar o projeto, pois permite estimar os recursos necessários, os riscos envolvidos e as dependências existentes.

Para estabelecer os limites e o contexto do sistema, existem diversos critérios e métodos que podem ser utilizados pela engenharia de requisitos.

Alguns exemplos são:

– Análise de stakeholders: consiste em identificar e analisar os stakeholders do projeto, ou seja, as pessoas ou organizações que têm algum interesse ou influência no sistema. Essa análise permite compreender as necessidades, expectativas, problemas e oportunidades dos stakeholders, bem como suas relações e conflitos potenciais.

– Modelagem de casos de uso: consiste em descrever as funcionalidades do sistema sob a perspectiva dos usuários, ou seja, os cenários de interação entre o sistema e seus atores. Essa modelagem permite definir os requisitos funcionais do sistema, bem como seus limites em relação ao ambiente externo.

– Modelagem de domínio: consiste em representar os conceitos relevantes para o domínio do problema que o sistema irá resolver, ou seja, as entidades, atributos, relacionamentos e regras de negócio que compõem o universo de discurso do sistema. Essa modelagem permite definir os requisitos não funcionais do sistema, bem como seu contexto em relação ao domínio do problema.

Apesar de existirem critérios e métodos para auxiliar na definição dos limites e do contexto do sistema, essa tarefa não é trivial, pois envolve diversos desafios e dificuldades.

Alguns exemplos são:

  • Complexidade: o sistema pode ter um escopo muito amplo ou abrangente, envolvendo diversos requisitos, stakeholders, funcionalidades e restrições. Isso pode dificultar a compreensão e a comunicação dos limites e do contexto do sistema, bem como a sua validação e verificação.
  • Incerteza: o sistema pode estar sujeito a mudanças frequentes ou imprevisíveis, seja por causa de alterações nas necessidades ou expectativas dos stakeholders, seja por causa de novas tecnologias ou regulamentações. Isso pode afetar os limites e o contexto do sistema, exigindo adaptações e revisões constantes.
  • Evolução: o sistema pode ter um ciclo de vida longo ou dinâmico, passando por diversas fases de desenvolvimento, operação e manutenção. Isso pode implicar em diferentes visões ou perspectivas dos limites e do contexto do sistema, dependendo do estágio ou do objetivo do projeto.

Para lidar com esses desafios, é preciso adotar algumas boas práticas na engenharia de requisitos.

Alguns exemplos são:

  • Participação ativa dos stakeholders: é importante envolver os stakeholders em todas as etapas do processo de engenharia de requisitos, desde a definição até a validação dos limites e do contexto do sistema. Isso permite obter informações mais precisas, completas e consistentes, bem como aumentar o comprometimento e a satisfação dos stakeholders.
  • Documentação clara e precisa: é fundamental documentar os limites e o contexto do sistema de forma clara e precisa, utilizando técnicas e notações adequadas para cada tipo de informação. Isso facilita a comunicação e o entendimento dos limites e do contexto do sistema, bem como a sua rastreabilidade e gerenciamento.
  • Revisão e validação contínuas: é essencial revisar e validar os limites e o contexto do sistema de forma contínua, verificando se eles estão alinhados com os requisitos, os objetivos e as expectativas dos stakeholders. Isso permite identificar e corrigir erros, inconsistências ou ambiguidades nos limites e no contexto do sistema, bem como incorporar mudanças ou melhorias.

Para ilustrar os conceitos apresentados neste artigo, podemos citar alguns exemplos de casos reais ou hipotéticos de sistemas que tiveram problemas ou sucesso na definição dos seus limites e contexto.

Alguns exemplos são:

  • Problema: um sistema de gestão escolar que não definiu claramente os seus limites em relação aos sistemas de outras instituições de ensino, gerando conflitos de integração e interoperabilidade.
  • Solução: o sistema deveria ter definido os seus limites utilizando a modelagem de casos de uso, especificando quais são as funcionalidades que o sistema oferece e quais são as interfaces que ele utiliza para se comunicar com outros sistemas.
  • Problema: um sistema de controle de acesso que não definiu adequadamente o seu contexto em relação ao ambiente físico no qual ele irá operar, gerando falhas de segurança e desempenho.
  • Solução: o sistema deveria ter definido o seu contexto utilizando a modelagem de domínio, representando quais são as entidades, atributos, relacionamentos e regras de negócio que compõem o domínio do problema que o sistema irá resolver.
  • Sucesso: um sistema de comércio eletrônico que definiu os seus limites e o seu contexto de forma participativa, envolvendo os stakeholders em todas as etapas do processo de engenharia de requisitos, documentando as informações de forma clara e precisa, e revisando e validando as informações de forma contínua.

Em conclusão, podemos afirmar que a definição dos limites e do contexto do sistema é um desafio essencial para a engenharia de requisitos, pois influencia diretamente na qualidade e no sucesso do software desenvolvido.

Para enfrentar esse desafio, é preciso adotar critérios e métodos adequados para cada tipo de projeto, bem como aprender com os exemplos e as lições de outros casos. Além disso, é preciso estar atento às mudanças que podem ocorrer ao longo do tempo, e adaptar os requisitos conforme necessário.

Para quem deseja se aprofundar nesse assunto, uma boa opção é o curso CPRE-FL (Certified Professional for Requirements Engineering – Foundation Level), uma certificação internacional que aborda os conceitos e as práticas da engenharia de requisitos.

Fonte: Redação ACerT

Rolar para cima