The structure of software development thought

Software developers have long aspired to a place among the ranks of respected engineers. But even when they have focused consciously on that aspiration [15; 3] they have made surprisingly little effort to understand the reality and practices of the established engineering branches. One notable difference between software engineering and physical engineering is that physical engineers pay more attention to their products and less to the processes and methods of their trade. Physical engineering has evolved into a collection of specialisations–electrical power engineering, aeronautical engineering, chemical engineering, civil engineering, automobile engineering, and several others. Within each specialisation the practitioners are chiefly engaged in normal design [18]. In the practice of normal design, the engineer

[1]  Walter G. Vincenti,et al.  What Engineers Know and How They Know It: Analytical Studies from Aeronautical History. , 1992 .

[2]  Cliff B. Jones,et al.  Specification and Design of (Parallel) Programs , 1983, IFIP Congress.

[3]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture , 1996 .

[4]  Christopher G. Lasater,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[5]  G. F. C. Rogers,et al.  The Nature of Engineering , 1983 .

[6]  Martin Fowler,et al.  Analysis patterns - reusable object models , 1996, Addison-Wesley series in object-oriented software engineering.

[7]  Bashar Nuseibeh,et al.  Composing requirements using problem frames , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[8]  Cliff B. Jones,et al.  Developing methods for computer programs including a notion of interference , 1981 .

[9]  Michael Jackson,et al.  Problem frame semantics for software development , 2005, Software & Systems Modeling.

[10]  Brian Randell,et al.  Software engineering : report on a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7th to 11th October 1968 , 1969 .

[11]  Michael Jackson,et al.  Why software writing is difficult and will remain so , 2003, Inf. Process. Lett..

[12]  Cliff B. Jones,et al.  Determining the Specification of a Control System from That of Its Environment , 2003, FME.

[13]  G. Rogers,et al.  The Nature of Engineering: A Philosophy of Technology , 1983 .

[14]  Manfred Broy,et al.  Specification and Development of Interactive Systems , 2001, Monographs in Computer Science.

[15]  Matthys Levy,et al.  Why Buildings Fall Down: How Structures Fail , 1994 .

[16]  Ian J. Hayes,et al.  Using Continuous Real Functions to Model Timed Histories , 1991 .