You are on page 1of 37

Qualidade

de So+ware
Centro de Inform-ca - Universidade Federal de Pernambuco Sistemas de Informao Vinicius Cardoso Garcia vcg@cin.ufpe.br Slides originais elaborados por Ian Sommerville
O autor permite o uso e a modicao dos slides para ns did-cos

Denio
Atributo, condio natural, propriedade pela qual algo ou algum se individualiza, dis-nguindo-se dos demais; maneira de ser, essncia, natureza. Excelncia, virtude, talento. Grau de perfeio, de preciso, de conformidade a um certo padro.

[if977] Engenharia de SoTware - SI - CIn - UFPE

Uma pergunta polmica

O Windows um produto de soTware de alta qualidade?

[if977] Engenharia de SoTware - SI - CIn - UFPE

Claro! Adoro aquele clipe que corrige meus e-mails!

No, ele a causa do monoplio da MS e seus prejuzos sociedade!

Posso ver o cdigo- fonte antes de responder?

No gosto desse negcio de usar mouse...

[if977] Engenharia de SoTware - SI - CIn - UFPE

3999$

1299$

[if977] Engenharia de SoTware - SI - CIn - UFPE

Qualidade
Altamente subje-vo Muda de indivduo para indivduo
Percepes/vises/experincias dis-ntas

Diecil responder de maneira absoluta Como melhorar a qualidade?


Se no sabemos nem responder a esta pergunta?

[if977] Engenharia de SoTware - SI - CIn - UFPE

Renando a pergunta
O Windows 7 ser adequado para meu ambiente?
Preciso que o tempo de inicializao seja no mximo 70 segundos Estarei u-lizando uma arquitetura 32 bits Tenho possibilidade para instalar outros sistemas operacionais

[if977] Engenharia de SoTware - SI - CIn - UFPE

Tempo de boot
68 68 73 75 70 65 64 59.8

Segundos
Ubuntu Ubuntu 8.10/x86 8.10/x86-64

Ubuntu Ubuntu Windows Windows Windows 7/ Windows 7/ 9.04/x86 9.04/x86-64 Vista/x86 Vista/x86-64 x86 x86-64
[if977] Engenharia de SoTware - SI - CIn - UFPE 8

Qualidade
A pergunta agora dene um contexto
Permite ltrar as possibilidades de avaliao

Dene termos especcos para o que bom e o que no bom


Est falando sobre tempo de boot

Dene valores que eliminam subje-vidade


Qualquer pessoa chega mesma concluso

Ou seja, precisamos fazer a pergunta correta!


[if977] Engenharia de SoTware - SI - CIn - UFPE 9

Qualidade de so+ware
Como saber se um soTware tem qualidade alta ou baixa? O que est envolvido na qualidade de um soTware?
De que maneiras um soTware pode apresentar qualidade?

Como garan-r que um soTware tem a qualidade desejada?


Saber x construir
[if977] Engenharia de SoTware - SI - CIn - UFPE 10

Viso geral e histrica de qualidade


Cdigo de Hamurabi (1700 a.C.) - Responsabilidade prossional: um arquiteto que construir uma casa que se desmorone, causando a morte de seus ocupantes, condenado morte!

[if977] Engenharia de SoTware - SI - CIn - UFPE

11

O que Qualidade de So+ware?


Qualidade, de maneira simplista, signica que um produto deve atender s sua especicao Isso problem-co para os sistemas de soTware
Tenso entre os requisitos de qualidade do cliente (ecincia, conabilidade, etc.) e requisitos de qualidade do desenvolvedor (facilidade de manuteno, reusabilidade, etc.) Alguns requisitos de qualidade so dieceis de especicar de uma maneira no-ambgua
Ex. Facilidade de uso

As especicaes de soTware so, geralmente, incompletas e freqentemente inconsistentes


[if977] Engenharia de SoTware - SI - CIn - UFPE 12

Gerenciamento de Qualidade de Software


Dedica-se a assegurar que o nvel requerido de qualidade seja a-ngido
Em um produto de soTware

Envolve a denio de padres e procedimentos apropriados de qualidade e a garan-a de que sejam seguidos Deve visar o desenvolvimento de uma cultura de qualidade
Qualidade vista como uma responsabilidade de todos
[if977] Engenharia de SoTware - SI - CIn - UFPE 13

Escopo do Gerenciamento de Qualidade


Gerenciamento de qualidade par-cularmente importante para sistemas grandes e complexos A documentao de qualidade um registro do progresso
Apia a con-nuidade do desenvolvimento quando a equipe de desenvolvimento muda

