introdução à qualidade de software

83
1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

Upload: hammer

Post on 23-Feb-2016

32 views

Category:

Documents


0 download

DESCRIPTION

Introdução à Qualidade de Software. Prof. Guilherme Alexandre Monteiro Reinaldo Recife. Contatos. Prof. Guilherme Alexandre Monteiro Reinaldo Apelido: Alexandre Cordel E-mail/ gtalk : [email protected] [email protected] Site: http://www.alexandrecordel.com.br/fbv - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Introdução à Qualidade  de Software

1

Introdução à Qualidade de Software

Prof. Guilherme Alexandre Monteiro Reinaldo

Recife

Page 2: Introdução à Qualidade  de Software

Contatos Prof. Guilherme Alexandre Monteiro Reinaldo Apelido: Alexandre Cordel E-mail/gtalk: [email protected]

[email protected] Site: http://www.alexandrecordel.com.br/fbv Celular: (81) 9801-1878

Page 3: Introdução à Qualidade  de Software

3

Por favor ajustem seus celulares para o modo silencioso.

Page 4: Introdução à Qualidade  de Software

4

Antes de começarmos...comparemos

Page 5: Introdução à Qualidade  de Software

5

Antes de começarmos...comparemos

Page 6: Introdução à Qualidade  de Software

6

Antes de começarmos...comparemos

Page 7: Introdução à Qualidade  de Software

7

Antes de começarmos...comparemos

Page 8: Introdução à Qualidade  de Software

8

Antes de começarmos...comparemos

Page 9: Introdução à Qualidade  de Software

9

Preocupação com Qualidade “Os insights* são vitais em um processo de inovação” Carlos Ricardo

(*) Insights = pronfunda compreensão da situaçãoFonte: Portal HSM On-line29/08/2007

Page 10: Introdução à Qualidade  de Software

10

“Tivemos de entender os anseios da população para atendermos suas demandas”

Carlos Ricardo

Fonte: Portal HSM On-line29/08/2007

Page 11: Introdução à Qualidade  de Software

11

Perceberam diferenças? Qual produto ou marcas vocês adquiririam? O que faz vocês optarem por este ou aquele produto

ou marca? Quais os pontos fortes e fracos de cada um deles? Quais características norteiam os melhores produtos?

Page 12: Introdução à Qualidade  de Software

12

Todas as respostas levam à...

Qualidade

Page 13: Introdução à Qualidade  de Software

13

Origem da Qualidade Total Seus primeiros movimentos surgiram e foram

consolidados no Japão após o fim da II Guerra Mundial.

Círculos de Controle da Qualidade difundidos nos países ocidentais a partir da década de 70.

Programa 5S, etapa inicial para a implantação da Qualidade Total.

Page 14: Introdução à Qualidade  de Software

14

Contextualizaçã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

Page 15: Introdução à Qualidade  de Software

Programa 5S O Programa 5S é assim chamado devido a primeira

letra de 5 palavras japonesas:

A metodologia possibilita desenvolver um planejamento sistemático, permitindo de imediato maior produtividade, segurança, clima organizacional e motivação dos funcionários, com consequente melhoria da competitividade organizacional.

Page 16: Introdução à Qualidade  de Software

Programa 5S Os propósitos da metodologia 5S são de melhorar a

eficiência através da destinação adequada de materiais (separar o que é necessário do desnecessário), organização, limpeza e identificação de materiais e espaços e a manutenção e melhoria do próprio 5S.

Os principais benefícios da metodologia 5S são:1. Maior produtividade pela redução da perda de tempo

procurando por objetos. Só ficam no ambiente os objetos necessários e ao alcance da mão;

2. Redução de despesas e melhor aproveitamento de materiais. A acumulação excessiva de materiais tende à degeneração;

3. Melhoria da qualidade de produtos e serviços;4. Menos acidentes do trabalho;5. Maior satisfação das pessoas com o trabalho;

Page 17: Introdução à Qualidade  de Software

17

Qualidade: O que é? “É atender plenamente os requisitos do cliente” “É superar a expectativa do cliente” Segundo a Organização Europeia de Controle de

Qualidade, “Qualidade de um produto é a condição necessária de aptidão para a finalidade a que se destina”.

