MIRANDA, R. A. V.; http://lattes.cnpq.br/4903287306364548; MIRANDA, Rodrigo de Almeida Vilar de.
Resumo:
Developers can use metadata in enterprise applications in order to reduce coupling between graphical user interface and domain model layers. Therefore, user interface components are replaced by meta components, which can be easily reused in different domains, enhancing productivity of application development. However, the current metadata-based approaches define complex components for graphical interface, mixing responsibilities in an artifact and reducing maintainability. In this work, we propose an approach to implement meta components s into small artifacts with encapsulated responsibilities, increasing its reuse and easing its
customization. This approach has been developed as a pattern language with seven design patterns and two architectural patterns, which were defined based on existing approaches, abstracting good practices and proposing solutions for weaknesses. Two open source framworks, Geneguis and Angular M, were implemented using the pattern language concepts in order to support User interface development for enterprise applications. The productivity of Angular M was compared to Ruby on Rails in an experiment with 15 software developers that performed 12 user interface customization tasks. The statistical analysis of experiment
results has shown that: for the six customization tasks where components were reused, Angular M was significantly more productive in all tasks; and for the six tasks without reused components, Angular M was significantly more productive in two tasks, Ruby on Rails was significantly more productive in one task and the other three tasks did not show significant difference. The average increase of productivity for Angular M, in comparison with Ruby on Rails, was 20% for all 12 scenarios and 64% for the six scenarios with component reuse.