93
Qualidade de Qualidade de Software Software Prof. Msc Sílvio Bacalá Júnior 2011 SBJ 1

Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Embed Size (px)

Citation preview

Page 1: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Qualidade de Qualidade de SoftwareSoftware

Prof. Msc Sílvio Bacalá Júnior

2011 SBJ 1

Page 2: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Objetivos da DisciplinaObjetivos da Disciplina Introduzir o conceito de qualidade Conhecer a história da qualidade Conhecer os princípios básicos de qualidade Ter uma visão sistêmica da gestão da

qualidade total nas empresas

2011 SBJ

Page 3: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Bibliografia BásicaBibliografia Básica KOSCIANSKI, A. SOARES, M. Qualidade de

Software. Novatec. 2006. ROCHA, A. MALDONADO, J. WEBER, ª A

Qualidade de software - Teoria e Prática. Prentice Hall. 2001.

WEBER, K. ROCHA, A. NASCIMENTO, C. Qualidade e Produtividade em software. Makron Books. 2001.

2011 SBJ

Page 4: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Bibliografia Bibliografia ComplementarComplementar ANTONIONI, J. ROSA, N. Qualidade em

Software: Manual de aplicação da ISO-9000. Makron Books. 1995.

FERNANDES, A. KUGLER, J. Gerência de Projetos de Sistemas: Uma abordagem prática. LTC. 1990.

PRESSMAN, R. Engenharia de Software. Makron Books. 1995.

WEINBERG, G. Software com qualidade. Volumes 1,2 e 3. Makron Books. 1997.

2011 SBJ

Page 5: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

CritériosCritérios parapara AvaliaçãoAvaliação Provas:

P1 : 12/04 (APE1 - 16/04) P2 : 13/05 (APE2 – 28/06)

Trabalhos em grupo (T): T1 – 12/04 T2 – 13/05

Prova Suplementar: (06/07) Matéria toda

Pontuação sem PGI: P1 = 30; P2 = 40; T = 30

Pontuação com PGI: P1 = 25; P2 = 30; T = 20; PGI = 25

2011 SBJ

Page 6: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

ContextualizaçãoContextualização Globalização Novas exigências, alta competitividade, concorrência internacional Qualidade como Arma Competitiva Equiparação com padrões internacionais, garantia de conformidade do produto, garantia da satisfação do cliente No contexto dos Sistemas de Informação Garantia de conformidade do software com os requisitos especificados qualidade de software

2011 SBJ

Page 7: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Por quê da engenharia de Por quê da engenharia de softwaresoftware Análise versus síntese de um problema

O processo de análise

2011 SBJ

Page 8: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Por quê da engenharia de Por quê da engenharia de softwaresoftware Análise versus síntese de um problema

O processo de síntese

2011 SBJ

Page 9: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Por quê da engenharia de Por quê da engenharia de softwaresoftware Método ou técnica: procedimento para a produção de um

resultado.

Ferramenta: instrumento ou sistema automatizado para realizar alguma coisa.

Procedimento: receita de combinação de ferramentas e técnicas.

Paradigma: estilo de fazer algo, representa uma abordagem ou filosofia para a construção de software.

Ex.: um chefe de cozinha prepara um molho combinando ingredientes em uma ordem e momentos específicos.

Ex.: máquina de escrever, tesoura.

Ex.: plano de testes.

Ex.: cozinha francesa, chinesa, orientado a objetos, procedural.

2011 SBJ

Page 10: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Abordagem de sistemasAbordagem de sistemas Identificar atividades e objetos. Definir as relações e fronteiras do sistema. Considerar sistemas inter-relacionados.

Participantes no desenvolvimento de software

2011 SBJ

Page 11: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Abordagem de sistemasAbordagem de sistemas

Definição do sistema de produção de contracheques

2011 SBJ

Page 12: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Abordagem de sistemasAbordagem de sistemasResolver o problema?Construir uma solução?Construir uma solução sem

defeito?Construir uma solução

correta?Construir uma solução com

qualidade?

2011 SBJ

Page 13: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

QualidadeQualidade■ Termo que pode ser definido de várias

formas, causando mal-entendidos:• Qualidade não tem um único sentido;

• Para cada conceito existem vários níveis de abstração;

• Visão popular pode ser diferente do seu uso profissional.

2011 SBJ

Page 14: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Qualidade: Visão PopularQualidade: Visão Popular termo indefinível. pode ser sentida, discutida, julgada, mas

não pode ser medida; luxo, classe e elegância.

Produtos caros e complexos têm melhor nível de qualidade.

Confiabilidade e o número de reparos efetuados não são considerados.

2011 SBJ

Page 15: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

