CS617: Interactive System Design Methods
| Level: | Advanced MSc |
| Credit Rating: | 15 credits (7.5 ECTS) |
| Degrees: | ACS (possibly others, if qualified) |
| Pre-requisites: | Programme prerequisites only |
| Pre-course work: | 60 hours: See below |
| Taught week: | Lectures, discussions, exercises, and workshops. |
| This is usually longer Mon-Fri, and includes part | |
| of the weekends. Make sure you are available for | |
| the full period of the interactive group teaching. | |
| Post-course work: | None (see below) |
| Assessment: | 100% coursework |
| Lecturer: | Dr Mark van Harmelen, |
| mailto: markvanharmelen@yahoo.com |
Introduction
Attend this module if you want to learn about
- 1)
- modern approaches to the design of the scope, content, functionality and user interfaces to interactive systems, and
- 2)
- the theory of interactive system design methods, particularly those in the field of object-oriented human-computer interaction (oohci) design.
The module is devoted to the design of interactive systems which are modelled with the Unified Modeling Language (UML), but where the design is informed by human-computer interaction (HCI) design methods. The module is concerned with software design methods for the early stages of the system development life cycle; when the overall system scope, contents, and functionality are designed. Conventional methods neglect system usability; the oohci methods advocated in this course attend to the usability of systems by, typically, by both users and technical design staff in a participatory design team that designs a system and its interface according to task-based requirements. The team uses informal task and object modelling to record the developing design. The informal notation, understandable by all the designers, can be translated into a more structured form like UML. A significant part of the course is devoted to gaining practical experience in using participatory design methods. Other parts of the course are concerned with understanding the spectrum of oohci methods available and to improve and customise methods for particular circumstances by selection of different design techniques
This course is based on recent methods research in integrating object modelling methods with HCI design methods.
The course runs eight days, Sunday through to the subsequent Sunday. By the time the course is finished all work for the course will have been performed, having been divided into some 60 hours pre-course work, and 60 hours course work and continuous assessment.
The method of instruction is one that combines background reading, discussion, and hands-on practical application of design methods. The latter provides experiential learning in the application of oohci design methods.
The practical section of the course consists of an interactive system design problem that lasts for the duration of the course. The solution of the design example is performed by students in class using a method that combines participatory design by stakeholders together with task and object-oriented description techniques to record the developing design. By the end of the course students will complete an analysis-level object-oriented description of an interactive system and have developed a user interface for the system in a single integrated design process.
Aims
The module aims to introduce students to effective methods for interactive system design.
Learning Outcomes
A student completing this course unit should:
- 1)
- Have knowledge and understanding of the principles of interactive system design, particularly those within the oochi design tradition. (A)
- 2)
- Understand how to perform, and have experience in performing, interactive system design using a participatory oohci design method. (B2,B3,C1,C3,C4,D)
- 3)
- Have at least a reading knowledge of the Unified Modeling Language, if not the ability to write analysis level system descriptions in UML. (A2)
- 4)
- Understand what constitutes an oohci method, and have the ability to design their own oohci method. (A,B2)
Assessment of learning outcomes
Learning outcomes are assessed using two in-course techniques: (a) group exercises, (b) continuous-assessment tests.
Contribution to programme learning
This course unit contributes to the following programme outcomes: A1, A2, B2, B3, C1, C3, C4, D1, D4, and D5.
Reading list and supporting material
Reading material for the course is provided as a pre-printed pack.
UML Slides
van Harmelen, M. Object Modelling with UML for OOHCI use. Slides. 2002.
There is sufficient UML for you to be able to produce analysis level designs. If you don't know it, teach yourself UML from these slides.
HCI design slides
van Harmelen, M. Designing Graphical User Interfaces. Slides.
These slides provide enough knowledge for you to do traditional user interface design. The slides are from an old commercial course, but are relevant as introductory material which will be assumed as known in the course. Don't worry too much about the Windows specific detail where it occurs, except as a common illustration.
There is sufficient UML for you to be able to produce analysis level designs. If you don't know it, teach yourself UML from these slides.
Basics of HCI methods
Start by reading van Harmelen [2001, 10.2 and its subsections].
Invent some kind of chart or list where you can cross reference ideas which crop up in all readings in this subsection.
Norman, D.A. Cognitive Engineering. Norman DA and Draper SW (Eds). User Centered System Design, 1986.
This introduces you to the idea of Cognitive Engineering, where HCI designers use cognitive models as an aid to system design. The Chapter includes some ideas from cognitive psychology as to how users interact with computers. At the end of the paper Norman introduces User Centered Design (UCD). Cognitive Engineering and UCD are central to the course and underpin all hci and oohci methods, including that of the Bridge, used in the course. The book from which the chapter is drawn was broadly influential in the HCI field.
Karat, J. Evolving the Scope of User-Centered Design. Communications of the ACM. 40(1). July 1997.
An update on the loose HCI definition of UCD, building on Norman [2001]. Note how Karat defines UCD as an engineering technique to counter arguments that user need should not totally determine system design. This is a readable article that should be fully digested.
Landauer, T.K. User Centered Design Methods. Chapter from Landauer, TK, The Trouble With Computers, 1995.
This chapter plunges you into a discussion of UCD methods and their components. Skip what you find difficult. GOMS is not worth considering, as Bannon [1991, p37] notes "The practical utility of such low-level calculation models in actual design has been the subject of some debate."
Bannon, L. From Human Factors to Human Actors: The Role of Psychology and Human-Computer Interaction Studies in System Design. Chapter from Greenbaum, J., and Kyng, M. (Eds) Design at Work: Cooperative Design of Computer Systems, 1991.
Another chapter that plunges you into issues surrounding design. Again a reading that plunges you into different topics pertaining to interactive design; skip what you find difficult, but those comfortable with the material will gain from it. Two important themes are emphasised here, users as actors (somewhat different, but related, to a UML 'actor'), and participatory design. You should definitely read about these two.
Design techniques and methods
A method (often inaccurately called a 'methodology') describes how to design something. It consists of design techniques (e.g. task analysis, object modelling) and notations for recording and communicating a design. A method to one person (e.g task modelling to a task analyst) may actually be a design technique in a larger method. Methodology is what we are do to some extent in this course, the examination, evaluation and improvement of methods, and invention of new methods. The readings are diverse and try to cover just a few techniques and methods.
van Harmelen [2001] provides broad discussions of HCI and oohci design techniques and methods. When you read it list the design techniques that you encounter.
Kensing, F. and Madsen, K.H. Generating Visions: Future Workshops and Metaphorical Design, chapter from Greenbaum, J, and Kyng, M, (Eds), Design at Work: Cooperative Design of Computer Systems, 1991.
Included for you to browse (rather than read in depth) and start to perceive just how diverse design techniques are. This is a brain storming type of technique. Try to apply it to the design of some system that you have encountered.
Monk, A. and Howard, S. The Rich Picture: A Tool for Reasoning About Work Context. Interactions. March April 1998.
Muller, M.J. PICTIVE - An exploration in Participatory Design, Proc CHI 92, ACM, 1992. You will have read about participatory design by now in Bannon [1991]; PICTIVE is an early participatory design technique. The eading describes the participatory construction of prototypes using paper and other low-tech materials. Don't imagine that using the video recording technique is necessarily good, accessing video is notoriously time consuming. Skip any difficult bits at the end of the paper.
Muller, M.J. Retrospective on a year of Participatory Design using the PICTIVE Technique, Proc CHI’93, ACM, 1993.
Experience of using PICTIVE, including feedback about what is good and bad.
Rudd, J., Stern, K. and Isensee, S., Low vs. High-Fidelity Prototyping Debate, Interactions, ACM, Jan 1996.
Its hard to put any particular prototyping (a design technique) paper in the reading, there are many such papers. This one contrasts and compares two different styles of prototyping.
Dayton, T., McFarland, A, Kramer, J. Bridging User Needs to OO Gui Prototype via Task Object Design, in Wood, L (Ed)
A participatory oohci method is described here. This paper is long, but you must make time to read it, because you will be using a modified form of the Bridge in class. Note in reading this that a 'task object' simply means an 'object' that the user uses in the execution of a task. Note that by concentrating first on tasks and task flows the functionality and scope of the system are defined. By then extracting objects from the task flows the contents of the interactive system can be determined. Finally a user interface is designed for the system from the task flows and objects identified earlier. Iterative design, formative evaluation of paper prototypes in different kinds of usability test are important component of this method and results in a validated design. See van Harmelen [2001] for a discussion of these techniques. Thee is a set of pdf slides produced by a previous student at www.oohci.org accessible via the Bridge page, these may help structure your reading of this paper.
Performing the bridge provides a work context for participatory designers in design sessions. As part of your pre-course work, you are asked below to try to provide four rich pictures describing the Bridge.
Evaluation techniques
The evaluation technique used in this course is formative evaluation of paper proptypes. The readings here give some idea of different techniques.
Newman, WM, and Lamming, MG. 8.5 Analysis by Cognitive Walkthrough. 8.6 Heuristic Evaluation. 14.5 Walkthrough Analysis, Design Problems. in Newman, WM, and Lamming, MG, Interactive System Design, 1995.
Some evaluation techniques.
Wright, P., and Monk, A. A cost-effective evaluation method for use by designers. Int. J. Man-Machine Studies, 35(6), 1991, 891-912.
Keen students find and read this.
Object modelling and human-computer interaction (oohci) design
van Harmelen, M., Designing with oo&hci Methods. Summary chapter from van Harmelen, M, (Ed), Object Modeling and User Interface Design: Designing Interactive Systems. 2001.
Back to design philosophies (UCD, Cognitive Engineering), design techniques and methods. This time integrating the fields of HCI and object modelling in oohci methods, the subject of this course. Oohci methods are called oo&hci methods in this chapter. If you find the UML hard at the end of the chapter but have read the rest of it don't worry too much. However you will gain most by reading the class diagrams.
Participatory practice
Muller, MJ, Haslwanter, JH, and Dayton, T. Participatory Practices in the Software Lifecycle. In Hellander MG, Landauer, TK, and Prabhu, PV, (Eds), Handbook of Human-Computer Interaction, 2nd Ed, 1997.
Read 11.1 through 11.5. This picks up and discusses participatory themes that run through much of the reading.
Special resources needed to complete the module
None.
Detailed syllabus
Introductory topics
Overview of the interactive system development lifecycle and its requirements. Methods and methodology.
Essential UML notation for high-level system specification purposes, including object, class, use case, sequence, and collaboration diagrams.
Responses to the development lifecycle by the software engineering and human-computer engineering communities. Why traditional object-oriented design methods fail to adequately address interactive system design.
Human-computer interaction and interaction design.
Basics of object-oriented human computer interaction (oohci) design methods.
Participatory design
Some Participatory Design (PD) methods. Factors contributing to successful PD. Facilitation, Brainstorming, Rich Pictures.An example oohci method
The Bridge; what each stage of the method does. Use of a modified form of the bridge.
A formal treatment of oohci methods
The final day of the course is devoted to: Assessing the practical techniques used and discussing further method development. Necessary and optional components of oohci methods. Situating the Bridge in a UML description of oohci methods. Process issues. Designing oohci methods to suit project or organisational needs.
Pre-course work
Read the pre-course reading as printed and distributed by the School (collect from room 2.10).
Familiarise yourself with web-based resources: Examine www.oohci.org and www.primaryview.org. Search more broadly for information on participatory design, facilitation and related matters as apparent from the pre-course reading and your own web-based research. Keep a record of interesting information that you find, this is potentially a contributor to your course marks.
This is a time breakdown of what you should do during 60 hours pre-course work:
- 20 hrs:
- Read, practice and learn object modelling using UML notes
- 28 hrs:
- Read supplied reading pack (see above).
- 4 hrs:
- Draw a rich picture that describes use of The Bridge. Then draw three rich pictures, one for each stage of The Bridge. Rich Pictures are described in the reading pack.
- 8 hrs:
- Spread over the pre-course work time period: research the web, noting interesting resources for cs617.
The last two items should be handed in at the very start of the course.
Pre-course reading is the topic of the first continuous assessment test.
Post-course work
Thanks to the longer and more intensive nature of the course, there is no post-course commitment, i.e., there is neither a post-course project nor an exam.