• Nenhum resultado encontrado

Qualidade de Software

N/A
N/A
Protected

Academic year: 2021

Share "Qualidade de Software"

Copied!
40
0
0

Texto

(1)

Engenharia de Software Qualidade de Software

Prof. Kleber Carrhá 2018.2

www.carrha.com.br

(2)

Unidade 2

Qualidade de Software

(3)

Qualidade de Software

Como

identificar a

qualidade de

um produto?

(4)

Qualidade de Software

A qualidade de um produto é identificada pela identificação da totalidade de suas características que lhe conferem a capacidade de satisfazer as necessidades explícitas e implícitas.

Exemplo:

Sabor;

Aparência;

Temperatura;

Rapidez no serviço;

Preço;

Higiene;

Valor Nutricional.

Qualidade de um produto

(5)

Satisfação de requisitos funcionais e de desempenho explicitamente

declarados, de normas de

desenvolvimento explicitamente documentadas e de características

implícitas que são esperadas em todo o software desenvolvido

profissionalmente.

Área de conhecimento da engenharia de software que objetiva garantir a qualidade do software através da definição e normatização de

processos de desenvolvimento.

Qualidade de Software

(6)

Qualidade de Software

Anos 60 - Era Funcional;

Anos 70 - Era do Método;

Anos 80 - Era do Custo;

Anos 90 e depois - Era da Qualidade.

Perspectiva Histórica da Engenharia de Software

Qualidade não é um fator de vantagem no mercado, mas é uma necessidade para a garantia da competitividade.

(7)

Qualidade de Software

Contempla três grupos de características de qualidade segundo uma perspectiva externa do software

Relaciona as características externas com as características internas do produto

Propõe métricas subjetivas e indiretas para estimar os fatores de qualidade em análise.

Fatores de Qualidade de McCall

(8)

Qualidade de Software

Fatores de Qualidade de McCall

(9)

Qualidade de Software

Conjunto planejado e sistemático de todas as ações necessárias para fornecer uma confiança adequada de que o item ou produto está de acordo com os requisitos técnicos estabelecidos.

Controle da Qualidade de Software

(10)

Qualidade de Software

Qualidade do Produto;

Qualidade do Processo de Desenvolvimento;

Qualidade do Gerenciamento do Processo.

Preocupações da Engenharia de Software

(11)

Qualidade de Software

ISO 9000 / ISO 9000-3;

ISO 9126;

ISO 12207;

ISO/IEC 15504 (SPICE);

MPS.Br;

CMM/CMMI (Capability Maturity Model/Integrated).

Principais Normas Nacionais e Internacionais

(12)

Qualidade de Software

ISO é uma organização não-governamental fundada em 1947, em Genebra, e hoje

presente em cerca de 162 países.

Sua função é a de promover a normatização de produtos e serviços, para que a qualidade dos mesmos seja permanentemente melhorada

Em inglês significa "International Organization for

Standardization“, mas para evitar diferentes acrônimos em

outros idiomas, definiu-se ISO, remetendo à palavra “igual” em latim.

Normas ISO

(13)

Qualidade de Software

ISO 9000

Fornece diretrizes para seleção das normas ISO 9001, ISO 9002 e ISO 9003 e realização de ajustes que sejam necessários durante seu uso.

ISO 9001, ISO 9002 e ISO 9003

Conjunto de normas que tratam de sistemas da qualidade e que podem ser utilizadas para fins de garantia externa.

Nosso foco será na ISO 9000-3!

ISO - Sistema de Gestão da Qualidade

(14)

Qualidade de Software

Guia para a aplicação da ISO 9001 para o

desenvolvimento, fornecimento e manutenção de software, criado em 1993.

É aplicável em situações contratuais, onde:

O contrato exigir esforço de projeto e os requisitos do produto forem indicados principalmente em

termos de desempenho

A confiança no produto puder ser obtida através da demonstração adequada da capacidade de

desenvolvimento, fornecimento e manutenção de um determinado fornecedor.

ISO 9000-3

(15)

Qualidade de Software

Sistema da Qualidade

Estrutura;

Responsabilidade do fornecedor;

Responsabilidade do comprador;

Sistema da Qualidade;

Auditorias internas da qualidade;

Ações corretivas;

Análise crítica conjunta.

ISO 9000-3

(16)

Qualidade de Software

Atividades do Ciclo de Vida:

Generalidade;

Análise crítica do contrato;

Especificação dos Requisitos do comprador;

Planejamento do desenvolvimento;

Planejamento da qualidade;

Projeto e implementação;

Testes e validação;

Aceitação;

Cópia, entrega e instalação;

Manutenção.

ISO 9000-3

(17)

Qualidade de Software

Atividades de Apoio:

Gestão da 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.

ISO 9000-3

(18)

Qualidade de Software

Roteiro de Implantação

