Skip to main content
eScholarship
Open Access Publications from the University of California

Comparing software design methodologies through process modeling

Abstract

Recently, the importance of consolidating existing software engineering approaches and concepts has been well recognized by the software engineering community [Boa90]. We believe that study of Software Design Methodologies (SDMs) is an excellent place to start. To achieve this, we must be able to objectively and systematically compare SDMs.

Quite a number of SDMs have been developed and compared over the past two decades. An accurate comparison aids in codifying, enhancing and integrating SDMs. However, after analyzing the existing comparisons, we found that these comparisons are often based largely upon the experiences of the practitioners and the intuitive understandings of the authors. Consequently, these comparisons are subjective and affected by application domains. We also analyzed a number of comparisons which use quasinormal approaches to comparing SDMs. We found that these comparisons are often based on hypothesizing features required by the design process and software design problems. In order to compare SDMs more scientifically, in this thesis we introduce a systematic approach (called CDM (Comparing Design Methodologies)) to objectively comparing SDMs. We hope that using CDM will lead to precise, explicit and complete comparisons.

CDM is based on modeling SDMs and classifying their components (e.g. guidelines and notations). Modeling SDMs entails decomposing them into 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 understanding more precisely their similarities and differences. The models of the SDMs are also used as the bases for conjectures and conclusions about the differences between the SDMs.

Two key components required by CDM are 1) a fair Base Framework (BF) to classify parts of SDMs and a comprehensive Modeling Formalism (MF) to model all these parts. In this thesis we address these two problems by suggesting an evolutionary strategy for developing such a BF and MF. Then we present the BF and MF we have developed using this strategy, and demonstrate how they have been and can be used. Further we evaluate the BF and MF based on their applications and suggest how they might be enhanced. In doing this, we intend to illustrate that increasingly fair BFs and MFs can be developed by using this development strategy.

We believe that this sort of iterative evolutionary development of key framework and modeling formalisms is consistent with the ways in which more mature scientific disciplines operate. Thus, we hope that this effort indicates a way in which software engineering can begin to grow into a mature scientific discipline. Further, we suggest that this evolutionary development of BFs and MFs should be a community-wide activity.

In this thesis we demonstrate this approach by using it to compare six SDMs (JSD [Jac83], Booch's Object Oriented Design (BOOD) [Boo86], RDM [PC86], SD [YC79, SMC74], LCP [War76], and DSSD [Orr77]). We compared our SDM comparisons against other comparisons obtained using other approaches. The results of this comparison demonstrate that process modeling [Ost87, KH88] is valuable as a powerful tool in analysis of software development approaches. Besides, the SDM comparisons result, we obtained through this effort are by themselves valuable for understanding software design activities and SDMs.

Main Content
For improved accessibility of PDF content, download the file to your device.
Current View