Introdução à Qualidade de Software
Ricardo de Almeida Falbo
Tópicos Especiais – Qualidade de Software
2007/1
Departamento de Informática
Universidade Federal do Espírito Santo
Agenda




O que é Qualidade?
O que é Qualidade de Software?
Qualidade do Produto e do Processo
Normas e Organismos Normativos
Tópicos Especiais - Qualidade de Software 2007/1
2
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.
Tópicos Especiais - Qualidade de Software 2007/1
3
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.
Tópicos Especiais - Qualidade de Software 2007/1
4
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.
Tópicos Especiais - Qualidade de Software 2007/1
5
Breve Histórico da Qualidade




Relatos Históricos de 4.000 anos atrás no Egito.
Marco Importante: Revolução Industrial
1920: Controle Estatístico da Produção
1940: Surgimento de vários organismos ligados
à qualidade





ASQC (American Society for Quality Control
ABNT (Associação Brasileira de Normas Técnicas)
ISO (International Standardization Organization)
Ainda década de 1940: Japão destaca-se.
Década de 1970: Qualidade de Software
Tópicos Especiais - Qualidade de Software 2007/1
6
O que é Qualidade de Software?


Conferência da NATO (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 quase 40 anos, o que mudou?
Tópicos Especiais - Qualidade de Software 2007/1
7
O que é Qualidade de Software?

Qualidade em geral:




é um conceito relativo.
está fortemente relacionada à conformidade com
requisitos.
diz respeito à satisfação do cliente.
Como isso se manifesta em software?
Tópicos Especiais - Qualidade de Software 2007/1
8
O que é Qualidade 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.
Tópicos Especiais - Qualidade de Software 2007/1
9
O que é Qualidade de Software?

Fatores que afetam o desenvolvimento e que
influenciam no julgamento dos usuários:







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.
Tópicos Especiais - Qualidade de Software 2007/1
10
O que é Qualidade de Software?
Conjunto de características a serem satisfeitas em
um determinado grau, de modo que o software
satisfaça às necessidades de seus usuários.
Desenvolvedores
Usuários
Finais
Usuários
Indiretos
Tópicos Especiais - Qualidade de Software 2007/1
11
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.
Tópicos Especiais - Qualidade de Software 2007/1
12
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.
Tópicos Especiais - Qualidade de Software 2007/1
13
Qualidade do Processo de Software

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.
Tópicos Especiais - Qualidade de Software 2007/1
14
Qualidade do Processo de Software


A implantação de um Programa de Qualidade
começa pela definição e implantação de um
processo de software.
O processo de software deve estar
documentado, ser compreendido e seguido.
Tópicos Especiais - Qualidade de Software 2007/1
15
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.
Tópicos Especiais - Qualidade de Software 2007/1
16
Estrutura do Processo de Software

Processo de Software

Sub-processos (Desenvolvimento, Manutenção, etc)

Atividades
 Sub-atividades
 Pré-atividades
 Artefatos
 Insumos
 Produtos
 Recursos
 Humanos
 Software
 Hardware
 Procedimentos
 Métodos
 Técnicas
 Roteiros
Tópicos Especiais - Qualidade de Software 2007/1
17
Exemplo de Processo de Software

Processo de Software

Processo de Desenvolvimento





Análise e Especificação de Requisitos
Projeto
 Projeto Arquitetural
 Pré-atividade: Análise e Especificação de Requisitos
 Insumo: Documento de Especificação de Requisitos
 Produto: Documento de Arquitetura do Sistema
 Recurso Humano: Projetista de Software
 Ferramenta de Software: Ferramenta de Modelagem
UML
 Técnica: Modelagem de Objetos
 Projeto Detalhado
Implementação
Testes
Implantação
Tópicos Especiais - Qualidade de Software 2007/1
18
Como definir um processo?


Processos têm de ser definidos caso a caso,
levando-se em consideração as características
específicas do projeto em questão: equipe,
domínio de aplicação, tipo de software,
tecnologias a serem adotadas, restrições de
negócio (cronograma, custo, qualidade) etc.
Apoio de Normas e Modelos de Qualidade de
Processos de Software.
Tópicos Especiais - Qualidade de Software 2007/1
19
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.
Tópicos Especiais - Qualidade de Software 2007/1
20
Padrões de Facto



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 facto 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.
Tópicos Especiais - Qualidade de Software 2007/1
21
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).
Tópicos Especiais - Qualidade de Software 2007/1
22
ISO



International Standardization Organization.
Criada em 1946, começou a funcionar em 1947.
Conta atualmente com mais de 15.000
documentos internacionais de padronização,
tendo
aproximadamente
150
países
participantes e cerca de 50.000 especialistas que
contribuem no mundo inteiro para a criação e
verificação dos documentos.
Tópicos Especiais - Qualidade de Software 2007/1
23
A ISO e as Normas Relacionadas a TI


A ISO criou com a IEC (International
Eletrotechnical Commission) a primeira comissão
conjunta para elaboração de normas, o JTC1
(Joint Technical Committee 1).
O JTC1 é responsável pela criação de normas
relacionadas a TI e é dividido em subcomissões
(SC), que, por sua vez, são divididas em grupos
de trabalho (working groups – WG).
Tópicos Especiais - Qualidade de Software 2007/1
24
A ISO e as Normas Relacionadas a QS


A subcomissão SC-7 (Engenharia de Software e
de Sistemas) trata das normas relacionadas à
qualidade de software.
Alguns grupos de trabalho da SC-7:




WG-2: Documentação de Sistemas
WG-6: Avaliação e Métricas
WG-7: Gerência do Ciclo de Vida
WG-12: Medição do Tamanho Funcional
Tópicos Especiais - Qualidade de Software 2007/1
25
Etapas na Criação de uma Norma




Uma norma possui pelo menos um editor e um
ou mais co-editores, que são pessoas de
conhecimento técnico reconhecido e podem se
dedicar ao projeto.
O editor (junto com os co-editores) é
responsável pela escrita do primeiro esboço do
documento.
Esse esboço é distribuído para análise pelos
grupos de trabalho internacionais.
A partir daí, sugestões de modificações são
submetidas, avaliadas e introduzidas, em um
ciclo que culmina com a versão final.
Tópicos Especiais - Qualidade de Software 2007/1
26
A Criação de Normas ISO/IEC


Assim que uma nova proposta de item de
trabalho (New Work Item proposal - NWI) é
aprovada, um grupo de trabalho (WG) e um líder
são designados.
Um grupo de especialistas produz um esboço de
trabalho (Working Draft – WD) que é refinado
até atingir o grau de maturidade de esboço do
comitê (Committee Draft – CD), quando é
enviado aos grupos de trabalho internacionais
(WGs).
Tópicos Especiais - Qualidade de Software 2007/1
27
A Criação de Normas ISO/IEC




O trabalho segue em ciclos de modificação e
uma data é fixada para votação.
Passada a votação, o documento atinge o
estágio de esboço de norma internacional (Draft
International Standard – DIS), quando passa por
um novo ciclo de análise e modificações.
Passada uma nova votação que aprova o
documento no estágio de esboço finalizado (Final
DIS – FDIS), apenas modificações de caráter
editorial podem ser efetuadas.
Finalmente a norma é publicada como Norma
Internacional (International Standard – IS) ou
como relatório técnico (Technical Report – TR).
Tópicos Especiais - Qualidade de Software 2007/1
28
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 é nela proposto.
Certificação: Envolve a participação de um
organismo ou empresa externa que possa
atestar que a empresa candidata segue
efetivamente o padrão.
Tópicos Especiais - Qualidade de Software 2007/1
29
Certificação



Pré-análise  Relatório de não-conformidades.
Ajustes
Avaliação  Relatório de não-conformidades +
Recomendação, que pode ser:




Certificar a empresa, sugerindo apenas pequenas
correções a serem realizadas.
Certificar a empresa, porém sob a condição de que
certas correções sejam efetuadas.
Não certificar a empresa, recomendando uma nova
etapa de adequação à norma antes de uma nova
tentativa de certificação.
Acompanhamento
certificação.
durante
a
validade
Tópicos Especiais - Qualidade de Software 2007/1
da
30
Download

Aula1 - Informática - Universidade Federal do Espírito Santo