Aprimorando a Modularidade e a Manutenibilidade no Framework EUL por meio da Seleção Dinâmica de Componentes - Lima, Mariany Morais Silva (2024)
Sistemas de Apoio à Decisão (SADs) facilitam a tomada de decisões em diversas áreas, encapsulando e formalizando o conhecimento específico do domínio. Tradicionalmente, a transferência desse conhecimento para os desenvolvedores de software tem sido um gargalo, retardando o desenvolvimento e a manutenção do sistema. O End User Language (EUL) Framework foi criado para melhorar essa questão, defendendo a segregação do conhecimento do domínio em uma ontologia e um script de Linguagem Específica do Domínio (DSL). Existem apenas alguns itens nos quais a interação entre desenvolvedores e especialistas deve ocorrer, simplificando o processo de desenvolvimento. Para que isso aconteça, interfaces devem ser geradas automaticamente a partir da ontologia e do script. No início da concepção do EUL, um componente central orquestrava a seleção de vários elementos usados para criar as interfaces do SAD. Esse mecanismo dependia de um conjunto rígido de opções, limitando inadvertidamente a versatilidade e adaptabilidade dos sistemas produzidos, levando a um crescimento desordenado do código-fonte da interface do usuário. Este trabalho propõe um processo de composição de Interface do Usuário (UI) mais flexível para enfrentar essas limitações. Esse processo não apenas deve considerar uma ampla variedade de variáveis para a seleção de componentes de UI, mas também permitir que os usuários introduzam novos componentes de UI sempre que necessário. Isso é alcançado por meio da introdução de um novo seletor dinâmico de componentes a serem usados em tempo de execução, empregando conjuntos de regras associadas aos componentes específicos. Cada conjunto de regras do componente dirá se ele pode ser usado para um tipo de dado específico. As regras são definidas em formato JSON, e consideradas legíveis por humanos. Esse novo processo permite que os componentes sejam compilados separadamente do sistema principal, melhorando a modularidade e a manutenibilidade do framework. Um estudo de caso envolvendo desenvolvedores web foi realizado para avaliar se o framework proposto teve um desempenho superior na facilidade de adição de componentes. O estudo tinha como objetivo comparar o desempenho do novo framework em termos de tempo de desenvolvimento e compreensão do código em relação ao seu antecessor. Usando questionários, tarefas avaliadas na escala Likert e o método Think Aloud para feedback em tempo real, os desenvolvedores endossaram (4 em 5) o framework reformulado, confirmando as melhorias introduzidas por esta pesquisa.