You are on page 1of 18

UNIVERSIDADE ESTCIO DE S

MARCIO OLIVEIRA DENNY BANDEIRA IURI MACHADO FLAVIO FAVIERI RICARDO GUERRA BRUNO PIERRE

QUALIDADE E TESTE DE SOFTWARE

RIO DE JANEIRO 2011

MARCIO OLIVEIRA DENNY BANDEIRA IURI MACHADO FLAVIO FAVIERI RICARDO GUERRA BRUNO PIERRE

QUALIDADE E TESTE DE SOFTWARE MANUTENO DE SOFTWARE

PROFESSOR FERNANDO ANDRE DA SILVA

RIO DE JANEIRO 2011

ndice
Custo da Manuteno.....................................................8 Custo de Manuteno.....................................................6 Custo de Manuteno.....................................................7 Elementos de Eng. Reversa e Reengenharia...............16 Engenharia Reversa e Reengenharia...........................14 Engenharia Reversa e Reengenharia...........................15 Fatores Facilitadores.......................................................8 Gerenciamento da Manuteno....................................13 Manuteno de Software................................................3 Manutenibilidade.............................................................4 Organizao para a Manuteno....................................9 Organizao para a Manuteno..................................10 Problemas da Manuteno.............................................5 Processo de Manuteno..............................................11 Registros de Manuteno.............................................12

Manuteno de Software

Os Fatores de Qualidade de Software focalizam trs aspectos importantes do Software Produto: (ISO 9126)

Manutenibilidade

A Manutenibilidade pode ser definida qualitativamente como a

facilidade com que o software pode ser entendido, corrigido, adaptado e ou melhorado.

Tipos de Manuteno

o MANUTENO CORRETIVA: identificar e corrigir erros o MANUTENO ADAPTATIVA: adaptar o software ao ambiente o MANUTENO PERFECTIVA: atender pedidos do usurio para modificar funes existentes, incluir novas funes e efetuar melhoramentos gerais o MANUTENO PREVENTIVA: Melhorar a manutenibilidade ou confiabilidade futuras e fornecer uma base melhor para futuros melhoramentos

Problemas da Manuteno

A maioria dos problemas com a manuteno do software causada por deficincias na maneira como o software foi planejado e desenvolvido.

PROBLEMAS CLSSICOS

difcil ou impossvel rastrear o processo atravs do qual

o software foi criado. A maioria dos softwares no foram projetados para suportar alteraes. o difcil ou impossvel traar a evoluo do software

atravs das vrias verses. As alteraes no so adequadamente documentadas A documentao no existe, incompreensvel ou est desatualizada. o muito difcil entender programas "de outras pessoas",

que frequentemente no esto presentes para explicar. A dificuldade aumenta conforme o nmero de elementos na configurao de software aumenta. o A manuteno no vista como um trabalho "glamoroso"

ou importante.

Custo de Manuteno

Custos diretos da Manuteno

- 70 % do oramento do software (ciclo de vida) - Diminuio dramtica na produtividade 40:1 [Boehm,79] - Custo do desenvolvimento : $25,00 por linha de cdigo - Custo da manuteno : $1.000,00 por linha de cdigo

Outros custos No Monetrios

- Adiamento de oportunidades de desenvolvimento - Insatisfao do cliente - Reduo da qualidade global do software - Insatisfao do pessoal de desenvolvimento

Custo de Manuteno

o determinar

A manutenibilidade difcil de quantificar. Pode-se a manutenibilidade indiretamente considerando

componentes das atividades de manuteno que podem ser medidos

MTRICAS DE MANUTENIBILIDADE (Gilb, 1979) - tempo de reconhecimento do problema - tempo de demora administrativa - tempo de anlise do problema - tempo de especificao da alterao - tempo de correo ou modificao - tempo de teste local e global - tempo de reviso da manuteno

Custo da Manuteno

A manutenibilidade pode ser medida indiretamente

