69
Qualidade de Software Prof. Natália Oliveira M.Sc [email protected]

Qualidade de software

Embed Size (px)

Citation preview

Page 1: Qualidade de software

Qualidade de SoftwareProf. Natália Oliveira M.Sc

[email protected]

Page 2: Qualidade de software

Ementa

Conceitos sobre Qualidade

Qualidade do Produto

Qualidade do Processo

Garantida da Qualidade X Controle da Qualidade

Conceitos sobre Qualidade de Software

Prevenção X Detecção

Modelos e Padrões da Qualidade de Software

Page 3: Qualidade de software

Como definir Qualidade ?

Qualidade é um termo que pode ter diferentes interpretações

Existem muitas definições de qualidade propostas na literatura

com diferentes pontos de vista

Visão popular pode ser diferente do seu uso profissional

Page 4: Qualidade de software

Como definir Qualidade?

1. Qualidade é um termo que pode ter diferentes interpretações

2. Existem muitas definições de qualidade de software propostas na

literatura com diferentes pontos de vista

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

Page 5: Qualidade de software

Exemplo: Carro

O que um determinado produto

apresenta para considerarmos que

o mesmo tem qualidade?

Page 6: Qualidade de software

Exemplo: Carro

Diversos aspectos são levados em conta

No caso de um automóvel, fatores como

conforto, segurança, desempenho, beleza

e $$ têm estreita relação com a qualidade

Page 7: Qualidade de software

Conceito de Qualidade

Segundo a atual norma brasileira sobre o assunto (NBR ISO 8402), qualidade é:

“A totalidade das características de uma entidade

que lhe confere a capacidade de satisfazer

às necessidades explícitas e implícitas”

Page 8: Qualidade de software

Conceito de Qualidade

Entidade - pode ser um bem ou um serviço

Necessidades Explícitas - são as próprias condições e objetivos propostos

pelo produtor

Necessidades Implícitas - incluem as diferenças entre os usuários, a evolução

no tempo, as implicações éticas, as questões de segurança e outras visõessubjetivas.

Para avaliar a qualidade de um produto, você deve fazer uma lista destas

necessidades e analisar cada uma destas necessidades.

Page 9: Qualidade de software

Conceito de Qualidade

Qualidade é estar em conformidade com os requisitos dos clientes

Qualidade é antecipar e satisfazer os desejos dos clientes

Qualidade é escrever tudo o que se deve fazer e fazer tudo o que foi escrito

Page 10: Qualidade de software

Controle de Qualidade

Pela definição da ISO (Organização Internacional de Padronização),

controle de qualidade é “a atividade e técnica operacional que é

utilizada para satisfazer os requisitos de qualidade”

O Controle da Qualidade é realizado através de:

Inspeções

Revisões

Testes

Page 11: Qualidade de software

Certificação da Qualidade

Não basta que a qualidade exista, ela deve ser reconhecida pelo cliente

Deve existir uma certificação oficial emitida com base em um padrão

Exemplos de certificação:

Selo SIF de qualidade de produtos alimentícios

Selo ABIC de qualidade do café

Classificação da rede hoteleira

Page 12: Qualidade de software

Organizações Normalizadoras

ISO - Organização Internacional de Padronização

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.

Page 13: Qualidade de software

Custo da Qualidade

Custos de Falhas e Correção

Custos de refazer atividades devido a erros na execução do processo ouno produto

Custos da Prevenção

Atividades de planejamento e implementação de sistemas da qualidade

Custos de Avaliação/Certificação

Verificações no processo de produção

.

Page 14: Qualidade de software

Qualidade do Produto

Funcionalidade, confiabilidade, usabilidade, eficiência, manutenibilidade e

portabilidade (ISO 9126 e NBR 13596)

Page 15: Qualidade de software

Fatores da Qualidade do Produto

Page 16: Qualidade de software

Qualidade do Processo

Dos 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

