Dissertação

Normalized Systems: An Assessment of Evolvability Based on Metrics EVALUATED

A evolutibilidade é uma qualidade fundamental de sistemas, que é valorizada em todas as áreas de desenvolvimento de software. Ao longo dos anos, foram sugeridas técnicas para obter esta qualidade, obtendo resultados discutíveis por requererem grande disciplina por parte dos programadores, uma arquitectura adequada, ou o uso de ferramentas complexas. A teoria dos Sistemas Normalizados (SN) defende que a evolutibilidade do software pode ser obtida aplicando quatro princípios bem definidos, que podem ser efectivamente seguidos através da sistemática reutilização do conhecimento de arquitectura e desenho utilizando geração de código. Apesar das capacidades promissoras dos SN, não existem avaliações concretas da sua aplicabilidade a projectos de software reais, especialmente no que toca à evolutibilidade das aplicações por si produzidas. Neste trabalho, revemos o conceito de evolutibilidade e as abordagens existentes para a atingir, identificando também as lacunas existentes na literatura acerca da avaliação da evolutibilidade de aplicações desenvolvidas usando SN e outras abordagens. De seguida, procedemos à definição de um caso de estudo que consiste no desenvolvimento de um sistema de informação baseado na web, usando ferramentas dos SN, uma abordagem tradicional, e um abordagem de Engenharia Baseada em Modelos. Finalmente, avaliamos a evolutibilidade das implementações utilizando análise estática de código na forma de métricas de código, que medem características de evolutibilidade, e comparamos os resultados. Estes demonstram que as ferramentas dos SN produzem de facto aplicações altamente estáveis e evolutivas, mesmo quando comparadas com as restantes abordagens. No entanto não são perfeitos, e várias desvantagens foram identificadas.
Sistemas Normalizados, Evolutibilidade, Engenharia Baseada em Modelos, Desenho e Arquitectura de Software, Métricas de Código

Novembro 8, 2016, 13:0

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

Paulo Jorge Fernandes Carreira

Departamento de Engenharia Informática (DEI)

Professor Auxiliar