Extending Support for User Interface Design in Object-Oriented Software Engineering Methods
Elizabeth Kemp and Chris Phillips
Institute of Information Sciences and Technology
Massey University
Turitea Site
Palmerston North
New Zealand
ABSTRACT
The focus of this research is on extending support for the design of graphical user interfaces (GUIs) in established object-oriented software engineering methods (OOSEMs). Through an examination of currenttexts, a framework for GUI development is established, and some well known OOSEMs are reviewed in order to determine what support is provided for user interface design. General recommendations are made for the extension of OOSEMs to better support interface design.
KEYWORDS
graphical user interface design, software engineering, object-oriented methods.
A GENERAL FRAMEWORK
Object-oriented software engineering methods (OOSEMs) are well established, although still evolving. The focus of this research is on extending support for the design of graphical user interfaces in established OOSEMs. Two published object-oriented approaches to developing GUIs have been reviewedand compared (Collins, 1995; Lee, 1993),anda general framework established:
System development should commence with the construction of an object model which is domain or application-focussed, and which is independent of the visible interface. This should be based on an analysis of users and tasks.
Development should proceed from the construction of the domain object model, through the design of the visible interface (the look and feel), to the construction of the implementation system involving the GUI and software sub-systems. That is, the design of a software system with a GUI should proceed from the 'outside in'.
The development process should exploit synergies between object representations in all parts of the system, in particular, the implementation object structures (both the GUI and software sub-systems) should reflect the object structures of both the problem domain and the visible interface. A software architecture founded on dialogue independence is most appropriate for GUI-based software systems. This should be applied at both the design and implementation phases. Prototyping and evaluation should be used as a means of validating the models constructed at each stage.
REVIEW OF OOSEMS AND USER INTERFACE DESIGN
Four well established OOSEMs (Booch, 1994; Jacobson et al, 1992; Rumbaugh et al, 1991; Coad & Yourdon, 1991) have been reviewed in the light of this framework, and compared. The first three are currently undergoing a process of amalgamation through the Unified Modelling Language (UML) initiative(Fowler, 1997). Detail of this is still emerging, and it is unclear at this stage whether the method associated with the UML (which is essentially a collection of notations) will provide greater support for GUI design. The focus here is on current practice. Table 1 summarises the four methods in relation to support for interface design. The comparison of the four approaches is instructive, the treatment of HCI being somewhat uneven.
RECOMMENDATIONS FOR EXTENSIONS TO ESTABLISHED OOSEMS Based upon the above analysis, and the earlier framework established for GUI development, the following general recommendations can be made for extending support for user interface design in established OOSEMs:
That more complete integration should be provided for the o bject models developed at each stage. It should be possible to track objects through the development lifecycle.
That better support should be provided in OOSEMs for the design of the look and feel of the GUI, including the selection of metaphor.
That more suitable notations should be developed for describing the control and sequencing of GUIs, including screen flow. State-based models are not really suited to describing the asynchronous and object-oriented nature of GUIs.
That GUIdevelopment tools (prototyping tools, GUI builders) should be better integrated into OOSEMs. More control is needed at the implementation stage in connection with the consistency of the GUI and software sub-systems. In particular, GUI tools should connect with the software object model.
That a common architecture based on dialogue independence should be adopted at the design and implementation phases.
That more suitable notations should be developed for describing the control and sequencing of GUIs, including screen flow. State-based models are not really suited to describing the asynchronous and object-oriented nature of GUIs.
That GUIdevelopment tools (prototyping tools, GUI builders) should be better integrated into OOSEMs. More control is needed at the implementation stage in connection with the consistency of the GUI and software sub-systems. In particular, GUI tools should connect with the software object model.
That a common architecture based on dialogue independence should be adopted at the design and implementation phases.

Table 1: Summary of the four methods in relation to support for interface design REFERENCES
Booch, G. (1994), Object-Oriented Analysis and Design. Menlo park, Calif: Benjamin/Cummings. Coad, P. and Yourdon, E. (1991), Object-Oriented Analysis. Englewood Cliffs, New Jersey: Yourdon
Press.
Collins, D. (1995), Designing Object-Oriented User Interfaces, Redwood City, Benjamin/Cummings
Publishing Company.
Fowler, M. (1997): UML Distilled: Applying the Standard Object Modelling language, Reading, MA,
Addison-Wesley.
Jacobsen, I. Christerson, M., Jonsson, P., and Overgaard, G. (1992), Object-Oriented Software
Engineering: A Use Case Driven Approach. Reading, MA: Addison-Wesley. Lee, G. (1993), Object-Oriented GUI Application Development, Eaglewood Cliffs, NJ, Prentice Hall. Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F. and Lorensen, W. (1991),Object-Oriented
Modeling and Design. Englewood Cliffs, NJ, Prentice Hall.
