A Separation-Based UI Architecture with a DSL for Role Specialization
StatisticsView Usage Statistics
This dissertation was aimed at creating a new software development method-ology centered on the natural role specialization characteristic of people. Based onexisting work in the field, we propose a unique separation-based UI architecture fo-cused on specialized roles, namely user experience (UX) professionals and computerprogrammers. A distinguishing characteristic of our approach is the use of a domainspecific language (DSL) to bridge the gap between the two roles' knowledge domains,to accomplish higher-level abstraction, and to free the user-interface (UI) designerfrom having to learn and master a programming language. Furthermore, we rely onmodel-driven engineering (MDE) techniques of code generation to further enhance thebenefits of using a DSL. In this dissertation we describe a complete methodology thatimplements our architecture, reaps the benefits of role specialization, takes advantageof DSL-based abstraction and automated code generation, and provides step-by-steppractical guidance in a variety of software development applications that contain UIcomponents. To illustrate our approach, an NetCDF file subset extractor applica-tion built using the proposed methodology is also presented. The proposed methodis compared with related approaches and the results of applying it are evaluatedusing a usability study, an analysis of automated code generation efficiency, and acomparison with several tools that could have been used to create a similar softwareapplication to our NetCDF subset extractor program. Background details on domainmodeling, model driven engineering, and user experience and user interfaces, togetherwith pointers to several directions of future work are also included in the dissertation.