User Interface Modeling
User Interface Modeling is a development technique used by computer application programmers. Today's User Interfaces (UIs) are complex software components, which play an essential role in the usability of an application. The development of UIs requires therefore, not only guidelines and best practice reports, but also a development process including the elaboration of visual models and a standardized notation for this visualization.
The term User Interface Modeling is mostly used in an
information technologycontext. A user interfacemodel is a representation of how the end user(s) interact with a computer program or another device and also how the system responds. The modeling task is then to show all the "directly experienced" aspects of a thing or device" [Trætteberg2002] .
Modeling user interfaces is a well-established discipline in its own right. For example, modeling techniques can describe interaction objects, tasks, and lower-level dialogs in user interfaces. Using models as part of user interface development can help capture user requirements, avoid premature commitment to specific layouts and widgets, and make the relationships between an interface’s different parts and their roles explicit. [SilvaPaton2003] .
Some aspects of user interface modeling can be realized using UML. However, the language is not mainly intended for this kind of modeling, which may render the models somewhat synthetic.
UMLiis an extension of UML, and adds support for representation commonly occurring in user interfaces.
Because application models in UML describe few aspects of user interfaces, and because the model-based user interface development environments (MB-UIDE) lack ability for modeling applications, the University of Manchester started the research project UMLi in 1998.UMLi aims to address this problem of designing and implementing user interfaces using a combination of UML and MB-UIDE.
DiaMODL combines a dataflow-oriented language (Pisa interactor abstraction) with UML Statecharts which has focus on behavior. It is capable of modeling the dataflow as well as the behavior of interaction objects. It may be used for documenting the function and structure of concrete user interfaces.
Himalia combines the Hypermedia Models with the control/composite paradigm. It is a full user interface language, it may be used for specifying but also for running it, because of this the designer tool can categorized as a guilder. [http://www.himalia.net]
The different aspects of a user interface requires different model types. Some of the models that may be considered for UI-modeling are:
Domain model, including data model (defines the objects that a user can view, access and manipulate through the user interface) Navigation model, defines how the objects that a user view could be navigated through the user interface Task model. (describes the tasks an end user performs and dictates what interaction capabilities must be designed) User model(represents the different characteristics of end users and the roles they are playing within the organization) Platform model(used to model the physical devices that are intended to host the application and how they interact with each other) Dialogue model(how users can interact with the objects presentation (as push buttons, commands, etc), with interaction media (as voice input, touch screen, etc) andthe reactions that the user interface communicates via these objects) Presentation model(application appearance, representation of the visual, haptic and auditory elements that the user interface offers to its users) Application model(commands and data the application provides)
UML can be used for several of the models mentioned above with varying degree of success, but it lacks support for user modeling, platform modeling and presentation model.
There exists several approaches to modeling a user interface.
In usage-centered design, the modeling task is to show how the actual presentation of a planned system and how the user interaction is supposed to happen. This is probably the most praised approach, and it has been used successfully on a variety of small and large-scale projects. Its strengths are in complex problems.
Models of this kind shows the contents of a user interface and its different components. Aesthetics and behavior details are not included in this kind of models as it is in usage-centered design models.
[Trætteberg2002] [http://www.idi.ntnu.no/~hal/research/thesis H. Trætteberg, Model-based User Interface Design, Doctoral thesis, Norwegian University of Science and Technology, 2002] [SilvaPaton2003] P. Pinheiro da Silva, N. W. Paton, User Interface Modeling in UMLi, Stanford University / University of Manchester, 2003 [Markopoulos1997] P. Markopoulos, A compositional model for the formal specification of user interface software, Doctoral thesis, Queen Mary and Westfield College University of London, 1997 [Trevisan2003] D. Trevisan, J. Vanderdonck, B. Macq, Model-Based Approach and Augmented Reality Systems, Université catholique de Louvain, 1348 Louvain-la-Neuve, Belgium, 2003 [wwwUMLi] [http://trust.utep.edu/umli The Unified Modeling Language for Interactive Applications]
Wikimedia Foundation. 2010.
Look at other dictionaries:
User interface markup language — A user interface markup language is a markup language that renders and describes graphical user interfaces. Many of these markup languages are dialects of XML.User interface markup languagesUIMLUIML is the earliest pioneer in user interface… … Wikipedia
Graphical user interface builder — A graphical user interface builder, or GUI builder, also known as GUI designer is a software development tool that simplifies the creation of GUIs by allowing the designer to arrange widgets using a drag and drop WYSIWYG editor. Without a GUI… … Wikipedia
User modeling — is a sub area of human computer interaction, in which the researcher / designer develops cognitive models of human users, including modeling of their skills and declarative knowledge. User models can predict human error and learning time, and can … Wikipedia
Modeling language — A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the… … Wikipedia
Interface Control Document — In systems engineering [Wolter J. Fabrycky, Benjamin S. Blanchard, Systems Engineering and Analysis, Prentice Hall, 2005] and software engineering, an Interface Control Drawing (ICD) is a document that describes the interface(s) to a system or… … Wikipedia
Sketch based modeling — is a method of creating 3D models for use in 3D computer graphics applications. Sketch based modeling is differentiated from other types of 3D modeling by its interface instead of creating a 3D model by directly editing polygons, the user draws a … Wikipedia
Integrated Enterprise Modeling — The integrated enterprise modeling (IEM) is a business process modeling method developed at the Fraunhofer Institute for Production Systems and Design Technology (German: IPK) Berlin, Germany .The IEM is used for the admission and for the… … Wikipedia
Center for Modeling Immunity to Enteric Pathogens — The Center for Modeling Immunity to Enteric Pathogens (MIEP) is a National Institute of Allergy and Infectious Diseases (NIAID) funded program with an initial budget of $10.6 million directed by Dr. Bassaganya Riera (Principal Investigator… … Wikipedia
Solid modeling — The geometry in solid modeling is fully described in 3‑D space; objects can be viewed from any angle. Modeled and ray traced in Cobalt Solid modeling (or modelling) is a consistent set of principles for mathematical and computer modeling of three … Wikipedia
Domain-specific modeling — (DSM) is a software engineering methodology for designing and developing systems, such as computer software. It involves systematic use of a domain specific language (DSL) to represent the various facets of a system. DSM languages tend to support … Wikipedia