1 introdução à qualidade de software prof. guilherme alexandre monteiro reinaldo recife

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

Upload: internet

Post on 22-Apr-2015

104 views

Category:

Documents


2 download

TRANSCRIPT

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

1

Introdução à Qualidade de Software

Prof. Guilherme Alexandre Monteiro Reinaldo

Recife

Page 2: 1 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

Celular: (81) 9801-1878

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

3

Por favor ajustem seus celulares

para o modo silencioso.

Por favor ajustem seus celulares

para o modo silencioso.

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

4

Antes de começarmos...comparemos

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

5

Antes de começarmos...comparemos

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

6

Antes de começarmos...comparemos

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

7

Antes de começarmos...comparemos

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

8

Antes de começarmos...comparemos

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

9

Preocupação com Qualidade

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

“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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

10

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

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

Carlos RicardoCarlos Ricardo

Fonte: Portal HSM On-line29/08/2007

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

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

12

Todas as respostas levam à...

Qualidade

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

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

20

Evolução

Total Quality Management

Garantia da Qualidade

Controle 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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

32

Gurus da Qualidade

Armand Feigenbaum

W.Edwards Deming

Joseph M.Juran

Karou Ishikawa

Philip Crosby

Tom Peters

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

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

38

Tom Peters

Focou no atendimento às expectativas do cliente

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

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

46

Custo da Qualidade de Software

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

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

51

Selos e Certificados

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

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

57

Assessments (Avaliação)

Estágios

• Preparação

• Avaliação

• Recomendações- Assessment Report

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

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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 Internos

Fatores Externos

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

62

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

aspectos importantes do Software Produto: (ISO 9126)

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

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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

P = esforço produtivo

K = constante empírica

e = número Euler (2,78...)

c = medida de complexidade atribuida a falta de bom projeto e

de boa documentação

d = medida do grau de familiaridade com o software

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

68

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

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

69

Dimensões da Qualidade do Software

Productquality

Developmenttechnology

Cost, time andschedule

Processquality

Peoplequality

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

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

71

Qualidade de Software: Trade-off entre processo x produto

QUALIDADE DO PRODUTO DE SOFTWARE

QUALIDADE DO PROCESSO DE DESENVOLVIMENTO

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

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

76

Desenvolvimento do SW

REQUISITOSPRODUTO DE SW

Análise Projeto …

verificação

validação

Qualidade do Processo de Software

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

77

Ex: O RUP é iterativo e incremental

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

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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: 1 Introdução à Qualidade de Software Prof. Guilherme Alexandre Monteiro Reinaldo Recife

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.