O que é Qualidade?O que é Qualidade? O que um determinado produto apresenta

para considerarmos que o mesmo tem qualidade? Ex.: Carro

Qualidade é um conceito relativo. Diversos aspectos são levados em conta. No caso de um automóvel, fatores como conforto, segurança, desempenho, beleza e custo têm estreita relação com a qualidade.

SBJ2011

Page 16: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

O que é Qualidade?O que é Qualidade?Qualidade está fortemente relacionada à

conformidade com os requisitos.•O que é “conformidade em relação a requisitos”? observado x especificado.•Pode haver problemas na observação.•Pode haver problemas na especificação.

SBJ2011

Page 17: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

O que é Qualidade?O que é Qualidade?Qualidade diz respeito à satisfação do cliente.Requisitos são especificados por pessoas e com o objetivo de satisfazer outras pessoas. Uma especificação depende das escolhas

feitas (clientes alvo). Pode haver problemas na especificação.

SBJ2011

Page 18: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Qualidade: Definições Qualidade: Definições SimplesSimples Qualidade é estar em conformidade com os

requisitos do cliente. Qualidade é antecipar e satisfazer os

requisitos dos clientes. Qualidade é escrever tudo o que se deve

fazer e fazer tudo o que foi escrito.

2011 SBJ

Page 19: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

O que é qualidade?O que é qualidade?• “É atender plenamente os requisitos do

cliente” • “É superar a expectativa do cliente”

“ “ A totalidade das características de uma A totalidade das características de uma entidade que lhe confere a capacidade de entidade que lhe confere a capacidade de

satisfazer às necessidades explícitas e satisfazer às necessidades explícitas e implícitas”implícitas”

(NBR ISO 8402)(NBR ISO 8402)

2011 SBJ

Page 20: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Qualidade — Qualidade — TerminologiasTerminologiasTerminologia padrão, segundo IEEE Standard 729 Erro: erro humano Defeito: resultado do erro evidenciado em algum

desenvolvimento ou manutenção do produto Falha: divergência entre o comportamento

requerido para o sistema e o comportamento real.

Como o erro humano causa uma falha2011 SBJ

Page 21: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

O que é qualidade?O que é qualidade? O melhor possível em termos de

especificação do produto?

Produtos ou serviços livres de erros em relação às suas especificações de projeto?

Produto ou serviço adequado ao seu propósito?

TRANSCENDENTAL

MANUFATURA

USUÁRIO

2011 SBJ

Page 22: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

DefiniçõesDefinições

Crosby: “Conformidade aos Requisitos”

Juran: “Conveniência para Uso”

Requisitos devem ser claramente definidos e não podem ser mal-interpretados.Não conformidade = ausência de qualidade.

• Considera os requisitos e a expectativa do cliente.• Um produto deve ter elementos que satisfaçam as diversas maneiras com que os clientes o utilizarão. • Parâmetros da conveniência para uso: Qualidade de Projeto e de Conformidade.

As duas definições são similares embora a segunda As duas definições são similares embora a segunda dê mais ênfase às expectativas do usuário.dê mais ênfase às expectativas do usuário.

Qualidade: Visão Qualidade: Visão ProfissionalProfissional

2011 SBJ

Page 23: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

A totalidade das características de uma entidade que lhe confere a capacidade de satisfazer as necessidades explícitas e implícitas.

• sabor• aparência• temperatura• rapidez no serviço• preço• higiene• valor nutricional

Qualidade: Definição da Qualidade: Definição da NBR 8402NBR 8402Qualidade :

Ex: Qualidade de um prato de comida está relacionado com a satisfação das necessidades:

2011 SBJ

Page 24: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Benefícios da QualidadeBenefícios da Qualidade Na visão do fornecedor (ex: equipe interna de TI ou

fornecedor externo – do mercado)

– Maior produtividade– Maior precisão nas estimativas– Redução de defeitos no produto– Aumento da confiabilidade do produto– Menos esforço de re-trabalho– Menos horas extras de trabalho– Redução do tempo para atender o mercado– Redução de custo de desenvolvimento e

manutenção– Maior competitividade– Maior índice de satisfação do cliente/usuário final

2011 SBJ

Page 25: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Benefícios da QualidadeBenefícios da Qualidade Na visão do contratante

– Auxilia a definição de critérios para seleção e descredenciamento de fornecedores

– Auxilia a definição de processos de acompanhamento do progresso e desempenho dos fornecedores nas etapas de desenvolvimento, entrega e pós-entrega dos produtos

– Auxilia a definição de critérios para avaliação e aceitação dos produtos entregues pelo fornecedor do cliente/usuário final

2011 SBJ

Page 26: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

O que é Qualidade para O que é Qualidade para Organizações ?Organizações ?

