Baixe o app para aproveitar ainda mais
Prévia do material em texto
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 srbo@ufpa.br 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 Qualidade Custo da qualidade Estratégia de qualidade Grupos de trabalho Envolvimento de clientes e fornecedores Inspeção Detecção de Erro Retificação Métodos estatísticos Desempenho de processo Padrões de qualidade Custo da qualidade Solução de problemas Planejamento 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 porinstituiçõ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 criadas no trabalho voluntário de especialistas do mundo todo. � Essas normas tornaram-se a base para especificar produtos, organizar o fornecimento 43 especificar produtos, organizar o fornecimento de serviços e até mesmo para a elaboração de legislação em vários países. Padrões de Facto � Muitas vezes padrões surgem espontaneamente, a partir de uma necessidade ou como uma solução amplamente adotada quando comparada a outras alternativas. Padrões de facto são padrões aplicados na 44 � Padrões de facto são padrões aplicados na prática, mas que não foram formalizados como um regulamento. � Podem ser criados involuntariamente ou por razões comerciais. Padrões de Jure � São criados de maneira formal, regulamentada. � São escritos seguindo regulamentos e aprovados por instituições reconhecidas publicamente como capacitadas 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.000 documentos internacionais de padronização, 46 documentos internacionais de padronização, tendo aproximadamente 150 países participantes e cerca de 50.000 especialistas que contribuem no mundo inteiro para a criação e verificação dos documentos. A ISO e as Normas Relacionadas a TI � A ISO criou com a IEC (International Eletrotechnical Commission) a primeira comissão conjunta para elaboração de normas, o JTC1 (Joint Technical Committee 1). 47 � O JTC1 é responsável pela criação de normas relacionadas a TI e é dividido em subcomissões (SC), que, por sua vez, são divididas em grupos de trabalho (working groups – WG). A ISO e as Normas Relacionadas a QS � A subcomissão SC-7 (Engenharia de Software e de 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 um ou mais co-editores, que são pessoas de conhecimento técnico reconhecido e podem se dedicar 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 do documento. � Esse esboço é distribuído para análise pelos grupos de trabalho internacionais. � A partir daí, sugestões de modificações são submetidas, avaliadas e introduzidas, em um ciclo que culmina com a versão final. A Criação de Normas ISO/IEC � Assim que uma nova proposta de item de trabalho (New Work Item proposal - NWI) é aprovada, um grupo de trabalho (WG) e um líder são designados. 50 � Um grupo de especialistas produz um esboço de trabalho (Working Draft – WD) que é refinado até atingir o grau de maturidade de esboço do comitê (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 e uma data é fixada para votação. � Passada a votação, o documento atinge o estágio de esboço de norma internacional (Draft International Standard – DIS), quando passa por um 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 o documento no estágio de esboço finalizado (Final DIS – FDIS), apenas modificações de caráter editorial podem ser efetuadas. � Finalmente a norma é publicada como Norma Internacional (International Standard – IS) ou como relatório técnico (Technical Report – TR). Uso de Padrões � Adequação x Certificação. � Adequação: deve preceder a certificação e consiste em colocar em prática, total ou parcialmente, aquilo que é nela proposto. � Certificação: Envolve a participação de um 52 � Certificação: Envolve a participação de um organismo ou empresa externa que possa atestar que a empresa candidata segue efetivamente 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 pequenas correções a serem realizadas. 53 correções a serem realizadas. � Certificar a empresa, porém sob a condição de que certas correções sejam efetuadas. � Não certificar a empresa, recomendando uma nova etapa de adequação à norma antes de uma nova tentativa de certificação. � Acompanhamento durante a validade da certificação.
Compartilhar