A qualidade do processo corresponde ao nível utilizado na

implementação de um processo aceitável

Esse processo inclui medições e critérios de qualidade

Page 17: Qualidade de software

Características do Processo

Facilidade de compreensão

Visibilidade

Facilidade de manutenção

Aceitabilidade

Robustez

Rapidez

Page 18: Qualidade de software

Ciclo de aprimoramento do processo

Page 19: Qualidade de software

Garantia da Qualidade X Controle da

Qualidade

Garantia da Qualidade – são os processos que estão destinados a

previnir eventuais defeitos

Controle da Qualidade – são as medições locais para detectar e

reparar todos os defeitos ainda remanescentes

Page 20: Qualidade de software

Garantia da Qualidade X Controle da

Qualidade

Page 21: Qualidade de software

Evolução nos Conceitos de Qualidade

Os avanços tecnológicos e a crescente preocupação na

eliminação de defeitos, aumento na produtividade e redução de

custos motivaram o surgimento de modelos de qualidade para o

processo de manufatura

Na década de de 1960, começaram a surgir critérios, modelos e

técnicas para a garantia da qualidade no processo de

produção.

Page 22: Qualidade de software

TQC – Total Quality Control

Modelo desenvolvido no Japão

Desenvolvido para implementar a melhoria contínua da

qualidade

Baseia-se na participação de todos os setores da empresa e de

todos os empregados no estudo e condução do controle daqualidade

Page 23: Qualidade de software

TQC – Total Quality Control

Princípios básicos:

Produzir e fornecer produtos e/ou serviços que atendam concretamente àsnecessidades do cliente

Garantir a sobrevivência da empresa através do lucro contínuo, adquirido pelodomínio da qualidade

Identificar o problema mais crítico e solucioná-lo pela mais alta prioridade

Falar, raciocinar e decidir com dados e com base em fatos

Gerenciar a organização ao longo do processo e não por resultados

Reduzir metodicamente as distorções através do isolamento de suas causasfundamentais

Não permitir a venda de produtos defeituosos

Não repetir erros

Definir e garantir a execução da visão e estratégia da alta direção da empresa

Page 24: Qualidade de software

TQM – Total Quality Management

É uma abordagem para sucesso em longo prazo

É medida através da satisfação do cliente e baseada na

participação de todos os membros da organização

Foca a melhoria de processos, produtos, serviços e cultura

organizacional e considera qualidade de um processo comoresponsabilidade do “dono” do processo

Page 25: Qualidade de software

TQM – Total Quality Management

Page 26: Qualidade de software

Gurus da Qualidade

Armand Feigenbaum

W.Edwards Deming

Joseph M. Juran

Karou Ishikawa

Philip Crosby

Tom Peters

Page 27: Qualidade de software

Armand Feigenbaum

Definiu TQM como um sistema efetivo que integra a qualidade do

desenvolvimento, qualidade de manutenção, e esforços de

melhoria da qualidade de vários grupos em uma organização

Page 28: Qualidade de software

Joseph M. Juran

Preocupou-se com o impacto nos trabalhadores individuais e no

envolvimento e motivação da força de trabalho nas atividades

de melhoria da qualidade

Page 29: Qualidade de software

W.Edwards Deming

Considerado no Japão o “pai” do controle da qualidade

Afirmou que qualidade inicia com o alto nível gerencial e é uma

atividade estratégica. Enfatiza a necessidade dos métodos

estatísticos, participação, educação e proposta de melhoria

Page 30: Qualidade de software

Karou Ishikawa

Baseando seu trabalho nos de Deming, Juran e Feigenbaum,

Ishikawa criou os conceitos de círculos da qualidade e diagramas

de causa-e-efeito

Considerou a participação do trabalhador como a chave do

sucesso da implementação do TQM

Page 31: Qualidade de software

Philip Crosby

Definiu 4 certezas para o Gerenciamento da Qualidade:

Qualidade significa atendimento aos requisitos

Qualidade vem através de prevenção

Padrão para desempenho da qualidade e “defeito zero”

A medida de qualidade é o preço da não-conformidade

Page 32: Qualidade de software

Tom Peters

Focou no atendimento às expectativas do cliente

Page 33: Qualidade de software

Qualidade Aplicada ao Software

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 se desgasta.

Software é invisível. Sua representação em grafos e diagramas não é precisa.

Não há um acordo entre os profissionais sobre o que é qualidade de software.

Page 34: Qualidade de software

Problemas no Desenvolvimento de

Software

Page 35: Qualidade de software

Problemas no Desenvolvimento de

Software

Page 36: Qualidade de software

Problemas no Desenvolvimento de

Software

Page 37: Qualidade de software

Qualidade de Software - Motivação

Empresas que desenvolvem software de qualidade são maiscompetitivas

Empresas que utilizam software de alta qualidade, podemoferecer um melhor serviço a um preço mais competitivo

A qualidade de software está diretamente relacionada a umgerenciamento rigoroso de requisitos, uma gerência efetiva deprojetos e em um processo de desenvolvimento bem definido,gerenciado e em melhoria contínua

Page 38: Qualidade de software

Definição de Qualidade de Software

“Conjunto de características a serem

satisfeitas em um determinado grau,

de modo que o software satisfaça às

necessidades de seus usuários”

Page 39: Qualidade de software

Atores da Qualidade de Software

Page 40: Qualidade de software

Prevenção X Detecção

Page 41: Qualidade de software

Técnicas de Prevenção

Treinamento

Planejamento

Modelagem

Uso de lições aprendidas

Melhoria de processo

Page 42: Qualidade de software

Técnicas de Detecção

Análise de código

Teste e simulação

Auditorias

Verificações e validações

Page 43: Qualidade de software

Planejamento da Qualidade de

Software

Compreende em identificar quais padrões são relevantes para o

projeto e a determinação de como satisfazé-los

Esse processo deve ser executado em paraledo ao planejamento

do projeto

Page 44: Qualidade de software

Garantia da Qualidade de Software

É um conjunto de atividades planejadas e implementadas com base no

sistema da qualidade da organização

As atividades são focadas na prevenção de defeitos e problemas, que

podem surgir nos produtos

Page 45: Qualidade de software

Modelos e Padrões de Qualidade de

Sotware

Com o crescimento do setor de software, vários modelos e padrões têm

sido propostos ao longo dos últimos anos

Alguns conceitos fundamentais são importantes de serem entendidos.

Política Padrão

Guia Modelo

Page 46: Qualidade de software

ISO

International Organization for Standardization (ISO) é uma

organização não-governamental, fundada em 1947, com sede

em Genebra – Suíça

Foi motivada pela necessidade de referências internacionais para

regulamentar obrigações contratuais entre fornecedores e

compradores, que

São normas relacionadas à qualidade

Page 47: Qualidade de software

ISO

9000 – Padrões de qualidade gerais para qualquer tipo de

organização

9001 – Mais específica: processo de qualidade nas organizações

que projetam, desenvolvem e mantêm produtos

Page 48: Qualidade de software

Norma ISO9001:2000

É modelo base para auditorias de certificação da família ISO9000

Uma certificação ISO9000, no Brasil, é conduzida por uma

empresa acreditada pelo INMETRO

Isso significa que a empresa foi avaliada e julgada por um

organismo certificador, pertencente ao Sistema Brasileiro de

Certificação, segundo aquela norma

Page 49: Qualidade de software

Normas ISO9000 para suporte ao desenvol

vimento de software

Page 50: Qualidade de software

Normas e Modelos de Qualidade de

Software

Produto

ISO 9126 - Norma para qualidade de produtos de software

ISO 14598 - Guias para avaliação de produtos de softwareProcesso

