Qualidade de Software



Documentos relacionados
Qualidade de Software. Prof. Natália Oliveira M.Sc

Padrões de Qualidade de Software

CES-32 e CE-230 Qualidade, Confiabilidade e Segurança de Software. Conceitos de Qualidade. CURSO DE GRADUAÇÃO e DE PÓS-GRADUAÇÃO DO ITA

Atividade da gerência da qualidade

Normas e Padrões de Qualidade em Software - I

Auditoria e Qualidade de Software ISO/IEC 9126 Engenharia de Software Qualidade de Produto

Prof. Dr. Ivanir Costa. Unidade III QUALIDADE DE SOFTWARE

Padrões de Qualidade de Software e Métricas de Software

ISO Aécio Costa

Introdução Fatores de Qualidade Garantia de Qualidade Rivisões de Software Conclusão. Qualidade. Plácido A. S. Neto 1

Qualidade de Software. Profa. Cátia dos Reis Machado

GARANTIA DA QUALIDADE DE SOFTWARE

Qualidade de Software

Qualidade e Teste de Software. QTS - Norma ISO (NBR13596) 1

Qualidade de. Software. Definições. Qualidade do Produto ISO Processo de. Software. Modelo de Processo de. Software CMM SPICE ISO 12207

IC-UNICAMP IC-UNICAMP

Qualidade de Software. Prof.: Ivon Rodrigues Canedo. PUC Goiás

NORMAS ISO E SUA IMPORTÂNCIA NA PRODUÇÃO DE SOFTWARE

Qualidade de Software: Visão Geral

QUALIDADE DE SOFTWARE

