53
CBCC – Bacharelado em Ciência da Computação CBSI – Bacharelado em Sistemas de Informação Conceitos Fundamentais de Qualidade de Software Prof. Dr. Sandro Ronaldo Bezerra Oliveira Prof. Dr. Sandro Ronaldo Bezerra Oliveira [email protected] www.ufpa.br/srbo Tópicos Especiais em Engenharia de Software – Controle e Garantia da Qualidade de Software Faculdade de Computação Instituto de Ciências e Exatas e Naturais Universidade Federal de Pará

Conceitos Fundamentais de Qualidade de Software - … · CBCC –Bacharelado em Ciência da Computação CBSI –Bacharelado em Sistemas de Informação Conceitos Fundamentais de

Embed Size (px)

Citation preview

CBCC – Bacharelado em Ciência da Computação

CBSI – Bacharelado em Sistemas de Informação

Conceitos Fundamentais de Qualidade de Software

Prof. Dr. Sandro Ronaldo Bezerra OliveiraProf. Dr. Sandro Ronaldo Bezerra Oliveira

[email protected]

www.ufpa.br/srbo

Tópicos Especiais em Engenharia de Software –Controle e Garantia da Qualidade de Software

Faculdade de Computação

Instituto de Ciências e Exatas e Naturais

Universidade Federal de Pará

Agenda

� O que é Qualidade?

� O que é Qualidade de Software?

� Qualidade do Produto e do Processo

� Normas e Organismos Normativos

2

O que é Qualidade?

� O que um determinado produto apresenta para considerarmos que o mesmo tem qualidade? Ex.: Carro

Qualidade é um conceito relativo. Diversos

3

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

O que é Qualidade?

� Qualidade está fortemente relacionada à conformidade com os requisitos.

� O que é “conformidade em relação a requisitos”? observado x especificado.

4

observado x especificado.

� Pode haver problemas na observação.

� Pode haver problemas na especificação.

O que é Qualidade?

� Qualidade diz respeito à satisfação do cliente.

