Escolar Documentos
Profissional Documentos
Cultura Documentos
Qualidade de Software
MC626 Adaptado de notas de aula da Prof. Eliane Martins (http://www/ic.unicamp.br/~eliane/Cursos)
Tpicos
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
Conformidade a (Pressman):
requisitos funcionais e de desempenho, padres e convenes de desenvolvimento pr-estabelecidos, atributos implcitos que todo sw desenvolvido prossionalmente deve possuir.
Caractersticas de Qualidade
o
Re vis o
Op
era
Transio
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?
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?
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?
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
Como fazer:
Entraves qualidade
[IEEE610.12-1990]
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
erro defeito
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
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
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