Você está na página 1de 31

Qualidade de Software

MC626 Adaptado de notas de aula da Prof. Eliane Martins (http://www/ic.unicamp.br/~eliane/Cursos)

Qualidade de Software
MC626 Adaptado de notas de aula da Prof. Eliane Martins (http://www/ic.unicamp.br/~eliane/Cursos)

Tpicos

Qualidade de Software Garantia da Qualidade de Software

Referncias
R.S.Pressman. Software Engineering, A Practicioners Approach, McGraw-Hill. Steven R. Rakitin. Software Verication and Validation: a Practitioners Guide. Artech House, 1997. Nelma S. Gomes. Qualidade de Software - Uma Necessidade. Artigo obtido em fev/2003 em: www.esaf.fazenda.gov.br/cst/arquivos/Qualidade_de_Soft.pdf Rosely Sanches. Notas de curso. ICMC/USP-S.Carlos. Obtido em fev/ 2003:server.labes.icmc.sc.usp.br/cursos/sce5837/ (no disponvel no momento!)

Importncia
Dependncia crescente em sistemas computacionais Sistemas computacionais dependem cada vez mais do sw
Mau funcionamento do sw pode ter custos altos
O passado: bug do milnio avio F-16: voou de cabea para baixo ao cruzar o equador devido a falha no sw de navegao lanamento do nibus espacial Columbia foi atrasado em 1981 devido a alterao errada em rotina de sincronizao ao menos 2 mortes causadas por overdose de radiao por causa de uma falha de sw no Therac-25 ...

Importncia
Dependncia crescente em sistemas computacionais Sistemas computacionais dependem cada vez mais do sw
Mau funcionamento do sw pode ter custos altos
O ... futuro: O que pode acontecer se bancos perderem milhes clientes virem saldos de suas contas sumirem de repente telefones pararem de funcionar avies tiverem suas rotas desviadas vrios trens (metr) sejam colocados no mesmo trilho

O que qualidade de software?


Conjunto de caractersticas que devem ser alcanadas em um determinado grau para que o produto atenda s necessidades de seus usurios. [Ana R. C.Rocha2001] Totalidade de caractersticas de uma entidade que lhe confere a capacidade de satisfazer a necessidades explcitas e implcitas [NBR
ISO 1994]

Conformidade a (Pressman):
requisitos funcionais e de desempenho, padres e convenes de desenvolvimento pr-estabelecidos, atributos implcitos que todo sw desenvolvido prossionalmente deve possuir.

Modelo de Qualidade de McCall et al, 1977


Caractersticas operacionais: correo conabilidade integridade ecincia Habilidade para ser alterado: manutenibilidade exibilidade testabilidade

Caractersticas de Qualidade
o
Re vis o

Adaptabilidade a novos ambientes: portabilidade reusabilidade interoperabilidade

Op

era

Transio

Fatores de Qualidade de McCall


Com relao ao uso do produto (caractersticas operacionais): correo: o quanto um programa satisfaz a sua especicao e cumpre os objetivos visados pelo cliente conabilidade: o quanto um programa executa a funo pretendida com a preciso exigida ecincia: a quantidade de recursos computacionais e de cdigo exigida para que um programa execute sua funo integridade: o quanto o acesso ao sw ou aos dados por pessoas no autorizadas pode ser controlado usabilidade: o quanto de esforo necessrio para aprender, preparar a entrada e interpretar a sada de um programa

Fatores de Qualidade de McCall


Com relao s alteraes do produto (habilidade para ser alterado): manutenibilidade: o quanto de esforo necessrio para localizar e eliminar erros em um programa exibilidade: o quanto de esforo necessrio para modicar um programa testabilidade: o quanto de esforo necessrio para testar um programa a m de garantir que ele execute a funo pretendida

Fatores de Qualidade de McCall


Com relao s alteraes do produto (habilidade para ser alterado): portabilidade: o quanto de esforo necessrio para transferir um programa de uma plataforma de hw e/ou sw para outra reusabilidade: o quanto um programa (ou partes dele) pode ser reutilizado em outros programas interoperabilidade: o quanto de esforo necessrio para se acoplar um programa a um outro

A norma ISO/IEC 9126


Norma ISO/IEC 9126/1991 ou NBR 13596: fornece um modelo de propsito geral o qual dene 6 categorias de caractersticas de qualidade de sw que so, por sua vez, divididas em subcaractersticas. Subcaractersticas podem ser avaliadas por um conjunto de mtricas. uma referncia mundial para qualidade de sw ISO: The International Standardization Organization, fundada em 1947, coordena o trabalho de 127 pases membros para promover a padronizao de normas tcnicas em mbito mundial IEC: The International Electrotechnical Commission, fundada em 1906, conta com mais de 50 pases e publica normas internacionais relacionadas com eletricidade, eletrnica e reas relacionadas [Gomes03]

Caractersticas de Qualidade
Funcionalidade Conabilidade Usabilidade Ecincia Manutenibilidade Portabilidade
o sw satisfaz s necessidades explcitas e implcitas do usurio? o sw, durante um perodo de tempo, funciona de acordo com as condies pr-estabelecidas?

o sw fcil de usar? o sw no desperdia recursos? o sw fcil de alterar? o sw facilmente adaptvel a diferentes plataformas?

Caractersticas e subcaractersticas
Funcionalidade: o sw satisfaz s necessidades explcitas e implcitas do usurio?
Adequao: prope-se a fazer o que apropriado ? Acurcia: gera resultados corretos ou conforme acordado ? Interoperabilidade: capaz de interagir com os sistemas especicados ? Conformidade: est de acordo com normas e convenes previstas em leis, normas e descries similares ? Segurana de acesso: evita acesso no autorizado, acidental ou deliberado acesso a programa e dados ?

Caractersticas e subcaractersticas
Conabilidade: o sw, durante um perodo de tempo, funciona de acordo com as condies prestabelecidas ?
Maturidade: com que freqncia apresenta falhas ? Tolerncia a falhas: ocorrendo falhas, como ele reage ? Recuperabilidade: capaz de recuperar dados aps uma falha ?

Caractersticas e subcaractersticas
Usabilidade: o sw fcil de usar?
Inteligibilidade: fcil entender os conceitos utilizados ? Apreensibilidade: fcil de aprender a usar ? Operacionalidade: fcil de operar e controlar a
operao ?

Caractersticas e subcaractersticas
Ecincia: o sw no desperdia recursos?
Comportamento em relao tempo: qual o tempo de resposta e
de processamento?

Comportamento em relao aos recursos: quanto recurso usa?


Durante quanto tempo?

Caractersticas e subcaractersticas
Manutenibilidade: o sw fcil de alterar?
Analisabilidade: fcil encontrar um erro quando ocorre? Modicabilidade: fcil modicar e remover erros? Estabilidade: h grandes riscos de erros quando se faz
alteraes?

Testabilidade: fcil testar quando se faz alteraes?

Caractersticas e subcaractersticas
Portabilidade: o sw facilmente adaptvel a diferentes plataformas?
Adaptabilidade: fcil adaptar a outras plataformas sem aplicar
outras aes ou meios alm dos fornecidos para esta nalidade no sw considerado?

Capacidade para instalar: fcil instalar em outras plataformas? Capacidade para substituir: fcil substituir por outro sw? Conformidade: est de acordo com padres e convenes de
portabilidade?

Qualidade x tipo de software


Cada tipo de sw tem seu prprio requisito de qualidade A importncia de cada caracterstica depende do tipo de sw
Funcionalidade Conabilidade Usabilidade Ecincia Manutenibilidade Portabilidade

Sistema para videolocadora

Sistema embarcado para satlite

Qualidade x Pontos de Vista


cliente
baixo custo melhoria na produtividade ecincia conabilidade portabilidade

usurio
funcionalidade usabilidade

manutenibilidade

equipe de manuteno
[B.Bgner97: Notas de curso TUM]

Avaliao da qualidade
Objetivos: aprimorar o processo de desenvolvimento e, em conseqncia, melhorar a qualidade do produto resultante avaliar a qualidade do produto visando emitir documento ocial sobre a qualidade de um sw e sua conformidde em relao a uma norma ou padro adquirir um sw, com o intuito de escolher o produto mais adequado dentre um conjunto de produtos selecionados

Aprimoramento do processo de sw
Algumas iniciativas visando melhorias do processo de sw: SEI/CMM (Capability Maturity Model), modelo desenvolvido pelo Instituto de Engenharia de Ss (SEI) da Universidade CarnegieMellon, EUA, visando dar s organizaes diretrizes sobre como aprimorar o processo ISO/SPICE (Software Process Improvement & Capability dEtermination), cujo objetivo gerar normas ISO/IEC para a avaliao de processos de sw Norma ISO/IEC 12207, dene um processo de ciclo de vida do sw Norma ISO/IEC 9000-3, apresenta diretrizes para a aplicao da ISO 9001 (voltada para indstria), por empresas que desenvolvem sw, para o processo de desenvolvimento e manuteno de sw

Avaliao da qualidade do produto


Algumas normas: ISO/IEC 9126 (NBR 13596), dene as caractersticas de qualidade de sw que devem estar presentes em todos os produtos ISO/IEC 12119, estabelece os requisitos de qualidade para pacotes de sw e instrues para teste, considerando esses requisitos ISO/IEC 14598-5, dene um processo de avaliao da qualidade de produto de sw

Como fazer:

Avaliao da qualidade do produto


organismos de certicao: no Brasil, para fornecer o certicado ISO 9000, existem empresas credenciadas pelo INMETRO avaliar in-house: utilizar equipe multidisciplinar com especialistas da rea de tecnologia e especialistas da rea que se utilizar do sw (ie, que vo olhar para o sw a partir do ponto de vista do cliente) grupo de Garantia da Qualidade do Sw contratar empresas para avaliao existem empresas que fazem avaliao do sw mas, por no serem credenciadas pelo INMETRO, no emitem certicado ocial. So no entanto mais acessveis e mais geis que os organismos credenciados.

Entraves qualidade
[IEEE610.12-1990]

erro (engano) falha

Ao humana que produz um resultado incorreto incorreo em um passo, processo ou denio de dados; manifestao no software de um engano cometido pelo desenvolvedor diferena entre o valor obtido e o valor esperado, ou seja, qualquer estado intermedirio incorreto ou resultado inesperado na execuo do sw incapacidade de fornecer o servio conforme especicado

mistake fault (bug) error failure

erro defeito

Porque surgem as falhas?


Alteraes: alteraes degradam a estrutura do sw, tornando-o cada vez mais difcil de alterar Tempo: com o tempo os custos da implementao de alteraes aumenta, e a capacidade do sistema em prestar os servios esperados diminui Complexidade: difcil de desenvolver: um nico desenvolvedor no capaz de entender o sistema como um todo difcil de usar difcil de entender: cdigo incompreensvel, falta de documentao

Garantia da Qualidade do Sw
Denio de um arcabouo para se atingir a qualidade do produto de sw [Sommerville01, 24.1] Padro sistemtico e planejado de aes que so exigidas para garantir a qualidade do sw. [Pressman92, 17.1.2] Visa responder s seguintes questes:
O sw atende s caractersticas de qualidade desejadas ? O desenvolvimento do sw foi conduzido conforme os padres prestabelecidos ? As disciplinas tcnicas cumpriram adequadamente seus papis como parte da atividade de Garantia da Qualidade ?

Norma ISO/IEC 14598 pode ser usada para denir o processo de avaliao

Atividades da Garantia de Qualidade


[Pressmann92, 17.1.3]

Aplicao de mtodos, tcnicas e ferramentas uso pelos desenvolvedores de mtodos e ferramentas que ajudem a conseguir especicaes, projetos, etc, de maior qualidade Realizao de revises tcnicas o objetivo avaliar a qualidade do artefato de sw (especicao, projeto, ...) produzido ao longo do desenvolvimento Atividades de testes em complemento s revises e outras tcnicas Aplicao de padres padres podem ser usados: para documentos, documentao do cdigo e estilo de codicao (como usar linguagem de programao) padres podem ser determinados pelo cliente, por normas internacionais ou pela empresa de desenvolvimento.

V&V

Atividades de Garantia de Qualidade


Controle de alteraes
toda mudana no sw tem potencial para introduzir erros ou criar efeitos colaterais que propagam erros controle de mudanas durante desenvolvimento e manuteno essencial para garantir a qualidade do sw

Medio
obteno de mtricas para rastrear a qualidade do sw e para avaliar o impacto de mudanas nos mtodos e procedimentos usados para desenvolvimento e manuteno

Anotao e manuteno de registros


manter histrico com resultados de revises, auditorias, controle de alteraes e outras atividades de garantia de qualidade, que devem ser levados ao conhecimento dos desenvolvedores

Você também pode gostar