This Article 
 Bibliographic References 
 Add to: 
Experience with an Approach to Comparing Software Design Methodologies
May 1994 (vol. 20 no. 5)
pp. 364-384

Introduces a systematic and defined process called "comparison of design methodologies" (CDM) for objectively comparing software design methodologies (SDMs). We believe that using CDM will lead to detailed, traceable, and objective comparisons. CDM uses process modeling techniques to model SDMs, classify their components, and analyze their procedural aspects. Modeling the SDMs entails decomposing their methods into components and analyzing the structure and functioning of the components. The classification of the components illustrates which components address similar design issues and/or have similar structures. Similar components then may be further modeled to aid in more precisely understanding their similarities and differences. The models of the SDMs are also used as the bases for conjectures and analyses about the differences between the SDMs. This paper describes three experiments that we carried out in evaluating CDM. The first uses CDM to compare Jackson System Development (JSD) and Booch's (1986) object-oriented design. The second uses CDM to compare two other pairs of SDMs. The last one compares some of our comparisons with other comparisons done in the past using different approaches. The results of these experiments demonstrate that process modeling is valuable as a powerful tool in analysis of software development approaches.

[1] A. Birchenough and J. Cameron, "JSD and object-oriented design," in J. Cameron, Ed.,JSP and JSD: The Jackson Approach to Software Development. Los Alamitos, CA: IEEE Computer Society, 1991, pp. 293-303.
[2] G. D. Bergland, "Structured design methodologies," in15th Ann. Design Automation Conf. Proc., June 1978.
[3] G. D. Bergland, "A guided tour of program design methodologies,"Comput., vol. 14, no. 10, pp. 13-37, Oct. 1981.
[4] G. Booch, "Object-oriented development,"IEEE Trans. Software Eng., vol. SE-12, pp. 211-221, Feb. 1986.
[5] G. Booch, personal communication, July 1991.
[6] G. Booth,Object-Oriented Design with Applications. Redwood City, CA: Benjamin Cummings, 1991.
[7] J. Cameron, Personal communication, Aug. 1991.
[8] J. R. Cameron, A. Campbell, and P. T. Ward, "Comparing software development methods: An example," draft paper, 1991.
[9] B. Curtis, M. I. Kellner, and J. Over, "Process modeling,"Commun. ACM, vol. 35, Sept. 1992.
[10] P. Coad and E. Yourdon, "Object-oriented analysis," Yourdon Press Computing Series, Englewood Cliffs, NJ: Prentice Hall, 1989.
[11] A. M. Davis, "A comparison of techniques for the specification of external system behavior,"Commun. ACM, vol. 31, pp. 1098-1115, Sept. 1988.
[12] M. Elizabeth, C. Hull, A. Zarea-Aliabadi, and D. A. Guthrie, "Object-oriented design, Jackson system development (JSD) specification and concurrency,"Software Eng. J., Mar. 1989.
[13] S. N. Griffiths,Design Methodologies: A Comparison, vol. II. Maidenhead, England: Infotech Int., 1978.
[14] K. Hansen,Data Structured Program Design. Englewood Cliffs, NJ: Prentice-Hall, 1986.
[15] T. Katayama, Ed.,Proc. 6th Int. Software Process Workshop. Los Alamitos, CA: IEEE Computer Society Press, 1991.
[16] M. Jackson,Principles of Program Design. New York: Academic, 1975.
[17] M. Jackson,Jackson System Development. Englewood Cliffs, NJ: Prentice-Hall, 1983.
[18] I. Jacobson, "Object-Oriented Development in an Industrial Environment,"SIGPlan Notices, Dec. 1987, pp. 183-191.
[19] T. Katayama, "A hierarchical and functional software process description and its enaction," inProc. 11th Int. Conf. on Software Eng.(Pittsburgh, PA). Los Alamitos, CA: IEEE Computer Soc. Press, May 1989, pp. 343-352.
[20] J.C. Kelly, "A Comparison of Four Design Methods for Real-Time Systems,"Proc. Ninth Int'l Conf. Software Eng., IEEE CS Press. Order No. 767 (microfiche only), Los Alamitos, Calif., 1987, pp. 238-252.
[21] G. E. Kaiser and P. Feiler, "An architecture for intelligent assistance in software development," inProc. 9th Int. Conf. on Software Eng.Los Alamitos, CA: IEEE Computer Soc. Press, 1987, pp. 180-188.
[22] M. I. Kellner and G. A. Hansen, "Software process modeling," Tech. Rep. CMU/SEI-88-TR-9, May 1988.
[23] K. T. Orr,Using Structured System Design. Englewood Cliffs, NJ: Prentice-Hall, 1977.
[24] L. Osterweil, "Software processes are software too," inProc. 9th Int. Conf. Software Engineering, Monterey, CA, Mar. 1987, pp. 2-13.
[25] D. L. Parnas and P. C. Clements, "A rational design process: How and why to fake it,"IEEE Trans. Software Eng., vol. SE-12, pp. 251-257, Feb. 1986.
[26] L. J. Peters and L. L. Tripp, "Comparing software design methodologies,"Datamation, vol. 23, no. 11, pp. 89-94, Nov. 1977.
[27] J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, and W. Lorensen,Object-Oriented Modeling and Design. Englewood Cliffs, NJ: Prentice-Hall, 1991.
[28] C. V. Ramamoorthy and H. H. So, "Software requirements and specifications: Status and persepective," inTutorial: Software Methodologies. Los Alamitos, CA: IEEE Computer Society, 1978, pp. 43-164.
[29] D. Heimbigner, S. M. Sutton, and L. Osterweil, "Managing change in process-centered environments," inProc. 4th ACM/SIGSOFT Symp. Software Development Environments, Dec. 1990; inACM SIGPLAN Notices.
[30] M. Suzuki and T. Katayama, "Meta-operations in the process model HFSP for the dynamics and flexibility of software process," in M. Dowson, Ed.,1st Int. Conf. Software Processing. Los Alamitos, CA: IEEE Computer Society, 1991, pp. 202-217.
[31] S. Shlaer and S. J. Mellor,Object-Oriented Systems Analysis: Modeling the World in Data. Englewood Cliffs, NJ: Prentice-Hall, 1988.
[32] W. P. Stevens, G. J. Myers, and L. L. Constantine, "Structured design,"IBM Syst. J., vol. 13, no. 2, pp. 115-139, 1974.
[33] X. Song and L. J. Osterweil, "Debus: A software design process program," Tech. Rep., Arcadia-Doc. UCI-89-02, Apr. 1989.
[34] X. Song and L.J. Osterweil, "Comparing Design Methodologies Through Process Modeling,"Proc. 1st Int'l Conf. Software Process, IEEE CS Press, Los Alamitos, Calif., 1991, pp. 29-44.
[35] X. Song and L. J. Osterweil, "An experiment on CDM: A method for comparing and choosing design method," Tech. Rep., Arcadia No. UCI-91-11, Sept. 1991.
[36] X. Song and L. J. Osterweil, "A detailed, objective comparison and integration of two object-oriented design methodologies," Sept. 1992, available from the authors upon request, (submitted for publication).
[37] X. Song and L. J. Osterweil, "A framework for classifying parts of software design methodologies," in R. W. Selby, Ed., inProc. 2nd Irvine Software Symp. IRUS, Mar. 1992, pp. 49-68.
[38] X. Song and L. J. Osterweil, "Towards objective, systematic design-method comparison,"IEEE Software, pp. 43-53, May 1992.
[39] X. Song, "Comparing software design methodologies through process modeling," Ph.D. dissertation, Tech. Rep. ICS-92-48, Dept. of Inform. and Comput. Sci., Univ. of Cal., Irvine, May 1992.
[40] U. S. Dept. of Defense, ReferenceManual for Ada Programming Language, 1983.
[41] J. D. Warnier,Logical Construction of Programs. New York: Van Nostrand Reinhold, 1974.
[42] A. Wasserman, "Information system design methodology,"J. Amer. Soc. Inform. Sci., Jan. 1980.
[43] W. M. Waite andG. Goos, Compiler Construction. New York: Springer-Verlag, 1984.
[44] L. G. Williams, "Software process modeling: a behavioral approach," inProc. 10th Int. Conf. on Software Eng.Los Alamitos, CA: IEEE Computer Soc. Press, 1988, pp. 174-186.
[45] E. Yourdon and L. L. Constantine,Structured Design. Englewood Cliffs, NJ: Prentice-Hall, 1979.
[46] Yau, S.S., and J.J.P. Tsai, "A Survey of Software Design Techniques,"IEEE Trans. Software Eng., No. 12, 1986, pp. 713-721. (SD, SA, W-O, JSP, JSD, HIPO, OOD, PDL, Petri Nets)

Index Terms:
software engineering; object-oriented methods; software design methodologies comparison; traceable comparisons; objective comparisons; process modeling techniques; procedural aspects; method decomposition; components classification; Jackson System Development; JSD; Booch's (1986) object-oriented design; BOOD; software development approaches; modeling formalism; software process
Xiping Song, L.J. Osterweil, "Experience with an Approach to Comparing Software Design Methodologies," IEEE Transactions on Software Engineering, vol. 20, no. 5, pp. 364-384, May 1994, doi:10.1109/32.286419
Usage of this product signifies your acceptance of the Terms of Use.