Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

AULA 11 - Revisões das técnicas 
Formais e de software
Apresentação
A tecnologia tem crescido cada vez mais e ocupado diversos espaços. Hoje, os sistemas 
computadorizados estão presentes em dispositivos pessoais, como relógios e celulares, e são 
utilizados dentro e fora de casa. Sistemas sofisticados são capazes de gerenciar e operar funções 
importantes, como linhas áreas e ferrovias. Mas você já refletiu sobre os erros comuns que ocorrem 
nesse âmbito? Afinal, os sistemas são feitos por seres humanos.
Todavia, alguns softwares considerados de risco, como o sistema de freios de um avião ou um 
sistema que realiza o tratamento em um paciente, não podem errar. É óbvio que criar um sistema 
sem erros é humanamente impossível, entretanto, pode-se reduzir ou corrigir falhas através da 
aplicação de técnicas formais.
Nesta Unidade de Aprendizagem, você vai analisar as técnicas 
formais e de software, classificando-as. Ainda, você aprenderá a ordenar as principais técnicas 
formais e de software.
Bons estudos.
Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados:
Classificar as técnicas formais.•
Analizar as técnicas formais e de software.•
Ordenar as principais técnicas formais e de software.•
Infográfico
Uma revisão técnica formal é fundamental para a correção de falhas durante o processo de 
desevolvimento de software. Esse processo consiste em uma revisão minuciosa de todos os 
artefados do software ou de parte deles, a fim de encontrar possíveis falhas que precisam ser 
corrigidas.
Geralmente, o processo de revisão segue um fluxo específico. Acompanhe, no Infográfico a seguir, 
o fluxo da revisão técnica formal.
Aponte a câmera para o 
código e acesse o link do 
conteúdo ou clique no 
código para acessar.
https://statics-marketplace.plataforma.grupoa.education/sagah/2d365df7-7b64-4bea-8449-ed11d977741f/11601f80-52fa-4447-9799-156bebc1714b.jpg
Conteúdo do Livro
Manter a qualidade é fundamental para qualquer projeto de software, ainda mais quanto se tratam 
de softwares de segurança crítica. Nesse caso, os erros são quase inadmissíveis, pois podem colocar 
muitas coisas importantes em risco. As revisões técnicas formais (RTF) são métodos de revisão de 
artefatos de software que ajudam a identificar erros e corrigi-los o mais rápido possível, evitando, 
assim, que um erro seja propagando por diversas fases do projeto e chegue até o cliente.
No capítulo Revisões das técnicas formais e de software, da obra Qualidade de software, você vai 
classificar as técnicas formais e analisar as técnicas formais e de software, além de ordenar as 
principais delas.
Boa leitura.
QUALIDADE DE 
SOFTWARE
Paulo Antonio Pasqual Júnior
Revisão das técnicas 
formais e de software
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
  Classificar as técnicas formais.
  Analisar as técnicas formais e de software.
  Ordenar as principais técnicas formais e de software.