� Requisitos são especificados por pessoas e com o objetivo de satisfazer outras pessoas.� Uma especificação depende das escolhas feitas (clientes

5

� Uma especificação depende das escolhas feitas (clientes alvo).

� Pode haver problemas na especificação.

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

6

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

7

Breve Histórico da Qualidade

� Relatos Históricos de 4.000 anos atrás no Egito.

� Marco Importante: Revolução Industrial

� 1920: Controle Estatístico da Produção

� 1940: Surgimento de vários organismos ligados à qualidade

8

à qualidade� ASQC (American Society for Quality Control

� ABNT (Associação Brasileira de Normas Técnicas)

� ISO (International Standardization Organization)

� Ainda década de 1940: Japão destaca-se.

� Década de 1970: Qualidade de Software

Evolução

Total Quality ManagementTotal Quality Management

Garantia da Qualidade

Controle da QualidadeSistemas da QualidadeCusto da qualidade

Estratégia de qualidade

Grupos de trabalho

Envolvimento de clientes e fornecedores

Inspeção

Detecção de ErroRetificação

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

Custo da qualidadeSolução de problemasPlanejamento da qualidade

9

Gurus da Qualidade

� Armand Feigenbaum

� W.Edwards Deming

� Joseph M.Juran

� Karou Ishikawa

� Philip Crosby� Philip Crosby

� Tom Peters

10

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

11

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

12

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 melhoriaparticipação, educação e proposta de melhoria

13

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.chave do sucesso da implementação do TQM.

14

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.� A medida de qualidade é o preço da não-conformidade.

15

Tom Peters

� Focou no atendimento às expectativas do cliente

16

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.� Examinar custos relacionados com a qualidade.

� Desenvolver sistemas e procedimentos que suportem qualidade e melhoria.

� Desenvolver um processo de melhoria contínua.

17

Elementos-chave do TQM

TQM

Melhoria Contínua

Foco no

Cliente

Melhoria de

Processo

Lado Humano

da Qualidade

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

Stephen Kan

18

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

19

Garantia da Qualidade X Controle da Qualidade

� Controle da Qualidade� Evita que produtos defeituosos sejam entregues aos clientes;

� Natureza reativa.

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

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

20

Garantia da Qualidade X Controle da Qualidade

� Garantia da Qualidade� Tenta produzir software com uma baixa taxa de defeitos;

� Natureza proativa.

Definição de procedimentos, padrões, treinamentos.� Definição de procedimentos, padrões, treinamentos.

� Gerência e melhoria de processo.

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.� Comprometimento em atender os requisitos.

� Melhoria contínua.

� Comunicação e entendimento.

� Análise crítica.

22

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;

� As certificações são dadas por instituições � 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.

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.� Estabelecer confiança no relacionamento com o cliente.

� Cartão de visita para o mercado internacional.

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

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

� De Re-certificação

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

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

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.� Orientação a ações.

28

Assessments

� Estágios

� Preparação

� Avaliação

� Recomendações

� Assessment Report

29

O que é Qualidade de Software?

� Conferência da NATO (1968) – Crise de Software

� Problemas detectados:� Cronogramas não observados.

� Projetos abandonados.

� Módulos que não operam corretamente quando

30

Módulos que não operam corretamente quando combinados.

� Programas que não fazem exatamente o que era esperado.

� Sistemas tão difíceis de usar que são descartados.

� Sistemas que simplesmente param de funcionar.

� Passados quase 40 anos, o que mudou?

O que é Qualidade de Software?

� Qualidade em geral:� é um conceito relativo.

� está fortemente relacionada à conformidade com requisitos.

� diz respeito à satisfação do cliente.

31

� Como isso se manifesta em software?

O que é Qualidade de Software?

� O aspecto não repetitivo do desenvolvimento de software torna essa atividade difícil e em boa medida imprevisível.

� Delimitar o escopo de um sistema não é trivial.

32

� Delimitar o escopo de um sistema não é trivial.

� A volatilidade dos requisitos é lugar comum no desenvolvimento de software.

O que é Qualidade de Software?

� Fatores que afetam o desenvolvimento e que influenciam no julgamento dos usuários:� Tamanho e complexidade do software;

� Número de pessoas envolvidas no projeto;

� Métodos, técnicas e ferramentas utilizadas;

Custo x benefício do sistema;

33

� Custo x benefício do sistema;

� Custos associados à existência de erros;

� Custos associados à detecção e remoção de erros;

� Etc.

O que é 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.

34

Usuários

Finais

Desenvolvedores

Usuários

Indiretos

Qualidade do Produto x Qualidade do Processo de Software

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

� A qualidade do produto depende fortemente da

35

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

Qualidade do Processo de Software

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

36

Qualidade do Processo de Software

� Motivação para a busca da Qualidade do Processo de Software:� Aumento da qualidade do produto.

� Diminuição do retrabalho.

37

� Maior produtividade.

� Redução do tempo para atender o mercado (time to market).

� Maior competitividade.

� Maior precisão nas estimativas.

Qualidade do Processo de Software

� A implantação de um Programa de Qualidade começa pela definição e implantação de um processo de software.

38

� O processo de software deve estar documentado, ser compreendido e seguido.

O que é Processo de Software?

� Processos de Software devem estabelecer:� atividades a serem realizadas durante o processo, sua estrutura e organização (decomposição e precedência), incluindo a definição de um modelo de ciclo de vida quando pertinente (ex.: processo de desenvolvimento);

� artefatos requeridos e produzidos por cada uma das

39

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

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

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

Estrutura do Processo de Software

� Processo de Software� Sub-processos (Desenvolvimento, Manutenção, etc)

� Atividades� Sub-atividades� Pré-atividades� Artefatos

� Insumos

40

� Insumos� Produtos

� Recursos� Humanos� Software� Hardware

� Procedimentos� Métodos� Técnicas� Roteiros

Exemplo de Processo de Software

� Processo de Software� Processo de Desenvolvimento

� Análise e Especificação de Requisitos� Projeto

� Projeto Arquitetural� Pré-atividade: Análise e Especificação de Requisitos� Insumo: Documento de Especificação de Requisitos� Produto: Documento de Arquitetura do Sistema

41

� Produto: Documento de Arquitetura do Sistema� Recurso Humano: Projetista de Software� Ferramenta de Software: Ferramenta de Modelagem UML

� Técnica: Modelagem de Objetos� Projeto Detalhado

� Implementação� Testes� Implantação

Como definir um processo?

� Processos têm de ser definidos caso a caso, levando-se em consideração as características específicas do projeto em questão: equipe, domínio de aplicação, tipo de software, tecnologias a serem adotadas, restrições de negócio (cronograma, custo, qualidade) etc.

42

negócio (cronograma, custo, qualidade) etc.

� Apoio de Normas e Modelos de Qualidade de Processos de Software.

Normas e Organismos Normativos

� Normas internacionais de qualidade são criadasno trabalho voluntário de especialistas do mundotodo.

� Essas normas tornaram-se a base paraespecificar produtos, organizar o fornecimento

43

especificar produtos, organizar o fornecimentode serviços e até mesmo para a elaboração delegislação em vários países.

Padrões de Facto

� Muitas vezes padrões surgem espontaneamente,a partir de uma necessidade ou como umasolução amplamente adotada quando comparadaa outras alternativas.

Padrões de facto são padrões aplicados na

44

� Padrões de facto são padrões aplicados naprática, mas que não foram formalizados comoum regulamento.

� Podem ser criados involuntariamente ou porrazões comerciais.

Padrões de Jure

� São criados de maneira formal, regulamentada.

� São escritos seguindo regulamentos e aprovadospor instituições reconhecidas publicamente comocapacitadas para tal (ex., ISO, IEEE etc).

45

ISO

� International Standardization Organization.

� Criada em 1946, começou a funcionar em 1947.

� Conta atualmente com mais de 15.000documentos internacionais de padronização,

46

documentos internacionais de padronização,tendo aproximadamente 150 paísesparticipantes e cerca de 50.000 especialistas quecontribuem no mundo inteiro para a criação everificação dos documentos.

A ISO e as Normas Relacionadas a TI

� A ISO criou com a IEC (InternationalEletrotechnical Commission) a primeira comissãoconjunta para elaboração de normas, o JTC1(Joint Technical Committee 1).

47

� O JTC1 é responsável pela criação de normasrelacionadas a TI e é dividido em subcomissões(SC), que, por sua vez, são divididas em gruposde trabalho (working groups – WG).

A ISO e as Normas Relacionadas a QS

� A subcomissão SC-7 (Engenharia de Software ede Sistemas) trata das normas relacionadas àqualidade de software.

� Alguns grupos de trabalho da SC-7:

48

� Alguns grupos de trabalho da SC-7:� WG-2: Documentação de Sistemas

� WG-6: Avaliação e Métricas

� WG-7: Gerência do Ciclo de Vida

� WG-12: Medição do Tamanho Funcional

Etapas na Criação de uma Norma

� Uma norma possui pelo menos um editor e umou mais co-editores, que são pessoas deconhecimento técnico reconhecido e podem sededicar ao projeto.

� O editor (junto com os co-editores) é

49

� O editor (junto com os co-editores) éresponsável pela escrita do primeiro esboço dodocumento.

� Esse esboço é distribuído para análise pelosgrupos de trabalho internacionais.

� A partir daí, sugestões de modificações sãosubmetidas, avaliadas e introduzidas, em umciclo que culmina com a versão final.

A Criação de Normas ISO/IEC

� Assim que uma nova proposta de item detrabalho (New Work Item proposal - NWI) éaprovada, um grupo de trabalho (WG) e um lídersão designados.

50

� Um grupo de especialistas produz um esboço detrabalho (Working Draft – WD) que é refinadoaté atingir o grau de maturidade de esboço docomitê (Committee Draft – CD), quando éenviado aos grupos de trabalho internacionais(WGs).

A Criação de Normas ISO/IEC

� O trabalho segue em ciclos de modificação euma data é fixada para votação.

� Passada a votação, o documento atinge oestágio de esboço de norma internacional (DraftInternational Standard – DIS), quando passa porum novo ciclo de análise e modificações.

51

um novo ciclo de análise e modificações.

� Passada uma nova votação que aprova odocumento no estágio de esboço finalizado (FinalDIS – FDIS), apenas modificações de carátereditorial podem ser efetuadas.

� Finalmente a norma é publicada como NormaInternacional (International Standard – IS) oucomo relatório técnico (Technical Report – TR).

Uso de Padrões

� Adequação x Certificação.

� Adequação: deve preceder a certificação econsiste em colocar em prática, total ouparcialmente, aquilo que é nela proposto.

� Certificação: Envolve a participação de um

52

� Certificação: Envolve a participação de umorganismo ou empresa externa que possaatestar que a empresa candidata segueefetivamente o padrão.

Certificação

� Pré-análise � Relatório de não-conformidades.

� Ajustes

� Avaliação � Relatório de não-conformidades +Recomendação, que pode ser:� Certificar a empresa, sugerindo apenas pequenascorreções a serem realizadas.

53

correções a serem realizadas.

� Certificar a empresa, porém sob a condição de quecertas correções sejam efetuadas.

� Não certificar a empresa, recomendando uma novaetapa de adequação à norma antes de uma novatentativa de certificação.

� Acompanhamento durante a validade dacertificação.