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