Home      Log In      Contacts      FAQs      INSTICC Portal


The role of the tutorials is to provide a platform for a more intensive scientific exchange amongst researchers interested in a particular topic and as a meeting point for the community. Tutorials complement the depth-oriented technical sessions by providing participants with broad overviews of emerging fields. A tutorial can be scheduled for 1.5 or 3 hours.


How to Combine Requirements and Interaction Design


Hermann Kaindl
TU Wien
Brief Bio
Hermann Kaindl joined the Vienna University of Technology in early 2003 as a full professor. In the same year, he was elected as a member of the University Senate. Prior to moving to academia, he was a senior consultant with the division of program and systems engineering at Siemens AG Austria. There he has gained more than 24 years of industrial experience in software development. His current research interests include software and systems engineering focusing on requirements engineering and architecting, and human-computer interaction as it relates to interaction design and automated generation of user interfaces. He has published 5 books and more than 240 refereed papers in journals, books and conference proceedings. He is a Senior Member of the IEEE, a Distinguished Scientist member of the ACM, and he is on the executive board of the Austrian Society for Artificial Intelligence.

When the requirements and the interaction design for the user interface of a system are separated, they will most likely not fit together, and the resulting system will be less than optimal. Even if all the real needs are covered in the requirements and also implemented, errors may be induced by human-computer interaction through a bad interaction design and its resulting user interface. Such a system may even not be used at all. Alternatively, a great user interface of a system with features that are not required will not be very useful as well. This tutorial explains joint modeling of (communicative) interaction design and requirements (scenarios and use cases), through discourse models and domain-of-discourse models as developed by this proposer and his team. (They will also be briefly contrasted with the task-based modeling approach CTT.) While these models were originally devised for capturing interaction design only, it turned out that they can be also viewed as precisely and comprehensively specifying classes of scenarios, i.e., use cases. In this sense, they can also be utilized for specifying requirements. User interfaces for these software systems can be generated semi-automatically from our discourse models, domain-of-discourse models and specifications of the requirements. This is especially useful when user interfaces tailored for different devices are needed. So, interaction design facilitates requirements engineering to make applications both more useful and usable.


Requirements, interaction design, user interfaces, scenarios, use cases

Aims and Learning Objectives

In order to improve the development of useful and usable software systems, participants will learn about an approach to precisely specify requirements (scenarios, use cases) in terms of interaction design. As a positive ‘side-effect’, supporting user interfaces can be generated semi-automatically.
Many software systems are used now in practice by end-users through the Web using multiple devices and need not only to be useful but also usable. So, they have to conform to requirements and to provide appropriate user interfaces tailored for the device used. The tool-supported approach to be presented in this proposed tutorial is unique in combining these two important aspects.

Target Audience

This tutorial is targeted towards people who are supposed to work on the requirements or the interaction design, e.g., requirements engineers, interaction designers, user interface developers, or project managers. It will be of interest for teachers and students as well.
The value for the attendees is primarily improved understanding of a potential separation of requirements engineering and interaction design, and how it can be overcome by combining them to make business applications both more useful and usable.
According to previous experience, this tutorial can be given successfully for 5 to 20 people attending.

Prerequisite Knowledge of Audience

Only basic understanding of requirements and user interfaces is required, since there will be a presentation of relevant background material at the beginning.

Detailed Outline

1. Introduction 5min
1.1 Brief introduction of the tutor
1.2 Brief introduction of the participants
1.3 Motivation and overview
2. Background 15min
2.1 Requirements
2.2 Object-oriented modeling features and their UML representation
2.3 Scenarios / Use Cases
2.4 Interaction design
2.5 Ontologies
2.6 Speech acts
3. Functions / tasks, goals and scenarios / use cases 30min
3.1 Relation between scenarios and functions / tasks
3.2 Relation between goals and scenarios
3.3 Composition of these relations
3.4 A systematic design process based on these relations
3.5 Exercise
4. Requirements and object-oriented models 25min
4.1 Metamodel in UML
4.2 Requirements and objects
4.3 Exercise
5. Interaction design based on scenarios and discourse modeling 35min
5.1 Interaction Tasks derived from scenarios
5.2 Communicative Acts
5.3 Adjacency Pair
5.4 Rhetorical Structure Theory (RST) relations
5.5 Procedural constructs
5.6 Conceptual Discourse Metamodel
5.7 Duality with Task-based modeling
6. Use case specification 20min
6.1 Use case diagram
6.2 Use case report (RUP)
6.3 Sketch of flow of events through scenarios
6.4 Business process — Business Use Case
6.5 Specification based on discourse modeling
7. Exercises 25min
7.1 Try to understand the model sketch of a discourse
7.2 Try to model a discourse yourself
8. Sketch of automated user-interface generation 20min
8.1 Process of user-interface generation
8.2 Examples of generated user interfaces
8.3 Unified Communication Platform
9. Summary and conclusion 5min

Secretariat Contacts
e-mail: enase.secretariat@insticc.org