Há uma variedade de conceitos para a qualidade na literatura especializada. Existem cinco abordagens principais para definição de qualidade:

– transcendentais– baseada no produto– baseada no usuário– baseada na produção– baseada no valor

2011 SBJ

Page 27: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

TrancendentaisTrancendentais Entende-se a qualidade como sendo constituída

de padrões elevadíssimos, universalmente conhecidos.

Qualidade é atingir ou buscar o padrão mais alto em vez de se contentar com o malfeito ou fraudulento. (Tuchman)

Qualidade não é uma ideia ou uma coisa concreta, mas uma terceira entidade independente das duas... Embora não se possa definir qualidade, sabe-se o que ela é. (Pirsig)

2011 SBJ

Page 28: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Baseada no ProdutoBaseada no Produto A qualidade é constituída de variáveis e

atributos que podem ser medidos e controlados nos produtos..

Diferenças de qualidade correspondem a diferenças de quantidade de algum ingrediente ou atributo desejado. (Abbott)

Qualidade refere-se às quantidades de atributos sem preço presentes em cada unidade do atributo com preço. (Leffler)

2011 SBJ

Page 29: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Baseada no Usuário Baseada no Usuário (cliente)(cliente) Nesta definição a qualidade deve atender

plenamente aos requisitos dos usuários (clientes).

Qualidade é a adequação ao uso. (Juran)

Qualidade consiste na capacidade de satisfazer desejos. (Edwards)

Na análise final de mercado, a qualidade de um produto depende de até que ponto ele se ajusta aos padrões das preferências dos consumidores. (Kuehn & Day)

2011 SBJ

Page 30: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Baseada na Produção Baseada na Produção (manufatura)(manufatura) Aqui, a qualidade pode ser vista como o

atendimento às especificações do projeto do produto/serviço na sua fase de produção.

Qualidade quer dizer conformidade com as exigências. (Crosby)

Qualidade é o grau em que o produto específico está de acordo com o projeto ou especificação. (Gilmore)

2011 SBJ

Page 31: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Baseada no valorBaseada no valor Nesta última definição, a qualidade é entendida

como sendo a relação entre o uso e o preço, ou seja, o preço que o cliente está disposto a pagar pela qualidade de um produto/serviço.

Qualidade é o grau de excelência a um preço aceitável e o controle da variabilidade também a um custo aceitável. (Broh)

Qualidade quer dizer o melhor para certas condições do cliente. (Feigenbaum)

2011 SBJ

Page 32: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Perspectivas de GarvinPerspectivas de Garvin (1984) (1984) sobre qualidadesobre qualidade Visão transcendental: algo que podemos

reconhecer, mas não definir Visão do usuário: conveniência para

propósito pretendido Visão do fabricante: conformidade com

especificação Visão do produto: relação com as

características inerentes ao produto Visão do mercado: dependência de quanto

os consumidores estão dispostos a pagar

2011 SBJ

Page 33: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Definição de qualidadeDefinição de qualidade

Qualidade é a consistente conformidade com as

expectativas dos consumidores

Produto Manufatura

Usuário e Valor

2011 SBJ

Page 34: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Histórico Histórico • Primeiros relatos apontam o Egito Antigo,

4000 A.C.

SBJ2011

Page 35: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Histórico Histórico • Com o surgimento da Revolução Industrial, a

produção em massa de bens manufaturados se tornou possível através da divisão do trabalho e da criação de peças intercambiáveis.

• Entretanto isso criou problemas para aqueles que estavam acostumados a ter seus bens feitos sob medida.

SBJ2011

Page 36: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Histórico Histórico • O moderno sistema industrial começou a

emergir no final do século XIX. • Nos EUA, Frederick Taylor foi o pioneiro em

gerenciamento científico, retirando o planejamento do trabalho da responsabilidade dos trabalhadores e supervisores, e colocando-o nas mãos dos engenheiros industriais.

SBJ2011

Page 37: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Histórico Histórico • Como a prioridade do gerente de produção era

cumprir prazos, ele perderia seu emprego caso não atendesse aos programas de produção, ao passo que seria apenas repreendido se a Qualidade estivesse ruim.

• Desta forma, ao perceber que a Qualidade sofria com esse sistema, criou-se uma função separadora de inspetor-chefe.

SBJ2011

Page 38: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Histórico Histórico • Em 1924, o matemático Walter Shewhart

introduziu o controle estatístico da qualidade.

SBJ2011

Page 39: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Histórico Histórico • Em 1935, E. S. Pearson desenvolveu a

British Standard 600 para amostragem e aceitação para material recebido, mais tarde substituída pela BS 1008, adaptada da U.S. Z-1 Standard, desenvolvida durante a II Guerra Mundial