Para sistemas menores, o gerenciamento de qualidade precisa de menos documentao


Foco em uma cultura da qualidade
[if977] Engenharia de SoTware - SI - CIn - UFPE 14

ARvidade de Gerenciamento de Qualidade


Garan-a de qualidade Planejamento de qualidade Controle de qualidade
Estabelece procedimentos e padres organizacionais para qualidade Seleciona procedimentos e padres aplicveis para um projeto especco e o modica quando necessrio. Assegura que os procedimentos e os padres sejam seguidos pela equipe de desenvolvimento de soTware.

O gerenciamento de qualidade deve ser separado do gerenciamento de projeto para assegurar independncia
Obje-vos potecialmente conitantes!

[if977] Engenharia de SoTware - SI - CIn - UFPE

15

Gerenciamento de Qualidade e Desenvolvimento de So+ware

Ian Sommerville, Engenharia de SoTware, 8. edio. Captulo 27 [if977] Engenharia de SoTware - SI - CIn - UFPE 16

Qualidade de Processo e de Produto


A qualidade de um produto inuenciada pela qualidade do processo de produo
Alguns modelos de qualidade partem dessa premissa

Isso importante no desenvolvimento de soTware, visto que os atributos de qualidade de produtos so dieceis de avaliar. Contudo, existe uma relao complexa e pouco compreendida entre processos de soTware e qualidade de produto.
[if977] Engenharia de SoTware - SI - CIn - UFPE 17

Qualidade Baseada em Processo


Existe uma ligao n-da entre processo e produto nos bens manufaturados Para o soTware isso mais complexo porque:
A aplicao de habilidades individuais e a experincia so muito importantes no desenvolvimento de soTware Fatores externos, como a novidade de uma aplicao ou a necessidade de um cronograma de desenvolvimento acelerado, podem piorar a qualidade do produto.

Deve-se tomar cuidado para no impor padres de processo inadequados


Esses padres poderiam reduzir, ao invs de melhorar a qualidade do produto
[if977] Engenharia de SoTware - SI - CIn - UFPE 18

Padres de Processo na PrRca


Denir padres de processo, tais como o modo como as revises devem ser conduzidas, o gerenciamento da congurao, etc Monitorar o processo de desenvolvimento para assegurar que os padres estejam sendo seguidos Relatar sobre o processo para a gerncia de projeto e para o comprador do soTware No usar pr-cas inadequadas simplesmente porque padres foram estabelecidos
[if977] Engenharia de SoTware - SI - CIn - UFPE 19

Padres de Qualidade
So a chave para o gerenciamento efe-vo de qualidade. Podem ser internacionais, nacionais, organizacionais ou de projeto. Padres de produto denem caracters-cas que todos os componentes devem exibir
Ex. um es-lo de programao comum.

Padres de processo denem caracters-cas rela-vas aos processos de soTware


[if977] Engenharia de SoTware - SI - CIn - UFPE 20

Importncia dos Padres


Englobam as melhores prRcas
Evitam a repe-o de erros do passado.

So um arcabouo para os processos de garan-a de qualidade Padres fornecem con-nuidade


Novos funcionrios podem compreender a organizao pela compreenso dos padres que so adotados

[if977] Engenharia de SoTware - SI - CIn - UFPE

21

Exemplos de Padres de Produto e de Processo

Ian Sommerville, Engenharia de SoTware, 8. edio. Captulo 27 [if977] Engenharia de SoTware - SI - CIn - UFPE 22

Problemas com Padres


Podem no ser vistos como relevantes ou atualizados pelos engenheiros de soTware Envolvem, frequentemente, muita burocracia Diecil manter a documentao associada
Ferramentas so fundamentais! Normalmente,a documentao termina cando defasada

[if977] Engenharia de SoTware - SI - CIn - UFPE

23

Desenvolvimento de padres
Envolver os engenheiros na elaborao desenvolvimento
Eles devem compreender as razes de um padro

Revisar padres e seu uso regularmente


Padres podem se tornar rapidamente desatualizados e isso reduz sua credibilidade Incorporar novas melhores pr-cas

Padres devem ter ferramentas de apoio


Trabalho padronizado em excesso a mais importante reclamao contra os padres
[if977] Engenharia de SoTware - SI - CIn - UFPE 24

Medies e Mtricas de So+ware