Introdução
Entregar para o cliente um produto de qualidade é fundamental para 
qualquer desenvolvedor ou empresa de desenvolvimento de software. 
Existem muitas formas de buscar a qualidade durante todas as fases da 
produção de um software.
Encontrar erros precocemente é fundamental para que, no fim, o 
produto possa ser entregue ao cliente com o mínimo de falhas possíveis, 
além, é claro, de minimizar os custos de correção de defeitos. As técnicas 
de revisão formal (RTF) consistem em metodologias que reservam certo 
formalismo e que, por seu rigor, ajudam na detecção de erros que possam 
se transformar em defeitos.
Neste capítulo, você vai classificar, analisar e ordenar as principais 
técnicas formais. 
Por que a revisão é importante?
As técnicas formais são recursos de revisão de software que utilizam uma 
série de metodologias de verifi cação, geralmente baseadas em regras rígidas. 
Esses métodos contribuem signifi cativamente para a identifi cação de possíveis 
falhas de sistemas. 
À primeira vista, a revisão técnica formal (RTF) pode parecer uma parte 
da fase de testes, uma vez que, por meio dela, são encontradas as falhas no 
software. Contudo, a revisão técnica vem muito antes da fase de testes. Ela 
pode ser realizada para cada artefato do software construído. Se a RTF fosse 
realizada durante a fase de testes do software, significaria que o produto já 
estaria pronto, e, nesse caso, todas as falhas de cada artefato já teriam se 
transformado em defeitos. Imagine fazer a RTF de um sistema extremamente 
complexo apenas no final do processo de desenvolvimento?
Apesar de ser uma forma importante de manter a qualidade de um produto 
de software, esses métodos não são muito utilizados, na prática, para qualquer 
software, pois são processos lentos, caros e que demandam muita energia 
para sua execução.
Sommerville (2007) explica que, apesar de essas técnicas serem extrema-
mente onerosas e se tornarem infinitamente mais complexas à medida que 
o tamanho e a complexidade do software aumentam, elas são fundamentais 
para sistemas críticos. 
Um sistema crítico é aquele que não pode apresentar falhas, pois falhas em 
certos sistemas podem acarretar danos graves e até a perda de vidas, conforme 
Sommerville (2007). Imagine, por exemplo, um software que controla trens 
em uma ferrovia. Esse software não pode falhar ao verificar se outro trem 
está vindo. Assim, o autor aponta que a confiança é um atributo fundamental 
desse tipo de sistema. 
O autor define esses sistemas críticos em três categorias:
  Sistema crítico de segurança, que se refere aos sistemas que podem 
resultar em perda de vidas humanas ou dano ambiental.
  Sistema crítico de missão, que se refere a sistemas que podem levar à 
falha em relação a metas, como o sistema de navegação de aeronaves.
  Sistema crítico de negócios, que se refere a sistemas que, ao falharem, 