SBJ2011

Page 40: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Histórico Histórico • Em 1946 foi formada a Sociedade

Americana para o Controle da Qualidade - ASQC.

• No mesmo ano, Kenichi Koyanagi fundou a União Japonesa dos Cientistas e Engenheiros (JUSE) e Ichiro Ishikawa foi seu 1º presidente.

SBJ2011

Page 41: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Histórico Histórico • Em 1950, W. Edwards Deming, um estatístico

que trabalhara na Bell System com George Edwards e Walter Shewhart, foi convidado pela JUSE para falar aos líderes industriais do Japão.

• Os ensinamentos do Dr. Deming tocaram profundamente os industriais e a Qualidade, a produtividade e a competitividade japonesas foram tremendamente fortalecidas.

SBJ2011

Page 42: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Juran (1951)Juran (1951)

SBJ

Qualidade deve ser planejada e seus custos apurados

Custos da qualidade– Falha externa– Falha interna– Avaliação– Prevenção

2011

Page 43: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Certificação de QualidadeCertificação de Qualidade• A qualidade não basta existir, ela deve ser reconhecida

pelo cliente.• A certificação de qualidade oficial é emitida com base

em um padrão.• Ex. CertificadosO selo do SIF O selo da ABICA classificação em estrelas dos hotéis Os certificados de qualidade da série ISO

9000 (padrão de qualidade) .

2011 SBJ

Page 44: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Organizações Organizações NormalizadorasNormalizadoras

ISO - International Organization for Standardization IEEE - Instituto de Engenharia Elétrica e Eletrônica ABNT - Associação Brasileira de Normas Técnicas

Para a emissão de certificado, é preciso a realização de todo um processo de avaliação e julgamento de acordo com uma determinada norma.INMETRO - orgão do governo responsável pelo credenciamento das instituições que realizam a certificação.

2011 SBJ

Page 45: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Evolução dos Conceitos de Evolução dos Conceitos de Qualidade Qualidade

1900 - Inspeção pós-produção - avalia o produto final. 1940 - Controle estatístico da produção. 1950 - Avaliação do procedimento de produção. 1960 - Educação das pessoas. 1970 - Otimização dos processos. 1980 - Projeto robusto - avaliação do processo. 1990 - Engenharia Simultânea - avalia a própria

concepção do produto.

2011 SBJ

Page 46: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

O que é Qualidade de O que é Qualidade de Software?Software? Conferência da OTAN (1968) – Crise de

Software Problemas detectados:

• Cronogramas não observados.• Projetos abandonados.• Módulos que não operam corretamente quando combinados.• Programas que não fazem exatamente o que era esperado.• Sistemas tão difíceis de usar que são descartados.• Sistemas que simplesmente param de funcionar.

Passados 40 anos, o que mudou?

SBJ2011

Page 47: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

O que é Qualidade de O que é Qualidade de Software?Software?• Qualidade em geral:

é um conceito relativo. está fortemente relacionada à conformidade com

requisitos. diz respeito à satisfação do cliente.

SBJ2011

Como isso se manifesta em

software?

Page 48: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Qualidade aplicada ao Qualidade aplicada ao SoftwareSoftware

Mito: Criar programas é uma arte que não pode seguir regras, normas ou padrões.

Causas: •Produtos de software são complexos. •Software não tem produção em série. Custo está no projeto e desenvolvimento. •Software não se desgasta. •Software é invisível. Sua representação em grafos e diagramas não é precisa.•A Engenharia de Software ainda não está madura, é uma tecnologia em evolução.•Não há um acordo entre os profissionais sobre o que é qualidade de software.2011 SBJ

Page 49: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Desenvolvimento de Desenvolvimento de SoftwareSoftware 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.

SBJ2011

Page 50: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Fatores que afetam o Fatores que afetam o Desenvolvimento de Software e Desenvolvimento de Software e influenciam a Qualidadeinfluenciam a Qualidade• 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.

SBJ2011

Page 51: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Qualidade de SoftwareQualidade de Software• Perspectiva Histórica da Engenharia de Software:

anos 60 - Era Funcional anos 70 - Era do Método anos 80 - Era do Custo anos 90 e depois - Era da Qualidade

• Qualidade não é um fator de vantagem no mercado, mas é uma necessidadenecessidade para a garantia da competitividade.

2011 SBJ

Page 52: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

O que é Qualidade de O que é Qualidade de Software?Software?

SBJ

Conjunto de características a serem satisfeitas em um determinado grau, de modo que o software satisfaça às necessidades de seus usuários.

UsuáriosFinais

Desenvolvedores

UsuáriosIndiretos

2011

