Engineering Software Design Processes to Guide Process Execution

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]  Paolo Ciancarini,et al.  Software process enactment in Oikos , 1990, SDE.

[2]  Gail E. Kaiser,et al.  Intelligent assistance for software development and maintenance , 1988, IEEE Software.

[3]  Gail E. Kaiser,et al.  An architecture for intelligent assistance in software development , 1987, ICSE '87.

[4]  Robert Balzer,et al.  Mechanisms for generic process support , 1993, SIGSOFT '93.

[5]  Dennis Heimbigner,et al.  Programming a Software Requirements-Specification Process , 1991, Proceedings. First International Conference on the Software Process,.

[6]  Grady Booch,et al.  Object-Oriented Design with Applications , 1990 .

[7]  Leon J. Osterweil,et al.  The design of a next-generation process language , 1997, ESEC '97/FSE-5.

[8]  Amnon Naamad,et al.  Statemate: a working environment for the development of complex reactive systems , 1988, ICSE '88.

[9]  Leon J. Osterweil,et al.  Toward objective, systematic design-method comparisons , 1992, IEEE Software.

[10]  Naftaly H. Minsky,et al.  A software development environment for law-governed systems , 1988, SDE 3.

[11]  Walt Scacchi,et al.  Process integration in CASE environments , 1992, IEEE Software.

[12]  C. Fernstrom,et al.  Integration Needs in Process Enacted Environments , 1991, Proceedings. First International Conference on the Software Process,.

[13]  Volker Gruhn,et al.  Prism=methodology+process-oriented environment , 1990, [1990] Proceedings. 12th International Conference on Software Engineering.

[14]  R. W. Phillips State change architecture: a protocol for executable process models , 1989, [1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track.

[15]  Shinichi Honiden,et al.  Formalizing specification modeling in OOA , 1993, IEEE Software.

[16]  R. J. Muller,et al.  An object-oriented structured design method for code generation , 1989, SOEN.

[17]  Dennis Heimbigner,et al.  Language constructs for managing change in process-centered environments , 1990, SDE.

[18]  Dennis Heimbigner,et al.  Language constructs for managing change in process-centered environments , 1990 .

[19]  Watts S. Humphrey,et al.  Using A Defined and Measured Personal Software Process , 1996, IEEE Softw..

[20]  Bill Curtis,et al.  Process modeling , 1992, CACM.

[21]  Leon J. Osterweil,et al.  Software processes are software too , 1987, ISPW.

[22]  Volker Gruhn Managing software processes in the environment MELMAC , 1990 .

[23]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[24]  Jeff Conklin,et al.  Hypertext: An Introduction and Survey , 1987, Computer.

[25]  Volker Gruhn Managing software processes in the environment MELMAC , 1990, SDE.

[26]  Grady Booch The Booch method: process and pragmatics , 1994 .