A process model for interactive systems

Designing user interfaces and designing computational software are very different processes. The differences lead to late discovery of design conflicts, which drives up development costs. A unifying methodology that could provide early discovery and resolution of design conflicts must account for the governing principles of both processes. Disciplined long-term investigation of candidate methodologies requires that these governing principles be fixed and that evolving development methods comprising each process be accommodated. This article describes an application of general systems theory to integrate these principles, proposes a process model that fixes them as explicit elements of a process program, argues the feasibility of the model and its worthiness for further study, and describes its initial implementation.

[1]  Ewart R. Carson,et al.  Dealing with complexity: an introduction to the theory & applications of systemsscience , 1988 .

[2]  David Gries,et al.  Specification and Transformation of Programs: A Formal Approach to Software Development , 1990 .

[3]  H. Penny Nii,et al.  Blackboard Systems, Part One: The Blackboard Model of Problem Solving and the Evolution of Blackboard Architectures , 1986, AI Mag..

[4]  W. W. Royce,et al.  Managing the development of large software systems: concepts and techniques , 1987, ICSE '87.

[5]  Victor R. Basili,et al.  Iterative enhancement: A practical technique for software development , 1975, IEEE Transactions on Software Engineering.

[6]  William Stallings,et al.  Local networks , 1984, CSUR.

[7]  Leonard J. Bass,et al.  Developing software for the user interface , 1991, The SEI series in software engineering / Software Engineering Institute.

[8]  Timothy W. Finin,et al.  Enabling Technology for Knowledge Sharing , 1991, AI Mag..

[9]  Richard E. Fairley,et al.  Software engineering concepts , 1985, McGraw-Hill series in software engineering and technology.

[10]  John Cocke,et al.  A methodology for the real world , 1981 .

[11]  Walt Scacchi Understanding Software Productivity: towards a Knowledge-Based Approach , 1991, Int. J. Softw. Eng. Knowl. Eng..

[12]  James A. Hendler,et al.  AI Planning: Systems and Techniques , 1990, AI Mag..

[13]  W. David Hurley Integrating User Interface Development and Modern Software Development , 1992, Int. J. Softw. Eng. Knowl. Eng..

[14]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[15]  Hartmut Ehrig,et al.  Specification of modular systems , 1986, IEEE Transactions on Software Engineering.

[16]  Anthony Finkelstein "Not Waving But Drowning": Representation Schemes For Modelling Software Development , 1989, 11th International Conference on Software Engineering.

[17]  Luqi Knowledge-based support for rapid software prototyping , 1988, IEEE Expert.

[18]  Martin L. Kersten,et al.  Developing interactive information systems with the User Software Engineering methodology , 1986, IEEE Transactions on Software Engineering.

[19]  Robert Balzer,et al.  On the inevitable intertwining of specification and implementation , 1982, CACM.

[20]  Raymond T. Yeh System Development as a Wicked Problem , 1991, Int. J. Softw. Eng. Knowl. Eng..

[21]  Frank P. Coyle,et al.  Aaai '90 , 1990, IEEE Expert.

[22]  R. Guindon,et al.  Control of cognitive processes during software design: what tools are needed? , 1988, CHI '88.

[23]  Nikolaos G. Bourbakis,et al.  The Organizational Impact of Integrating Multiple Tools , 1991, Int. J. Softw. Eng. Knowl. Eng..

[24]  Martin S. Feather,et al.  Language support for the specification and development of composite systems , 1987, TOPL.

[25]  William D. Hurley A method for predicting the impact of user interface design on software design , 1993, J. Syst. Softw..

[26]  A.-J. Berre COOP-an object oriented framework for systems integration , 1992, Proceedings of the Second International Conference on Systems Integration.

[27]  Mary Lou Maher,et al.  Process Models for Design Synthesis , 1990, AI Mag..

[28]  Barry W. Boehm,et al.  Seven basic principles of software engineering , 1983, J. Syst. Softw..

[29]  Donald D. Cowan,et al.  Interfaces as specifications in the MIDAS user interface development systems , 1990, SOEN.

[30]  Deborah Hix,et al.  Human-computer interface development: concepts and systems for its management , 1989, CSUR.

[31]  Ernest Edmonds,et al.  The Separable user interface , 1992 .

[32]  Antonio C. Siochi,et al.  The UAN: a user-oriented representation for direct manipulation interface designs , 1990, TOIS.

[33]  Hassan Gomaa,et al.  Prototyping as a tool in the specification of user requirements , 1981, ICSE '81.

[34]  Rex Harton User-Interface Management Control and Communication , 1989, IEEE Softw..

[35]  Dewayne E. Perry Problems of scale and process models , 1988, ISPW '88.

[36]  Srdjan Kovacevic,et al.  UIDE—an intelligent user interface design environment , 1991 .

[37]  R. J. A. Buhr,et al.  Practical visual techniques in system design: with applications to Ada , 1990 .

[38]  Scott Myers Difficulties in Integrating Multiview Development Systems , 1991, IEEE Softw..

[39]  B. Curtis Three Problems Overcome With Behavioral Models Of The Software Development Process , 1989, 11th International Conference on Software Engineering.

[40]  M. Gregory James,et al.  PRODUSER: PROcess for developing USER interfaces , 1991 .

[41]  Alfs Berztiss Formal specification methods and visualization , 1990 .

[42]  Ewart R. Carson,et al.  Dealing with Complexity , 1988, Springer US.

[43]  J. F. Traub,et al.  Scaling Up: A Research Agenda for Software Engineering , 1989 .

[44]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[45]  H. P Nii,et al.  Blackboard Systems , 1986 .

[46]  Penny Nii,et al.  Blackboard systems part two: Blackboard application systems , 1986 .

[47]  H. Rex Hartson,et al.  Toward Empirically Derived Methodologies and Tools for Human-Computer Interface Development , 1989, Int. J. Man Mach. Stud..

[48]  Donald A. Norman,et al.  Software Engineering for User Interfaces , 1984, IEEE Transactions on Software Engineering.

[49]  David M. Steier Creating a scientific community at the interface between engineering design and AI: a workshop report , 1992 .

[50]  Luqi The Role of Prototyping Languages in Case , 1991, Int. J. Softw. Eng. Knowl. Eng..