podem acarretar em perdas financeiras e fracasso em negócios. 
Sommerville (2007) exemplifica esse tipo de situação com um acidente 
envolvendo um avião em processo de pouso. Na ocasião, o sistema de freio 
não foi ativado no momento necessário, porque o software entendeu que o 
avião ainda não havia pousado. Isso acarretou na colisão do avião com um 
prédio e em dezenas de mortos e feridos. De acordo com o autor, uma inves-
tigação apontou que o software se comportou exatamente como ele havia sido 
programado para fazer, ou seja, o emprego dos testes não foi suficiente para 
identificar e corrigir o erro do sistema.
Outro exemplo de software de risco seria um sistema que controlasse todos 
os carros no trânsito. Nós já sabemos que, muito em breve, os carros poderão 
Revisão das técnicas formais e de software2
andar sozinhos nas ruas, desviar de outros, traçar percursos, reconhecer a 
sinalização e evitar muitos acidentes. Também sabemos que esses sistemas 
já existem, mas ainda precisam evoluir para que esse sonho se materialize. 
Agora, a pergunta é: esse tipo de sistema está totalmente livre de falhas? É 
óbvio que a probabilidade de um sistema falhar e causar uma colisão é muito 
menor do que a probabilidade de um motorista se atrapalhar e colidir o carro 
com outro. Para um sistema como esse ser eficaz, ele necessitará de muita 
qualidade, e o emprego de técnicas formais será fundamental para a redução 
das possibilidades de erros. 
Existem métodos formais para praticamente todas as fases do software, 
desde o início do processo de concepção. As técnicas formais de revisão são 
recursos que podem ser aplicados aos softwares após certa fase do desenvol-
vimento, uma vez que se busca encontrar possíveis erros no desenvolvimento 
do software.
O processo de revisão de um software pode ser feito de muitas maneiras. 
Imagine que dois amigos iniciaram um software para ajudar no controle do 
estoque do negócio e desenvolveram um sistema sem nenhum tipo de norma. 
Ao final, o sistema faz basicamente o que eles precisavam, mas é provável que 
a quantidade de erros seja enorme. Para ajudar em um processode revisão, 
eles podem fazer testes junto com clientes, ou pedir a ajuda para outros colegas 
programadores tentarem encontrar erros. Esse processo seria, então, uma 
abordagem informal. Fazer a revisão de maneira informal é bastante simples 
e não exige métodos rígidos para a verificação de possíveis erros.
Ao contrário desse exemplo, os métodos de revisão formal exigem conhe-
cimento e rigidez durante o processo de revisão. Existe uma série de formas de 
realizar a RTF; dentre as mais comuns, podemos citar: walkthrough, peer review 
e inspeção. Na próxima seção deste capítulo, detalharemos cada uma delas. 
Análise das técnicas formais
Qualquer tipo de revisão, seja ela formal ou não, é fundamental para o reco-
nhecimento de falhas que podem se tornar defeitos após a entrega do produto. 
Descobrir erros precocemente assegura que o sistema possa ser corrigido o 
mais rápido possível, garantindo um baixo custo, tanto fi nanceiro quanto 
temporal, para a correção do produto. Pressman e Maxin (2016) ressaltam 
que a não descoberta e correção no início do processo acarreta em levar 
esses erros para outras etapas, e isso, geralmente, amplia a falha, o que vai 
tornando o problema cada vez mais difícil de encontrar e mais complexo para 
3Revisão das técnicas formais e de software
solucionar. O autor ressalta que a empresa precisa investir tempo e dinheiro; 
caso não invista, terá de fazer um investimento muito maior para a correção 
de problemas muito mais graves após a entrega do produto. 
Uma grande questão no âmbito da revisão do produto de software é o 
tempo. De acordo com Pressman e Maxin (2016), muitas empresas consideram 
não ter o tempo necessário para a realização de um processo minucioso de 
revisão, o que acarreta na entrega de um software com muitos erros. Essa 
postura faz com que o custo em tempo para manutenção e correção de erros 
seja muito maior do que se fosse utilizada uma metodologia de revisão do 
software durante o processo de desenvolvimento do produto. 
Sommerville (2007) explica que não encontrar um erro a tempo acarreta 
em um efeito cascata, que levará à ampliação do erro, transformando-o, mais 
tarde, em um defeito. Ou seja, a correção de falhas em cada artefato de software 
revisado garante que esses erros não sejam maximizados e transformados em 
defeitos, que demandariam muito mais energia para a correção. 
Apesar de haver uma relutância na aplicação de métodos de revisão formal 
para encontrar e minimizar erros, a Figura 1 mostra que, no final do processo, 
o custo de tempo em projetos que não possuíam processos de revisão é muito 
maior do que naqueles que aplicaram a RTF. Isso significa que, à primeira 
vista, pode parecer que aplicar uma revisão seja algo banal e um desperdício 
de tempo e, consequentemente, de dinheiro, mas, no médio prazo, esse custo 
é totalmente maximizado, se comparado a projetos que não aplicaram RTF.
Figura 1. Custo de tempo relacionado à aplicação ou não da revisão técnica formal.
Fonte: Pressman e Maxin (2016 , 437).
Esforço
Tempo
Sem a realização
de inspeções
Com a realização
de inspeções
Entrega
TesteCódigoProjeto
Requisitos
Planejamento
Revisão das técnicas formais e de software4
Na seção anterior, exemplificamos o teste informal de software ao apre-
sentar uma situação hipotética em que dois amigos tentam encontrar erros no 
sistema sem nenhum tipo de norma ou regra. Uma abordagem formal significa 
que é necessário o uso de formalidade para encontrar o erro. Essas metodo-
logias pressupõem, portanto, um certo rigor, que não está presente em uma 
revisão não formal. A seguir, apresentamos algumas possibilidades de RTF.
Walkthrough
Walkthrough é uma técnica bastante comum de revisão, em que é executado 
passo a passo um procedimento ou programa com vistas a encontrar erros. 
Nesse processo, um testador disponibilizará um conjunto de casos, e os in-
tegrantes da equipe de revisão buscarão simular a execução de um artefato. 
O tempo de duração desse procedimento é de aproximadamente duas horas, 
envolvendo equipes pequenas, normalmente de três a cinco pessoas. 
Peer review
Peer review ou revisão em pares consiste em um método de revisão em que 
dois programadores são responsáveis por revisar o código um do outro, de 
forma que essa revisão possa apontar inconsistências. Esse método é bastante 
utilizado e relativamente fácil de ser aplicado. As regras desse método de 
revisão podem ser estipuladas pela própria equipe de revisão, ou pela dupla 
responsável pela revisão do artefato. 
De maneira geral, um dos integrantes da dupla é responsável por programar, 
enquanto o outro fica responsável pela revisão. A cada ciclo, previamente 
definido, invertem-se os papéis, para que ambos possam tanto programar 
como revisar o código do colega. É importante ressaltar que o formalismo da 
revisão se caracteriza pelas normas que serão previamente definidas dentro 
do processo de revisão. Ou seja, uma revisão em pares, se for realizada sem 
nenhum tipo de formalismo, pode não caracterizar uma RTF. 
Inspeção
A inspeção é um tipo de RTF que envolve a revisão em equipe de um determi-
nado artefato. Geralmente, uma inspeção se baseia na distribuição do artefato 
analisado ou de parte dele para equipes distintas, seguida de reuniões de 
revisão em que são mencionados os erros encontrados para o autor do artefato. 
5Revisão das técnicas formais e de software
Nessa situação, o autor geralmente fi ca responsável pela correção dos erros 
encontrados. Em detalhes, a inspeção pode apresentar as seguintes etapas: 
1. Planejamento.
2. Apresentação.
3. Preparação.
4. Reunião de revisão.
5. Retrabalho.
6. Análise final do moderador.
Pressman e Maxin (2016) ressaltam que o momento da reunião de revisão 
precisa ser muito bem planejado e que é importante deixar claro que a revisão 
é do artefato, e não do programador. Algumas situações durante o processo 
de revisão podem afetar os egos dos participantes; por esse motivo, é sempre 
importante deixar esse processo o mais neutro possível, para que não haja 
problemas futuros na equipe. 
Esse tipo de revisão pode ser aplicado a todos os artefatos do software, 
desde a fase de requisitos. A Figura 2 detalha esse processo de inspeção. 
Figura 2. Inspeções de software.
Fonte: Adaptada de Ackerman, Buchwald, Lewski (1989).
Requisitos Projeto de
alto-nível
Projeto
detalhado Código Execução
dos testes
= Inspeção
Plano de
testes
Caso de
testes
Como podemos perceber, o processo de inspeção pode ser realizado após 
cada fase do processo de desenvolvimento de software, inclusive após a de-
finição do modelo de requisitos. É importante ressaltar que, quanto antes um 
erro for encontrado e corrigido, menor será o custo para o reparo. 
Após ser aplicado qualquer um dos processos de revisão, a equipe poderá 
levantar dados que poderão ser úteis para dar indicativos sobre a qualidade dos 
artefatos e, inclusive, para supor a situação de outros artefatos não analisados, 
baseando-se no que foi descoberto acerca dos artefatos analisados. A exemplo 
Revisão das técnicas formais e de software6
disso, temos o cálculo da densidade de erros. A seguir, detalhamos essa forma 
de complementar a RTF. 
Encontrando a densidade de erros
Independentemente da metodologia de revisão, encontrar a densidade de 
erros de um projeto pode ser importante. Existe uma série de métricas que, 
segundo Pressman e Maxin (2016), podem ser usadas para nos dar indicativos 
importantes acerca do software que está em processo de revisão. O Quadro 
1 especifi ca essas métricas. 
 Fonte: Adaptado de Pressman e Maxin (2016). 