Exigir de um produto qualidade além da necessária é encarecê-lo, exigir menos é prejudicar o nome do fabricante diante do público consumidor. “ A totalidade das características de uma entidade que lhe confere a capacidade de

satisfazer às necessidades explícitas e implícitas” (NBR ISO 8402)

Page 18: Introdução à Qualidade  de Software

18

Benefí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

Page 19: Introdução à Qualidade  de Software

19

Benefí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

Page 20: Introdução à Qualidade  de Software

20

Evolução

Total Quality Management

Garantia da QualidadeControle da Qualidade

Inspeção

Detecção de ErroRetificação

Métodos estatísticosDesempenho de processoPadrões de qualidade

Sistemas da QualidadeCusto da qualidadeSolução de problemasPlanejamento da qualidade

Estratégia de qualidadeGrupos de trabalhoEnvolvimento de clientes e fornecedores

Page 21: Introdução à Qualidade  de Software

21

Total Quality Management - TQM

TQM - Gerenciamento de Qualidade Total Nova abordagem de gestão que visa incorporar a

questão da qualidade aos modelos de gestão já existentes

Ponto principal é a qualidade, ou seja, a satisfação do cliente (qualidade percebida) é a base para a implantação do TQM (qualidade técnica).

TQM é uma filosofia, uma nova forma de pensar e trabalhar, que se preocupa com o atendimento das necessidades e das expectativas dos consumidores.

Page 22: Introdução à Qualidade  de Software

22

Total Quality Management - TQM

TQM (Total Quality Management) tem sido amplamente utilizado em indústria, educação, governo e serviços.

Chama-se total porque o seu objetivo é a implicação não só da empresa inteira mais também a organização estendida: fornecedores, distribuidores e demais parceiros de negócios.

TQM é composta de estágios tais como: planejamento, organização, controle, liderança.

Page 23: Introdução à Qualidade  de Software

23

Quem usa TQM Toyota (Japão) foi primeira a empregar o TQM. Nykon, Sony, Yamaha, Honda (período pós-guerra). Xerox, Citibank, Serasa, Alcoa, IBM, Caterpilar. Boeing, Hewlett-Packard.

Page 24: Introdução à Qualidade  de Software

24

Total Quality Control - TQC TQC - Controle de Qualidade Total Também tem como ponto forte a qualidade. Aperfeiçoamento contínuo. Nenhum dia deve passar sem que algum melhoramento

tenha sido feito em algum lugar. Melhoria pode vir tanto da organização como do ambiente

externo.

Page 25: Introdução à Qualidade  de Software

25

TQM vs. TQC

TQM, compreende o gerenciamento das relações entre todos os envolvidos com a existência da empresa, não se restringindo somente ao relacionamento com o Cliente.

TQC, pode ser definido como um conjunto de atividades, envolvendo toda a empresa, que têm como objetivo assegurar o resultado final do empreendimento, atuando diariamente em prol desse objetivo.

Qualidade relaciona-se mais enfaticamente à satisfação do Cliente ou melhor Eficiência e Eficácia no relacionamento com o Cliente

Qualidade Total expande a necessidade de se ter Eficácia e Eficiência no relacionamento de todos os elementos que compõem o modelo da empresa inserida em um contexto mais amplo.

Na prática, empresas que aplicam o TQM ou o TQC acabam por desenvolver um conjunto de atividades similar e talvez por isso é que muitos autores confundam os termos. Conceitualmente podemos considerar que o TQC seja uma parte integrante do TQM.

Page 26: Introdução à Qualidade  de Software

26

Garantia de Qualidade O propósito da Garantia de Qualidade de Software é

fornecer à gerência a visibilidade da eficácia do processo sendo utilizado pelo projeto de desenvolvimento de software e da qualidade dos artefatos que estão sendo criados.

É o exame minucioso de um artefato de software ou estado do projeto com a finalidade de determinar se há algum desvio com relação aos padrões, diretrizes, especificações, procedimento e planos aprovados, e para recomendar melhorias.

As revisões e auditorias são aplicadas em vários pontos durante o desenvolvimento e servem para descobrir defeitos enquanto estes ainda são relativamente baratos para serem encontrados e tratados.

Page 27: Introdução à Qualidade  de Software

27

