Você está na página 1de 51

Qualidade de Software:

Visão Geral
SSC 121-Engenharia de Software 1
Profa. Dra. Elisa Yumi Nakagawa

2o semestre de 2012
Qualidade de Software

 Qualidade é um termo que pode ter


Qualidade de
Software
Definições
diferentes interpretações
Qualidade do
Produto
ISO 9126
 Existem muitas definições de qualidade
Processo
Software
de
de software propostas na literatura, sob
Modelo de
Processo de
Software diferentes pontos de vistas
CMM

ISO 12207
Conclusão

2
Qualidade de Software

Qualidade de
Definição:
Software
Definições

Qualidade do
“Um produto de software apresenta qualidade
Produto
ISO 9126
dependendo do grau de satisfação das
Processo
Software
de
necessidades dos clientes sob todos os
aspectos do produto” [Sanders, 1994].
Modelo de
Processo de
Software
CMM

ISO 12207
Conclusão

3
Qualidade de Software

Qualidade de
Software
Definições

Qualidade do
Definição:
 “Qualidade é a totalidade de características
Produto
ISO 9126
Processo de
Software
Modelo de
e critérios de um produto ou serviço que
Processo de
Software exercem suas habilidades para satisfazer às
CMM

ISO 12207 necessidades declaradas ou envolvidas


“[ISO9126 1994].
Conclusão

4
Requisitos de Software - Base da
Qualidade
PROCESSO DE
Qualidade de Usuário SOFTWARE
Software
Processo de
Definições
Desenvolvedor Requisitos Desenvolvimento
padrões
Qualidade do
Produto
ISO 9126 Organização
Processo de
Software
Modelo de Requisitos Padrões
Processo de
atendidos atendidos
Software SOFTWARE
CMM
PRODUTO
ISO 12207
Conclusão

SOFTWARE COM QUALIDADE


5
Incorporação da Qualidade

 Raramente qualidade pode ser incorporada


Qualidade
Software
de
ao produto final, após o processo de
Definições

Qualidade do desenvolvimento ter terminado.


Produto
ISO 9126
Processo de
 Dos requisitos do usuário à entrega do
Software
Modelo de
produto final, existe um processo de
Processo de
Software
CMM
desenvolvimento que é complexo e
ISO 12207
Conclusão
freqüentemente envolve uma série de
estágios que podem comprometer a
qualidade do produto final.
6
Incorporação da Qualidade: Qualidade
dos Produtos Intermediários

Qualidade de
Software
Definições
requisitos do usuário Produtos
Qualidade do Intermediários
Produto
ISO 9126
Processo de
Software
Modelo de
Processo de
Software
CMM

ISO 12207
Produto
Conclusão Final

entrega do produto final


7
Qualidade: Objetivo do Processo de
Desenvolvimento

Qualidade
Software
de  A qualidade do produto de software é um
Definições

Qualidade do
objetivo do processo de desenvolvimento.
Produto
ISO 9126
Processo de
 Assim, ao desenvolver-se um produto,
Software
Modelo de
Processo de
deve-se ter previamente estabelecidas,
Software
CMM
como perspectiva, as características de
ISO 12207
Conclusão qualidade que se desejam alcançar.

9
Atividades de Padronização

 Qualidade do Produto
ISO 9126
Qualidade de
Software
Definições

Qualidade
Produto
do
 Qualidade do Processo
ISO 9126
Processo
Software
de CMM
ISO 12207
Modelo de
Processo de
Software

SPICE
CMM

ISO 12207
Conclusão

10
ISO/IEC 9126

 Representa a atual padronização mundial


Qualidade
Software
de
para a qualidade de software produto.
Definições

Qualidade
Produto
do
 Baseada em três níveis: Características,
ISO 9126
Processo
Software
de Sub-características e Métricas.
 Cada característica é refinada em um
Modelo de
Processo de
Software
CMM

ISO 12207
conjunto de sub-características e cada
Conclusão
sub-característica é avaliada por um
conjunto de métricas.
11
ISO/IEC 9126