Atividades de preparação (alta direção);

Diagnóstico inicial;

Estratégia para mudança do comportamento das pessoas;

Adaptar organograma para criar estrutura de suporte ao Sistema da Qualidade;

Definição e padronização da documentação estratégica, tática, operacional e de registros;

Implantação das técnicas, procedimentos e indicadores da qualidade

Implantação das auditorias internas da qualidade;

Análise dos relatórios da qualidade e medidas de melhoria contínua (TQC).

ISO 9000-3

(19)

Qualidade de Software

Garante a qualidade do produto de software.

Benefícios:

Definição de requisitos da qualidade de um produto de software;

Avaliação das especificações do software durante o desenvolvimento;

Descrição de características e atributos de software (por exemplo em manuais);

Avaliação de software antes da entrega e antes da aceitação;

Avaliação de produtos de software de terceiros.

ISO 9126

(20)

Qualidade de Software

Características de qualidade a serem medidas:

Funcionalidade;

Confiabilidade;

Usabilidade;

Eficiência;

Manutenibilidade;

Portabilidade;

ISO 9126

(21)

Qualidade de Software

Framework para processos de ciclo de vida com terminologia bem definida;

Contém processos, atividades e tarefas que devem ser aplicadas durante a aquisição de sistemas que contém software, produtos de software stand-

alone, serviços de software e durante o

fornecimento, desenvolvimento, operação e manutenção de produtos de software.

ISO 12207

(22)

Qualidade de Software

Descreve a arquitetura de processos de ciclo de vida de software mas não especifica os detalhes de como implementar ou realizar as atividades e tarefas incluídas nos processo.

Não prescreve:

nome, formato e conteúdo da documentação;

um modelo específico de ciclo de vida;

um método de desenvolvimento de software.

ISO 12207

(23)

Qualidade de Software

ISO 12207

PROCESSOS FUNDAMENTAIS Aquisição

Fornecimento

Operação

Manutenção Desenvolvimento

PROCESSOS DE APOIO Documentação

Gerência de Configuração Garantia da Qualidade

Verificação Validação Revisão Conjunta

Auditoria

Resolução de Problemas

PROCESSOS ORGANIZACIONAIS

(24)

Qualidade de Software

Definido no Software Engineering Institute (SEI) - Carnegie Mellon University

Modelos de maturidade e capacidade para a produção de Software

Motivação:

Projetos do Departamento de Defesa

5 Níveis de Maturidade para o Processo.

Tem um custo alto de implantação e historicamente um longo tempo para sua implantação

CMM/CMMI

(25)

Qualidade de Software

O CMMI (Capability Maturity Model Integration) foi criado pelo SEI como uma integração e evolução dos modelos:

SW-CMM;

SECM - System Engineering Capability Model;

IPD-CMM - Integrated Product Development CMM.

CMM/CMMI

(26)

Qualidade de Software

Vantagens:

Eliminação de inconsistências e duplicidades;

Maior clareza do modelo;

Facilidade para entendimento do modelo;

Terminologia padrão;

Estilo consistente;

Garantia de consistência com a ISO 15504;

Manter uma compatibilidade com esforços anteriores de implantação dos modelos.

CMM/CMMI

(27)

Qualidade de Software

Objetivos:

Integrar funções organizacionais tradicionalmente separadas;

Facilitar a melhoria de processos a nível corporativo;

Definir os objetivos e as prioridades para a melhoria de processos, focando a produtividade, a performance, o custo e a satisfação dos envolvidos no projeto;

Fornecer um guia para os processos de qualidade;

Fornecer um ponto de referência para avaliação dos processos correntes.

CMM/CMMI

(28)

Qualidade de Software

Níveis de Maturidade CMM/CMMI

1. Inicial

Imprevisível e mal controlado

2. Repetível

Repete tarefas

previamente dominadas

3. Definido

Processo caracterizado, bem compreendido

4. Gerenciado

Processo medido e controlado

Processo Disciplinado

Processo de Consistência, Padrão

Processo Previsível

Processo de Melhoria Contínua

5.Em Otimização Foco na melhoria do processo

Gerenciamento de Projeto

Processo de Engenharia Integrada

Qualidade de Produto e Processo

Mudança Gerencial

(29)

Qualidade de Software

Admite duas abordagens:

CMM/CMMI

Abordagem de capacidade dos processos.

A organização escolhe em qual processo irá enfatizar a melhoria contínua.

Abordagem da maturidade da organização.

Segue um caminho

(30)

Qualidade de Software

CMM/CMMI

Contínua Estágio

Melhorar o desempenho em um único processo. Enfoque de melhoria do processo de forma sistêmica e estruturada

Melhorar desempenho em várias áreas alinhadas

aos objetivos de negócio da organização. Atingir cada um dos estágios garante a base fundamentada necessária para o próximo estágio.