considerando medidas da estrutura do projeto e medidas da complexidade do software

MODELO PARA ESTIMATIVA DE CUSTOS DE

MANUTENO o Belady, 1972 M = P + Ke(c-d) Onde, M = esforo de manuteno P = esforo produtivo K = constante emprica e = nmero Euler (2,78...) c = medida de complexidade atribuida a falta de bom projeto e de boa documentao d = medida do grau de familiaridade com o software

Fatores Facilitadores

o o o o o documentado

Pessoal qualificado Processo de software estabelecido e documentado Sistemas com estruturas lgicas e compreensveis Processo de manuteno estabelecido e documentado Processo de controle de mudanas estabelecido e

10

Organizao para a Manuteno

11

Organizao para a Manuteno

Autoridade controladora de mudanas: evita que as

mudanas favoream um solicitante e prejudiquem outros... o Controlador de manuteno: evita que modificaes sejam

implementadas sem serem devidamente aprovadas... o Supervisor de sistemas: uma vez que tem familiaridade com

um grupo de sistemas, pode avaliar mais rapidamente os pedidos de manuteno

12

Processo de Manuteno

13

Registros de Manuteno

EXEMPLO DE DADOS QUE PODEM SER ARMAZENADOS (Swanson):

o o o o o o

identificao e descrio do programa nmero de linhas de comando linguagem de programao usada data da instalao do programa nmero de execues do programa desde a instalao nmero de falhas de processamento associadas ao item

anterior o o o programa o o datas de incio e fim da manuteno nmero de pessoas-horas despendidos na manuteno identificao e descrio das alteraes no programa tipo de manuteno nmero de linhas de comandos adicionadas por alterao no

14

Gerenciamento da Manuteno

o o

Arcabouo Quantitativo (Swanson) nmero mdio de falhas de processamento por execuo

do programa o pessoas-horas despendido em cada categoria

de manuteno o nmero mdio de pessoas-horas despendido

por linha de comando adicionado ou deletado devido a manuteno o tempo mdio de processamento para um

pedido de manuteno o tipo o o Decises: Tecnologia de Desenvolvimento o o Estrutura de Manuteno porcentagem de pedidos de manuteno por

Alocao de Recursos

15

Engenharia Reversa e Reengenharia

o o

Programas "Aliengenas" Programas com fluxo de controle equivalente a um "prato

de espaguete", mdulos muito grandes e poucas linhas de comentrios significativos. o Projeto de dados e projeto arquitetural ruins. o Nenhuma metodologia de desenvolvimento foi

aplicada. o Nenhum outro elemento da configurao de

software, alm do cdigo. o Documentao e registro histrico das alteraes

incompletos. o Nenhum membro do pessoal atual de manuteno

trabalhou no desenvolvimento do programa.

16

Engenharia Reversa e Reengenharia

ENGENHARIA REVERSA: Processo de anlise de

um software, partindo-se inicialmente da implementao para um nvel mais alto de abstrao o REENGENHARIA: Implica no exame e na alterao

do software para reconstru-lo em uma nova forma.

17

Elementos de Eng. Reversa e Reengenharia

DIRECIONALIDADE: Engenharia Reversa: se a direcionalidade tem sentido nico, toda informao extrada a partir do cdigo fonte e usada durante as atividades de manuteno. Reengenharia : se a direcionalidade tem sentido duplo, a informao usada para "alimentar" uma abordagem de reengenharia, que tentar reestruturar ou regenerar o programa antigo. GRAU DE ABSTRAO Refere-se ao nvel de generalidade das descries. Conforme o nvel de abstrao aumenta, mais produtivas se tornam as informaes INTEIREZA: Refere-se ao nvel de detalhes que fornecido em cada nvel de abstrao. INTERATIVIDADE: Refere-se ao grau de participao do ser humano no processo de engenharia reversa. Conforme o nvel de abstrao aumenta, a interatividade deve aumentar ou a inteireza ser prejudicada.

18

You might also like