Design Principles for Interactive Software by Gilbert Cockton
IFIP's Working Group 2.7(13.4)* has, since its establishment in 1974, con centrated on the software problems of user interfaces. From its original interest in operating systems interfaces the group has gradually shifted em phasis towards the development of interactive systems. The group has orga nized a number of international working conferences on interactive software technology, the proceedings of which have contributed to the accumulated knowledge in the field. The current title of the Working Group is 'User Interface Engineering', with the aim of investigating the nature, concepts, and construction of user interfaces for software systems. The scope of work involved is: - to increase understanding of the development of interactive systems; - to provide a framework for reasoning about interactive systems; - to provide engineering models for their development. This report addresses all three aspects of the scope, as further described below. In 1986 the working group published a report (Beech, 1986) with an object-oriented reference model for describing the components of operating systems interfaces. The modelwas implementation oriented and built on an object concept and the notion of interaction as consisting of commands and responses. Through working with that model the group addressed a number of issues, such as multi-media and multi-modal interfaces, customizable in terfaces, and history logging. However, a conclusion was reached that many software design considerations and principles are independent of implemen tation models, but do depend on the nature of the interaction process.
Foreward Preface The context of interactive systems development Introduction Terminology The development process The development process: human roles Interactive software development environments Summary External properties: the user's perspective Introduction Goal and task completeness Interaction flexibility Interaction robustness Formal modelling of external properties Conclusions Internal properties: the software developer's perspective Introduction Internal properties Software properties Internal properties and software techniques External properties and software techniques Conclusions Software architecture models Introduction A framework for user interface software architectures Architecture and external properties Architecture and internal properties Conceptual architectural models Example architectures Assessing quality properties Conclusion Tools and materials Introduction Specification tools and materials Construction tools and materials Commercial tools Experiences at research and development sites Conclusions Example: interface for air traffic controllers Introduction The air traffic service A simplified ATC support system External properties Applying the PAC-Amodeus model Conclusions Predictable quality? Contributions Epilogue Glossary Summary tables References Index.