As características são:


Funcionalidade - Satisfaz as necessidades?
Qualidade de
Software
Definições

Qualidade
Produto
do
Confiabilidade - É imune a falhas?
ISO 9126
Processo de Usabilidade - É fácil de usar?
Software
Modelo de
Processo de Eficiência - É rápido e “enxuto” ?
Software
CMM

ISO 12207
Manutenibilidade - É fácil de modificar?
Conclusão
Portabilidade - É fácil de usar em outro
ambiente?
12
ISO/IEC 9126

Funcionalidade: “Conjunto de atributos que


Qualidade
Software
de evidenciam a existência de um conjunto de
Definições

Qualidade do
funções e suas propriedades especificadas. As
Produto
ISO 9126
funções são as que satisfazem as necessidades
Processo
Software
de
explícitas e implícitas”.
Usabilidade: “Conjunto de atributos que
Modelo de
Processo de
Software
CMM

ISO 12207
evidenciam o esforço necessário para se poder
Conclusão
utilizar o software, bem como o julgamento
individual desse uso, por um conjunto explícito
ou implícito de usuários”.
13
ISO/IEC 9126

Confiabilidade: “Conjunto de atributos que


Qualidade
Software
de evidenciam a capacidade do software de manter
Definições

Qualidade do
seu nível de desempenho sob condições
Produto
ISO 9126
estabelecidas durante um período de tempo
Processo
Software
de
estabelecido”.
Eficiência: “Conjunto de atributos que evidenciam
Modelo de
Processo de
Software
CMM

ISO 12207
o relacionamento entre o nível de desempenho
Conclusão
do software e a quantidade de recursos usados,
sob condições estabelecidas”.

14
ISO/IEC 9126

Manutenibilidade: “Conjunto de atributos que


Qualidade
Software
de evidenciam o esforço necessário para fazer
Definições

Qualidade do
modificações especificadas no software”.
Portabilidade: “Conjunto de atributos que
Produto
ISO 9126
Processo de
Software evidenciam a capacidade do software de ser
transferido de um ambiente para outro” .
Modelo de
Processo de
Software
CMM

ISO 12207
Conclusão

15
Processo de Software

Pessoas com
Qualidade de habilidades,
Software
Definições
treinamento e
Qualidade do motivação
Produto Processo
ISO 9126 de Ferramentas e
Processo de Equipamentos
Software Desenvolvimento
Modelo de
Processo de
Gerenciar o Processo
Software
CMM

ISO 12207 Procedimentos e B


Conclusão
métodos que definem A D
o relacionamento C
Processo
de tarefas. de Software muito BEM definido
16
Processo de Software

Definição
Qualidade de
Software
Definições

Qualidade do
 processo - uma sequência de passos realizados
Produto
ISO 9126
para um determinado propósito (IEEE).
Processo de
Software
Modelo de  processo de software - conjunto de atividades,
Processo de
Software
CMM
métodos, práticas e tecnologias que as pessoas
ISO 12207
Conclusão
utilizam para desenvolver e manter software e
produtos relacionados (CMM).

17
Processo de Software

Definição
Qualidade de
Software
Definições

Qualidade
Produto
do  processo de software: Consiste em uma série
ISO 9126
Processo de
de atividades, práticas, eventos, ferramentas e
Software
Modelo de
métodos que garantem, técnica e
Processo de
Software
administrativamente que o software pode ser
CMM

ISO 12207
desenvolvido com qualidade e de maneira
Conclusão organizada, disciplinada e previsível.

18
Modelos de Processo de Software
 Uma das maiores dificuldades
Qualidade
Software
de encontradas pelas empresas de
Definições

Qualidade do
software é o gerenciamento de
Produto
ISO 9126
seus processos de software.
Processo de
Software
Modelo de
Processo de
Software
CMM

ISO 12207
Conclusão Modelos de Processo de Software

