Oose Unit 3.2

Download as pdf or txt
Download as pdf or txt
You are on page 1of 89

Object-Oriented Methods

Too Many Methodologies


• 1986: Booch came up with the object-oriented design
concept, the Booch method.
• 1987: Sally Shlaer and Steve Mellor came up with
the concept of the recursive design approach.
• 1989: Beck and Cunningham came up with class-
responsibility- collaboration (CRC) cards.
• 1990: Wirfs-Brock, Wilkerson, and Wiener came up
with responsibility- driven design.
• 1991: Peter Coad and Ed Yourdon developed the
Coad lightweight and prototype-oriented approach.
2
Too Many Methodologies

• 1991: Jim Rumbaugh led a team at the research labs


of General Electric to develop the object modeling
technique (OMT).
• 1994: Ivar Jacobson introduced the concept of the
use case.

3
Survey of Some of the Object- Oriented
Methodologies

• Many methodologies are available to choose from for


system development.
• Here, we look at the methodologies developed by
Rumbaugh et al., Booch, and Jacobson which are the
origins of the Unified Modeling Language (UML) and the
bases of the UA.

4
• Rumbaugh et al. – well-suited for describing the object
model or static structure of the system.

• Booch method – produces detailed object oriented


models.

• Jacobson method – is good for producing user-driven


analysis models.

5
Object Oriented Analysis
(OOA / Coad-Yourdon)

6
10
Object Oriented Design
(OOD/Booch)
The Booch Methodology
• The Booch methodology covers the analysis
and design phases of systems development.
• Booch sometimes is criticized for his large set
of symbols.
The Booch Methodology (Con’t)
• The Booch method consists of the following
diagrams:
– Class diagrams
– Object diagrams
– State transition diagrams
– Module diagrams
– Process diagrams
– Interaction diagrams
The Booch Methodology (Con’t)

• The Booch methodology prescribes


– A macro development process

– A micro development process.


The Macro Development Process
• The macro development process consists of
the following steps:
1. Conceptualization
2. Analysis and development of the model.
3. Design or create the system architecture.
4. Evolution or implementation.
5. Maintenance.
18
The Micro Development Process
• The micro development process consists
of the following steps:
1. Identify classes and objects.
2. Identify class and object semantics.
3. Identify class and object
relationships.
4. Identify class and object interfaces and
implementation.
Hierarchical Object Oriented Design
(HOOD)
Hierarchical Object Oriented Design

• HOOD is a method of hierarchical decomposition


of the design into software units based on
identification of objects, classes and operations
reflecting problem domain entities or more
abstract objects related to digital programming
entities.

• It is intended for the Architectural Design,


Detailed Design and coding for software to be
developed in programming languages such as
Hierarchical Object Oriented Design

The main process in HOOD is called the Basic Design


Step.

• "A Basic Design Step has as its goal the


identification of child objects of a given parent
object, and of their individual relationships to
other existing objects, or the refinement of a
terminal object to the level of the code. This
process is based on the identification of objects by
means of object-oriented design techniques”
Hierarchical Object Oriented Design
A basic design step process is further split into four phases, thus
defining a micro life-cycle for a design step: -
1. Problem definition
• Statement of the problem
• Analysis and structuring of requirement data
2. Development of solution strategy
3. Formalization of the strategy
•Object identification.
•Operation identification.
•Grouping objects and operations (object operation table).
•Graphical description.
•Justification of design decisions.
4. Formalization of the solution
24
Hierarchical Object Oriented Design

Phase 1 Phase 1 : Problem Definition


Problem definition
The context of the object to be designed is stated, with
Phase 2 the goal of organizing and structuring the data
Development of from the requirement analysis phase. This is an
solution strategy opportunity to provide a completeness check on
requirements and traceability to design.
Phase 3 1.Statement of the problem - the designer states the
Formalization of the problem in
strategy correct sentences which provides:
-a clear and precise definition of the problem;
-the context of the system to design.
Phase 4
Formalization of the
solution 2.Analysis and structuring of requirement data - the
designer gathers and analyses all the information
relevant to the problem, including the environment
of the system to be designed.
Hierarchical Object Oriented Design

Phase 1 Phase 2 : Development of solution strategy


Problem definition

Phase 2 The outline solution of the problem stated above is


Development of described in terms of objects at a high level of
solution strategy abstraction.

Phase 3
Formalization of the
strategy

Phase 4
Formalization of the
solution
Hierarchical Object Oriented Design

Phase 1 Phase 3 : Formalization of the strategy


Problem definition

Phase 2 The objects and their associated operations are


Development of defined. A HOOD diagram of the proposed
solution strategy design solution is produced, allowing easy
visualization o f t h e c o nc ep ts a n d f u rth er
Phase 3 formalization. There are five sub phases in the
Formalization of the formalization of the strategy:
strategy
1. Object identification.
Phase 4 2. Operation identification.
Formalization of the
solution 3. Grouping objects and operations (object
operation table).
4. Graphical description.
5. Justification of design decisions.
Hierarchical Object Oriented Design

Phase 1 Phase 4 : Formalization of the solution


Problem definition

Phase 2 The solution is formalized through:


Development of
• formal definition of provided object interfaces.
solution strategy
• formal description of object and operation
Phase 3 control
Formalization of the structures.
strategy

