1/43 qualidade de software 1 software aplicativo de usuários finais - qualidade de software

49
1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

Upload: luiz-moreira-de-santarem

Post on 07-Apr-2016

226 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

1/43Qualidade de Software

1

Software Aplicativo de Usuários Finais - Qualidade de Software

Page 2: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

2/43

2

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 3: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

3/43

3

Qualidade: O que é?

“É 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)

Page 4: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

4/43

4

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 5: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

5/43

5

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 6: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

6/43

6

Evolução

Total Quality ManagementTotal 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 7: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

7/43

7

Gurus da Qualidade

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

Page 8: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

8/43

8

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 9: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

9/43

9

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 10: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

10/43

10

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 11: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

11/43

11

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 12: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

12/43

12

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 13: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

13/43

13

Tom Peters

Focou no atendimento às expectativas do cliente

Page 14: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

14/43

14

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 15: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

15/43

15

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 16: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

16/43

16

Gestão da Qualidade

“Atividades coordenadas para orientar e controlar uma organização com relação à qualidade” (ISO9000:2000).

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 17: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

17/43

17

Garantia da Qualidade XControle da Qualidade Controle da Qualidade

Evita que produtos defeituosos sejam entregues aos clientes;

Natureza reativa. Objetiva monitoração de processo, e detecção e

correção de defeitos. Ex: Inspeções, ensaios e testes.

Page 18: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

18/43

18

Garantia da Qualidade XControle da Qualidade Garantia da Qualidade

Tenta produzir software com uma baixa taxa de defeitos;

Natureza proativa. Definição de procedimentos, padrões,

treinamentos. Gerência e melhoria de processo.

Page 19: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

19/43

19

Atividades de SQA 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 e consertar os desvios; Registrar discordâncias e reportar para o gerente; Gerenciar mudanças e métricas de software.

Page 20: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

20/43

20

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 21: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

21/43

21

Política da Qualidade

“Intenções e diretrizes globais de uma organização relativas à qualidade, formalmente expressas pela alta administração.” (ISO9000:2000) Alinhada aos objetivos da organização. Comprometimento em atender os requisitos. Melhoria contínua. Comunicação e entendimento. Análise crítica.

Page 22: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

22/43

22

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 23: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

23/43

23

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 24: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

24/43

24

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

Primeira parte: realizada por uma organização sobre si mesma.

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

Terceira parte: realizadas por uma terceira parte independente sem interesse nos resultados da auditoria.

Page 25: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

25/43

25

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 26: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

26/43

26

Assessments

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 27: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

27/43

27

Assessments

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 28: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

28/43

28

Assessments

Estágios

Preparação

Avaliação

Recomendações Assessment Report

Page 29: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

29/43

29

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 30: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

30/43

30

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 31: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

31/43

31

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 32: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

32/43

32

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, etc;

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

Fatores InternosFatores Externos

Page 33: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

33/43

33

Dimensões da Qualidade do Software

Productquality

Developmenttechnology

Cost, time andschedule

Processquality

Peoplequality

Page 34: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

34/43

34

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 35: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

35/43

35

Qualidade de Software: processo x produto

QUALIDADE DO QUALIDADE DO PRODUTO DE PRODUTO DE SOFTWARESOFTWAREQUALIDADE DO QUALIDADE DO

PROCESSO DE PROCESSO DE DESENVOLVIMENTODESENVOLVIMENTO

Page 36: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

36/43

36

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.

Page 37: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

37/43

37

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

Page 38: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

38/43

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

NORMA

ISO 9126 Características da qualidade de produtos de software

NBR 13596 Versão brasileira da ISO 9126

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

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

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

NBR ISO 9001 Modelo para garantia de qualidade em projeto, desenvolvimento, intalação e assistência técnica (processo)

Page 39: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

39/43

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

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

Page 40: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

40/43

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

Característica Subcaracterísticas Pergunta chave para asubcaracterística

Funcionalidade(satisfaz asnecessidades?)

Adequação

Acurácia

Interoperabilidade

Segurança de acesso

Conformidade

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

Confiabilidade(É imune afalhas?)

Maturidade

Tolerância a falhasRecuperabilidade

Com que frequência apresentafalhas?Ocorrendo falhas, como reage?É capaz de recuperar dados emcaso de falhas?

Usabilidade(É fácil de usar?)

Inteligibilidade

ApreensibilidadeOperacionalidade

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

Page 41: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

41/43

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

Característica Subcaracterísticas Pergunta chave para asubcaracterística

Eficiência(Rápido e enxuto)

Tempo

Recursos

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

Manutenibilidade(É fácil demodificar?)

Analisabilidade

ModificabilidadeEstabilidade

Testabilidade

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

Portabilidade(É fácil de usar emoutro ambiente?)

Adaptabilidade

Capacidade para serinstaladoConformidade

Capacidade parasubstituir

É fácil adaptar a outrosambientes?É fácill instalar em outrosambientes?Está de acordo com padrões deportabilidade?É fácil usar para substituir outrosistema?

Page 42: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

42/43

42

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 43: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

43/43

43

Processo de Software

PROCESSOPROCESSO

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 44: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

44/43

44

Desenvolvimento do SW Desenvolvimento do SW REQUISITOS

PRODUTO DE SW

AnáliseAnálise ProjetoProjeto …

verificaçãoverificaçãovalidaçãovalidação

Qualidade do Processo de Software

Page 45: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

45/43

45

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 46: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

46/43

46

Melhoria de Processo de Software Princípios

Grandes mudanças devem ser iniciadas de cima pra baixo.

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 47: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

47/43

47

Princípios Básicos da Qualidade de Software

Satisfação Satisfação do Clientedo Cliente

Melhoria ContínuaMelhoria Contínuade Processosde Processos

Redução de CustoRedução de Custode Qualidadede Qualidade

ControleControledo Projetodo Projeto

Page 48: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

48/43

48

Conclusão Qualidade é um conceito complexo, porque significa

diferentes coisas para diferentes pessoas; 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;

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 49: 1/43 Qualidade de Software 1 Software Aplicativo de Usuários Finais - Qualidade de Software

49/43

PERGUNTAS???

49