Métrica Definição
Esforço de preparação, E
p
Esforço (em pessoas/hora) exigido 
para revisar um artefato antes 
da reunião de revisão.
Esforço de avaliação, E
a
Esforço (em pessoas/hora) que é 
despendido durante a revisão em si.
Esforço de reformulação, E
r
Esforço (em pessoas/hora) 
dedicado à correção dos erros 
revelados durante a revisão.
Tamanho do artefato 
de software, TAS
Uma medidado tamanho do artefato de 
software que foi revisto (por exemplo, o 
número de modelos UML — do inglês 
unified modeling language, ou linguagem 
de modelagem unificada —, o número 
de páginas de documento, ou, então, 
o número de linhas de código).
Erros secundários 
encontrados, Err
sec
O número de erros encontrados que 
podem ser classificados como secundários 
(exigindo menos para serem corrigidos 
do que algum esforço pré-especificado).
Erros graves 
encontrados, Err
graves
O número de erros encontrados que 
podem ser classificados como graves 
(exigindo mais para serem corrigidos do 
que algum esforço pré-especificado).
 Quadro 1. Métricas de revisão 
7Revisão das técnicas formais e de software
Estimar a densidade de erros em um projeto é importante para que se possa 
ter uma ideia de quantos erros serão encontrados em outros artefatos de um 
projeto, ou mesmo para poder estimar, de forma induzida, a possibilidade de 
erros que poderão ser encontrados em um novo projeto. A densidade de erros 
é calculada da seguinte forma: 
Densidade de Erros = Err
tot
 / TAS
