Chapter 3 Object Oriented Software Development Concepts
Chapter 3 Object Oriented Software Development Concepts
Reference: https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-uml/
Comparison of Object Oriented Analysis and
Design Methodologies
a. The methodologies must be accepted by the community as real object-
oriented analysis and/or design methodologies
b. They should ne published in textbook form so that sufficient information is
available
6 OOAD Methodologies:
1. Booch
2. Coad and Yourdon
3. Matin and Odell
4. Rumbaugh et al
5. Shlaer and Mellor
6. Wirfs-Brock et al
1. Booch Methodology (OODA)
➢intended for the design stage of a
project
➢well-known OO-method, that helps you
design your systems using the object
paradigm
➢ covers the analysis and design phases
of an OO - system implementation
1. Booch Methodology (OODA)
• Booch describes a number of general properties of well-
structured complex systems.
• Systems built with the OODA methodology should satisfy
these properties.
• In OODA the problem domain is modeled from two
different perspectives:
a. the logical structure of the system
b. the physical structure of the system.
• For each perspective both static and dynamic semantics
are modeled.
• OODA describes various techniques to accomplish these
tasks, and provides a rich set of graphical notations.
Booch Models
• Booch defines different models to describe an
OO system:
• Describe various process & modules that the system will
Physical Model have later
l.aibe I
l
I I bel
l
Agg r e g .a. t i o n by r e f e r -e n c e
label
l lJlses.
label
l [I n s i t : a n t i a t . . e s
t y p e
- C a lnl1I pa t1i ble
I label
l l n s it: a iat..es - -, ty p e
I label
► l In
t y p e
e · 1:..·s C o p a t ib' Le
label
l In e ri t.s.· - -e
I label
l e t a. c a..s:s
l.aib-e I
l
Booch 0 0 [ )
..
..............-.........
--
--
I!.
I
"'
Class
. Cl.ass Class. . .n s a 1n Ia e-d 1s.i I I i 0 ject
P o p e 1e s . C l a s s. Ad- o m 1n1 e 1r1 1on sin pi
Da a lo Simple T 1rn e o u
I
C:
""
I
I I
I
I I
I
I? o o e s s - o S. a e con
.
a ll rl.J
I
IS O · Su sys em - o d u le
o d u l e .anne
II II
CRC: Class e1rence
C a d
Coad & Yourdon Methodology
• It include two phase: analysis and design
• Define five steps for analysis phase :
Subjects
• data flow diagrams for objects
Objects
• identify the object classes and the class hierarchies
Structures
• decompose structures into two types:
• Classification structures: handle the inheritance connection between related classes.
• Composition structures: handle all of the other connections among classes.
Attributes
• Attributes for each class are identified
Service
• behaviours or methods for each class are identified
Coad & Yourdon Methodology
• Define four components for design phase:
The problem domain
• This will define the classes that should be in the problem domain
-:+
---
Loop External Data Process Multiple State Multiple S t a t e
In ter actor Process
n ..,. 1':1..-
Connector Semi c i r c l e
Coad & Yourdon notation
Functional model
Other Methodology
• Rational Unified Process (RUP) Method
• Sally Shaler & Steve Mellor (1989 – 91) OO Systems Analysis + Object
Lifecycles
• Peter Coad & Ed Yourdon (1991) (OOA & OOD) prototype-oriented approach
• Wirfs-Brock-1990 Class-Responsibility-Collaboration (CRC) Methodology
• Booch/Rational work on Ada (1994 – 95) OO Analysis and Design with Apps.
• Jim Odell & James Martin ( IS applications )(1994 – 96)
• Jacobson (Ericsson) OO Software Engineering (1994-95)
• Rational bought Objectory & Jacobson (1995)
• Through OMG & Rational, UML was born
Summary
• Introduce the concept of OOAD methodologies
• Explain three methodologies: Booch, Coad & Yourdon, and
Rumbaugh
• the problem of having many methods is the use different symbol
to depict the same thing.
• The simplest method is Rumbaugh Methodology
References
• Kahate, A. (2004). Object Oriented Analysis &
Design. Tata McGraw-Hill Education.
• Capretz, Luiz. (2003). A brief history of the
object-oriented approach. ACM SIGSOFT
Software Engineering Notes. 28. 6.
10.1145/638750.638778.