Controle de Qualidade Controle de Qualidade assegura que produtos ou 

serviços sejam projetados e produzidos para ir ao encontro ou superar as expectativas dos clientes.

O sistema de controle de qualidade deve ser perseguido desde a idealização até a distribuição do produto para os clientes

Page 28: Introdução à Qualidade  de Software

28

Inspeção Em uma Inspeção, o inspetor examina o produto

para identificar defeitos e desvios, com o objetivo de:• Verificar se um produto de trabalho satisfaz as espeficações do produto de trabalho antecessor, tal como documento de requisistos e de projeto;

• Identificar quaisquer desvios de padrões;• Sugerir oportunidades de melhoria para o autor;

• Promover a troca de experiência entre os participantes;

Page 29: Introdução à Qualidade  de Software

Inspeção de Qualidade É uma operação de verificação realizada após o

produto ou parte independente, ter sido totalmente acabado, na qual podemos classifica-la em duas categorias: Aceito e Rejeitado.

Tem como objetivo se a qualidade das partes verificadas atende os requisitos estabelecidos.

Principais características da inspeção são:• Comparar unidade com padrões e

especificações;• Inspeção não agrega nem retira valor ao

produto;• Inspeção 100% garante qualidade ao produto;• Qualidade sem processo gera custo alto ao

produto.

Page 30: Introdução à Qualidade  de Software

Controle de Qualidade Principais características do Controle de Qualidade:

• Divulgação rápida por utilizar apenas amostras de resultados.

• Produtos produzidos seguindo a técnica podem ser aceitos sem inspeção adicional.

• Melhoria da qualidade na própria linha de produção.

• Redução dos custos de fabricação (Qualidade melhorada na própria produção).

Page 31: Introdução à Qualidade  de Software

Controle de Qualidade

Qualidade

99%

Tolerância de 1%Defeitos Críticos (5)Defeitos Maiores (3)Defeitos Menores (1)

RESULTADO:Numa amostra de 100 produtos, 19 deméritos foram encontrados, supondo que a tolerância fosse de 20 defeitos, a produção seria aceita.

Page 32: Introdução à Qualidade  de Software

32

Gurus da Qualidade Armand Feigenbaum W.Edwards Deming Joseph M.Juran Karou Ishikawa Philip Crosby Tom Peters

Page 33: Introdução à Qualidade  de Software

33

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 34: Introdução à Qualidade  de Software

34

Joseph M.Juran Melhoria estruturada da qualidade

• Estudar sintomas de defeitos e/ou falhas encontrados

• Desenvolver uma teoria para as causas destes defeitos e/ou falhas

• Testar a teoria até que a causa seja encontrada• Simular ação remediadora por áreas apropriadas

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 35: Introdução à Qualidade  de Software

35

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 36: Introdução à Qualidade  de Software

36

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 37: Introdução à Qualidade  de Software

37

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 38: Introdução à Qualidade  de Software

38

Tom Peters Focou no atendimento às expectativas do cliente

Page 39: Introdução à Qualidade  de Software

39

Total Quality Management (TQM) Aspectos Fundamentais

• Atender as necessidades e expectativas do cliente (a mais importante “parte” da organização).

• Consideração ao cliente e fornecedor interno.• Envolver todas as pessoas da organização.• Examinar custos relacionados com a qualidade.• Desenvolver sistemas e procedimentos que

suportem qualidade e melhoria.• Desenvolver um processo de melhoria contínua.

Page 40: Introdução à Qualidade  de Software

40

Elementos-chave do TQM

TQMMelhoria Contínua

Foco no Cliente

Melhoria deProcesso

Lado Humanoda Qualidade

Métricas, Modelos, Medição e Análise

Stephen Kan

Page 41: Introdução à Qualidade  de Software

41

Gestão da Qualidade “Atividades coordenadas para orientar e

controlar uma organização com relação à qualidade” (ISO9000:2008).

Princípios• Foco no cliente• Liderança• Envolvimento das pessoas• Abordagem de processo• Abordagem sistêmica• Melhoria contínua• Tomada de decisão baseada em fatos• Relacões de “ganha-ganha”.

Page 42: Introdução à Qualidade  de Software

42

Garantia da Qualidade XControle da Qualidade Controle da Qualidade

