OOAD Unit 1
OOAD Unit 1
AND ENGINEERING
(2016-17)
UNIT-1
1
Object Oriented Modeling
What is UML?
Tools can be used to generate code in various languages using UML diagrams
It helps to understand the entities in the real world and how they
interact with each other
Inheritance: Inheritance is the mechanism of making new classes from existing one.
identifying the objects their relationships are identified and finally the
design is produced
Interface:
Interface defines a set of operations which specify the
responsibility of a class
Collaboration:
Collaboration defines interaction between elements.
Structural things
Use case:
Use case represents a set of actions performed by a system
for a specific goal.
Component:
Component describes physical part of a system.
Node:
A node can be defined as a physical element that exists at
run time.
Behavioral things
It consists of the dynamic parts of UML models.
Interaction:
It is defined as a behavior that consists of a group of
messages exchanged among elements to accomplish a
specific task.
State machine:
It is useful when the state of an object in its life cycle is
important. It defines the sequence of states an object goes
through in response to events.
Grouping things
Grouping things can be defined as a mechanism to group
elements of a UML model together. There is only one
grouping thing available:
Package:
Package is the only one grouping thing available for
gathering structural and behavioral things.
Annotational things
Annotational things can be defined as a mechanism to
capture remarks, descriptions, and comments of UML
model elements.
Note
It is the only one Annotational thing available.
A note is used to render comments, constraints etc of an
UML element.
Relationships
It shows how elements are associated with each other and
this association describes the functionality of an
application.
There are four kinds of relationships available.
Dependency:
Dependency is a relationship between two things in which
change in one element also affects the other one.
Association:
Association is basically a set of links that connects elements
of an UML model. It also describes how many objects are
taking part in that relationship.
Relationships
Generalization:
Generalization can be defined as a relationship which
connects a specialized element with a generalized element.
It basically describes inheritance relationship in the world
of objects.
Realization:
Realization can be defined as a relationship in which two
elements are connected. One element describes some
responsibility which is not implemented and the other one
implements them. This relationship exists in case of
interfaces.
Notations
Types of UML Diagrams
UML includes the following nine diagrams
Class diagram
Object diagram
Use case diagram
Sequence diagram
Collaboration diagram
Activity diagram
Statechart diagram
Deployment diagram
Component diagram
Structural Diagrams
They represent the static aspect of the system. These static
aspects represent those parts of a diagram which forms the
main structure and therefore stable
Name
Account_Name
- Customer_Name
Attributes
- Balance
+addFunds( ) Operations
+withDraw( )
+transfer( )
OO Relationships
There are two kinds of Relationships
Generalization (parent-child relationship)
Association (student enrolls in course)
Associations can be further classified as
Aggregation
Composition
OO Relationships: Generalization
Regular Loyalty
Customer Customer
Subtype1 Subtype2
or: Customer
- Generalization expresses a
parent/child relationship among related
classes.
- Used for abstracting details in several Regular Loyalty
layers Customer Customer
OO Relationships: Association
University Person
0..1 *
employer teacher
Role
Multiplicity
Symbol Meaning
1 One and only one
Role
0..1 Zero or one “A given university groups many people;
some act as students, others as teachers.
M..N From M to N (natural
language) A given student belongs to a single
university; a given teacher may or may not
* From zero to any positive
be working for the university at a particular
integer
time.”
0..* From zero to any positive
integer
1..* From one to any positive
Association: Model to Implementation
* 4
Student Course
has enrolls
Class Student {
Course enrolls[4];
}
Class Course {
Student have[];
}
OO Relationships: Composition
Composition: expresses a relationship among instances
Whole Class of related classes. It is a specific kind of Whole-Part
Class W relationship.
Apples Milk
•Aggregations may form "part of" the aggregate, but may not
be essential to it. They may also exist independent of the
aggregate.
e.g. Apples may exist independent of the bag.