Model-based User Interface Design
MetadataShow full item record
This work is about supporting user interface design by means of explicit design representations, in particular models. We take as a starting point two different development traditions: the formal, analytic, topdown engineering approach and the informal, synthetic, bottom-up designer approach. Both are based on specific design representations tailored to the respective approaches, and are found to have strengths and weaknesses. We conclude that different representations should be used during user interface design, based on their specific qualities and the needs of the design process. To better understand the use of design representations a framework for classifying them is developed. A design representation may be classified along three dimensions: the perspective (problem- or solution-oriented) of the representation, the granularity of the objects described and the degree of formality of the representation and its language. Any design approach must provide representation languages that cover the whole classification space to be considered complete. In addition, the transitions between different representations within the representation space must be supported, like moving between task-based and interaction- oriented representations or up and down a hierarchic model. Movements between representations with different degrees of formality are particularly important when combining user-centered design with a model-based approach. The design representation classification framework has guided the development of diagrambased modelling languages for the three main perspectives of user interface design, tasks, abstract dialogue and concrete interaction. The framework has also been used for evaluating the languges. A set-based conceptual modelling language is used for domain modelling within all these perspectives. The task modelling language is designed as a hybrid of floworiented process languages and traditional hierarchical sequence-oriented task languages. Key features are tight integration with the domain modelling language, expressive and flexible notation and support for classification of task structures. The language for modelling abstract dialogue is based on the interactor abstraction for expressing composition and information flow, and the Statecharts language for activation and sequencing. Parameterized interactors are supported, to provide means of expressing generic and reusable dialogue structures. Modelling of concrete interaction is supported by a combination of the dialogue and domain modelling languages, where the former captures the functionality and behavior and the latter covers concepts that are specific for the chosen interaction style. The use of the languages in design is demonstrated in a case study, where models for tasks, dialogue and concrete interaction are developed. The case study shows that the languages support movements along the perspective, granularity and formality dimensions.