• Evita que produtos defeituosos sejam entregues aos clientes;

• Natureza reativa (Testa-Encontra-Corrige).

• Objetiva monitoração de processo, e detecção e correção de defeitos.

• Ex: Inspeções, ensaios e testes.

Page 43: Introdução à Qualidade  de Software

43

Garantia da Qualidade XControle da Qualidade Garantia da Qualidade

• Tenta produzir software com uma baixa taxa de defeitos;

• Natureza proativa (Antecipa-se ao problema).• Definição de procedimentos, padrões,

treinamentos.• Gerência e melhoria de processo.• Estabelece antecipadamente o tempo de

obsolescência a partir do controle.

Page 44: Introdução à Qualidade  de Software

44

Atividades do SQA SQA (Software Quality Assurance - Garantia de

Qualidade de Software) O SEI (Software Engineering Institute) recomenda as

seguintes atividades para o grupo de SQA• Preparar um plano de SQA;• Participar da descrição do projeto de software;

• Revisar as atividades dos engenheiros de software;

• Documentar, inspecionar e consertar os desvios;

• Registrar discordâncias e reportar para o gerente;

• Gerenciar mudanças e métricas de software.

Page 45: Introdução à Qualidade  de Software

45

Custos da Qualidade Custos da Prevenção

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

Custos de Avaliação• Verificações no processo de produção.

Custos de Falhas e Correção• Custos de refazer atividades devido a erros efetuados.

Page 46: Introdução à Qualidade  de Software

46

Custo da Qualidade de Software

Page 47: Introdução à Qualidade  de Software

47

Contra números não há argumentos

Desenvolvedores gastam 50% do seu tempo encontrando e corrigindo erros – IDC

80% do custo de desenvolvimento são  destinados à identificação e correção de erros – National Institute of Standards and Technology (NIST)

1 erro é gerado a cada 10 linhas de código escritas – Writing Solid Code, Microsoft

Em média 12 horas são gastas para corrigir cada erro em um código – Writing Solid Code, Microsoft

Um erro encontrado na fase inicial tem um custo de U$ 1,00, se propagado até o cliente custará de U$ 100,00 a U$ 1.000,00 – RUP

Page 48: Introdução à Qualidade  de Software

48

Contra números não há argumentos

54% dos projetos têm seus orçamentos estourados – The Standish Group

A cada mil linhas de código são encontrados entre 20 e 30 bugs (2% a 3%) – Sustainable Computer Consortium

Inspeção de software reduz entre 60% e 90% dos defeitos em software e 25% de seus custos de desenvolvimento – Michael Fagan Associates

56% dos erros encontrados depois da solução final ter sido entregue têm origem na fase de requisitos – Chaos Report

Page 49: Introdução à Qualidade  de Software

49

Política da Qualidade “Intenções e diretrizes globais de uma organização relativas à

qualidade, formalmente expressas pela alta administração.” (ISO9000:2008)• Alinhada aos objetivos da organização.• Comprometimento em atender os requisitos.• Melhoria contínua.• Comunicação e entendimento.• Análise crítica.

Page 50: Introdução à Qualidade  de Software

50

Certificação de 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; As certificações são dadas por instituições

competentes; Exemplos de certificação:

• Selo SIF de qualidade de produtos alimentícios;• Selo ABIC de qualidade do café;• Classificação da rede hoteleira (estrelas).

Page 51: Introdução à Qualidade  de Software

51

Selos e Certificados

Page 52: Introdução à Qualidade  de Software

52

Certificação da Qualidade Por que Normalização Internacional?

• Garantir a confiabilidade do produto.• Reduzir custos e evitar desperdícios e retrabalhos.

• Implementar e utilizar práticas reconhecidas internacionalmente.

• Estabelecer confiança no relacionamento com o cliente.

• Cartão de visita para o mercado internacional.

Page 53: Introdução à Qualidade  de Software

53

Auditorias Uma avaliação independente de produtos de

trabalho ou processos para verificar sua conformidade a padrões, procedimentos e especificações baseados em critérios objetivos.

IEEE 1028 Tipos

• 1ª parte: realizada por uma organização sobre si mesma.

• 2ª parte: conduzida por uma organização sobre uma outra para fins da organização condutora da auditoria.

