Escolar Documentos
Profissional Documentos
Cultura Documentos
Aula03 QualidadeSoftware
Aula03 QualidadeSoftware
Visão Geral
SSC 121-Engenharia de Software 1
Profa. Dra. Elisa Yumi Nakagawa
2o semestre de 2012
Qualidade de Software
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
ISO 12207
Conclusão
28
Capability Maturity Model (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
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
?
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
41
O Modelo CMM
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
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
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
Adaptação
Modelo de
Desenvolvimento
Processo de Revisão Conjunta
Software
Manutenção Auditoria
CMM
Processos Organizacionais
Gerência Infra-estrutura
Melhoria Treinamento
45
ISO 12207: Processos
Qualidade
Produto
do e o fornecedor, ao desenvolvimento, à operação
ISO 9126 e à manutenção do software.
Processo de
47
ISO 12207: Processos
Qualidade
Produto
do base aos processos e ao pessoal envolvido no
ISO 9126 desenvolvimento de software.
Processo de
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