Qualidade de Software. MC626 Adaptado de notas de aula da Prof. Eliane Martins (

Qualidade de Produto de Software

Conceitos. Conceitos. Histórico. Histórico. Disciplina: Gestão de Qualidade ISSO FATEC - IPATINGA

Qualidade de Processo de Software Normas ISO e 15504

21. Qualidade de Produto ou Qualidade de Processo de Software?

Qualidade de software

Modelos de Qualidade de Produto de Software

Universidade Regional de Blumenau - FURB

Qualidade de Software. Aécio Costa

Departamento de Engenharia. ENG 1090 Introdução à Engenharia de Produção

PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL PEDROHOLI@GMAIL.COM CMM E CMMI

MODELO CMM MATURIDADE DE SOFTWARE

MODELO SPICE Software Improvement and Capacibilty Determination Avalia o software com foco na melhoria de seus processos (identifica pontos fracos e

Introdução à Qualidade de Software. Profº Aldo Rocha

Todos nossos cursos são preparados por mestres e profissionais reconhecidos no mercado, com larga e comprovada experiência em suas áreas de atuação.

Engenharia de Software

FACULDADE SENAC GOIÂNIA

pacotes de software na forma em que são É importante salientar que não é objetivo do software, suas atividades e produtos

Qualidade de software

Visão Geral da Qualidade de Software


ISO NAS PRAÇAS. Oficina ISO Formulação da Política da Qualidade. Julho/2011

ANÁLISE DOS REQUISITOS NORMATIVOS PARA A GESTÃO DE MEDIÇÃO EM ORGANIZAÇÕES

QUALIDADE DE SOFTWARE

SIMPROS Experiência de implantação da norma ISO 9001:2000 a partir da utilização da ISO/IEC TR (SPICE) para Melhoria de Processos

Engenharia de Software III

CHECK LIST DE AVALIAÇÃO DE FORNECEDORES Divisão:

Qualidade de Software

Qual a diferença entre certificação e acreditação? O que precisamos fazer para obter e manter a certificação ou acreditação?

FTAD. Formação Técnica em Administração de Empresas. Gestão da Qualidade

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

QUALIDADE DE SOFTWARE AULA N.7

Introdução Visão Geral Processos de gerenciamento de qualidade. Entradas Ferramentas e Técnicas Saídas

Sistemas de Gestão Ambiental O QUE MUDOU COM A NOVA ISO 14001:2004

Governança de TI. ITIL v.2&3. parte 1

CHECK - LIST - ISO 9001:2000

ISO/IEC 12207: Gerência de Configuração

Década de 80, o Instituto de Engenharia de Software (SEI) foi criado.

FACULDADE BARÃO DE RIO BRANCO UNINORTE CURSO DE ARQUITETURA E URBANISMO DISCIPLINA - TECNOLOGIA DA CONSTRUÇÃO 1 (AULA

ECS -ASSESSORIA E CONSULTORIA TÉCNICA. ISO 14001:2015 Tendências da nova revisão

ISO 9001:2008. Alterações e Adições da nova versão

Engenharia de Software

CICLO DE EVENTOS DA QUALIDADE

Qualidade de Software. Anderson Belgamo

CMM Capability Maturity Model. Silvia Regina Vergilio

Qualidade na gestão de projeto de desenvolvimento de software

Normas Série ISO 9000

ISO e ISO 9001

ALESSANDRO PEREIRA DOS REIS PAULO CESAR CASTRO DE ALMEIDA ENGENHARIA DE SOFTWARE - CAPABILITY MATURITY MODEL INTEGRATION (CMMI)

AS CARACTERÍSTICAS DO CMM E O DESENVOLVIMENTO DE SOFTWARE COM QUALIDADE

Importância da normalização para as Micro e Pequenas Empresas 1. Normas só são importantes para as grandes empresas...

Marcos Antonio Lima de Oliveira, MSc Quality Engineer ASQ/USA Diretor da ISOQUALITAS

Introdução à Qualidade de Software

Universidade Paulista

Engenharia de Software

ENQUALAB 2013 QUALIDADE & CONFIABILIDADE NA METROLOGIA AUTOMOTIVA. Elaboração em planos de Calibração Interna na Indústria Automotiva

Capítulo 8: Conclusão. Capítulo 8: Conclusão

Gerência de Projetos

livros indicados e / ou recomendados

Garantia da Qualidade de Software

PALESTRA. Aplicação da Norma IEEE 829 como Mecanismo de Gerência do Processo de Teste de Produtos de Software. CenPRA

ENGENHARIA DE SOFTWARE I

C.M.M. Capability Maturity Model Modelo de Maturidade da Capacidade

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

QUALIDADE DE SOFTWARE

Qualidade de Software

OS 14 PONTOS DA FILOSOFIA DE DEMING

GESTÃO DE SERVIÇOS DE TI: OTIMIZAÇÃO DE RECURSOS E PROCESSOS. Realização:

SUMÁRIO I. - O QUE É QUALIDADE... 3 II. - HISTÓRICO DA QUALIDADE... 4 III. - PORQUÊ SE PREOCUPAR COM A QUALIDADE DE SOFTWARE?... 6

Palestra Informativa Sistema da Qualidade NBR ISO 9001:2000

Qualidade de Software

Introdução ao MPS.BR Guia Geral. Prof. Elias Batista Ferreira

O que é CMMI? Base do CMMI. Melhorando o processo é possível melhorar-mos o software. Gerais. Processo. Produto

QUALIDADE DE SOFTWARE. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1

Transcrição:

Qualidade de Software

Introdução Qualidade é um dos principais objetivos da Engenharia de Software. Muitos métodos, técnicas e ferramentas são desenvolvidas para apoiar a produção com qualidade. Tem-se dado grande importância ao processo como forma de se garantir um software de melhor qualidade.

Qualidade Termo que pode ser definido de várias formas, causando mal-entendidos: 1. Qualidade não tem um único sentido; 2. Para cada conceito existem vários níveis de abstração; 3. Visão popular pode ser diferente do seu uso profissional.

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.

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.

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.

Qualidade: Definição segundo 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: sabor aparência temperatura rapidez no serviço preço higiene valor nutricional

Qualidade : 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).

Qualidade : 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.

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.

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.

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.

Qualidade de Software - 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

Qualidade de Software - 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

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.

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.

Principais Normas Nacionais e Internacionais na Área de Software NORMA ISO 9126 Características da qualidade de produtos de software NBR 13596 Versão brasileira da ISO 9126 ISO 14598 ISO 12119 ISO 12207 NBR ISO 9001 Guias para avaliação de produtos de software, baseados na ISO 9126 Características de qualidade de pacotes de software (software de prateleiras) Norma para a qualidade do processo de desenvolvimento de software. Modelo para garantia de qualidade em projeto, desenvolvimento, intalação e assistência técnica (processo)

ISO Principais Normas Nacionais e Internacionais na Área de Software NORMA CMM SPICE ISO 15504 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. 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.

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

Qualidade de Produtos de Software - NBR 13596 Característica Subcaracterísticas Pergunta chave para a subcaracterística Funcionalidade (satisfaz as necessidades?) Confiabilidade (É imune a falhas?) Usabilidade (É fácil de usar?) Adequação Acurácia Interoperabilidade Segurança de acesso Conformidade Maturidade Tolerância a falhas Recuperabilidade Inteligibilidade Apreensibilidade Operacionalidade 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

Qualidade de Produtos de Software - NBR 13596 Característica Subcaracterísticas Pergunta chave para a subcaracterística Eficiência (Rápido e enxuto) Manutenibilidade (É fácil de modificar?) Portabilidade (É fácil de usar em outro ambiente?) Tempo Recursos Analisabilidade Modificabilidade Estabilidade Testabilidade Adaptabilidade Capacidade para ser instalado Conformidade Capacidade para substituir 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?

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.

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 seqüencial de atividades, objetivos, transformações e eventos que encapsulam estratégias para o cumprimento da evolução do software

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: 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 medí-lo.

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

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.

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

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

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

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

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

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

Quadro Comparativo Aspectos ISO 9000-3 CMM (SEI) SPICE Abordagem Meta/ Objetivo Empresas Alvo Verificação de conformidade de processos a padrões documentados. Certificar a organização de acordo com os padrões estabelecidos. Organizações que necessitam de uma certificação. Classificação das organizações em níveis de maturidade crescente. Determinar a capacitação da empresa e apoiar sua evolução de acordo com os 5 níveis. Organizações de grande porte que necessitam de uma certificação. Avaliação dos processos com o objetivo de determinar a capacitação da organização e propor melhoria. Determinar a capacitação da organização e apoiar sua evolução de acordo com os objetivos da organização. Organizações em geral.

Quadro Comparativo Aspectos ISO 9000-3 CMM (SEI) Definições de Processos Flexibilidade Instrumento de Avaliação de nível de capacitação Não estabelece processos, (estabelece as atividades a ser cumpridas, com visão de estrutura, ciclo de vida e suporte). Não admite adaptação. Estabelece 18 processos organizados em 5 níveis. Não admite adaptação. SPICE Estabelece 35 processos organizados em 5 categorias. Adaptável aos objetivos da organização. Check list. Questionário. Fornece orientações para montar questionário.

Aspectos ISO 9000-3 CMM (SEI) SPICE Inspiração e Influência Benefícios Normas militares americanas, canadenses, sistemas de qualidade do Reino Unido. Difusão extensa; Reconhecimento do valor da certificação. Princípios de Shewart, Deming, Juran, Crosby. Estabelecimento de um roteiro para a melhoria contínua. TQM, PDCA, CMM, TRILLIUM, Malcolm Baldrige, Bootstrap. 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.

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.