Buscar

Ebook 1 Qualidade de Software

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

E-book 1
QUALIDADE DE 
SOFTWARE
Lucia Tavares
Neste E-Book:
INTRODUÇÃO ����������������������������������������������������������� 3
QUALIDADE DE SOFTWARE: 
HISTORICIDADE E FUNDAMENTOS ������������������4
Engenharia de Software: Cultura e Ética ���������������������������������4
Engenharia de Software ���������������������������������������������������������11
Modelos e Características de Qualidade ������������������������������22
Melhoria da Qualidade de Software ��������������������������������������36
Segurança de Software ����������������������������������������������������������45
CONSIDERAÇÕES FINAIS ������������������������������������51
SÍNTESE �������������������������������������������������������������������� 52
2
INTRODUÇÃO
Falar de qualidade de software não se resume a fa-
lar de sistemas, plataformas e desenvolvimento� É 
preciso entender a qualidade no seu sentido mais 
básico� Por isso, neste módulo estudaremos os con-
ceitos de qualidade e seu diferencial no mercado em 
todos os seguimentos, inclusive no que se refere ao 
desenvolvimento de softwares�
Visamos, com isso, a compreender os modelos e 
os detalhes que permeiam o universo da qualidade 
e de que maneira tudo isso impacta no processo de 
melhoria contínua dos sistemas�
Estudar a qualidade sem abordar a segurança é re-
sultar em falha� Dessa forma, abordaremos todo o 
conceito de segurança de software também� Ainda, 
embarcaremos no universo da qualidade, pois a par-
tir dela podemos desenvolver softwares que alcan-
cem seus objetivos e o maior número de usuários 
possível�
Pronto para entrar no mundo da qualidade?
Boa sorte, bons estudos e apreciem a jornada!
3
QUALIDADE DE SOFTWARE: 
HISTORICIDADE E 
FUNDAMENTOS
Engenharia de Software: 
Cultura e Ética
A Engenharia de Software segue um princípio de 
amplas vertentes, aplicações e visões sobre a uti-
lização dos seus conceitos� Porém, em todas as vi-
sões, estudiosos convergem sobre um conjunto de 
três elementos primordiais dentro da Engenharia de 
Software: métodos, ferramentas e procedimentos�
Podemos entender que o fluxo de desenvolvimento 
ocorre da seguinte maneira: os métodos mostram de 
forma detalhada como tirar a ideia do papel para o 
desenvolvimento de um software; entramos, então, 
na fase de construção do projeto; as ferramentas, por 
sua vez, encaixam-se nos métodos, propiciando um 
apoio na migração (inclui-se aqui o caminho desde 
a ideia até o planejamento do projeto)� assim, os 
procedimentos são os meios que promovem a rede 
de ligação entre métodos e ferramentas�
O resultado é um processo de desenvolvimento trans-
parente, eficaz e prático que certifica a produção 
desse software com qualidade, cujo produto gerado 
é satisfatório para os envolvidos internos (desenvol-
vedores, programadores) e usuários finais (clientes, 
4
parceiros)� Isso garante a qualidade e a continuidade 
do software�
No tocante ao progresso, observamos que a tecnolo-
gia deu um salto tão grande que, há 50 anos, o mundo 
não tinha a menor noção de que a tecnologia seria 
elemento indispensável para a sua sobrevivência, ou 
seja, o mundo não tinha ideia de como o consumo 
e a manipulação de dados e informações teriam a 
importância que têm hoje�
Junto à evolução tecnológica, surge a necessidade 
de qualidade, de perfeição, de segurança, de como-
didade, de facilidade para o usuário, e um trabalho 
muito mais elaborado para o desenvolvedor, visto 
que quanto mais requisitos devem ser atendidos, 
mais complexidade existe na criação de um software.
Com toda essa gama de elementos indispensáveis, 
não se pensa mais em criar um software, o pensa-
mento agora é “vamos partir para a montagem de um 
projeto para criar um sistema”� Com isso, todo esse 
projeto implica planejamento, cronograma e entrega� 
E como entregar esses produtos (sim, softwares são 
produtos) da maneira mais rápida, prática e sem pro-
blemas de fabricação, dentro do tempo de entrega 
estipulado no cronograma do projeto? A resposta é: 
utilizando a Engenharia de Software�
Com o avanço da tecnologia, houve um expressivo 
crescimento de empresas que trabalham com o de-
senvolvimento de softwares� Dado que o conceito de 
desenvolvimento tornou-se um conceito de projeto, 
o número de profissionais especialistas igualmente 
5
cresceu, e agora cada um tem sua função e partici-
pação como especialista em um projeto de software� 
Nisso, surgiu o conceito de “trabalho em equipe para 
desenvolver softwares”�
Este cenário é muito diferente do de um passado re-
cente, quando o mesmo desenvolvedor tinha a ideia, 
criava o código fonte, testava, colocava em produção 
e assumia todos os riscos, o que gerava um grande im-
pacto no produto entregue (PRESSMAN; MAXIM, 2016)�
Diante de tal cenário, passemos então a discutir um 
pouco como funciona a ética atrelada à cultura na 
Engenharia de Software�
Ética pode ser definida como um conjunto de valo-
res que norteia uma sociedade� A palavra vem do 
grego ethos, que quer dizer “caráter”, “jeito de ser”� 
Podemos comparar a Engenharia de Software com 
a ética na tecnologia, por tratar-se de um conjun-
to de valores que norteia o desenvolvimento de um 
sistema�
A fim de compreender melhor esse cenário, enten-
demos que podemos usar a Engenharia de Software 
para antever problemas evitáveis. Por exemplo, po-
demos citar problemas com a tecnologia que resulta 
em desvantagens pessoais ou de grupo, como os 
cartões de banco que apresentam falhas de segu-
rança e são passíveis de clonagem� Nesse caso e em 
outros em que a Engenharia de Software é aplicada, 
tais riscos podem ser mitigados e excluídos, devido 
a todo o trabalho que é feito antes de o software 
entrar no mercado�
6
Ao trabalhar com a Engenharia de Software, esquece-
-se do desenvolvimento solitário, da bagunça e dos 
ambientes sem planejamento e organização� A ética 
na tecnologia não é uma ficção tampouco um campo 
não explicado da filosofia (GOTTERBARN, 1999).
Dentre os problemas que enfrentamos em tecnologia 
sem a Engenharia de Software, podemos citar os 
seguintes:
 ● Projetos assumidos sem recursos: são projetos 
assumidos para conquistar clientes, mas que não 
têm os recursos físicos ou lógicos necessários para 
levar o projeto até o final.
 ● Cuidado com a segurança dos dados: preocupar-
-se apenas com o desenvolvimento sem levar em 
conta a segurança dos dados e da estrutura onde o 
programa vai rodar�
 ● Manobras e entusiasmo na manipulação de dados: 
cria-se uma aplicação que exija mais dados do que 
os necessários para o funcionamento�
 ● Backups defeituosos ou inexistentes: quando não 
