Engenharia de Requisitos: Professora
Engenharia de Requisitos: Professora
Engenharia de Requisitos: Professora
Requisitos
PROFESSORA
Esp. Janaina Aparecida de Freitas
FICHA CATALOGRÁFICA
Reitor
Wilson de Matos Silva
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.
ENGENHARIA DE REQUISITOS
Sempre que encontrar esse ícone, Ao longo do livro, você será convida-
esteja conectado à internet e inicie do(a) a refletir, questionar e trans-
o aplicativo Unicesumar Experien- formar. Aproveite este momento.
ce. Aproxime seu dispositivo móvel
da página indicada e veja os recur-
sos em Realidade Aumentada. Ex- EXPLORANDO IDEIAS
plore as ferramentas do App para
saber das possibilidades de intera- Com este elemento, você terá a
ção de cada objeto. oportunidade de explorar termos
e palavras-chave do assunto discu-
tido, de forma mais objetiva.
RODA DE CONVERSA
1
11 2
51
FUNDAMENTOS PROCESSOS DA
DA ENGENHARIA
ENGENHARIA DE REQUISITOS
DE REQUISITOS
3
81 4 117
TÉCNICAS DE ESPECIFICAÇÃO
ELICITAÇÃO DE DE REQUISITOS
REQUISITOS DE DE SOFTWARE
SOFTWARE
5
149
GERENCIAMENTO
DE REQUISITOS
DE SOFTWARE
1
Fundamentos da
Engenharia de
Requisitos
Esp. Janaina Aparecida de Freitas
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, para que 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
12
UNICESUMAR
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.
13
UNIDADE 1
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!
14
UNICESUMAR
15
UNIDADE 1
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á.
Melhore
Pergunte
Crie
Imagine
Planeje
Figura 2 - Representação de um processo geral / Fonte: a autora.
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”.
16
UNICESUMAR
17
UNIDADE 1
Análise e
especificação
Domínio do MUNDO de requisitos
problema REAL (o quê?)
Implementação e
MUNDO Validação
COMPUTACIONAL
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.
18
UNICESUMAR
19
UNIDADE 1
Especificação
Projeto
Implementação
Validação
Evolução
20
UNICESUMAR
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.
21
UNIDADE 1
“
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).
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.
22
UNICESUMAR
(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.
23
UNIDADE 1
Níveis de Requisito
Níveis de Requ
24
UNICESUMAR
Níveis de Requisitos
Agora, você aprenderá a respeito dos níveis de requisitos, isto é, a maneira como
eles serão escritos no documento e a quem se destinam, conforme o Quadro 3.
Níveis de requisitos
25
UNIDADE 1
OLHAR CONCEITUAL
Nível de Generalização
Alto
Escopo do Projeto
Objetivos de Negócio
Regra (Requisitos de Domínio)
de Negócio Solicitações do Cliente
Requisitos Funcionais
Requisitos de Sistema e Não Funcionais
Detalhamento Específico
“
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
26
UNICESUMAR
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.
27
UNIDADE 1
28
UNICESUMAR
Requisitos
não funcionais
Requisitos
de usabilidade Requisitos Requisitos de Requisitos
Requisitos
ambientais operacionais desenvolvimento legislativos
Requisitos de Requisitos
desempenho de espaço Requisitos de segurança (safety)
Requisitos
contábeis /segurança da informação (security)
Figura 5 - Divisão dos tipos de Requisitos Não Funcionais / Fonte: adaptada de Sommerville (2018).
29
UNIDADE 1
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.
30
UNICESUMAR
■ Transações processadas/segundo
Velocidade ■ Tempo de resposta de usuário/evento
■ Tempo de atualização de tela
■ Tempo de treinamento
Facilidade de uso ■ Número de frames (telas) de ajuda
PENSANDO JUNTOS
31
UNIDADE 1
[RD001] O cálculo da média final de cada aluno é dado pela fórmula: (Nota1
* 2 + Nota2 * 3)/5.
32
UNICESUMAR
OLHAR CONCEITUAL
Para entender a relação entre os requisitos, temos, a seguir, um infográfico do
ciclo dos requisitos de software.
Descrevem o
que o software
deve fazer
Requisitos do Software
Requisitos
funcionais
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.
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-
33
UNIDADE 1
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.
34
UNICESUMAR
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.
35
UNIDADE 1
EXPLORANDO IDEIAS
36
UNICESUMAR
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”.
37
UNIDADE 1
38
UNICESUMAR
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-
39
UNIDADE 1
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.
40
UNICESUMAR
41
UNIDADE 1
Itens Descrição
42
UNICESUMAR
Itens Descrição
43
UNIDADE 1
EXPLORANDO IDEIAS
NOVAS DESCOBERTAS
44
UNICESUMAR
DOCUMENTO DE REQUISITOS
SISTEMA SGCA
Histórico de revisões
Data Versão Descrição Responsável
Especificação
10/01/2022 1.0 dos objetivos do Janaina Freitas
documento
Especificação
dos Requisitos
15/01/2020 1.1 Rafael Florindo
Funcionais e
Não Funcionais
Modificação do
20/01/2022 2.0 Janaina Freitas
escopo geral
1. Objetivos
45
UNIDADE 1
PR:
RF: RF001 Efetuar login de usuário no sistema. UC: 001
alta
46
UNICESUMAR
PR:
RNF: RNF001 Usuários simultâneos. UC:
média
Gerente de projeto
_______________________
Analista de Requisitos
_______________________
Tancredo Neves
Cliente/Solicitante
47
UNIDADE 1
NOVAS DESCOBERTAS
48
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).
2
Processos da
Engenharia de
Requisitos
Esp. Janaína Aparecida de Freitas
52
UNIDADE 2
53
UNIDADE 2
Engenharia de Requisitos
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.
54
UNIDADE 2
55
UNIDADE 2
Especificações
de Requisitos
Especificação e
modelagem dos
requisitos de sistema
Especificação de
requisitos de usuário
Especificação de
requisitos de negócio
Estudo de
Início viabilidade
Elicitação
Elicitação de requisitos Validação
de requisitos de sistema Elicitação de de requisitos
requisitos de
usuário
Prototipação
Revisões
Documentos de
requisitos de sistema
56
UNIDADE 2
57
UNIDADE 2
58
UNIDADE 2
1. Descoberta e
compreensão dos
requisitos
4. Documentação 2. Classificação e
dos requisitos organização dos
requisitos
3. Priorização e
negociação dos
requisitos
59
UNIDADE 2
“
Para simplificar a análise dos requisitos, é útil organizar e
agrupar as informações dos stakeholders. Uma maneira de
fazer isso é considerar cada grupo de stakeholders como um
ponto de vista e coletar todos os requisitos desse grupo a
partir de um determinado ponto de vista. É possível incluir
pontos de vista para representar requisitos de domínio e
restrições dos outros sistemas. Alternativamente, é possível
usar um modelo da arquitetura do sistema para indicar sub-
sistemas e associar requisitos a cada um deles.
60
UNIDADE 2
EXPLORANDO IDEIAS
61
UNIDADE 2
NOVAS DESCOBERTAS
62
UNIDADE 2
63
UNIDADE 2
EXPLORANDO IDEIAS
Segundo Reinehr (2020), verificação e validação são termos diferentes. De acordo com a
norma internacional ISO/IEC/IEEE 12207 (ISO, 2017):
• A validação é “a confirmação, por meio do fornecimento de evidência objetiva, que o
requisito foi atendido para um uso ou aplicação pretendidos específicos” (ISO, 2017,
p. 10-11, tradução minha).
• A verificação é a “confirmação, por meio do fornecimento de evidência objetiva, que
os requisitos especificados foram atendidos” (ISO, 2017, p. 10-11, tradução minha).
Ainda, de acordo com o CMMI-DEV 2.0 (CMMI INSTITUTE, 2018), a diferença entre os ter-
mos é a seguinte:
• A validação “demonstra que a solução vai atender seu uso pretendido no ambiente
alvo, isto é, ‘você está construindo a coisa certa’” (CMMI INSTITUTE, 2018, p. 525, tra-
dução minha).
• A verificação “endereça que o produto de trabalho ou a solução refletem adequada-
mente os requisitos especificados, isto é, ‘você está construindo certo’” (CMMI INSTI-
TUTE, 2018, p. 525, tradução minha).
Fonte: adaptado de Reinehr (2020), ISO (2017) e CMMI Institute (2018).
64
UNIDADE 2
65
UNIDADE 2
Formal:
trata-se de um processo no qual
a equipe examina as especificações
procurando por erro de registro ou
de interpretação, por requisitos
que precisam de mais esclarecimento
Revisão Técnica
Informal:
debate que ocorre entre equipe
técnica e cliente com o objetivo
de identificar problemas e propor
soluções
Geração de
Casos de Teste
66
UNIDADE 2
67
UNIDADE 2
Modelo de checklist
ITEM ITEM PARA VERIFICAÇÃO SIM NÃO
As restrições e dependências
5
foram, claramente, descritas?
Os requisitos descrevem as
8 respostas do sistema ao usuário
devido às condições de erro?
68
UNIDADE 2
Especificações
de Requisitos
Validação de Lista de Problemas
Requisitos e Ações
Conhecer a
Organização Saídas
(Negócio e Padrões)
Entradas
69
UNIDADE 2
EXPLORANDO IDEIAS
70
UNIDADE 2
71
UNIDADE 2
72
UNIDADE 2
73
UNIDADE 2
A fim de concluir a nossa unidade, seguem mais alguns exemplos práticos para
continuarmos a preencher o documento de requisitos do sistema online de ge-
renciamento de casas de apoio social (SGCA) que vimos na Unidade 1. Agora,
foram incluídos mais exemplos de especificação dos requisitos.
Requisitos Funcionais
PR:
RF RF002 Cadastrar casas de apoio social UC: 002
alta
74
UNIDADE 2
UC: PR:
RF RF003 Altera casas de apoio social
002 alta
UC: PR:
RF RF004 Excluir casas de Apoio Social
002 alta
75
UNIDADE 2
Em que:
■ Função: identifica a função do requisito sendo: Requisito Funcional (RF),
Requisito Não Funcional (RNF) ou Requisito De Domínio/Negócio (RD
ou RN) contendo a descrição e a identificação numérica ou outro código,
por exemplo: RF001, RF002, RNF003 etc.
76
UNIDADE 2
77
UNIDADE 2
OLHAR CONCEITUAL
Processo de Engenharia de
Requisitos de Software
Especificação Gestão de
É onde compreendemos o de requisitos requisitos
que o cliente quer e como
será desenhada sua proposta
para atender às expectativas
dele.
Levantamento
e Análise de Processo de escrever os
requisitos requisitos de usuário e de
sistema de um documento
de requisitos.
Garantem que a necessidade Verificação
Especificação
real do usuário esteja descrita e Validação
de requisitos
corretamente no Documento dos Requisitos
de Requisitos, tendo como
objetivo descobrir erros nos
requisitos documentados.
78
Mapa de Empatia de Processos de Engenharia de Requisitos de Software
O que você ganhou ao aprender sobre o conteúdo O que você gostaria de acrescentar ou sugerir
apresentado? sobre o conteúdo apresentado?
3
Técnicas de
Elicitação de
Requisitos de
Software
Esp. Janaína Aparecida de Freitas
82
UNICESUMAR
Registre, em seu Diário de Bordo, quais ações você realizaria para coletar os
requisitos e desenvolver um sistema de controle de compras para a empresa na
qual Maria trabalha.
Recomendo que pense, como exemplo, na seguinte situação: você precisa com-
prar produtos para a sua casa ou para a casa da sua família. Qual seria a primeira
anotação? Provavelmente, começaria anotando o que está faltando e a quantida-
de, certo? E como você organizaria estas informações? A fim de te auxiliar, analise
a planilha usada pela Maria, então, anote tudo o que conseguir!
Qtde. com- Preço esti-
Produto Unidade Qtde. mês
pra mado
Arroz Kg 2 1 10,00
Feijão Kg 6 6 3,50
83
UNIDADE 3
84
UNICESUMAR
Produto e
Escopo do projeto X Escopo para o cliente serviços que
serão gerados e
entregues ao
cliente
Escopo do
Cliente
Descrição da Imagem: a ilustração mostra dois círculos, onde o maior deles representa o escopo do
projeto. Esse círculo encontra-se ligado a uma caixa de diálogo e, no interior dela, lê-se o texto: “Depende
da estratégia de condução do projeto”. O círculo menor está dentro do maior e representa o escopo do
cliente. Esse círculo menor encontra-se ligado a uma caixa de diálogo e, no interior dela, lê-se o texto:
“Produtos e serviços que serão gerados e entregues ao cliente”.
85
UNIDADE 3
essas definições, mas há casos cuja lei determina o que deve ser feito. Para cada
software existem, também, diversos olhares e perspectivas vindos das partes en-
volvidas.
Para cada projeto, existe uma forma adequada de coletar os requisitos
de um produto de software. Segundo Reinehr (2020), temos diferentes tipos
de produtos de software e cada um implica diferentes tipos de requisitos, com
isso, há distintas fontes de informação para a coleta.
Pense em vários tipos de sistema: de informação para as áreas administrativas,
de controle do tráfego aéreo, para a área da saúde, para a logística, o agronegócio
e o controle de usinas, de jogos de celular, entre outros. São sistemas diferentes
e que possuem particularidades de cada tipo de negócio e de cada contexto
de projeto, com isso, fontes de informação diferentes.
Em alguns casos, é possível que haja falha no momento de identificar as
fontes de informação para o tipo de sistema, acarretando muitas consequências,
por exemplo: usuários esquecidos, requisitos importantes que surgem quando o
sistema estiver em uso etc. O melhor é tentar envolver todas as fontes de infor-
mação disponíveis.
“
No início de um projeto, diversos stakeholders têm um papel
importante para determinar variáveis que influenciarão o seu
desenvolvimento. Alguns poderão definir requisitos de projeto,
como orçamento, prazos, premissas, restrições e escopo. Geralmen-
te, esses são os clientes, investidores, gestores ou o próprio gerente
do projeto. Outros, serão responsáveis por determinar requisitos
de processo, que influenciarão a forma como a equipe de desen-
volvimento irá trabalhar. Esses podem ser externos à organização
desenvolvedora, como o próprio cliente ou investidor, ou podem
ser internos à organização, como a área de processos ou de com-
pliance. E haverá um conjunto deles que definirá efetivamente os
requisitos do produto de software, sejam os funcionais (‘o que’ o
sistema deve fazer), sejam os não funcionais (‘como’ o sistema deve
fazer) (REINEHR, 2020, p. 53, grifos do autor).
86
UNICESUMAR
87
UNIDADE 3
88
UNICESUMAR
Técnicas e Ferramentas
Entrevistas
Brainstorming
Entrada
Histórias de usuário (user stories)
Compreensão Oficinas
dos Requisitos Questionários
Pesquisas
Cenários
Shadowing
Saída
Matriz da Rastreabilidade dos Requisitos
Documentação dos Requisitos
Descrição da Imagem: a ilustração apresenta as técnicas e ferramentas para a coleta de requisitos, além
das entradas e saídas esperadas. É possível ver um retângulo intitulado “Entrada” e, embaixo desse título,
o texto “Compreensão dos requisitos”. Esse retângulo se relaciona, por meio de uma seta, com outro
retângulo que contém a seguinte lista de técnicas e ferramentas: “Entrevistas”, “Brainstorming”, “Histórias
de usuário (user stories)”, “Oficinas”, “Questionários”, “Pesquisas”, “Cenários”, “Shadowing”. Este retângulo
se relaciona, por meio de uma seta, com o retângulo intitulado “Saída” e, embaixo desse título, estão os
seguintes textos: “Matriz de rastreabilidade dos requisitos” e “Documentação dos requisitos”.
Uma técnica de elicitação de requisitos pode ser compreendida “como uma fer-
ramenta para auxiliar o analista de requisitos na condução da etapa de elicitação
e compreensão dos requisitos do software” (REINEHR, 2020, p. 58).
A seguir, serão analisadas algumas técnicas de coleta de requisitos: entrevis-
tas, brainstorming, histórias de usuário (user stories), oficinas e questionários.
89
UNIDADE 3
Entrevista
A entrevista é uma das técnicas mais simples de ser utilizada a partir de fontes
humanas e, também, é uma das mais tradicionais na coleta de requisitos, afinal,
ela produz bons resultados, principalmente, na fase inicial do levantamento de
informações. Trata-se de uma conversa entre duas pessoas, provocada por uma
delas e com um objetivo definido.
“
A entrevista proporciona o contato pessoal, que faz com que o en-
trevistado se sinta parte do processo de construção da solução. A
entrevista facilita a obtenção de informações que, muitas vezes, es-
tão apenas na memória das pessoas, além de informações a respeito
dos integrantes da unidade, como suas qualificações, atribuições,
utilização de processos, bem como opiniões sobre a unidade e o
trabalho (REINEHR, 2020, p. 59).
90
UNICESUMAR
Motivar o entrevistado
Vantagens
Alterar a ordem das perguntas
Descrição da Imagem: a ilustração mostra um retângulo com o título “Entrevista”. Esse retângulo está
ligado, por meio de três linhas, a três retângulos que apresentam, cada um, os seguintes textos: “Van-
tagens”, “Dificuldades” e “Aplicação”. No retângulo “Vantagens”, estão os seguintes tópicos: “Motivar o
entrevistado” e “Alterar a ordem das perguntas”. No retângulo “Dificuldades”, é possível ler os seguintes
tópicos: “Evitar que a entrevista fique longa” e “Desvio do assunto ao longo da entrevista”. No retângulo
“Aplicação”, está o seguinte tópico: “Usada em qualquer situação”.
91
UNIDADE 3
ROTEIRO DA ENTREVISTA
[Transcreva, aqui, o roteiro utilizado para realizar as entrevistas].
2. Há quanto tempo você trabalha com isso? Este trabalho é a sua fonte
de renda principal?
92
UNICESUMAR
2. Três anos.
3. No momento não, mas essa atividade foi, por dois anos, a renda principal
da família, o que ajudou bastante.
93
UNIDADE 3
EXPLORANDO IDEIAS
Brainstorming
94
UNICESUMAR
Além disso, um brainstorming deve ter como métodos: (i) a divulgação clara dos
objetivos; (ii) a geração de ideias deve ser entre 20 a 60 minutos; (iii) um intervalo
para relaxamento; (iv) um estudo detalhado de cada ideia.
A seguir, a Figura 4 mostra a técnica brainstorming, inclusive as suas vanta-
gens, dificuldades e aplicações.
95
UNIDADE 3
Descrição da Imagem: a ilustração apresenta um retângulo com o título “Brainstorming”. Esse retângulo
está ligado, por meio de três linhas, a três retângulos que apresentam, cada um, os seguintes textos:
“Vantagens”, “Dificuldades” e “Aplicação”. No retângulo “Vantagens”, estão os seguintes tópicos: “Os par-
ticipantes expõem suas ideias, “Estimula o pensamento criativo”, “Os participantes se sentem valorizados”
e “Modificação ou combinação de ideias”. No retângulo “Dificuldades”, é possível ler os seguintes tópicos:
“Alguns do grupo podem não querer participar (tímidos)”, “Garantir a igualdade de oportunidades em ex-
por ideias”, “Participantes não se sentem à vontade em expor ideias”. No retângulo “Aplicação”, estão os se-
guintes tópicos: “Ideal para grupos participativos e ativos” e “Quando se quer um primeiro conhecimento”.
Questionário
96
UNICESUMAR
“
O questionário é composto por um conjunto de perguntas com
respostas objetivas ou abertas, dispostas em sequência lógica e pro-
gressiva. Lembre-se de que, se forem poucas pessoas, talvez seja
melhor realizar uma entrevista. Tenha em mente também que os
questionários são frios e impessoais e não permitem a mesma rique-
za de outras técnicas. Embora, à primeira vista, possa parecer que
utilizar um questionário seja uma atividade simples, na realidade,
não é. Elaborar questões é uma tarefa que exige conhecimento e
experiência. Primeiro, porque as pessoas não gostam de responder
questionários e, portanto, ele deve ser curto e fácil de responder.
Segundo, porque exige habilidade para não introduzir viés e nem
direcionar as respostas. E, por fim, as perguntas devem permitir que
sejam obtidas as informações que o analista de requisitos necessita
efetivamente (REINEHR, 2020, p. 66).
97
UNIDADE 3
Custos reduzidos
Descrição da Imagem: a ilustração apresenta um retângulo com o título “Questionário”. Esse retângulo
está ligado, por meio de três linhas, a três retângulos que apresentam, cada um, os seguintes textos:
“Vantagens”, “Dificuldades” e “Aplicação”. No retângulo “Vantagens”, estão os seguintes tópicos: “Custos
reduzidos”, “Atinge uma quantidade enorme de pessoas” e “Liberdade aos participantes”. No retângulo
“Dificuldades”, é possível ler os seguintes tópicos: “Equívoco no significado das perguntas pelos entrevis-
tados” e “Muitas pessoas com opiniões distintas”. No retângulo “Aplicação”, estão os seguintes tópicos:
“quando a distância é considerável” e “Quando se quer um primeiro conhecimento”.
98
UNICESUMAR
Além das questões que devem ser verificadas quando se aplica o questionário, há al-
guns passos direcionados à utilização da técnica de questionário (REINEHR, 2020):
1. Determinar os objetivos da pesquisa: é possível utilizar o questionário
para levantar as necessidades ou os problemas do sistema e entender as
“dores do usuário”, os quais podem servir de base ao planejamento dos
requisitos do sistema que está sendo desenvolvido. O questionário tem
a chance de ser usado, também, como um apoio na priorização dos re-
quisitos identificados.
2. Identificar o público-alvo da pesquisa: é necessário identificar os pos-
síveis usuários do sistema e, assim, não aplicar o questionário para o pú-
blico-alvo incorreto, resultando em perda de tempo e falta de alcance dos
objetivos do sistema a ser desenvolvido. O público-alvo pode ser consti-
tuído de usuários internos ou externos à empresa, portanto, as questões
precisam ser elaboradas em função do perfil desse público identificado.
3. Elaborar e revisar as questões da pesquisa: esta é considerada a etapa
mais complexa da técnica de questionário, pois é onde elaboramos as
questões que serão utilizadas e como as respostas serão tabuladas e in-
terpretadas. Se não forem bem elaboradas, há a chance de haver interpre-
tação incorreta por parte dos usuários, então, os resultados poderão ser
errados. Se o questionário for online, não haverá alguém para esclarecer
99
UNIDADE 3
EXPLORANDO IDEIAS
Oficinas
100
UNICESUMAR
101
UNIDADE 3
Princípio Descrição
Os benefícios do JAD são: (i) mais produtividade; (ii) mais qualidade; (iii) tra-
balho em equipe; (iv) custos mais baixos de desenvolvimento e manutenção.
A seguir, a Figura 6 mostra uma visão geral do processo de JAD.
102
UNICESUMAR
Projeto Projeto
Visão Geral - JAD
Resultados
Dados sobre
revisados
o projeto
Descrição da Imagem: a ilustração apresenta dois retângulos com o título “Projeto”, um à esquerda da
imagem e outro, à direita, ambos ligados, por meio de setas, a três retângulos, os quais mostram, no
interior de cada um, respectivamente, as palavras: “Preparação”, “Sessão” e “Revisão”. Na seta que sai do
primeiro retângulo intitulado “Projeto”, está o texto “Dados sobre o projeto”, enquanto que, na seta que sai
do retângulo “Preparação”, está o texto “Objetivos e dados prévios”. A seta que sai do retângulo “Sessão”,
por sua vez, traz o texto “Resultados e avaliações” e, por último, a seta a qual sai do retângulo “Revisão”
traz o texto “Resultados revisados” e aponta para o segundo retângulo intitulado “Projeto”.
“
Quando os métodos ágeis surgiram, no final da década de 1990,
trouxeram uma forma diferente de pensar tanto a organização do
time de desenvolvimento quanto a organização dos requisitos, que
passaram a ser tratados como histórias de usuário. O conceito de
história de usuário foi criado por Kent Beck, na metodologia ágil
XP (eXtreme Programming). A definição original de história do
usuário, dada por Kent Beck e Martin Fowler é: ‘A história é a uni-
dade de funcionalidade em um projeto XP. Nós demonstramos o
103
UNIDADE 3
Nome da história
Quem? O quê?
Por quê?
Descrição da Imagem: ilustração de um retângulo com cantos arredondados. O título dele é: “Nome
da história” e, no meio desse retângulo, está o seguinte texto: Como <tipo do usuário>, eu quero <ação
específica> de modo que <resultado esperado/valor>. Logo abaixo do título, do lado esquerdo da imagem,
há a pergunta “Quem?”, dela sai uma seta apontando para o texto <tipo de usuário>. Também embaixo
do título, mas do lado direito da imagem, vê-se a pergunta “O quê?” e dela sai uma seta que aponta para
o texto <ação específica>. No lado de baixo da imagem, há a pergunta “Por quê?”, dela sai uma seta
apontando em direção ao texto <resultado esperado/valor>.
104
UNICESUMAR
EXPLORANDO IDEIAS
O papel (“Quem?”) representa quem se beneficiará. A atividade (“O quê?”) descreve o que
será a funcionalidade (ou seja, o Requisito Funcional). O resultado (“Por quê?”) ou valor
agregado, traduz a perspectiva da utilidade da funcionalidade no contexto de utilização,
em suma, qual é o seu valor de negócio. Representamos, portanto, três elementos: quem?
(papel), o quê? (atividade), para quê? (valor).
Consulta de livros
O
Quem? qu
ê?
Descrição da Imagem: ilustração de um retângulo com cantos arredondados. Nele, vê-se o título “Con-
sulta de livros” e, no centro, o texto: “Como um vendedor responsável pelo setor de livros, eu quero
procurar por livros filtrando por nome, para que seja possível verificar se o livro X está disponível para
pronta entrega”. Logo abaixo do título, à esquerda da imagem, está a pergunta “Quem?”, dela sai uma
seta que aponta para a palavra “vendedor”. Embaixo do título, à direita da imagem, está a pergunta “O
quê?”, dela sai uma seta que aponta para o texto “eu quero procurar por livros”. No lado de baixo da
imagem, há a pergunta “Por quê?”, a partir dela sai uma seta que aponta em direção ao texto “verificar
se o livro x está disponível”.
Foi criado por Bill Wake um acrônimo em inglês — I.N.V.E.S.T. — que fornece
algumas dicas para a realização adequada dessa atividade e a criação de boas
histórias de usuário (REINEHR, 2020).
105
UNIDADE 3
Técnica INVEST
Descrição da Imagem: ilustração de um retângulo com o texto “Técnica INVEST” em seu interior. Ele está
ligado a outros seis retângulos, cada um apresentando os seguintes textos, da esquerda para a direita:
“Independente”, “Negociável, “Valiosa”, “Estimável”, “Small” e “Testável”.
V - Valiosa (valuable): uma boa história de usuário deve agregar valor para o
cliente.
S - Pequena (small): uma boa história de usuário deve ter um tamanho suficiente
para caber em uma única funcionalidade.
T - Testável (testable): uma boa história de usuário deve ser testável, isto é, avaliá-
vel. Se não soubermos como a avaliar, ela não está pronta para ser implementada.
A seguir, alguns exemplos de histórias de usuário.
106
UNICESUMAR
Exemplo 1
Exemplo 2
107
UNIDADE 3
108
UNICESUMAR
Ações/Etapas Descrição
Quando coletamos requisitos, muitas vezes, deve-se usar mais de uma técnica
necessária ou apropriada para cada caso. As técnicas costumam ser combinadas
conforme as necessidades dos projetos.
A seguir, algumas dicas para aplicar a técnica mais adequada e, com
isso, obter os melhores resultados de seu uso na coleta dos requisitos.
109
UNIDADE 3
Quadro 6 - Seleção das técnicas para elicitação de requisitos / Fonte: adaptada de Reinehr (2020).
110
UNICESUMAR
NOVAS DESCOBERTAS
111
UNIDADE 3
16:00. São permitidos três encaixes de consulta por dia e, caso o paciente
seja novo, Maria anota o nome e o telefone. Além disso, para cada consulta, é
necessário verificar se é uma consulta de revisão e se é necessário realizar a
entrega de exames. Caso seja uma consulta de revisão, a mesma não é cobrada.
A seguir, a lista de alguns requisitos coletados a partir do cenário de negócio
(cadastros, consultas/relatórios). O sistema deve ter:
■ Um cadastro de paciente/manter paciente.
■ Uma agenda de consultas/manter agenda.
■ Um cadastro de convênio/manter convênio/plano de saúde.
112
1. “Entre as dificuldades encontradas na fase de levantamento de requisitos estão: o
usuário principal do sistema não sabe o que quer que o sistema faça ou sabe e não
consegue transmitir para o analista; requisitos identificados, mas que não são rea-
listas e não identificam os requisitos similares informados por pessoas diferentes.
Um stakeholder errado afetará em perda de tempo e dinheiro para ambas as partes
envolvidas no desenvolvimento do sistema”.
113
requisitos.
II - Fazer perguntas erradas e obter respostas erradas.
III - O usuário não se sente à vontade, ou, mesmo, se colocar em posição antagônica
na entrevista, porque ele acha que o objetivo do novo sistema é tomar o seu
emprego.
IV - Os usuários e os analistas de sistemas têm vocabulários e experiências diferentes,
desse modo, é feita uma pergunta ao usuário sobre os requisitos do sistema,
porém ele não entende a pergunta.
É correto o que se afirma em:
a) I, apenas.
a) II, apenas.
b) I e III, apenas.
c) I, III e IV, apenas.
d) I, II, III e IV.
114
4
Especificação
de Requisitos de
Software
Esp. Janaína Aparecida de Freitas
118
UNIDADE 4
Realizar
login
Adicionar livro
ao carrinho
Cliente
Visualizar
include carrinho
Concluir
pedido
119
UNIDADE 4
DIÁRIO DE BORDO
120
UNIDADE 4
Aprendemos que o processo de coleta dos requisitos tem, como objetivos prin-
cipais, definir e documentar as características dos produtos e serviços do projeto
que satisfarão as necessidades e as expectativas dos usuários do sistema. Para tan-
to, os engenheiros de software têm várias formas ou recursos disponíveis, a fim de
expressar ou modelar, em um projeto, os Requisitos Funcionais. Alguns já foram
citados: linguagem natural, desenhos, diagramas, cartões (histórias de usuários)
e outros. Neste tópico, estudaremos como especificar Requisitos Funcionais, por
meio da utilização dos casos de uso.
Empregar casos de uso significa que queremos colocar o usuário no cen-
tro do processo de coleta de requisitos, visando a definir funcionalidades que
agreguem valor a esse usuário.
Na especificação de Requisitos Funcionais, por meio da utilização de casos
de uso, temos duas etapas: (i) na primeira, está construção do diagrama de casos
de uso; (ii) na segunda etapa, está a especificação dos requisitos que acompa-
nham o diagrama de caso de uso.
O diagrama de caso de uso faz parte da UML®, ele é usado para auxiliar na
elicitação de requisitos, pois facilita a compreensão de alguns deles, afinal, é
considerado um dos diagramas da UML® mais abstrato, flexível e informal. O
seu objetivo é modelar as funcionalidades e os serviços oferecidos pelo sistema.
Em relação ao aprendizado de como especificar, satisfatoriamente, um requisito
utilizando o diagrama de caso de uso, você terá disciplinas específicas para isso.
O objetivo desta unidade é apresentar a utilização do caso de uso como uma
técnica voltada à especificação de requisitos.
121
UNIDADE 4
Então, começaremos a falar acerca do caso de uso. Ele descreve uma fun-
cionalidade proposta para o sistema a ser desenvolvido ao mostrar como será
a interação do usuário, isto é, refere-se aos serviços, tarefas ou funções que
podem ser utilizadas, de alguma maneira, pelos usuários do sistema. Os casos
de uso devem representar uma única funcionalidade, e os usuários do sistema
são representados por atores (homens-palito). Os atores são qualquer elemento
externo que interaja com o sistema.
Cliente Caixa
Eletrônico
Os casos de uso são representados na forma de elipses cujo texto interno descreve
a qual serviço/tarefa/função o caso de uso se refere. O texto interno deve ser da
seguinte forma:
Comprar
Abrir Conta Efetuar Login
Produtos
Descrição da imagem: a ilustração mostra três elipses que representam os casos de uso, com os respectivos
textos no interior de cada uma delas: “Abrir conta”, “Comprar produtos” e “Efetuar login”.
122
UNIDADE 4
Comprar Produtos
Atendente Cliente
Descrição da imagem: a ilustração mostra dois homens-palito, cada um no extremo oposto da imagem. Á
esquerda, o homem-palito é identificado pela palavra “Atendente” e conectado, por uma linha reta e uma
elipse, ao homem-palito à direita da imagem, identificado pela palavra “Cliente”. Essa elipse apresenta, em
seu interior, o texto “Comprar produtos”.
123
UNIDADE 4
EXPLORANDO IDEIAS
“Como você já percebeu, cada elemento do diagrama tem um significado específico, e ele
precisa estar coerente com os elementos que compõem a especificação do caso de uso.
Eles formam um conjunto coerente, no qual o diagrama de casos de uso representa a visão
geral das funcionalidades de forma gráfica e a especificação de casos de uso apresenta os
detalhes da execução dessas funcionalidades. Esses dois elementos precisam estar alinha-
dos. Se um for alterado, é necessário analisar se o outro também não sofrerá modificações”.
Fonte: Reinehr (2020, p. 139).
124
UNIDADE 4
Atores secundários x
Fluxo principal
125
UNIDADE 4
Fluxo alternativo
Fluxo de exceção
E4.2 - Comprador Logado confirma que E6.1 - Sistema exibe mensagem “Quan-
quer voltar para seleção de produtos. tidade indisponível. Quer reduzir a
quantidade?”.
126
UNIDADE 4
127
UNIDADE 4
EXPLORANDO IDEIAS
128
UNIDADE 4
“
O princípio básico do Scrum é de que o desenvolvimento de software
deve ser dividido em entregas menores, de uma a quatro semanas, de-
nominadas sprints. O desenvolvimento é todo organizado em torno
das sprints. Ao final de uma sprint, é gerado um item potencialmente
entregável para o cliente. O backlog é o repositório de todas as requi-
sições dos clientes e é gerenciado pelo Product Owner (PO, ou dono
do produto). É o PO quem prioriza o conteúdo do backlog que será
alocado à sprint. Só pode ser alocado à sprint um item do backlog
que já esteja em um nível de detalhe suficiente para que a equipe pos-
sa implementar. Um item de backlog geralmente é uma história de
usuário, mas pode ser qualquer solicitação do cliente. Quem planeja
a sprint é a equipe, estimando os itens do backlog e discutindo suas
dificuldades para implementar (REINEHR, 2020, p. 155).
129
UNIDADE 4
Nome da história
Quem O quê
Como <tipo do usuário>, eu quero <ação específica> de
modo que <resultado esperado/valor agregado>
Porque
130
UNIDADE 4
Como PASSAGEIRO, eu quero FAZER MEU CHECK-IN VIA CELULAR, para não
perder tempo na fila do aeroporto.
Quadro 2 - Exemplo de história de usuário para um sistema de check-in de uma companhia aérea
Fonte: Reinehr (2020, p. 166).
131
UNIDADE 4
Quadro 3 - Itens para construir uma história de usuário / Fonte: adaptado de Reinehr (2020).
132
UNIDADE 4
Você, talvez, esteja pensando em qual usar: casos de uso ou histórias do usuá-
rio? As duas formas são excelentes para coletar requisitos funcionais de software,
o que devemos ter em mente é o fato de o usuário desejar uma funcionalidade
que resolva a dor dele. As duas formas ajudam a apoiar o diálogo à compreensão
dos requisitos e, com isso, a desenvolver um software de sucesso.
133
UNIDADE 4
DETRAN
INTELIGENTE
Descrição da imagem: a ilustração mostra o contexto do aplicativo Detran Inteligente. É possível ver um
retângulo com cantos arredondados simulando um aparelho celular, no monitor, aparece o texto “Detran
Inteligente’’. Ligado a esse aparelho, há seis círculos com ícones que representam as funções do aplicativo,
esses círculos estão inseridos em retângulos. No primeiro retângulo, está o texto “Detran”, no segundo,
o texto “Agente de trânsito”, no terceiro, o texto “Banco”, enquanto que no quarto retângulo está o texto
“Motorista”. No quinto, vê-se o texto “Proprietário” e, no sexto e último retângulo, o texto “Clínica Médica”.
Agora, imagine que você é o(a) engenheiro(a) de requisitos que coletará as infor-
mações para o desenvolvimento deste aplicativo fictício ao Detran da sua cidade.
O seu objetivo é coletar os requisitos especificados em um nível de detalhe sufi-
ciente para que a equipe de desenvolvimento consiga implementar o aplicativo.
134
UNIDADE 4
PENSANDO JUNTOS
135
UNIDADE 4
Quadro 4 - Itens de pesquisas sobre o contexto de negócio / Fonte: adaptado de Reinehr (2020).
136
UNIDADE 4
PREPARAÇÃO ORGANIZAÇÃO
IDENTIFICAÇÃO
DAS FONTES DE DA ELICITAÇÃO
... DOS
...
INFORMAÇÃO ... DE RECURSOS ...
... ... ... REQUISITOS
..
... ...
..
...
...
...
.. ... ...
...
COMPREENSÃO .....
...
SELEÇÃO DAS ... REALIZAÇÃO DA
. ..
...
...
ELICITAÇÃO DE
...
DO CONTEXTO TÉCNICAS DE
...
...
ELICITAÇÃO REQUISITOS
Entrevista
Reunião
Observação
Questionário
JAD
...
Descrição da imagem: a ilustração mostra o processo de elicitação de requisitos. Há seis círculos que
representam cada atividade. No primeiro círculo, está a atividade “Compreensão do contexto” ligada, por
meio de uma seta, ao círculo com a atividade “Identificação das fontes de informação”. Esta, por sua vez, se
liga, por meio de uma seta, ao círculo com a atividade “Seleção das técnicas de elicitação” que está ligada a
um retângulo no qual, em seu interior, está o texto “Entrevista, reunião, observação, questionário, JAD…”.
O círculo “Seleção das técnicas de elicitação” liga-se, por uma seta, ao círculo com a atividade “Preparação
da elicitação de requisitos”, que está ligada, também, por meio de uma seta, ao círculo com a atividade
“Realização da elicitação de requisitos”. Esta encontra-se ligada, da mesma forma, ao círculo com a atividade
“Organização dos requisitos”.
137
UNIDADE 4
EXPLORANDO IDEIAS
138
UNIDADE 4
“
Medições também fazem parte da nossa vida profissional: quan-
to tempo precisamos para entregar esta funcionalidade? Quantas
pessoas são necessárias para este projeto? Quanto tempo falta para
terminar o projeto? Qual é a produtividade média da equipe? Qual
é a gravidade deste risco? Quanto tempo levaríamos para imple-
mentar todo o backlog do produto? Só é possível controlar aquilo
que se consegue medir. Só é possível avaliar se houver algum padrão
para comparar. Só é possível planejar com certa precisão se houver
medidas confiáveis nas quais se basear.
139
UNIDADE 4
Termo Descrição
140
UNIDADE 4
Necessidades
Produto da informação
de informação
Interpretação
Indicador
Modelo de
análise
Medidas derivadas
Função de
medição
Método de Método de
medição medição
141
UNIDADE 4
142
UNIDADE 4
EXPLORANDO IDEIAS
NOVAS DESCOBERTAS
143
UNIDADE 4
144
UNIDADE 4
Cenário negativo: pelo fato de a coleta de requisitos estar em atraso e por ser
um Requisito Não Funcional, a equipe de desenvolvimento não deu a devida
importância ao RNF01 e deixou esta necessidade de tempo de resposta para o
fim do projeto. O que aconteceu? Quando o módulo de logística ficou pronto, a
equipe de implantação iniciou a homologação do sistema e, na primeira bate-
ria de testes, o sistema foi reprovado pela equipe do cliente, responsável pelos
testes de aceitação — área de logística — porque estava demorando 50 minu-
tos, em média, para processar a solicitação de liberação de carga. Qual o efeito
disto? Sistema inviável à produção. Foi necessário reestruturar porque a perfor-
mance do módulo de logística ficou muito ruim.
145
Crie um Mapa Mental de como realizar uma especificação de Requisitos Funcio-
nais utilizando casos de uso, histórias de usuário e Requisitos Funcionais para
um cenário de negócios.
O seu mapa deve conter as palavras-chave:
• Especificação de Requisitos.
• Casos de uso.
• Histórias de usuário.
• Requisitos Funcionais para um cenário de negócios.
5
Gerenciamento de
Requisitos
de Software
Esp. Janaína Aparecida de Freitas
150
UNICESUMAR
Registre, em seu Diário de Bordo, o que você precisa fazer para realizar as
mudanças solicitadas pelo João no sistema de compras do restaurante. Será que
você precisa usar alguma técnica de coleta de requisitos para saber como o João
quer esse cadastro de marcas de produtos? Será que haverá alterações em requi-
sitos já implementados? Além do novo cadastro de marcas, o João quer algum
novo relatório? Ou ele quer alterações em algum relatório existente no sistema?
Procure anotar todas as possibilidades que poderão esclarecer com esse funcio-
nário, quando vocês se reunirem. Você consegue!
DIÁRIO DE BORDO
151
UNIDADE 5
“
As atividades da engenharia de requisitos têm o objetivo de apoiar o
ciclo de desenvolvimento de software em todos os aspectos relacio-
nados com os requisitos, que vão desde as atividades de elicitação até
as atividades de verificação e validação, incluindo o gerenciamento
de requisitos. O gerenciamento de requisitos envolve estabelecer
mecanismos que permitam acompanhar o status dos requisitos ao
longo do processo de desenvolvimento, garantindo que as versões
estejam sob controle. Além disso, visa a tratar as solicitações de mu-
danças que irão inevitavelmente acontecer ao longo da vida de um
produto de software, provendo mecanismos de rastreabilidade que
apoiam a tomada de decisão (REINEHR, 2020, p. 283).
152
UNICESUMAR
Compreesão Compreensão
inicial do alterada do
problema problema
Requisitos Requisitos
iniciais alterados
Tempo
Figura 1 - Processo de evolução dos requisitos / Fonte: Sommerville (2018, p. 78).
Descrição da imagem: a ilustração representa o processo de evolução dos requisitos de software. Há, na
imagem, quatro retângulos. No primeiro retângulo, no interior dele, está o texto “Compreensão inicial do
problema”. Desse retângulo sai uma seta que o liga ao segundo retângulo, o qual traz o texto “Requisitos
iniciais”. Esse retângulo está ligado, por meio de uma seta, ao terceiro retângulo, cujo texto é “Compreensão
alterada do problema”. A partir desse retângulo sai uma seta ligando-o ao quarto retângulo, que traz o texto
“Requisitos alterados”. Em paralelo aos retângulos, do lado de baixo deles, há uma linha com uma longa seta
apontando para o lado direito da imagem e, na ponta da seta, o texto “Tempo”.
Logo depois dos requisitos iniciais do sistema, caso ocorram mudanças, de-
vemos ter uma compreensão alterada do problema, isto é, evoluir para refletir
estas novas percepções do problema.
Pense no cenário: depois que o sistema é implantado no cliente e ele passa a
usá-lo, regularmente, é inevitável surgirem novos requisitos. Há como antecipar
essas mudanças? Não, porque é difícil para o(a) engenheiro(a) de requisitos pre-
ver o que os usuários e clientes, realmente, precisarão ou antecipar os efeitos que
o novo sistema terá no negócio ou como o trabalho será realizado, tampouco se
há regras de negócio as quais possam vir a ser alteradas pelo governo ou pelos
órgãos. Enquanto os usuários usam o sistema, eles vão adquirindo experiência e,
com isso, descobrindo novas necessidades e prioridades.
153
UNIDADE 5
“
Requisitos são elementos que têm um ciclo de vida bem definido.
Eles nascem a partir das atividades de elicitação, são analisados, es-
pecificados, validados e então seguem para o desenvolvimento, em
que serão codificados, testados e entregues na forma de um produto
de software. A partir da sua entrega, o requisito passa a viver para
sempre dentro do produto, até que alguma solicitação de mudança
o elimine ou modifique (REINEHR, 2020, p. 283).
Figura 2 - Mapa mental da classificação dos requisitos / Fonte: adaptada de Sommerville (2018).
Descrição da imagem: a figura representa o mapa mental da classificação dos requisitos, onde, do lado
esquerdo, há um retângulo com o texto “Classificações de Requisitos (Evolução dos Requisitos)”. Desse re-
tângulo saem duas setas para outros dois retângulos que têm, no interior de cada um, os textos “Requisitos
Permanentes: são os requisitos criados a partir do domínio da aplicação, são, relativamente, estáveis, mudam
mais lentamente do que os Requisitos Voláteis” e “Requisitos Voláteis: são requisitos que mudarão durante o
tempo de desenvolvimento do sistema, provavelmente, depois, quando já estiverem em operação”.
154
UNICESUMAR
155
UNIDADE 5
Divisão dos
Requisitos
Volatéis
Figura 3 - Mapa mental da divisão dos Requisitos Voláteis / Fonte: adaptada de Sommerville (2018).
Descrição da imagem: a ilustração representa o mapa mental da divisão dos Requisitos Voláteis, onde, do
lado esquerdo, um retângulo com o texto “Divisão dos Requisitos Voláteis”. Desse retângulo saem quatro
setas que apontam para quatro retângulos e, no interior de cada um, estão os textos: “Mutáveis: modificam
devido às mudanças no ambiente em que a organização está inserida”, “Emergentes: surgem conforme a
compreensão do cliente referente ao sistema”, “Consequentes: são os requisitos que surgem após a inserção
do sistema na organização” e “Compatibilidade: são os requisitos que dependem de outro sistema, equipa-
mento ou processo”.
De acordo com Sommerville (2018), existem várias razões pelas quais a evolução
dos requisitos é inevitável:
156
UNICESUMAR
Quadro 1 - Razões para mudanças nos requisitos / Fonte: adaptado de Sommerville (2018).
157
UNIDADE 5
EXPLORANDO IDEIAS
“As causas para as mudanças nos requisitos vão muito além das mudanças de tecnologia.
Devemos ter sempre em mente que o usuário tem um problema que precisa ser resolvido
por meio do software. O software não é um fim em si mesmo, mas é o meio pelo qual o
problema é resolvido, seja um problema do mundo dos negócios, seja uma questão ligada
ao lazer ou à sua vida pessoal. O usuário entende do problema em si, e não do mundo de
desenvolvimento de software. E nós, da computação, entendemos do mundo dos bits e
bytes, e não do negócio”.
Fonte: Reinehr (2020, p. 269).
158
UNICESUMAR
EXPLORANDO IDEIAS
159
UNIDADE 5
Problema Requisitos
identificado Análise de problema Análise de Implementação revisados
e especificação mudanças e custos de mudanças
de mudanças
160
UNICESUMAR
“
O gerenciamento de mudanças é essencial, pois é necessário de-
cidir se os benefícios da implementação de novos requisitos jus-
tificam os custos de implementação. A vantagem de se usar um
processo formal de gerenciamento de mudanças é que todas as
propostas de mudanças são tratadas de forma consistente, e as
alterações nos documentos de requisitos são feitas de forma con-
trolada (SOMMERVILLE, 2018, p. 79).
EXPLORANDO IDEIAS
“Embora seja tentador definir diversos atributos para caracterizar um requisito, favore-
cendo o seu gerenciamento, isso pode custar caro em termos de manutenção. Para cada
um dos atributos de um requisito, deverá ser prevista uma forma de garantir a sua integri-
dade ao longo do tempo. Por exemplo, quando um requisito que, no primeiro momento,
estava instável se tornar mais claro e estável, será necessário refletir essa mudança no
atributo relativo à estabilidade. Isso vale para todos os demais atributos. Dessa forma,
é importante selecionar aqueles mais relevantes de acordo com o contexto do projeto,
pois eles precisarão estar sempre atualizados para que possam ser úteis para o gerencia-
mento dos requisitos. Para selecionar os atributos que serão mantidos, imagine em que
situações eles serão úteis. Pense que perguntas poderão ser respondidas por eles e com
que frequência você se faz essas perguntas. É possível que em alguns momentos você
pense: “seria tão legal ter este atributo!”. Em seguida, pense: “Se fosse eu que tivesse que
manter atualizados todos estes atributos, eu continuaria investindo em mantê-los?”. Se a
resposta for sim, este é um candidato. Se for não, aproveite para trocar uma ideia com
outros colegas, para analisar a real importância da manutenção dele”.
Fonte: Reinehr (2020, p. 288).
161
UNIDADE 5
“
Para que possamos analisar o impacto decorrente de uma soli-
citação de mudança e, posteriormente, planejar a modificação, é
necessário que sejam disponibilizadas informações para apoiar
essa tomada de decisão. Uma das formas de realizar essa análise
é por meio dos registros de rastreabilidade. Identificar e manter a
rastreabilidade dos requisitos é uma das atividades da gerência de
requisitos (REINEHR, 2020, p. 267).
162
UNICESUMAR
163
UNIDADE 5
Rastreabilidade horizontal
(entre requisitos)
“
Uma ação importante e que gera valor para o software, especial-
mente na fase de manutenção. O importante é manter o equilíbrio
do que é rastreado para poder garantir que as informações estejam
sempre atualizadas. Pior do que não ter uma informação, nesse caso,
é ter uma informação incompleta ou incorreta.
164
UNICESUMAR
Quadro 2 - Itens que mostram a importância da rastreabilidade / Fonte: adaptado de Reinehr (2020).
165
UNIDADE 5
EXPLORANDO IDEIAS
“Escolha do que será rastreado: todos sabemos que manter atributos que permitam a
rastreabilidade de todos os elementos de um projeto é uma tarefa praticamente impossí-
vel. São necessários muito esforço e muita disciplina para que os elementos selecionados
sejam mantidos atualizados. Pior do que não haver um mecanismo de rastreabilidade é
ter um mecanismo desatualizado e não confiável. Se uma análise de impacto foi baseada
em registros de rastreabilidade não confiáveis, corremos o risco de iniciar uma mudança
sem a real visão sobre sua abrangência, o que pode levar a uma estimativa imprecisa de
custos, cronograma e riscos. Por outro lado, registrar todos os relacionamentos entre to-
dos os elementos do desenvolvimento de software também é uma tarefa difícil e onerosa.
Pode ser que haja relacionamentos muito triviais, que nunca serão utilizados e que, se
tivessem sido analisados previamente, talvez não precisassem ser mantidos”.
Fonte: Reinehr (2020, p. 276).
166
UNICESUMAR
167
UNIDADE 5
I - Identificador do requisito.
II - Descrição do requisito conforme o documento de requisitos.
III - Nome do solicitante do requisito.
IV - Prioridade do requisito.
V - Situação do requisito que pode ser: aprovado, em desenvolvimento, en-
tregue, entre outros.
VI - Critérios de aceitação do requisito.
… … … ..
Legendas
Concluído
ID Critérios Solicitan- Dt
Descrição Complex. Status
Req. aceitação te Validação
168
UNICESUMAR
MATRIZ DE RASTREABILIDADE
Gerente projeto
Resumo projeto
169
UNIDADE 5
Figura 6 - Exemplo de software para registrar atributos da matriz de rastreabilidade / Fonte: a autora.
Descrição de imagem: a imagem mostra, por meio de um print screen, uma tela de um software destinado a
registrar a matriz de rastreabilidade. Nessa tela, é possível ver o título “Registrar: Caso de Teste”. A tela mostra três
abas: “Informações Gerais”, “Descrição” e “Artefatos Associados”. Dentro da aba “Artefatos Associados”, está a lista
de requisitos associados em forma de tabela, com as colunas “Identificador”, “Título”, “Categoria” e “Tipo”. Embai-
xo dessa lista, há outra tabela mostrando os designs associados, por meio das colunas “Identificador” e “Título”.
170
UNICESUMAR
Ferramenta Descrição
Software usado para o gerenciamento de requisitos e que ajuda
as equipes a planejar e a executar projetos entregues e os
monday.com
resultados que estão no prazo, seja no escritório, seja em casa
ou em qualquer lugar.
171
UNIDADE 5
172
UNICESUMAR
EXPLORANDO IDEIAS
“No caso de ambientes ágeis, os elementos mais presentes são o blacklog e, consequente-
mente, os itens do backlog, as histórias do usuário, os critérios de aceitação, as sprints e o
próprio código. É comum que os critérios de aceitação funcionem como especificação das
regras de negócio e que deem origem aos casos de teste que, geralmente, são automati-
zados. Bastaria substituir os elementos representados por eles. Embora o product owner
funcione como o representante dos usuários para a equipe de desenvolvimento, cada
item do backlog deve ter a sua origem registrada, ou seja, quem solicitou aquele item”.
Fonte: Reinehr (2020, p. 280).
173
UNIDADE 5
NOVAS DESCOBERTAS
NOVAS DESCOBERTAS
174
UNICESUMAR
MATRIZ DE RASTREABILIDADE
Doc. Componente ou
ID Requisito Prior. Caso de Teste
Fonte Requisito técnico
175
UNIDADE 5
RF4 - O sistema
deverá permitir
que seja salvo
um histórico de
informações sobre
o recebimento e
armazenamento
de cada produto.
Aprovações
176
Crie um Mapa Mental sobre os três tipos de rastreabilidade de requisitos. Ele
deve conter as palavras-chave:
• Rastreabilidade.
• Stakeholders.
• Requisitos dependentes.
• Modelos de projeto.
UNIDADE 1
PRESSMAN, R. S.; MAXIM, B. R. Engenharia de Software. 9. ed. Porto Alegre: AMGH, 2021.
SOMMERVILLE, I. Engenharia de Software. 10. ed. São Paulo: Pearson Prentice Hall, 2018.
UNIDADE 2
ISO. ISO/IEC/IEEE 12207: 2017. Systems and software engineering — Software life cycle pro-
cesses. Geneva: ISO, 2017.
PRESSMAN, R. S.; MAXIM, B. R. Engenharia de Software. 9. ed. Porto Alegre: AMGH, 2021.
SOMMERVILLE, I. Engenharia de Software. 10. ed. São Paulo: Pearson Prentice Hall, 2018.
UNIDADE 3
SOMMERVILLE, I. Engenharia de Software. 10. ed. São Paulo: Pearson Prentice Hall, 2018.
UNIDADE 4
PRESSMAN, R. S.; MAXIM, B. R. Engenharia de Software. 9. ed. Porto Alegre: AMGH, 2021.
SOMMERVILLE, I. Engenharia de Software. 10. ed. São Paulo: Pearson Prentice Hall, 2018.
179
UNIDADE 5
SOMMERVILLE, I. Engenharia de Software. 10. ed. São Paulo: Pearson Prentice Hall, 2018.
180
UNIDADE 1
O Mapa Mental é de autoria do(a) aluno(a), portanto, ele(a) deverá fazer as associações
sugeridas.
UNIDADE 2
O Mapa da Empatia é de autoria do(a) aluno(a), portanto, ele(a) deverá fazer as associa-
ções sugeridas.
UNIDADE 3
2. E. Alguns problemas podem surgir quando se usa a técnica de entrevista para elicitação
de requisitos: entrevistar a pessoa errada no momento errado, perdendo tempo na
coleta de requisitos; fazer perguntas erradas e obter respostas erradas; o usuário não
se sente à vontade, ou, até mesmo, se colocar em posição antagônica na entrevista,
porque acha que o objetivo do novo sistema é tomar o seu emprego; os usuários e os
analistas de sistemas têm vocabulários e experiências diferentes, então, é feita uma
pergunta ao usuário sobre os requisitos do sistema, e ele não a entende.
UNIDADE 4
Organize a ideia do seu Mapa Mental a partir das palavras-chave propostas. É uma forma
de você absorver e sintetizar os conceitos vistos nesta unidade. Recomendo o uso da
ferramenta gratuita GoConqr.
UNIDADE 5
Organize a ideia do seu Mapa Mental a partir das palavras-chave propostas. É uma forma
de você absorver e sintetizar os conceitos vistos nesta unidade. Recomendo o uso da
ferramenta gratuita GoConqr.
181