• 3ª parte: realizadas por uma terceira parte independente sem interesse nos resultados da auditoria.

Page 54: Introdução à Qualidade  de Software

54

Auditorias Auditorias de Certificação

• Inicial- Completa, abrangendo todo o escopo de certificação.

• De Manutenção- Periódica, conduzida para determinar a manutenção da auditoria

inicial.• De Re-certificação

- Realizada no final do período de certificação no sentido de re-emitir o certificado para um novo período.

Page 55: Introdução à Qualidade  de Software

55

Assessments (Avaliação) Auxilia a organização a melhorar através da

identificação de problemas críticos e estabelecimento de ações de melhoria.

Objetivos• Conhecer como a organização trabalha.• Identificar principais problemas.

Foco em revisão e não em auditoria

Page 56: Introdução à Qualidade  de Software

56

Assessments (Avaliação) Premissas

• Modelo de Processo como base do Assessment.

• Confidencialidade.• Envolvimento da alta gerência.• Respeito a diferentes pontos de vista.• Orientação a ações.

Page 57: Introdução à Qualidade  de Software

57

Assessments (Avaliação) Estágios

• Preparação

• Avaliação

• Recomendações- Assessment Report

Page 58: Introdução à Qualidade  de Software

58

Qualidade de Software: motivação O principal objetivo da Engenharia de Software (ES) é

ajudar a produzir software de qualidade; Empresas que desenvolvem software de qualidade

são mais competitivas; Empresas que utilizam software de alta qualidade

podem, em geral, oferecer um melhor serviço a um preço mais competitivo.

Page 59: Introdução à Qualidade  de Software

59

Qualidade de Software O que o cliente quer?

• Atendimento aos requisitos especificados

• Defeito zero• Alto desempenho• Baixo custo• Desenvolvimento rápido• Facilidade de uso• Eficiência nos serviços associados• Inovação

Page 60: Introdução à Qualidade  de Software

60

Conceito de Qualidade de Software “Conformidade a requisitos funcionais e de

desempenho explicitamente declarados, a padrões de desenvolvimento claramente documentados e a características implícitas que são esperadas de todo software profissionalmente desenvolvido” (Pressman).

Page 61: Introdução à Qualidade  de Software

61

Fatores de Qualidade de Software

A noção de qualidade de software pode ser descrita por um grupo de fatores, requisitos ou atributos, tais como: confiabilidade, eficiência, facilidade de uso, modularidade, legibilidade;

Podemos classificar estes fatores em dois tipos principais: externos e internos.

Fatores InternosFatores Externos

Page 62: Introdução à Qualidade  de Software

62

Fatores de Qualidade de Software Os Fatores de Qualidade de Software focalizam três

aspectos importantes do Software Produto: (ISO 9126)

Page 63: Introdução à Qualidade  de Software

63

Fatores de Qualidade: Manutenibilidade MANUTENÇÃO CORRETIVA: identificar e corrigir

erros MANUTENÇÃO ADAPTATIVA: adaptar o software

ao ambiente MANUTENÇÃO PERFECTIVA: atender pedidos do

usuário para modificar funções existentes, incluir novas funções e efetuar melhoramentos gerais

MANUTENÇÃO PREVENTIVA: Melhorar a manutenibilidade ou confiabilidade futuras e fornecer uma base melhor para futuros melhoramentos

MANUTENÇÃO PREDITIVA: Substituição antes de apresentar problema

Page 64: Introdução à Qualidade  de Software

64

Fatores de Qualidade: Manutenibilidade A maioria dos problemas com a manutenção do software é

causada por deficiências na maneira como o software foi planejado e desenvolvido

PROBLEMAS CLÁSSICOS• É difícil ou impossível rastrear o processo através do qual

o software foi criado. A maioria dos softwares não foram projetados para suportar alterações.

• É difícil ou impossível traçar a evolução do software através das várias versões. As alterações não são adequadamente documentadas A documentação não existe, é incompreensível ou está desatualizada.

• É muito difícil entender programas "de outras pessoas", que frequentemente não estão presentes para explicar. A dificuldade aumenta conforme o número de elementos na configuração de software aumenta.

• A manutenção não é vista como um trabalho "glamoroso" ou importante

Page 65: Introdução à Qualidade  de Software