19
Modelos de Processo de Software
 Um modelo de processo procura descrever
Qualidade de formalmente e de maneira organizada todas as
Software
Definições atividades que devem ser seguidas para a
Qualidade do
Produto obtenção segura de um produto de software.
ISO 9126
Processo de
Software
Modelo de
 É importante escolher um modelo apropriado às
Processo de
Software metas da organização e saber o grau em que
CMM

ISO 12207
esse modelo será implementado.
Conclusão

 Modelos CMM, SPICE e Bootstrap são padrões


relacionados a processo de software.
20
Um Processo de Software Imaturo

Qualidade
Software
de  Ad hoc; processo improvisado por profissionais e
Definições gerências.
Qualidade do
Produto
ISO 9126
Processo de
 Não é rigorosamente seguido e o cumprimento
Software
Modelo de
não é controlado.
Processo de
Software
CMM  Altamente dependente dos profissionais atuais.
ISO 12207
Conclusão
 Baixa visão do progresso e da qualidade.

21
Um Processo de Software Imaturo

Qualidade de
 A qualidade do produto pode ficar
Software
Definições
comprometida para que prazos sejam
Qualidade
Produto
do
cumpridos.
ISO 9126
Processo de
Software
Modelo de
 Arriscado do ponto de vista do uso de nova
Processo de
Software tecnologia.
CMM

ISO 12207
Conclusão
 Custos de manutenção excessivos.
 Qualidade difícil de se prever.

22
Um Processo de Software Maturo

Qualidade de
 Coerente com as linhas de ação, o trabalho é
Software
Definições
efetivamente concluído.
Qualidade do
Produto
ISO 9126  Definido, documentado e melhorando
Processo de
Software constantemente:
Modelo de
Processo de
Software  compreendido
CMM

ISO 12207  utilizado


Conclusão

 vivo e ativo

23
Um Processo de Software Maturo

Qualidade
Software
de  Com o apoio visível da alta administração e
Definições outras gerências.
Qualidade do
Produto
ISO 9126
Processo de
 Bem controlado - fidelidade ao processo é objeto
Software
Modelo de de auditoria e de controle.
Processo de
Software
CMM

ISO 12207
 São utilizadas medições do produto e do processo.
Conclusão

 Uso disciplinado da tecnologia.

24
Maturidade de Processo de Software

Qualidade de
Software
Definições
 A qualidade do processo de software pode ser
Qualidade
Produto
do analisada através do nível de maturidade do
ISO 9126
Processo de
processo .
Software
Modelo de
Processo de
 A maturidade dos processos de software de uma
Software
CMM
organização influencia na sua capacidade de
ISO 12207
Conclusão
atingir metas de custo, qualidade e cronograma.

25
Capability Maturity Model (CMM)

 Modelo de Maturidade de Processo de Software


Qualidade
Software
de
que auxilia as empresas a melhorar seus processos
Definições

Qualidade do
de software.
Produto
ISO 9126
Processo de
 1986 - Software Engineering Institute (SEI) por
Software
Modelo de solicitação do DoD que necessitava de um método
Processo de
Software
CMM
de avaliar a capacidade de seus fornecedores de
ISO 12207 software.
Conclusão

 1991 - 1a versão do CMM (Versão 1.0)


 1993 - Versão 1.1 do CMM
27
 http://www.sei.cmu.edu/cmm/cmm.html
Capability Maturity Model (CMM)

 O primeiro ponto importante a se


Qualidade de
Software
Definições
observar no modelo CMM:
Qualidade do
Produto  É um modelo que se refere ao processo pelo
ISO 9126
Processo
Software
de qual o produto é construído.
Modelo de
Processo de
Software
CMM

ISO 12207
Conclusão

28
Capability Maturity Model (CMM)

 Supõe-se que uma organização que


Qualidade de
Software
Definições
possui um processo maduro tem maiores
Qualidade
Produto
do
probabilidades de produzir bons produtos
ISO 9126
Processo
Software
de consistentemente do que uma outra cujo
Modelo de
Processo de
Software
processo é imaturo e caótico.
CMM