Page 53: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Definição de Qualidade de Definição de Qualidade de SoftwareSoftware“Conformidade:• aos requisitos de desempenho e de

funcionalidade que foram explicitamente definidos,

• aos padrões de desenvolvimento explicitamente documentados e

• às características implícitas que são esperadas por todo software desenvolvido por profissionais.”

2011 SBJ

Page 54: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Atividades para garantia de Atividades para garantia de qualidade de produtos de qualidade de produtos de softwaresoftwareSoftware Quality Assurance: padrão sistemático e

planejado de ações que são exigidas para garantir a qualidade de software. Essas ações englobam:

Aplicações de métodos técnicos Realizações de revisões técnicas formais Atividade de teste de software Aplicação de padrões e procedimentos formais Processo de controle de mudanças Mecanismos de medição

2011 SBJ

Page 55: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Técnicas aplicadas ao Técnicas aplicadas ao processo de processo de desenvolvimentodesenvolvimento

Planejamento de qualidadeMelhoria no processo e controle de qualidadeGerenciamento de qualidade no processoAnálise de dados sobre a satisfação do cliente

2011 SBJ

Page 56: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Qualidade do Produto x Qualidade do Produto x Qualidade do Processo de Qualidade do Processo de SoftwareSoftware

• Qualidade do produto de software não se atinge de forma espontânea.

• A qualidade do produto depende fortemente da qualidade do processo de desenvolvimento.

SBJ2011

Page 57: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Visões sobre a importância da Visões sobre a importância da qualidade do produto e do qualidade do produto e do processoprocesso

Visão que aborda a qualidade do produtoqualidade do produtoFuncionalidade, confiabilidade, usabilidade, eficiência,

manutenibilidade e portabilidade (ISO 9126 e NBR 13596).

Visão que aborda a qualidade do processoqualidade do processoDos requisitos do usuário à entrega do produto final, existe um processo de desenvolvimento complexo e dividido em fases, que pode comprometer a qualidade do software.

Mesmo diante de divergências, o fato é que o processo influi nas características finais do software.

2011 SBJ

Page 58: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

O que é Processo de O que é Processo de Software?Software?Processos de Software devem estabelecer:o atividades a serem realizadas durante o processo, sua estrutura

e organização (decomposição e precedência), incluindo a definição de um modelo de ciclo de vida quando pertinente (ex.: processo de desenvolvimento);

o artefatos requeridos e produzidos por cada uma das atividades do processo;

o procedimentos (métodos, técnicas, roteiros e padrões) a serem adotados na realização das atividades;

o recursos necessários (humanos, hardware e software) para a realização das atividades.

SBJ2011

Page 59: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Qualidade do Processo de Qualidade do Processo de SoftwareSoftware

Um bom processo não garante que os produtos produzidos são de boa qualidade, mas é um indicativo de que a organização é

capaz de produzir bons produtos.

SBJ2011

Page 60: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Motivação para a busca da Motivação para a busca da Qualidade do Processo de Qualidade do Processo de SoftwareSoftware

• Aumento da qualidade do produto.• Diminuição do retrabalho.• Maior produtividade.• Redução do tempo para atender o mercado

(time to market).• Maior competitividade.• Maior precisão nas estimativas.

SBJ2011

Page 61: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Como definir um Como definir um processo?processo?Apoio de Normas e Modelos de Qualidade de Processos de Software.

SBJ2011

Page 62: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Normas e Organismos Normas e Organismos NormativosNormativos• Normas internacionais de qualidade são

criadas no trabalho voluntário de especialistas do mundo todo.

• Essas normas tornaram-se a base para especificar produtos, organizar o fornecimento de serviços e até mesmo para a elaboração de legislação em vários países.

SBJ2011

Page 63: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Padrões Padrões de Fatode Fato• Muitas vezes padrões surgem

espontaneamente, a partir de uma necessidade ou como uma solução amplamente adotada quando comparada a outras alternativas.

• Padrões de fato são padrões aplicados na prática, mas que não foram formalizados como um regulamento.

• Podem ser criados involuntariamente ou por razões comerciais.

SBJ2011

Page 64: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Padrões Padrões de Jurede Jure• São criados de maneira formal,

regulamentada. • São escritos seguindo regulamentos e

aprovados por instituições reconhecidas publicamente como capacitadas para tal (ex., ISO, IEEE etc).

SBJ2011

Page 65: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Principais Normas Nacionais e Principais Normas Nacionais e Internacionais na Área de Internacionais na Área de SoftwareSoftwareNORMA

ISO 9126 Características da qualidade deprodutos de software

NBR 13596 Versão brasileira da ISO 9126

ISO 14598 Guias para avaliação de produtos desoftware, baseados na ISO 9126

