|
Os 3 R |
|
| |
|
| Autor: Vanderlei Vilhanova Ortêncio | |
| Se você não fizer alguma coisa para resolver o seu problema com a manutenção, o mais provável é que daqui a dez anos você esteja fazendo a mesma coisa. Existem 3 tecnologias se consolidando dentro do contexto, a partir do final da década de 80 e que prometem para os anos 90. 1 – Reestruturação 2 – Re-engenharia 3 – Engenharia Reversa REESTRUTURAÇÃO Reestruturar: Dar nova estrutura” Aurélio É um processo de reorganização do código de programas, visando converter código tipo espaguete em código estruturado, que se baseia nas teorias de programação estruturada proposta pelo Dr. Djikstrota, em 1996. Este processo pode eliminar muito código morto ( trechos de programas nunca executados), mas mesmo assim ainda aumenta o código fonte em 10 a 15% (Yourdon, 89). O tempo de manutenção pode ser reduzido em 10% (Yourdon89) com benefícios maiores na manutenção de longo prazo, mas ajudando bastante na de curto prazo ( crise). Uma observação importante e dita por muitos autores: “Não transforma código ruim em código bom” Esta área é atendida por muitos produtos de acordo com a literatura estrangeira, mas não tenho notícias de uso desta ferramentas no Brasil. Dificuldades a serem enfrentadas:
Re-Engenharia O termo Re-Engenharia ( que não consta no Aurélio) é mais uma adição ao nosso jargão técnico como tradução da palavra Re-Engeneering ( que também não esta no Webster). Não é simples substituição ao termo MANUTENÇÃO. Tem o sentido de incorporar aos sistemas já existentes as características decorrentes da Engenharia de Software, tanto técnicas ( por exemplo – estruturação de programas) como gerenciais ( medições e controle de qualidade). Desta forma, se reconstrói o software preservando todos os requisitos e todos os fluxos de entrada e saída. Yourdon (1989)- propõe os seguintes objetivos e procedimentos: a – ASSEGURAR A QUALIDADE DO SOFTWARE EXISTENTE Promover uma análise estática dos programas observando tamanho de módulos, quantidade de desvios etc, ou ainda promovendo medições mais sofisticadas utilizando tecnologia de MÉTRICA DE SOFTWARE. Este trabalho pode até alavancar e prover subsídios para um plano gerencial mais amplo par elevar a qualidade do software existente na organização. b- ANALISAR O COMPORTAMENTO DOS PROGRAMAS EXISTENTES DE FORMA ESTÁTICA, DINÂMICA OU AMBAS Por exemplo, responder questões como:
A disponibilização desta análise traz muitos benefícios à manutenção de curto prazo (crise). c- MELHORAR GRADUALMENTE OS PROGRAMAS EXISTENTES
D – ELEGER OS SISTEMAS QUE DEVEM PASSAR PELA RE-ENGENHARIA PRIMEIRO Com que critério? O mais velho? O mais novo? O maior? O menor? Com mais erros? 1 – avaliar a qualidade dos programas com uma análise suscinta ( ver item a); 2 – avaliar satisfação do usuário com questionários para verificar o grau de importância do sistema para o usuário: 3 – montar um gráfico conforme a figura na coluna ao lado:
Quad................Ação .....................................Conclusão A.....................Reespecificar...........................Mau serviço de análise B.....................Re-engenharia.........................É o vencedor C.....................Refazer completamente............Mau serviço de análise e construção D.....................Reestruturar...........................Após
a Re-Estruturação provavelmente ...................................................................passará
ao quadrante B. Aí então Re- ENGENHARIA REVERSA O propósito de engenharia reversa é trilhar o caminho inverso ao de desenvolvimento, derivando os modelos de especificação a partir da implementação física, ou seja dos códigos de programas e das estruturas de dados. Por exemplo:
Para poder fazer Engenharia Reversa é necessário que antes se tenha feito a Re-estruturação e a Re-engenharia. Esta é uma área nova na qual existem muito poucos produtos de apoio e é onde há muito espaço para o emprego de tecnologia de inteligência Artificial (IA). |
| Copyright@2003 / Companhia de Informática do Paraná - CELEPAR | links: |
![]() |
![]() |
![]() |