Unit II (Methodologies)
Unit II (Methodologies)
Unit II (Methodologies)
METHODOLOGIES
1
Chapter’s Objective
2
INTRODUCTION: TOWARDS UNIFICATION –
TOO MANY METHODOLOGIES
BEST PRACTICES ARE UNIFIED- DUE TO TOO MANY
METHODOLOGIES:
- Booch-1986 object-oriented design concept, Booch 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
3
INTRODUCTION: TOWARDS UNIFICATION –
TOO MANY METHODOLOGIES
Booch/Rational work on Ada (1994 – 95) OO Analysis and
Design with Apps.
Rumbaugh (GE) Object Modeling Technique (OMT) 1991
Jim Odell & James Martin ( IS applications )(1994 – 96)
Jacobson (Ericsson) OO Software Engineering (1994-95)
Rumbaugh joins Rational to work with Booch (1994)
Rational bought Objectory & Jacobson (1995)
Through OMG & Rational, UML was born.
• UML unifies the methods of James Rumbaugh, Grady Booch,
and Ivar Jacobson.
4
SURVEY OF SOME OF THE O-O
METHODOLOGIES
5
RUMBAUGH ET AL’S OBJECT
MODELING TECHNIQUE (OMT)
7
RUMBAUGH ET AL’S OBJECT
MODELING TECHNIQUE (OMT) contd..
8
RUMBAUGH – OBJECT MODEL
9
RUMBAUGH – OBJECT MODEL
10
RUMBAUGH - DYNAMIC MODEL
11
RUMBAUGH - DYNAMIC MODEL
12
RUMBAUGH FUNCTIONAL MODEL
13
RUMBAUGH FUNCTIONAL MODEL
14
RUMBAUGH FUNCTIONAL MODEL
15
THE BOOCH METHODOLOGY
17
THE BOOCH METHODOLOGY
18
THE BOOCH METHODOLOGY contd..
Each macro development process has its own micro
development processes.
Micro process is a day-to-day activities
Micro development process consists of :
- identify classes and objects
- identify class and object semantics
- identify class and object relationships
- identify class and object interfaces and
implementation
19
THE BOOCH METHODOLOGY
20
BOOCH NOTATIONS
Class Notation
Object Notation
21
BOOCH – Class Diagram
22
BOOCH – Object Diagram
23
BOOCH – Interaction Diagram
24
BOOCH – State Diagram
25
BOOCH – Process Diagram
26
BOOCH – Module Diagram
27
THE JACOBSON ET AL. METHODOLOGY
28
THE JACOBSON ET AL.
METHODOLOGY contd..
Concept of use-case
- scenarios for understanding the system
requirements
- is an interaction between user and
system
- captures the goal of the user and
responsibility of the system to its users
29
THE JACOBSON ET AL.
METHODOLOGY contd..
32
THE JACOBSON ET AL. METHODOLOGY
contd..
Objectory is built around several different models
such as:
Use-case model
Domain Object model: The object of the real
world are mapped into the domain object model.
Analysis Object model: It presents how the
source code(implementation) should be carried
out and written.
Implementation model:
Test model: It includes the test plans,
specifications, and reports.
33
THE JACOBSON ET AL. METHODOLOGY
contd..
34
PATTERNS
A system can be analyzed, designed & built from
Prefabricated & predefined system components – An
Emerging Idea.
Sound documentation is the need in this case.
The use of design patterns originated by a building architect
called Alexander in 1970s.
He motivated O-O researcher to describe commonly
occurring design solutions and programming paradigms.
35
PATTERNS
36
PATTERNS
“Design Patterns describes when it applies, whether it can
be applied in view of other design constraints and the
consequences and trade-offs of its use.”
According to Riehle & Zullighoven:
“A pattern is [an] instructive information that captures the
essential structure and insight of a successful family of
proven solution to a recurring problem that arises within
a certain context and system of forces.”
37
PATTERNS
38
PATTERNS
39
GENERATIVE & NON GENERATIVE
PATTERNS
Types of patterns are:
Generative Patterns: describe a recurring problem.
It tells how to generate something and can be
observed in the resulting system architectures they
help shape.
Nongenerative patterns are static and passive: They
describe recurring phenomena without necessarily saying
how to reproduce them.
Most of the patterns are generative.
40
PATTERNS TEMPLATE
Patterns Template:
Name: A meaningful pattern name.
Problem: A statement of the problem.
Context: The precondition under which the problem
and its solution seem to recur and for which solution
is desirable.
Forces: Relevant forces & constraints under which the
system has to work.
41
PATTERNS TEMPLATE
42
PATTERNS TEMPLATE
43
How Patterns Arise-A Summary
Problem
Forces
Solution
Benefits Consequences
Related Patterns
44
Some more Examples of Patterns
Observer and MVC
An application with Model - View - Controller setup usually uses the
Observer Pattern.
In a Java webserver environment the Model will be represented by
Java classes encompassing the business logic,
The View is represented by Java Server Pages which display HTML in
the client's browser &
We will have a Servlets as Controllers.
45
ANTIPATTERNS
46
CAPTURING PATTERNS
47
CAPTURING PATTERNS
48