Supporting Cooperative Work
Heinz Züllighoven, Guido Gryczan, Anita Krabbel, Ingrid Wetzel
Software Engineering Group, Computer Science Dept., University of Hamburg
[zuellighoven, gryczan, krabbel, wetzel]@informatik.uni-hamburg.de
Customer relations have become one of the central concerns of companies both in the manufacturing and the service sector. Software engineering thus should rethink its aims and methodologies. IT usage and software development have to be seen as means to an end which means providing professional users with useful and usable software so that the can offer adequate services to their customers. This way of looking at IT and software development is what we call application-orientation.
Application-orientation means that analysis, design and construction of software is firmly based on the tasks and the way of dealing with them in everyday work situations. Understanding the tasks at hand and the concepts behind them is the main challenge for software developers. Application software, therefore, should reflect and represent the core concepts and the familiar objects and means of work of the application area.
Building application-oriented software is a task that has to combine usage quality with work organisation. The ultimate goal of our so-called Tools & Materials approach, is to adequately support users in their tasks. But THE user as such is a fiction. Also, tasks are of very different nature. Complexity increases as users have to fulfil their tasks in different organisational settings.
This means that software developers have to cope with a design task in its original sense, creating artifacts with a suitable functionality and an adequate way of handling. Our guideline for this design task is what we call a leitmotif.
A leitmotif makes the way of looking at software explicit. It helps developers and users to understand and design a software system on a general level.
A leitmotif can be made tangible with the help of a set of design metaphors which solidify the general guidelines in a pictorial way.
A design metaphor describes a component of a software system by means of an artifact from the users' 'every-day' world. With the help of these metaphors it is possible for software developers and users to relate design and implementation