Qualidade de Software Prof. Msc Sílvio Bacalá Júnior 2011 SBJ 1 Objetivos da Disciplina Introduzir o conceito de qualidade Conhecer a história da qualidade Conhecer os princípios básicos de qualidade Ter uma visão sistêmica da gestão da qualidade total nas empresas 2011 SBJ Bibliografia Básica KOSCIANSKI, A. SOARES, M. Qualidade de Software. Novatec. 2006. ROCHA, A. MALDONADO, J. WEBER, ª A Qualidade de software - Teoria e Prática. Prentice Hall. 2001. WEBER, K. ROCHA, A. NASCIMENTO, C. Qualidade e Produtividade em software. Makron Books. 2001. 2011 SBJ Bibliografia Complementar ANTONIONI, J. ROSA, N. Qualidade em Software: Manual de aplicação da ISO-9000. Makron Books. 1995. FERNANDES, A. KUGLER, J. Gerência de Projetos de Sistemas: Uma abordagem prática. LTC. 1990. PRESSMAN, R. Engenharia de Software. Makron Books. 1995. WEINBERG, G. Software com qualidade. Volumes 1,2 e 3. Makron Books. 1997. 2011 SBJ Critérios para Avaliação Provas: P1 : 12/04 (APE1 - 16/04) P2 : 13/05 (APE2 – 28/06) Trabalhos em grupo (T): T1 – 12/04 T2 – 13/05 Prova Suplementar: (06/07) 2011 Pontuação sem PGI: Matéria toda SBJ P1 = 30; P2 = 40; T = 30 Pontuação com PGI: P1 = 25; P2 = 30; T = 20; PGI = 25 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 2011 SBJ Por quê da engenharia de software Análise versus síntese de um problema O processo de análise 2011 SBJ Por quê da engenharia de software Análise versus síntese de um problema O processo de síntese 2011 SBJ Por quê da engenharia de software Método ou técnica: procedimento para a produção de um Ex.: um chefe de cozinha prepara um molho resultado. combinando ingredientes em uma ordem e momentos específicos. Ferramenta: instrumento ou sistema automatizado para realizar alguma coisa. Ex.: máquina de escrever, tesoura. Procedimento: receita de combinação de ferramentas e técnicas. Ex.: plano de testes. Paradigma: estilo de fazer algo, representa uma abordagem ou filosofia para a construção de software. Ex.: cozinha francesa, chinesa, orientado a objetos, procedural. 2011 SBJ Abordagem de sistemas Identificar atividades e objetos. Definir as relações e fronteiras do sistema. Considerar sistemas inter-relacionados. Participantes no desenvolvimento de software 2011 SBJ Abordagem de sistemas Definição do sistema de produção de contracheques 2011 SBJ Abordagem de sistemas Resolver o problema? Construir uma solução? Construir uma solução sem defeito? Construir uma solução correta? Construir uma solução com qualidade? 2011 SBJ Qualidade ■ Termo que pode ser definido de várias formas, causando mal-entendidos: • Qualidade não tem um único sentido; • Para cada conceito existem vários níveis de abstração; • Visão popular pode ser diferente do seu uso profissional. 2011 SBJ Qualidade: Visão Popular termo indefinível. pode ser sentida, discutida, julgada, mas não pode ser medida; luxo, classe e elegância. 2011 Produtos caros e complexos têm melhor nível de qualidade. Confiabilidade e o número de reparos efetuados não são considerados. SBJ O que é Qualidade? O que um determinado produto apresenta para considerarmos que o mesmo tem qualidade? Ex.: Carro 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. 2011 SBJ O que é Qualidade? Qualidade está fortemente relacionada à conformidade com os requisitos. • O que é “conformidade em relação a requisitos”? observado x especificado. • Pode haver problemas na observação. • Pode haver problemas na especificação. 2011 SBJ 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 alvo). Pode haver problemas na especificação. 2011 SBJ Qualidade: Definições Simples Qualidade é estar em conformidade com os requisitos do cliente. Qualidade é antecipar e satisfazer os requisitos dos clientes. Qualidade é escrever tudo o que se deve fazer e fazer tudo o que foi escrito. 2011 SBJ O que é qualidade? • “É atender plenamente os requisitos do cliente” • “É superar a expectativa do cliente” “ 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) 2011 SBJ Qualidade — Terminologias Terminologia padrão, segundo IEEE Standard 729 Erro: erro humano Defeito: resultado do erro evidenciado em algum desenvolvimento ou manutenção do produto Falha: divergência entre o comportamento requerido para o sistema e o comportamento real. Como o erro humano causa uma falha 2011 SBJ O que é qualidade? O melhor possível em termos de especificação do produto? TRANSCENDENTAL Produtos ou serviços livres de erros em relação às suas especificações de projeto? MANUFATURA Produto ou serviço adequado ao seu propósito? USUÁRIO 2011 SBJ Qualidade: Visão Profissional Definições Crosby: “Conformidade aos Requisitos” Requisitos devem ser claramente definidos e não podem ser mal-interpretados. Não conformidade = ausência de qualidade. Juran: “Conveniência para Uso” • Considera os requisitos e a expectativa do cliente. • Um produto deve ter elementos que satisfaçam as diversas maneiras com que os clientes o utilizarão. • Parâmetros da conveniência para uso: Qualidade de Projeto e de Conformidade. As duas definições são similares embora a segunda dê mais ênfase às expectativas do usuário. 2011 SBJ Qualidade: Definição da NBR 8402 Qualidade : A totalidade das características de uma entidade que lhe confere a capacidade de satisfazer as necessidades explícitas e implícitas. Ex: Qualidade de um prato de comida está relacionado com a satisfação das necessidades: 2011 SBJ • sabor • aparência • temperatura • rapidez no serviço • preço • higiene • valor nutricional Benefícios da Qualidade 2011 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 SBJ Benefícios da Qualidade Na visão do contratante – – – 2011 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 do cliente/usuário final SBJ O que é Qualidade para Organizações ? Há uma variedade de conceitos para a qualidade na literatura especializada. Existem cinco abordagens principais para definição de qualidade: – – – – – 2011 transcendentais baseada no produto baseada no usuário baseada na produção baseada no valor SBJ Trancendentais Entende-se a qualidade como sendo constituída de padrões elevadíssimos, universalmente conhecidos. Qualidade é atingir ou buscar o padrão mais alto em vez de se contentar com o malfeito ou fraudulento. (Tuchman) Qualidade não é uma ideia ou uma coisa concreta, mas uma terceira entidade independente das duas... Embora não se possa definir qualidade, sabe-se o que ela é. (Pirsig) 2011 SBJ Baseada no Produto A qualidade é constituída de variáveis e atributos que podem ser medidos e controlados nos produtos.. Diferenças de qualidade correspondem a diferenças de quantidade de algum ingrediente ou atributo desejado. (Abbott) Qualidade refere-se às quantidades de atributos sem preço presentes em cada unidade do atributo com preço. (Leffler) 2011 SBJ Baseada no Usuário (cliente) Nesta definição a qualidade deve atender plenamente aos requisitos dos usuários (clientes). Qualidade é a adequação ao uso. (Juran) Qualidade consiste na capacidade de satisfazer desejos. (Edwards) Na análise final de mercado, a qualidade de um produto depende de até que ponto ele se ajusta aos padrões das preferências dos consumidores. (Kuehn & Day) 2011 SBJ Baseada na Produção (manufatura) Aqui, a qualidade pode ser vista como o atendimento às especificações do projeto do produto/serviço na sua fase de produção. Qualidade quer dizer conformidade com as exigências. (Crosby) Qualidade é o grau em que o produto específico está de acordo com o projeto ou especificação. (Gilmore) 2011 SBJ Baseada no valor Nesta última definição, a qualidade é entendida como sendo a relação entre o uso e o preço, ou seja, o preço que o cliente está disposto a pagar pela qualidade de um produto/serviço. Qualidade é o grau de excelência a um preço aceitável e o controle da variabilidade também a um custo aceitável. (Broh) Qualidade quer dizer o melhor para certas condições do cliente. (Feigenbaum) 2011 SBJ Perspectivas de Garvin (1984) sobre qualidade Visão transcendental: algo que podemos reconhecer, mas não definir Visão do usuário: conveniência para propósito pretendido Visão do fabricante: conformidade com especificação Visão do produto: relação com as características inerentes ao produto Visão do mercado: dependência de quanto os consumidores estão dispostos a pagar 2011 SBJ Definição de qualidade Manufatura Produto Qualidade é a consistente conformidade com as expectativas dos consumidores Usuário e Valor 2011 SBJ Histórico • Primeiros relatos apontam o Egito Antigo, 4000 A.C. 2011 SBJ Histórico • Com o surgimento da Revolução Industrial, a produção em massa de bens manufaturados se tornou possível através da divisão do trabalho e da criação de peças intercambiáveis. • Entretanto isso criou problemas para aqueles que estavam acostumados a ter seus bens feitos sob medida. 2011 SBJ Histórico • O moderno sistema industrial começou a emergir no final do século XIX. • Nos EUA, Frederick Taylor foi o pioneiro em gerenciamento científico, retirando o planejamento do trabalho da responsabilidade dos trabalhadores e supervisores, e colocandoo nas mãos dos engenheiros industriais. 2011 SBJ Histórico • Como a prioridade do gerente de produção era cumprir prazos, ele perderia seu emprego caso não atendesse aos programas de produção, ao passo que seria apenas repreendido se a Qualidade estivesse ruim. • Desta forma, ao perceber que a Qualidade sofria com esse sistema, criou-se uma função separadora de inspetor-chefe. 2011 SBJ Histórico • Em 1924, o matemático Walter Shewhart introduziu o controle estatístico da qualidade. 2011 SBJ Histórico • Em 1935, E. S. Pearson desenvolveu a British Standard 600 para amostragem e aceitação para material recebido, mais tarde substituída pela BS 1008, adaptada da U.S. Z-1 Standard, desenvolvida durante a II Guerra Mundial 2011 SBJ Histórico • Em 1946 foi formada a Sociedade Americana para o Controle da Qualidade ASQC. • No mesmo ano, Kenichi Koyanagi fundou a União Japonesa dos Cientistas e Engenheiros (JUSE) e Ichiro Ishikawa foi seu 1º presidente. 2011 SBJ Histórico • Em 1950, W. Edwards Deming, um estatístico que trabalhara na Bell System com George Edwards e Walter Shewhart, foi convidado pela JUSE para falar aos líderes industriais do Japão. • Os ensinamentos do Dr. Deming tocaram profundamente os industriais e a Qualidade, a produtividade e a competitividade japonesas foram tremendamente fortalecidas. 2011 SBJ Juran (1951) Qualidade deve ser planejada e seus custos apurados Custos da qualidade – – – – 2011 Falha externa Falha interna Avaliação Prevenção SBJ Certificação de Qualidade • A qualidade não basta existir, ela deve ser reconhecida pelo cliente. • A certificação de qualidade oficial é emitida com base em um padrão. • Ex. Certificados O selo do SIF O selo da ABIC A classificação em estrelas dos hotéis Os certificados de qualidade da série ISO 9000 (padrão de qualidade) . 2011 SBJ Organizações Normalizadoras ISO - International Organization for Standardization IEEE - Instituto de Engenharia Elétrica e Eletrônica ABNT - Associação Brasileira de Normas Técnicas Para a emissão de certificado, é preciso a realização de todo um processo de avaliação e julgamento de acordo com uma determinada norma. INMETRO - orgão do governo responsável pelo credenciamento das instituições que realizam a certificação. 2011 SBJ Evolução dos Conceitos de Qualidade 2011 1900 - Inspeção pós-produção - avalia o produto final. 1940 - Controle estatístico da produção. 1950 - Avaliação do procedimento de produção. 1960 - Educação das pessoas. 1970 - Otimização dos processos. 1980 - Projeto robusto - avaliação do processo. 1990 - Engenharia Simultânea - avalia a própria concepção do produto. SBJ O que é Qualidade de Software? Conferência da OTAN (1968) – Crise de Software Problemas detectados: • • • Cronogramas não observados. Projetos abandonados. 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 40 anos, o que mudou? 2011 SBJ O que é Qualidade de Software? • Qualidade em geral: é um conceito relativo. está fortemente relacionada à conformidade com requisitos. diz respeito à satisfação do cliente. Como isso se manifesta em software? 2011 SBJ Qualidade aplicada ao Software Mito: Criar programas é uma arte que não pode seguir regras, normas ou padrões. Causas: • Produtos de software são complexos. • Software não tem produção em série. Custo está no projeto e desenvolvimento. • Software não se desgasta. • Software é invisível. Sua representação em grafos e diagramas não é precisa. • A Engenharia de Software ainda não está madura, é uma tecnologia em evolução. • Não há um acordo entre os profissionais sobre o que é qualidade de software. 2011 SBJ Desenvolvimento 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. A volatilidade dos requisitos é lugar comum no desenvolvimento de software. 2011 SBJ Fatores que afetam o Desenvolvimento de Software e influenciam a Qualidade • • • • • • 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; Custos associados à existência de erros; Custos associados à detecção e remoção de erros; etc. 2011 SBJ Qualidade de Software • Perspectiva Histórica da Engenharia de Software: anos 60 - Era Funcional anos 70 - Era do Método anos 80 - Era do Custo anos 90 e depois - Era da Qualidade • Qualidade não é um fator de vantagem no mercado, mas é uma necessidade para a garantia da competitividade. 2011 SBJ 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. Desenvolvedores Usuários Finais 2011 Usuários Indiretos SBJ Definição de Qualidade de Software “Conformidade: • aos requisitos de desempenho e de funcionalidade que foram explicitamente definidos, • aos padrões de desenvolvimento explicitamente documentados e • às características implícitas que são esperadas por todo software desenvolvido por profissionais.” 2011 SBJ Atividades para garantia de qualidade de produtos de software Software Quality Assurance: padrão sistemático e planejado de ações que são exigidas para garantir a qualidade de software. Essas ações englobam: Aplicações de métodos técnicos Realizações de revisões técnicas formais Atividade de teste de software Aplicação de padrões e procedimentos formais Processo de controle de mudanças Mecanismos de medição 2011 SBJ Técnicas aplicadas ao processo de desenvolvimento Planejamento de qualidade Melhoria no processo e controle de qualidade Gerenciamento de qualidade no processo Análise de dados sobre a satisfação do cliente 2011 SBJ 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 qualidade do processo de desenvolvimento. 2011 SBJ Visões sobre a importância da qualidade do produto e do processo Visão que aborda a qualidade do produto Funcionalidade, confiabilidade, usabilidade, eficiência, manutenibilidade e portabilidade (ISO 9126 e NBR 13596). Visão que aborda a qualidade do processo Dos requisitos do usuário à entrega do produto final, existe um processo de desenvolvimento complexo e dividido em fases, que pode comprometer a qualidade do software. Mesmo diante de divergências, o fato é que o processo influi nas características finais do software. 2011 SBJ O que é Processo de Software? Processos de Software devem estabelecer: o 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); o artefatos requeridos e produzidos por cada uma das atividades do processo; o procedimentos (métodos, técnicas, roteiros e padrões) a serem adotados na realização das atividades; o recursos necessários (humanos, hardware e software) para a realização das atividades. 2011 SBJ 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. 2011 SBJ Motivação para a busca da Qualidade do Processo de Software • • • • Aumento da qualidade do produto. Diminuição do retrabalho. Maior produtividade. Redução do tempo para atender o mercado (time to market). • Maior competitividade. • Maior precisão nas estimativas. 2011 SBJ Como definir um processo? Apoio de Normas e Modelos de Qualidade de Processos de Software. 2011 SBJ 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 de serviços e até mesmo para a elaboração de legislação em vários países. 2011 SBJ Padrões de Fato • 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 fato 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. 2011 SBJ 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). 2011 SBJ Principais Normas Nacionais e Internacionais na Área de Software NORMA ISO9126 Características da qualidade de produtos de software NBR13596 Versão brasileira da ISO9126 ISO14598 Guias para avaliação de produtos de software, baseados na ISO9126 ISO12119 Características de qualidade de pacotes de software (software de prateleiras) ISO12207 Norma para a qualidade do processo de desenvolvimento de software. NBRISO9001 Modelo para garantia de qualidade em projeto, desenvolvimento, intalação e assistência técnica (processo) 2011 SBJ Principais Normas Nacionais e Internacionais na Área de Software NORM A CM M SPICE ISO15504 M odelo daSEI paraavaliaçãodaqualidade doprocessodedesenvolvim entode software. Nãoéum anorm aISO, m asé m uitobemaceitanom ercado. ProjetodaISO/IECparaavaliaçãode processodedesenvolvim entodesoftware. Aindanãoéum anorm aoficial ISO, m aso processoestáemandam ento. ISO 2011 SBJ Qualidade de Produtos de Software O que é qualidade de software? Que padrões utilizar? Parece difícil ... Muito se tem pensado sobre isso: o ISO/IEC 9126 - publicada em 1991. o NBR 13596 - publicada em agosto de 1996 Listam um conjunto de características que devem ser verificadas em um software para que ele seja considerado um software de qualidade 2011 SBJ Qualidade de Produtos de Software NBR 13596 Característica Subcaracterísticas Pergunta chave para a subcaracterística Funcionalidade (satisfaz as necessidades?) Adequação Propõe-se a fazer o que é apropriado? Faz o que propôs de maneira correta? Interage com os sistemas especificados? Evita acesso não autorizado a dados? Está de acordo com as normas, leis, etc. Com que frequência apresenta falhas? Ocorrendo falhas, como reage? É capaz de recuperar dados em caso de falhas? É fácil entender o conceito e a aplicação? É fácil aprender a usar? É fácil operar e controlar Acurácia Interoperabilidade Segurança de acesso Conformidade Confiabilidade (É imune a falhas?) Maturidade Usabilidade (É fácil de usar?) Inteligibilidade Tolerância a falhas Recuperabilidade Apreensibilidade Operacionalidade 2011 SBJ Qualidade de Produtos de Software - NBR 13596 Característica Subcaracterísticas Pergunta chave para a subcaracterística Eficiência (Rápido e enxuto) Tempo Qual o tempo de resposta, velocid. de execução? Quanto recurso usa? Durante quanto tempo? É fácil encontrar uma falha, quando ocorre? È fácil modificar e adaptar? Há grande risco quando se faz alterações? É fácil testar quando se faz alterações? É fácil adaptar a outros ambientes? É fácill instalar em outros ambientes? Está de acordo com padrões de portabilidade? É fácil usar para substituir outro sistema? Recursos Manutenibilidade (É fácil de modificar?) Analisabilidade Modificabilidade Estabilidade Testabilidade Portabilidade Adaptabilidade (É fácil de usar em outro ambiente?) Capacidade para ser instalado Conformidade 2011 Capacidade para substituir SBJ Qualidade de Produto de Software - NBR 13596 • Como aplicar a norma ISO 9126/ NBR 13560? • Para avaliar um software segundo a norma deve-se tentar atribuir valores (notas ou conceitos) a cada uma das subcaracterísticas. Fato: É difícil aplicar a norma sem se estar familiarizado com o processo de avaliação de software. • Guias para a avaliação da qualidade - descrevem, detalhadamente todos os passos para se avaliar um software. 2011 SBJ Qualidade de Processo de Software • Processo de Software = conjunto de ferramentas, métodos e práticas usadas para produzir um software. • Para melhorar a qualidade no desenvolvimento precisase de modelos de processos para a descrição precisa e formal das atividades do ciclo de vida do software. • Modelo de Processo é representado por um conjunto sequencial de atividades, objetivos, transformações e eventos que encapsulam estratégias para o cumprimento da evolução do software 2011 SBJ Gerência de Processo de Software • A gerência de processo objetiva a geração de produtos de acordo com o planejado e, ao mesmo tempo, melhorar a capacidade de produzir software com mais qualidade. • Melhor capacidade de lidar com o software: o o o o o o Passo 1. Compreender o estado atual do processo; Passo 2. Desenvolver uma visão do processo desejado; Passo 3. Estabelecer ações para a melhoria do processo; Passo 4. Gerar um plano para acompanhar estas ações; Passo 5. Compreender os recursos para execução do plano; Passo 6. Recomeçar a partir do Passo 1. • Para a evolução do processo de software é necessário ter uma maneira para medi-lo. 2011 SBJ Modelos para a Avaliação do Processo de Software • • • • • Modelo Capability Maturity Model (CMM) ISO 9000-3 Projeto SPICE Modelo PSP (Personal Software Process) Projeto SQUID, etc 2011 SBJ ISO 9000-3 • Guia para a aplicação da ISO 9001 para o desenvolvimento, fornecimento e manutenção de software, criado em 1993. • Especifica requisitos mínimos para assegurar a qualidade de produtos e serviços, não definindo modelos ou impondo sistemas de qualidade. 2011 SBJ ISO 9000-3 Atividades do Ciclo de Vida Agrupa as atividades do ciclo de vida em 9 categorias: análise crítica do contrato especificação dos requisitos do comprador planejamento do desenvolvimento planejamento da qualidade projeto e implementação ensaios e validação aceitação cópia, entrega e instalação manutenção 2011 SBJ ISO 9000-3 Atividades de Suporte Estão organizadas em 9 itens: 2011 gestão de configuração controle de documentos registros da qualidade medição regras, práticas e convenções ferramentas e técnicas aquisição produto de software incluído treinamento SBJ SPICE - Introdução • Motivação Mortalidade dos trabalhos de padronização • SPICE (Software Process Improvement and Capability dEtermination) • Organização 4 Centros Técnicos Conselho Administrativo Organizações privadas e estatais 2011 SBJ SPICE - O que é ? • É um conjunto de documentos • Consiste de um framework de avaliação 2011 Facilita o auto-julgamento Desperta consciência do contexto Produz um perfil do processo Direciona a adequação das atividades Apropriado para organizações de diversos tamanhos SBJ SPICE - Aplicação • Aplicado para organizações envolvidas com qualquer atividade relacionada ás atividades de computação • A avaliação examina o processo e determina a efetividade deste • Resultados podem usados para Auto-Avaliação Melhoria do processo 2011 SBJ Documentos do SPICE O SPICE é composto por 9 partes: parte 1: Conceitos e Guia Introdutório parte 2: Modelo de Gerenciamento de Processo parte 3: Avaliação do Processo parte 4: Guia para Condução de uma Avaliação parte 5: Construção, Seleção e Uso das Ferramentas de Avaliação parte 6: Qualificação e Treinamento dos Avaliadores parte 7: Guia para o Processo de Melhoria parte 8: Guia para Orientação da Determinação da Capacidade do Processo parte 9: Dicionários 2011 SBJ Quadro Comparativo Aspectos ISO9000-3 CM M(SEI) SPICE Abordagem Verificaçãode Classificaçãodasorganizações emníveisdem aturidade crescente. M eta/ Objetivo Certificar a organizaçãode acordocomos padrões estabelecidos. Determ inar acapacitaçãoda em presaeapoiar suaevolução deacordocomos5níveis. Em presas Alvo Organizações Organizaçõesdegrandeporte quenecessitam quenecessitamdeum a deum a certificação. certificação. Avaliaçãodos processoscomo objetivode determ inar a capacitaçãoda organizaçãoe propor m elhoria. Determ inar a capacitaçãoda organizaçãoe apoiar suaevolução deacordocomos objetivosda organização. Organizaçõesem geral. conform idade deprocessosa padrões docum entados. 2011 SBJ Quadro Comparativo Aspectos ISO9000-3 Nãoestabelece Definições deProcessos processos, (estabeleceas atividadesaser cumpridas, com visãode estrutura, ciclo devidae suporte). Flexibilidade Nãoadmite adaptação. Instrumento Checklist. deAvaliação denível de capacitação 2011 CMM (SEI) SPICE Estabelece 18processos organizados em5níveis. Estabelece 35 processos organizados em5 categorias. Nãoadmite adaptação. Adaptável aos objetivosda organização . Questionário. Fornece orientações paramontar questionário . SBJ Quadro Comparativo Aspectos Inspiração e Influência Benefícios Limitações 2011 ISO9000-3 CMM(SEI) SPICE Normas militares americanas, canadenses, sistemas de qualidade do Reino Unido. Difusão extensa; Reconhecimento do valor da certificação. Princípios de TQM, PDCA, Shewart, Deming, CMM, Juran, Crosby. TRILLIUM, Malcolm Baldrige, Bootstrap. Estabelecimento Expansão e de umroteiro para flexibilização a melhoria dos modelos contínua. citados. Risco de se colocar a Certificação como objetivo principal. Ausência de apoio à melhoria contínua. Foco exclusivo no processo. Pouca consideração à diversidade das organizações. Dificuldade de aplicação em pequenas organizações. Foco exclusivo no processo. SBJ Dificuldade de aplicação devido à grande quantidade de informações. Foco exclusivo no processo. Conclusões • Dos métodos de avaliação de processo apresentados, alguns estão estabelecidos no mercado (CMM), e outros apresentam projetos ambiciosos a nível mundial (SPICE). • Dentre estes, existem modelos que além de avaliar o processo de desenvolvimento propõem algum mecanismo para melhoria do processo. 2011 SBJ Conclusões • • • Não existe um modelo ideal de avaliação de qualidade que seja aplicável indistintamente às organizações, abrangendo os diversos objetivos que elas tem em relação a qualidade. A qualidade de software não é garantida somente pela qualidade de processo, mas também pela garantia de qualidade do produto final. A maior preocupação deve ser sempre a satisfação do usuário final. 2011 SBJ 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 é proposto no padrão. • Certificação: Envolve a participação de um organismo ou empresa externa que possa atestar que a empresa candidata segue efetivamente o padrão. 2011 SBJ Qualidade e Processos Relacionados Gerência de Configuração de Software Documentação Qualidade de Software Verificação e Validação 2011 SBJ Qualidade e Processos Relacionados Gerência de Configuração de Software Documentação Qualidade de Software Verificação e Validação 2011 SBJ Documentação e Gerência de Configuração • • • Artefatos registram a evolução do software para que sejam criadas as bases para o desenvolvimento, utilização e manutenção efetivos. Artefatos devem retratar fielmente o software, de modo que as atividades de avaliação e modificação possam ser realizadas sem maiores transtornos. Artefatos evidenciam a evolução do projeto. Mas é muito importante registrar modificações que ocorrem nos mesmos, de modo a se ter um histórico da evolução, o que é feito por meio da Gerência de Configuração de Software (GCS). 2011 SBJ Gerência de Configuração • Permite manter o controle da evolução dos artefatos de software, além de ajudar a cumprir metas de garantia da qualidade. • Envolve, dentre outros: a identificação de itens de configuração de software, controle de alterações, registro e apresentação da situação dos itens e das solicitações de alteração, garantia da consistência dos itens alterados, controle de versão, armazenamento, manipulação e distribuição de itens. 2011 SBJ Qualidade e Processos Relacionados Gerência de Configuração de Software Documentação Qualidade de Software Verificação e Validação 2011 SBJ Verificação e Validação • Verificação: assegurar que o software, ou determinada função do mesmo, está sendo desenvolvido corretamente, o que inclui verificar se os métodos e processos estão sendo aplicados adequadamente. • Validação: assegurar que o software que está sendo desenvolvido é o software correto. 2011 SBJ Análise Estática e Análise Dinâmica • Análise Estática: não envolve a execução propriamente dita do produto. Pode e deve ser aplicada em qualquer artefato intermediário. Ex.: Revisões técnicas, inspeção de código. • Análise Dinâmica: envolve a execução do produto. Ex.: Testes. 2011 SBJ