se cria uma rotina correta de backup ou até mesmo 
quando não se usa o backup�
Essas não são situações novas, têm ocorrido há 
muito tempo e causado muito mal ao andamento 
de projetos� Mas elas podem ser contornadas e até 
evitadas� Observe que o erro não é antiético, pois 
erros acontecem em qualquer ramo, mas a falta éti-
ca é quando o profissional sabe que pode evitar e 
não evita�
7
Assim, o “[���] código de princípios resume o que se 
quer da engenharia de software numa escala mui-
to alta de abstração e aspirações” (GOTTERBARN; 
MILLER; ROGERSON, 1999). Isso porque, na última 
versão, tudo fica no ar para se pensar. Já na versão 
completa, temos um verdadeiro manual com deta-
lhes, até do modo de agirmos como profissionais. Se 
os detalhes nos cansam, a falta deles nos dão peças 
para pensar� Por isso, é interessante ler o código de 
conduta completo e o resumido�
Tanto os engenheiros de software quanto quem ado-
ta as boas práticas de desenvolvimento de software 
devem entender que, a partir do momento em que se 
escolhe trabalhar com as diretrizes, é preciso adotar 
um conjunto de métricas para análise, produzir uma 
especificação eficaz, desenvolver um projeto que siga 
todas as fases (do levantamento à entrega), que seja 
claro, transparente e real�
Então, para garantir a saúde, segurança e sucesso 
dos projetos, é fundamental seguir os oito princí-
pios resumidos doCódigo de Ética da Engenharia 
de Software:
1. Interesse público: engenheiros de software de-
vem aliar sempre seus projetos com a legislação e 
os públicos�
2. Clientes e empregados: a Engenharia de Software 
busca equilibrar os interesses de seus clientes, de-
senvolvedores, terceiros e parceiros� Assim, jamais 
deseja montar ou direcionar projetos em benefício 
próprio�
8
3. Produto: a Engenharia de Software garante que 
tudo que for produzido a partir das premissas propos-
tas, alterações e melhorias atendam aos melhores 
padrões possíveis, sejam profissionais, de estrutura 
e prazo�
4. Julgamento: integridade, honestidade e inde-
pendência nos seus julgamentos profissionais são 
itens obrigatórios e garantidos pela Engenharia de 
Software�
5. Administração: os líderes e a alta cúpula das 
empresas, dentro da Engenharia de Software, têm 
a obrigação de disseminar a abordagem ética no 
processo de gestão da aplicação�
6. Profissão: engenheiros de software devem pro-
mover a segurança, integridade e reputação da pro-
fissão, entrelaçados à legislação aos interesses do 
público, buscando sempre manter a boa reputação 
da profissão.
7. Coleguismo: a ajuda mútua entre colegas de de-
senvolvimento de softwares tem como base a união, 
justiça e ajuda mútua�
8. Identidade: parte do princípio de que o valor da 
prática é essencial para a profissão e seu objetivo é 
disseminar sempre uma abordagem ética à prática 
da profissão.
9
SAIBA MAIS
Saiba mais sobre os fundamentos, conceitos e 
padrões básicos da Engenharia de Softwares, con-
sultando Engenharia de Software: fundamentos, 
métodos e padrões, de Paula Filho (2009).
Lembre que é importante ler e saber o que propõe 
o Código de Ética da Engenharia de Software, pois 
esse código auxilia no que tange a saber aquilo que 
pode ou não fazer. O fundamento básico da ética é 
zelar pelo interesse público, sem esquecer todo o 
contexto do trabalho, sempre alinhados à necessi-
dade do cliente�
Fique atento às pressões do trabalho, alguns se sub-
metem a situações por medo quanto à sua posição, 
ao seu emprego, às suas condições de trabalhos e 
aos prazos de entrega� A partir dessas premissas, 
muitos assumem uma posição contrária ao que se 
propõe todo o trabalho e acaba ferindo a ética da 
categoria� Note que é o seu nome que está em jogo, 
dentro de um mercado de trabalho extremamente 
competitivo, sendo assim, cuide de você�
O código de ética veio ajudar a sua carreira, portanto, 
busque as melhores práticas, pois elas vão fazer com 
que você se torne um profissional melhor.
10
Engenharia de Software
A primeira vez que se usou o termo “engenharia de 
software” foi em 1960, devido ao boom de jogos ele-
trônicos e sistemas criados, visto que tudo na área 
da tecnologia era novidade. Contudo, foi em 1968 
que se batizou oficialmente, pelo comitê científico 
da Otan (North Atlantic Treaty Organization).
Aliar tecnologia e engenharia foi uma forma de mudar 
a visão da criação de sistemas da época, quando 
não se seguia nenhum padrão, como em uma ses-
são de desenho livre, precisava de regras, qualida-
de, mensuração, práticas comuns às áreas exatas e 
primordiais nas áreas de engenharia e que, a partir 
desse momento, seriam usadas na criação e no de-
senvolvimento de sistemas mais complexos.
Por sistema de software complexo, entende-se o 
desenvolvimento cuja base (estruturas de dados e 
algoritmos) são os componentes abstratos de sof-
tware, juntos e espelhados como módulos, funções 
e algoritmos, objetos ou agentes interligados, dando 
vida à arquitetura de software�
Segundo Pressman e Maxim (2016), a Engenharia 
de Software nada mais é do que um conjunto de 
regras atrelados à tecnologia e que funciona em três 
camadas (processos, métodos e ferramentas) e seu 
elo, ou seja, o que faz sentido em todas essas cama-
das, é que todas as camadas têm por objetivo um 
resultado de qualidade no produto entregue� Vamos, 
então, definir cada uma delas:
11
 ● Processos: são o funcionamento de todas as par-
tes, ou seja, são o elo entre os métodos e as fer-
ramentas, que possibilitam o desenvolvimento de 
um software embasado em lógica, racionalidade e 
usabilidade� A partir desses processos, monta-se 
toda a base para a Engenharia de Software�
 ● Métodos: trata-se do caminho, isto é, como fazer� 
São as regras, as diretrizes, os testes, as premissas 
para construir um bom software�
 ● Ferramentas: são o apoio, o suporte aos métodos 
e estabelecem a união entre hardware, software e 
banco de dados�
O trabalho realizado pela Engenharia de Software 
pode ser dimensionado em três fases, indiferen-
temente da área de aplicação, do projeto ou da 
sua complexidade: definição, desenvolvimento e 
manutenção�
A partir da Engenharia de software, surgiu uma mu-
dança no desenvolvimento: uma nova ordem para 
os testes de implementação que, de acordo com 
Pressman e Maxim (2016), seriam unidade, inte-
gração, validação e sistema� Resumindo, podemos 
diferenciar Engenharia de Software e Ciência da 
Computação assim:
 ● A Engenharia de Software mantém o foco no modo 
lógico, baseado em processos, para produção de um 
sistema de software�
 ● A Ciência da Computação busca uma visão 
dentro dos fundamentos teóricos dos aspectos 
computacionais�
12
Cabe aos especialistas da equipe propor a metodo-
logia científica a ser aplicada em conformidade com 
os modelos abstratos, a fim de especificar, projetar, 
implementar e manter funcionando os softwares 
desenvolvidos, com garantia de uso e de qualidade�
Além disso, os sistemas criados a partir da 
Engenharia de Software devem proporcionar os 
meios para que esses mesmos sistemas tenham 
processos que se mantenham, com base em plane-
jamento e boas práticas dentro do desenvolvimento�
Nesse contexto, o cenário muda, pois não há mais 
um gênio que cria e desenvolve tudo sozinho� Assim, 
para que um software seja criado com sucesso, ele 
precisa de uma equipe de especialistas que forme 
um mercado de empresas especializadas na criação 
de softwares, as “Fábricas de Software”�
Principais conceitos de engenharia de 
software
Há diversos recursos utilizados para o desenvol-
vimento de software no interior da Engenharia de 
Software, mas os insumos são vitais para o desen-
volvimento de produtos de software. Isso significa 
que um produto de software desenvolvido para infra-
estrutura de redes, suporte, otimização de recursos, 
ERP ou inteligência artificial vai precisar de insumos 
para alcançar os objetivos esperado�
Portanto, podemos traçar dois paralelos: de um lado, 
percebemos as atividades usadas no processo de de-
senvolvimento de um produto de sistemas; do outro 
13
lado, de que maneira a Engenharia de Software ofere-
ce apoio a esse processo de formação de atividades�
Por exemplo, o uso de teorias e princípios aplicados 
ao sistema de software a ser desenvolvido, a escolha 
dos melhores métodos e técnicas (metodologia), 
bem como a facilidade de desenvolvimento com o 
uso de ferramentas previstas pela Engenharia de 
Software�
Por meio da Figura 1, podemos entender melhor 
como a Engenharia de Software trata toda a ques-
tão de um projeto:
Princípios
Métodos e técnicas
Métodogias
Ferramentas Comoautomatizar?
Como
fazer?
Como
aplicar?
O que
fazer?
Figura 1: Resumo dos componentes da Engenharia de Software. 
Fonte: Elaboração Própria.
Embora pareçam abstratos em um primeiro mo-
mento, os princípios de Engenharia de Software 
são fundamentais para um item não tangível, so-
bretudo quando os utilizamos em um escopo de 
projeto� Quando aplicados em um processo de pro-
dução de sistemas de software, eles são firmes e 
indispensáveis�
14
Por exemplo, podemos citar o levantamento de re-
quisitos e a análise dos processos de um software, 
pois a atividade de análise implica o rigor, a abstra-
ção e a aplicação e separação de conceitos para a 
montagem de modelos que vão tratar várias faces 
do sistema�
Quando chegada a hora de apresentar um projeto 
aos stakeholders, é muito mais práticoe interessante 
a demonstração do uso de princípios como rigor e 
formalidade na implementação, bem como a parte da 
documentação dos modelos criados na análise, pois 
isso dá ao cliente um panorama palpável do produto, 
modularidade aplicada na estrutura do sistema e 
incrementabilidade usada nos testes�
Os princípios da Engenharia de Software têm um grau 
de importância maior na incidência de planejamento, 
desenvolvimento e implantação do software solicita-
do, mas não determinam a qualidade do produto� A 
qualidade começa a aparecer quando juntamos mé-
todos, técnicas e ferramentas apropriadas para usar 
os princípios no processo de produção de software�
Em suma, os princípios são práticas que foram bem-
-sucedidas e sua aplicação é sempre sugerida na rea-
lização de atividades relativas ao projeto de software� 
Nas boas práticas de desenvolvimento de sistemas, 
os princípios são seguidos e aplicados para se obter 
um produto de qualidade�
Passemos, então, à definição de alguns desses 
princípios:
15
 ● Modularidade: é a divisão de sistemas e, para sua 
