OOMD Chapter 1 PDF
OOMD Chapter 1 PDF
OOMD Chapter 1 PDF
Introduction.
Course Relevance
Learning Outcomes
Overview of the syllabus
Introduction to Object Orientation
Introduction
Object Oriented Approach is innovative and modern approach of designing the system by
focusing primarily on Data elements of the application domain. It differs from the
functional/traditional approach by providing features like data hiding, encapsulation and
better reuse.
Modeling is not a separate phase but it is involved in every phase of software
engineering. Modeling is all about making models/prototypes of the system/situations
needed to do better analysis, design, coding and testing
Prerequisite
The course is aimed at:
Students who have prior knowledge to the concept of Software Engineering and any one
Object oriented language like C++.
Course Relevance
Object Oriented Modeling and Design is thinking about the problem using models
organized around the real world concepts. Earlier to this was the Procedural oriented
paradigm. Todays applications have grown to be very Complex. In order to handle this
inherent complexity OOMD was framed. Object Oriented Paradigm addresses the
problem Domain by considering the problem as a set of related interacting objects.
The modeling task then is specifying, for a specific context, those Objects (or the Class
the Objects belongs to), their respective set of Properties and Methods, shared by all
Objects members of the Class.
Design Patterns is a general reusable solution to a commonly occurring problem in
software design. A design pattern is not a finished design that can be transformed
1 of 6
directly into code. It is a description or template for how to solve a problem that can be
used in many different situations
Learning Outcomes:
At the end of the course the student would have the:
The Knowledge of the basic concepts of Object oriented modeling and
Design.
Will be able to use the Object Oriented notations and process that extends
from analysis through design to implementations.
Be able to use all the standard UML notations.
Capable to model the requirements with use cases and describe the dynamic
behavior and structure of the design.
Easily create a modular design with components and relate the logical
design to the physical environment.
The Student will be able to use the concept of design patterns and apply it
where suitable.
Unit I:
1.1 Terminologies:
2 of 6
Classification: means objects with the same data structures and behavior are
grouped into a class
Inheritance: is sharing of attributes and operations among classes based on a
hierarchical relationship.
Polymorphism : same operation may behave differently for different classes. (eg
move operation)
variable name
address
aCredit
aDebit
anAccount
aSavingsAccount
10000007
13537163
56826358
45205128
a symbol table
Mikes bicycle
a binary tree
a monitor
Brians bicycle
a white rook
Bicycle objects
Bicycle class
abstract
into
Polygon objects
Attributes
frame size
wheel size
number of gears
material
Operations
shift
move
repair
Polygon class
abstract
into
Attributes
vertices
border color
fill color
Operations
draw
erase
move
3 of 6
Figure2: Objects and classes. Each class describes a possibly infinite set of individual
objects.
4 of 6
Class model: Describes the static structure of the objects in a system and their
relationships (class diagrams).
State Model: Describes the aspects of an object that change over time.( State
Diagrams.)
Interaction model: Describes how the objects in a system cooperate to achieve
broader results. (Use cases, Sequence diagrams, activity diagrams.)
is
replaced
by
class hierarchy
procedure hierarchy
Old approach
OO approach
Figure3: OO vs Prior approach. An OO approach has one unified hierarchy for both data
and behavior
Sharing (reuse)
Emphasis on the essence of an object:OO technology stresses what an object is,
rather than how it is used.
Synergy: Identity, classification, polymorphism, and inheritance characterize OO
languages. Use all together.
5 of 6
TEXT BOOKS:
1. Object-Oriented Modeling and Design with UMLMichael Blaha, James
Rumbaugh , 2nd Edition, Pearson Education, 2005.
2. Pattern-Oriented Software Architecture A System of Patterns, Volume 1
Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael
Stal John Wiley and Sons, 2006.
6 of 6