Buscar

ENGENHARIA DE REQUISITOS

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 184 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 184 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 184 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PROFESSORA
Esp. Janaina Aparecida de Freitas
Engenharia de 
Requisitos
ACESSE AQUI O SEU 
LIVRO NA VERSÃO 
DIGITAL!
EXPEDIENTE
Coordenador(a) de Conteúdo 
Flavia Lumi Matuzawa
Projeto Gráfico e Capa
André Morais, Arthur Cantareli e 
Matheus Silva
Editoração
Nivaldo Vilela de Oliveira Junior
Design Educacional
Rodrigo Cabrini Dall Ago
Curadoria
Carla Fernanda Marek
Revisão Textual
Ariane Andrade Fabreti
Ilustração
Geison Ferreira da Silva e Eduardo 
Aparecido Alves 
Fotos
Shutterstock
DIREÇÃO UNICESUMAR
NEAD - NÚCLEO DE EDUCAÇÃO A DISTÂNCIA
Diretoria Executiva Chrystiano Mincoff, James Prestes, Tiago Stachon Diretoria de Graduação e Pós-graduação Kátia 
Coelho Diretoria de Cursos Híbridos Fabricio Ricardo Lazilha Diretoria de Permanência Leonardo Spaine Diretoria de 
Design Educacional Paula R. dos Santos Ferreira Head de Graduação Marcia de Souza Head de Metodologias Ativas 
Thuinie M.Vilela Daros Head de Recursos Digitais e Multimídia Fernanda S. de Oliveira Mello Gerência de 
Planejamento Jislaine C. da Silva Gerência de Design Educacional Guilherme G. Leal Clauman Gerência de Tecnologia 
Educacional Marcio A. Wecker Gerência de Produção Digital e Recursos Educacionais Digitais Diogo R. Garcia 
Supervisora de Produção Digital Daniele Correia Supervisora de Design Educacional e Curadoria Indiara Beltrame
Reitor Wilson de Matos Silva Vice-Reitor Wilson de Matos Silva Filho Pró-Reitor de Administração Wilson de 
Matos Silva Filho Pró-Reitor Executivo de EAD William Victor Kendrick de Matos Silva Pró-Reitor de Ensino 
de EAD Janes Fidélis Tomelin Presidente da Mantenedora Cláudio Ferdinandi
NEAD - Núcleo de Educação a Distância
Av. Guedner, 1610, Bloco 4 Jd. Aclimação - Cep 87050-900 | Maringá - Paraná
www.unicesumar.edu.br | 0800 600 6360 
Impresso por: 
Bibliotecário: João Vivaldo de Souza CRB- 9-1679
C397 CENTRO UNIVERSITÁRIO DE MARINGÁ. 
Núcleo de Educação a Distância. FREITAS, Janaina Aparecida 
de.
Engenharia de Requisitos. Janaina Aparecida de Freitas. 
Maringá - PR: Unicesumar, 2022. 
184 p.
ISBN 978-85-459-2124-0 
“Graduação - EaD”. 
1. Engenharia 2. Requisitos 3. Software. 4. EaD. I. Título. 
CDD - 22 ed. 620 
FICHA CATALOGRÁFICA
Reitor 
Wilson de Matos Silva
A UniCesumar celebra os seus 30 anos de história 
avançando a cada dia. Agora, enquanto Universidade, 
ampliamos a nossa autonomia e trabalhamos diaria-
mente para que nossa educação à distância continue 
como uma das melhores do Brasil. Atuamos sobre 
quatro pilares que consolidam a visão abrangente 
do que é o conhecimento para nós: o intelectual, o 
profissional, o emocional e o espiritual.
A nossa missão é a de “Promover a educação de 
qualidade nas diferentes áreas do conhecimento, for-
mando profissionais cidadãos que contribuam para o 
desenvolvimento de uma sociedade justa e solidária”. 
Neste sentido, a UniCesumar tem um gênio impor-
tante para o cumprimento integral desta missão: o 
coletivo. São os nossos professores e equipe que 
produzem a cada dia uma inovação, uma transforma-
ção na forma de pensar e de aprender. É assim que 
fazemos juntos um novo conhecimento diariamente.
São mais de 800 títulos de livros didáticos como este 
produzidos anualmente, com a distribuição de mais 
de 2 milhões de exemplares gratuitamente para nos-
sos acadêmicos. Estamos presentes em mais de 700 
polos EAD e cinco campi: Maringá, Curitiba, Londrina, 
Ponta Grossa e Corumbá, o que nos posiciona entre 
os 10 maiores grupos educacionais do país.
Aprendemos e escrevemos juntos esta belíssima 
história da jornada do conhecimento. Mário Quin-
tana diz que “Livros não mudam o mundo, quem 
muda o mundo são as pessoas. Os livros só 
mudam as pessoas”. Seja bem-vindo à oportu-
nidade de fazer a sua mudança!
Tudo isso para honrarmos a 
nossa missão, que é promover 
a educação de qualidade nas 
diferentes áreas do conhecimento, 
formando profissionais 
cidadãos que contribuam para 
o desenvolvimento de uma 
sociedade justa e solidária.
Janaina Aparecida de Freitas
Possui graduação em Informática pela Universidade 
Estadual de Maringá (2010) e especialização em MBA em 
Teste de Software pela Uniceuma (2012). Atualmente, cur-
sa o Programa de Mestrado em Ciência da Computação 
na Universidade Estadual de Maringá (UEM), também é 
graduanda em Letras Português/Inglês na Unicesumar. 
Atua como professora mediadora, professora conteudis-
ta em gravação de aulas ao vivo e em gravação de aulas 
conceituais nos cursos do NEAD – Núcleo de Educação a 
Distância da Unicesumar, para os cursos de graduação de 
Sistemas para Internet, Análise e Desenvolvimento de Sis-
temas, Gestão da Tecnologia da Informação e Engenharia 
de Software, nas disciplinas de Engenharia de Software, 
Design Gráfico, Tópicos Especiais, Gerenciamento de Soft-
ware, Design de Interação Humano-Computador, Projeto 
Implementação e Teste de Software, há três anos. Além 
disso, tem experiência na iniciativa privada, na área de 
Análise de Sistemas e Testes de Software.
https://apigame.unicesumar.edu.br/qrcode/12909
Prezado(a) aluno(a), seja bem-vindo(a) à disciplina de Engenharia de Requisitos. Este li-
vro foi desenvolvido para você, que fica encantado(a) com as inúmeras funcionalidades 
que os softwares oferecem aos usuários. Com base nisso, quero te convidar a pensar 
sobre algumas provocações fundamentais:
 ■ Por que entender os requisitos de um problema ou de uma necessidade de um 
cliente, está dentre uma das tarefas mais difíceis que o engenheiro de software 
enfrenta no mercado de trabalho?
 ■ Conhecer os conceitos fundamentais da nossa área — os tipos de requisitos 
