Buscar

Qualidade SW

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.

Continue navegando