Buscar

[02] QuaSftw Introdução à 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 20 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 20 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 20 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

1
Rafael Targino
rtargino@unicarioca.edu.br
@rafatargino
QUALIDADE DE SOFTWARE
Unidade I - Introdução à Qualidade de Software
2
Qualidade de Software
• O aspecto não repetitivo do desenvolvimento de 
software torna essa atividade difícil e em boa medida 
imprevisível.
• Delimitar o escopo de um sistema não é trivial.
• A volatilidade dos requisitos é lugar comum no 
desenvolvimento de software.
Qualidade de Software
• Necessidades do cliente nem sempre refletem 
as suas necessidades reais:
– Usuário não conhece suas necessidades.
– Essas necessidades podem mudar com o tempo
– Usuários diferentes podem ter ambientes 
operacionais diferentes
– Pode ser impossível consultar todos os usuários de 
um determinado sistema.
3
Qualidade de Software
• Fatores que afetam o desenvolvimento e que 
influenciam no julgamento dos usuários:
– Tamanho e complexidade do software;
– Número de pessoas envolvidas no projeto;
– Métodos, técnicas e ferramentas utilizadas;
– Custo x benefício do sistema;
– Custos associados à existência de erros;
– Custos associados à detecção e remoção de erros;
– Etc.
Queremos Evitar Isso!
4
Erros, Defeitos e Falhas
• Um erro (error) é uma diferença detectada entre o resultado de 
uma computação e o resultado correto ou esperado. Problema 
introduzido no software pelo programador
• Um defeito (fault) é uma linha de código, bloco ou conjunto de 
dados incorretos, que provocam um erro observado. Problema 
encontrado no software pelos testadores. É decorrente de um 
erro.
• Uma falha (failure) é um não 
funcionamento do software, possivelmente 
provocada por um defeito, mas também 
com outras causas possíveis. Problema 
ocorrido no software por um erro não 
detectado pelos testes.
Erros, Defeitos e Falhas
5
Thomas Edison teve problemas de leitura em seu fonógrafo com um
inseto em 1878 e em todos os defeitos industriais passou a
denominá-los como bug.
Curiosidades
Curiosidades
• Primeiro bug em computadores – 1947
– Os engenheiros que trabalhavam com a máquina Harvard Mark I, 
encontraram um inseto nos circuitos. Este inseto estava causando 
um erro nos cálculos da máquina. Ao ser encontrado, o inseto foi 
retirado e colado no livro de registro com a intenção de registrá-lo 
como o primeiro bug encontrado.
6
Formas de Detecção de Erros
• Testes
– Execução do programa em um ambiente controlado e 
verificação da saída produzida
• Revisões
– Inspeções
– Walkthroughs
• Métodos Formais 
– Software provado correto
• Análise Estática
– Detecta condições sujeitas a erros
Engenharia de Requisitos
A Q u a l i d a d e d o S o f t w a r e d e p e n d e 
d a Q u a l i d a d e d e s e u P r o c e s s o d e 
D e s e n v o l v i m e n t o
7
Qualidade do Produto x Qualidade do Processo
• Uma das evoluções mais importantes no estudo da 
qualidade está em notar que a qualidade do produto é 
algo bom, mas que qualidade do processo de produção 
é ainda mais importante. 
•Conjunto de atividades, métodos,
práticas e tecnologias que as pessoas
usam para desenvolver e manter
softwares
•O processo adequado garante que o
software será desenvolvido de maneira
organizada, disciplinada e previsível.
•O processo descreve formalmente e de
forma organizada as atividades que
devem ser seguidas para a obtenção
segura de um produto de software.
•A dificuldade está no gerenciamento do
processo (existem vários modelos), que
geralmente está dividido em fases.
Processo de Desenvolvimento de SW
8
•Análise: Analista com usuários. 
• Requisitos. Interesses  soluções para 
usuário
• Projeto (design): Projetista usa a tecnologia 
• Requisitos tecnológicos  tecnologia para 
usuário
• Implementação: Programador usa L.P.
• Escrita do código  Lógica de programação
• Testes: Testadores com programas / sistema
• Buscar defeitos e falhas nos sistema.
• Homologação ou Aceitação: Com usuários.
• Usuário aprovar o sistema (Participar de 
tudo !!!)
• Implantação: Instalação e treinamento
• Entrega o sistema. 
• Fim do ciclo de desenvolvimento
ANÁLISE
PROJETO
IMPLEMENTAÇÃO
TESTES
HOMOLOGAÇÃO
IMPLANTAÇÃO
Processo de Desenvolvimento de SW
• A maior dificuldade esta na fase 
INICIAL, de entendimento do sistema 
- Requisitos – ALTO grau de 
ABSTRAÇÃO + Comunicação com 
pessoas
• A segunda maior abrangência está 
na modelagem – ALTO Grau de 
ABSTRAÇÃO + domínio das técnicas
• O erros de codificação em si, 
representam um % pequeno, 
mostrando que o foco do problema 
não é da Implementação. 
Onde estão os Defeitos?
9
Qualidade do ProdutoQualidade do Processo
Qualidade de Software A Qualidade do Produto é o 
que buscamos.
A Qualidade 
do Processo é 
o meio para 
conseguirmos.
A Qualidade do produto é fortemente 
influenciada pela qualidade dos 
processos utilizados no seu 
desenvolvimento.
Qualidade do Processo X Qualidade do 
Produto 
• NO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE, A QUALIDADE NÃO 
ATUA COMO UMA FASE ESPECÍFICA – ELA ESTÁ EM TODAS AS FASES
QUALIDADE É ATUAR EM TODAS AS FASES – VERIFICANDO 
CONFORMIDADE COM OS PADRÕES E DEFINIÇÕES
A Qualidade é mais uma Fase no Processo 
de Desenvolvimento de Software?
Concepção Requisitos Design Codificação Testes Implantação
Qualidade
10
Evolução dos Conceitos de Qualidade
A qualidade evolui de um perspectiva mais voltada para o produto 
para uma perspectiva voltada para o processo.
Normas e Organismos Normativos
• As normas internacionais de qualidade são criadas com 
base no trabalho de especialistas no mundo todo. 
• As normas oferecem uma base comum para julgar a 
qualidade de produtos e definir critérios em contratos 
e negociações.
• Essas normas tornam-se a base para especificar 
produtos, organizar fornecimento de serviços e, 
mesmo, para elaborar legislação de vários países.
11
Organismos Normativos: ISO e IEC
• ISO
– International Organizational for Standardization.
– Criada em 1945 para produzir “recomendações“. Ainda não eram normas 
internacionais.
– Possuia 5 documentos em 1952, 57 em 1957 e 1400 em 1965
– Em dezembro de 2005, a ISO chegou a 14.941 documentos internacionais 
de padronização, cotando com quase 150 países participantes.
• IEC
– A Comissão Eletrotécnica Internacional (em inglês: International
Electrotechnical Commission, IEC) é uma organização internacional de 
padronização de tecnologias elétricas, eletrônicas e relacionadas. Alguns 
dos seus padrões são desenvolvidos juntamente com a Organização 
Internacional para Padronização (ISO).
• JTC1
– Comissão conjunta entre ISO e IEC para a definição de normas 
relacionadas a Tecnologia da Informação
Organismos Normativos: ABNT
• ABNT
– A Associação Brasileira de Normas Técnicas (ABNT) é o órgão 
responsável pela normalização técnica no Brasil, fornecendo 
a base necessária ao desenvolvimento tecnológico brasileiro. 
– Trata-se de uma entidade privada e sem fins lucrativos e de 
utilidade pública, fundada em 1940.
– Exemplos de Áreas de Conhecimento que fazem parte de 
estudos para elaboração e atualização dos padrões
• Mineração e Metalurgia
• Construção Civil
• Computadores e Processamento de Dados
• Café
12
Padrões De facto ou De jure?
• Muitas vezes os padrões surgem espontaneamente, a 
partir de uma necessidade de um grupo de usuários ou 
como uma solução a um problema que foi amplamente 
adotada em preferência a outras possibilidades
– De facto é uma expressão em latim, utilizada para designar 
um padrão conhecido e aplicado na prática, mas que não foi 
formalizado com um regulamento ou uma lei escrita. Padrões 
deste tipo são criados involuntariamente.
– De jure é um expressãoem latim que se refere “à lei”. Um 
padrão deste tipo é criado de maneira formal, 
regulamentada. Os documentos criados por organismos 
como IEEE e ISO são considerados padrões de jure.
Certificação de Qualidade
• Um aspecto interessante da qualidade é que não basta 
que ela exista. 
• Ela deve ser reconhecida pelo cliente. 
• Por causa disso, é necessário que exista algum tipo de 
certificação oficial, emitida com base em um padrão
– O selo do SIF de inspeção da carne 
– O selo da ABIC nos pacotes de café 
– A classificação em estrelas dos hotéis (hotéis com cinco 
estrelas são ótimos) 
– Os certificados de qualidade da série ISO 9000 
13
Certificação de Qualidade
• A Certificação em uma norma ou padrão é a emissão 
de um documento oficial indicando a conformidade 
com esta determinada norma ou padrão. 
• Embora uma empresa possa auto-avaliar-se ou ser 
avaliada por seus próprios clientes, o termo 
Certificação costuma ser aplicado apenas quando 
efetuado por uma empresa independente e idônea, 
normalmente especializada neste tipo de trabalho. 
– Exemplo, INMETRO
Engenharia de Requisitos
A Q u a l i d a d e d o S o f t w a r e p o s s u i 
v á r i a s v i s õ e s d e p e n d e n d o d e q u a l 
p a r t e i n t e r e s s a d a
14
Visões de Qualidade de Software
Usuário Desenvolvedor Organização
Facilidade de uso, 
desempenho, 
confiabilidade, 
preço....
Taxa de defeitos, 
facilidade de 
manutenção, 
conformidade em 
relação aos 
requisitos e aos 
padrões técnicos...
Cumprimento do 
prazo, boa previsão 
de custo, boa 
produtividade....
Usuários e suas Preocupações 
• Funciona adequadamente sem imprevistos? Como por 
exemplo, efetuar débito em uma conta corrente com 
saldo insuficiente?
• As funções requeridas estão disponíveis e são 
executadas eficientemente?
• O software é seguro, ou seja, evita que pessoas ou 
sistemas não autorizados tenham acesso aos dados 
para leitura ou modificação? 
• O suporte técnico é confiável e atende com rapidez 
necessária?
15
Qualidade na Equipe de Desenvolvimento
É um compromisso de todos!!!
• Software de Qualidade
• GARANTE A SEGURANÇA das 
transações, dos negócios e 
das pessoas envolvidas
• MANTÉM A ALTA 
DISPONIBILIDADE dos serviços.
Qualidade na Organização
16
• Esforços (recursos) pela 
qualidade nos mais diversos 
setores organizacionais já 
provaram que:
• Os esforços na qualidade 
valem a pena
• se paga em pouco tempo.
O Custo com o Processo de Qualidade se paga?
Orientações Gerais sobre a Gestão da 
Qualidade
• Satisfação do Cliente. Entender, avaliar, definir e 
gerenciar as expectativas para que os requisitos do 
cliente sejam atendidos. Para isso, é necessária uma 
combinação de conformidade com os requisitos (para 
garantir que o projeto produza o que ele foi criado para 
produzir) e adequação ao uso (o produto ou serviço 
deve atender às necessidades reais).
• Prevenção ao invés de Correção. A qualidade deve ser 
planejada, projetada e criada. O custo da prevenção dos 
erros é geralmente muito menor do que o custo de 
corrigir tais erros quando eles são encontrados pela 
inspeção ou durante o uso.
17
Orientações Gerais sobre a Gestão da 
Qualidade
• Melhoria Contínua. O ciclo PDCA (planejar-fazer-verificar-
agir) é a base para a melhoria da qualidade conforme 
definida por Shewhart e modificada por Deming. Além disso, 
as iniciativas de melhoria da qualidade tais como o 
Gerenciamento da qualidade total (GQT), Seis sigma e Lean
seis sigma devem aprimorar a qualidade do gerenciamento 
do projeto e também a qualidade do produto do projeto.
• Responsabilidade da Gerência. O sucesso exige a 
participação de todos os membros da equipe do projeto. 
Todavia, a alta direção, dentro dos seu escopo de 
responsabilidade pela qualidade, retém a responsabilidade 
pelo fornecimento dos recursos adequados, nas capacidades 
adequadas.
Exercício: Dinâmica dos Aviões
18
1. Por que Qualidade é ter conformidade com os requisitos?
• Por que se não atender ao que o usuário precisa (requisitos), o SW não 
terá atingido o seu objetivo e sem isso, não há qualidade.
2. Dentre as fases do processo de desenvolvimento, qual a que concentra maior % 
de defeitos (problemas)?
• Requisitos (Levantamento e Análise), pois a má interpretação do que 
deseja o usuário implica em software que não atende ao que ele quer.
• Erros na fase inicial, se propagados para as fases seguintes, tem maior 
custo de solução. 
3. Quais os problemas, nessas fases iniciais?
• O nível de abstração necessário é alto e os sistemas podem ser complexos
4. A qualidade deve ser então uma FASE adicional no processo de 
desenvolvimento?
• NÃO, a qualidade deve ser aferida em TODAS as fases do processo.
PERGUNTAS E RESPOSTAS
5. Quais as dificuldades em se prover qualidade no processo?
• Ausência de procedimentos claros, até mesmo de um processo 
definido
• Ausência de técnicas de desenvolvimento (análise, projeto e 
programação)
• Ausência de registro das decisões e modelos (documentação)
6. Por que devemos nos preocupar com qualidade no processo?
• Porque é através do processo que se gera o produto (PROCESSO 
MANUFATURADO).
• Para garantir que os produtos desenvolvidos por aquele processo 
tenham as mesmas características (minimiza a subjetividade)
PERGUNTAS E RESPOSTAS
19
7. Como a qualidade se reflete no processo?
• Redução de custos (menos retrabalho e menos perdas)
8. Como a qualidade se reflete no produto?
• Reaproveitamento de código
• Código mais legível (entendimento de terceiros)
• Facilidade de manutenção
• Melhoria de uso para o Usuário
9. O custo para se implementar o gerenciamento da qualidade vale a pena?
• Sim, o custo se paga, pois a qualidade no processo e no produto traz 
satisfação ao cliente e consequente aumento de participação no mercado 
(mais receitas). 
PERGUNTAS E RESPOSTAS
10. Na prática como se dá a aferição da qualidade no processo e no produto?
• No processo  através de revisões nos modelos e documentação, 
verificando se estão em conformidade com os requisitos, com os padrões 
da empresa e em conformidade com o modelo anterior.
• No produto  através de testes durante a fase de implementação (testes 
unitários e testes integrados) e durante a fase de testes (testes de 
sistema e homologação).
PERGUNTAS E RESPOSTAS
20
11. Por que empresas buscam certificações de Qualidade?
• Exigências de empresas que necessitar os serviços do fornecedor, como 
orgão governamental, empresa multinacional. 
• Organizar os processos da empresa para um crescimento, que traz em si a 
necessidade de certificação
12. O que garante uma certificação?
• Que o fornecedor foi avaliado e julgado por um organismo certificador 
(ISO/IEC, NBR)
13. A certificação é para sempre?
• NÃO, a empresa é avaliada de tempos em tempos 
14.Existem certificações específicas para o processo e produto de software?
• Sim, tanto para garantir um processo de qualidade, como para garantir 
um software de qualidade
PERGUNTAS E RESPOSTAS
Referências Bibliográficas
• KOSCIANSKI, A. e SOARES, M. S. 
Qualidade de Software. NOVATEC.
• PRESSMAN, R. S. Engenharia de 
Software. McGraw Hill,
• Notas de Aula do Prof. David 
Zanetti, Qualidade de Software -
Unicarioca

Outros materiais