de software, a priorização e, depois, a maneira de organizar os requisitos em 
um documento de requisitos de software — torna mais fácil a solução para 
resolver este problema?
Com o objetivo de te auxiliar na busca por estas respostas a essas provocações 
fundamentais que, aliás, julgo necessárias para você entender a nossa disciplina, pro-
curei abordar assuntos interessantes e importantes que te ajudarão a entender como 
a Engenharia de Software é importante e como ela está presente no nosso dia a dia, em 
tudo o que usamos. Afinal, é tão difícil entender, claramente, o que o cliente deseja? E 
este questionamento nos faz pensar: por que o cliente não sabe o que é necessário, a 
partir do momento que é ele quem está solicitando o sistema?
A resposta é: muitos usuários finais não têm bom entendimento das características 
e funcionalidades necessárias ao sistema, dificultando o entendimento, por parte do 
engenheiro de software, do que o cliente, realmente, deseja que seja desenvolvimento.
Então, para resolver esta dificuldade, recomendo entender os conceitos e definições 
sobre a Engenharia de Requisitos. Desse modo, o ideal é compreender como ela está 
inserida dentro da Engenharia de Software bem como entender os processos do ciclo 
de vida do software e aprofundar-se no conhecimento da atividade de especificação 
de software. Por quê? Pelo fato de esta atividade ser, também, conhecida como Enge-
nharia de Requisitos, a qual é o processo de descobrir, analisar, documentar e verificar.
Dentro deste aprofundamento, te convido a ler a primeira unidade, onde abordei os 
conceitos introdutórios da Engenharia de Requisitos e a sua importância no processo de 
ENGENHARIA DE REQUISITOS
desenvolvimento de software. É importante que você compreenda este início, entenda 
que temos tipos de requisitos e que eles devem ser priorizados, depois, organizados 
dentro de um Documento de Requisitos de Software.
Sabe por que isso é importante? Porque esse documento de requisitos será utiliza-
do por outras equipes dentro da empresa, como: desenvolvedores, programadores, 
arquitetos de software, testadores, implantadores e o pessoal do suporte. Eles depen-
dem da clareza e do suficiente detalhamento, para cumprir com a sua função, a qual 
é desenvolver o software solicitado pelo cliente.A fim de continuarmos na nossa jornada de busca pelas respostas, te instigo 
a partir para a segunda unidade, na qual abordei os processos e as atividades respon-
sáveis por garantir a especificação de bons requisitos de software. É aqui que você 
aprenderá a respeito dos processos da Engenharia de Requisitos, a como realizar o 
levantamento e a análise de Requisitos de Software. É importante estar a par de todo 
esse processo, para que você não tenha sustos com o cliente falando: “você não en-
tendeu o que eu disse, pois o que eu disse não era o que eu quis dizer”. Além disso, 
é necessário compreender como são a verificação e a validação dos Requisitos de 
Software e, também, como realizar a especificação desses requisitos. 
Preparado(a) para continuar na busca por respostas? Seguindo: na terceira unidade, 
você aprenderá sobre as fontes de informação usadas na realização do levantamento 
dos requisitos de software. Fontes de informação? Sim, entender de onde vem as infor-
mações, a fim de realizar uma coleta de requisitos, durante o desenvolvimento de um 
software, e a coleta inicia-se pela identificação de quais fontes de informação podem 
ser usadas, para compreender as necessidades dos clientes e a forma de interagir com 
eles. O processo de coleta dos requisitos tem, como objetivo, definir e documentar as 
características dos produtos e serviços do projeto que satisfarão às necessidades e às 
expectativas dos usuários do sistema. Com o intuito tanto de compreender quanto 
interagir com o cliente e usuário, você precisa conhecer algumas técnicas de coleta de 
requisitos de software e como as selecionar de acordo com o contexto do que será 
desenvolvido. 
Em seguida, o que fazer com esse levantamento de requisitos? É necessário que 
você especifique os requisitos de software. Na quarta unidade, você aprenderá como 
realizar uma especificação de requisitos funcionais, utilizando os Casos de Uso e His-
tórias de Usuário, além de realizar a especificação de requisitos para um cenário de 
negócios e, depois, aplicar indicadores a fim de avaliar esses requisitos, por meio de 
critérios de qualidade de requisitos de software.
Espero que você esteja conseguindo chegar a alguma resposta às aprovações ge-
radas! Bem, desenvolver um sistema é algo que exige a interpretação bem como a de-
dução do que o cliente quer, e você viu que isso nem sempre é fácil. Agora, te provoco 
mais: como resolver isso? Você aprendeu várias formas e técnicas de levantamento de 
requisitos e como os documentar. E se eu te falar que esses requisitos podem mudar 
ao longo do desenvolvimento do sistema? Mais assustador ainda, concorda? 
E tenha uma certeza: os requisitos mudam por várias razões, por exemplo: o clien-
te, às vezes, não sabe o que deseja, pois, leis e normas do negócio se alteram ou o 
cliente quer algum recurso tecnológico novo no sistema. Desse modo, como ficam os 
requisitos coletados e aprovados? A resposta é que eles precisam ser gerenciados. 
Aqui, incentivo você a fazer uma imersão na Unidade 5, para entender como funciona 
o gerenciamento de requisitos e como realizar a rastreabilidade de requisitos e o con-
trole de mudanças, além de como construir uma matriz de rastreabilidade. No final, 
você entenderá a maneira de preencher um template da matriz de rastreabilidade de 
requisitos de software. 
Assim, convido você, caro(a) aluno(a), a entrar nesta jornada com empenho, dedi-
cação e muita sede de conhecimento. Boa leitura e ótimos estudos!
IMERSÃO
RECURSOS DE
Ao longo do livro, você será convida-
do(a) a refletir, questionar e trans-
formar. Aproveite este momento.
PENSANDO JUNTOS
NOVAS DESCOBERTAS
Enquanto estuda, você pode aces-
sar conteúdos online que amplia-
ram a discussão sobre os assuntos 
de maneira interativa usando a tec-
nologia a seu favor.
Sempre que encontrar esse ícone, 
esteja conectado à internet e inicie 
o aplicativo Unicesumar Experien-
ce. Aproxime seu dispositivo móvel 
da página indicada e veja os recur-
sos em Realidade Aumentada. Ex-
plore as ferramentas do App para 
saber das possibilidades de intera-
ção de cada objeto.
REALIDADE AUMENTADA
Uma dose extra de conhecimento 
é sempre bem-vinda. Posicionando 
seu leitor de QRCode sobre o códi-
go, você terá acesso aos vídeos que 
complementam o assunto discutido.
PÍLULA DE APRENDIZAGEM
OLHAR CONCEITUAL
Neste elemento, você encontrará di-
versas informações que serão apre-
sentadas na forma de infográficos, 
esquemas e fluxogramas os quais te 
ajudarão no entendimento do con-
teúdo de forma rápida e clara
Professores especialistas e convi-
dados, ampliando as discussões 
sobre os temas.
RODA DE CONVERSA
EXPLORANDO IDEIAS
Com este elemento, você terá a 
oportunidade de explorar termos 
e palavras-chave do assunto discu-
tido, de forma mais objetiva.
Quando identificar o ícone de QR-CODE, utilize o aplicativo Unicesumar 
Experience para ter acesso aos conteúdos on-line. O download do 
aplicativo está disponível nas plataformas: Google Play App Store
https://apigame.unicesumar.edu.br/qrcode/3881
APRENDIZAGEM
CAMINHOS DE
1 2
3 4
5
FUNDAMENTOS 
DA 
ENGENHARIA 
DE REQUISITOS
11
PROCESSOS DA 
ENGENHARIA 
DE REQUISITOS
51
81
TÉCNICAS DE 
ELICITAÇÃO DE 
REQUISITOS DE 
SOFTWARE
117
ESPECIFICAÇÃO 
DE REQUISITOS 
DE SOFTWARE
149
GERENCIAMENTO 
DE REQUISITOS 
DE SOFTWARE
1Fundamentos da Engenharia de 
Requisitos
Esp. Janaina Aparecida de Freitas
Nesta unidade, você conhecerá os conceitos introdutórios da Engenha-
ria de Requisitos e a sua importância no processo de desenvolvimen-
to de software, além disso, detalharemos os conceitos fundamentais 
e as etapas para compreender esta área. Também conheceremos e 
compreenderemos os tipos de Requisitos de Software e como reali-
zar a priorização, depois, como os organizar em um Documento de 
Requisitos de Software.
UNIDADE 1
12
Você já parou para pensar por que é tão difícil entender, claramente, o que o 
cliente deseja? Uma das situações tidas como o pior pesadelo de um engenheiro 
de software é quando o cliente fala: “você não entendeu o que eu disse, pois o que 
eu disse não era o que eu quis dizer” e, ainda, isso acontecer no final do projeto. 
 Mas, afinal de contas, o cliente não sabe o que é necessário? Os usuários 
finais não deveriam ter bom entendimento das características e funcionalidades 
que o sistema deveria possuir? Surpreendentemente, em muitos casos, a resposta 
a estas perguntas é “não”. Porque, mesmo se os clientes e usuários finais fossem 
explícitos quanto às suas necessidades em relação a um sistema, elas mudariam 
ao longo do projeto e, muitas vezes, eles não têm o conhecimento técnico para 
estabelecer a melhor solução ao problema que querem resolver.
 Entender os requisitos de um problema ou de uma necessidade de um cliente 
é uma das tarefas mais difíceis enfrentadas pelo engenheiro de software, pois 
há muitas dificuldades para fazer o levantamento das necessidades do cliente e 
para entender as informações por ele transmitidas. Devido a essas dificuldades, 
os requisitos são registrados de forma desorganizada e pouco tempo é investido 
na organização ou gerenciamento dessas informações, portanto, quando as mu-
danças vêm, o cenário torna-se mais assustador, mesmo entre gerentes e desen-
volvedores experientes.
A fim de entender melhor como este panorama pode ser assustador, contarei 
uma situação que aconteceu comigo. Na época, estava trabalhando como analista 
de sistemas em uma empresa que desenvolvia sistemas para autopeças, os quais 
eram customizados de acordo com as necessidades de seus clientes, com isso, 
ocorriam muitas mudanças, em função de alterações tributárias ou por causa 
da inclusão de novas tecnologias que estavam surgindo ou de novas funciona-
lidades. Um dos clientes de uma empresa de autopeças importadas solicitou a 
inclusão de uma nova funcionalidade no módulo financeiro do sistema, na tela 
do Contas a Receber. 
Realizamos uma reunião com o cliente, paraque ele explicasse a nova fun-
cionalidade a ser implementada. Ele explicou que queria um cálculo de juros 
simples em cima de cheques emitidos pelos clientes para pagamento das contas e 
dívidas. Essa reunião foi gravada e, no final, escrevemos uma ata, a qual o cliente 
leu e assinou, estando de acordo e autorizando a implementação.
Após a implementação da nova funcionalidade no módulo financeiro, foram 
realizados os testes de aceite pelo cliente, mas, para a nossa surpresa, o cálculo 
13
de juros estava errado. Como a reunião havia sido gravada, ela foi revisada, jun-
tamente, com o cliente, então, ele disse: “vocês entenderam errado, pois não era 
o que eu quis dizer, pois o que eu disse não era o que eu queria que fosse feito”. 
Como assim? Na tentativa de entender o que o cliente queria e não soube explicar, 
pedimos que ele exemplificasse, no papel, como calculava os juros. Surpreenden-
temente, era cálculo de juros composto e não simples, neste caso, o cliente não 
tinha conhecimento técnico para estabelecer a melhor solução ao problema o 
qual ele desejava resolver.
Agora, imagine que você é novo(a) em uma empresa de desenvolvimento de 
software e não conhece nem a empresa, nem os produtos que ela desenvolve. Você 
foi contratado(a) para substituir o analista de sistemas, porém esta pessoa, além 
de não ter cumprido o aviso prévio, sequer se preocupou em deixar explicadas a 
rotina e as atividades da função. 
Eis que surge uma reunião de emergência para a verificação de problemas ocor-
ridos com a última atualização do sistema de um cliente, então, você percebe o 
seguinte: o seu gerente pensa que você e o antigo colaborador são a mesma pessoa! 
Ele começa a te fazer várias perguntas sobre os requisitos alterados na última versão.
UNICESUMAR
UNIDADE 1
14
O que você faria diante de um cenário assustador como este? Registre, em seu 
Diário de Bordo, quais atitudes você tomaria nesta situação. Pegue, como exem-
plos, situações as quais você já viveu em sua vida profissional ou aquelas viven-
ciadas por seus amigos. 
A princípio, o cenário apresentado parece preocupante, mas, se você conhece 
os conceitos fundamentais sobre a Engenharia de Requisitos — os tipos de requi-
sitos de software, a priorização e como realizar a organização dos requisitos em 
um documento próprio para isso — a solução começa a surgir. 
Se a empresa e o antigo colaborador elaboraram uma documentação voltada 
às funcionalidades incluídas, utilize-a junto com o seu conhecimento, então, você 
conseguirá resolver a situação!
15
Para você entender o quanto a Engenharia de Requisitos é relevante durante o 
desenvolvimento de um software, é necessário identificar em qual momento ela 
se encaixa no contexto da Engenharia de Software. Portanto, refrescarei a sua 
memória relembrando, rapidamente, alguns conceitos fundamentais do processo 
de software e, depois, contextualizarei a Engenharia de Requisitos.
Atividades fundamentais do processo de software
Durante a produção de um software, são necessárias diversas fases/etapas, as quais 
são compostas por várias tarefas. Este conjunto de fases/etapas chama-se processo 
de software. Ele deve, sempre, cumprir todas os estágios estabelecidos para ele.
Mas, o que é um processo de software? Ele é considerado um conjunto 
de atividades/tarefas necessárias para definir, desenvolver, testar e manter um 
produto de software de alta qualidade. É uma abordagem adaptável cuja intenção 
é, sempre, entregar um software, com qualidade, dentro do prazo e seguindo o 
orçamento estipulado.
Atividade: é considerada um esforço para atingir um objetivo amplo. É uti-
lizada independentemente do campo de aplicação, do tamanho do projeto 
ou da sua complexidade.
Ação: envolve um conjunto de tarefas que resultam em um artefato.
Tarefa: concentra-se em um objetivo bem definido, produzindo um re-
sultado tangível.
Segundo Pressman e Maxim (2021, p. 20), o processo de software é definido como 
“uma metodologia para as atividades, ações e tarefas necessárias para desenvolver 
um software de alta qualidade”. Os objetivos desse processo são: (i) definir quais 
atividades serão executadas ao longo do projeto; (ii) quando, como e por quem 
tais atividades serão executadas (Figura 1). 
UNICESUMAR
UNIDADE 1
16
A Figura 2, a seguir, mostra a representação de um processo geral.
Quais ou o que Quando Como Quem
Descrição da Imagem: ilustração que mostra a representação dos objetivos do processo de software. 
A imagem do notebook representa “quais” atividades ou “o que” será realizado; a imagem do relógio 
representa “quando” as atividades serão executadas; a imagem da engrenagem representa “como” serão 
desenvolvidas; a imagem de “personas” representa “quem” as realizará.
Figura 1 - Representação dos objetivos do processo de software / Fonte: a autora 
Melhore
Pergunte
Imagine
Planeje
Crie
Descrição da Imagem: ilustração que mostra a representação de um processo geral, onde temos cinco 
etapas indicadas por retângulos, em sentido horário. A primeira etapa é “Pergunte”, seguida por “Imagine”, 
depois, “Planeje”, em seguida, “Crie”, fechando com a etapa “Melhore”. 
Figura 2 - Representação de um processo geral / Fonte: a autora.
17
Temos, na Figura 2, a representação de um processo geral com cinco etapas, 
nesta ordem: 
1. Pergunte: etapa a qual busca identificar qual o problema ou a necessidade 
do cliente. 
2. Imagine: aqui, são criadas algumas soluções, algumas alternativas à ne-
cessidade.
3. Planeje: corresponde ao momento de projetar ou modelar o que é ne-
cessário para a próxima etapa.
4. Crie: nesta etapa, a solução planejada é produzida.
5. Melhore: a solução é validada e testada. 
Para um processo ser considerado eficaz, segundo Pressman e Maxim (2021), 
devemos considerar: (i) as relações entre as atividades a serem desenvolvidas; (ii) 
os artefatos que serão produzidos durante o desenvolvimento; (iii) as ferramentas 
as quais, durante o desenvolvimento, poderão ser úteis; (iv) os procedimentos 
que serão necessários; (v) a habilidade, o treinamento e a motivação da equipe 
do projeto. 
Os processos devem ser definidos caso a caso, considerando as especificações 
da aplicação a ser desenvolvida, a tecnologia a ser adotada na sua construção, a 
organização de onde o produto será desenvolvido e as características da equipe 
de desenvolvimento. Além disso, temos alguns fatores passíveis de influenciar a 
definição de um processo, como: o tipo de software a ser desenvolvido, o para-
digma adotado, qual o domínio da aplicação e quais os tamanho e complexidade 
da aplicação. 
UNICESUMAR
UNIDADE 1
18
A Figura 3, a seguir, apresenta a visão das fases de um projeto. 
Domínio do
problema
MUNDO
REAL
Análise e
especi
cação
de requisitos
(o quê?)
Domínio da
solução
MUNDO
COMPUTACIONAL
Projeto (como?)
Implementação e
Validação
Descrição da Imagem: a ilustração representa as fases de um projeto, onde estão o mundo real e o 
mundo computacional. No mundo real, há o domínio do problema, no qual são realizadas a análise e 
a especificação de requisitos, ou seja, a pergunta: o quê? No mundo computacional, há o domínio da 
solução, no qual são realizadas a implementação e a validação. A ligação entre eles é a fase do projeto.
Figura 3 - Fases do projeto / Fonte: a autora.
 Então, como identificamos o domínio do problema? A seguir, algumas perguntas 
