Olá pessoal, tudo bem? Este artigo apresenta um resumo de Engenharia de Requisitos, focando no assunto mais cobrado em provas da IBFC: Requisitos Funcionais x Requisitos Não Funcionais.
Estruturamos este resumo nos seguinte tópicos:
A engenharia de requisitos é o alicerce de qualquer projeto de desenvolvimento de software bem-sucedido. Ela atua como uma ponte essencial entre as necessidades dos usuários e a implementação prática de sistemas de software. No coração dessa disciplina, encontramos dois tipos distintos de requisitos que desempenham papéis igualmente cruciais: os Requisitos Funcionais e os Requisitos Não Funcionais.
Este artigo mergulha na importância da diferenciação entre essas duas categorias de requisitos, pois, no tocante a engenharia de requisitos, este é o assunto mais importante para concursos públicos, principalmente quando estamos falando da banca IBFC.
Os Requisitos Funcionais descrevem as funcionalidades específicas que um sistema de software deve fornecer, ou seja, o que o sistema deve fazer. Por outro lado, os Requisitos Não Funcionais se concentram em como o sistema deve desempenhar essas funções, abordando questões como desempenho, segurança, usabilidade e confiabilidade.
A seguir, iremos abordar em detalhes sobre esses dois tipos de requisitos.
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, os requisitos funcionais respondem à pergunta: “O que o sistema deve fazer?“. Conforme Sommerville, em alguns casos os requisitos funcionais também podem explicitar “o que o sistema não deve fazer”.
Além disso, os requisitos funcionais dependem de alguns fatores, como o tipo de software a ser desenvolvido, quem são seus possíveis usuários e qual a abordagem que a organização adota ao escrever os requisitos.
Ainda mais, os Requisitos Funcionais 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. Então, 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.
Os requisitos funcionais descrevem as ações, operações e tarefas que o sistema deve executar. Sendo assim, eles identificam as funcionalidades que o sistema deve oferecer para cumprir seu propósito.
De modo frequente, 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.
Os requisitos funcionais também especificam as entradas necessárias para que a função ocorra e as saídas resultantes da execução da função.
Requisito Funcional: O sistema deve permitir que os usuários busquem voos disponíveis com base na origem, destino e data da viagem. Além disso, o sistema deve exibir uma lista de voos correspondentes aos critérios de pesquisa.
Neste exemplo, o Requisito Funcional descreve a funcionalidade principal do sistema, que é buscar e exibir voos com base nas informações fornecidas pelos usuários.
Requisito Funcional: Os clientes devem ser capazes de adicionar produtos ao carrinho de compras, visualizar os itens no carrinho e efetuar o pagamento usando diferentes métodos de pagamento, como, por exemplo, cartão de crédito, PayPal ou boleto bancário.
Neste caso, o Requisito Funcional detalha as ações que os usuários podem realizar no sistema, como, por exemplo, adicionar produtos ao carrinho, visualizar o carrinho e efetuar o pagamento.
Requisito Funcional: Os usuários podem criar, editar e excluir postagens em seus perfis, além de comentar e curtir as postagens de outros usuários.
Nesse exemplo, o Requisito Funcional descreve as operações que os usuários podem realizar em uma aplicação de redes sociais, como, por exemplo, criar, editar e excluir postagens, além de interagir com as postagens de outras pessoas.
Enquanto os Requisitos Funcionais descrevem o que um sistema de software deve fazer, os Requisitos Não Funcionais especificam como o sistema deve fazer essas funções. Assim, eles se concentram em aspectos que afetam a qualidade, desempenho e experiência geral do usuário, respondendo à pergunta: “Como o sistema deve realizar suas funções?“.
Além disso, os requisitos não funcionais são frequentemente mais críticos do que os requisitos funcionais individuais. Por exemplo, em relação aos requisitos funcionais, os usuários do sistema podem encontrar formas de contornar uma função do sistema que não satisfaça suas necessidades. Entretanto, descumprir um requisito não funcional pode resultar em inutilização total do sistema. Por exemplo, um sistema muito lento ou não confiável pode ficar inutilizado.
Os Requisitos Não Funcionais desempenham um papel crítico na garantia de que o sistema atenda aos padrões de qualidade, segurança e desempenho esperados. Eles podem variar amplamente, abrangendo desde requisitos de desempenho até requisitos de segurança e conformidade regulamentar. Ter em mente esses requisitos é vital para o sucesso do projeto e a satisfação do cliente, garantindo que o sistema não apenas funcione, mas funcione de maneira eficaz e confiável.
Os requisitos não funcionais geralmente estão relacionados à qualidade do sistema, como a eficiência, segurança, confiabilidade, usabilidade e escalabilidade.
Eles podem impor restrições e limitações ao sistema, como tempo de resposta máximo, disponibilidade do sistema e requisitos de segurança.
Os requisitos não funcionais podem envolver aspectos técnicos, como a plataforma de hospedagem, a tecnologia a ser usada e os padrões a serem seguidos.
Requisito Não Funcional: O sistema de reservas de voo 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.
Neste exemplo, o Requisito Não Funcional estabelece uma restrição de desempenho que o sistema deve atender. Ele define o número máximo de solicitações por minuto e o tempo de resposta aceitável.
Requisito Não Funcional: Os dados dos clientes armazenados no sistema de compras online 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.
Este Requisito Não Funcional lida com questões de segurança, especificando os padrões de criptografia a serem seguidos e as ações de registro para garantir a conformidade e a proteção dos dados dos clientes.
Requisito Não Funcional: O aplicativo de redes sociais 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.
Aqui, o Requisito Não Funcional enfoca a usabilidade, garantindo que o aplicativo seja amigável e acessível a todos os usuários, independentemente de suas habilidades ou necessidades.
A classificação dos Requisitos Não Funcionais, segundo o renomado autor de engenharia de software Ian Sommerville, é uma das abordagens mais reconhecidas e utilizadas na área. Ele propõe uma categorização que ajuda a entender e gerenciar os Requisitos Não Funcionais de maneira mais estruturada. A classificação de Sommerville divide os Requisitos Não Funcionais em três categorias principais: requisitos de produto, requisitos organizacionais e requisitos externos
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:
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:
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:
Vejamos agora uma pequena síntese do assunto:
Para facilitar o entendimento e memorização, apresentamos abaixo um mapa mental resumindo o que tratamos neste artigo:
Pessoal, enfim chegamos ao final deste resumo sobre engenharia de requisitos (Requisitos Funcionais X Requisitos Não Funcionais) para o concurso do EBSERH. Procuramos trazer os principais pontos desse assunto, de acordo com o que a banca IBFC vem cobrando em suas provas, de modo que você possa gabaritar as questões sobre esse tema. Por fim, espero que este artigo seja útil em sua jornada rumo à aprovação.
A edição 2024.2 do Exame CFC está chegando e muitos bacharéis ou estudantes do último…
No Resumo da Semana você encontra diversas informações sobre concursos públicos previstos e editais publicados!…
O edital do concurso do Instituto Nacional do Semiárido (INSA) foi publicado com oferta de 19…
Está em pauta a realização de um novo concurso PC AL (Polícia Civil de Alagoas)…
Autorização de novo edital iminente! O próximo concurso PC ES (Polícia Civil do Espírito Santo)…
Salário inicial de R$ 7,8 mil! Atenção, corujas: a autorização para realização de um novo…
Ver comentários
Muito obrigado, esclareceu para mim!!!