Níveis de capacidade utilizados para mediar as

melhorias. PA’s organizadas em níveis de maturidade.

Melhorar diferentes processos com diferentes

classificações (rates). Permite a organização ter um caminho evolutivo pré-definido para melhoria.

Necessário conhecimento das dependências e

interações entre áreas de Processo (PA). Provê a migração mais fácil do SW-CMM para o CMMI.

Apropriado para quem sabe que processo deve ser

melhorado. Apropriado para quem não sabe como iniciar um

processo de melhoria ou qual processo deve ser prioridade.

Alinhado com a ISO/IEC 15504 devido a

organização idêntica das PAs. Possui grande número de casos de estudo e dados históricos de práticas bem sucedidas.

(31)

Qualidade de Software

O Projeto SPICE (Software Process

Improvement and Capability dEtermination) nasceu em 1993 como recomendação da ISO para que fossem supridas necessidades de criação de um padrão internacional concebido especialmente para o setor de software, mais abrangente que os padrões existentes e mais específico que a ISO 9001.

Para se tornar compatível com os padrões existentes, a ISO retirou os detalhes de implementação.

ISO/IEC 15504 - SPICE

(32)

Qualidade de Software

Objetivo:

Produzir normas que orientem a avaliação do processo de software visando melhoria contínua do processo e determinação da

capacitação.

Baseou-se no que havia de melhor de modelos pré-existentes, principalmente no CMM

Provê uma estrutura para a avaliação de processos de software que pode ser usada por organizações envolvidas em

planejamento, gerenciamento, monitoramento, controle e melhoria da aquisição, fornecimento, desenvolvimento, operação, evolução e suporte de software.

ISO/IEC 15504 - SPICE

(33)

Qualidade de Software

Abordagem:

entender o estado dos processos da organização para a melhoria do processo;

determinar a adequação dos processos da organização a um requisito particular ou classe de requisitos;

determinar a adequação dos processos de outra organização para um contrato particular ou classe de contratos.

ISO/IEC 15504 - SPICE

(34)

Qualidade de Software

Abordagem:

entender o estado dos processos da organização para a melhoria do processo;

determinar a adequação dos processos da organização a um requisito particular ou classe de requisitos;

determinar a adequação dos processos de outra organização para um contrato particular ou classe de contratos.

ISO/IEC 15504 - SPICE

(35)

Qualidade de Software

Resumo

Aspectos ISO 9000-3 CMM/CMMI(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 necessitem de uma

Organizações em geral

(36)

Qualidade de Software

Resumo

Aspectos ISO 9000-3 CMM/CMMI(SEI) SPICE Definição de

processos Não estabelece

processos 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

Inspiração e

Influência Normas militares americanas,

canadenses, sistema de

qualidade do Reino Unido

Princípios de Shewart,

Deming, Juran, Crosby TQM, PDCA, CMM, TRILLIUM, Malcom Baldrige, Bootstrap

(37)

Qualidade de Software

Resumo

Aspectos ISO 9000-3 CMM/CMMI(SEI) SPICE 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 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

Dificuldade de aplicação devido à grande

quantidade de informações. Foco exclusivo no processo.

(38)

Qualidade de Software

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.

Resumo

(39)

Qualidade de Software

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.

Resumo

(40)

Qualidade de Software

Qual a importância de implantar um processo de qualidade?

Referências

Documentos relacionados

Além disso, a falta de esclarecimento de toda a comunidade escolar sobre sua importância para a melhoria do desempenho dos educandos também contribuiu para que os pais não o

O trabalho intitulado PROJETO DE INTERVENÇÃO SOBRE A IMPLANTAÇÃO DA SISTEMATIZAÇÃO DA ASSISTÊNCIA DE ENFERMAGEM (SAE) PARA PACIENTES COM DIABETES MELLITUS NO

Para atingir este fim, foram adotados diversos métodos: busca bibliográfica sobre os conceitos envolvidos na relação do desenvolvimento de software com

Objetivo: Garantir estimativas mais realistas e precisas para o projeto, ao considerar nesta estimativa o esforço necessário (em horas ou percentual do projeto) para

A tabela 25 apresenta os resultados brutos desta avaliação em relação à característica busca e a tabela 26 exibe o resultado ponderado para esta característica.. A tabela 27

No Quadro 14, está a representação da incompatibilidade número 10 onde na modelagem BIM, conforme o projeto estrutural, a passagem da eletrocalha foi projetada a 2,97m

Neste sentido, o nosso trabalho foi realizado em dois momentos: o Campo de Observação com 20 horas semanais e Campo de Docência com 20 horas semanais, encontros significativos

A forma em que as empresas do arranjo do segmento cama-mesa-banho estão inseridas no mercado externo pode ser enquadrada em relações de redes de empresas, nas