que podem ajudar o engenheiro de software a identificar esse domínio:
1. Que informação deve ser processada?
2. Quais função e desempenho são desejados?
3. Que comportamento deve ser esperado do sistema?
4. Quais interfaces devem ser estabelecidas?
19
5. Quais são as restrições de projeto?
6. Quais critérios de validação serão usados?
Depois de ter identificado o domínio do problema, precisamos pensar em como 
identificar o domínio da solução a ser desenvolvida. A seguir, apresentamos al-
gumas perguntas para ajudar o engenheiro de software a identificar o domínio 
da solução:
1. Como os dados devem ser?2. Como a função deve ser implementada dentro da arquitetura do software? 
3. Como os detalhes dos procedimentais devem ser implementados?
4. Como as interfaces devem ser caracterizadas?
5. Como o projeto deve ser traduzido em linguagem de programação?
Existe, na literatura, uma variação de atividades/tarefas do processo de software, 
mas todos envolvem cinco atividades fundamentais (Figura 4). 
UNICESUMAR
UNIDADE 1
20
 A seguir, apresentamos a descrição das atividades fundamentais do processo 
de software. 
Especificação de software: fase em que são definidas as funcionalidades 
do software e as restrições sobre as suas operações.
Projeto e implementação de software: nesta fase, são definidas quais 
funcionalidades serão desenvolvidas/implementadas para obter um pro-
duto final executável e de acordo com as especificações fornecidas pelo 
cliente.
Especi�cação
Projeto
Implementação
Validação
Evolução
Descrição da Imagem: a ilustração representa as atividades fundamentais do processo do software, por 
meio de retângulos, deles saem setas que apontam para os retângulos seguintes. No primeiro retângulo, 
há a fase de especificação, em seguida, o segundo retângulo, correspondente à fase de projeto, depois, o 
terceiro retângulo, que é a fase de implementação, a seguir, o quarto e quinto retângulo, respectivamente, 
as fases de validação e de evolução.
Figura 4 - Atividades fundamentais do processo de software / Fonte: a autora. 
21
Validação de software: fase na qual o software passa por validações e 
verificações com o objetivo de garantir que ele faça o que o cliente solicitou.
Evolução de software: fase em que são atendidas as mudanças possíveis 
de ocorrer durante o ciclo de vida do software, por exemplo, novos requi-
sitos, correções de erros ou atendimento às regulamentações do negócio. 
Todas estas atividades são a base sobre a qual o processo de desenvolvimento deve 
ser construído. Para Sommerville (2018), processos de software são complexos 
e criativos, pois dependem de pessoas para tomar decisões, fazer julgamentos e 
planejamento. 
Você deve estar pensando: qual o processo ideal e como o usar? Ele não existe, 
por isso, muitas empresas realizam adaptações e desenvolvem os seus próprios pro-
cessos de desenvolvimento de software. Processos possuem uma abordagem adap-
tável e vão evoluindo com vistas a tirar o melhor proveito da capacidade da equipe 
bem como das características específicas do sistema que está sendo desenvolvido. 
Embora não exista um modelo “ideal”, os processos de software têm a capa-
cidade de serem melhorados pela padronização, o que auxilia na comunicação 
mais efetiva e na redução no período de treinamento, além de abrir possibilidades 
à implantação de processos automatizados.
Nesta disciplina, o objetivo é aprofundar o conhecimento da atividade de 
especificação de software, a qual estabelece quais funções são requeridas pelo 
software e quais são as restrições sobre a operação e o desenvolvimento dele, 
ou seja, o processo de descobrir, analisar, documentar e verificar é chamado de 
Engenharia de Requisitos. 
A Engenharia de Requisitos, de acordo com Pressman e Maxim (2021, p. 
102): “fornece a todas as partes um entendimento escrito do problema. Os arte-
fatos podem incluir: cenários de uso, listas de funções e características e modelos 
de análise”. A Engenharia de Requisitos constrói uma ponte entre o projeto e a 
elaboração do software, porém, como construímos essa ponte? 
É possível que essa construção se inicie quando conversamos com os envol-
vidos no projeto — gerentes, clientes e usuário — pois são definidas, junto com 
eles, as necessidades do negócio, a descrição dos cenários de usuários, a definição 
das funções bem como os recursos e restrições do projeto.
UNICESUMAR
UNIDADE 1
22
 “ Porém, independentemente do ponto de partida, a jornada pela ponte nos leva bem à frente no projeto, permitindo que examine-mos o contexto do trabalho de software a ser realizado; as neces-
sidades específicas a que o projeto e a construção devem atender; 
as prioridades que orientam a ordem na qual o trabalho deve ser 
concluído; e as informações, funções e comportamentos que terão 
um impacto profundo no projeto resultante (PRESSMAN; MA-
XIM, 2021, p. 103).
Com o intuito de compreender a Engenharia de Requisitos, precisamos, antes, 
entender o que são os requisitos: eles são descrições das funções e restrições 
geradas durante o processo de Engenharia de Requisitos. Um requisito com-
preende uma característica ou funcionalidade cujo sistema deve possuir ou 
uma restrição que deve atender a uma necessidade do usuário. É a parte mais 
crítica e propensa a erros no desenvolvimento de software. 
Os requisitos de um sistema, para Sommerville (2018, p. 57), “são as des-
crições do que o sistema deve fazer, os serviços que oferece e as restrições a seu 
funcionamento. Esses requisitos refletem as necessidades dos clientes para um 
sistema que serve a uma finalidade determinada”.
No podcast desta unidade, destaco a importância da En-
genharia de Requisitos no processo de desenvolvimento 
de software. Acesse já!
Por que é tão difícil entender os requisitos? Porque temos diferentes níveis de des-
crição. Vamos a um exemplo? Analise os Quadros 1, a seguir. Ele mostra a visão do 
usuário, quando esse mesmo usuário descreve a sua necessidade, e mostra, também, 
a visão do analista de sistemas, quando ele pensa na necessidade que foi descrita. 
https://apigame.unicesumar.edu.br/qrcode/12902
23
(a)
Visão do usuário
O sistema deve gerar relatórios mensais que mostram o custo dos medica-
mentos prescritos por clínica, durante cada mês.
 
