Origem etmológica: do latim, requīrēre
"re-" prefixo que indica repetição ou intensificação e o verbo "quaerere" que significa "procurar", "buscar" ou "indagar".
"buscar repetidamente" ou "procurar intensamente".
Definição: Condições necessárias para alcançar um objetivo ou para que algo aconteça/seja feito.
💭 Você já teve que pedir algo para alguém e a pessoa não entendeu exatamente o que você queria?
Pois é. Esse é o principal problema que a Engenharia de Requisitos tenta resolver: transformar intenções em especificações compreensíveis para pessoas e máquinas.
Segundo a ISO/IEC/IEEE 24774:2021 Systems and software engineering — Life cycle management — Specification for process description, um requisito pode ser definido como:
"Uma condição ou capacidade que deve ser alcançada ou possuída por um sistema, produto, serviço, resultado ou componente para satisfazer um contrato, padrão, especificação ou outro documento formalmente imposto.
Requisitos incluem as necessidades quantificadas e documentadas, desejos e expectativas de patrocinadores, clientes e outras partes interessadas."
🖥️
“Os requisitos de um sistema são as descrições dos serviços fornecidos pelo sistema e suas restrições operacionais.” - Ian Sommerville (2019)
"Os requisitos de software expressam as necessidades e restrições impostas a um produto de software que contribui para a solução de um ou mais problemas do mundo real." - Guide to the Software Engineering Body of Knowledge (SWEBOK), IEEE Computer Society (2024).
Fonte: Autoral, feito com Canva para Educação.
🍕 Pedir uma pizza pelo aplicativo é simples.
Mas você já pensou quantos requisitos estão por trás disso?
Desde a escolha do sabor, restrições alimentares, adicionais, tempo de entrega até o pagamento.
Os requisitos de software podem ser classificados de diferentes maneiras, dependendo de sua origem, nível de detalhamento ou características. Entender as diferentes classificações é essencial para garantir que todas as expectativas, limitações e necessidades das pessoas usuárias e do negócio sejam corretamente representadas no sistema.
Nesta seção, apresentamos duas formas principais de classificação:
Por nível de abstração
Por característica ou especificação
Essa abordagem classifica os requisitos com base no grau de detalhamento e na origem da necessidade.
Esta classificação é utilizada por alguns autores (ex.: Ian Sommerville) para diferenciar a fonte do requisito e/ou o nível de abstração da linguagem utilizada para a descrição do requisito.
Essa classificação por nível de abstração ajuda a entender os diferentes estágios de detalhamento dos requisitos ao longo do processo de desenvolvimento de software.
À medida que os requisitos são refinados, eles passam de uma visão mais ampla dos objetivos do negócio para uma especificação técnica precisa que os desenvolvedores podem implementar.
É importante garantir a consistência e a rastreabilidade entre esses diferentes níveis de requisitos para garantir que o software final atenda adequadamente às necessidades de pessoas usuárias e do negócio.
São requisitos de alto nível, relacionados aos objetivos gerais do negócio ou organização que está demandando o software.
Descrevem as necessidades e metas que o sistema deve atender para agregar valor ao negócio.
Esses requisitos geralmente não são detalhados tecnicamente e estão mais focados nos resultados desejados.
Não descrevem o sistema em si, mas o que se espera atingir com ele.
Foco: visão do negócio e valor agregado.
Quem escreve: normalmente pessoas gestoras ou analistas de negócio.
Exemplos:
🏦 "O banco deseja aumentar em 20% a adesão ao débito automático para contas recorrentes."
🏦 "A organização busca melhorar o tempo médio de resposta às solicitações de financiamento para menos de 24 horas úteis."
🍕 "O sistema deve permitir o controle de produção para que 95% dos pedidos sejam entregues em até 40 minutos."
🍕 "A empresa pretende aumentar em 25% as vendas durante o horário de pico com promoções automatizadas."
São requisitos de mais alto nível escritos em linguagem natural e sem entrar em detalhes técnicos, geralmente, escritos por pessoas usuárias do sistema ou nesta perspectiva. Também podem ser chamados de requisitos de parte interessada ou requisitos de alto nível.
Esses requisitos estão mais detalhados que os requisitos de negócio e são centrados nas necessidades de usuários(as) finais do sistema.
Os requisitos de usuário representam os principais recursos e funcionalidades que o software deve oferecer para atender às expectativas de usuários(as).
Foco: necessidades de usuários(as) finais.
Quem escreve: pessoas usuárias, analistas, product owners.
Exemplos:
🏦 "Gostaria de gerar extratos personalizados por período e tipo de transação."
🏦 "O cliente deve poder solicitar empréstimos diretamente pelo app, com simulação prévia de parcelas."
🏦 "O sistema deve permitir que os clientes visualizem o saldo atual de suas contas e o histórico de transações."
🍕 "O cliente deve poder montar sua própria pizza escolhendo tamanho, massa, molho e ingredientes."
🍕 "Gostaria de acompanhar em tempo real o status do pedido (em preparo, a caminho, entregue)."
🍕 "O cliente quer visualizar promoções válidas para sua região antes de finalizar o pedido."
São escritos de forma detalhada e técnica, podendo conter informações específicas do sistema (ex.: código, referencias a dados ou elementos da arquitetura do sistema, tecnologias), geralmente, escritos pela equipe de desenvolvimento. Também podem ser chamados de requisitos da solução ou requisitos de baixo nível.
Descrevem como o sistema será implementado para cumprir os requisitos do usuário e de negócio. E são usados pela equipe durante o processo de construção do software.
Foco: implementação e funcionamento interno do sistema.
Quem escreve: analistas de sistemas, desenvolvedores(as), engenheiros(as) de software.
Exemplos:
"Cadastros de usuários devem conter nome completo, e-mail, data de nascimento, senha e CPF. As informações de nome, e-mail e data de nascimento podem ser aproveitadas via API Google ou Facebook, mas devem ser sempre revisadas e completadas pelo usuário."
"O sistema deve ser desenvolvido utilizando a linguagem de programação Python, utilizando o framework Django.
"O sistema deve executar em um servidor Linux com pelo menos 8GB de RAM."
“O sistema deve utilizar autenticação OAuth 2.0 integrada com a API do Google.”
“As informações de cadastro devem ser armazenadas em banco de dados PostgreSQL com criptografia AES-256.”
"O sistema deve se integrar ao serviço de pagamento online XYZ através de uma API REST."
📌 Observação: Um único requisito de negócio, pode gerar um ou mais requisitos de usuário. Um único requisito de usuário pode dar origem a vários requisitos de sistema, que detalham como as funcionalidades serão implementadas. Esta é o processo de refinação dos requisitos: do negócio → para o usuário → para o sistema.
Requisito de negócio:
"Transparência da localização de motoristas para usuários."
Requisito de usuário:
"O usuário deve poder visualizar, em tempo real, a localização dos motoristas próximos."
Requisitos de sistema derivados:
O sistema deve acessar periodicamente o GPS dos motoristas cadastrados.
O sistema deve atualizar a posição dos motoristas a cada 10 segundos.
O sistema deve exibir os marcadores no mapa usando a biblioteca Leaflet.js.
O sistema deve utilizar a API do Google Maps para renderização do mapa base.
O sistema deve manter conexão WebSocket ativa para atualização em tempo real.
Requisito de negócio:
"Aumentar a segurança nas transações realizadas pelos clientes."
Requisitos de usuário derivados:
O cliente deve autenticar sua identidade com autenticação em dois fatores (2FA).
O cliente deve receber notificações imediatas de transações suspeitas.
Requisitos de sistema derivados:
O sistema deve implementar autenticação via senha + código SMS ou aplicativo autenticador.
O sistema deve identificar padrões incomuns de transação com base em um modelo de risco.
O sistema deve registrar o IP e dispositivo de cada login para análise futura.
O sistema deve enviar notificação push ou e-mail para transações acima de R$ 1.000,00.
📝 Atividade: Classificação de Requisitos I
Considere um aplicativo de corridas similar ao Uber. Classifique cada um dos requisitos abaixo de acordo com o seu nível de abstração.
Instruções: Para cada requisito abaixo, indique se ele é um Requisito de Negócio, um Requisito de Usuário ou um Requisito de Sistema.
O sistema deve permitir que o passageiro veja o tempo estimado de chegada do motorista.
A empresa deseja reduzir em 15% o tempo médio entre solicitação e início da corrida até o fim do ano.
O aplicativo deve autenticar motoristas com reconhecimento facial antes de iniciar uma corrida.
O usuário deve conseguir cadastrar um cartão de crédito para pagamento direto pelo app.
O sistema deve utilizar criptografia AES-256 para armazenar dados de pagamento dos usuários.
A empresa deve garantir conformidade com a Lei Geral de Proteção de Dados (LGPD).
O sistema deve calcular o valor da corrida com base na distância, tempo e demanda do momento.
O usuário deseja poder avaliar o motorista ao final de cada corrida com nota de 1 a 5 estrelas.
Os dados de localização dos motoristas devem ser atualizados a cada 5 segundos no servidor.
O aplicativo deve oferecer diferentes categorias de corrida: econômica, premium e compartilhada.
Atenção: A divergência na classificação de requisitos como negócio, usuário ou sistema é comum, especialmente quando os requisitos são escritos de forma ambígua ou situados “na fronteira” entre níveis. É interessante desenvolver a habilidade de justificar classificações com base no contexto.
Essa classificação considera a natureza do que está sendo descrito — se é uma funcionalidade esperada ou uma qualidade exigida do sistema.
Os requisitos funcionais descrevem as funções e os serviços que o sistema deve oferecer; como o sistema deve se comportar em determinadas situações, e algumas vezes, o que o sistema não deve fazer (requisitos inversos).
Definem o que o software deve fazer em termos de entradas, processamento e saídas.
"Um requisito funcional também pode ser descrito como aquele para o qual um conjunto finito de etapas de teste pode ser escrito para validar seu comportamento." - Guide to the Software Engineering Body of Knowledge (SWEBOK), IEEE Computer Society (2024).
Exemplos:
“O sistema deve permitir o cadastro de clientes.”
“O sistema deve enviar um e-mail de confirmação após o registro.”
“O sistema deve validar se o CPF informado é único.”
Embora os requisitos funcionais sejam, em geral, definidos como tudo aquilo que o sistema “deve fazer” (funções, comportamentos, regras, interações com o usuário ou com outros sistemas), alguns autores e práticas de engenharia de software propõem classificações mais específicas dentro desse grupo, com o objetivo de organizar melhor os requisitos e facilitar a modelagem e o teste.
O SWEBOK: Guide to the Software Engineering Body of Knowledge (2024) sugere que requisitos funcionais podem ser descritos por meio de funções, comportamento e interações do sistema.
Ian Sommerville (2019) também menciona que requisitos funcionais podem envolver: Interação com o ambiente; Processamento de entradas e geração de saídas; e Restrições de comportamento em determinadas condições.
Os requisitos não funcionais são os que atuam para restringir a solução, seja como um todo ou apenas parte dela.
Referem-se às características e atributos que o sistema deve possuir, além das suas funcionalidades, para atender aos critérios de qualidade e desempenho.
Frequentemente, estão associados ao uso de tecnologias específicas.
Os requisitos não funcionais também são conhecidos como requisitos de qualidade.
Eles podem ser classificados de acordo com seu tipo, por exemplo: requisitos de desempenho, requisitos de manutenção, requisitos de segurança, requisitos de confiabilidade, requisitos de interoperabilidade, entre outros.
Existem muitos tipos de requisitos não funcionais e Ian Sommerville (2019) definiu uma organização em três categorias, a saber:
Requisitos de PRODUTO: referem-se aos atributos de qualidade que o sistema deve apresentar.
Exemplos de Requisito de Desempenho: "O sistema deve imprimir o relatório em até 5 segundos."
"O sistema deve responder a uma solicitação de busca em menos de 1 segundo."
"O sistema deve ter uma disponibilidade de 99,9%."
Exemplo de Requisito de Usabilidade: "A interface deve estar em conformidade com as diretrizes de acessibilidade WCAG 2.1 nível AA."
Requisitos ORGANIZACIONAIS: são derivados de processos, metas e procedimentos emergentes das organizações envolvidas no projeto do sistema.
Exemplo de Requisito de Desenvolvimento: "O sistema deve ser implementado em Java."
Exemplo de Requisito Operacional: "A equipe deve utilizar a metodologia Scrum para a condução do projeto."
Requisitos EXTERNOS: referem-se a todos os requisitos derivados de fontes e fatores externos ao ao sistema e seu processo de desenvolvimento.
Exemplo de Requisito Legal.: "O sistema deve atender à LGPD (Lei Geral de Proteção de Dados Pessoais, Lei nº 13.709/2018)."
Exemplo de Requisito Regulador: "O sistema deve gerar relatórios fiscais em formato XML de acordo com o layout da Receita Federal."
Requisitos não-funcionais são especificados de forma quantitativa usando-se métricas reconhecidas na indústria, como as da tabela anexa inspirada em Valente (2020).
O uso de métricas evita especificações genéricas.
Exemplo: "O sistema deve ser rápido e ter alta disponibilidade."
Em vez disso, é preferível definir que "o sistema deve ter 99,99% de disponibilidade" e que "99% de todas as transações realizadas em qualquer janela de 5 minutos devem ter um tempo de resposta máximo de 1 segundo".
É importante reconhecer que os requisitos não funcionais não são requisitos autônomos, pois sua existência sempre depende de outros conceitos ou requisitos no contexto do projeto.
Por exemplo, os requisitos não funcionais podem ser associados a requisitos funcionais:
Exemplo: “Somente usuários autorizados devem poder acessar a funcionalidade X do sistema.”
Ou podem ser associados aos recursos necessários para o projeto:
Exemplo: “Os desenvolvedores do sistema devem ter pelo menos dois anos de experiência em desenvolvimento Java."
📝 Atividade: Classificação de Requisitos II
Considere um aplicativo de corridas similar ao Uber. Classifique cada um dos requisitos abaixo de acordo com sua característica ou especificação do requisito.
Instruções: Para cada requisito abaixo, indique se ele é um Requisito Funcional ou um Requisito Não Funcional.
O sistema deve permitir que o usuário solicite uma corrida informando o endereço de destino.
O sistema deve estar disponível para uso 99,9% do tempo, considerando um período de 30 dias.
O sistema deve exibir no mapa a localização em tempo real do motorista atribuído.
A autenticação de usuários deve ser realizada em até 2 segundos.
O sistema deve permitir que o usuário salve endereços favoritos para facilitar solicitações futuras.
O sistema deve registrar todas as corridas realizadas no banco de dados por no mínimo 6 meses.
O sistema deve utilizar criptografia para armazenar dados sensíveis dos usuários.
O sistema deve permitir que o passageiro avalie o motorista após cada corrida.
O sistema deve responder a qualquer solicitação de API em menos de 1 segundo, em 95% dos casos.
A interface deve estar disponível em português, inglês e espanhol.
Atenção: A divergência na classificação de requisitos é comum, especialmente quando os requisitos são escritos de forma ambígua ou situados “na fronteira” entre níveis. É interessante desenvolver a habilidade de justificar classificações com base no contexto.
As regras de negócio e os requisitos de software têm uma relação muito próxima e interdependente durante o processo de desenvolvimento de um sistema. Estão intrinsecamente ligados e se complementam para garantir que o software atenda adequadamente às necessidades e objetivos do negócio.
As regras de negócio são princípios, diretrizes ou políticas que regem o funcionamento e os processos de um negócio ou uma organização. Elas descrevem políticas corporativas, a legislação pertinente, as regulamentações governamentais e os padrões de mercado aos quais a solução deve se subordinar.
Elas definem como o negócio deve ser conduzido, quais são as restrições e padrões a serem seguidos, e quais são as ações permitidas ou proibidas.
As regras de negócio são formuladas com base nas práticas, conhecimento e experiência do domínio de aplicação do sistema. Geralmente representam um conjunto de instruções que os usuários já seguem e que o sistema deve contemplar.
Elas NÃO estão especificamente ligadas à solução (e, portanto, ao software), mas ao domínio do problema em que elas se inserem. Elas existem independentemente do software; do processo de negócio estar automatizado ou não.
Uma regra de negócio não necessariamente será refletida no sistema como uma funcionalidade, mas ela com certeza determinará o comportamento de uma ou mais funcionalidades do sistema.
Restrições, validações, condições e exceções do processo são exemplos clássicos de regras de negócio. A sentença que descreve uma regra de negócio costuma possuir termos tais como: “se”, “sempre que”, “somente”, “só” ou “quando”.
🔍 Importante: Regras de negócio existem mesmo que não haja software. Elas fazem parte da lógica organizacional e, ao automatizarmos um processo, o sistema deve ser capaz de respeitá-las.
"Sempre que um congressista possuir frequência igual ou superior a 75% ele pode emitir seu certificado."
"Somente clientes com idade superior a 18 anos podem ser correntistas."
"Sempre que as compras totalizarem um valor igual ou acima de R$ 500,00 elas podem ter pagamento parcelado."
"Novos pedidos só podem ser aceitos até as 22h."
"A taxa de entrega varia conforme a distância do endereço de entrega."
"Crianças de até 23 meses transportadas no colo do responsável não pagam passagem."
"Consultas com especialistas exigem encaminhamento médico."
"Toda disciplina deve possuir no mínimo duas avaliações. A média para aprovação em uma disciplina é de 5,0, sendo calculada a partir da média entre as avaliações realizadas. Para ser aprovado em uma disciplina o estudante deve obter média maior ou igual a 5,0 e pelo menos 75% de presença."
Embora não sejam requisitos funcionais por si só, as regras de negócio:
Influenciam diretamente na especificação de requisitos
Podem ser incorporadas como validações, restrições ou lógicas internas do sistema
Devem ser documentadas e mantidas rastreáveis com os requisitos que as implementam
Motoristas com avaliação inferior a 4,5 devem ser suspensos automaticamente após 5 corridas consecutivas com nota baixa.
Passageiros com histórico de cancelamento superior a 30% nos últimos 30 dias não podem solicitar corridas em horário de pico.
Corridas com valor inferior a R$ 5,00 não podem ser pagas via cartão de crédito.
Crianças menores de 7 anos só podem ser transportadas se acompanhadas por um responsável maior de idade.
Motoristas não podem aceitar mais de uma corrida simultânea, exceto na modalidade “corrida compartilhada”.
A cobrança de taxa de cancelamento só será aplicada se o motorista já estiver a menos de 500 metros do local de embarque.
A plataforma deve reembolsar automaticamente o passageiro em casos de falha comprovada na cobrança.
Corridas com mais de 100 km exigem confirmação adicional do motorista antes do início.
Os dados de localização de corridas encerradas devem ser mantidos por, no mínimo, 180 dias para fins legais.
A bonificação por fidelidade é aplicada automaticamente a cada 10 corridas finalizadas no mês corrente.
A linguagem natural é, na maioria dos casos, a forma mais prática e acessível para documentar requisitos de software, pois é compreensível por todas as partes interessadas, independentemente de seu nível técnico.
No entanto, o uso da linguagem natural pode levar a ambiguidade, imprecisão e interpretações diferentes, especialmente quando os termos utilizados são vagos ou subjetivos.
Por isso, é fundamental buscar uma estrutura padronizada para a escrita de requisitos, complementando, sempre que possível, com modelos gráficos, tabelas, protótipos ou diagramas.
[identificador] A [frase nominal] deve (não deve) OU pode (não pode) [frase verbal] [condição/restrição]
Fonte: Laplante (2018)
✅ Requisitos Funcionais
RF01 A pessoa usuária deve cadastrar-se na plataforma informando nome, e-mail e senha válidos.
RF02 A pessoa usuária deve autenticar-se no sistema com e-mail e senha previamente cadastrados.
RF03 A pessoa usuária deve adicionar produtos ao carrinho de compras antes de concluir um pedido.
RF04 A pessoa usuária pode aplicar um cupom de desconto válido ao finalizar a compra.
RF05 A pessoa usuária deve visualizar os detalhes do produto selecionado antes de comprá-lo.
RF06 A pessoa administradora deve cadastrar, editar ou excluir produtos no catálogo do sistema.
RF07 A pessoa usuária deve acompanhar o status do pedido após a finalização da compra.
RF08 O sistema deve calcular automaticamente o valor do frete com base no CEP informado.
RF09 A pessoa usuária pode favoritar produtos para acesso rápido em compras futuras.
RF10 O sistema deve enviar uma confirmação de pedido por e-mail após a conclusão da compra.
⚙️ Requisitos Não Funcionais
RNF01 A aplicação web deve responder às requisições de página em até 2 segundos em 95% dos acessos.
RNF02 O sistema deve criptografar os dados sensíveis da pessoa usuária, como senha e dados de pagamento.
RNF03 A interface do sistema deve estar disponível nos idiomas português e inglês.
📜 Regras de Negócio
RN01 A entrega grátis deve ser oferecida somente para pedidos acima de R$ 200,00.
RN02 Um cupom de desconto só pode ser usado uma única vez por cada pessoa usuária.
RN03 Produtos em promoção não podem ser devolvidos após 7 dias corridos da entrega.
RN04 O parcelamento deve estar disponível apenas para pedidos com valor acima de R$ 100,00.
RN05 A venda de bebidas alcoólicas deve ser permitida apenas para pessoas maiores de 18 anos.
O sistema deve/não deve <verbo indicando ação, seguido de complemento>: use o verbo dever para designar uma função ou característica requerida para o sistema, ou seja, para descrever um requisito obrigatório.
Exemplos: "O sistema deve efetuar o controle dos clientes da empresa."
"O sistema deve processar um pedido do cliente em um tempo inferior a cinco segundos, contado a partir da entrada de dados."
O sistema pode/não pode <verbo indicando ação, seguido de complemento>: use o verbo poder para designar uma função ou característica desejável para o sistema, ou seja, para descrever um requisito desejável, mas não essencial.
Exemplos: "O sistema pode notificar usuários em débito."
"O sistema pode sugerir outros produtos para compra, com base em produtos colocados no carrinho de compras do usuário."
Use frases claras, curtas e objetivas.
Prefira a voz ativa: “O sistema deve validar o CPF” em vez de “O CPF deve ser validado”.
Evite termos vagos como “fácil”, “rápido”, “amigável”, “intuitivo”, a menos que estejam acompanhados de critérios mensuráveis.
Escreva cada requisito de forma individual e testável.
Utilize um glossário de termos se houver palavras técnicas ou específicas do domínio.
O nível de detalhamento da documentação de um requisito deve estar adequado ao projeto.
Desenvolvimento interno
Equipe agrupada
Não elabora casos de testes ou a elaboração ocorre em paralelo aos requisitos
Estimativas menos precisas
Baixa rastreabilidade de requisitos
Alto envolvimento dos clientes
Alto conhecimento da equipe sobre o negócio
Precedentes existentes
Desenvolvimento concorrente de procedimentos operacionais
Uso de pacotes na solução
Baixa expectativa de rotatividade de mão de obra
Desenvolvimento externo
Equipe dispersa
Casos de testes elaborados a partir da especificação
Estimativas mais precisas
Alta rastreabilidade de requisitos
Baixo envolvimento dos clientes
Baixo conhecimento da equipe sobre o negócio
Sem precedentes
Desenvolvimento com procedimentos operacionais já definidos e maduros
Solução não adotará pacotes
Alta expectativa de rotatividade de mão de obra
Fonte: VAZQUEZ; SIMÕES (2016)
"A pessoa que trabalha como Analista de Requisitos realiza o levantamento de requisitos e especificação de projetos de TI, desenvolvendo soluções para processos, mapeamento e análise de negócio. Elabora a documentação técnica de especificação de requisitos de softwares e status report para gestão de projetos" (VAZQUEZ; SIMÕES, 2016).
No Guia de Salários e Profissões, Analista de Requisitos está entre as profissões de tecnologia mais desejadas do mercado. A mediana salarial de profissionais sênior atuando na área é de R$8.454,00, no Brasil. - Fonte: https://www.betrybe.com/guia-salarios-profissoes/analista-de-requisitos
A remuneração total mensal estimada para o cargo de Analista De Requisitos é de R$ 5.500, com uma média salarial mensal de R$ 5.000. Esses números representam a mediana, que é o ponto médio dos intervalos do nosso modelo proprietário de Estimativa de Pagamento Total e é baseado nos salários coletados de nossos usuários. - Fonte: https://www.glassdoor.com.br/Sal%C3%A1rios/analista-de-requisitos-sal%C3%A1rio-SRCH_KO0,22.htm
A remuneração total mensal estimada para o cargo de Engenheiro De Requisitos é de R$ 6.230, com uma média salarial mensal de R$ 4.500. Esses números representam a mediana. - Fonte: https://www.glassdoor.com.br/Sal%C3%A1rios/engenheiro-de-requisitos-sal%C3%A1rio-SRCH_KO0,24.htm
No cargo de Analista de Sistemas e Requisitos se inicia ganhando R$ 4.013,00 de salário e pode vir a ganhar até R$ 6.975,00. A média salarial para Analista de Sistemas e Requisitos no Brasil é de R$ 5.795,00. A formação mais comum é de Graduação em Informática. - Fonte: https://www.vagas.com.br/cargo/analista-de-sistemas-e-requisitos
No cargo de Analista de Negócios e Requisitos se inicia ganhando R$ 4.256,00 de salário e pode vir a ganhar até R$ 8.219,00. A média salarial para Analista de Negócios e Requisitos no Brasil é de R$ 5.615,00. A formação mais comum é de Graduação em Sistemas de Informação (Análise de Sistemas). - Fonte: https://www.vagas.com.br/cargo/analista-de-negocios-e-requisitos
Informações atualizadas nas fontes em junho de 2025.
“Talvez o maior problema que enfrentamos no processo de desenvolvimento de software grandes e complexos” - Ian Sommerville (2019)
“Uma das tarefas mais difíceis de Engenharia de Software” - Roger Pressman (2021)
Porque precisamos entender o que clientes e usuários(as) - parte humana da computação - desejam e criar uma forma de reproduzir esse desejo.
Porque os requisitos mudam!
A Figura a seguir ilustra dois diferentes conjuntos com os requisitos corretos e os requisitos especificados. A interseção entre os dois representa o subconjunto dos corretos e especificados; os demais requisitos especificados são supérfluos.
Quanto ao restante dos requisitos corretos (mas não especificados) podem indicar omissões ou apenas uma questão de priorização.
Pesquisas mostram que quanto maior o tamanho do software, menos completa é a sua especificação (VAZQUEZ; SIMÕES, 2016).
Tamanho e completeza da especificação de requisitos de acordo com o tamanho do sistema. - Fonte: Vazquez e Simões (2016, p. 74).
A pesquisa anual Pulse of the Profession® do Project Management Institute (PMI) mostrou que uma engenharia de requisitos insuficiente é uma das principais causas do fracasso de um projeto. O processo da engenharia de requisitos, geralmente, inclui uma avaliação de necessidades, levantamento e análise de requisitos, monitoramento e controle de requisitos e avaliação de soluções.
Uma meta análise da literatura identificou que requisitos inadequados ou incompreendidos são a principal causa de catástrofes relacionadas à segurança em sistemas críticos de segurança. (VILELA et al., 2019)
Para entender os desafios enfrentados em Engenharia de Requisitos, em 2016, cerca de duas dezenas de pesquisadores coordenaram um estudo com 228 empresas que desenvolvem software, distribuídas por 10 países, incluindo o Brasil, que levantou os principais problemas enfrentados na especificação de requisitos:
Requisitos incompletos ou não-documentados (48%)
Falhas de comunicação entre membros do time e os clientes (41%)
Requisitos em constante mudança (33%)
Requisitos especificados de forma abstrata (33%)
Restrições de tempo (32%)
Problemas de comunicação entre os próprios membros do time (27%)
Stakeholders com dificuldades de separar requisitos e soluções (25%)
Falta de apoio dos clientes (20%)
Requisitos inconsistentes (19%)
Falta de acesso às necessidades dos clientes ou do negócio (18%)
Engenharia de Requisitos mal feita ilustrada em uma imagem (Autoria desconhecida)