ISO 12207
Conclusão

29
Capability Maturity Model (CMM)

Qualidade
Software
de
 O CMM é um modelo de referência para a
Definições

Qualidade
Produto
do qualidade de processo de produção de
ISO 9126
Processo de software.
Software

 Através de um processo formal de avaliação,


Modelo de
Processo de
Software
CMM

ISO 12207
uma organização é classificada em um “nível
Conclusão
de maturidade” que varia de um a cinco.

30
Capability Maturity Model (CMM)

Qualidade
Software
de
 O nível de maturidade indica em que
Definições

Qualidade
Produto
do medida os processos daquela organização
ISO 9126
Processo de são maduros.
Software
Modelo de
Processo de
Software
 Quanto maior o nível de maturidade,
CMM

ISO 12207
melhores e mais maduros são os processos.
Conclusão

31
Os 5 Níveis de
Maturidade do CMM
OTIMIZADO
Organizações
com Melhoria
Qualidade de Contínua
Software GERENCIADO
Definições

Qualidade
Produto
do Organizações
ISO 9126 Previsíveis
Processo de DEFINIDO
Software
Modelo de
Processo de
Organizações
Software Padronizadas
CMM REPETÍVEL
ISO 12207
Conclusão Organizações
Disciplinadas
INICIAL
Organizações
Caóticas 32
Os 5 Níveis de
Maturidade do CMM
OTIMIZADO
• Os 5 Níveis do CMM são organizados de
Organizações
Qualidade de
modo a estabelecer as prioridades com
na Melhoria
Contínua
Software GERENCIADO
condução de programas de melhoria do
Definições

Qualidade
Produto
do processo de software. Organizações
Previsíveis
ISO 9126
Processo de
• Cada DEFINIDO
Nível é considerado como pré-
Software
requisito para o nível seguinte.
Modelo de
Processo de
Organizações
Software • Não é possível o “salto” de níveis.
Padronizadas
CMM REPETÍVEL
ISO 12207
• Cada nível apóia-se nas competências
Conclusão Organizações
que a organização desenvolveu no nível
Disciplinadas
INICIAL imediatamente inferior.
Organizações
Caóticas 33
Os 5 Níveis de
Maturidade do CMM
OTIMIZADO
Organizações
com Melhoria
Qualidade de Contínua
Software GERENCIADO
Definições

Qualidade do Organizações
A organização não
Produto
ISO 9126 Previsíveis
consegue cumprir DEFINIDO
Processo
Software
de

previsões de custo,
Modelo de
Processo de
Organizações
Software Padronizadas
cronograma
CMM ea
REPETÍVEL
ISO 12207
qualidade do software
Conclusão Organizações
éINICIAL
duvidosa. Disciplinadas

Organizações
Caóticas 34
Os 5 Níveis de
Maturidade do CMM
OTIMIZADO
Organizações
com Melhoria
Qualidade de Contínua
Software GERENCIADO
Definições

