Você está na página 1de 34

Qualidade de Software

Aula 2
Prof. Dr. Lus Fernando Garcia
luis@garcia.pro.br
www.garcia.pro.br
Luisffgarcia (Skype)

Especializando o conceito
Analisamos

QUALIDADE em geral

QUALIDADE

em TI/Computao

QUALIDADE

de SOFTWARE

Falando sobre qualidade de


software

Qualidade/Engenharia de
SOFTWARE

Qualidade
de
SOFTWARE

Software ??
Software

um produto

Complicado
Diferente
Dimenses?

Mas

Peso?
Altura?
Cheiro?
Cor?

um produto !!!

Qualidade DE SOFTWARE
A

qualidade de software um conjunto de


caractersticas ou fatores de software, que
determinam o nvel de eficincia do software
em uso, em relao ao atendimento das
expectativas dos clientes. (IEEE).

Qualidade DE SOFTWARE
Conformidade

a requisitos funcionais e de
desempenho explicitamente declarados, a
padres de desenvolvimento claramente
documentados e a caractersticas implcitas
que so esperadas de todo software
profissionalmente desenvolvido (Pressman)

Software? Crise?

Conferncia da NATO (1968) Crise de Software


Problemas detectados:

Cronogramas no observados.
Projetos abandonados.
Mdulos que no operam corretamente quando
combinados.
Programas que no fazem exatamente o que era
esperado.
Sistemas to difceis de usar que so descartados.
Sistemas que simplesmente param de funcionar.

Passados quase 40 anos, o que mudou?

Software? Crise?
O

aspecto no repetitivo do desenvolvimento


de software torna essa atividade difcil e em
boa medida imprevisvel.

Delimitar

trivial.

o escopo de um sistema no

volatilidade dos requisitos lugar comum


no desenvolvimento de software.

Motivao
Motivao

para a busca da Qualidade do


Processo de Software:

Aumento da qualidade do produto.


Diminuio do retrabalho.
Maior produtividade.
Reduo do tempo para atender o mercado (time
to market).
Maior competitividade.
Maior preciso nas estimativas.

O Cliente O REI !

O que o cliente quer?

Atendimento aos requisitos especificados


Defeito zero
Alto desempenho
Baixo custo
Desenvolvimento rpido
Facilidade de uso
Eficincia nos servios associados
Inovao

Qualidade de software
Para

que um software tenha qualidade ele


deve:

Preencher as expectativas do cliente;


Ser obtido dentro de um prazo previsto;
Ser produzido dentro de custos pr-estabelecidos;
Conformar com as especificaes de requisitos
previamente estabelecidas.

Qualidade de software
Para

a obteno de um software com


qualidade, deve-se:

Definir claramente o seu objetivo, a sua finalidade, o seu


propsito;
Especificar seus requisitos para atender as necessidades
do usurio;
Produzi-lo e utiliz-lo dentro de processos bem
estabelecidos.

Fatores da qualidade de sw

Explcitos visveis para o usurio

Usabilidade Expressa a facilidade de uso;


Confiabilidade Capacidade de dependncia do software, por
determinado perodo de tempo
Integridade Controle de acesso ao sistema
Prazo Prazo estimado de entrega
Informaes sobre o progresso Relatrios descrevendo o
progresso
Tempo de atendimento Tempo gasto para as manutenes
Retorno do Investimento Retorno em forma de benefcios

Fatores da qualidade de sw

Implcitos visveis para os


desenvolvedores

Flexibilidade facilidade de modificao


Manutenabilidade esforo necessrio para remover defeitos
Testabilidade Facilidade de execuo de testes
Eficincia quantidade de recursos para cumprir determinada tarefa
Interoperabilidade Integrao das partes de um sistema
Reusabilidade Possibilidade de reaproveitamento de software/partes
Portabilidade Capacidade de usar diferentes plataformas
Estimativas Exatido nas estimativas de custo/prazo/esforo
Estabilidade Extenso do ciclo de vida onde ele mantm a qualidade

Aspectos

No

Processo de Desenvolvimento
No Processo de Aquisio
No Processo de Integrao
No Processo de Utilizao

Aspectos

Qualidade no Processo de Desenvolvimento do Software

Definir um processo adequado para o ciclo de desenvolvimento;


Selecionar e aplicar mtodos adequados de anlise, projeto e
implementao;
Definir processos adequados de verificao e validao (testes);
Sistematizar os testes por meio de planos, procedimentos e
documentos de teste;
Utilizar ferramentas adequadas;
Aplicar normas e padres pertinentes;
Gerenciar a configurao do software;
Acompanhar a avaliar a evoluo das especificaes de
requisitos

Aspectos
Qualidade

Software

Buscar

no Processo de Aquisio do

o produto mais adequado para a


soluo do problema;
Comprovar o bom funcionamento do produto;
Garantir a existncia de bons fornecedores
por meio de existncia de treinamento e
manuais de documentao.

Aspectos
Qualidade

no Processo de Integrao do

Software
Especificar

de forma precisa os
componentes a serem integrados;
Definir uma estratgia de integrao;
Sistematizar as fases de desenvolvimento do
software

Fatores
Fatores

que afetam o desenvolvimento e que


influenciam no julgamento dos usurios:

Tamanho e complexidade do software;


Nmero de pessoas envolvidas no projeto;
Mtodos, tcnicas e ferramentas utilizadas;
Custo x benefcio do sistema;
Custos associados existncia de erros;
Custos associados deteco e remoo de
erros

Aspectos

Qualidade no Processo de Utilizao do


Software

Definir o processo de utilizao;


Definir os procedimentos de utilizao;
Fornecer treinamento aos usurios;
Definir os responsveis pelo software;
Manter os equipamentos hospedeiros;
Receber, a tempo, informaes precisas e corretas

Ying-Yang

QUALIDADE DO
PROCESSO DE
DESENVOLVIMENTO

QUALIDADE DO
PRODUTO DE
SOFTWARE

Enfoques
Como

Paradigmas, metodologias e tecnologias CASE utilizadas;


Sistematizao das atividades por fases do
desenvolvimento;
Perfil adequado dos elementos da equipe de
desenvolvimento

Como

Processo:

Produto:

As suas caractersticas devem ser representativas do


software como produto.

Processo

atividades a serem realizadas durante o processo, sua


estrutura e organizao (decomposio e precedncia),
incluindo a definio 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 (mtodos, tcnicas, roteiros e padres) a
serem adotados na realizao das atividades;
recursos necessrios (humanos, hardware e software)
para a realizao das atividades.

Processo

Processo

uma seqncia de passos realizados para um determinado


propsito. (IEEE)
conjunto de recursos e atividades inter-relacionados que
transformam insumos em produtos. (ISO 8402)

Processo de software

um conjunto de atividades, mtodos, prticas e


transformaes que as pessoas utilizam para desenvolver
e manter software e produtos relacionados. (CMM)

Processo

REQUISITOS

Desenvolvimento do SW
Anlise
Anlise

Projeto

verificao

PRODUTO
DE SW

validao

Normas

ISO 9126 qualidade de produto


ISO 14598 qualidade de produto
ISO 12119 pacotes de software
ISO 12207 Processo/ciclo de vida
ISO 9000-3 ISO 9001 para software
CMM e CMMi
MPS.BR
PSP
SPICE
Entre outros