Artigo

Requisitos Funcionais e Não Funcionais para CEF (TI)

Olá pessoal, tudo bem? Este artigo apresenta um resumo de Engenharia de Requisitos, focando em um dos temas mais cobrados em provas da Cesgranrio: Requisitos Funcionais x Requisitos Não Funcionais.

Estruturamos este resumo nos seguinte tópicos:

  • Introdução
  • Requisitos Funcionais
  • Requisitos Não Funcionais
  • Síntese e Mapa Mental
  • Conclusão

Introdução

A base de qualquer projeto de desenvolvimento de software bem-sucedido reside na engenharia de requisitos. Essa disciplina desempenha um papel crucial ao conectar as necessidades dos usuários com a implementação prática de sistemas de software. No âmago dessa prática, destacam-se dois tipos fundamentais de requisitos: os Requisitos Funcionais e os Requisitos Não Funcionais.

Este artigo explora a importância de distinguir entre essas duas categorias de requisitos, especialmente no contexto da engenharia de requisitos, que é um tópico essencial em exames públicos, notadamente quando se trata da banca IBFC.

Os Requisitos Funcionais delineiam as funcionalidades específicas que um sistema de software deve oferecer, ou seja, o que o sistema deve realizar. Por outro lado, os Não Funcionais se concentram em como o sistema deve executar essas funções, abordando aspectos como desempenho, segurança, usabilidade e confiabilidade.

A seguir, iremos explorar detalhadamente essas duas categorias de requisitos.

Requisitos Funcionais

Os Requisitos Funcionais desempenham um papel central na Engenharia de Requisitos, pois eles definem as funcionalidades específicas que um sistema de software deve realizar para atender às necessidades dos usuários e alcançar os objetivos do projeto. Em essência, eles respondem à pergunta: “O que o sistema deve fazer?“. Segundo Sommerville, em alguns casos também podem explicitar “o que o sistema não deve fazer”. 

A ideia dos requisitos funcionais é definir as funcionalidades que satisfaçam os objetivos do negócio.

Eles são essenciais para garantir que o sistema atenda às expectativas dos usuários e execute as tarefas necessárias para cumprir seu propósito. Eles servem como um guia claro para o desenvolvimento e teste do sistema, permitindo que as equipes de projeto compreendam o que precisa ser implementado e validado.

Características dos Requisitos Funcionais

Ações do Sistema: Os requisitos funcionais descrevem as ações, operações e tarefas que o sistema deve executar. Eles identificam as funcionalidades que o sistema deve oferecer para cumprir seu propósito.

Usam verbos de ação: Frequentemente, os requisitos funcionais são formulados com verbos de ação, como “registrar,” “gerar,” “exibir,” “calcular,” etc., que indicam claramente o que o sistema deve realizar.

Especificação de Entradas e Saídas: Eles também especificam as entradas necessárias para que a função ocorra e as saídas resultantes da execução da função.

Exemplos de Requisitos Funcionais

Alguns exemplos são:

  • Realizar cadastros;
  • Exibir de informações na tela;
  • Pesquisar informações no sistema;
  • Apresentar mensagens de erro ou sucesso;
  • Permitir seleção, atualização e exclusão de itens em uma tela;

Em suma, requisitos que dizem o que sistema deve fazer para satisfazer os objetivos do negócio:

  • Em um negócio de venda de produtos, o que sistema deve fazer?
    • Cadastrar produtos, usuários, etc.
    • Calcular total da compra, descontos, etc.
    • Exibir informações diversas na tela, como o carrinho de compras, os valores de desconto;

Requisitos Não Funcionais

Enquanto os Requisitos Funcionais delineiam as ações que um sistema de software deve realizar, os Requisitos Não Funcionais especificam o modo como essas funções devem ser executadas. Eles focalizam aspectos que impactam a qualidade, eficiência e experiência global do usuário, respondendo à questão: “Como o sistema deve executar suas funções?”.

Os requisitos não funcionais geralmente têm um grau de criticidade maior do que os requisitos funcionais isolados. Os usuários do sistema podem encontrar maneiras de contornar uma função específica que não atenda às suas necessidades. No entanto, a violação de um requisito não funcional pode levar à total inoperância do sistema. Por exemplo, um sistema que seja excessivamente lento ou pouco confiável pode se tornar completamente inutilizável.

Os Requisitos Não Funcionais desempenham um papel vital na asseguração de que o sistema cumpra os padrões esperados de qualidade, segurança e desempenho. Eles podem variar consideravelmente, desde requisitos de desempenho até requisitos de segurança e conformidade regulamentar. Lembrar-se desses requisitos é essencial para o êxito do projeto e a satisfação do cliente, garantindo que o sistema não apenas opere, mas o faça de forma eficaz e confiável.

Características dos Requisitos Não Funcionais

Qualidade e Desempenho: Geralmente estão relacionados à qualidade do sistema, como a eficiência, segurança, confiabilidade, usabilidade e escalabilidade.

