CS3392Comparative Object-Oriented Methodology Dr. K.O. Chow Y6411cspchow@...
Course Topics • Modeling through the Years (Set Issue) • Unified Modeling Language (UML) • Structural Modeling • Behavioral Modeling • Architectural Modeling • Methodology Comparison • Other OO Methods • Comparison Framework
Modeling through the Years ByJames Rumbaugh JOOP, July/August 1997, pp. 16-19
Table of Contents (Paper) • Introduction • Where did we come from? • First Generation • Second Generation • Other Pressures • Unification • Where is it heading?
Table of Contents (Lecture) • Chronological Development • Methodological Development • Issues
Chronlogical Development • 1988 & Before • Early 1990s (up to 1995) • 1994/5 onwards
Prior to 1988 • Coupling & cohesion (Constantine) • Information hiding (Parnas) • OO design (Booch) • Real-time design (Mellor, Ward, Page-Jones, Buhr) • Use case & state machine (Jacobson) • ER model (Chen)
By 1988 • OO Software Construction (Meyer 1988) • OO Systems Analysis (Shlaer & Mellor 1988)
Early 1990s An active period for development of OO modeling ideas, But a confusing one for users(hard to sort through many contradictory claims for OO modeling superiority) (Rumbaugh 1997)
1994 & 1995 • Rumbaugh joined Booch of Rational in 1994 • Jacobson joined Rational in 1995 • Initial Unified Method 0.8 in Oct 1995
1996 to 1998 • OMG issued a RFP on OO A&D interoperability in early 1996 • Submit UML 1.0 to OMG in Jan 1997 • OMG accepts UML as standard OOAD in Jan 1998
Methodological Development • 2 generations of OO methods • Feature consolidation • Method unification
2 Generations of OO Methods • First generation • Second generation
First Generation • OO Systems Analysis (Shaler & Mellor 1988) • OO Analysis (Coad & Yourdon 1990) • Designing OO Software (Wirfs-Brock et al 1990) • OO Design with Applications (Booch 1990) • OO Modeling and Design (Rumbaugh et al 1991)
Second Generation • Object Lifecycles (Shlaer & Mellor 1992) • Fusion (Coleman et al 1993) • OO Analysis & Design (Martin & Odell 1993) • OO Analysis & Design with Appln. 2nd Ed. (Booch 1994) • OMT Insights, OMT-2 that ended 1995 • Peter Coad
Feature Consolidation • Proposal of new methods1st generation • Consolidation of features into new & existing methods2nd generation
First & Second Generation Methods • Model-based • Uni-modeling • Multi-modeling • Structure-dependency
Other Developments • Use cases (Jacobson et al) in 1992 • Real-time systems • ROOM (Selic et al) in 1994 • Pattern • Design Patterns (Gamma et al) in 1994 • Analysis Patterns (Fowler) in 1997
Method Unification • Unification effort that become standardized • Unified Method, to become • Unified Modeling Language (UML) • Other unification efforts • OPEN method • OPEN Modeling Language (OML)
UML Back Trace • 1990 Booch OO Design with Application • 1991 Rumbaugh OO Modeling and Design • 1992 Jacobson OOSE: Use Case Driven Approach • 1994 Booch (2/E) OO Analysis & Design w Appl’n
Method War • I. Jacobson versus Mellor et al July-August 1993 JOOP • I. Jacobson“Time for a cease-fire in the methods war ... Standardization” • Mellor, Shlaer, Booch, Rumbaugh, Salmon, Babitsky, Adams, & Wirfs-Brock“Premature methods standardization considered harmful”
History • Oct. 1994 (at OOPSLA’94) • Rumbaugh join Booch at Rational • Oct. 1995 (at OOPSLA’95) • Release draft Version 0.8 • Jocobson join Rumbaugh & Booch at Rational • Feb. 1996 • Release Version 1.0 (Booch + OMT + Objectory) • Jan. 1997 • Submit for standardization
Confusion in OO Method Field “The confusion generated by the current profusion of methods is limiting the broad-scale adoption of object technology.”
Open & Non-Proprietary • “Since our intention is to make this an open standard, we want to make sure that people involved with and using object technology have a chance to offer feedback on the method before we finalize it.” • “Version 1.0 of the method will incorporate the input that we receive from users and others in the industry.”
Feature & Method “Jim Rumbaugh and I have been working together to create a unified method that incorporates the best features of the Booch method, the OMT, and other popular methods.”
Name the Method Contest • Tentative he Unified Method? • Rejected Rumbooch Boobaugh Rumbootory • Request In search of a suitable name ... Public name contest • Email firstname.lastname@example.org
Contest Condition ?No purchase necessary. In case of duplicate entries the one with the earliest email stamp wins. The decisions of the gurus is final unless we change our minds. All entries become the property of Jim and /grady to do with as they wish. ... Void where taxed, prohibited by law, or subjected to excessive rudicule.
Characteristics of Method Field(Difficulties in Unification!) “The methodology field is populated by strong- willed individuals who do not easily let go of favorite ideas, and the followers of a method are sometimes even more fervent than the originator in clinging to particular surface features.” (Rumbaugh 1997)
Motivation “Too often there is still a gap between concept and execution, and Too great an emphasis on quick implementation at the expense of a deeper understanding of a problem that leads to more robust solutions” (Rumbaugh 1997)
Course Issue To investigate the mapping between concept & executionin order to narrow the gap and to balance the emphases.
Course Hypothesis • There is a seamless transition from analysis to design, and from design to implementation. • There is a gap between concept & execution • There are differences in terms of abstraction level & perspective