ISO 12119 Características de qualidade de pacotes desoftware (software de prateleiras)

ISO 12207 Norma para a qualidade do processo dedesenvolvimento de software.

NBR ISO 9001 Modelo para garantia de qualidade emprojeto, desenvolvimento, intalação eassistência técnica (processo)

2011 SBJ

Page 66: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

PrincipaisPrincipais Normas Normas Nacionais e Internacionais Nacionais e Internacionais na Área de Softwarena Área de SoftwareNORMA

CMM Modelo da SEI para avaliação da qualidadedo processo de desenvolvimento desoftware. Não é uma norma ISO, mas émuito bem aceita no mercado.

SPICEISO 15504

Projeto da ISO/IEC para avaliação deprocesso de desenvolvimento de software.Ainda não é uma norma oficial ISO, mas oprocesso está em andamento.

ISO

2011 SBJ

Page 67: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

QualidadeQualidade dede ProdutosProdutos dede SoftwareSoftwareO que é qualidade de software?Que padrões utilizar? Parece difícil ... Muito se tem pensado sobre isso:o ISO/IEC 9126 - publicada em 1991.o NBR 13596 - publicada em agosto de 1996

Listam um conjunto de características que devem ser verificadas em um software para que ele seja considerado um software de qualidade

2011 SBJ

Page 68: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Qualidade de Produtos de Qualidade de Produtos de Software Software - - NBRNBR 1359613596

Característica Subcaracterísticas Pergunta chave para a subcaracterística

Funcionalidade (satisfaz as necessidades?)

Adequação Acurácia Interoperabilidade Segurança de acesso Conformidade

Propõe-se a fazer o que é apropriado? Faz o que propôs de maneira correta? Interage com os sistemas especificados? Evita acesso não autorizado a dados? Está de acordo com as normas, leis, etc.

Confiabilidade (É imune a falhas?)

Maturidade Tolerância a falhas Recuperabilidade

Com que frequência apresenta falhas? Ocorrendo falhas, como reage? É capaz de recuperar dados em caso de falhas?

Usabilidade (É fácil de usar?)

Inteligibilidade Apreensibilidade Operacionalidade

É fácil entender o conceito e a aplicação? É fácil aprender a usar? É fácil operar e controlar

2011 SBJ

Page 69: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Qualidade de Produtos de Qualidade de Produtos de Software - NBR 13596Software - NBR 13596

Característica Subcaracterísticas Pergunta chave para a subcaracterística

Eficiência (Rápido e enxuto)

Tempo Recursos

Qual o tempo de resposta, velocid. de execução? Quanto recurso usa? Durante quanto tempo?

Manutenibilidade (É fácil de modificar?)

Analisabilidade Modificabilidade Estabilidade Testabilidade

É fácil encontrar uma falha, quando ocorre? È fácil modificar e adaptar? Há grande risco quando se faz alterações? É fácil testar quando se faz alterações?

Portabilidade (É fácil de usar em outro ambiente?)

Adaptabilidade Capacidade para ser instalado Conformidade Capacidade para substituir

É fácil adaptar a outros ambientes? É fácill instalar em outros ambientes? Está de acordo com padrões de portabilidade? É fácil usar para substituir outro sistema?

2011 SBJ

Page 70: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Qualidade de Produto de Qualidade de Produto de Software - NBR 13596Software - NBR 13596• Como aplicar a norma ISO 9126/ NBR 13560?

• Para avaliar um software segundo a norma deve-se tentar atribuir valores (notas ou conceitos) a cada uma das subcaracterísticas.

Fato: É difícil aplicar a norma sem se estar familiarizado com o processo de avaliação de software.

• Guias para a avaliação da qualidade - descrevem, detalhadamente todos os passos para se avaliar um software.

2011 SBJ

Page 71: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

QualidadeQualidade dede ProcessoProcesso dede SoftwareSoftware• Processo de Software = conjunto de ferramentas,

métodos e práticas usadas para produzir um software.

• Para melhorar a qualidade no desenvolvimento precisa-se de modelos de processos para a descrição precisa e formal das atividades do ciclo de vida do software.

• Modelo de Processo é representado por um conjunto sequencial de atividades, objetivos, transformações e eventos que encapsulam estratégias para o cumprimento da evolução do software

2011 SBJ

Page 72: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

GerênciaGerência dede ProcessoProcesso dede SoftwareSoftware• A gerência de processo objetiva a geração de produtos de

acordo com o planejado e, ao mesmo tempo, melhorar a capacidade de produzir software com mais qualidade.