Qualidade do Organizações
Produto
ISO 9126
A organização consegue Previsíveis
Processo
Software
de
estabelecer,DEFINIDO
com certa
Modelo de
Processo de
Organizações
segurança, custos, prazos
Software Padronizadas
CMM eREPETÍVEL
funcionalidade.
ISO 12207
Conclusão Organizações
Disciplinadas
INICIAL
Organizações
Caóticas 35
Os 5 Níveis de
Maturidade do CMM
OTIMIZADO
Organizações
com Melhoria
Qualidade de
Custo, cronograma e Contínua
Software GERENCIADO
Definições
funcionalidade estão sob
Qualidade
Produto
do Organizações
controle e a qualidade do
ISO 9126 Previsíveis
Processo de software
DEFINIDOé acompanhada.
Software
Modelo de
Processo de
Organizações
Software Padronizadas
CMM REPETÍVEL
ISO 12207
Conclusão Organizações
Disciplinadas
INICIAL
Organizações
Caóticas 36
O Modelo CMM
• Os processos
OTIMIZADOde
Organizações
software, tanto para
com Melhoria
atividades administrativas
Qualidade de Contínua
Software quanto
GERENCIADO para de
Definições
engenharia estão
Qualidade do Organizações
Produto documentados,
Previsíveis
ISO 9126
DEFINIDO padronizados e
Processo de
Software integrados em um
Modelo de
Processo de
Organizaçõesprocesso de software
Software Padronizadaspadrão para a
CMM REPETÍVEL
ISO 12207
organização.
Conclusão Organizações
• Todos os projetos usam
Disciplinadas
INICIAL uma versão aprovada do
processo de software
Organizações
padrão da organização
Caóticas
September 12
para desenvolvimento e 37
manutenção de software.
Os 5 Níveis de
Maturidade do CMM
OTIMIZADO
Existe controle de
Organizações
qualidade sobre com Melhoria
Contínua
Qualidade
Software
de
produtos e processos.
GERENCIADO
Definições

Qualidade
Produto
do Organizações
ISO 9126 Previsíveis
Processo de DEFINIDO
Software
Modelo de
Processo de
Organizações
Software Padronizadas
CMM REPETÍVEL
ISO 12207
Conclusão Organizações
Disciplinadas
INICIAL
Organizações
Caóticas 38
Os 5 Níveis de Existe prevenção de
Maturidade do CMM defeitos no processo de
software.OTIMIZADO
Organizações
com Melhoria
Qualidade de Contínua
Software GERENCIADO
Definições

Qualidade
Produto
do Organizações
ISO 9126 Previsíveis
Processo de DEFINIDO
Software
Modelo de
Processo de
Organizações
Software Padronizadas
CMM REPETÍVEL
ISO 12207
Conclusão Organizações
Disciplinadas
INICIAL
Organizações
Caóticas 39
Como Melhorar o Processo de Software
?

 Realizando um grupo de atividades correlatas,


Qualidade de
Software denominadas ÁREAS-CHAVE DE
Definições

Qualidade
Produto
do PROCESSO - (Key process areas - KPA) que,
ISO 9126 quando efetuadas coletivamente, alcançam um
Processo de
Software
Modelo de
conjunto de metas consideradas importantes na
Processo de
Software implementação da competência do processo.
CMM

ISO 12207
Conclusão

40
Exemplo: Áreas-chave de
Processo
CMM

Qualidade de
Software
Definições

Qualidade do
Produto
ISO 9126
Processo de
Inicial Repetível Definido Gerenciado Otimizado
Software
Modelo de
6 7 2 3
Processo de
Software
CMM

ISO 12207 TOTAL


Conclusão GCS GQS
GSS 18 Áreas-chave de Processo
APS
PPS
atividades GR

41
O Modelo CMM

INICIAL (1) => REPETÍVEL (2) REPETÍVEL


Qualidade de
Software
Organizações
Definições

Qualidade do
Disciplinadas
Produto
ISO 9126
Processo de 6- Gerenciamento da Configuração de Software
Software
Modelo de
5- Garantia da Qualidade de Software
Processo de
Software
4- Gerenciamento de Subcontrato de Software
CMM 3- Acompanhamento de Projeto de Software
ISO 12207
2- Planejamento de Projeto de Software
Conclusão
1- Gerenciamento de Requisitos

INICIAL
Organizações
September 12 42
Caóticas
O Modelo CMM

REPETÍVEL (2) =>DEFINIDO (3) DEFINIDO


Qualidade de
Software
Organizações
Definições

Qualidade do
Padronizadas
Produto
7- Revisões (peer review)
ISO 9126
Processo de 6- Coordenação Intergrupos
Software
5- Engenharia de Produto de Software
Modelo de
Processo de 4- Gerenciamento de Software Integrado
Software
CMM
3- Programa de Treinamento
ISO 12207 2- Definição do Processo da Organização
Conclusão
1- Foco no Processo da Organização