melhor visualização, podemos pensar em um sis-
tema complexo que é tratado em partes menores. 
Assim, cada parte é tradada mais simplesmente de 
acordo com suas características dentro do levan-
tamento do projeto (Coesão e Acoplamento)� Por 
isso, chamamos partes dos sistemas de software de 
módulo. Trabalhar com módulos implica o trabalho 
com a composição e decomposição: na composição, 
juntamos os módulos para deixar o sistema com-
pleto; na decomposição, dividimos os problemas 
em subproblemas para tratá-los mais eficazmente. 
A modularidade funciona com foco no entendimen-
to de um problema complexo, dividindo em partes 
menores como uma estratégia de tratamento� Com 
isso, facilitam-se tanto as melhorias quanto a ma-
nutenção do sistema�
 ● Separação de conceitos: separar os conceitos pos-
sibilita a chance de trabalhar com formas particulares 
e diferentes de um mesmo problema� Isso faz com 
que a situação seja entendida de uma maneira mais 
fácil em todos seus aspectos� Pontos que em con-
junto não seriam vistos, são enxergados e tratados 
em um processo particular de abstração�
 ● Generalidade/Especialidade: refere-se às questões 
de soluções genéricas e específicas. Visto que ge-
neralidade trata do todo, impacta nos custos, pois 
são necessários mais recursos e mais tempo de 
desenvolvimento, o que impacta diretamente na parte 
financeira. As soluções específicas são tratadas por 
módulos, portanto, recorrem aos mesmos recursos e 
16
a um tempo de desenvolvimento menor� Em processo 
de desenvolvimento de sistemas, deve-se analisar 
muito cuidadosamente para não ter impacto nem 
na entrega nem tampouco no custo do projeto de 
software�
 ● Rigor e formalidade: todo processo de criação 
surge instável e impreciso, pois para uma ideia ter 
valor, ela tem que ter formato, e com o processo de 
criação de software não é diferente� Uma ideia chega 
abstrata, e o rigor dá forma a essa ideia, tornando-
-a um projeto� A formalidade, por sua vez, trabalha 
essa forma até que ela seja entendida por todos e o 
processo seja factível de ser implantado, dirigido e 
avaliado por regras e leis matemáticas�
 ● Incrementabilidade: apesar de ser um pouco difícil, 
essa palavra determina como vamos fazer acontecer� 
Ela prepara o caminho para que todo o processo de 
desenvolvimento seja acompanhado passo a passo� 
Funciona como um manual para chegar ao objetivo 
desejado dentro do desenvolvimento� É muito útil 
quando não temos ainda todos os requisitos prontos, 
antes do início do desenvolvimento da aplicação�
 ● Antecipação de mudanças: diz respeito a criar e 
desenvolver um software que seja capaz de uma 
possível evolução e melhorias no futuro, de forma a 
tornar sua manutenção e perpetuação mais fáceis e 
a um custo baixo. Depois de pronto e em uso, todo o 
sistema pode ser incrementado, melhorado a partir 
do feedback dos usuários�
17
Métodos e metodologia em Engenharia 
de Software
Primeiramente, é essencial entender que metodologia 
e método nem sempre significam a mesma coisa, 
e a ciência discute largamente isso� No geral, são 
tratados como sinônimos, mas a literatura científica 
tem algumas vertentes que afirmam que o método 
funciona apenas para um determinado processo, ao 
passo que a metodologia funciona para um conjunto 
de processos e métodos�
A fim de entender melhor, é necessário saber da ori-
gem dessas palavras: méthodos é uma palavra grega 
que significa “caminho para se chegar a um fim”; e 
metodologia significa o estudo do melhor caminho 
para se chegar a um fim, uma vez que logia é uma 
palavra grega que significa “estudo de”.
Há também a definição segundo a qual o método 
nada mais é do que um processo, ou seja, o passo 
a passo para executar o processo; enquanto a meto-
dologia é um conjunto desses métodos e boas ações 
para colocá-los em prática�
Nesse contexto, tomamos como exemplo um méto-
do da Engenharia de Software que pode ser notado 
como uma parte da metodologia� Até este momen-
to, a Engenharia de Softwares tem se baseado nos 
processos; logo, está cheia de métodos, mas ca-
rece de metodologias� Por isso, listamos as princi-
pais Metodologias de Desenvolvimento de Software 
da Engenharia de Software:
18
 ● Metodologia Estruturada�
 ● Metodologia Orientada a Objetos�
 ● Metodologias de Desenvolvimento Ágil�
E também alguns exemplos de métodos em 
Engenharia de Software:
 ● Máquina de estado finito.
 ● Práxis.
 ● CDM�
 ● Flowcharting�
 ● Programação estruturada�
Modelo de processo de software
Trata-se de um mapa de processos por meio do qual 
é possível visualizar a abstração e todas as ativida-
des do projeto de software. É, sem dúvida, um exce-
lente recurso para representar o desenvolvimento do 
software e o progresso do projeto. São exemplos de 
modelos de processos:
 ● Modelos ciclo de vida:
 ○ Cascata ou sequencial: tem fases próprias de es-
pecificação de requisitos, desenvolvimento e projeto.
 ○ Desenvolvimento interativo e incremental: compõe 
um subconjunto de requisitos de software e age de 
maneira agregada às outras partes do desenvol-
vimento, cresce no projeto (pode, inclusive, sofrer 
melhorias de versão mesmo no desenvolvimento) 
até a implantação do sistema completo�
19
 ○ Evolucional ou prototipação: no projeto, são mon-
tados protótipos das fases do resultado a partir do 
planejamento e da especificação.
 ○ V-Model: é mais bem organizado e tem compara-
tivos com modelos mais modernos�
 ○ Espiral: são demonstrações dos ciclos completos 
de especificação através da evolução espiral do pro-
jeto e desenvolvimento�
 ○ Componentizado: são as melhorias e o uso do 
módulo para o desenvolvimento de outros módulos 
a partir de componentes já existentes.
Os modelos, os métodos e a metodologia caminham 
juntos na Engenharia de Software� Por isso, temos 
um exemplo dessa união na qualidade de ciclo de 
vida de um processo de software, de acordo com a 
ISSO 9126 (Figura 2):
influencia
depende de 
Qualidade do 
processo
Atributos da 
qualidade 
interna
efeitos do 
produto de 
software
 produto de 
software processo
Medidas
externas
Medidas
de processo
Medidas de 
qualidade em 
uso
Medidas
internas
Atributos da 
qualidade 
externa
Atributos da 
qualidade em 
uso
Figura 2: Junção de modelos, métodos e metodologia. Fonte: 
Elaboração Própria.
20
Projetos em Engenharia de Software
A ideia de projeto carrega, mesmo que implicitamen-
te, o desenvolvimento de software� Vamos, então, 
entender o conceito de projeto�
Podemos entender projeto como uma atividade que 
tem princípio e fim, que seja temporária e englobe 
um conjunto de atividades finitas e interligadas em 
um período preestabelecido�
Um projeto tem várias fases com as quais se podem 
controlar ou rastrear os processos, e os ciclos são o 
tempo que as fases vão durar� Assim, entendemos 
que, para montar um projeto relativo a um software, 
precisamos nomear as fases como: requisitos, testes, 
fasesde implementação. Por exemplo, um projeto 
de construção de um prédio tem nomes diferentes 
para cada fase, como edificação, concretagem etc. 
Portanto, os nomes das fases dependem do projeto 
e do que se pretende entregar�
Essas fases são definidas na declaração inicial de es-
copo, seguindo ao longo do projeto (PMBOK, 2012)�
A gerência/gestão de projetos
A gerência de projetos tem como premissa básica a 
entrega de um projeto bem-sucedido, ou seja, confor-
me foi solicitado pelo cliente, dentro dos requisitos 
estabelecidos, respeitando o orçamento e o prazo�
Quando trabalhamos em um projeto de software, 
entendemos que o resultado é um produto abstra-
21
to e intangível, pois toda a execução pode mudar o 
escopo ao longo do projeto� Cabe, então, ao gerente 
de projeto trabalhar dentro desse cenário de maneira 
que o produto alcance um bom resultado, ou seja, 
dentro do acordado, respeitando limitações financeira 
e o prazos�
É fundamental portanto que o projeto dentro da enge-
nharia de software siga as etapas segundo o PMBOK 
de concepção, análise, projeto, desenvolvimento, 
testes e manutenção�
Segundo Pressman e Maxim (2016), para um proje-
to de software alcançar os resultados esperados, é 
necessário que itens como escopo, riscos, tarefas, 
indicadores e custo sejam acompanhados de perto� 
Portanto, a gestão de projetos é fundamental para a 
Engenharia de Software, e a gerência de projetos é 
primordial para o resultado favorável de um projeto 
de software�
Modelos e Características de 
Qualidade
Normas, modelos e métodos da Engenharia de 
Software somados à qualidade têm como objetivo 
maior o sucesso do software criado� Para isso, du-
rante o processo de criação, levantamento de escopo 
e montagem do projeto, a qualidade precisa atender 
tanto ao processo quanto ao produto�
A conformidade com os requisitos funcionais e o 
desempenho dos sistemas são tópicos requisita-
22
dos durante o desenvolvimento de um projeto de 
software, o que torna possível criar um sistema de 
qualidade (GUERRA; COLOMBO, 2009).
O tema qualidade de software é balizado pelas nor-
mas e diretrizes disseminadas pelo mundo e ado-
tadas por diversas instituições� As normas são fun-
damentais para os modelos de qualidade atingirem 
seu objetivo�
Entre as diversas normas, vamos citar algumas que 
tratam somente de qualidade de produto de software:
 ● ISO/IEC 14598: é um conjunto de normas para 
