1.1 Engenharia de Requisitos: O quê?

Objetivo: Conhecer o que é a ER e compreender o seu valor

Nessa unidade de ensino é abordado o que é um requisito, qual a sua importância, definição de stakeholders, uma visão sobre sistemas e a Engenharia de requisito;

Termos: Requisito, especificação de requisitos, Engenharia de Requisitos (ER), stakeholder, sistema, Engenheiro de Requisitos.

Definição – O que é um Requisito?

Sempre que os humanos decidem construir um sistema para apoiar ou automatizar as tarefas humanas, é preciso descobrir o que construir.

Isso significa que é preciso aprender sobre os desejos e as necessidades das pessoas ou organizações que usarão o sistema. Em outras palavras, é preciso saber sobre os requisitos de tal necessidade ou desejo para a criação do sistema.

(1) Condição ou exigência imprescindível a que se deve satisfazer para alcançar determinado fim.

(2) Um condição ou Capacidade que deve ser alcançada ou estar presente em um sistema ou componente de sistema para satisfazer um contrato, norma, especificação ou outro documento formalmente imposto.

Definição – Requisito

O requisito é uma especificação sobre como deve funcionar um sistema. Os requisitos são classificados por requisitos funcionais, qualidade ou restrições.  

Requisitos Funcionais

Definem o comportamento da funcionalidade oferecida pelo sistema a ser desenvolvido. Isso inclui requisitos de dados ou interação de um sistema com seu ambiente.

O requisito funcional irá definir qual a função e como ela irá relacionar-se em seu contexto.

Exemplo de Requisitos Funcionais – Uma Função para a Manutenção de cadastro de Veículos.

Requisitos de Qualidade

Referem-se a questões de qualidade que não são cobertas por requisitos funcionais – como por exemplo, desempenho, disponibilidade, segurança, ou confiabilidade do sistema e seu contexto.

O requisito de qualidade irá definir aspectos relativo ao volume de dados ou velocidade de processamento do sistema.

Exemplo Requisitos de Qualidade – O sistema deve estar operacional durante 99% do tempo.

Requisitos de Restrição

São requisitos que limitam o espaço da solução além do que é necessário para atender aos requisitos funcionais e de qualidade dos requisitos.

O requisito de restrição não são implementados, servem para serem cumpridos. Delimitando o limite o contexto do sistema e/ou processo de desenvolvimento.

Exemplos Requisitos de Restrição

Identificando um Requisito Funcional, Qualidade ou Restrição?

Por exemplo o “O formulário de entrada do cliente deve conter campos para o  nome e o primeiro nome do cliente, ocupando até 32 caracteres por campo, sendo exibido no mínimo 24 caracteres, limite à esquerda, com 12 pt. fonte sanserif ” . O exemplo anterior é um requisito funcional embora contenha muitas informações sobre como.

Outro Exemplo:

Considere um sistema que processa os dados de medição produzidos por um detector de acelerador de partículas de energia. Esses detectores produzem enormes quantidades de dados em tempo real.

Se você perguntar a um físico “O que o sistema deve fazer?”, Uma das primeiras respostas provavelmente seria, que o sistema deve ser capaz de lidar com o volume de dados produzido. No entanto, os requisitos relativos ao volume de dados ou velocidade de processamento são requisitos de qualidade [Glin2007] e não requisitos funcionais.

Porque Categorizar os Requisitos?

Um visão organizada sobre os requisitos irá proporcionar um entendimento sobre quais as necessidades existentes para o sistema e tratar de maneira adequada cada demanda.

É função da ER apoiar  no atendimento de todos os requisitos, sejam eles , funcionais de qualidade ou restrição.

O que é engenharia de Requisitos?

Engenharia de Requisitos: Uma sistemática e disciplinada abordagem para a especificação e gerenciamento de requisitos com o objetivo de compreender os desejos e necessidades dos stakeholders (partes interessadas) e minimizar o risco de entregar um sistema que não atende a esses desejos e necessidades.

Stakeholders

Uma pessoa ou organização que influencia o sistema de requisitos ou quem é afetado por esse sistema. A influência também pode ser indireta. Por exemplo, algumas partes interessadas podem ter que seguir as instruções emitidas por seus gerentes ou organizações.

Os stakeholders são as partes interessadas no projeto e irão estar relacionado com o requisitos. Isso inclui entidades que ou não também podem não usar o sistema em si, mais tem relevância para atender um requisito. Exemplo de Stakeholders que não irão usar o sistema, são administradores, a alta gerencia , investidores , entidades legais ou instituições.

Uma lista de stakeholders, definindo quem é , qual a sua influencia e impactos para o sistema irá apoiar na ER.

Sistema

Seguindo a definição do CPRE RE [Glin2020], usamos o termo sistema em um sentido amplo neste manual:

Sistema> Em geral> 1.um principio de ordenação e estruturação. 2. Em engenharia: um conjunto coerente e delimitável de elementos que, por ação coordenada, alcança algum propósito.

Observe que um sistema pode compreender outros sistemas ou componentes como subsistemas. O Objetivo alcançado por um sistema pode ser entregue por:

  • Implantar o sistema no(s) local(is) onde ele é usado;
  • Vender / Fornecer sistema a seus usuários como produto;
  • Ter provedores que oferecem os recursos do sistema aos usuários como serviços.

Portanto, usamos o termo sistema como um termo abrangente que inclui, produtos, serviços, aplicativos ou dispositivos.