Hostname: page-component-cd9895bd7-jn8rn Total loading time: 0 Render date: 2024-12-26T21:40:27.197Z Has data issue: false hasContentIssue false

An ontologically-based evaluation of software design methods

Published online by Cambridge University Press:  01 March 2009

Udo Kannengiesser
Affiliation:
NICTA, 13 Garden Street, Eveleigh NSW 2015, Australia; e-mail: [email protected] School of Computer Science and Engineering, University of New South Wales, Sydney, Australia; e-mail: [email protected]
Liming Zhu
Affiliation:
NICTA, 13 Garden Street, Eveleigh NSW 2015, Australia; e-mail: [email protected] School of Computer Science and Engineering, University of New South Wales, Sydney, Australia; e-mail: [email protected]

Abstract

This paper develops an ontological basis for evaluating software design methods, based on the situated function–behaviour–structure framework. This framework accounts for the situatedness of designing, viewing it as a dynamic activity driven by interactions between designers and the artefacts being designed. On the basis of this framework, we derive a general evaluation schema that we apply to five software design methods. The ideas presented in this work contribute to a better understanding of design methods, and uncover opportunities for method integration and development.

Type
Article
Copyright
Copyright © Cambridge University Press 2009

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

America, P., Rommes, E.Obbink, H. 2004. Multi-view variation modeling for scenario analysis. In Workshop on Product Family Engineering (PFE-5), van der Linden, F. (ed.). Springer, 4465.CrossRefGoogle Scholar
Asimov, M. 1962. Introduction to Design. Prentice-Hall.Google Scholar
Bachmann, F., Bass, L.Klein, M. 2003. Deriving Architectural Tactics: A Step toward Methodical Architectural Design. Technical report, CMU/SEI-TR-2003-004. Software Engineering Institute, Carnegie Mellon University.CrossRefGoogle Scholar
Bartlett, F. C. 1932 (reprinted in 1977). Remembering: A Study in Experimental and Social Psychology. Cambridge University Press.Google Scholar
Bickhard, M. H.Campbell, R. L. 1996. Topologies of learning. New Ideas in Psychology 14(2), 111156.CrossRefGoogle Scholar
Clancey, W. J. 1997. Situated Cognition: On Human Knowledge and Computer Representations. Cambridge University Press.Google Scholar
Dewey, J. 1896 (reprinted in 1981). The reflex arc concept in psychology. Psychological Review 3, 357370.CrossRefGoogle Scholar
Edwards, S. H. 2004. Using software testing to move students from trial-and-error to reflection-in-action. ACM SIGCSE Bulletin 36(1), 2630.CrossRefGoogle Scholar
Falessi, D., Cantone, G.Kruchten, P. 2007. Do architecture design methods meet architects’ needs? In Working IEEE/IFIP Conference on Software Architecture (WICSA’07). Mumbai, India, unnumbered.CrossRefGoogle Scholar
Gero, J. S. 1990. Design prototypes: a knowledge representation schema for design. AI Magazine 11(4), 2636.Google Scholar
Gero, J. S.Kannengiesser, U. 2004. The situated function–behaviour–structure framework. Design Studies 25(4), 373391.CrossRefGoogle Scholar
Gero, J. S.Kannengiesser, U. 2007a. A function–behavior–structure ontology of processes. Artificial Intelligence for Engineering Design, Analysis and Manufacturing 21(4), 379391.CrossRefGoogle Scholar
Gero, J. S.Kannengiesser, U. 2007b. An ontological model of emergent design in software engineering. In International Conference on Engineering Design’07, Bocquet, J.-C. (ed.). Ecole Centrale Paris, France 70, 112.Google Scholar
Guindon, R. 1990. Designing the design process: exploiting opportunistic thoughts. Human-Computer Interaction 5, 305344.CrossRefGoogle Scholar
Hazzan, O.Tomayko, J. 2004. The reflective practitioner perspective in software engineering. CHI 2004 Workshop on Designing for Reflective Practitioners. ISR Technical report, UCI-ISR-04-2, 75–78.Google Scholar
Hofmeister, C., Nord, R. L.Soni, D. 2005. Global analysis: Moving from software requirements specification to structural views of the software architecture. IEE Proceedings Software 152(4), 187197.CrossRefGoogle Scholar
Hofmeister, C., Kruchten, P., Nord, R. L., Obbink, H., Ran, A.America, P. 2007. A general model of software architecture design derived from five industrial approaches. Journal of Systems and Software 80(1), 106126.CrossRefGoogle Scholar
Kerievsky, J. 2004. Refactoring to Patterns. Addison-Wesley.CrossRefGoogle Scholar
de Kleer, J.Brown, J. S. 1984. A qualitative physics based on confluences. Artificial Intelligence 24, 783.CrossRefGoogle Scholar
Kruchten, P. 2004. The Rational Unified Process: An Introduction. Addison-Wesley.Google Scholar
Kruchten, P. 2005. Casting software design in the function–behaviour–structure framework. IEEE Software 22(2), 5258.CrossRefGoogle Scholar
McNeill, T., Gero, J. S.Warren, J. 1998. Understanding conceptual electronic design using protocol analysis. Research in Engineering Design 10(3), 129140.Google Scholar
Osterweil, L. J. 2005. Unifying microprocess and macroprocess research. In Unifying the Software Process Spectrum, Li, M., Boehm, B. & Osterweil, L. J. (eds). Springer, 6874.Google Scholar
Purao, S., Rossi, M.Bush, A. 2002. Towards an understanding of the use of problem and design spaces during object-oriented system development. Information and Organization 12(4), 249281.CrossRefGoogle Scholar
Schön, D. A. 1983. The Reflective Practitioner: How Professionals Think in Action. Harper Collins.Google Scholar
Schön, D. A.Wiggins, G. 1992. Kinds of seeing and their functions in designing. Design Studies 13(2), 135156.CrossRefGoogle Scholar
Smith, G. J.Gero, J. S. 2005. What does an artificial design agent mean by being ‘situated’? Design Studies 26(5), 535561.CrossRefGoogle Scholar
Song, X.Osterweil, L. J. 1992. Toward objective, systematic design-method comparisons. IEEE Software 9(3), 4353.CrossRefGoogle Scholar
Suwa, M., Gero, J. S.Purcell, T. 1999. Unexpected discoveries and s-inventions of design requirements: A key to creative designs. In Computational Models of Creative Design IV, Gero, J. S. & Maher, M. L. (eds). Key Centre of Design Computing and Cognition, University of Sydney, 297320.Google Scholar
Talby, D., Hazzan, O., Dubinsky, Y.Keren, A. 2006. Reflections on reflection in agile software development. In AGILE 2006, Maurer, F. and Melnik, G. (eds). Minneapolis, MN, USA, 100–112.Google Scholar
Wojcik, R., Bachmann, F., Bass, L., Clements, P., Merson, P., Nord, R. L.Wood, B. 2006. Attribute-Driven Design (ADD), Version 2.0. Technical report, CMU/SEI-2006-TR-023. Software Engineering Institute, Carnegie Mellon University.CrossRefGoogle Scholar
Woodcock, A.Bartlett, R. 2005. Software authoring as design conversation. In Workshop of the Psychology of Programming Interest Group, Romero, P., Good, J., Acosta Chaparro, E. & Bryant, S. (eds). University of Sussex, 203214.Google Scholar
Zhu, L., Jeffery, R., Staples, M., Huo, M.Tran, T. T. 2007. Effects of architecture and technical development process on micro-process. In International Conference on Software Process 2007, Raffo, D. M., Wang, Q. & Pfahl, D. (eds)., Lecture Notes in Computer Science, 4960. Springer-Verlag.Google Scholar
Ziemke, T. 1999. Rethinking grounding. In Understanding Representation in the Cognitive Sciences: Does Representation Need Reality?, Riegler, A., Peschl, M. & von Stein, A. (eds). Plenum Press, 177190.CrossRefGoogle Scholar