Aprimorando a Modularidade e a Manutenibilidade no Framework EUL por meio da Seleção Dinâmica de Componentes

Detalhes bibliográficos
Ano de defesa: 2024
Autor(a) principal: Lima, Mariany Morais Silva
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Biblioteca Digitais de Teses e Dissertações da USP
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://www.teses.usp.br/teses/disponiveis/55/55134/tde-06062024-141246/
Resumo: 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.