• Melhor capacidade de lidar com o software:o Passo 1. Compreender o estado atual do processo;o Passo 2. Desenvolver uma visão do processo desejado;o Passo 3. Estabelecer ações para a melhoria do processo;o Passo 4. Gerar um plano para acompanhar estas ações;o Passo 5. Compreender os recursos para execução do plano;o Passo 6. Recomeçar a partir do Passo 1.

• Para a evolução do processo de software é necessário ter uma maneira para medi-lo.

2011 SBJ

Page 73: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Modelos para a Avaliação do Modelos para a Avaliação do Processo de SoftwareProcesso de Software• Modelo Capability Maturity Model (CMM)• ISO 9000-3• Projeto SPICE• Modelo PSP (Personal Software Process)• Projeto SQUID, etc

2011 SBJ

Page 74: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

ISO 9000-3ISO 9000-3• Guia para a aplicação da ISO 9001 para o

desenvolvimento, fornecimento e manutenção de software, criado em 1993.

• Especifica requisitos mínimos para assegurar a qualidade de produtos e serviços, não definindo modelos ou impondo sistemas de qualidade.

2011 SBJ

Page 75: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

ISO 9000-3 Atividades do ISO 9000-3 Atividades do Ciclo de VidaCiclo de VidaAgrupa as atividades do ciclo de vida em 9 categorias:

análise crítica do contratoespecificação dos requisitos do compradorplanejamento do desenvolvimentoplanejamento da qualidadeprojeto e implementaçãoensaios e validaçãoaceitaçãocópia, entrega e instalaçãomanutenção

2011 SBJ

Page 76: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

ISO 9000-3 Atividades de ISO 9000-3 Atividades de SuporteSuporteEstão organizadas em 9 itens:

gestão de configuração controle de documentos registros da qualidade medição regras, práticas e convenções ferramentas e técnicas aquisição produto de software incluído treinamento

2011 SBJ

Page 77: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

SPICE - IntroduçãoSPICE - Introdução• Motivação

Mortalidade dos trabalhos de padronização

• SPICE (Software Process Improvement and Capability dEtermination)

• Organização 4 Centros Técnicos Conselho Administrativo Organizações privadas e estatais

2011 SBJ

Page 78: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

SPICE - O que é ?SPICE - O que é ?• É um conjunto de documentos• Consiste de um framework de avaliação

Facilita o auto-julgamento Desperta consciência do contexto Produz um perfil do processo Direciona a adequação das atividades Apropriado para organizações de diversos tamanhos

2011 SBJ

Page 79: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

SPICE - AplicaçãoSPICE - Aplicação• Aplicado para organizações envolvidas com

qualquer atividade relacionada ás atividades de computação

• A avaliação examina o processo e determina a efetividade deste

• Resultados podem usados para Auto-Avaliação Melhoria do processo

2011 SBJ

Page 80: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Documentos do SPICEDocumentos do SPICEO SPICE é composto por 9 partes:

parte 1: Conceitos e Guia Introdutório parte 2: Modelo de Gerenciamento de Processo parte 3: Avaliação do Processo parte 4: Guia para Condução de uma Avaliação parte 5: Construção, Seleção e Uso das Ferramentas de Avaliação parte 6: Qualificação e Treinamento dos Avaliadores parte 7: Guia para o Processo de Melhoria parte 8: Guia para Orientação da Determinação da Capacidade do

Processo parte 9: Dicionários

2011 SBJ

Page 81: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Aspectos ISO 9000-3 CMM (SEI) SPICEAbordagem Verificação de

conformidadede processos apadrõesdocumentados.

Classificação das organizaçõesem níveis de maturidadecrescente.

Avaliação dosprocessos com oobjetivo dedeterminar acapacitação daorganização epropor melhoria.

Meta/Objetivo

Certificar aorganização deacordo com ospadrõesestabelecidos.

Determinar a capacitação daempresa e apoiar sua evoluçãode acordo com os 5 níveis.

Determinar acapacitação daorganização eapoiar sua evoluçãode acordo com osobjetivos daorganização.

EmpresasAlvo

Organizaçõesque necessitamde umacertificação.

Organizações de grande porteque necessitam de umacertificação.

Organizações emgeral.

Quadro ComparativoQuadro Comparativo

2011 SBJ

Page 82: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Quadro ComparativoQuadro ComparativoAspectos ISO 9000-3 CMM

(SEI)SPICE

Definiçõesde Processos

Não estabeleceprocessos,(estabelece asatividades a sercumpridas, comvisão deestrutura, ciclode vida esuporte).

Estabelece18 processosorganizadosem 5 níveis.

Estabelece35processosorganizadosem 5categorias.

Flexibilidade Não admiteadaptação.

Não admiteadaptação.

Adaptávelaosobjetivos daorganização.

