Atenção: esse artigo tem um vídeo complementar. Clique e assista!

De que se trata o artigo

Manutenção de software evolutiva e adaptativa. Neste contexto, apresenta a aplicação dos padrões para reengenharia de software orientado a objeto.


Para que serve

Ampliar o conhecimento sobre reengenharia de software, saber identificar e aplicar Padrões para a Reengenharia, auxiliar os gerentes de projeto em TI e Analistas de Sistemas na adoção de reengenharia de sistemas legados procedimentais para o paradigma orientado a objetos.


Em que situação o tema é útil

Na avaliação de um re-projeto de um sistema legado procedimental, no apoio à melhoraria da qualidade dos processos de software e do planejamento de questões administrativas em projetos de TI, e na garantia da qualidade do processo de reengenharia de software orientado a objetos.

Autores: Gizelle Sandrini Lemos e Giuliano Prado de Morais Giglio

Na edição 33 da Engenharia de Software Magazine, apresentamos os principais conceitos sobre a reengenharia de sistemas orientados a objetos de sistemas legados, com a abordagem de padrões de melhoria da qualidade deste processo. O Fusion/RE foi criado a partir do método Fusion com o objetivo de recuperar o projeto de softwares legados procedimentais em uma forma orientada a objetos.

A experiência adquirida com a utilização do Fusion/RE em alguns sistemas norteou a sua evolução para o PRE/OO, que é um Processo de Reengenharia Orientada a Objetos com Ênfase na Garantia da Qualidade, proposto por Lemos (2002).

Essa evolução se fez necessária, pois a aplicação do método nem sempre pode ser feita de forma sequencial, como demonstrado no artigo anterior. O uso do Fusion/RE vem ocorrendo de forma evolutiva devido à necessidade do retorno, algumas vezes, aos passos anteriores para tornar seus resultados mais completos. Porém, tem-se a necessidade de que um processo de reengenharia seja planejado e avaliado.

Dessa forma, o PRE/OO foi criado baseado nos clusters 2, 3 e 4, técnicas do Fusion/RE. A Figura 1 ilustra o processo de reengenharia orientada a objetos denominado PRE/OO, o qual é organizado em sete clusters de padrões. Alguns padrões foram adaptados a partir da Família de Padrões para Reengenharia Orientada a Objetos proposta por RECCHIA (2002a), para a obtenção dos modelos de análise orientados a objetos, comprovando que o modelo evolutivo é o mais adequado.

Figura 1. Clusters de Padrões do PRE/OO.

Os clusters de padrões do PRE/OO dividem-se em:

• padrões para a realização da reengenharia orientada a objetos (clusters 3 a 7);

• padrões para a melhoria da qualidade da reengenharia (clusters 1 e 2).

O PRE/OO foi desenvolvido para que engenheiros de software possam realizar a reengenharia orientada a objetos, inicialmente de softwares Delphi sem documentação e/ou desenvolvidos de forma não orientada a objetos. Assim, esses sistemas podem ter sua documentação recuperada e passam a refletir a forma orientada a objetos, mais estruturada e com maior capacidade de reuso de seus módulos.

Através da aplicação do PRE/OO obtém-se, num primeiro momento, O MASA (Modelo de Análise do Sistema Atual) que reflete a implementação legada e norteia o processo de reengenharia que resulta no MAS (Modelo de Análise do Sistema). O MAS contém a documentação completa que auxilia a engenharia avante orientada a objetos do sistema legado.

Ressalta-se que o PRE/OO pode ser considerado um processo genérico no que diz respeito à realização da reengenharia em softwares legados. Porém, podem ser necessárias algumas adaptações para a condução da reengenharia orientada a objetos em softwares legados desenvolvidos em outras linguagens procedimentais.

Para ilustrar sua aplicação, este artigo descreve o estudo de casos conduzido por Gizelle Lemos em (Lemos, 2002), de forma a exemplificar seu processo de implementação. Assim, trabalharemos a partir de agora em um aspecto prático dos conceitos iniciados na edição 33 da Engenharia de Software Magazine, e complementados neste.

Descrição do Software Legado

O software ControleGlobal para Lojas possui cerca de 20.000 linhas de código Delphi e foi desenvolvido por um programador com experiência nas linguagens procedimentais Pascal, Clipper e C. Apesar do ambiente Delphi ter Object Pascal como linguagem de programação, que permite uma implementação totalmente de acordo com o paradigma orientado a objetos, o sistema foi desenvolvido seguindo a forma procedimental.

O software legado tem como funcionalidade principal a gestão do estoque e dos crediários de pequenas empresas do setor de comércio de vestuário. Um resumo de suas funcionalidades é descrito a seguir:

  • Caixa: o caixa diário é controlado, sendo sua movimentação proveniente da entrada de pagamentos de parcelas de crediários e de vendas efetuadas. Um relatório pode ser gerado com toda a movimentação diária do mesmo, caso solicitado pelo gerente;
  • Clientes: permite a inclusão, a atualização de dados e a exclusão de clientes cadastrados, além de conter funções de busca e de impressão de relatórios com informações pertinentes, como por exemplo, a ficha cadastral completa de um determinado cliente;
  • Crediários: são consideradas como crediários as vendas de mercadorias aos clientes cadastrados, financiadas pela empresa em até cinco parcelas. Em caso de venda com pagamento em crediário, o valor das parcelas é calculado automaticamente pelo software, bem como os juros em caso de atraso no pagamento;
  • Estoque: as mercadorias comercializadas pela empresa são cadastradas em estoque e cada uma recebe um código que serve como identificador. Cada mercadoria tem seu preço médio controlado, proveniente dos custos de cada lote de mercadorias sob a quantidade total disponível. A frequência de saída e entrada de mercadoria também pode ser acompanhada por meio de relatórios. O estoque é dividido por cores e por grupos de mercadorias;
  • Fechamento: o fechamento de vendas, trocas e comissões dos vendedores é emitido a cada final de mês, em forma de diversos relatórios, para que se possa controlar os custos e lucros com relação a essas operações;
  • Trocas: as mercadorias vendidas pela empresa podem ser trocadas por outras, sendo que o software controla a entrada e a saída de estoque quando essa operação ocorre, além do débito ou crédito decorrentes;
  • ...
    Quer ler esse conteúdo completo? Tenha acesso completo