(b)
Visão do analista
No último dia de cada mês, deve ser gerado um resumo dos medicamentos 
prescritos por clínica.
Um relatório por clínica deve ser gerado, listando o nome dos medicamen-
tos, o total de prescrições e o custo total. 
Quadro 1 (a) - Visões do usuário; Quadro 1 (b) - Visões do analista / Fonte: a autora. 
Você conseguiu perceber as diferenças? Sommerville (2018, p. 58) descreve que 
os requisitos “precisam ser escritos em diferentes níveis de detalhamento para 
que diferentes leitores possam usá-los de diversas maneiras”. Por isso, quando os 
requisitos não são declarados de forma precisa, costumam surgir vários proble-
mas, inclusive requisitos ambíguos que podem ser interpretados de diferentes 
maneiras pelos desenvolvedores e usuários do sistema. 
 Quem são os interessados no sistema? São os clientes, o público, os patroci-
nadores e as organizações executoras, ou seja, quaisquer pessoas ou organizações 
que executam ou sofrem alguma ação relacionada ao projeto a ser desenvolvido. 
São os chamados stakeholders, aqueles envolvidos, ativamente, no projeto ou 
cujos interesses são afetados, de forma positiva ou negativa, pela execução ou 
pelo término dele. Você deverá ouvi-los e interpretá-los, principalmente, durante 
a fase de levantamento de requisitos (SOMMERVILLE, 2018). Cada um deles 
tem uma visão diferente do sistema e cada um obtém diferentes benefícios (se o 
sistema é desenvolvido com êxito, ou, caso venha a fracassar, com riscos). 
UNICESUMAR
UNIDADE 1
24
Níveis de Requisito 
 De que maneira identificar os interessados? Esta tarefa é um pouco complexa, 
