61ª Reunião Anual da SBPC |
A. Ciências Exatas e da Terra - 2. Ciência da Computação - 4. Engenharia de Software |
LEGATODSSA: UMA ABORDAGEM DE ENGENHARIA DE DOMÍNIO BASEADA NA REENGENHARIA DE SISTEMAS LEGADOS |
Aline Pires Vieira de Vasconcelos 1 Jonnathan dos Santos Carvalho 1 Ana Carolina de Almeida Sá 1 José Wilian Batista Corrêa 1 |
1. NTI – IF-Fluminense (Instituto Federal de Educação, Ciência e Tecn. Fluminense) |
INTRODUÇÃO: |
O projeto LegaToDSSA (From Legacy Systems to Domain Specific Software Architectures) tem como objetivo a geração de uma arquitetura baseada em componentes para domínios específicos a partir da análise de sistemas legados existentes no domínio. Os sistemas legados costumam ser uma das fontes de informação essenciais para a análise de domínio. Embora seja reconhecida a importância desses sistemas durante a Engenharia de Domínio (ED), os métodos de ED existentes não oferecem suporte a sua análise, ficando a cargo do engenheiro de domínio a condução dessa atividade, que acaba sendo custosa dado o volume de informação desses sistemas. Dessa forma, no projeto LegaToDSSA, uma abordagem de análise sistemática de sistemas legados desenvolvidos no paradigma de orientação a objetos (OO), propiciando a sua reengenharia para um modelo de componentes do domínio, é proposta. A abordagem suporta a análise desses sistemas através de processos sistemáticos de avaliação e recuperação de informação dos mesmos, guiados por técnicas e ferramental adequados. A transformação da tecnologia desses sistemas de OO para componentes visa aumentar o potencial de reutilização dos artefatos gerados, visto que componentes representam artefatos claramente identificáveis, que realizam uma função bem definida. |
METODOLOGIA: |
O desenvolvimento do LegaToDSSA teve início com o aprofundamento nos processos que foram integrados na abordagem proposta, a saber, o processo de Engenharia Reversa (ER) ArchMine e o processo de ED baseado em componentes CBD-Arch-DE, ambos desenvolvidos em trabalhos de doutorado na COPPE-UFRJ. O processo CBD-Arch-DE prevê um processo de cima para baixo (engenharia progressiva) para especificação de arquiteturas de referência, enquanto o ArchMine visa a reconstrução de modelos arquiteturais de sistemas legados OO, de baixo pra cima (ER). Além desses processos, foi estudada também a notação Odyssey-FEX, que propõe uma notação para representação de variabilidades em reutilização de software. Após essa etapa iniciou-se o desenvolvimento da abordagem de integração de tais processos em um contexto de reengenharia de sistemas OO para sistemas baseados em componentes e sua implementação no ambiente Odyssey. O Odyssey é uma infra-estrutura de suporte ao desenvolvimento baseada em reutilização, desenvolvida na COPPE-UFRJ, que envolve a ED, a partir de modelos de domínio que podem auxiliar na utilização efetiva de uma estratégia de reutilização durante todo o processo de desenvolvimento de software, além de envolver o Desenvolvimento com Reutilização através da Engenharia de Aplicação (EA). |
RESULTADOS: |
Como o projeto ainda está em andamento, faltando apenas a execução de um estudo de caso para ser concluído, podem ser citados como resultados preliminares as modificações realizadas no ambiente Odyssey. Estas modificações visaram a adaptação do ambiente utilizado à abordagem proposta no projeto LegaToDSSA, ou seja, a integração dos processos CBD-Arch-DE e ArchMine, citados acima. Para isso, foram realizadas modificações no mapeamento do modelo de classes, recuperados dos sistemas legados no contexto deste projeto, para o modelo de características, além de modificações no mapeamento do modelo de características para tipos de negócio, que servem como entrada para a especificação e criação de componentes. Essas modificações foram baseadas em um conjunto de heurísticas de mapeamento propostas e desenvolvidas também neste projeto. |
CONCLUSÃO: |
Embora os resultados obtidos até o momento sejam parciais, as modificações realizadas no ambiente Odyssey, assim como a criação das heurísticas de mapeamento mostraram-se adequadas para a execução do estudo de caso. O estudo de caso consiste na comparação de modelos arquiteturais de sistemas legados OO no domínio acadêmico, partido do código-fonte através do processo ArchMine com apoio do processo CBD-Arch-DE. Com o estudo de caso, espera-se alcançar uma Arquitetura de Software Específica de Domínio (DSSA – Domain Specific Software Architecture) possibilitando sua reutilização em qualquer aplicação de um determinado domínio. A arquitetura obtida permitirá confirmar a eficiência da abordagem proposta, sendo útil também para refinar o processo envolvido nesta abordagem. |
Instituição de Fomento: Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq) |
Palavras-chave: reengenharia, sistemas legados, Arquitetura de Software Específica de Domínio. |