65

Fatores de Qualidade: Manutenibilidade Custos diretos da Manutenção

• - 70 % do orçamento do software (ciclo de vida)• - Diminuição dramática na produtividade 40:1

[Boehm,79]• - Custo do desenvolvimento : $25,00 por linha de

código• - Custo da manutenção : $1.000,00 por linha de

código Outros custos Não Monetários

• - Adiamento de oportunidades de desenvolvimento• - Insatisfação do cliente• - Redução da qualidade global do software• - Insatisfação do pessoal de desenvolvimento

Page 66: Introdução à Qualidade  de Software

66

Fatores de Qualidade: Manutenibilidade MÉTRICAS DE MANUTENIBILIDADE (Gilb, 1979)

• - tempo de reconhecimento do problema• - tempo de demora administrativa• - tempo de análise do problema• - tempo de especificação da alteração• - tempo de correção ou modificação• - tempo de teste local e global• - tempo de revisão da manutenção

Page 67: Introdução à Qualidade  de Software

67

Fatores de Qualidade: Manutenibilidade MODELO PARA ESTIMATIVA DE CUSTOS DE MANUTENÇÃO

(Belady, 1972)

M = P + Ke(c-d)Onde, M = esforço de manutençãoP = esforço produtivoK = constante empíricae = número Euler (2,78...)c = medida de complexidade atribuida a falta de bom

projeto e de boa documentaçãod = medida do grau de familiaridade com o software

Page 68: Introdução à Qualidade  de Software

68

Fatores de Qualidade: Manutenibilidade Organização para Manutenção

Page 69: Introdução à Qualidade  de Software

69

Dimensões da Qualidade do Software

Productquality

Developmenttechnology

Cost, time andschedule

Processquality

Peoplequality

Page 70: Introdução à Qualidade  de Software

70

Qualidade de Software: dificuldades Características dos projetos de software

• Complexidade• Custo focado no conhecimento e no desenvolvimento

• Produção específica e não em série• Imaturidade da área de Engenharia de Software

Page 71: Introdução à Qualidade  de Software

71

Qualidade de Software: Trade-off entre processo x produto

QUALIDADE DO PRODUTO DE SOFTWARE

QUALIDADE DO PROCESSO DE DESENVOLVIMENTO

Page 72: Introdução à Qualidade  de Software

72

Certificação do Produto ou do Processo? Hoje em dia, a qualidade do processo é mais

importante do que a qualidade final do produto; Existem normas e padrões tanto para produtos

quanto para processos. Um produto de qualidade resulta de um processo de

qualidade.

Page 73: Introdução à Qualidade  de Software

73

Normas e Modelos de Qualidade de SW ISO 9126 – Norma para qualidade de produtos de software (Europeu) ISO 14598 – Guias para avaliação de produtos de software ISO 12119 – Norma para qualidade de pacotes de software ISO 12207 – Processos de ciclo de vida do software. ISO 9001-2008 – Esta norma tinha a garantia da qualidade como base da

certificação. NBR ISO 9000-3 – Diretrizes para aplicação da norma ISO 9001 ao

desenvolvimento, fornecimento e manutenção de software. CMM – Capability Maturity Model. Modelo do Software Engineering Intitute

(SEI) para avaliação da maturidade de uma organização que desenvolve software.(Americano)

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

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

PSP – Personal Software Process - Modelo do SEI que define disciplinas para qualidade pessoal do engenheiro de software.

MPS-BR – Modelo de Qualidade adaptado a realidade das empresas Brasileiras

Page 74: Introdução à Qualidade  de Software

74

Qualidade do Processo Processo

• uma seqüência de passos realizados para um determinado propósito. (IEEE)

• conjunto de recursos e atividades inter-relacionados que transformam insumos em produtos. (ISO 8402)

Processo de software • um conjunto de atividades, métodos, práticas e transformações que as pessoas utilizam para desenvolver e manter software e produtos relacionados. (CMM)

Page 75: Introdução à Qualidade  de Software

75

Processo de Software

PROCESSO

Ferramentas

Métodos, Procedimentos, Padrões, Técnicas

Pessoas habilitadas, treinadas, motivadas

FATORES DE QUALIDADE

• o procedimento que descreve o método escolhido