Onde: Err
tot
 = Err
sec
 + Err
graves
Suponha o seguinte caso: um modelo de requisitos contém 14 erros secundários e 
dois erros graves distribuídos em 20 diagramas UML e 35 páginas. Qual é a densidade 
de erros por diagrama UML e por página?
Nesse caso, temos: 
Err
tot 
= 14 + 2 = 16
Densidade de erros por diagrama UML = 16/20 = 0,8
Densidade de erros por página = 16/35 = 0,46
Quando utilizar as revisões técnicas formais?
Podemos dizer que, no âmbito das técnicas formais de revisão, algumas apre-
sentam mais formalidade do que outras. Se fossemos estipular uma ordem 
para os métodos de revisão apresentados na seção anterior, podemos defi nir a 
peer review como a menos formal, seguida da revisão walkthrough; por fi m, 
a técnica de inspeção seria o mais formal dos métodos. 
Podemos traduzir a formalidade como o rigor que esses métodos trazem. 
Para entender melhor, pense que um método de revisão em pares pode ser feito 
de maneira aleatória, sem nenhum tipo de regra. Um colega revisa o código de 
outro e aponta deliberadamente os erros dos sistemas. Esse tipo de processo 
é um processo de revisão, mas não formal. Se o mesmo colega executar um 
processo de revisão sistematicamente definido e com procedimentos especí-
ficos, seguindo uma metodologia rígida, podemos dizer que ele aplicou uma 
revisão com certa formalidade. 
Revisão das técnicas formais e de software8
As técnicas de revisão formal são fundamentais para diminuir a possibili-
dade de defeitos no software. Como já mencionado, em especial em software 
críticos, elas são fundamentais para evitar falhas que venham a causar sérios 
danos às pessoas ou à sociedade. 
Escolher a melhor técnica de revisão dependerá dos recursos disponíveis e 
da natureza do software que está sendo desenvolvido. Um software de gestão 
empresarial certamente não demandará as mesmas necessidades de revisão se 
comparado à um software de gerenciamento de linhas ferroviárias. 
A escolha do método normalmente está relacionada ao tempo e ao orça-
mento disponível para a execução. O método de peer review pode ser executado 
rapidamente por uma dupla de programadores, sem que seja necessário deman-
dar tanto tempo, se comparado a um método de inspeção. Contudo, é sabido 
que a inspeção, por ser um método mais rígido, apresenta melhores chances 
de identificar uma quantidade superior de erros do que os outros métodos. 
O método de revisão walkthrough também exige menos tempo e possui 
menos formalidade do que as inspeções. O que determinará o melhor método 
para revisão será, certamente, a disponibilidade temporal e financeira da equipe 
para buscar uma maior qualidade, do ponto de vista do desenvolvimento do 
software. 
Revisão por amostragem
Conforme detalhamos anteriormente, o tempo e o custo são fatores críticos no 
decorrer do projeto e do desenvolvimento de um software. Muitas vezes, não 
é possível realizar a RTF para todos os artefatos do software. O problema é 
que, no caso dos softwares críticos, a revisão é imprescindível e não pode ser 
simplesmente descartada por falta de tempo ou recursos fi nanceiros. 
Nesse sentido, temos uma alternativa que pode ser benéfica em um con-
texto em que o software precisa de revisão, mas a equipe de desenvolvimento 
não possui o tempo e os recursos necessários. Essa alternativa consiste em 
estimar por amostragem a quantidade de erros em uma parte de um artefato. 
Essa estimativa pode servir como elemento para a indução dos erros no arte-
fato completo; ou, ainda, uma amostra de vários artefatos poderia indicar a 
quantidade de erros em todo o projeto. 
Basicamente, a indução é uma metodologia de pesquisa em que se ana-
lisa uma amostra significativa, encontra-se um padrão e aplica-se uma 
generalização. 
9Revisão das técnicas formais e de software
Para você entender melhor a revisão por amostragem, pense em casos em que é 
utilizado o princípio da indução para se chegar a um possível resultado. Na nossa vida, 
podemos ver exemplos de amostragem em várias situações. Um exemplo é a maneira 
como são feitas as pesquisas eleitorais. Em linhas gerais, um número relativamente 
significativo de pessoas é entrevistado — são, geralmente, pessoas de várias regiões 
que dizem em quem elas pretendem votar. Após a tabulação desses resultados, é 
feita uma estimativa de quem poderia ganhar as eleições. Esse raciocínio se baseia 
no princípio da indução: se a maioria das pessoas vai votar em um candidato X, é 
possível que todas as outras também votem, o que caracteriza um raciocínio indutivo. 
O grande problema da indução é que ela pode revelar uma realidade distinta 
do real, se a amostra não for significativa. Ou seja, quanto maior for a amostra, 
melhores são as chances de a indução estar correta. 
Vamos considerar o seguinte exemplo: uma equipe de desenvolvimento pre-
cisa revisar um artefato em um tempo ligeiramente curto e terá a possibilidade 
de revisar no máximo ¼ (25%) do artefato. Para ganhar tempo, a equipe optou 
por revisar apenas 20%, encontrando 15 erros secundários e 2 erros graves. 
Qual é a probabilidade de erros que poderão ser encontrados no artefato todo? 
A revisão por amostragem é uma possibilidade, mas ela nos dá um indicativo da 
quantidade total de erros de um artefato ou projeto de software. É importante sempre 
considerar que a indução pode não ser real, principalmente se a amostra não for 
significativa. 
Considerando-se que 20% representa 1/5 do artefato, temos: 15 × 5 + 2 × 5 
= 85. Dessa forma, podemos estimar que o artefato todo terá aproximadamente 
85 erros. É importante ressaltar que a análise por amostragem nos dá indícios 
da quantidade de erros, mas não garante uma informação totalmente confiável. 
Para se ter um resultado muito confiável, é necessário que a amostra seja 
bastante significativa. Aplicar revisões por amostragem é uma possibilidade 
Revisão das técnicas formais e de software10
em um cenário em que não se possuem todos os recursos necessários para 
a revisão completa e que envolve um software que não pode simplesmente 
não ser revisado. 
A revisão por amostragem se encaixa nos métodos de RTF mencionados 
anteriormente. A questão, nesse caso, é que apenas uma parte do software ou 
do artefato é revisada, com as mesmas técnicas e rigidez dos métodos de RTF. 
ACKERMAN, A., BUCHWALD, L., LEWSKI, F. Software inspections: an effective verification 
process. IEEE Software, v. 6, n. 3, p. 31–37, jun. 1989.
PRESSMAN, R. S.; MAXIN, B. R. Engenharia de software: uma abordagem profissional. 8. 
ed. Porto Alegre: AMGH, 2016. 
SOMMERVILLE, I. Engenharia de software. 8. ed. São Paulo: Addison Wesley, 2007.
Leitura recomendada
REZENDE, D. A. Engenharia de software e sistemas de informação. Rio de Janeiro: Bras-
port, 2005. 
11Revisão das técnicas formais e de software
 
