• Nenhum resultado encontrado

Engenharia de Software

N/A
N/A
Protected

Academic year: 2023

Share "Engenharia de Software "

Copied!
39
0
0

Texto

(1)

Qualidade de Software Qualidade de Software

Engenharia de Software

ProfProfaa. Inês Ap. Gasparotto Boaventura. Inês Ap. Gasparotto Boaventura 1. Semestre/2001 1. Semestre/2001

(2)

Introdução Introdução

• Qualidade é um dos principais objetivos da Qualidade 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.”

(3)

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.

(4)

Qualidade: Visão Popular 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.

(5)

Qualidade: Definições Simples 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.

(6)

Qualidade: Visão Profissional Qualidade: Visão Profissional

Definições 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 As duas definições são similares embora a segunda

dê mais ênfase às expectativas do usuário.

dê mais ênfase às expectativas do usuário.

(7)

Qualidade: Definição segundo NBR Qualidade: Definição segundo NBR 8402 8402

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 :

Ex: Qualidade de um prato de comida está relacionado com a satisfação das necessidades:

(8)

Qualidade : Certificação de Qualidade : Certificação de

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

(9)

Qualidade : Organizações Qualidade : Organizações

Normalizadoras 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.

(10)

Evolução dos Conceitos de Evolução dos Conceitos de

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

(11)

Qualidade aplicada ao Software 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.

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.

(12)

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.necessidade

(13)

Qualidade de Software -

Qualidade de Software - atividades atividades para garantia de qualidade de

para garantia de qualidade de produtos de software

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

(14)

Qualidade de Software -

Qualidade de Software - técnicas técnicas aplicadas ao processo de

aplicadas ao processo de desenvolvimento

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

(15)

Definição de Qualidade de Software 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.”

(16)

Visões sobre a importância da qualidade Visões sobre a importância da qualidade

do produto e do processo do produto e do processo

• Visão que aborda a

qualidade do produto qualidade do produto

Funcionalidade, confiabilidade, usabilidade, eficiência, manutenibilidade e portabilidade (ISO 9126 e NBR 13596).

• Visão que aborda a

qualidade do processo 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.

(17)

Principais Normas Nacionais e Principais Normas Nacionais e

Internacionais na Área de Software 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 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)

(18)

Principais Normas Nacionais e Principais Normas Nacionais e

Internacionais na Área de Software Internacionais 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.

Ainda não é uma norma oficial ISO, mas o processo está em andamento.

I SO

(19)

Qualidade de Produtos de Qualidade de Produtos de

Software 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

(20)

Qualidade de Produtos de Qualidade de Produtos de

Software -

Software - NBR 13596 NBR 13596

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

(21)

Qualidade de Produtos de Qualidade de Produtos de

Software -

Software - NBR 13596 NBR 13596

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?

(22)

Qualidade de Produto de Qualidade de Produto de

Software -

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

(23)

Qualidade de Processo de Qualidade de Processo de

Software 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

(24)

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

(25)

Modelos para a Avaliação do Processo Modelos para a Avaliação do Processo

de Software de Software

• Modelo Capability Maturity Model (CMM)

ISO 9000-3

• Projeto SPICE

• Modelo PSP (Personal Software Process )

• Projeto SQUID, etc

(26)

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

(27)

ISO 9000-3

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

(28)

ISO 9000-3

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

(29)

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

(30)

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

(31)

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

(32)

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

(33)

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

Quadro Comparativo

(34)

Quadro Comparativo Quadro Comparativo

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 35processos organizados em 5

categorias.

Flexibilidade Não admite

adaptação. Não admite

adaptação. Adaptável aosobjetivos da organização .

Instrumento de Avaliação de nível de capacitação

Check list. Questionário. Fornece orientações para montar questionário .

(35)

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.

(36)

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

(37)

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

(38)

Alguns endereços na Web:

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

• http://www.ISO_online.com

(39)

fim fim

Referências

Documentos relacionados

 Aplicado a um par de cromossomos retirados da população intermediária para gerar filhos.  Filhos herdam características