Restrições e Limitações: Podem impor restrições e limitações ao sistema, como tempo de resposta máximo, disponibilidade do sistema e requisitos de segurança.

Aspectos Técnicos: Podem envolver aspectos técnicos, como a plataforma de hospedagem, a tecnologia a ser usada e os padrões a serem seguidos.

Exemplos de Requisitos Não Funcionais

  • Desempenho:
    • O sistema deve ser capaz de suportar até 1.000 solicitações de busca de voos por minuto, com um tempo de resposta médio não superior a 2 segundos.
  • Segurança:
    • Os dados dos clientes armazenados no sistema devem ser criptografados com um algoritmo de criptografia de, no mínimo, 256 bits. Além disso, o sistema deve manter registros de acesso para fins de auditoria e conformidade.
  • Usabilidade:
    • O aplicativo deve ser projetado de acordo com as diretrizes de usabilidade da plataforma, garantindo que a interface do usuário seja intuitiva e acessível a pessoas com deficiências. 
    • O sistema deve permitir o mínimo de cliques pelo usuário;

Classificação dos Requisitos Não Funcionais

Segundo Ian Sommerville, os Requisitos Não Funcionais são divididos em três categorias principais: requisitos de produto, requisitos organizacionais e requisitos externos

Requisitos de Produto

Os requisitos de produto especificam ou restringem o comportamento do software durante a execução. Eles descrevem como o sistema deve se comportar em termos de desempenho, confiabilidade e outros aspectos diretamente relacionados à sua funcionalidade. Exemplos:

  • Requisitos de dependabilidade (ou confiança): indica a qualidade do serviço fornecido pelo sistema e a confiança depositada nele, estabelecem a taxa aceitável de falhas.
  • Requisitos de eficiência: incluem os requisitos de desempenho quanto à rapidez com que o sistema deve executar e a quantidade de memória que ele precisa.
  • Requisitos de usabilidade: Definem critérios de interface do usuário, como facilidade de navegação, acessibilidade e experiência do usuário.
  • Requisitos de segurança da informação: Requisitos relacionados à segurança de dados e autenticação em sistemas externos que interagem com o sistema.

Requisitos Organizacionais

Os Requisitos Organizacionais estão relacionados aos processos, políticas e procedimentos da organização do cliente e do desenvolvedor. Eles podem impactar o desenvolvimento, a implantação e a manutenção do sistema. Exemplos:

  • Requisitos de Desenvolvimento: Especificam a linguagem de programação, o ambiente de desenvolvimento ou normas de processo de desenvolvimento utilizadas.
  • Requisitos Operacionais: Definem como o sistema será utilizado.
  • Requisitos Ambientais: Especificam o ambiente operacional do sistema.

Requisitos externos

Os requisitos externos são aqueles que derivam de fatores externos ao sistema e seu processo de desenvolvimento. São relacionados com os aspectos regulatórios, éticos ou legais. Exemplos:

  • Requisitos Legais ou legislativos: Definem o que deve ser feito para que o sistema opere dentro da lei. Podem ser subdivididos em requisitos contábeis ou de segurança.
  • Requisitos Éticos: Garantem que o sistema será aceitável para seus usuários e o público em geral.
  • Requisitos Reguladores: Definem o que deve ser feito para que o sistema seja aprovado para uso, por um órgão regulador, como, por exemplo, o banco central.

Síntese e Mapa Mental

Síntese

Vejamos agora uma pequena síntese do assunto:

  • Requisitos Funcionais: Especificam “o que o sistema deve fazer”, ou seja, as funcionalidades do sistema.
    • Exemplos: cadastros, atualização, remoção de usuários ou produtos; exibição de informações pelo sistema.
  • Requisitos Não Funcionais: Especificam “como o sistema deve operar”, ou seja, abrange aspectos de qualidade e desempenho, restrições e limitações, e aspectos técnicos.
    • Classificação dos Requisitos Não Funcionais:
      • Requisitos de Produto: especificam ou restringem o comportamento do software durante a execução. Ex: requisitos de dependabilidade (confiança), usabilidade, segurança e eficiência.
      • Requisitos Organizacionais: relacionados aos processos, políticas e procedimentos da organização do cliente e do desenvolvedor. Ex: Requisitos de desenvolvimento, operacionais e ambientais.
      • Requisitos Externos: derivam de fatores externos ao sistema e seu processo de desenvolvimento. Ex: requisitos legais, éticos e reguladores.

Mapa Mental

Para facilitar o entendimento e memorização, apresentamos abaixo um mapa mental resumindo o que tratamos neste artigo:

Mapa mental requisitos funcionais e não funcionais

Conclusão

Pessoal, chegamos ao final deste resumo sobre requisitos funcionais e não funcionais. Procuramos trazer os principais pontos desse assunto no tocante à banca Cesgranrio. Espero que este artigo seja útil em sua jornada rumo à aprovação. Bons estudos!

Quer saber quais serão os próximos concursos?

Confira nossos artigos!

Concursos abertos

Concursos 2024

Deixe seu comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Veja os comentários
  • Nenhum comentário enviado.