A medio de soTware se dedica a derivar um valor numrico para algum atributo de um produto ou de processo de soTware Permite comparaes objeRvas entre tcnicas e processos Embora algumas empresas tenham introduzido programas de medio, a maioria das organizaes ainda no as usam de forma sistem-ca Existem poucos padres estabelecidos nessa rea
[if977] Engenharia de SoTware - SI - CIn - UFPE 25

Mtricas de So+ware
Contagem de determinados elementos de um sistema de soTware, processo ou documento
Linhas de cdigo em um programa, referncias a uma varivel global

Permitem que o soTware e o processo de soTware sejam quanRcados Podem ser usadas para prever atributos de produto e para controlar o processo de soTware. As mtricas de produto podem ser usadas para previses gerais ou para idenRcar componentes anmalos
[if977] Engenharia de SoTware - SI - CIn - UFPE 26

Suposies de Mtricas
Uma propriedade do soTware pode ser medida Existe um relacionamento entre o que podemos medir e o que queremos conhecer
Podemos somente medir atributos internos, mas estamos, muitas vezes, mais interessados em atributos externos de soTware
Ex. Acoplamento menor => maior manutenibilidade?

Esse relacionamento foi formalizado e validado.


Pode ser diecil, a par-r do que pode ser medido, inferir as qualidade desejveis do sistema
[if977] Engenharia de SoTware - SI - CIn - UFPE 27

Atributos Internos e Externos

Ian Sommerville, Engenharia de SoTware, 8. edio. Captulo 27 [if977] Engenharia de SoTware - SI - CIn - UFPE 28

O Processo de Medio
Um processo de medio de soTware pode ser parte do controle de qualidade
Algumas mtricas so dieceis de se coletar de forma automa-zada
Ex. Separao de interesses

Os dados coletados durante este processo devem ser manRdos como um recurso da organizao.
Torna possveis comparaes entre projetos
[if977] Engenharia de SoTware - SI - CIn - UFPE 29

Processo de Medio de Produto

Ian Sommerville, Engenharia de SoTware, 8. edio. Captulo 27 [if977] Engenharia de SoTware - SI - CIn - UFPE 30

Recomendaes para o Processo de Medio


No colete dados desnecessrios
As questes a ser respondidas devem ser decididas previamente e os dados necessrios iden-cados

Conte s pessoas porque os dados esto sendo coletados


No deve ser parte da avaliao de pessoal

No dependa da memria
Colete dados quando so gerados, e no depois que um projeto foi nalizado
[if977] Engenharia de SoTware - SI - CIn - UFPE 31

Mtricas de Produto
Uma mtrica deve ser um previsor de qualidade de produto. Classes de mtrica de produto
Dinmicas, coletadas em tempo de execuo
Ajudam a avaliar a ecincia e a conabilidade

EstRcas, coletadas em tempo de compilao


Ajudam a avaliar a conabilidade, a facilidade de compreenso e a facilidade de manuteno.

Algumas mtricas so coletadas a par-r de informaes sobre o produto


Ex. Nmero de bugs conhecidos
[if977] Engenharia de SoTware - SI - CIn - UFPE 32

Mtricas EstRcas e Dinmicas


Mtricas dinmicas so diretamente relacionadas aos atribuitos de qualidade de soTware

Mtricas est-cas tm um relacionamento indireto com atributos de qualidade

rela-vamente fcil medir o tempo de resposta de um sistema (atributo de desempenho) ou a frequncia com que ele falha (atributo de conabilidade). necessrio estabelecer um relacionamento entre essas mtricas e as propriedades, tais como complexidade, facilidade de compreenso e de manuteno.
[if977] Engenharia de SoTware - SI - CIn - UFPE 33

Mtricas de Produto de So+ware

Ian Sommerville, Engenharia de SoTware, 8. edio. Captulo 27 [if977] Engenharia de SoTware - SI - CIn - UFPE 34

Mtricas Orientadas a Objetos

Ian Sommerville, Engenharia de SoTware, 8. edio. Captulo 27 [if977] Engenharia de SoTware - SI - CIn - UFPE 35

Anlise de Medies
Nem sempre bvio o que os dados signicam
A anlise de dados coletados muito di^cil

Esta~s-cos prossionais devem ser consultados, se es-verem disponveis muito importante usar mtricas experimentalmente validadas

[if977] Engenharia de SoTware - SI - CIn - UFPE

36

Leituras recomendadas
SOMMERVILLE, I. Engenharia de SoTware. 8. Ed. So Paulo: Pearson Educa-on, 2007
Captulo 27

[if977] Engenharia de SoTware - SI - CIn - UFPE

37

You might also like