Dica do Professor
O tempo é um grande empecilho no desenvolvimento de software. Geralmente, os analistas desistemas e os desenvoldedores precisam de muito mais tempo para concluir um projeto de 
software.
Nesse contexto, está o processo de revisão, que, embora ocupe muito tempo, pode economizá-lo, 
poupando, ainda, dinheiro ao final do processo, quando as falhas já se caracterizaram como 
defeitos.
Acompanhe, nesta Dica do Professor, um pouco mais sobre o RTF.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
 
https://fast.player.liquidplatform.com/pApiv2/embed/cee29914fad5b594d8f5918df1e801fd/22da67d8e116034eb3ba24bd29edd81f
Exercícios
1) Geralmente, as revisões técnicas formais são métodos que buscam encontrar falhas na 
qualidade do software, mas são extremamente demoradas e caras. Em que tipo de software o 
uso de métodos formais é indispensável?
A) A revisão técnica formal é útil para todos os tipos de sistemas, principalmente em softwares 
de gestão, uma vez que garante a redução de possíveis defeitos que poderão acarretar em 
prejuízos.
B) A revisão técnica formal é útil para minimizar os defeitos de um software, sendo facilmente 
aplicada durante a fase de testes. A RTF é indicada a todos os artefatos do software, sendo 
indispensável aos sistemas web.
C) A revisão técnica formal é indispensável em sistemas de gestão empresarial, pois esse tipo de 
software pode colocar pessoas em risco. A RTF é indicada para qualquer software que precise 
de qualidade.
D) A revisão técnica formal é recomendada para sistemas de monitoramento de segurança, pois 
garante que haja menor probabilidade de falhas. Dessa forma, esse tipo de revisão é 
frequentemente utilizado nesses casos para minimizar a possiblidade de falhas durante a fase 
de testes.
E) A revisão técnica formal é indispensável em sistema de segurança crítica, pois esse tipo de 
software não deve apresentar falhas, uma vez que esses sistemas envolvem impactos na 
segurança de pessoas, negócios ou meio ambiente.
 •
