dySMS.config Model Driven Development - Figueiredo, Evaristo Martins (2019)
A empresa DigitalWind, com intuito de fazer face às necessidades de reconversão do seu sistema legado de software - UEBE.Q - promoveu a criação de um projeto de I&D em parceria com o ISEP. Deste projeto, designado dySMS, resultou, entre outras coisas, a criação de um conjunto de componentes de software que permitem agilizar o referido processo de reconversão. Associado aos referidos componentes de software existe um grande volume de dados de configuração que permitem a adaptação do funcionamento do software às problemáticas inerentes de um projeto desta natureza. Uma vez que é necessária a manipulação frequente dos referidos dados de configuração, por utilizadores que não necessitam de possuir grandes conhecimentos técnicos e que a linguagem utilizada para os codificar é de baixo nível, esta tarefa revelou-se muito morosa e propensa a erros. O presente trabalho, realizado no âmbito da Dissertação de Mestrado em Engenharia Informática - área de especialização de Engenharia de Software, do Instituto Superior de Engenharia do Porto (ISEP), documenta o processo de investigação e desenvolvimento, que suportou a criação do componente de configuração do referido sistema de software. Para suportar a realização do referido projeto foi adotada uma abordagem orientada a modelos. Foi dada grande enfase à criação de linguagens de domínio específico, que promovem uma elevação do nível de abstração dos conceitos necessários à manipulação dos dados, permitido aos operadores realizar as tarefas de configuração recorrendo a uma linguagem muito mais próxima da linguagem do domínio de negócio. No núcleo da aplicação encontra-se uma ontologia onde são capturados os vários conceitos de negócio e as suas relações, que permite definir uma estrutura conceptual base, numa linguagem amigável e de alto nível. Com base neste componente central, foi então desenvolvido um processo de mapeamento dos referidos conceitos e relações de alto nível com as estruturas de dados complexas do software legado. Uma vez conseguido este relacionamento bidirecional, foram adicionadas várias funcionalidades para automatizar a configuração da interface de utilizador e da sua tradução em vários idiomas e das regras de autentificação e autorização de acesso a dados.