A good treatment of prototyping is:
Maude, T. I. (1991). Rapid Prototyping: The Management of Software
Risk, Pitman.
The statechart technique is introduced in:
Harel, D. (1987). Statecharts: a visual formalism for complex systems,
Science of Computer Programming, 8, pp. 231274.
This paper contains many references back to other state machine
approaches to specication, of which the most signicant is probably:
CCITT (International Telecommunication Union), Functional
Specication and Description Language (SDL), Recommendations
Z.101-Z.104, Vol VI, Fasc. VI.7, Geneva, 1981.
The dominant set of notations for software design is UML, which is
covered in many books. Perhaps the most prominent are:
Booch, G., Jacobson, I. and Rumbaugh, J. (1998). Unied Modeling
Language User Guide, Addison-Wesley.
Jacobson, I., Booch, G. and Rumbaugh, J. (1999). The Unied Software
Development Process, Addison-Wesley.
Rumbaugh, J., Jacobson, I. and Booch, G. (1999). Unied Modeling
Language Reference Manual, Addison-Wesley.
Their common authorship is no accident: Booch, Jacobson and
Rumbaugh are principal contributors to UML. For an independent
view, try:
Fowler, M. (2003). UML Distilled, 2nd edn, Addison-Wesley.
Earlier notations, some of which are predecessors to UML, and some
of which are alternatives, include:
Bohm, C. and Jacopini, G. (1966). Flow diagrams, Turing machines
and languages with only two formation rules, Communications of
the ACM, 9, pp. 366371.
Nassi, I. and Shneiderman, B. (1973). Flowchart techniques for
structured programming, ACM SIGPLAN Notices,8 (8), pp. 1226.
Jackson, M. A. (1975). Principles of Program Design, Academic
Press Inc.
DeMarco, T. (1978). Structured Analysis and System Specication,
Yourdon Press.
274 Software Design for Engineers and Scientists
recently used of its two stores (Store A, say). Simultaneously it
will start waiting for the start of a new video input frame,
then copy that frame into the other (more recently used) of its
two stores (Store B). Having signalled acceptance, your mod-
ule will assume that the other module immediately uses the
video frame in Store A, so that becomes the more recently
used store. The next request will be serviced from Store B.
11.12 Chapter end material
Shneiderman, B. (1982). Control ow and data structure
documentation, Communications of the ACM, 25, pp. 5563.
Cameron, J. R. (1983). JSP & JSD: The Jackson Approach to Software
Development, IEEE Computer Society.
Martin, J. and McClure, C. (1985). Diagramming Techniques for
Analysts and Programmers, Prentice-Hall.
Design of a ight reservation system through dataow diagrams as in
Figure 11.1 is explored as a case study in: Ince, D. (1991). Object-
Oriented Software Engineering, McGraw-Hill.
Researching possible solutions 275

Get Software Design for Engineers and Scientists now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.