direcionar e construir a sequência de processos de 
avaliação de um software�
 ● ISO/IEC 12119: é um conjunto de normas para 
avaliar produtos de software disponíveis no mercado, 
conhecidos como produtos de prateleira�
 ● ISO/IEC 9126: é um conjunto de normas internas 
e externas que define a qualidade de um software.
 ● Software Product Quality Requirements and 
Evaluation (Square): é um conjunto de normas que 
contempla uma nova visão do processo e uma nova 
abordagem das normas para a qualidade de produto 
de software�
Em um projeto, há muitos meios possíveis de desen-
volver um produto de qualidade de acordo com méto-
dos, técnicas e avaliação, isto é, pode-se avançar na 
criação de softwares� Com isso, novas empresas em 
novos negócios são capazes de garantir e assegurar 
23
a qualidade� Observe, na Figura 3, que as normas 
convergem nessa estrutura:
Indicam
Gera
São aplicados a
Composta de
Composta de
Qualidade do produto de 
software
Medidas de qualidade 
de software
Elementos de medida de 
qualidade
Função de 
medição
Características de
qualidade
Subcaracteristicas de 
qualidade
Figura 3: Estrutura da qualidade de software. Fonte: Elaboração Própria.
A qualidade tem de ser integrada às empresas e tor-
nar-se um processo real e diário, ou seja, todos os 
membros e processos da empresa têm de se pautar 
dentro de normas e conceitos de qualidade� Somente 
assim a qualidade de fato será parte da estrutura, 
dos recursos e dos métodos que vão constituir um 
sistema de qualidade dentro da empresa� 
O que é qualidade?
Podemos tratar a qualidade como um conceito sub-
jetivo, como o entendimento e a maneira de dar quali-
dade a produtos, serviços, pessoas, softwares, enfim 
a tudo� Essa palavra tem sua origem na palavra em 
latim qualitate, que quer dizer o melhor, de acordo 
com as percepções de cada um� Assim, o conceito 
de qualidade está atrelado ao melhor de cada um�
24
Em linhas gerais, no mundo empresarial, pode-se 
definir qualidade como um conjunto de atributos cuja 
finalidade é o atendimento das necessidades dos 
clientes e ao padrão de produtos e serviços dispo-
nibilizados por uma empresa�
Esse conjunto de atributos pode ser classificado 
como:
 ● Moral: significa caráter, trazer para si e para a equi-
pe o valor agregado do seu trabalho na produção 
de qualquer produto� É a base de uma organização, 
um pilar�
 ● Qualidade intrínseca: são critérios de qualidade 
usados na fabricação de produtos e sua consonância 
com as leis, bem como a qualidade do produto dentro 
dos parâmetros oferecidos ao mercado�
 ● Entrega: significa cumprir os prazos dentro da qua-
lidade esperada�
 ● Custo: é o alinhamento entre a relação custo-be-
nefício na produção de um produto�
 ● Segurança: são as condições de produção do pro-
duto, que podem ser internas (na produção) e exter-
nas (dentro das normas de segurança) ao cliente�
Quanto à qualidade dentro das empresas, podemos 
afirmar que se trata de um processo contínuo de 
melhorias (SOLTANI; LAI; JAVADEEN; GHOLIPOUR, 
2008). De acordo com as normas internas e externas, 
a qualidade dá ao cliente a segurança de saber que 
vai levar exatamente o que comprou. Para entender 
melhor a evolução da qualidade, analise a Figura 4:
25
Sistema de gestão de
procesoss
Garantia de
qualidade
Controle de
qualidade
Sistema de gestão de
qualidade
Sistema de gestão de processos e 
riscos
Inspeção
2015 em diante
anos 2000
anos 90
anos 80
anos 60
anos 30
Linha do tempo - Evolução de qualidade
Figura 4: Evolução da qualidade. Fonte: Elaboração Própria.
O conceito de qualidade evoluiu muito desde o 
Taylorismo-Fordismo, período em que o trabalho 
começou a ser produtivo e em série� Na Primeira 
Guerra Mundial (1914-1919), o problema com a qua-
lidade se agravou, e o americano Walter A� Shewhart 
revolucionou o mercado com seu artigo Economic 
Control of Manufactured Products (1931). Nisso, 
o conceito de inspeção se expandiu. Na Segunda 
26
Guerra Mundial (1939-1945), expandiram-se os con-
ceitos de qualidade e prazos. Na década de 1960, o 
Japão entra na guerra pela qualidade com o modelo 
5S, evoluindo para o controle de qualidade com os 
conceitos: 
 ● SEIRI: organização, utilização, seleção, descarte, 
classificação.
 ● SEITON: arrumação, ordenação, sistematização, 
organização�
 ● SEISO: limpeza, inspeção, zelo�
 ● SEIKETSU: padronização, saúde, asseio, higiene, 
aperfeiçoamento�
 ● SHITSUKE: autodisciplina, autocontrole, harmonia, 
educação�
Na Figura 5, temos uma divisão de como isso se 
distribui:
Figura 5: Como funciona o 5 S. Fonte: Medium
27
mailto:https://medium.com/%40biancasandes/5s-n%25C3%25B3s-estamos-fazendo-errado-dab8f9e8a70c?subject=
O Controle Total da Qualidade (CTQ) foi trazido para 
o Brasil pelo engenheiro Vicente Falconi Campo� O 
conceito do CTQ é formado pelos seguintes itens:
 ● Cliente e qualidade em primeiro lugar�
 ● Prioridades�
 ● Fatos e dados�
 ● Processos�
 ● Dispersão�
 ● Processos do cliente�
 ● Controle a montante, ação de bloqueio�
 ● Funcionário é ser humano�
 ● Comprometimento da alta administração�
As normas da ISO têm evoluído desde seu surgimen-
to, trazendo o conceito de gestão e riscos� Portanto, 
a estrada percorrida pela qualidade é grande, pois 
tem acompanhado os grandes fatos da humanidade, 
atingindo a tecnologia e a área de softwares�
Modelos e normas de qualidade
A propósito de atender aos requisitos de qualidade 
direcionados aos softwares, modelos, metodologias 
e normas são fortes aliados da melhoria dos proces-
sos internos, através de uma produçãode qualidade 
com o uso da normatização de produtos e serviços� 
Ter um programa de qualidade dentro da empresa 
significa que a qualidade começa com um processo 
de documentação dos processos, em que se criem 
28
rotinas de processos realizados� A partir desse ponto, 
como se pode conferir em um mapa, promovem-se 
melhorias dentro das normas ditadas pelos critérios 
de qualidade�
Esse levantamento mede todas as atividades reali-
zadas na empresa, tudo que é necessário para que 
o processo seja realizado, desde a estrutura (física e 
lógica) até os recursos necessários (humanos, har-
dware e software)�
Com isso, as mudanças necessárias acontecem e 
passam a medir segundo os indicadores (resultados) 
auferidos a partir da implantação de normas e pa-
drões de qualidade� Dentro da qualidade de software, 
podemos destacar alguns indicadores de qualidade:
 ● Referente ao produto�
 ● Referente ao processo de desenvolvimento�
 ● Referente ao nível de maturidade�
No tocante a resultados na implantação de um siste-
ma de qualidade, o carro-chefe é controlar e avaliar 
a produção em todas as suas fases� O controle de 
qualidade faz parte da fase em que o mercado se 
encontra atualmente, seja ele de tecnologia seja de 
qualquer outro seguimento. A ISO nos traz exatamen-
te isso: o foco na gestão de qualidade de processos� 
Contudo, tudo isso só faz sentido quando está atre-
lado à satisfação do cliente�
Os resultados são visíveis, pois as normas se torna-
ram poderosas ferramentas para a produtividade e 
a inovação, elevando as empresas a outro patamar, 
29
trazendo facilidade e economia ao dia a dia, promo-
vendo o sucesso. Tudo isso com a garantia de que 
os produtos consumidos foram submetidos a um 
controle de qualidade, o que nos dá segurança de 
ter algo realmente bom nas mãos�
A Organização Internacional de Padronização (ISO) 
edita padrões e normas desde 1947. Tais normas e 
padrões visam a melhorar a qualidade de produtos, 
produção ou serviços�
Essas normas tratam de vários processos, os quais 
perpassam a construção de softwares, o desenvolvi-
mento, a usabilidade, o valor de mercado e a gestão 
ambiental agregada à segurança da informação� Em 
outras palavras, perpassa todos os seguimentos de 
mercado�
A aplicação das normas de qualidade traz harmonia, 
de modo que a expectativa do cliente e a produção 
do produto sejam direcionadas ao mesmo fim, o que 
melhora e traz os seguintes benefícios:
 ● Melhora e facilita as trocas comerciais nacionais 
