31
13/05/22 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 1 CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

  • Upload
    naasir

  • View
    26

  • Download
    0

Embed Size (px)

DESCRIPTION

CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14. AGENDA. Qualidade de processo e de produto Bibliografia. 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 . - PowerPoint PPT Presentation

Citation preview

Page 1: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

21/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 1

CIÊNCIA DA COMPUTAÇÃO

ENGENHARIA DE SOFTWARE

Aula 14

Page 2: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

21/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 2

Qualidade de processo e de produtoBibliografia

AGENDA

Page 3: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

Certificação de QualidadeCertificação de QualidadeA 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) .

Page 4: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

Organizações NormalizadorasOrganizaçõ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.

Page 5: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

Evolução dos Conceitos de Qualidade 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.

Page 6: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

Qualidade de SoftwareQualidade de SoftwarePerspectiva 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 necessidadenecessidade para a garantia da competitividade.

Page 7: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

Atividades para garantia de qualidade de Atividades para garantia de qualidade de produtos de softwareprodutos 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

Page 8: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

Técnicas aplicadas ao processo de Técnicas aplicadas ao processo de desenvolvimentodesenvolvimento

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

Page 9: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

Visões sobre a importância da qualidade do produto e Visões sobre a importância da qualidade do produto e do processodo processo

• Visão que aborda a qualidade do produtoqualidade do produto– Funcionalidade, confiabilidade, usabilidade, eficiência,

manutenibilidade e portabilidade (ISO 9126 e NBR 13596).

• Visão que aborda a qualidade do processoqualidade 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.

Page 10: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

Principais Normas Nacionais e Internacionais na Área de SoftwarePrincipais Normas Nacionais e Internacionais na Área de SoftwareNORMA

ISO 9126 Características da qualidade deprodutos de software

NBR 13596 Versão brasileira da ISO 9126

ISO 14598 Guias para avaliação de produtos desoftware, baseados na ISO 9126

ISO 12119 Características de qualidade de pacotes desoftware (software de prateleiras)

ISO 12207 Norma para a qualidade do processo dedesenvolvimento de software.

NBR ISO 9001 Modelo para garantia de qualidade emprojeto, desenvolvimento, intalação eassistência técnica (processo)

Page 11: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

Principais Normas Nacionais e Principais Normas Nacionais e Internacionais na Área de SoftwareInternacionais na Área de Software

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.

ISO

Page 12: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

Qualidade de Produtos de Software - Qualidade de Produtos de Software - NBR 13596NBR 13596Caracterí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

Page 13: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

Qualidade de Produtos de Software - Qualidade de Produtos de Software - NBR 13596NBR 13596Caracterí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?

Page 14: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

Qualidade de Produto de Software - Qualidade de Produto de Software - NBR 13596NBR 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.

Page 15: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

Qualidade de Processo de SoftwareQualidade 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

Page 16: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

Gerência de Processo de SoftwareGerê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.

Page 17: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

Modelos para a Avaliação do Processo Modelos para a Avaliação do Processo de Softwarede Software

• Modelo Capability Maturity Model (CMM)

• ISO 9000-3

• Projeto SPICE

• Modelo PSP (Personal Software Process)

• Projeto SQUID, etc

Page 18: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

ISO 9000-3ISO 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.

Page 19: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

ISO 9000-3ISO 9000-3 Atividades do Ciclo de Vida• Agrupa as atividades do ciclo de vida em 9 categorias:

análise crítica do contratoespecificação dos requisitos do compradorplanejamento do desenvolvimentoplanejamento da qualidadeprojeto e implementaçãoensaios e validaçãoaceitaçãocópia, entrega e instalaçãomanutenção

Page 20: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

ISO 9000-3ISO 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

Page 21: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

SPICE - IntroduçãoSPICE - 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

Page 22: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

SPICE - O que é ?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

Page 23: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

SPICE - AplicaçãoSPICE - 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

Page 24: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

Documentos do SPICEDocumentos 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

Page 25: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

Aspectos ISO 9000-3 CMM (SEI) SPICE

Abordagem Verificação deconformidadede processos apadrõesdocumentados.

Classificação das organizaçõesem níveis de maturidadecrescente.

Avaliação dosprocessos com oobjetivo dedeterminar acapacitação daorganização epropor melhoria.

Meta/Objetivo

Certificar aorganização deacordo com ospadrõesestabelecidos.

Determinar a capacitação daempresa e apoiar sua evoluçãode acordo com os 5 níveis.

Determinar acapacitação daorganização eapoiar sua evoluçãode acordo com osobjetivos daorganização.

EmpresasAlvo

Organizaçõesque necessitamde umacertificação.

Organizações de grande porteque necessitam de umacertificação.

Organizações emgeral.

Quadro ComparativoQuadro Comparativo

Page 26: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

Quadro ComparativoQuadro ComparativoAspectos 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.

Page 27: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

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.

Page 28: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

ConclusõesConclusõ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.

Page 29: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

ConclusõesConclusõ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.

Page 30: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

Alguns endereços na Web:

• http://www.sei.cmu.edu/

• http://www.iso.org/iso/home.html

Page 31: CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 14

21/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 31

Bibliografia

BIBLIOGRAFIA BÁSICA

ENGHOLM JUNIOR, Helio. Engenharia de software na prática. 1ª Edição. São Paulo: Novatec, 2010.PAULA FILHO, Wilson de Pádua. Engenharia de Software. 3ª Edição. Rio de Janeiro: LTC, 2009.SCHACH, STEPHEN R. Engenharia de Software: Os paradigmas Clássico e Orientado a Objetos. 7ª EdIção. São Paulo: Mcgraw Hill Interamericana, 2009.

BIBLIOGRAFIA COMPLEMENTAR

KOSCIANSKI, André; SOARES, Michel dos Santos. Qualidade de software: Aprenda as Metodologias e Técnicas mais modernas para o desenvolvimento. 2ª Edição. São Paulo: Novatec, 2007.NOGUEIRA, Marcelo. Engenharia de Software: Um Framework para a Gestão de Riscos em Projetos de Software. 1ª Edição. Rio de Janeiro: Ciência Moderna, 2009.PRESSMAN, Roger S. Engenharia de Software. 6ª Edição. São Paulo: Mcgraw Hill, 2006. SOMMERVILLE, Ian. Engenharia de Software. 8º Edição. São Paulo: Pearson Education, 2007.TONSIG. Sérgio Luiz. Engenharia de Software: Análise e Projeto de Sistemas. 2ª Edição. Rio de Janeiro: Ciência Moderna, 2008.