Application Domain and Software Labs
Peter W. Fach
RWG Stuttgart, Germany
The role of frameworks as a method for modern software development is continually increasing in importance. Essentially, design patterns are metaphors which describe behavior and structure of a single framework or the cooperation of several ones. Beside these features, which are highly estimated by software engineers, design patterns offer unique means to help application experts participate in the development process - a methodological step which definitely leads to more usable systems. These features as well as their potential to structure user interfaces will be discussed with the help of two types of design patterns which are used in the application system provided by the RWG for about 350 cooperative banks in southwestern Germany.
A very well-known design pattern which describes the interplay between objects of the application domain (e.g. account) and objects of the interaction domain (e.g. editor) refers to the Tools-Material-Metaphor. On the one hand this metaphor, i.e. that one works on materials by using tools, illustrates how two software objects refer to one another. For instance, an object 'account-editor' is especially tailored to work on an object 'account' so that users can pay in or pay out money, whilst the object 'account' is designed with the sole aim to reflect its counterpart in the application domain in the best possible way. Thus, all interaction is handled by tools (the 'MVC-paradigm'; e.g. Reenskaug 1996). On the other hand, this metaphor also serves the purpose of structuring the user interface. This means that users are offered tools which they consciously and selectively apply to materials represented as icons on the user interface. By this particular quality, users are enabled to precisely name occurring problems in terms of tools and/or materials used in their application domain, and software