• as ferramentas para darem apoio e facilitarem o trabalho

• pessoas treinadas, que compreendam e usem o processo

Page 76: Introdução à Qualidade  de Software

76

Desenvolvimento do SW REQUISITOS

PRODUTO DE SW

Análise Projeto …

verificaçãovalidação

Qualidade do Processo de Software

Page 77: Introdução à Qualidade  de Software

77

Ex: O RUP é iterativo e incremental

Page 78: Introdução à Qualidade  de Software

78

Qualidade do Processo de Software

Pontos Relevantes• Definição de um ciclo de vida• Conformidade com requisitos especificados

• Integridade dos produtos do desenvolvimento com os requisitos

• Controle de versões• Padronização• Testes e Inspeções• Planejamento e gerenciamento efetivo• . . .

Page 79: Introdução à Qualidade  de Software

79

Melhoria de Processo de Software Princípios

• Grandes mudanças devem ser iniciadas de cima pra baixo (Diretorias => Funcionários).

• Todos devem ser envolvidos.• Mudanças efetivas devem ser construídas com base em conhecimento.

• Mudanças são contínuas.• Mudanças no processo são incorporadas através de motivação e esforço.

• Melhoria de processo de software requer investimento.

Page 80: Introdução à Qualidade  de Software

80

Princípios Básicos da Qualidade de Software

Satisfação do Cliente

Melhoria Contínuade Processos

Redução de Custode Qualidade

Controledo Projeto

Page 81: Introdução à Qualidade  de Software

81

Conclusão

Qualidade é um conceito complexo, porque significa diferentes coisas para diferentes pessoas;

A falta de consciência de muitas empresas e profissionais que lidam com sistemas complexos tem sido um dos maiores problemas em adotarem uma política de qualidade.

Page 82: Introdução à Qualidade  de Software

82

Conclusão Não há uma simples medida para

qualidade de software que seja aceitável para todos os projetos de todas as empresas;

Apesar dos custos elevados, é importante introduzir sistemas de gerenciamento de qualidade de software, pois permitem um aumento de produtividade, uma melhoria da qualidade do produto final e um aumento da satisfação dos clientes e da própria empresa;

Qualidade agrega valor ao produto final.

Page 83: Introdução à Qualidade  de Software

83

Referências BARÇANTE, Luiz César. Qualidade Total: uma visão brasileira, o impacto estratégico na universidade e na

empresa. Rio de Janeiro: Campus, 1998. CARAVANTES, Geraldo R.; CARAVANTES C.; BIJUR, W. Administração e Qualidade: a superação dos desafios. São Paulo: Makron Books, 1997. CAMPOS, Vicente Falconi. . TQC-Controle da qualidade total (no estilo japonês): Belo Horizonte, 1992,

1996. CAPRA, Fritjof. A teia da vida. São Paulo: Cultrix,1996. CHIAVENATO, Idalberto. Gestão de Pessoas: o novo papel dos recursos humanos nas organizações. Rio de

Janeiro: Campus, 1999. CRAWFORD, Richard. Na era do capital humano: o talento, a inteligência, e o conhecimento como forças

econômicas, seu impacto nas empresas e nas decisões de investimento. São Paulo: Atlas, 1994. CROSBY, Philip, B. Qualidade, falando sério. São Paulo: McGraw-Hill, 1990. DEMING, William Edward. Qualidade: a revolução da administração. Rio de Janeiro: Marques-Saraiva,

1990. DRUCKER, Peter F. O inventor da administração. Revista Exame. São Paulo: ano 2002, ano 36, nº 10,

15/mai/2002. FLEURY, Afonso; FLEURY, M. T. Aprendizagem e inovação organizacional. 2 ed. São Paulo: Atlas, 1997. GARVIN, David A. Managing quality: The strategic and competitive edge. EUA, New York: Harvard Business School, 1988. HAMEL, Gary. PRAHALAD, C. K. Competindo pelo futuro: estratégias inovadoras para obter o controle do

seu setor e criar mercados de amanhã. Rio de Janeiro: Campus, 1995. HANDY, Charles. A era da transformação. São Paulo: Makron Books, 1994. HARRINGTON, H. James. Gerenciamento total da melhoria contínua. São Paulo: Makron Books, 1997.