2) Os métodos de revisão técnica formal (RTF) são fundamentais para minimizar defeitos 
futuros em um software. Qual a relação entre a revisão e o custo do produto?
A) As RTF são úteis para corrigir erros do software enquanto o produto ainda se encontra em 
desenvolvimento, o que diminui o custo de reparo.
B) As RTF são úteis para corrigir erros de artefatos ao final do processo de desenvolvimento. 
Dessa forma, quanto maior for a revisão, maior será o custo para correção de erros.
C) Existe uma relação diretamente proporcional entre o custo do software e as RTF, já que, 
quanto maior o custo para a aplicação das RTF, maior será o valor do produto.
D) As RTF são úteis para corrigir erros, minimizando a possiblidade de propagação destes no 
decorrer do desenvolvimento. Todavia, não há relação entre as RTF e o custo do produto.
E) As RTF ajudam a aumentar o custo do produto, visto que demandam uma equipe maior para 
executá-las, garantindo a qualidade do produto final.
3) Há uma série de técnicas de revisão, formais e informais, para minimizar os erros de um 
produto de software. Cada uma delas pode ser usada em determinados contextos. Qual das 
alternativas explicita um cenário próximo do real a respeito do uso de inspeções e de pair 
review? 
A) Uma empresa está trabalhando com tempo limitado em um software. Por esse motivo, optou 
por utilizar pair review e inspeções em todos os artefatos disponíveis, para que, assim, garanta 
a qualidade do produto final, apesar da limitação de tempo.
B) Uma empresa está trabalhando em um software que necessita de revisões, dispondo de 
tempo e equipe limitados. Para os artefatos mais críticos, a empresa utilizará a técnica de 
inspeções e, para os menos críticos, a pair review.
C) Uma empresa está trabalhando em um projeto que necessita de revisões apenas em parte. 
Como ela não dispõe de tempo e equipe suficientes, optou por utilizar inspeções para os 
artefatos menos críticos e pair review para os mais críticos.
D) Uma empresa está trabalhando em um software que necessita de revisões, não dispondo de 
tempo e equipe necessários para a execução destas. Por esse motivo, a empresa optou por 
utilizar inspeções em todos os artefatos e não usar pair review.
E) Uma empresa está trabalhando no desenvolvimento de um software que necessita de 
revisões, mas, apesar de ter tempo, não dispõe de recursos financeiros para a RTF. Assim, 
optou por revisar todos os artefatos através de inspeções e parte deles usando pair review.
4) Avaliar a densidade de erros de um artefato é uma das métricas importantes para a revisão 
técnica formal. Nesse sentido, considere que um certo artefato de software apresentou 25 
erros secundários e 5 erros graves, em 10 diagramas UML e 23 páginas. Qual é a densidade 
de erros desse artefato?
A) 3 erros por diagrama UML e 1,3 erros por página.
B) 5 erros por diagrama UML e 2,2 erros por página.
C) 2,3 erros por diagrama UML e 3 erros por página.
D) 0,2 erros por diagrama UML e 0,3 erros por página.
E) 2,5 erros por diagrama UML e 2,2 erros por página. 
5) O tempo é sempre um problema para o desenvolvimento de software e, muitas vezes, por 
esse motivo, as RTF são deixadas de lado. Nesse contexto, aplicar revisões por amostragem 
pode ser uma solução. Considerando um artefato de software que apresentou 4 erros em 
uma amostra que corresponde a 1/6 do artefato, qual a quantidade esperada de erros?
A) A quantidade esperada de erros no artefato é de, aproximadamente, 24,99 erros.
B) A quantidade esperada de erros no artefato é de, aproximadamente, 24,00 erros.
C) A quantidade esperada de erros no artefato é de, aproximadamente, 20,00 erros.
D) A quantidade esperada de erros no artefato é de, aproximadamente, 24,03 erros.
E) A quantidade esperada de erros no artefato é de, aproximadamente, 20,01 erros.
Na prática
O processo de revisão é indispensável para a qualidade de software, seja ela formal ou não, 
devendo esse processo ser privilegiado, mesmo que o tempo seja curto, para que, no futuro, os 
custos com o conserto de defeitos não sejam muito maiores do que os custos para a correção de 
falhas. No caso dos sistemas críticos, aplicar um método de revisão formal é fundamental para que 
o sistema não apresente, futuramente, erros que possam, inclusive, passar pela fase de teste, 
colocando pessoas em risco.
Acompanhe, Na Prática, uma situação em que se considera a RTF para a solução de um problema.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para 
acessar.
 
https://statics-marketplace.plataforma.grupoa.education/sagah/0b565554-769a-4905-9752-63f64c18832f/a972b7f0-94a1-475c-9bec-feb32c738bb5.png
Saiba mais
Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor:
Inspeções de requisitos de software em desenvolvimento 
incremental: uma experiência prática
Este artigo aborda uma experiência prática utilizando inspeções para a melhora da qualidade dos 
artefatos de software.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Engenharia de Software: uma abordagem profissional
Leia o capítulo Técnicas de revisão, do livro Engenharia de Software:, e saiba mais sobre as diversas 
técnicas de revisão.
Conteúdo interativo disponível na plataforma de ensino!
Engenharia de Software: uma abordagem profissional.
Saiba mais sobre outros princípios de qualidade através da leitura do capítulo Conceitos de 
qualidade, do livro Engenharia de Software: uma abordagem profissional.
Conteúdo interativo disponível na plataforma de ensino!
https://www.researchgate.net/publication/255730159_Inspecoes_de_Requisitos_de_Software_em_Desenvolvimento_Incremental_Uma_Experiencia_Pratica

Mais conteúdos dessa disciplina