Instrumentode Avaliaçãode nível decapacitação

Check list. Questionário. Forneceorientaçõespara montarquestionário.

2011 SBJ

Page 83: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Aspectos ISO 9000-3 CMM (SEI) SPICEInspiraçãoeInfluência

Normas militaresamericanas,canadenses,sistemas dequalidade doReino Unido.

Princípios deShewart, Deming,Juran, Crosby.

TQM, PDCA,CMM,TRILLIUM,MalcolmBaldrige,Bootstrap.

Benefícios Difusão extensa;Reconhecimentodo valor dacertificação.

Estabelecimentode um roteiro paraa melhoriacontínua.

Expansão eflexibilizaçãodos modeloscitados.

Limitações Risco de secolocar aCertificaçãocomo objetivoprincipal.Ausência deapoio à melhoriacontínua. Focoexclusivo noprocesso.

Poucaconsideração àdiversidade dasorganizações.Dificuldade deaplicação empequenasorganizações.Foco exclusivo noprocesso.

Dificuldade deaplicaçãodevido àgrandequantidade deinformações.Foco exclusivono processo.

2011 SBJ

Quadro ComparativoQuadro Comparativo

Page 84: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

ConclusõesConclusões• Dos métodos de avaliação de processo apresentados,

alguns estão estabelecidos no mercado (CMM), e outros apresentam projetos ambiciosos a nível mundial (SPICE).

• Dentre estes, existem modelos que além de avaliar o processo de desenvolvimento propõem algum mecanismo para melhoria do processo.

2011 SBJ

Page 85: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

ConclusõesConclusões• Não existe um modelo ideal de avaliação de

qualidade que seja aplicável indistintamente às organizações, abrangendo os diversos objetivos que elas tem em relação a qualidade.

• A qualidade de software não é garantida somente pela qualidade de processo, mas também pela garantia de qualidade do produto final.

• A maior preocupação deve ser sempre a satisfação do usuário final.

2011 SBJ

Page 86: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Uso de Padrões Uso de Padrões Adequação x Certificação.•Adequação: deve preceder a certificação e consiste em colocar em prática, total ou parcialmente, aquilo que é proposto no padrão.•Certificação: Envolve a participação de um organismo ou empresa externa que possa atestar que a empresa candidata segue efetivamente o padrão.

SBJ2011

Page 87: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Qualidade e Processos Qualidade e Processos RelacionadosRelacionados

SBJ

Qualidade de Software

Documentação Gerência de Configuração de Software

Verificação e Validação

2011

Page 88: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Qualidade e Processos Qualidade e Processos RelacionadosRelacionados

SBJ

Qualidade de Software

Documentação Gerência de Configuração de Software

Verificação e Validação

2011

Page 89: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Documentação e Gerência de Documentação e Gerência de ConfiguraçãoConfiguração• Artefatos registram a evolução do software para que

sejam criadas as bases para o desenvolvimento, utilização e manutenção efetivos.

• Artefatos devem retratar fielmente o software, de modo que as atividades de avaliação e modificação possam ser realizadas sem maiores transtornos.

• Artefatos evidenciam a evolução do projeto. Mas é muito importante registrar modificações que ocorrem nos mesmos, de modo a se ter um histórico da evolução, o que é feito por meio da Gerência de Configuração de Software (GCS).

SBJ2011

Page 90: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Gerência de ConfiguraçãoGerência de Configuração• Permite manter o controle da evolução dos

artefatos de software, além de ajudar a cumprir metas de garantia da qualidade.

• Envolve, dentre outros: a identificação de itens de configuração de software, controle de alterações, registro e apresentação da situação dos itens e das

solicitações de alteração, garantia da consistência dos itens alterados, controle de versão, armazenamento, manipulação e

distribuição de itens.

SBJ2011

Page 91: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Qualidade e Processos Qualidade e Processos RelacionadosRelacionados

SBJ

Qualidade de Software

Documentação Gerência de Configuração de Software

Verificação e Validação

2011

Page 92: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Verificação e ValidaçãoVerificação e Validação• Verificação: assegurar que o software, ou

determinada função do mesmo, está sendo desenvolvido corretamente, o que inclui verificar se os métodos e processos estão sendo aplicados adequadamente.

• Validação: assegurar que o software que está sendo desenvolvido é o software correto.

SBJ2011

Page 93: Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011SBJ1

Análise Estática e Análise Análise Estática e Análise DinâmicaDinâmica• Análise Estática: não envolve a execução

propriamente dita do produto. Pode e deve ser aplicada em qualquer artefato intermediário. Ex.: Revisões técnicas, inspeção de código.

• Análise Dinâmica: envolve a execução do produto. Ex.: Testes.

SBJ2011