e internacionais�
 ● Melhora a estrutura da economia� 
 ● Melhora a proteção e a confiança dos 
consumidores�
Além disso, as normas certificam produtos e serviços 
no mundo todo, e tudo isso pautado nas diretrizes 
que norteiam a implantação dentro das empresas de 
um Sistema de Gestão de Qualidade. A partir desse 
30
momento, há um sistema de gestão de qualidade, 
que é a série de normas da ISO 9000 (de 9000 a 
9004), as quais têm orientado desde o atendimento 
até a produção final da empresa, implementando um 
novo conceito de qualidade total�
Dentro da família ISO 9000, temos a ISO/IEC 9126, 
uma norma criada especialmente para a qualidade de 
desenvolvimento de produtos de software� A norma 
contempla um conjunto de parâmetros cujo foco 
principal é a padronização da inspeção e a qualidade 
de software� Observe a Figura 6:
Qualidade 
interna
e externa
• Adequação
• Acurácia
• Interoperabilidade
• Segurança de acesso
• Conformidade
Funcionalidade
• Inteligibilidade
• Apreensibilidade
• Operacionabilidade
• Atividade
• Conformidade
Usabilidade
• Analisabilidade
• Modificabilidade
• Estabilidade
• Testabilidade
• Conformidade
Manutenibilidade
• Comportamento em 
relação ao tempo
• Utilização de
recursos
• Conformidade
Eficiência
• Maturidade
• Tolerância e falhas
• Recuperabilidade
• Conformidade
Confiabilidade
• Adaptabilidade
• Capacidade para ser 
instalado
• Coexistência
• Capacidade para 
substituir
• Conformidade
Portaibilidade
Figura 6: Resumo da qualidade. Fonte: Elaboração Própria.
Em relação às normas referentes à qualidade de sof-
tware, muitas foram criadas de uma maneira especial 
para atuar na qualidade de software, mas vamos à 
ISO/IEC 14598, que tem destaque especial por avaliar 
se a empresa ou entidade que vai desenvolver o sof-
tware atende a todos os requisitos necessários para 
fabricar um sistema� Já a norma ISO/IEC 15504 foi 
desenvolvida a partir de um estudo sobre a necessi-
dade de padrões internacionais para a avaliação de 
processos de software�
31
Seguindo a lógica de conceito quanto às normas 
ISO, temos:
 ● Primeiro: estabelece-se um padrão de qualidade 
para o software dentro da família de normas ISO 
9000.
 ● Segundo: estabelece-se um padrão de qualidade 
das empresas que vão desenvolver o software�
 ● Terceiro: estabelece-se um padrão internacional 
de desenvolvimento de software�
Na Figura 7, temos um mapa mental de como tudo 
está inter-relacionado:
• Maturidade
• Disponibilidade
• Tolerancia a Falhas
• Recuperabilidade
Confiabilidade
• Confidencalidade
• Integridade
• Não recuperação
• Accountability
• Autenticidade
Segurança
• Modularidade
• Recusabilidade
• Analisibilidade
• Modificabilidade
• Testabilidade
Manutenbilidade
• Adaptabilidade
• Instabilidade
• Substituibilidade
Portabilidade
• Completude 
funcional
• Correção funcional
• Propriedade 
funcional
Adequação Funcional
• Comportamento de 
tempo
• Utilização de 
recursos
• Capacidade
Eficiencia de 
Desempenho
• Co-existência
• Interoperaibilidade
Compatibilidade
• Adaptabilidade
• Instabilidade
• Substituibilidade
Usabilidade
Qualidade de produto de 
sistema e software
Figura 7: Qualidade de produto de sistemas e softwares. Fonte: 
Elaboração Própria.
Concluímos que, dentro das normas ISO, a qualidade de 
software na Engenharia de Software trabalha com padrões 
internacionais de qualidade, para clientes e empresas�
32
FIQUE ATENTO
O que significa IEC?
IEC é um acrônimo de International Electrotechnical 
Commission. Trata-se de uma organização mundial 
que prepara e publica Normas Internacionais em 
parceria com a ISO� Assim, comprova a qualidade 
para as áreas de tecnologia, elétrica, eletrônica e cria 
normas e certificados para áreas como eletrônica, re-
des, eletromagnética, performance, segurança e meio 
ambiente� As Normas da IEC atestam e facilitam o 
comércio internacional, tendo como base as normas 
que servem de referência para o funcionamento do 
acordo sobre Barreiras Técnicas ao Comércio da 
Organização Mundial do Comércio (OMC)�
A qualidade de software não se restringe às normas 
ISO. Na década de 1980, o Departamento de Defesa 
dos Estados Unidos criou um modelo de avaliação de 
risco chamado Capability Maturity Model (CMM), ou 
Modelo de Maturidade e Capacitação� A partir dos anos 
1990, sofreu uma evolução e passou a ser Modelo de 
Maturidade da Capacitação para Software (CMMI)�
O modelo de riscos passou a ser um manual das 
melhores práticas para o desenvolvimento e a pro-
dução de software� Vem com a proposta para que 
empresas e organizações produtoras de software 
entrem em um processo de evolução, de acordo com 
os níveis de capacitação e maturidade impostos nas 
melhores práticas, ou seja, a mudança da empresa, 
acompanha a mudança na a produção de software, e 
33
ambos caminham com a qualidade esperada, prazos 
e recursos acordados�
Baseado na Engenharia de Software, o CMMI foca a 
documentação dos processos e pauta melhorias a 
partir do que está documentado, mesmo que exis-
tam adaptações de acordo com a cultura organiza-
cional da empresa, ou modificações já constituídas 
em projetos por ela desenvolvidos, minimizando os 
impactos negativos do retrabalho, custos com re-
cursos adicionais, processos desorganizados, fatos 
decorrentes da falta de documentação e análise�
Além disso, o Brasil também tem um padrão criado 
para a melhoria de desenvolvimento de software: O 
modelo MPS�BR�
O Modelo MPS�BR (Melhoria de Processo do Software 
Brasileiro) foicriado em 2003 pela Associação para 
Promoção da Excelência do Software Brasileiro 
(Softex) com vistas a criar um padrão brasileiro 
para empresas brasileiras de desenvolvimento de 
software, com reconhecimento nacional e interna-
cional, mas com custo mais baixo em certificação 
(SOFTEX [s. d.])�
Existem normas e procedimentos diversos, e até 
entendemos o que eles significam para a qualidade 
de software�
FIQUE ATENTO
Muitas são as normas e certificações na área de 
qualidade de software� Para aprofundar seu en-
34
tendimento em normas ISO, acesse o site: http://
www.abnt.org.br�
Você pode entender mais do modelo CMMI se ins-
crevendo em: https://cmmiinstitute.com/. Também 
pode acessar o modelo brasileiro na integra em: 
http://softex.br/mpsbr/modelos/#mpssw
Aplicação da qualidade em softwares
Erros e defeitos geram custos que oneram os pro-
dutos� Quando falamos em qualidade, o impacto é 
grande para empresas e usuários� Pense no risco, 
por exemplo, de um software instalado na UTI de 
um hospital apresentar defeitos�
O hospital terá que contratar recursos para avaliar e 
consertar, mas a vida dos pacientes estará em risco� 
Trata-se de um caso que poderia ser checado antes, 
se os riscos fossem levantados no desenvolvimento 
do software�
 Então, quer dizer que usando qualidade no desen-
volvimento de software os problemas acabam? A 
resposta é não� Mas eles podem ser tratados antes; 
o problema que aconteceu depois de implantado 
pode ser resolvido com testes antes da implantação�
Se a qualidade de software não fosse aplicada, ne-
nhuma empresa de software sobreviveria, mediante 
perdas financeiras com consertos. A tecnologia é 
um item que já foi incorporada à nossa civilização� 
Uma simples alteração em um número, como quando 
35
http://www.abnt.org.br/
http://www.abnt.org.br/
https://cmmiinstitute.com/
adicionaram o 9 aos celulares, sem a aplicação de 
qualidade, seria uma grande catástrofe�
Quanto mais fácil, prático e com as melhores con-
dições de segurança e manutenção, mais interes-
sante é um software� A qualidade de software gera 
segurança, pois toda estrutura de desenvolvimento 
baseia-se em normas e procedimentos que geram 
produtos de qualidade� Sempre em conformidade 
com as necessidades dos usuários�
Melhoria da Qualidade de 
Software
Dentro de todo o processo de qualidade, temos o 
de melhoria contínua, desde a fase de testes até a 
implantação� Serve tanto para pequenos projetos 
(aplicativo de smartphone) quanto para projetos de 
grandes empresas. Nesse processo, o usuário final 
tem um papel primordial, porque parte da premissa 
que todos os processos são avaliados, o usuário é a 
melhor pessoa para nos falar se o software entregue 
é condizente com o que foi pedido, planejado e feito�
Para isso, recorremos a duas ferramentas simples 
antes, durante e depois do desenvolvimento de 
software:
 ● Ações corretivas: são apontadas na fase de teste 
