This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Engineering Software Design Processes to Guide Process Execution
September 1998 (vol. 24 no. 9)
pp. 759-775

Abstractt—Using systematic development processes is an important characteristic of any mature engineering discipline. In current software practice, Software Design Methodologies (SDMs) are intended to be used to help design software more systematically. This paper shows, however, that one well-known example of such an SDM, Booch Object-Oriented Design (BOOD), as described in the literature is too imprecise and incomplete to be considered as a fully systematic process for specific projects. To provide more effective and appropriate guidance and control in software design processes, we applied the process programming concept to the design process. Given two different sets of plausible design process requirements, we elaborated two more detailed and precise design processes that are responsive to these requirements. We have also implemented, experimented with, and evaluated a prototype (called Debus-Booch) that supports the execution of these detailed processes.

[1] V. Ambriola, P. Ciancarini, and C. Montangero, "Software Process Enactment in Oikos," Proc. Fourth ACM SIGSOFT/PLAN Software Eng. Symp. on Practical SDE, pp. 183-192, Dec. 1990.
[2] P. Pircher, A. Wasserman, and R. Muller, "An Object-Oriented Structured Design Method for Code Generation," ACM SIGSOFT, vol. 14, no. 1, pp. 32-55, Jan. 1989.
[3] R. Balzer and K. Narayanaswamy, "Mechanisms for Generic Process Support," D. Notkin, ed., Proc. First Int'l Conf. Foundations of Software Eng., pp. 21-32, ACM Press, Dec. 1993.
[4] G. Booch, Object Oriented Design with Applications, Benjamin/Cummings Publishing Company, Inc., Redwood City, Calif., 1991.
[5] B. Curtis, M. Kellner, and J. Over, “Process Modeling,” Comm. ACM, pp. 75-90, Sept. 1992.
[6] J. Conklin, “Hypertext: A Survey and Introduction,” Computer, Vol. 20, No. 9, Sept. 1987, pp. 17-41.
[7] W. Deiters and V. Gruhn, "Managing Software Processes in the Environment Melmac," Proc. Fourth ACM SIGSOFT/PLAN Software Eng. Symp. Practical SDE, pp. 193-205, Dec. 1990.
[8] "Preproduction Quality Assurance Planning: Recommendations for Medical Device Manufacturers," technical report, Office of Compliance and Surveillance, Food and Drug Administration, 1989.
[9] C. Fernstrom and L. Ohlsson, "Integration Needs in Process Enacted Environments," Proc. First Int'l Conf. Software Process, pp. 128-141, IEEE Computer Society, Oct. 1991.
[10] S. Honiden, N. Kotaka, and Y. Kishimoto, “Formalizing Specification Modeling in OOA,” IEEE Software, Jan. 1993, pp. 54‐66.
[11] D. Harel, H. Lachover, A. Naamad, A. Pnuelli, M. Politi, R. Sherman, A. Shtull-Trauring, and M. Trakhtenbrot, "Statemate: A Working Environment for the Development of Complex Reactive Systems," IEEE Trans. Software Eng., vol. 16, no. 4, pp. 403-414, Apr. 1990.
[12] W.S. Humphrey, "Using the Personal Software Process," private communication, 1993.
[13] S.M. Sutton Jr., B.S. Lerner, and L.J. Osterweil, "Experience Using the JILProcess Programming Language to Specify Design Process," Technical Report 97-68, Dept. of Computer Science, Univ. of Mass., Amherst, Sept. 1997.
[14] S.M. Sutton and L.J. Osterweil, “The Design of a Next-Generation Process Language,” ESEC/FSE'97, pp. 142-58, Springer-Verlag, 1997.
[15] G.E. Kaiser and P.H. Feiler, "An Architecture for Intelligent Assistence in Software Development," Proc. Ninth Int'l Conf. Software Eng., pp. 180-188, 1987.
[16] M.I. Kellner and G.A. Hansen, "Software Process Modeling," Technical Report CMU/SEI-88-TR-9, May 1988.
[17] K. Kruchten and W. Royce, "A Rational Development Process," Crosstalk, STSC, Hill AFB, pp. 11-16,Utah.
[18] N.H. Madhavji, V. Gruhn, W. Deiters, and W. Schafer, "Prism = Methodology + Process-Oriented Environment," Proc. 12th Int'l Conf. Software Eng., Mar. 1990.
[19] N. Minsky and D. Rozenshtein, "Software Development Environment for Law-Governed Systems," Proc. ACM SIGSOFT/PLAN Software Eng. Symp. Practical SDE, pp. 65-75, Nov. 1988.
[20] P. Mi and W. Scacchi, “Process Integration for CASE Environments,” IEEE Software, vol. 9, no. 2, pp. 45-53, Mar. 1992. reprinted in Computer-Aided Software Eng., second edition, E. Chikovsky, ed., IEEE Computer Society, 1993.
[21] L.J. Osterweil, "Software Processes are Software, Too," Proc. Ninth Int'l Conf. Software Eng., IEEE Computer Soc. Press, Los Alamitos, Calif., 1987, pp. 2-13.
[22] R.W. Phillips, "State Change Architecture: A Prototype for Executable Process Models," Proc 22nd Ann. Hawaii Int'l Conf. Software Eng., vol II. Software Track, pp. 154-164, Jan. 1989.
[23] C.L. Chang, R.A. Stachowitz, and J.B. Combs, “Validation of Nonmonotonic Knowledge-Based Systems,” Proc. IEEE Int'l Conf. Tools for Artificial Intelligence, Nov. 1990.
[24] D.J. Richardson and J. Chang, "Rebus Requirements on Elevator Control System," Dec. 1992. available upon request
[25] S.M. Sutton, H. Ziv, H.E. Yessayan, D. Heimbigner, M. Maybee, L.J. Osterweil, and X. Song, "Programming A Software Requirements-Specification Process," Proc. First Int'l Conf. Software Process, pp. 68-89. IEEE Computer Society, Oct. 1991.
[26] S.M. Sutton, D. Heimbigner, and L.J. Osterweil, "Language Constructs for Managing Change in Process-Centered Environments," Proc. Fourth ACM SIGSOFT Symp. Software Development Environments, pp. 206-216,Irvine, Calif. Dec. 1990.
[27] X. Song and L. Osterweil, "Toward Objective, Systematic Design-Method Comparison," IEEE Software, May 1992, pp. 43-53.
[28] X. Song and L. Osterweil, "Challenges in Executing Design Process," Preprints Eighth Int'l Software Process Workshop, Mar. 1993. available from the authors upon request

Index Terms:
Software design process, design methodology, design methods.
Citation:
Xiping Song, Leon J. Osterweil, "Engineering Software Design Processes to Guide Process Execution," IEEE Transactions on Software Engineering, vol. 24, no. 9, pp. 759-775, Sept. 1998, doi:10.1109/32.713330
Usage of this product signifies your acceptance of the Terms of Use.