Donk, Lindenberg, Neerincx, Pemberton CHI20001 Specification Techniques
Donk, Lindenberg, Neerincx, Pemberton CHI20002 Overview Introduction What specifications can and can’t do How and when to use specifications Specifications in the design process Different techniques, example Conclusions
Donk, Lindenberg, Neerincx, Pemberton CHI20003 Introduction specification means abstraction different specification techniques stress different features specifications can range from mock- up and natural language to formal methods
Donk, Lindenberg, Neerincx, Pemberton CHI20004 Benefits of specifications identification of system properties error and inconsistency detection specifications can establish communication between designers and programmers (formal) specifications can be used to create (interactive) prototypes
Donk, Lindenberg, Neerincx, Pemberton CHI20005 What specifications can’t do guarantee a system is perfect avoid miscommunication 7 myths and more
Donk, Lindenberg, Neerincx, Pemberton CHI20006 When to use specifications complex systems (e.g. multi-agent systems, multimodal systems) trustworthy systems (e.g. e-commerce) not for complete systems
Donk, Lindenberg, Neerincx, Pemberton CHI20007 Role of specifications in design process use formal specification linked to empirical methods for design and evaluation specification techniques can be used throughout the entire design process the design process used does not matter
Donk, Lindenberg, Neerincx, Pemberton CHI20008 Empirical Design Methods & Formal methods Empirical methods (like usability engineering or the prototyping approach) have much attention for the user’s needs. Specification techniques add attention for the system’s behaviour in critical situations (see benefits)
Donk, Lindenberg, Neerincx, Pemberton CHI20009 Usability Engineering empirical summative analysis design empirical formative analytical formative Assessment Specification implemen- tation flow of spec/assesstask/processflow of iteration
Donk, Lindenberg, Neerincx, Pemberton CHI Prototyping approach (Pressman, 1997) requirements quick design prototype evaluation & refinement implementation
Donk, Lindenberg, Neerincx, Pemberton CHI Which Specification Technique? GOMS GTA Z CSP ...
Donk, Lindenberg, Neerincx, Pemberton CHI Different Techniques (I) Goals, Operators, Methods and Selection (GOMS). Hierarchical description of the user’s goals and tasks Groupware Task Analysis (GTA). Task modeling in environments where many people interact with a system
Donk, Lindenberg, Neerincx, Pemberton CHI Different Techniques (II) Z. Mathematical description of entities and their relations. Best fitted for the description of static properties of systems CSP. Algebraic description of interacting, dynamic processes.
Donk, Lindenberg, Neerincx, Pemberton CHI Example game to play slide puzzles specified by using natural language and CSP-alike
Donk, Lindenberg, Neerincx, Pemberton CHI Which Specification Technique the use of the specification in the design process determines the choice of technique use combinations (e.g. Z or CSP combined with natural language)
Donk, Lindenberg, Neerincx, Pemberton CHI Accessibility of Specification Techniques the more formal/mathematical the specification technique the steeper the learning curve: readability. Especially specification in for example Z can scare people of. easy to write?
Donk, Lindenberg, Neerincx, Pemberton CHI Conclusions use formal methods complementary to empirical design methods use formal methods for critical parts, i.e. parts that: either must function properly, or are likely to give trouble the right technique at the right spot