do software e estão ligadas a não conformidades� 
Por exemplo, softwares com falhas na exposição de 
dados de clientes, que são detectadas e corrigidas a 
tempo para não gerar impactos ruins à empresa, por-
36
que é uma falha relevante� Isso entra em um padrão 
de não conformidade, dentro dos padrões de quali-
dade, e que pode ser melhorada� As ações corretivas 
podem acontecer depois da implantação também�
 ● Ações preventivas: são ações levantadas antes 
que o problema aconteça, antes de gerar uma não 
conformidade� Em geral, durante o levantamento de 
riscos, são levantados os riscos, as ações preventivas 
que eliminam ou diminuem o impacto na implantação 
do software�
Essas ações funcionam na prática mais ou menos 
assim: criei um aplicativo para entregar gás, mas ele 
misturava os preços� Detectei o problema a partir de 
um teste, no qual as tabelas de preços não estavam 
configuradas corretamente. Tirei o aplicativo do ar e 
apliquei as ações corretivas e preventivas:
 ● Ação corretiva: ao detectar o problema das tabelas, 
corrigi o problema de desenvolvimento e progra-
mei uma manutenção e a atualização periódica das 
tabelas�
 ● Ação preventiva: antes da liberação do aplicativo, 
listei as modificações feitas, informei e treinei os 
usuários para uso do aplicativo, coloquei em período 
de testes e corrigi os problemas no cronograma de 
manutenção, para isso não ocorrer jamais�
O projeto não acaba na implantação, o acompanha-
mento do produto, sua manutenção e melhorias têm 
de ser constantes�
Acesse o Podcast 1 em módulos
37
Otimização nos processos de criação de 
software
O mundo está cada vez mais rápido, e as empresas 
de sistemas buscam a padronização de processos, e 
a gestão de projetos busca a otimização dos produ-
tos e o sucesso nas entregas, bem como a melhoria 
contínua de produtos e operações�
Então, a Metodologia Ágil (ágile) aparece trazendo 
uma proposta diferente, que acompanha o ritmo do 
mundo, pois tem a rapidez nas entregas, o trabalho 
em equipe e a diminuição de hierarquia, fatores que 
trazem ganhos rápidos� Chamam a atenção das orga-
nizações que trabalham diretamente em seguimentos 
atrelados à tecnologia�
A Metodologia Ágil vem com a proposta de melho-
rar a qualidade e a produtividade dos projetos� Com 
isso, chegamos à conclusão de que ela é capaz de 
melhorar realmente as perspectivas de sucesso do 
seu negócio�
A partir das mudanças propostas no Manifesto Ágil, 
muitas ferramentas foram criadas e chamadas de 
metodologias ágeis, por apenas agilizar o lado ope-
racional da equipe, melhorando a sua produção�
Essa metodologia não deixa de ser um modelo pio-
neiro de projeto que visa a transpor barreiras para dar 
autonomia às empresas que buscam agir quando há 
atrasos e eventuais problemas nos projetos� Além da 
divisão de fases, há os ciclos pequenos de entrega 
que promovem maior conexão entre clientes e equipe 
38
de desenvolvimento� Esses ciclos de entregas par-
ciais dão ao cliente o valor agregado de resultado, 
antes mesmo de o projeto terminar�
E qual é a implicação do Manifesto Ágil 
em meio a tudo isso?
A história começou nos EUA, nos anos 2000, quan-
do um grupo de 17 desenvolvedores renomados se 
reuniu em Utah, para encontrar a melhor forma de 
desenvolvimento; seu objetivo era encontrar novos 
meios de execução dos projetos baseados em experi-
ências, pois o modelo tradicional já não se encaixava 
na nova realidade�
Nasceu assim o documento assinado por eles, o 
chamado Manifesto para o Desenvolvimento Ágil de 
Software, no qual foram criadas as bases da metodo-
logia ágil, do qual destacamos quatro fundamentos-
-chave, que norteariam os projetos:
 ● Indivíduos e interações eram mais importantes do 
que os processos e as ferramentas�
 ● Softwares funcionais e otimizados eram mais im-
portantes do que uma documentação abrangente�
 ● Colaboração ao consumidor/cliente satisfeito aci-
ma de uma negociação de contratos�
 ● Responder a transformações/mudanças viáveis 
no meio do projeto, nada engessado�
O conceito de projetos agora passa a ser aquele em 
que o cliente estivesse satisfeito, e que agregasse 
39
valor ao que foi produzido e entregue a ele� O trabalho 
aqui é conjunto e agregado�
O cliente passa a ser a peça-chave dos projetos, o 
que faz com que a metodologia junte sua filosofia 
e um tratado das melhores práticas e regras de de-
senvolvimento para otimizar e melhorar as fases e o 
projetos entregues, assim como os itens produzidos�
Portanto, chega-se ao conceito de que as metodolo-
gias ágeis têm como objetivo otimizar e obter resul-
tados de maneira mais firme do trabalho das equipes 
de projetos proporcionando aos clientes, os melhores 
resultados foram gerados a partir dos 12 princípios 
(SANTOS, 2013):
 ● A prioridade é a satisfação do cliente; isso ocorrerá 
por meio de entregas de valor agregado e contínuo 
e em prazos rápidos�
 ● O projeto é aberto a mudanças nos requisitos, mes-
mo que já levantados, em qualquer fase do processo. 
Ambientes flexíveis podem ser aplicados em qual-
quer fase do projeto para quea entrega ao cliente 
crie, por exemplo, lucros ou vantagens de mercado.
 ● Entregas frequentes (fases de curto prazo para 
projetos de produto ou serviço)�
 ● Envolvimento da equipe de projetos e cliente em 
todas as entregas do projeto�
 ● Ambiente favorável para clientes e equipes de su-
porte, com acesso a ferramentas, suporte e projeto 
(ambiente transparente)�
40
 ● Uso da comunicação contínua e pessoal sem 
muitas barreiras para a equipe e para os clientes, 
entrosamento das partes� Aqui chamamos a aten-
ção especial para reuniões presenciais sempre que 
possível, pois são as mais eficientes para o sucesso 
do projeto�
 ● Um projeto entregue com sucesso é um projeto 
entregue no prazo e funcionando� No caso da tecno-
logia, o produto entregue consiste em entregar um 
software funcionando�
 ● O ritmo de trabalho dos profissionais envolvidos 
no processo em que usamos a metodologia ágil tem 
que manter o ritmo de trabalho independente de mu-
danças, porque os processos de fluxos ágeis tendem 
a estimular uma entrega harmoniosa e sustentável�
 ● Ater-se sempre à excelência de design e técnica, 
melhora e atinge resultados mais satisfatórios do 
que os esperados, além da rapidez das entregas�
 ● Cortar os esforços que não agregam valor ao pro-
duto, porque a otimização, a desburocratização e a 
simplicidade são primordiais�
 ● Equipes coesas e autogeridas, bons profissionais 
que conseguem deslanchar tanto o desenvolvimento 
quanto a comunicação com o cliente sem burocra-
cia, capazes de resolver problemas sem colocar o 
projeto em risco�
 ● Intervalos regulares de planejamento, o time de 
colaboradores do projeto em processo de melhoria 
contínua busca otimizar o seu comportamento e 
prazos ao longo do projeto�
41
Com o aumento da satisfação do público com entre-
gas rápidas e comunicação constante entre a equipe 
de desenvolvimento do projeto e os clientes, a redu-
ção de custos é clara, porque não há necessidade 
de um time enorme, mas sim de um time eficiente.
A redução dos prazos de entrega e o valor agrega-
do das entregas mostram que é possível fazer um 
casamento feliz entre o planejado no cronograma 
de execução de orçamento do projeto, o valor agre-
gado com as etapas e entregues de acordo com as 
necessidades dos clientes�
O impacto da melhoria na entrega dos 
softwares
Melhorias no caso do desenvolvimento de software 
passam por algumas fases que determinam o proje-
to� A melhoria de processos, implícita na engenharia 
de software e presente na qualidade dos softwares, 
tem como objetivo principal a entrega do melhor 
produto possível, dentro do menor prazo e custo� 
Assim, tende a otimizar cada uma das atividades do 
projeto a implantação, promovendo a escalabilidade, 
a mensuração, a eficiência e a eficácia em cada fase 
do projeto, eximindo custos extraordinários, otimi-
zando processos e trazendo ganhos ao processo de 
desenvolvimento e implantação�
Analisemos quatro pontos essenciais para a melhoria 
de processos acontecer:
42
 ● Contato com o cliente: é o momento de interação 