mas, a seguir, temos uma lista de classificação dos stakeholders.
Favoráveis: contribuem ao sucesso do projeto, demonstram interesse e 
responsabilidade. 
Neutros: não possuem influência e não estão interessados nos resultados 
do projeto.
Contrários: acreditam que o projeto prejudica os seus interesses, então, 
criam empecilhos para o andamento dele.
Sabotadores: de difícil identificação. Geralmente, são espiões e/ou concor-
rentes.
Quadro 2 - Lista de classificação dos stakeholders / Fonte: adaptado de Sommerville (2018 
Níveis de Requisito 
25
Níveis de Requisito 
Níveis de Requisito 
Agora, você aprenderá a respeito dos níveis de requisitos, isto é, a maneira como 
eles serão escritos no documento ea quem se destinam, conforme o Quadro 3. 
Níveis de requisitos
Requisitos do usuário
Destinam-se às pessoas envolvidas no 
uso e na aquisição do sistema. Devem 
ser escritos usando linguagem natural, 
tabelas e diagramas, de modo que sejam 
compreensíveis.
Requisitos do sistema
Destinam-se a comunicar, de modo 
preciso, as funções que o sistema deve 
fornecer. São escritos em linguagem 
estruturada ou em linguagem baseada 
em alguma linguagem de programação. 
São divididos em dois tipos: requisitos 
funcionais (descrevem as maneiras como 
um produto deve se comportar) e requi-
sitos não funcionais (também conhecidos 
como atributos de qualidade, descrevem 
as características gerais do software).
Regra de negócio 
São declarações, orientações e restrições 
relacionadas à maneira como a empresa 
conduz ou opera o seu negócio. São os 
requisitos de domínio. 
Níveis de Requisitos 
Quadro 3 - Níveis de requisitos / Fonte: adaptado de Sommerville (2018).
UNICESUMAR
UNIDADE 1
26
 Depois de conhecer os níveis de requisitos, veremos como eles costumam ser 
classificados. Os requisitos de software são, frequentemente, classificados como 
Requisitos Funcionais (RFs), Requisitos Não Funcionais (RNFs) e Requisitos de 
Domínio/Negócio (RDs). 
Começarei a falar sobre os Requisitos Funcionais (RFs), os quais dizem 
respeito à definição das funções que um sistema ou um componente de sistema 
deve fazer (entradas e saídas). Os Requisitos Funcionais referem-se a uma re-
quisição — por parte do cliente — de uma funcionalidade que o software deverá 
atender ou realizar, isto é, a exigência, a solicitação, o desejo, a necessidade do 
cliente, cujo software a ser desenvolvido precisará materializar. De acordo com 
Sommerville (2018, p. 59), os RFs são:
 “ Os requisitos funcionais de um sistema descrevem o que ele deve fazer. Eles dependem do tipo de software a ser desenvolvido, de quem são seus possíveis usuários e da abordagem geral adotada 
OLHAR CONCEITUAL
Nível de Generalização
Alto
Detalhamento Especí�co
Regra
de Negócio
Requisitos
do Usuário
Requisitos de Sistema
Escopo do Projeto
Objetivos de Negócio
(Requisitos de Domínio)
Solicitações do Cliente
Necessidades dos usuário
("dores" e Processos do usuário)
Requisitos Funcionais
e Não Funcionais
27
pela organização ao escrever os requisitos. Quando expressos como 
requisitos de usuário, os requisitos funcionais são normalmente 
descritos de forma abstrata, para serem compreendidos pelos usuá-
rios do sistema. No entanto, requisitos de sistema funcionais mais 
específicos descrevem em detalhes as funções do sistema, suas en-
tradas e saídas, exceções etc.
Para entender, listaremos alguns exemplos de Requisitos Funcionais (RFs):
[RF001] O sistema deve cadastrar médicos profissionais (entrada).
[RF002] O sistema deve emitir um relatório de clientes (saída).
[RF003] O sistema deve transferir um cliente da situação “em consulta” 
para “consultado”, quando esse cliente terminar de ser atendido (mudança 
de estado).
[RF004] O cliente pode consultar os seus dados no sistema.
Neste momento, você conhecerá Requisitos Não Funcionais (RNFs). Eles di-
zem respeito a restrições, aspectos de desempenho, interfaces com o usuário, 
confiabilidade, segurança, manutenibilidade, portabilidade e padrões.
Sempre que possível, os Requisitos Não Funcionais devem ser escritos, quan-
titativamente, a fim de serem, objetivamente, validados e testados. Os RNFs ex-
pressam as condições ou as especialidades cujo software deverá atender e, segun-
do Sommerville (2018, p. 62): 
 “ São requisitos que não estão diretamente relacionados com os servi-ços específicos oferecidos pelo sistema a seus usuários. Eles podem estar relacionados às propriedades emergentes do sistema, como con-
fiabilidade, tempo de resposta e ocupação de área. Uma alternativa a 
esse cenário seria os requisitos definirem as restrições sobre a imple-
mentação do sistema, como as capacidades dos dispositivos de E/S ou 
as representações de dados usadas nas interfaces com outros sistemas.
UNICESUMAR
UNIDADE 1
28
A seguir, alguns exemplos de Requisitos Não Funcionais (RNFs):
[RNF001] O sistema deve imprimir o relatório em até cinco segundos.
[RNF002] Todos os relatórios devem seguir o padrão de relatórios espe-
cificado pelo setor XYZ.
[RNF003] O sistema deve ser implementado em Java.
[RNF004] O sistema deve ser protegido para o acesso de usuários.
Os RNFs são, de modo geral, provenientes de características requeridas para o 
software, por exemplo, da organização que desenvolve o software ou de fontes 
externas. A Figura 5 mostra os tipos de Requisitos Não Funcionais, de acordo 
com Sommerville (2018).
29
A seguir, a descrição dos RNFs (Figura 5): 
 ■ Requisitos do produto: especificam ou restringem o comportamento do 
software. Exemplo: requisitos de desempenho (rapidez com que o sistema 
deve executar e quanta memória ele requer); requisitos de confiabilidade 
(estabelecem a taxa aceitável de falhas); requisitos de proteção e os requi-
sitos de usabilidade.
 ■ Requisitos organizacionais: são requisitos gerais de sistemas derivados 
das políticas e procedimentos da organização do cliente e do desenvol-
vedor. Exemplos: requisitos do processo operacional (definem como o 
sistema será usado); requisitos do processo de desenvolvimento (especi-
Requisitos
não funcionais
Requisitos
do produto
Requisitos
organizacionais
Requisitos
extremos
Requisitos
de usabilidade
Requisitos
de e�ciência
Requisitos de
dependabilidade
Requisitos de
segurança da
informação
(security)
Requisitos
regulatórios
Requisitos
éticos
Requisitos
ambientais
Requisitos
operacionais
Requisitos de
desenvolvimento
Requisitos
legislativos
Requisitos de
desempenho
Requisitos
de espaço Requisitos
contábeis
Requisitos de segurança (safety)
/segurança da informação (security)
Descrição da Imagem: a ilustração representa, no formato de um organograma com retângulos, a divisão 
dos tipos de Requisitos Não Funcionais, iniciando com os seguintes requisitos: do produto, organizacionais 
e externos. Ligados aos “Requisitos do produto” estão os requisitos de eficiência, usabilidade, dependabi-
lidade e de segurança da informação. Estão ligados aos “Requisitos externos” os requisitos regulatórios 
e éticos. Associados aos “Requisitos organizacionais” estão os requisitos ambientais, operacionais e de 
desenvolvimento. Aos “Requisitos de eficiência” estão ligados os requisitos de desempenho e espaço. 
Associados aos “Requisitos legislativos” estão os requisitos contábeis e de segurança da informação.
Figura 5 - Divisão dos tipos de Requisitos Não Funcionais / Fonte: adaptada de Sommerville (2018). 
UNICESUMAR
UNIDADE 1
30
ficam a linguagem de programação, o ambiente de desenvolvimento ou as 
normas de processo a serem usadas); requisitos ambientais (especificam 
o ambiente operacional do sistema).
 ■ Requisitos externos: são todos os requisitos derivados de fatores exter-
nos ao sistema e ao seu processo de desenvolvimento. Exemplos: requi-
sitos reguladores (definem o que deve ser feito para o sistema ser apro-
vado ao uso por um regulador, tal como um banco central); requisitos 
legais (devem ser seguidos para garantir que o sistema opere dentro da 
lei); requisitos éticos (asseguram que o sistema seja aceitável para os seus 
usuários e o público em geral).
Geralmente, os RNFs são mensuráveis, ou seja, para cada Requisito Não Funcio-
nal, devemos associar uma medida ou referência. 
A seguir, no Quadro 4, temos exemplos de métricas que são usadas para 
especificar os RNFs.
31
PROPRIEDADE EXEMPLO DE MÉTRICAS
Velocidade
 ■ Transações processadas/segundo
 ■ Tempo de resposta de usuário/evento
 ■ Tempo de atualização de tela
Facilidade de uso
 ■ Tempo de treinamento
 ■ Número de frames (telas) de ajuda
Confiabilidade
 ■ Tempo médio para falha
 ■ Probabilidade de indisponibilidade
 ■ Taxa de ocorrência de falhas
 ■ Disponibilidade
Robustez
 ■ Tempo de reinício após falha
 ■ Percentual de eventosque causam falhas
 ■ Probabilidade de corrupção de dados em 
caso de falha
Portabilidade
 ■ Percentual de declarações dependentes do 
sistema-alvo
 ■ Número de sistemas-alvo
Quadro 4 - Exemplos de métricas para especificar Requisitos Não Funcionais 
Fonte: Sommerville (2018, p. 63).
Você deve ter percebido que os Requisitos Funcionais descrevem as funcionalidades (o 
que o sistema faz), e os Requisitos Não Funcionais relacionam as especialidades ou restri-
ções do software (como o sistema é).
PENSANDO JUNTOS
Agora, você aprenderá sobre os Requisitos de Domínio/Negócio (RDs): são 
os requisitos derivados do domínio da aplicação. Descrevem as características do 
sistema e as qualidades que refletem a regra de negócio do cliente. Tais requisitos 
UNICESUMAR
UNIDADE 1
32
são derivados da especialidade na qual o software será implantado e podem ser 
novos Requisitos Funcionais ou alguma restrição de algum requisito existente 
ou algum cálculo específico, por exemplo, o cálculo de impostos ou de taxas 
específicas. 
Em uma empresa, o setor de RH possui incrementos e descontos específicos 
do seu domínio, por exemplo, férias, horas extras etc. Se a empresa tiver impos-
tos tributários, há cálculos e porcentagens específicas inerentes à sua aplicação: 
IPI, substituição tributária, ICMS, IPTU, ISS, entre outros (PIS, COFINS etc.). 
Devem ser expressos usando uma linguagem específica do domínio da aplicação.
Seguem alguns exemplos de Requisitos de Domínio (RDs):
[RD001] O cálculo da média final de cada aluno é dado pela fórmula: (Nota1 
* 2 + Nota2 * 3)/5.
[RD002] O valor do IPI é calculado em relação ao valor da nota fiscal da 
mercadoria despachada e pode, eventualmente, incluir valores sobre o 
frete e despesas acessórias (juros, taxas etc.).
[RD003] O cálculo de comissão dos vendedores é de 15% sobre o total 
líquido das vendas no mês.
 Na especificação de software, a imprecisão é a causa de muitos problemas da 
engenharia de software. Muitas vezes, ocorre a interpretação ambígua de um 
requisito de forma, para, de alguma maneira, simplifique-se a sua implementação 
ou pode ocorrer, também, de o requisito não ser a preferência do cliente, neste 
caso, é necessário estabelecer novos requisitos e fazer mudanças no sistema. Com 
isso, acontecem os atrasos de entrega, gerando aumentos nos custos.
33
Depois de ter aprendido sobre os requisitos, você deve estar pensando: qual a 
importância deles no projeto de software? A fim de te fazer entender, falarei, 
primeiro, da importância dos Requisitos Funcionais. 
Primeiramente, as funcionalidades do sistema existem, somente, para realizar 
Requisitos Funcionais, logo, sem eles, não há funcionalidades e, sem funciona-
OLHAR CONCEITUAL
Para entender a relação entre os requisitos, temos, a seguir, um infográfico do 
ciclo dos requisitos de software.
Requisitos do Software
Requisitos 
funcionais
Descrevem o 
que o software 
deve fazer
Requisitos não-funcionaisTarefas do 
usuário 
transferidas 
para o software
Restrições gerais
 que afetam como
 o software deve
 ser feito
Estabelecem níveis 
de serviço que 
se esperam para
 o software
Descrição da Imagem: a ilustração representa a relação entre os requisitos, mostrando, por meio de 
setas, o ciclo dos requisitos de software. É possível ver os Requisitos Funcionais, os quais são as tarefas 
do usuário transferidas para o software e descrevem o que o software deve fazer. Em seguida, estão os 
Requisitos Não Funcionais: estes são as restrições gerais que afetam como o software deve ser feito e 
estabelecem níveis de serviços esperados para o software.
Figura 6 - Requisitos do software / Fonte: adaptada de Sommerville (2018).
UNICESUMAR
UNIDADE 1
34
lidades, não há sistema, por isso, os RFs precisam ser bem detalhados, claros e 
com qualidade. 
Você deve estar pensando: “o que devemos entender como qualidade de 
um requisito?”. Pois bem, Requisitos Funcionais de qualidade precisam aten-
der a alguns atributos qualitativos específicos, tais como: unidade, completude, 
consistência, atomicidade, não ambiguidade, ser verificável e rastreável, possuir 
prioridade e tempo verbal. 
A seguir, o Quadro 5 mostra os atributos e exemplos de cada um. 
Atributos Descrição dos atributos
Unidade
O Requisito Funcional deve propor, apenas, uma 
única coisa, ou seja, não deve atender a mais de 
uma necessidade. 
Exemplo: o Requisito Funcional “cadastrar clien-
te” não é requisito unitário, pois, podemos ter 
vários tipos de clientes (pessoa física e pessoa 
jurídica). 
Completude
O Requisito Funcional deve ser autocontido, ou 
seja, deve ter um início, um meio e um fim. 
Exemplo: o Requisito Funcional “pagar fatu-
ra” não está completo, faltam partes. Agora, o 
Requisito Funcional “pagar fatura com cartão de 
débito para cliente pessoa jurídica” está comple-
to, com início, meio e fim.
Consistência
O Requisito Funcional não deve contradizer ou-
tro Requisito Funcional, isto é, se propõe a fazer 
a mesma coisa, mas cada um fazendo de forma 
diferente.
Atomicidade
O Requisito Funcional deve assumir, apenas, 
uma responsabilidade e, também, deve ser algo 
indivisível, não pode ser decomposto.
35
Atributos Descrição dos atributos
Não ambiguidade
O Requisito Funcional não pode ser ambíguo, ou 
seja, não pode propor algo que não é claro no 
que faz. 
Exemplo: o Requisito Funcional “imprimir relató-
rio” não diz muita coisa, pois imprimirá relatório 
do que e para quê? Agora, o Requisito Funcional 
“imprimir relatório de saldo da conta poupança 
do cliente pessoa física” já está completo e claro.
Verificável
O Requisito Funcional deve ser testável, isto é, 
validado, para saber se ele atende à necessida-
de do cliente. 
Rastreável
O Requisito Funcional é passível de ser rastreá-
vel no sistema, quando estiver funcionando e 
executável. 
Tempo verbal
O requisito deve fazer uso do tempo verbal no 
próprio nome, ou seja, ele refere-se a algo que 
será feito, uma ação a ser realizada pelo siste-
ma.
Exemplo: realizar, comprar, emitir, consultar, 
validar, acessar etc.
Quadro 5 - Lista de atributos de qualidade dos Requisitos Funcionais
Fonte: adaptado de Sommerville (2018). 
Mas, e a importância dos Requisitos Não Funcionais para o sistema? Com o 
objetivo de tornar tal assunto compreensível, descreverei um cenário hipotético. 
Exemplo 1
 ■ A empresa de transportes XYZ possui uma frota de 600 caminhões, mas 
eles não podem ficar esperando muito tempo no pátio, mesmo para saí-
rem dos armazéns de carga. A empresa solicitou que, no módulo de logís-
tica, todas as cargas devem ser liberadas em, no máximo, 15 minutos. Para 
isso, é emitido um documento de solicitação de liberação de carga, nele 
é anexado a nota fiscal eletrônica dos produtos contidos no caminhão.
UNICESUMAR
UNIDADE 1
36
Após a leitura do cenário hipotético, identifique os Requisitos Não Funcionais. 
Imagine que você tenha chegado ao seguinte RFN:
[RNF01] Requisito de Desempenho: tempo limite de, no máximo, 20 mi-
nutos para o processamento de solicitação de liberação de carga.
Depois da identificação do Requisito Não Funcional, você descobriu que os 
desenvolvedores responsáveis pela implementação do módulo de logística não 
deram a devida importância ao requisito não funcional (RNF01) e que esta ne-
cessidade de tempo de resposta da emissão da nota fiscal eletrônica será imple-
mentada, somente, no fim do projeto. 
Quando o módulo de logística da empresa de transporte ficou pronto, ini-
ciou-se a homologação das funcionalidades. E o que aconteceu? Quando ocorreu 
a primeira bateria de testes com o módulo, o sistema foi reprovado pelos usuários 
da área de logística da empresa, pois estava demorando 1 hora, em média, apenas 
para que o sistema processasse a solicitação de liberação de carga. Resultado? 
Sistema considerado inviável à produção, sendo necessário reestruturar toda a 
sua arquitetura, porque a performance do módulo de logística ficou muito ruim, 
não atendendo ao Requisito Não Funcional (RNF01).“Muitas empresas estão dispostas a trocar a qualidade e o compromisso com requisitos do 
software por uma implantação mais rápida do software de que necessitam. Essas empresas 
operam em um ambiente de mudanças rápidas, por isso, muitas vezes, é, praticamente, im-
possível obter um conjunto completo de requisitos de software estável. 
Os requisitos iniciais, inevitavelmente, serão alterados, pois os clientes acham impossível 
prever como um sistema afetará as práticas de trabalho, como interagirá com outros siste-
mas e quais operações do usuário devem ser automatizadas. Pode ser que os requisitos se 
tornem claros apenas após a entrega do sistema e à medida que os usuários ganhem expe-
riência. Mesmo assim, devido a fatores externos, os requisitos são suscetíveis a mudanças 
rápidas e imprevisíveis. Por exemplo, quando for entregue, o software poderá estar desatua-
lizado”. 
Fonte: Sommerville (2018, p. 38).
EXPLORANDO IDEIAS
37
Depois do fragmento de texto exposto no explorando ideias, você deve estar se 
perguntando: E os requisitos nas metodologias ágeis? Quando usamos meto-
dologia ágil, nos processos ágeis, os requisitos são considerados um “objetivo” 
ao invés de ser uma solicitação ou necessidade sobre o que deve ser feito. 
Conforme Pressman e Maxim (2021, p. 38), “[uma] das características mais 
convincentes da metodologia ágil é sua habilidade de reduzir os custos da mu-
dança no processo de software”, ou seja, as mudanças nos requisitos são consi-
deradas bem-vindas, mesmo que elas venham, tardiamente, durante o desen-
volvimento do software. Tal metodologia é passível de ser aplicada a qualquer 
processo de software, e a sua especificação ocorre durante todo ciclo de vida do 
desenvolvimento dele, inclusive há a participação efetiva do stakeholder. Este 
promove esclarecimentos imediatos, em caso de dúvidas. 
Existe uma filosofia por trás dos métodos ágeis e refletida no Manifesto Ágil, 
o qual, segundo Pressman e Maxim (2021), foi acordado, em uma reunião, por 
muitos dos principais desenvolvedores dessa metodologia. 
A seguir, veremos, na Figura 7, os valores do Manifesto Ágil.
VALORES DO MANIFESTO ÁGIL
Indivíduos e interações mais que processos e ferramentas
Softwares em funcionamento mais que documentação abrangente
Colaboração com o cliente mais que negociação de contratos 
Responder a mudanças mais que seguir um plano
Descrição da Imagem: a ilustração representa os valores do Manifesto Ágil, por meio de cinco retângulos 
que apresentam os textos mostrados, aqui, a seguir. O texto “Valores do Manifesto Ágil” funciona como 
título e dele sai uma seta apontando para baixo, em direção ao retângulo cujo texto é: “Mais indivíduos 
e interações do que processos e ferramentas”, seguido pelo retângulo com o texto “Mais softwares em 
funcionamento do que documentação abrangente”, seguido pelo retângulo com o texto “Mais colaboração 
com o cliente do que negociação de contratos”, depois, vê-se o retângulo com o texto “Mais respostas a 
mudanças do que seguir um plano”.
Figura 7 - Valores do Manifesto Ágil / Fonte: adaptada de Sommerville (2018).
UNICESUMAR
UNIDADE 1
38
Quando se usa um processo ágil, não é comum fazer um planejamen-
to completo de tudo o que precisa ser desenvolvido antes de iniciar 
a implementação do sistema. É feito o planejamento de incrementos 
— pedaços do software que são desenvolvidos aos poucos e entregues, 
constantemente, ao cliente —, afinal, o foco está no valor do produto 
de alta qualidade que será entregue e que, também, fornecerá valor de 
negócio.
E o time ágil? Para Sommerville (2018), os métodos ágeis dependem 
do fato de o time compreender os aspectos do sistema, sem a necessi-
dade de consultar a documentação. Mas, tem um problema: e se o time 
ágil for alterado? Ou se algum dos desenvolvedores sair do time? Sig-
nifica que todo o conhecimento implícito sobre os aspectos do sistema 
é perdido. Para os novos membros do time, é difícil construir/alterar 
sem ter uma documentação viável do sistema e dos seus componentes. 
Como especificar os requisitos na metodologia ágil? A especifica-
ção de Requisitos Funcionais é feita por meio da utilização de histórias 
de usuário (user stories), cujo objetivo principal é garantir ao time a 
capacidade de entender e responder, rapidamente, às necessidades do 
usuário. Quando histórias de usuário são utilizadas, produz-se menos 
documentação e, também, é mostrada, de forma mais rápida e eficiente, 
a evolução das necessidades do usuário, além de haver mais ajuda na 
descoberta de novos requisitos que possam ocorrer durante o desen-
volvimento do sistema. 
Neste momento, quero que você pense: qual a diferença entre as 
histórias de usuário e a descrição tradicional dos requisitos? A diferen-
ça entre elas está na comunicação verbal, porque a linguagem escrita 
pode ser, muitas vezes, imprecisa, e a interpretação do usuário e do 
desenvolvedor costumam não ser as mesmas. A especificação de um 
requisito usando histórias de usuário segue as mesmas recomendações 
de especificação das metodologias tradicionais, vistas anteriormente. 
Na Unidade 4, será explicada a especificação de requisitos utilizan-
do histórias de usuário. Não se preocupe, logo você chega lá.
39
“Os requisitos relacionados ao produto farão parte de um documento de especificação de 
requisitos ou artefato similar, como cartões com histórias de usuário nos métodos ágeis, 
enquanto os requisitos de processo e de projeto serão parte do plano de projeto ou artefa-
to que tenha função similar. Já requisitos de sistema se desdobrarão em requisitos relacio-
nados à parte física (hardware) e requisitos relacionados à parte de software, os quais po-
dem estar em um mesmo artefato, mas que se desdobrarão em implementações distintas”. 
Fonte: Reinehr (2020, p. 39)..
EXPLORANDO IDEIAS
Agora, pense na seguinte frase: “o que é mais importante e o que deve ser feito 
primeiro”. Então, como saber quais requisitos são mais importantes, isto é, qual 
dos requisitos deve ser implementado primeiro? A recomendação é analisar o 
que, realmente, é essencial ou urgente a ser implementado e, para isso, usa-se a 
Priorização de Requisitos de Software.
 Uma das melhores formas para decidir o que deve ser feito com os recursos 
em mãos é priorizar os requisitos. Em termos de método aplicado, a “grosso 
modo”, estamos falando de criar uma lista com os requisitos, definir uma priori-
UNICESUMAR
UNIDADE 1
40
dade para cada um, e os mais prioritários vão ao início da lista, os menos prio-
ritários, para o fim.
Imagine a situação: você desenvolveu um sistema cujo objetivo é controlar 
a venda de produtos. Nele, a emissão de Nota Fiscal Eletrônica ou de Cupom 
Fiscal está pronta, mas o módulo que realiza a venda, ou seja, o Pedido de Venda, 
ainda não. Após a priorização, é importante definir, com a mesma prioridade, 
uma ordem de execução aos requisitos. 
Como definir essa ordem de execução? De acordo com a literatura pesquisa-
da, a atribuição de prioridade dos requisitos é de três tipos: essencial, importante 
e desejável. 
 ■ Essencial: requisito sem o qual o sistema não entra em funcionamento. 
São os requisitos imprescindíveis, os quais devem ser disponibilizados na 
implantação do sistema.
 ■ Importante: requisito sem o qual o sistema entra em funcionamento, 
ainda de forma satisfatória. Não impedem a implantação do sistema, mas 
devem ser implementados o mais breve possível. 
 ■ Desejável: requisito que, embora não implementado, permite que o siste-
ma funcione de modo satisfatório, sem comprometer as funcionalidades 
básicas. É um requisito com a possibilidade de ser entregue em qualquer 
momento, sem prejuízo para os serviços oferecidos pelo sistema.
 Quando devemos priorizar os requisitos? A priorização acontece durante a de-
finição do escopo do sistema. Imagine que você tenha o escopo definido do seu 
projeto e começa o desenvolvimento, porém não priorizou nenhum requisito. 
Isso gera problemas no projeto bem como possíveis atrasosna entrega. 
Não priorize os requisitos, somente, no início do projeto, procure fazer isso 
quando ocorrer mudanças nos requisitos. Mas, para isso, o documento de re-
quisitos precisa ser bem elaborado e detalhado, além de atualizado, sempre que 
necessário. 
Talvez, você esteja se perguntando como registrar o que aprendeu, até aqui, 
sobre requisitos. Este registro é feito por meio de um documento chamado Do-
cumento de Requisitos de Software, cuja função é documentar o que foi acor-
dado entre quem solicita e quem desenvolve, estabelecendo, também, o escopo 
do software, ou seja, o conjunto de funcionalidades que ele deverá oferecer. Além 
de servir de referência a desenvolvimento, testes, manutenção e evolução do 
41
sistema (mudanças), esse documento garante, ainda, a rastreabilidade mínima 
dos requisitos, ao longo do ciclo de vida do software. 
O Quadro 6 mostra a lista de usuários do Documento de Requisitos de Software. 
Clientes do sistema: especificam os requisitos e os leem, para conferir 
se satisfazem às suas necessidades. Os clientes especificam mudanças nos 
requisitos.
Gerentes: usam o documento de requisitos para planejar uma proposta ao 
sistema e planejar o seu processo de desenvolvimento.
Engenheiros de sistema: usam os requisitos a fim de compreender qual 
sistema deve ser desenvolvido.
Engenheiros de testes: usam os requisitos com o intuito de desenvolver 
testes de validação do sistema.
Engenheiros de manutenção: usam os requisitos para entender o sistema 
e as relações entre as suas partes.
Quadro 6 - Lista de usuários do Documento de Requisitos de Software 
Fonte: Sommerville (2018, p. 110) 
Segundo Sommerville (2018, p. 109), os documentos de requisito “são essenciais 
quando: os sistemas têm o seu desenvolvimento terceirizado, times diferentes 
desenvolvem partes diferentes do sistema ou uma análise detalhada dos requisitos 
é obrigatória”. 
Mas, afinal, como documentar? Te convido a fazer uma busca pela internet, 
usando as palavras “documento de requisitos”, então, visualize o que aparece. 
Além de inúmeras páginas de conceitos, você se deparará com inúmeros modelos 
e templates sugeridos para a documentação. Qual escolher? O desafio entre os 
modelos sugeridos é decidir qual o modelo que melhor se adapta ao seu projeto, 
às suas empresa e equipe. 
Com tantos modelos, qual o nível certo para realizar a documentação? Em 
primeiro lugar, o documento deve ser capaz de garantir o entendimento dos 
stakeholders. Em segundo lugar, a equipe técnica precisa estar ciente de que esse 
documento é a única garantia que atende às solicitações do cliente, portanto, 
ele necessita estar, sempre, atualizado. Qual modelo ou padrão usar? Há vários 
modelos os quais são, também, adaptáveis. O ideal é você definir, junto com a 
UNICESUMAR
UNIDADE 1
42
equipe, qual o modelo ou padrão que utilizarão à documentação dos requisitos 
do projeto. O documento de requisitos deve ter: 
1. Escopo do software: a descrição do conjunto de funcionalidades que ele 
deverá ter e os atributos de qualidade que o sistema suportará bem como o con-
junto de características técnicas, ou seja, a descrição completa dos Requisitos 
Funcionais e Não Funcionais e de Domínio.
 2. O documento deve ser elaborado de maneira precisa, detalhada, consis-
tente e de acordo com as necessidades do cliente, além de ser compreensível por 
todos stakeholders, isto é, os interessados no sistema. 
3. Guia de referência para validação, verificação e testes, além de manutenção 
e evolução do sistema. 
O Quadro 7 mostra os itens para organizar o documento de requisitos, com 
base em um padrão IEEE genérico. No entanto as empresas podem adaptá-lo a 
usos específicos, de acordo com os seus processos. 
Itens Descrição
Prefácio
Define os possíveis leitores do docu-
mento e descreve o histórico de versões, 
incluindo uma justificativa à criação de 
uma nova versão e um resumo das mu-
danças feitas em cada versão.
Introdução 
Descreve as necessidades para o siste-
ma, em suma, as funções, e como ele 
funcionará com outros sistemas, além de 
descrever os objetivos gerais de negócio 
ou estratégicos da empresa. 
Glossário 
Define os termos técnicos usados no 
documento.
Definição de requisitos de 
usuário
Descreve os serviços fornecidos ao usuá-
rio. Esta descrição pode usar linguagem 
natural, diagramas ou outras notações 
compreensíveis para os clientes. 
43
Itens Descrição
Arquitetura do sistema
Apresenta a visão geral em alto nível da 
arquitetura do sistema previsto, mos-
trando a distribuição de funções entre os 
módulos do sistema. Componentes de 
arquitetura reusados devem ser desta-
cados.
Especificação de requisitos do 
sistema
Descreve, em detalhes, os Requisitos 
Funcionais e Não Funcionais. As inter-
faces com outros sistemas podem ser 
definidas.
Modelagem do sistema
Incluem modelos gráficos do sistema 
que mostram os relacionamentos entre 
os componentes do sistema, o sistema e 
o seu ambiente.
Evolução do sistema
Descreve quaisquer mudanças previstas, 
em decorrência da evolução de hardwa-
re e de mudanças nas necessidades do 
usuário etc. 
Apêndices 
Fornece informações detalhadas e 
específicas relacionadas à aplicação em 
desenvolvimento, além de descrições de 
hardware e banco de dados, por exem-
plo. Os requisitos de hardware definem 
as configurações mínimas ideais para o 
sistema. Requisitos de banco de dados 
definem a organização lógica dos dados 
usados pelo sistema bem como os rela-
cionamentos entre esses dados.
Índice 
Vários índices podem incluídos no do-
cumento. É possível haver, além de um 
índice alfabético normal, um índice de 
diagramas e de funções, entre outros 
pertinentes. 
Quadro 7 - Estrutura de um documento de requisitos / Fonte: Sommerville (2018, p. 111). 
UNICESUMAR
UNIDADE 1
44
As informações contidas em um documento de requisitos dependerão do tipo 
de software a ser desenvolvido e da metodologia que está sendo usada para o 
processo de desenvolvimento. O importante, independentemente do tipo de 
software, é incluir, no documento, conteúdo para todos os leitores e interessados 
serem capazes de encontrar e entender, facilmente, todas as informações acerca 
do sistema. 
“O nível de detalhes que você deve incluir em um documento de requisitos depende do 
tipo de sistema em desenvolvimento e do processo usado. Os sistemas críticos precisam 
ter requisitos detalhados, porque a segurança e a proteção devem ser analisadas em 
detalhes. Quando o sistema está sendo desenvolvido por uma companhia separada (por 
exemplo, através de outsourcing (terceirização), as especificações de sistema devem ser 
detalhadas e precisas. Se um processo interno de desenvolvimento iterativo é usado, o 
documento de requisitos pode ser muito menos detalhado e quaisquer ambiguidades 
podem ser resolvidas durante o desenvolvimento do sistema”. 
Fonte: Sommerville (2018, p. 110-111).
EXPLORANDO IDEIAS
A fim de concluir a nossa unidade, segue um exemplo prático de um template 
para o documento de requisitos, a ser utilizado na disciplina. Esse documento de 
requisitos é direcionado a um sistema online de gerenciamento de uma fictícia 
casa de apoio social (SGCA). 
NOVAS DESCOBERTAS
Minha recomendação de leitura é a obra Engenharia de Requisitos, o 
qual pode ser encontrado na Biblioteca Digital Unicesumar (BDU). 
Neste livro, a autora Sheila Reinehr aborda os elementos e as etapas 
do ciclo de vida da Engenharia de Requisitos. Por meio desta leitura, 
você aprofundará os conceitos aprendidos nesta unidade, por exem-
plo, a compreensão da diferença entre Requisitos Funcionais e Não Funcio-
nais, assim como os Requisitos de Domínio. 
45
DOCUMENTO DE REQUISITOS
SISTEMA SGCA
Histórico de revisões
Data Versão Descrição Responsável
10/01/2022 1.0
Especificação 
dos objetivos do 
documento
Janaina Freitas
15/01/2020 1.1
Especificação 
dos Requisitos 
Funcionais e 
Não Funcionais
Rafael Florindo
20/01/2022 2.0
Modificação do 
escopo geral 
Janaina Freitas1. Objetivos
O SGCA é um sistema online de gerenciamento de casas de apoio social. O ob-
jetivo dele é cadastrar, listar e relacionar as casas de apoio, visando a facilitar as 
contribuições e doações. 
 1.1. Objetivos do documento
Este documento tem, por objetivo, descrever e especificar os requisitos de um sis-
tema online de gerenciamento de casas de apoio social. Os seus leitores (usuários 
desse documento) são profissionais envolvidos no desenvolvimento e pessoas 
que tenham interesse em usar o sistema.
2. Escopo geral do produto
O SGCA é um sistema online que visa a possibilitar o cadastro de casas de apoio 
social da cidade, onde será possível visualizar qual tipo de público elas atendem, 
os projetos que desenvolvem e a de que modo fazer contribuições e doações. 
UNICESUMAR
UNIDADE 1
46
3. Convenções, termos e abreviações
 3.1 Termos e abreviações: 
 ■ SGCA – Sistema de gerenciamento online de casas de apoio social.
 ■ RF – Requisitos Funcionais.
 ■ RNF – Requisitos Não Funcionais.
 3.2 Convenções:
 A seguinte convenção foi adotada neste documento: 
 ■ Casas de apoio social: referem-se ao indivíduo/empresa cadastrado(a) ou 
não no sistema e que faz uso das funcionalidades oferecidas pelo sistema. 
4. Requisitos
 Descrever, de maneira geral, todas as funcionalidades do sistema.
4.1. Requisitos Funcionais
Preencher a tabela, a seguir, com as informações pertinentes a cada um dos requisitos:
RF: RF001 Efetuar login de usuário no sistema. UC: 001
PR: 
alta
Descrição/Ação: o sistema deve permitir a autenticação de usuário, por meio de nome 
de usuário e senha. Caso o usuário não se lembre de seu login ou senha, ele poderá 
recuperar os dados pelo botão “Esqueci a minha senha”. A partir disso, será pedido ao 
usuário que digite o e-mail, em seguida, serão encaminhados os dados para login. 
Entrada: informações de nome de usuário e senha.
Saída: login efetuado com sucesso.
Pré-condição: ter cadastro de usuário realizado, com sucesso, no sistema.
Pós-condição: autenticação de usuário efetuado, com sucesso, no sistema.
Stakeholder: usuário administrador do sistema.
47
 4.2 Requisitos Não Funcionais
RNF: RNF001 Usuários simultâneos. UC: 
PR: 
média
Descrição/Ação: o sistema deverá suportar o processamento multiusuário, ou seja, 
vários usuários poderão utilizar, ao mesmo tempo, o sistema. 
Entrada: informações de vários nomes de usuários e senhas.
Saída: login de vários usuários efetuados com sucesso.
Pré-condição: usuário com cadastro no sistema.
Pós-condição: não se aplica.
Stakeholder: usuário administrador do sistema.
5. Escopo não contemplado
No momento, não será desenvolvido: 
 ■ Os relatórios com as casas de apoio social cadastradas no sistema.
 ■ Atendimento a consultas de informações por meio de e-mail.
6. Aprovação
_______________________
Juscelino Kubitschek de Oliveira
Gerente de projeto
_______________________
Marechal Cândido Rondon
Analista de Requisitos
_______________________
Tancredo Neves
Cliente/Solicitante
 
Maringá, 2 de Dezembro de 2021
UNICESUMAR
UNIDADE 1
48
Convido você a assistir o vídeo, para aprender a criar um 
documento de requisitos, na prática, visando a absorver o 
conteúdo visto nesta unidade. O documento de requisitos 
que criaremos tem o objetivo de descrever e especificar 
os requisitos de um sistema online de gerenciamento de 
casas de apoio social. Acesse e aprenda na prática.
NOVAS DESCOBERTAS
Título: Engenharia de Software: Uma Abordagem Profissional
Autores: Roger S. Pressman e Bruce R. Maxim
Editora: AMGH
Sinopse: o objetivo deste livro é ser um guia para uma disciplina de 
Engenharia em fase de amadurecimento. Assim como as edições que a pre-
cederam, esta é voltada tanto a estudantes quanto a praticantes, servindo, 
também, como guia para profissionais da área e como introdução abran-
gente para estudantes no final do curso de graduação ou no primeiro ano 
de pós-graduação.
https://apigame.unicesumar.edu.br/qrcode/13147
Crie um Mapa Mental sobre os conceitos fundamentais da Engenharia de Requi-
sitos. O seu mapa deve conter as seguintes palavras-chaves:
 ■ Processo de Software
 ■ Engenharia de Requisitos
 ■ O que é um requisito
 ■ Requisitos de sistema
 ■ Requisitos de usuário
 ■ Requisitos de Domínio
 ■ Requisitos Funcionais 
 ■ Requisitos Não funcionais
 ■ Documento de Requisitos
Organize a ideia do seu Mapa Mental a partir das palavras-chaves propostas. É 
uma forma de você absorver bem como sintetizar os conceitos vistos nesta uni-
dade. Recomendo o uso da ferramenta gratuita GoConqr (www.goconqr.com).
http://www.goconqr.com
2Processos da Engenharia de 
Requisitos
Esp. Janaína Aparecida de Freitas
Caro(a) estudante, após ter aprendido sobre os fundamentos da En-
genharia de Requisitos e a sua importância no processo de desenvol-
vimento de software, agora, nesta unidade, você conhecerá os pro-
cessos e as atividades responsáveis por garantir a especificação de 
bons requisitos de software. Você aprenderá acerca dos processos da 
Engenharia de Requisitos e, também, como realizar o levantamento e 
a análise de Requisitos de Software, além disso, entenderá a verifica-
ção e a validação desses requisitos. Por último, compreenderá como 
realizar a especificação dos mesmos.
UNIDADE 2
52
Na unidade anterior, iniciamos a nossa jornada de estudos sobre a Engenharia 
de Requisitos e a sua importância no processo de desenvolvimento de software. 
Você conheceu os conceitos fundamentais bem como as etapas para compreen-
der essa engenharia. 
Para verificar se você absorveu o conteúdo, te faço uma pergunta: o quanto a 
Engenharia de Requisitos é relevante no processo de desenvolvimento de softwa-
re? E qual o objetivo dela? São questionamentos importantes a um(a) futuro(a) 
engenheiro(a) de software, pois ele(a) precisa lidar com várias situações que en-
volvem tanto os processos quanto a equipe. 
Na unidade anterior, você aprendeu que o processo de descobrir, analisar, 
documentar e verificar é chamado de Engenharia de Requisitos e que ela cons-
trói uma ponte entre o projeto e a construção do software. Aprendeu, também, 
que essa engenharia fornece todos os artefatos que promovam o entendimento 
do que se deseja produzir a todos os envolvidos no projeto de desenvolvimento 
de software. 
Mas, como ter a certeza de que esses artefatos reproduzem, de fato, a solução 
final desejada? Para responder a esta pergunta, lembre-se que os eles podem 
incluir: cenários de uso, modelos de análise, listas de funções e características, 
também devem ser revisados e validados junto com o cliente, os usuários ou os 
patrocinadores, ou seja, com os stakeholders integrantes do projeto. 
Em suma, são vários os artefatos, afinal, eles são produzidos durante as etapas 
da Engenharia de Requisitos, isto é, durante os processos que envolvem a Enge-
nharia de Requisitos de Software. 
53
Achou complicado? Falamos em processos de software que são compostos 
por várias tarefas, agora, citamos os processos da Engenharia de Requisitos. Bem, 
para descomplicar, te convido a fazer uma busca pela palavra “processo”, de for-
ma geral. Deixe de lado o aspecto técnico, abra o seu navegador na internet, digite 
“processo” ou “o que é um processo”. Em seguida, veja as definições apresentadas 
nos links, com os resultados. 
Registre, em seu Diário de Bordo, as definições do que é um processo, então, 
descreva a sua análise dessas definições. 
Agora, pesquise a definição de “processo” em um dicionário, anote e compare. 
Depois, pense: de forma geral, as definições mostradas nos remetem a uma ativida-
de continuada, em algo desenvolvido, passo a passo, ou a uma forma adotada para 
se desenvolver algo, concorda? Espero que após estas pesquisas, fique mais claro 
quando falamos em processos de software e processo da Engenharia de Requisitos. 
UNIDADE 2
UNIDADE 2
54
 Processos da Engenharia de Requisitos de Software
Você aprendeu, na unidade anterior, que, durante a produção de um software,são 
necessárias diversas fases/etapas compostas por várias tarefas e este conjunto de 
fases/etapas chama-se processo de software. Um processo de Engenharia de Re-
quisitos é, também, um conjunto estruturado de atividades/etapas/fases que são se-
guidas para derivar, validar e manter um documento de requisitos de um sistema. 
O processo usado nessa engenharia pode variar bastante, em função das ca-
racterísticas dos projetos ou do domínio da aplicação, das pessoas envolvidas e da 
organização. Para Pressman e Maxim (2021), as atividades de Engenharia de Requi-
sitos são divididas em Especificação de Requisitos e Gestão de Requisitos (Figura 1). 
Engenharia de Requisitos
Especi�cação de Requisitos
Levantamento e Análise
Negociação
Documentação
validação
Veri�cação
Gestão de Requisitos
Controle de Mudanças
Versionamento
Con�guração
Rastreabilidade
Gerência de Qualidade
Descrição da Imagem: a ilustração mostra as atividades de Engenharia de Requisitos, as quais são divi-
didas em especificação de requisitos e gestão de requisitos. Em especificação de requisitos, temos outras 
atividades, que são, respectivamente: levantamento e análise, negociação, documentação, validação e ve-
rificação. Em gestão de requisitos, estão as respectivas atividades: controle de mudanças, versionamento, 
configuração, rastreabilidade e gerência de qualidade. 
Figura 1 - Atividades da Engenharia de Requisitos / Fonte: a autora. 
Para entender cada uma das atividades, leia as definições a seguir:
 ■ Especificação de requisitos: representa todas as atividades realizadas 
para identificar, analisar, especificar e definir as necessidades do sistema, 
55
as quais veremos, com mais detalhes, a seguir: levantamento/elicitação e 
análise, negociação, documentação, validação e verificação. 
 ■ Gestão de requisitos: atividades responsáveis pela documentação, ver-
sionamento, controle de mudanças e qualidade dos requisitos levantados 
na fase de especificação. Tais atividades serão estudadas na Unidade 5. 
Sommerville (2018) afirma que a Engenharia de Requisitos envolve três ativida-
des fundamentais: 
 ■ Elicitação e análise: ocorre a descoberta dos requisitos, por meio da 
interação com os stakeholders. 
 ■ Especificação: ocorre a conversão dos requisitos em uma forma padrão.
 ■ Validação: ocorre a averiguação de que os requisitos, realmente, definem 
o sistema desejado pelo cliente.
Esse processo da Engenharia de Requisitos, na prática, é um processo iterativo 
cujas atividades são intercaladas, conforme apresentado na Figura 2. Elas são 
organizadas em torno de uma espiral, e o resultado do processo é um documento 
de requisitos de sistema (SOMMERVILLE, 2018).
UNIDADE 2
UNIDADE 2
56
Quando se inicia o processo de Engenharia de Requisitos, dedicamos a maior 
parte do esforço a compreender os requisitos do negócio, seguindo para um estudo 
de viabilidade, em seguida, os requisitos do usuário do sistema. Em etapas mais 
avançadas do processo, Sommerville (2018, p. 96) destaca, nos anéis mais externos 
da espiral, o seguinte: “mais esforço será dedicado à elicitação e à compreensão dos 
requisitos não funcionais e dos requisitos de sistema mais detalhados”. 
Início
Especi�cação de
requisitos de negócio
Especi�cação de
requisitos de usuário
Elicitação de
requisitos de
usuário
Estudo de
viabilidade
Elicitação
de requisitos
de sistema
Especi�cação e
modelagem dos
requisitos de sistema
Revisões
Elicitação
de requisitos
Especi�cações
de Requisitos
Validação
de requisitos
Documentos de
requisitos de sistema
Prototipação
Descrição da Imagem: a ilustração mostra as atividades fundamentais: elicitação de requisitos, especi-
ficação de requisitos, validação de requisitos e documentação de requisitos de sistema, intercaladas em 
torno de uma espiral. Na atividade de elicitação, há o início, com a elicitação de requisitos de usuário e 
requisitos de sistema. Em especificação de requisitos, há as especificações de requisitos de negócio, de 
requisitos de usuário e a especificação e modelagem dos requisitos de sistema. Na atividade de validação 
de requisitos, estão o estudo de viabilidade, a prototipação e as revisões. O ciclo encerra na atividade de 
documento de requisitos de sistema.
Figura 2 - Visão em espiral do processo de Engenharia de Requisitos 
Fonte: Sommerville (2018, p. 95). 
57
Qual a quantidade de iterações em torno da espiral? O número pode variar de 
acordo com os níveis de detalhes, conforme os requisitos são desenvolvidos, e ela 
pode ser encerrada após alguns requisitos ou todos eles terem sido levantados ou 
elicitados. Em vez da prototipação, há a possibilidade de se utilizar desenvolvimen-
to ágil, para que os requisitos e a implementação sejam desenvolvidos em conjunto. 
Durante o processo de Engenharia de Requisitos, entendemos as necessida-
des do cliente, por isso, é importante analisar o que foi especificado e corrigir, caso 
seja necessário ou caso não se tenha entendido, exatamente, o que era esperado. 
Em todos os sistemas, os requisitos mudam e, como estudamos na unidade ante-
rior, entender o que o cliente almeja está entre as tarefas mais difíceis enfrentadas 
por um engenheiro de software. 
Por este motivo, as mudanças devem ser gerenciadas. Ao longo da unidade, 
você perceberá que as atividades do processo de Engenharia de Requisitos pre-
cisam andar juntas e permanecerem durante todo o ciclo de vida do projeto do 
software, o que dará garantias da elaboração de um bom documento de requisitos 
do sistema. 
Para o nosso estudo, seguiremos as atividades do processo de requisitos de 
software: levantamento e análise, verificação, validação e especificação.
UNIDADE 2
UNIDADE 2
58
 Levantamento e Análise de Requisitos de Software
Também conhecida como elicitação e análise de requisitos, esta atividade inicia 
o processo de Engenharia de Requisitos bem como a atividade de desenvolvi-
mento de software. É quando compreendemos o que o cliente quer e como será 
desenhada a sua proposta para atender às expectativas dele. O objetivo do le-
vantamento de requisitos é compreender as tarefas que os usuários realizam, 
além de procurar entender como eles usariam um novo sistema para ajudar na 
realização dessas tarefas.
Durante o levantamento de requisitos, o engenheiro de software trabalha 
com os usuários, a fim de saber sobre o domínio e as regras do negócio, quais 
atividades devem ser envolvidas, os serviços, as ferramentas, as características da 
aplicação que eles desejam, assim como o desempenho esperado e as limitações 
de hardware, entre outros (SOMMERVILLE, 2018).
O levantamento de requisitos exige a compreensão dos requisitos dos sta-
keholders. Isso é considerado um processo difícil, por várias razões, como 
verificaremos, a seguir:
1. Os usuários, muitas vezes, não sabem, exatamente, o que querem no 
sistema, exceto em aspectos gerais, portanto, costumam fazer exigências 
irreais, pois não sabem o que é viável ou não.
2. Os usuários expressam os requisitos em seus próprios termos devido 
ao conhecimento de suas tarefas, com isso, os engenheiros de software, 
sem experiência no domínio de negócio do cliente, talvez não entendam, 
claramente, tais requisitos.
3. Diferentes usuários, com requisitos distintos, podem expressá-los de 
maneiras variadas. 
4. Fatores políticos e tributários costumam influenciar os requisitos de 
um sistema.
59
5. O ambiente econômico e de negócios é dinâmico, então, inevitavelmen-
te, ocorrem mudanças durante o processo de análise. 
6. Novos requisitos surgem, muitas vezes, devido a mudanças de novos 
usuários que não foram, originalmente, consultados.
Fonte: Sommerville, 2018, p. 96 
A atividade levantamento e análise de requisitos de software possui um modelo 
de processo (Figura 3) com um conjunto de etapas/atividade. É um modelo com 
processos iterativos e um feedback contínuo de cada atividade, o qual é transmi-
tido para as demais. 
1. Descoberta e
compreensão dos
requisitos
2. Classi�cação e
organização

Outros materiais