REPETÍVEL
Organizações
September 12 43
Disciplinadas
ISO 12207

 ISO/IEC 12207 - Information Technology –


Qualidade de
Software Software Life-Cycle Processes.
Definições

Qualidade
Produto
do
 NBR ISO/IEC 12207 - Tecnologia da
ISO 9126
Processo de
Informação - Processos de Ciclo de Vida de
Software
Modelo de Software.
Processo de
Software
CMM
 Cobre todo o ciclo de vida de desenvolvimento
ISO 12207
Conclusão
do software desde a concepção das idéias
iniciais sobre o software até ser retirado de
execução.
44
ISO 12207: Estrutura

Processos Fundamentais Processos de Apoio


Qualidade de
Aquisição Documentação
Software
Definições Fornecimento
Qualidade do
Produto Garantia de Qualidade
ISO 9126 Operação Verificação
Processo de
Software Validação

Adaptação
Modelo de
Desenvolvimento
Processo de Revisão Conjunta
Software
Manutenção Auditoria
CMM

ISO 12207 Resolução de Problemas


Conclusão

Processos Organizacionais
Gerência Infra-estrutura

Melhoria Treinamento
45
ISO 12207: Processos

 Processos Fundamentais: englobam as


Qualidade de
Software atividades referentes ao contrato entre o cliente
Definições

Qualidade
Produto
do e o fornecedor, ao desenvolvimento, à operação
ISO 9126 e à manutenção do software.
Processo de

 Processos de Apoio: auxiliam outros processos


Software
Modelo de
Processo de
Software
CMM
como parte integrante dos mesmos, com
ISO 12207 propósitos distintos contribuindo para a
Conclusão

qualidade do projeto de software.

47
ISO 12207: Processos

 Processos Organizacionais: estabelecem e


Qualidade de
Software implementam uma estrutura que forneça uma
Definições

Qualidade
Produto
do base aos processos e ao pessoal envolvido no
ISO 9126 desenvolvimento de software.
Processo de

 Processo de Adaptação: define as atividades


Software
Modelo de
Processo de
Software
CMM
necessárias para adaptar a norma a uma
ISO 12207 organização ou projeto específico.
Conclusão

48
ISO 12207

Qualidade de
Software
Definições

Qualidade do
Produto
ISO 9126 Atividades
Processo de
Software dos Processos
Modelo de
Processo de
Software
Fundamentais
CMM

ISO 12207
Conclusão

49
ISO 12207

Qualidade de
Software
Definições

Qualidade do
Produto
ISO 9126 Atividades
Processo
Software
de
dos Processos
Modelo de
Processo de
Fundamentais
Software
CMM
(cont.)
ISO 12207
Conclusão

50
ISO 12207

Qualidade de
Software
Definições

Qualidade do
Produto
ISO 9126 Atividades
Processo de
Software dos Processos
Modelo de
Processo de
Software
de Apoio
CMM

ISO 12207
Conclusão

51
ISO 12207

Qualidade de
Software
Definições

Qualidade do
Produto Atividades
ISO 9126
Processo
Software
de dos Processos
Modelo de
Processo de
Organiza-
Software
CMM cionais
ISO 12207
Conclusão

52
Conclusão

 Qualidade do produto
Qualidade
Software
de
 Qualidade do processo
Definições

Qualidade
Produto
do
 Maturidade do processo
ISO 9126
Processo
Software
de  Avaliação de Qualidade
Modelo de
Processo de
Software
CMM

ISO 12207
Conclusão

53
 Lista de empresas CMMI no Brasil
Qualidade
Software
de
 http://www.blogcmmi.com.br/avaliacao/lista-
Definições

Qualidade do
de-empresas-cmmi-no-brasil
Produto
ISO 9126
Processo de
Software
Modelo de
Processo de
Software
CMM

ISO 12207
Conclusão

54

Você também pode gostar