com o cliente e com o qual se expressa sua opinião, 
ou seja, se é satisfatória ou não�
 ● Gargalos no desenvolvimento: são os pontos crí-
ticos, com grau de risco médio ou alto que afetam o 
projeto de software e têm impacto direto no tempo 
do projeto, provocando atrasos, acúmulo de tarefas 
e, caso não sejam resolvidos a tempo, tornam o de-
senvolvimento de software um fracasso�
 ● Valor agregado a entregas e atividades: as entre-
gas e atividades de um projeto de desenvolvimento 
de software têm que agregar valor ao negócio do 
cliente, por isso devem caminhar para melhorar ao 
máximo seu valor para o negócio, pois são os pro-
cessos que agregam vantagens aos clientes�
 ● Integração de sistemas: pode-se ter a opção dos 
softwares com integração com outros sistemas, 
facilitando as melhorias e com um plano de conti-
nuidade, pois há condições da troca de informações 
e economia com a compra de outros softwares�
Com a evolução da tecnologia, foram necessárias al-
gumas técnicas de melhoria dos processos� A seguir, 
listamos algumas que têm feito sucessos na busca 
por produtividade, economia e eficiência:
 ● Business Process Management (BPM): na busca 
por melhoria de processos, é uma metodologia que 
visa a analisar os processos e a influência do am-
biente externo no ambiente interno das empresas. 
Seu ponto forte são a transparência das informa-
ções e os procedimentos, isto é, o apontamento de 
43
processos assim que podem ser melhorados� Como 
trabalha em cima dos processos da empresa e com 
transparência, promove uma gestão e controle ad-
ministrativo eficazes, com mais automação e ganho 
de produtividade�
 ● Ciclo PDCA: é uma poderosa ferramenta usada 
pelas empresas devido à sua simplicidade e eficácia, 
pois em quatro passos é possível fazer um planeja-
mento estratégico, estudar os processos, melhorá-
-los e promover um acompanhamento contínuo, pois 
suas quatro fases são: Planejar, Fazer, Avaliar e Agir� 
É extremamente importante nos ciclos de melhoria 
contínua (Figura 8):
Ajustar Planejar
Estudar Executar
Ajustar Planejar
Estudar Executar
Melhoria
contínua
Padrão
Padrão
Consolidação
através de
 padronização
Melhoria
de qualidade
Tempo
Figura 8: Ciclo PDCA. Fonte: Elaboração Própria.
 ● Capability Maturity Model Integration (CMMI): é a 
melhoria de uma metodologia� É praticamente um 
sistema de maturidade em desenvolvimento de sof-
twares� Baseado em processos, podemos dividi-lo 
em três partes que são referência de boas práticas 
na melhoria dos processos:
44
 ○ CMMI-DEV: criada para desenvolvimento de 
softwares�
 ○ CMMI-SVC: criada para o fornecimento de serviços�
 ○ CMMI-ACQ: criada para a aquisição de produtos 
e serviços�
Um diferencial muito importante CMMI é a certifica-
ção que garante à empresa um modelo baseado em 
maturidade em desenvolvimento específico de sof-
tware nacional e internacionalmente� Uma empresa 
com certificação CMMI é possível ter excelência de 
qualidade tanto no desenvolvimento, atendimento 
e na entrega de um software, e seus resultados são 
garantidos� E isso é um diferencial no mercado�
Acesse o Podcast 2 em módulos
Segurança de Software
Atualmente, a informação é uma arma estratégica 
em qualquer empresa e um triunfo ou fracasso de 
acordo com a gestão� A segurança da informação 
tem função primordial e faz parte do negócio, não 
do suporte das empresas�
Dependendo do nicho de negócio, falhas de segu-
rança trazem prejuízos enormes para as organiza-
ções� Portanto, é primordial que todas as vulnerabi-
lidades sejam de estrutura, sistema e dados sejam 
bloqueadas�
45
O que é vulnerabilidade?
A vulnerabilidade é definida como uma falha que 
pode ser explorada e que pode terminar como uma 
inacessível� As vulnerabilidades dos softwares não 
estão restritas ao desenvolvimento, mas a todo o 
ambiente relacionado, como estrutura, dados e am-
biente� Dentre milhares de formas de ataques às vul-
nerabilidades, enumeramos oito para nosso melhor 
entendimento:
1. Controle de acesso físico e remoto a áreas restri-
tas da empresa: controle de acesso tem que passar 
por um crivo da segurança da informação� Muitas 
falhas acontecem por acesso indevido�
2. Sustentabilidade: ameaças naturais existem, e 
a empresa tem que manter uma rotina sólida de 
backup mínimo e uma rotina de contingência e di-
saster recovery, pois alagamentos, incêndios e ou-
tros desastres naturais podem acontecer, por isso, 
é necessário reconstruir o ambiente�
3. Gente: muita gente acha que é hacker e gosta 
de invadir e-mails, empresas, mas só conseguem 
porque as portas estão abertas para isso acontecer� 
Políticas de segurança são primordiais em uma em-
presa, assim como o treinamento dos funcionários�
4. Investimento em estrutura: máquinas velhas, falta 
de firewall, antivírus, data center local, falta de atuali-
zações, licenciamento vencido, rede elétrica precária, 
rede física em frangalhos etc�, tudo isso contribui 
paraque existam brechas vulneráveis.
46
5. Investimento em sistemas: atualizações de sis-
temas de acordo com a política da empresa e a le-
gislação vigente�
6. Dispositivos externos: voltamos à política de se-
gurança, HD externo, pen drives etc., têm que ter 
local e política dentro da empresa para ser usados, 
tudo isso respeitando acesso, hierarquia e proteção 
de dados�
7. Softwares de comunicação: Skype, WhatsApp, 
Messenger do Facebook, acessos fora da rede, sem 
notificação também tem que se enquadrar nas polí-
ticas de segurança da empresa�
8. Alinhamento na comunicação da empresa: uma 
política de segurança da informação só funciona 
quando é disseminada por toda a empresa�
Lei de proteção de dados e Qualidade de 
software 
A Lei Geral de Proteção de Dados entrou em vigor 
em setembro de 2020� Atualmente, as empresas de 
software têm se movimentado para capacitar os 
especialistas em desenvolvimento de acordo com 
a legislação, com isso, podem atender a todos os 
requisitos, inclusive aos requisitos de segurança�
A lei tem regras mais rigorosas quanto ao consenti-
mento explícito para a coleta de dados dos usuários 
e o uso desses dados� Há toda uma rotina a ser cum-
prida, que deve aparecer aos usuários uma opção de 
visualizar seus dados, corrigir e excluir esses dados.
47
Por outro lado, é preciso que os usuários entendam 
quais são os riscos que correm por conta da priva-
cidade dos seus dados� Os princípios que norteiam 
a lei são os seguintes:
 ● Qualidade: com base nos princípios das normas 
de desenvolvimento no que tange à qualidade das 
informações, a lei chama a atenção para a segurança 
digital� As empresas precisam focar nesse item e 
adequar os softwares a essa nova realidade�
 ● Consentimento: há necessidade de que os softwa-
res deixem claro para o usuário que eles precisam 
do consentimento dos usuários para o uso dos seus 
dados, isto é, qual a finalidade desse uso.
 ● Finalidade: empresas têm de justificar por que 
precisam dos dados dos usuários� A transparência e 
a responsabilidade devem ser fatores que explícitos 
aos donos da informação� Cada fase tem que ser 
entendida pelo usuário: a coleta, o armazenamento 
e o compartilhamento de seus dados precisam estar 
alinhados com a informação declarada�
 ● Necessidade: é preciso ficar claro o tempo de uso 
dos dados e, quando não tiverem mais utilidade, 
devem ser descartados de suas bases� Esse descar-
te de dados precisa ser justificado, pois se houver 
exposição ou vazamento ilegal a empresa vai ser 
penalizada� Isso garante que as informações sejam 
justificadas quanto ao seu uso.
 ● Integridade: dados precisam ser verdadeiros; com 
isso, a garantia de transparência das informações 
48
precisa ser correta e autorizada para uso� Dados falsos 
levam a fraudes, um cenário que deve ser evitado�
 ● Confidencialidade: controle e gerência dos dados 
são fundamentais para que possam ser usados pelas 
empresas�
 ● Disponibilidade: dados têm de permanecer em am-
biente seguro, ou seja, precisam estar disponíveis para 
acesso a qualquer hora� Políticas de segurança como 
backup, contingência e recuperação de informação 
são premissas básicas para que os dados possam 
ser usados e disponibilizados� O usuário deve ter a 
liberdade para acessá-los a qualquer instante�
 ● Autenticidade: autenticidade desses dados tem 
