‘Design models’ from software design methods

Abstract Much of the difficulty underlying the development of large software-based systems arises from the complex and abstract nature of software itself, and nowhere is this more evident than in the problems encountered in seeking to establish systematic procedures for designing software. This paper first examines the properties of software and the design practices that are involved in its development, considering in particular how software design methods seek to systemize these. We then introduce the use of what we have termed the D-matrix as a means of describing ‘software design models’, and employ this to explore the forms of the models that are developed by following the procedures of a number of well-established software design methods. We conclude by reviewing these models and considering the factors that limit the practices that can be used in such methods, as well as the extent to which the more recently developed design methods can minimize their effects.

[1]  B. Adelson,et al.  The Role of Domain Expenence in Software Design , 1985, IEEE Transactions on Software Engineering.

[2]  Jean-Michel Hoc,et al.  Psychology of programming , 1990 .

[3]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[4]  Simon P. Davies,et al.  Contextualizing design: narratives and rationalization in empirical studies of software design , 1992 .

[5]  Nigel Cross,et al.  Developments in design methodology , 1984 .

[6]  Alistair Sutcliffe,et al.  Jackson System Development , 1988 .

[7]  James Martin,et al.  Object-oriented analysis and design , 1992 .

[8]  Glenford J. Myers,et al.  Structured Design , 1974, IBM Syst. J..

[9]  Meilir Page-Jones,et al.  The practical guide to structured systems design , 1980 .

[10]  Colin Potts,et al.  Recording the reasons for design decisions , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[11]  Chris Dollin,et al.  Object-oriented development: the fusion method , 1994 .

[12]  Alan Snyder,et al.  The essence of objects: concepts and terms , 1993, IEEE Software.

[13]  David Budgen,et al.  Software design , 2020, International computer science series.

[14]  M. M. Lehman,et al.  Another look at software design methodology , 1984, SOEN.

[15]  Peter J. Robinson Hierarchical object-oriented design , 1992 .

[16]  John R. Cameron JSP and JSD - the Jackson approach to software development (2. ed.) , 1989 .

[17]  Willemien Visser,et al.  Expert Software Design Strategies , 1990 .

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

[19]  Barbara Hayes-Roth,et al.  A Cognitive Model of Planning , 1979, Cogn. Sci..

[20]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.

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

[22]  David Lorge Parnas,et al.  A rational design process: How and why to fake it , 1986, IEEE Transactions on Software Engineering.

[23]  Grady Booch Object-oriented design , 1982, ALET.

[24]  Iris Vessey,et al.  Requirements specification: learning object, process, and data methodologies , 1994, CACM.