Baixe o app para aproveitar ainda mais
Prévia do material em texto
Qualidade de Software Prof. Otto Robert Lessing 2011 SBJ * SBJ 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 2018 UNC UNC 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. 2018 UNC UNC 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. 2018 UNC UNC Critérios para Avaliação Provas: M1 M2 M3 Trabalhos em grupo (T): M2 M3 Data: 06/08/2018 UNC UNC 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 2018 UNC UNC Por quê da engenharia de software Análise versus síntese de um problema O processo de análise 2011 SBJ SBJ Por quê da engenharia de software Análise versus síntese de um problema O processo de síntese 2018 UNC UNC Por quê da engenharia de software Método ou técnica: procedimento para a produção de um resultado. Ferramenta: instrumento ou sistema automatizado para realizar alguma coisa. Procedimento: receita de combinação de ferramentas e técnicas. Paradigma: estilo de fazer algo, representa uma abordagem ou filosofia para a construção de software. Ex.: um chefe de cozinha prepara um molho combinando ingredientes em uma ordem e momentos específicos. Ex.: máquina de escrever, tesoura. Ex.: plano de testes. Ex.: cozinha francesa, chinesa, orientado a objetos, procedural. 2018 UNC UNC Abordagem de sistemas Identificar atividades e objetos. Definir as relações e fronteiras do sistema. Considerar sistemas inter-relacionados. Participantes no desenvolvimento de software 2018 UNC UNC Abordagem de sistemas Definição do sistema de produção de contracheques 2018 UNC UNC 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? 2018 UNC UNC 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. 2018 UNC UNC Qualidade: Visão Popular termo indefinível. pode ser sentida, discutida, julgada, mas não pode ser medida; luxo, classe e elegância. Produtos caros e complexos têm melhor nível de qualidade. Confiabilidade e o número de reparos efetuados não são considerados. 2018 UNC UNC 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. UNC 2018 UNC 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. UNC 2018 UNC 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. UNC 2018 UNC 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. 2018 UNC UNC 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) 2018 UNC UNC 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 2018 UNC UNC O que é qualidade? O melhor possível em termos de especificação do produto? �Produtos ou serviços livres de erros em relação às suas especificações de projeto? Produto ou serviço adequado ao seu propósito? ����� TRANSCENDENTAL MANUFATURA USUÁRIO 2018 UNC UNC Definições Crosby: “Conformidade aos Requisitos” Juran: “Conveniência para Uso” Requisitos devem ser claramente definidos e não podem ser mal-interpretados. Não conformidade = ausência de qualidade. 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. Qualidade: Visão Profissional 2018 UNC UNC A totalidade das características de uma entidade que lhe confere a capacidade de satisfazer as necessidades explícitas e implícitas. sabor aparência temperatura rapidez no serviço preço higiene valor nutricional Qualidade: Definição da NBR 8402 Qualidade : Ex: Qualidade de um prato de comida está relacionado com a satisfação das necessidades: 2011 SBJ SBJ 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 2018 UNC UNC 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 do cliente/usuário final 2018 UNC UNC 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: transcendentais baseada no produto baseada no usuário baseada na produção baseada no valor 2018 UNC UNC 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) 2018 UNC UNC Baseada no Produto A qualidade é constituídade 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) 2018 UNC UNC 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) 2018 UNC UNC 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) 2018 UNC UNC 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) 2018 UNC UNC 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 2018 UNC UNC Definição de qualidade Qualidade é a consistente conformidade com as expectativas dos consumidores Produto Manufatura Usuário e Valor 2018 UNC UNC Histórico Primeiros relatos apontam o Egito Antigo, 4000 A.C. UNC 2018 UNC 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. UNC 2018 UNC 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 colocando-o nas mãos dos engenheiros industriais. UNC 2018 UNC 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. UNC 2018 UNC Histórico Em 1924, o matemático Walter Shewhart introduziu o controle estatístico da qualidade. UNC 2018 UNC 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 UNC 2018 UNC 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. UNC 2018 UNC 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. UNC 2018 UNC Juran (1951) UNC Qualidade deve ser planejada e seus custos apurados Custos da qualidade Falha externa Falha interna Avaliação Prevenção 2018 UNC 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 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. 2018 UNC UNC Evolução dos Conceitos de Qualidade 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. 2011 SBJ 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? UNC 2018 UNC O que é Qualidade de Software? Qualidade em geral: é um conceito relativo. está fortemente relacionada à conformidade com requisitos. diz respeito à satisfação do cliente. SBJ 2011 Como isso se manifesta em software? 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. 2018 UNC UNC 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. UNC 2018 UNC 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. UNC 2018 UNC 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. 2018 UNC UNC O que é Qualidade de Software? UNC Conjunto de características a serem satisfeitas em um determinado grau, de modo que o software satisfaça às necessidades de seus usuários. Usuários Finais Desenvolvedores Usuários Indiretos 2018 UNC Definição de Qualidade de Software “Conformidade: aos requisitos de desempenho e de funcionalidade que foram explicitamente definidos, aos padrões de desenvolvimento explicitamente documentadose às características implícitas que são esperadas por todo software desenvolvido por profissionais.” 2018 UNC UNC 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 2018 UNC UNC 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 2018 UNC UNC 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. UNC 2018 UNC 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. 2018 UNC UNC 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 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. UNC 2018 UNC 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. SBJ 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. UNC 2018 UNC Como definir um processo? Apoio de Normas e Modelos de Qualidade de Processos de Software. UNC 2018 UNC 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. UNC 2018 UNC 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. UNC 2018 UNC 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). SBJ 2011 SBJ Principais Normas Nacionais e Internacionais na Área de Software 2018 UNC UNC 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) Principais Normas Nacionais e Internacionais na Área de Software 2018 UNC UNC NORMA CMM Modelo da SEI para avaliação da qualidade do processo de desenvolvimento de software. Não é uma norma ISO, mas é muito bem aceita no mercado. SPICE ISO 15504 Projeto da ISO/IEC para avaliação de processo de desenvolvimento de software. Ainda não é uma norma oficial ISO, mas o processo está em andamento. ISO Qualidade de Produtos de Software O que é qualidade de software? Que padrões utilizar? Parece difícil ... Muito se tem pensado sobre isso: ISO/IEC 9126 - publicada em 1991. 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 2018 UNC UNC Qualidade de Produtos de Software - NBR 13596 2018 UNC UNC Característica Subcaracterísticas Pergunta chave para a subcaracterística Funcionalidade (satisfaz as necessidades?) Adequação Acurácia Interoperabilidade Segurança de acesso Conformidade 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. Confiabilidade (É imune a falhas?) Maturidade Tolerância a falhas Recuperabilidade Com que frequência apresenta falhas? Ocorrendo falhas, como reage? É capaz de recuperar dados em caso de falhas? Usabilidade (É fácil de usar?) Inteligibilidade Apreensibilidade Operacionalidade É fácil entender o conceito e a aplicação? É fácil aprender a usar? É fácil operar e controlar Qualidade de Produtos de Software - NBR 13596 2018 UNC UNC Característica Subcaracterísticas Pergunta chave para a subcaracterística Eficiência (Rápido e enxuto) Tempo Recursos Qual o tempo de resposta, velocid. de execução? Quanto recurso usa? Durante quanto tempo? Manutenibilidade (É fácil de modificar?) Analisabilidade Modificabilidade Estabilidade Testabilidade É 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? Portabilidade (É fácil de usar em outro ambiente?) Adaptabilidade Capacidade para ser instalado Conformidade Capacidade para substituir É 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? 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. 2018 UNC UNC 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 precisa-se 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 2018 UNC UNC 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: Passo1. 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. 2018 UNC UNC 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 2018 UNC UNC 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. 2018 UNC UNC 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 2018 UNC UNC ISO 9000-3 Atividades de Suporte Estão organizadas em 9 itens: 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 2018 UNC UNC 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 2018 UNC UNC SPICE - O que é ? É um conjunto de documentos Consiste de um framework de avaliação 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 2018 UNC UNC 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 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 2018 UNC UNC Quadro Comparativo 2018 UNC UNC Aspectos ISO 9000-3 CMM (SEI) SPICE Abordagem Verificação de conformidade de processos a padrões documentados. Classificação das organizações em níveis de maturidade crescente. Avaliação dos processos com o objetivo de determinar a capacitação da organização e propor melhoria. Meta/ Objetivo Certificar a organização de acordo com os padrões estabelecidos. Determinar a capacitação da empresa e apoiar sua evolução de acordo com os 5 níveis. Determinar a capacitação da organização e apoiar sua evolução de acordo com os objetivos da organização. Empresas Alvo Organizações que necessitam de uma certificação. Organizações de grande porte que necessitam de uma certificação. Organizações em geral. Quadro Comparativo 2018 UNC UNC Aspectos ISO 9000-3 CMM (SEI) SPICE Definições de Processos Não estabelece processos, (estabelece as atividades a ser cumpridas, com visão de estrutura, ciclo de vida e suporte). Estabelece 18 processos organizados em 5 níveis. Estabelece 35 processos organizados em 5 categorias. Flexibilidade Não admite adaptação. Não admite adaptação. Adaptável aos objetivos da organização. Instrumento de Avaliação de nível de capacitação Check list. Questionário. Fornece orientações para montar questionário. 2018 UNC Quadro Comparativo UNC Aspectos ISO 9000-3 CMM (SEI) SPICE Inspiração e Influência Normas militares americanas, canadenses, sistemas de qualidade do Reino Unido. Princípios de Shewart, Deming, Juran, Crosby. TQM, PDCA, CMM, TRILLIUM, Malcolm Baldrige, Bootstrap. Benefícios Difusão extensa; Reconhecimento do valor da certificação. Estabelecimento de um roteiro para a melhoria contínua. Expansão e flexibilização dos modelos citados. Limitações 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. 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. 2018 UNC UNC 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 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. SBJ 2011 SBJ Qualidade e Processos Relacionados SBJ Qualidade de Software Documentação Gerência de Configuração de Software Verificação e Validação 2011 SBJ Qualidade e Processos Relacionados SBJ Qualidade de Software Documentação Gerência de Configuração 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). SBJ 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. UNC 2018 UNC Qualidade e Processos Relacionados UNC Qualidade de Software Documentação Gerência de Configuração de Software Verificação e Validação 2018 UNC 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. UNC 2018 UNC 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 qualquerartefato intermediário. Ex.: Revisões técnicas, inspeção de código. Análise Dinâmica: envolve a execução do produto. Ex.: Testes. UNC 2018 UNC 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) NORMA CMM Modelo da SEI para avaliação da qualidade do processo de desenvolvimento de software. Não é uma norma ISO, mas é muito bem aceita no mercado. SPICE ISO 15504 Projeto da ISO/IEC para avaliação de processo de desenvolvimento de software. Ainda não é uma norma oficial ISO, mas o processo está em andamento. ISO Característica Subcaracterísticas Pergunta chave para a subcaracterística Funcionalidade (satisfaz as necessidades?) Adequação Acurácia Interoperabilidade Segurança de acesso Conformidade 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. Confiabilidade (É imune a falhas?) Maturidade Tolerância a falhas Recuperabilidade Com que frequência apresenta falhas? Ocorrendo falhas, como reage? É capaz de recuperar dados em caso de falhas? Usabilidade (É fácil de usar?) Inteligibilidade Apreensibilidade Operacionalidade É fácil entender o conceito e a aplicação? É fácil aprender a usar? É fácil operar e controlar Característica Subcaracterísticas Pergunta chave para a subcaracterística Eficiência (Rápido e enxuto) Tempo Recursos Qual o tempo de resposta, velocid. de execução? Quanto recurso usa? Durante quanto tempo? Manutenibilidade (É fácil de modificar?) Analisabilidade Modificabilidade Estabilidade Testabilidade É 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? Portabilidade (É fácil de usar em outro ambiente?) Adaptabilidade Capacidade para ser instalado Conformidade Capacidade para substituir É 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? Aspectos ISO 9000-3 CMM (SEI) SPICE Abordagem Verificação de conformidade de processos a padrões documentados. Classificação das organizações em níveis de maturidade crescente. Avaliação dos processos com o objetivo de determinar a capacitação da organização e propor melhoria. Meta/ Objetivo Certificar a organização de acordo com os padrões estabelecidos. Determinar a capacitação da empresa e apoiar sua evolução de acordo com os 5 níveis. Determinar a capacitação da organização e apoiar sua evolução de acordo com os objetivos da organização. Empresas Alvo Organizações que necessitam de uma certificação. Organizações de grande porte que necessitam de uma certificação. Organizações em geral. Aspectos ISO 9000-3 CMM (SEI) SPICE Definições de Processos Não estabelece processos, (estabelece as atividades a ser cumpridas, com visão de estrutura, ciclo de vida e suporte). Estabelece 18 processos organizados em 5 níveis. Estabelece 35 processos organizados em 5 categorias. Flexibilidade Não admite adaptação. Não admite adaptação. Adaptável aos objetivos da organização . Instrumento de Avaliação de nível de capacitação Check list. Questionário. Fornece orientações para montar questionário . Aspectos ISO 9000-3 CMM (SEI) SPICE Inspiração e Influência Normas militares americanas, canadenses, sistemas de qualidade do Reino Unido. Princípios de Shewart, Deming, Juran, Crosby. TQM, PDCA, CMM, TRILLIUM, Malcolm Baldrige, Bootstrap. Benefícios Difusão extensa; Reconhecimento do valor da certificação. Estabelecimento de um roteiro para a melhoria contínua. Expansão e flexibilização dos modelos citados. Limitações 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. Dificuldade de aplicação devido à grande quantidade de informações. Foco exclusivo no processo.
Compartilhar