que ser garantida� É necessário que seja possível 
validar a identificação do usuário com os dados 
coletados�
 ● Dados sensíveis: são dados referentes a dados de 
condição pessoal, por exemplo: a orientação sexual, 
a saúde, proteção de fraudes, estudos ou pesquisas 
cientificas, religião etc. A lei prevê a diferença entre 
dados pessoais e dados sensíveis� Os pessoais são 
dados de identificação, ao passo que os dados sen-
síveis estão sujeitos à análise tanto quanto ao que 
se refere aos atos como discriminação pessoal�
 ● Abrangência: a lei serve para empresas, terceiros e 
parceiros, todos devem ser enquadrados nos novos 
parâmetros� A norma é válida tanto para empresas 
nacionais quanto para as internacionais, que trami-
tem com dados de pessoas brasileiras�
49
 ● Comunicação: há uma mudança na comunicação 
entre empresa e cliente� No que se refere à transpa-
rência, caso a empresa sofra algum crime virtual ou 
ataque, ela deve comunicar ao usuário que cedeu os 
dados a ela� A empresa tem que comunicar os órgãos 
fiscalizadores, informando quais são as medidas 
adotadas por parte da empresa�
REFLITA
O que você precisa saber sobre a lei de proteção 
de dados?
A lei de proteção de dados visa a diminuir ou aca-
bar com os problemas de segurança� Devido aos 
avanços da internet e da tecnologia, muitos da-
dos são manipulados sem o consentimento das 
pessoas� A pertinência da lei mostra-se em casos 
como o da Netshoes, empresa que vazou dados 
pessoais de milhares de clientes e só informou as 
vítimas semanas ou meses depois que o incidente 
aconteceu� Entenda o caso acessando: https://
introduceti.com.br/blog/seguranca-os-maiores-
-vazamentos-de-dados-em-2018/
Após estudar e discutir esse caso da Netshoes, 
você tem ideia o que as empresas fazem com to-
dos os dados que você coloca na internet? Reflita.
50
https://introduceti.com.br/blog/seguranca-os-maiores-vazamentos-de-dados-em-2018/
https://introduceti.com.br/blog/seguranca-os-maiores-vazamentos-de-dados-em-2018/
https://introduceti.com.br/blog/seguranca-os-maiores-vazamentos-de-dados-em-2018/
CONSIDERAÇÕES FINAIS
A Engenharia de Software tem um papel muito im-
portante no interior do desenvolvimento de software, 
por regulamentar, propor que softwares sejam trata-
dos como projetos e que os resultados dos projetos 
fossem mensurados e agregassem valor ao cliente�
Toda metodologia de Engenharia de Software é 
pautada em processos� E o cliente passa de ator 
coadjuvante a parceiro de desenvolvimento desses 
softwares� Assim, muitas metodologias foram cria-
das e temos, atualmente, até uma certificação em 
maturidade de desenvolvimento de software (CMMI), 
bem como uma metodologia brasileira em qualidade 
de software� A tecnologia evoluiu; com ela, a segu-
rança e a praticidade de desenvolvimento igualmente 
evoluíram�
Com a Lei de Proteção de Dados, os softwares, alia-
dos aos conceitos de qualidade, têm mais essa evo-
lução pela frente� Portanto, a qualidade de software 
tem um papel fundamental no desenvolvimento de 
sistemas�
51
SÍNTESE
• O que é qualidade?
• Modelos e normas de qualidade. 
• Aplicação da qualidade em softwares.
ENGENHARIA DE SOFTWARE – CULTURA E ÉTICA:
HISTÓRIA E FUNDAMENTOS
DA QUALIDADE DE SOFTWARE
 
QUALIDADE DE 
SOFTWARE
Neste módulo, estudamos os conceitos de Engenharia de Software, Qualidade de Software, 
Normas e Metodologias e Segurança de Software. Com isso, entendemos como chegamos 
às metodologias que praticamos atualmente, bem como o quanto a Engenharia de Software 
colaborou para isso.
Para isso, apresentamos e discutimos sobre os seguintes tópicos:
• Engenharia de Software.
• Principais conceitos de Engenharia de Software.
• Projetos em Engenharia de Software.
• Gerência/gestão de projetos.
MODELOS E CARACTERÍSTICAS DE QUALIDADE:
• Otimização nos processos de criação de software.
• O impacto da melhoria na entrega dos softwares.
MELHORIA DA QUALIDADE DE SOFTWARE:
• Lei de Proteção de Dados e Qualidade de Software.
SEGURANÇA DE SOFTWARE:
Referências Bibliográficas 
& Consultadas
ABNT. ASSOCIAÇÃO BRASILEIRA DE NORMAS 
TÉCNICAS. Disponível em: http://www.abnt.org.br� 
Acesso em: 22 out. 2019.
BRAGA, P. H. C. (Org.) Testes de Software� 
São Paulo: Pearson Education do Brasil, 2016 
[Biblioteca Virtual]� 
CMMI INSTITUITE Disponível em https://cmmiinsti-
tute.com/. Acesso em: 22 out. 2019.
ETHOS. Disponível em www.ethos.org.br acesso 
em 09/10/2019
GALLOTTI, G. M. A. (Org.). Qualidade de Software� 
São Paulo: Pearson Education do Brasil, 2016 
[Biblioteca Virtual]� 
GOTTERBARN, D. How the New Software 
Engineering Code of Ethics Affects You� IEEE 
Software Engineering,v. 16, n. 6, nov.-dez./1999. p. 
58-64. DOI: 10.1109/52.805474.
GOTTERBARN, D.; MILLER, K. ROGERSON, S. 
Computer society and ACM approve softwa-
re engineering code of ethics� Computer, v� 
http://www.abnt.org.br
32, n. 10, out./1999. p. 84-88. DOI: 10.1109/
MC.1999.796142.
GUERRA, A. C.; COLOMBO, R. M. T. Tecnologia da 
Informação: qualidade de produto de software� 
Brasília: MCT/Sepin, 2009.
GUIA PMBOK. Um Guia do Conhecimento em 
Gerenciamento de Projetos� 5� ed� São Paulo: 
Project Management Institute (PMI)/Global 
Standard, 2012�
PAULA FILHO, W� P� Engenharia de Software: 
fundamentos, métodos e padrões� 3� ed� Rio de 
Janeiro: LTC, 2009 [Minha Biblioteca]. 
PFLEEGER, S. L. Engenharia de Software: teoria 
e prática� 2� ed� São Paulo: Prentice Hall, 2004 
[Biblioteca Virtual]� 
PRESSMAN, R� S�; MAXIM, B� R� Engenharia de 
Software: uma abordagem profissional. 8. ed. 
Porto Alegre: AMGH, 2016 [Minha Biblioteca]. 
SANTOS, R. Metodologias Ágeis para desenvol-
vimento de software� 2013� Disponível em: http://
www.blogti.microcampsp.com.br/metodologias-
-ageis-paradesenvolvimento-de-software-parte-i/� 
Acesso em: 09 out. 2019 
http://www.blogti.microcampsp.com.br/metodologias-ageis-paradesenvolvimento-de-software-parte-i/
http://www.blogti.microcampsp.com.br/metodologias-ageis-paradesenvolvimento-de-software-parte-i/
http://www.blogti.microcampsp.com.br/metodologias-ageis-paradesenvolvimento-de-software-parte-i/
SCHACH, S� R� Engenharia de Software: os para-
digmas clássico e orientado a objetos. 7. ed. Porto 
Alegre: AMGH, 2010 [Minha Biblioteca]. 
SOFTEX. ASSOCIAÇÃO PARA PROMOÇÃO 
DA EXCELÊNCIA DO SOFTWARE BRASILEIRO. 
Disponível em: http://softex.br/mpsbr/
modelos/#mpssw. Acesso em: 17 out. 2019.
SOLTANI, E.; LAI, P.; JAVADEEN, S.; GHOLIPOUR, 
T. A review of theory and practice of managing 
TQM: an integrative framework. Total Quality 
Management & Business Excellence, v. 19, n. 5, 
2008. p. 461-482.
SOMMERVILLE, I� Engenharia de software� 10� 
ed. São Paulo: Pearson Education do Brasil, 2018 
[Biblioteca Virtual]� 
WINDER, R. ROBERTS, G. Desenvolvendo Software 
em Java. 3. ed. Rio de Janeiro: LTC, 2009 [Minha 
Biblioteca]�
	_GoBack
	INTRODUÇÃO
	QUALIDADE DE SOFTWARE: HISTORICIDADE E FUNDAMENTOS
	Engenharia de Software: Cultura e Ética
	Engenharia de Software
	Modelos e Características de Qualidade
	Melhoria da Qualidade de Software
	Segurança de Software
	CONSIDERAÇÕES FINAIS
	Síntese

Continue navegando