ISO 12207 - Processos de ciclo de vida do software.

ISO 90003:2004 - Diretrizes para aplicação da norma ISO 9001 ao desenvolvimento,

fornecimento e manutenção de software.

ISO 15504 (SPICE) - Projeto da ISO/IEC para avaliação dos processos de desenvolvimento de software.

CMMI - Capability Maturity Model Integrated. Modelo do SEI que estende o CMM para avaliação de processos de software.

mps.BR - Modelo Brasileiro de qualidade de processo de software, baseado nas normas ISO 12207 e 15504, e no modelo CMMI.

Page 51: Qualidade de software

Modelos do Software Engineering Institute (SEI)

Instituto americano

Contribuiu para o fortalecimento da área de qualidade desoftware

Definiu modelos internacionais focados no processo de software

Page 52: Qualidade de software

CMM – Capability Maturity Model

Modelo largamente adotado pela comunidade de software

internacional

Modelo focado na capacidade organizacional e seu

desenvolvimento

Foi motivado por uma solicitação do Departamento de Defesados Estados Unidos, que precisava de um instrumento de

avaliação dos fornecedores contratados pelo próprio

Departamento.

Page 53: Qualidade de software

CMM – Capability Maturity Model

O CMM categoriza as organizações em 5 níveis de maturidade

Page 54: Qualidade de software

CMM – Capability Maturity Model

Cada nível é considerado como pré-requisito do nível seguinte

Não é possível “pular” níveis

Cada nível se apoia nas competências que a organização

desenvolveu no nível anterior

Page 55: Qualidade de software

CMM – Capability Maturity Model

Page 56: Qualidade de software

CMM – Capability Maturity Model

Page 57: Qualidade de software

CMM – Capability Maturity Model

Page 58: Qualidade de software

CMM – Capability Maturity Model

Page 59: Qualidade de software

CMM – Capability Maturity Model

Page 60: Qualidade de software

CMM – Capability Maturity Model

O CMM foi um dos modelos de qualidade mais adotados pelas

indústrias de software brasileiro, juntamente com a norma ISO9001

Foi descontinuado e substituído pelo CMMI

Page 61: Qualidade de software

CMMI – Capability Maturity Model

Integration

Consolida um framework de modelos

Onde integra e evolui os modelos do CMM

Page 62: Qualidade de software

SPICE

Objetivo – mortalidade de trabalhos de padronização

É 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

Page 63: Qualidade de software

SPICE

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

Page 64: Qualidade de software

Documentos do SPICE

O 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

Page 65: Qualidade de software

MPS.Br

Criado pela parcerias de universidades, Softex e apoio do

governo

Acrônimo de “Melhoria de Processo de Software Brasileiro”

Possui um modelo de referência inspirado no CMMI

Implementação mais gradual (7 níveis)

Page 66: Qualidade de software

Níveis de Maturidade - MPS.Br

G [Parcialmente Gerenciado]

F [Gerenciado]

E [Parcialmente Definido]

D [Largamente Definido]

C [Definido]

B [Gerenciado Quantitativamente]

A [Em Otimização]

Page 67: Qualidade de software

Níveis MPS.br / CMMI

Page 68: Qualidade de software

Ferramentas

ARM – Nasa – Fornece medidas que podem ser usadas para

avaliar a qualidade de um documento de requisitos de software

Quality Tools Cookbok – Fornece descrições úteis de ferramentas

de gestão de qualidade

Quality Tools and Templates – Descreve uma ampla gama deferramentas e métodos úteis para a questão de qualidade

Page 69: Qualidade de software

Considerações Finais

Importância da Qualidade de Software e do Produto de uma

Empresa vai além da maturidade e responsabilidade em manter

tal maturidade

Valorização do Produto e Software é um investimento no conforto

do cliente e da empresa

Buscar a Qualidade em um processo de desenvolvimento é aprincipal atividade dos gerentes e desenvolvedores