Phase 4
Formalization of the
solution
The main diagram used for describing the structure
of a system is the HOOD object diagram, which
shows a static view of the structure in th e
hierarchical object oriented design. The symbols
used are as follows:
Person Compa
nam addre nyname
national_insurance works_f Hire addre
e ss _no or
Work Manag Fire ss
Chare_tim phone
er er produ
e
Departm
ct
Earn_salar
ent
y

Produ
proje Product_na ct weig Manu
ct me ht -
Project_na
me
Compone Optional_ext factur
Budget nt ras es
priority

1
2
Object Modeling Technique
(OMT)

31
Rumbaugh et. al.’s Object Modeling
Technique (OMT)
• OMT describes a method for the analysis,
design, and implementation of a system using
an object-oriented technique.
OMT (Con’t)
•OMT consists of four phases, which can be
performed iteratively:
1. Analysis. The results are objects and dynamic
and functional models.
2. System design. The result is a structure of the basic
architecture of the system.
3. Object design. This phase produces a design
document, consisting of detailed objects and
dynamic and functional models.
4. Implementation. This activity produces reusable,
extendible, and robust code.
OMT (Con’t)
• OMT separates modeling into three different
parts:
1. Object model,
2. Dynamic model
3. Functional model
OMT Object Model
OMT Dynamic Model
OMT Functional Model
Jacobson Methodology
(Object-Oriented Software Engineering)

• Object-oriented software engineering (OOSE),


also called Objectory, is a method of object-
oriented development with the specific aim to fit
the development of large, real-time systems.
Object-Oriented Software Engineering

• OOSE consists of 5 models:

1. Requirement model : The aim of this model is to gather


software requirements.
2. Analysis model : The goal of this model is to produce
ideal, robust and modifiable structure of an object.
3. Design model : It refine the objects keeping the
implementation environment in mind.
4. Implementation model : It implements the objects.
5. Test model : The goal of the test model is to validate
and verity the functionality of the system.
Responsibility – Driven Design

40
Responsibility – Driven Design
• Which should be the basis for actual implementation is developed from the
requirements specification.
• It supports the basic concepts of object orientation, such as classes, objects
and inheritance.
• It consists of two phases:
1. Exploratory phase : consists of
1. Classes
2. Responsibilities of each class
3. Collaborations between classes
2. Refining phase : consists of
1. Hierarchies between classes
2. Subsystems
3. protocols
41
Case Studies :

ü Warehouse Management System


ü Telecom
Warehouse Management System
ACME Warehouse Management System

• The system will support warehouse management.


• The company ordering the system, ACME Warehouse Management
Inc., specializes in supporting its customers with warehouse spaces all
over the nation.
• ACME plans to grow and now an information system with which they
can grow.
• The idea is to offer the customers warehouse space and redistribution
services between different warehouses with full computer support.
• The service includes redistribution both within a warehouse and
between warehouses, all dictated by customer needs. All kinds of
items may be stored in the warehouses.
The following people will be using the system:

ü Foreman - responsible for one warehouse


ü Warehouse worker - works in a warehouse, loading and unloading
ü Truck driver - drives a truck between different warehouses
ü Forklift operator - drives a forklift in one warehouse
ü Office personnel - receive orders and requests from customers
ü Customers - own the item in the warehouses an give
instructions as to where and when they want
the items
The Requirements model:
üThe first model to be developed in the requirements model
üThis model is used to gain a better understanding of the system
üInitially the actors may be identified as roles played by people
interacting with our system
49
50
51
The Analysis model:
üThe use cases will now be broken down into the analysis model and we
will thus identify the objects that offer the use cases.
üInitially, the interface objects, entity objects And control objects will be
identified.
üThese objects are normally identifies in an iterative manner over a use
case and then over all use cases offered by them.
üThen, to identify the subsystems

52
53
54
55
56
57
58
Construction:
üThe main purpose of the construction and implementation process is to
customize the logical model for a specific implementation environment
and to implement the system
üInitially, identify the implementation environment
üThen, ideal block structure to be created
üThen, to create usecase design
üFinally, construct the code

59
60
61
62
63
64
65
Telecom
Telecommunication Switching Systems

• Discuss about the development of a telecom switching system.


• The focus is on the parts handling a local phone call between two
subscribers connected to the same switch.
• The subscriber that calls is called the A-Subscriber. As she or he dials
the number, the exchange analyzes the digits and looks up the line to
the subscriber to be called. This subscriber is called the B-Subscriber.
• The exchange then connects the lines of the two subscribers so that
they can talk to each other.
• When they have finished the exchange to disconnect the two lines.
Actual functional requirements:
1. Call handling
• Call between A-subscriber line and B-subscriber line
• Call between A-subscriber line and Outgoing line
• Call between Incoming line and B-subscriber line
• Call between Incoming line and Outgoing line
2. Operation and maintenance
• Subscription changes
• Changes in Digit Information
• Connection of Devices
The Requirements model:
72
73
74
75
The Analysis model:
üIt is developed from the use cases.

76
77
78
79
80
81
The Design model:
üRefine the analysis model

82
83
84
85
86
87
The Implementation model:

88
89

You might also like