SlideShare a Scribd company logo
1 of 159
Mrs S G Bavachkar ATS SBGI MIRAJ 1
Object-oriented modeling and
design
Mrs S G Bavachkar ATS SBGI MIRAJ 2
Introduction
 It is a new way of thinking about problems
using models based on real world concepts.
 The basic construct is object which combines
both data structure and behavior in a single
entity.
 Rambaugh presents an object oriented
software development methodology, the
Object Modeling Technique (OMT) which
extends from analysis through design to
implementation.
Mrs S G Bavachkar ATS SBGI MIRAJ 3
 Analysis model is built to abstract essential
aspects of application domain which contains
objects found in application, their properties
and behavior.
 Then design model is made to describe and
optimize the implementation.
 Finally the design model is implemented in a
programming language, database or
hardware.
 Graphical notation is used for expressing
object-oriented models.
Mrs S G Bavachkar ATS SBGI MIRAJ 4
What is object-oriented?
 Software is organized as a collection of
discrete objects that incorporate both data
structure and behavior.
 In general it includes- identity, classification,
polymorphism and inheritance.
 Object Oriented Programming Language
= Object Based Programming Language(e.g.
'83 Ada and Modula-2)
+ Inheritance + Dynamic Binding
Mrs S G Bavachkar ATS SBGI MIRAJ 5
Identity
 Identity means that data is organized into
discrete, distinguishable entities called objects.
 Objects can be concrete or conceptual.
 In real world an object simply exist but within a
programming language each object has a
unique handle by which it can be uniquely
referenced.
 The handle can be implemented by address,
array index or unique value of an attribute.
Mrs S G Bavachkar ATS SBGI MIRAJ 6
Classification
It means that objects with same data
structure (attribute) and behavior
(operations) are grouped into a class.
A class is an abstraction that describes
important properties and ignores the
rest.
Mrs S G Bavachkar ATS SBGI MIRAJ 7
Polymorphism
It means that the same operation (i.e.
action or transformation that the object
performs) may behave differently on
different classes.
Specific implementation of an operation
by a certain class is called a method.
Mrs S G Bavachkar ATS SBGI MIRAJ 8
Inheritance
It is the sharing of attributes and
operations among classes based on a
hierarchical relationship.
Subclasses can be formed from broadly
defined class.
Each subclass incorporates or inherits
all the properties of its super class and
adds its own unique properties.
Mrs S G Bavachkar ATS SBGI MIRAJ 9
Object-oriented development?
 The theme is the identification and
organization of application concepts rather
than final representation in a prog. Language.
 OOD approach encourages software
developers to work and think in terms of the
application domain through most of the
software engineering life cycle.
 It is a conceptual process independent of a
programming language until the final stage.
Mrs S G Bavachkar ATS SBGI MIRAJ 10
Object-oriented methodology
Stages-
Analysis
System design
Object design
implementation
Mrs S G Bavachkar ATS SBGI MIRAJ 11
3 models
Object model
Dynamic model
Functional model
Mrs S G Bavachkar ATS SBGI MIRAJ 12
Object model
Describes basic structure of objects and
their relationship
Contains object diagram
Object diagram is a graph whose nodes
are object classes (Classes) and whose
arcs are relationships among classes.
Mrs S G Bavachkar ATS SBGI MIRAJ 13
Dynamic model
Describes the aspects of a system that
change over time.
It specifies and implement control
aspects of a system.
Contains state diagram.
State diagram is a graph whose nodes
are states and whose arcs are data-
flows.
Mrs S G Bavachkar ATS SBGI MIRAJ 14
Functional Model
Describes data value transformation
within a system.
Contains data flow diagram.
Data Flow Diagram is a graph whose
nodes are processes and whose arcs
are data flows.
Mrs S G Bavachkar ATS SBGI MIRAJ 15
Object-Oriented concepts
Abstraction
Encapsulation
Combining data and behavior
Sharing
Object structure, not Procedure
Structure
Synergy
Mrs S G Bavachkar ATS SBGI MIRAJ 16
Abstraction
 It consists of focusing on essential aspects of an entity and
ignoring accidental properties.
 The goal is to isolate those aspects that are important for some
purpose and suppress those aspects that are unimportant.
 Abstraction must always for some purpose because the purpose
determines what is and what is not important.
 Many different abstractions of same thing are possible,
depending on the purpose for which they are made.
 In building models, one must not search for absolute truth but for
adequacy for some purpose.
 A good model captures the crucial aspects of a problem and
omits the others.
 Focus on what an object is and does, not how to implement.
Mrs S G Bavachkar ATS SBGI MIRAJ 17
Mrs S G Bavachkar ATS SBGI MIRAJ 18
Encapsulation
Information hiding
Separating external aspects of an object
which are accessible to other objects,
from the internal implementation details
of the object, which are hidden from
other objects.
The implementation of an object can be
changed without affecting the
applications that use it.
Mrs S G Bavachkar ATS SBGI MIRAJ 19
Mrs S G Bavachkar ATS SBGI MIRAJ 20
Synergy
Identity, Classification, polymorphism
and inheritance can be used in isolation
but together they complement each
other synergistically.
Mrs S G Bavachkar ATS SBGI MIRAJ 21
Advantages of OOD……………
 Used in developing Compilers, Graphics, UI,
databases, Object oriented languages, CAD
systems, simulations, etc.
 Used to document existing programs that are
ill-structured and difficult to understand.
 Not reduces development time; it may take
more time than conventional development
because it is intended to promote future reuse
and reduce downstream errors and
maintenance.
Mrs S G Bavachkar ATS SBGI MIRAJ 22
Modeling
A model is an abstraction of something
for the purpose of understanding it
before building it.
The word model has 2 dimensions- a
view of a system ( object, dynamic or
functional) and a stage of development
( analysis, design or implementation)
Mrs S G Bavachkar ATS SBGI MIRAJ 23
Purpose –
Testing a physical entity before building
it
Communication with customers
Visualization
Reduction of complexity
Mrs S G Bavachkar ATS SBGI MIRAJ 24
Object Modeling
Captures static structure of a system-
Objects in the system
Attributes
operations
Mrs S G Bavachkar ATS SBGI MIRAJ 25
Objects
Define objects as a concept, abstraction
or thing with purposeful meaning.
Two purpose of objects-
Promote understanding of the real world
Provide a practical basis for computer
implementation.
All objects have identity and are
distinguishable.
Mrs S G Bavachkar ATS SBGI MIRAJ 26
Mrs S G Bavachkar ATS SBGI MIRAJ 27
Classes
An object class describes a group of
objects with similar properties
(attributes), common behavior
(operations), common relationships to
other objects and common semantics.
Mrs S G Bavachkar ATS SBGI MIRAJ 28
Object diagram
It provides a formal graphic notation for
modeling objects, classes and their
relationships to one another.
Types-
Class diagram
Instance diagram
Mrs S G Bavachkar ATS SBGI MIRAJ 29
Class diagram
A class diagram is a schema, pattern or
templates for describing many possible
instances of data.
Describes classes.
Mrs S G Bavachkar ATS SBGI MIRAJ 30
Instance diagram
Describes how a particular set of objects
relate to each other.
Describes objects
Mrs S G Bavachkar ATS SBGI MIRAJ 31
Person
Class Diagram
(Person)
Ram
(Person)
Jai
(Person)
Instance Diagram
Mrs S G Bavachkar ATS SBGI MIRAJ 32
Attribute
An attribute is a data value held by the
objects in a class.
Each attribute name is unique within a
class.
An attribute should be a pure data value,
not an object.
Mrs S G Bavachkar ATS SBGI MIRAJ 33
Object Modeling Notations
Person
name: string
age: integer
Class with Attributes
(Person)
Ram
24
(Person)
Jai
34
Objects with Values
Mrs S G Bavachkar ATS SBGI MIRAJ 34
Operations and Methods
 An operation is a function or transformation
that may be applied to or by objects in a class.
 All objects in a class share the same
operations.
 The same operation may apply to many
different classes.
 Such an operation is polymorphic i.e. the
same operation takes on different forms in
different classes.
 A method is the implementation of an
operation for a class.
Mrs S G Bavachkar ATS SBGI MIRAJ 35
Person
name
age
change-job
change-add
Person
name
age
change-job
change-add
Person
name
age
print
File
name
size
Operations
Mrs S G Bavachkar ATS SBGI MIRAJ 36
Links and Association
 Links and associations are the means for establishing
relationships among objects and classes.
 A link is a physical or conceptual connection between objects.
 A link is an instance of an association.
 An association describes a group of links with common structure
and semantics.
 All the links in an association connect objects from the same
classes.
 Association and links often appear as verbs in a problem
statement.
 An association describes a set of potential links in the same way
that a class describes a set of potential objects.
Mrs S G Bavachkar ATS SBGI MIRAJ 37
 Associations are bidirectional.
 In real, both directions of traversal are equally
meaningful and refer to same association.
 Associations are often implemented in
programming languages as pointers from one
object to another.
 A pointer is an attribute in one object that
contains an explicit reference to another
object.
Mrs S G Bavachkar ATS SBGI MIRAJ 38
A link shows a relationship between two
or more objects.
All connections among classes should
be modeled as association.
One-to-one association
Many-to-many association
Ternary association
Mrs S G Bavachkar ATS SBGI MIRAJ 39
Country
name
City
name
Has-capital
(Country)
India
(City)
Delhi
Has-capital
Has-capital
Class Diagram
Instance Diagram
One-to-One Association and links
Mrs S G Bavachkar ATS SBGI MIRAJ 40
Line
name
Point
name
intersects
2+
(Line)
L1
(Line)
L2
(Line)
L3
(Point)
P1
(Line)
L4
(Line)
L5
(Point)
P2
Many-to-many Association and links
Class Diagram
Instance Diagram
Mrs S G Bavachkar ATS SBGI MIRAJ 41
Project Language
Person
(Project)
MIS
(Language)
.Net
(Project)
CAD
(Language)
C
(Person)
Jai
Ternary Association and Links
Mrs S G Bavachkar ATS SBGI MIRAJ 42
Multiplicity
It specifies how many instances of one
class may relate to a single instance of an
associated class.
In OMT solid ball -> zero or more
Hollow ball -> optional (zero or one)
Multiplicity depends upon assumptions
and how you define the boundaries of a
problem.
Mrs S G Bavachkar ATS SBGI MIRAJ 43
Link attributes
An link attribute is a property of the links
in an association.
Mrs S G Bavachkar ATS SBGI MIRAJ 44
File User
Accessible By
Access permission
/etc/temp read Ram
/etc/temp read-write Mohan
/usr/lgn read-write Shyam
Link Attributes for a many-to-many association
Mrs S G Bavachkar ATS SBGI MIRAJ 45
Person
name
ssn
address
Company
Name
address
Works-for
Salary
Job-title
Performance rating
boss
manages
worker
Link attributes for one-to-many associations
Mrs S G Bavachkar ATS SBGI MIRAJ 46
Modeling an Association as a Class
Each link becomes one instance of the
class.
Mrs S G Bavachkar ATS SBGI MIRAJ 47
User Workstation
Authorized on
Authorization
Priority
Privileges
Start session
Directory
Home directory
Modeling an association as a class
Mrs S G Bavachkar ATS SBGI MIRAJ 48
Role Names
 A role is one end of an association.
 A binary association has 2 roles, each of
which may have a role name.
 A role name is a name that uniquely identifies
one end of an association.
 Roles often appear as nouns in problem
descriptions.
 Use of role name is optional.
 Role names are necessary for associations
between two objects of the same class.
Mrs S G Bavachkar ATS SBGI MIRAJ 49
person company
employee employer
Works-for
Employee Employer
Ram TCS
Mohan Wipro
Role names for an association
Mrs S G Bavachkar ATS SBGI MIRAJ 50
ordering
If order of objects required
Indicated by writing “{ordered}” next to
multiplicity dot for the role.
window screen
{ordered}
Visible-on
Ordered sets in an association
Mrs S G Bavachkar ATS SBGI MIRAJ 51
Qualification
 It relates two classes and a qualifier.
 Qualifier is a special attribute that reduces the
effective multiplicity of an association.
 One-to-many or many-to-many may be
qualified that can be reduced to one-to-one.
( but not always)
 It distinguishes among the set of objects at the
many end of an association.
 A qualified association can also be considered
a form of ternary association.
Mrs S G Bavachkar ATS SBGI MIRAJ 52
Directory FileFile name
A qualified association
A directory plus a file name yields a file
Mrs S G Bavachkar ATS SBGI MIRAJ 53
Company office Person
organization
officer
Mrs S G Bavachkar ATS SBGI MIRAJ 54
Aggregation
It is a part-of relationship
It has transitivity property i.e. A is part of
B and B is part of C then A is part of C.
It is anti symmetric i.e. if A is a part of B
then B is not a part of A.
Aggregation is a special form of
association.
Mrs S G Bavachkar ATS SBGI MIRAJ 55
document paragraph sentence
Aggregation
Mrs S G Bavachkar ATS SBGI MIRAJ 56
Aggregation
It is a form of association in which an
aggregate object is made of
components.
Components are part of aggregate.
Aggregate is inherently transitive i.e. an
aggregate has parts which may in turn
have parts.
Mrs S G Bavachkar ATS SBGI MIRAJ 57
Aggregation vs. Association
Aggregation is a special form of
association.
If two objects are tightly bound by a part-
whole relationship, it is an aggregation.
If two objects are usually considered as
independent even though they may often
be linked, it is an association.
Mrs S G Bavachkar ATS SBGI MIRAJ 58
A company is an aggregation of its
divisions which are in turn aggregations
of their departments; a company is
indirectly an aggregation of departments.
A company is not an aggregation of its
employees since the company and
person are independent objects of equal
structure and status.
Mrs S G Bavachkar ATS SBGI MIRAJ 59
company division department
person
Work for
Aggregation and Association
Mrs S G Bavachkar ATS SBGI MIRAJ 60
Generalization
It is a relationship between base class
and sub class.
It is “is-a” relationship because each
instance of a sub class is an instance of
super class as well.
Mrs S G Bavachkar ATS SBGI MIRAJ 61
Figure
Color
Pos
Thickness
Move
Select
Display
rotate
0 D 1 D 2 D
Point Line Arc Spline circlePolygon
Inheritance for graphic figure
Mrs S G Bavachkar ATS SBGI MIRAJ 62
Aggregation vs. Generalization
 Aggregation relates instances.
 Two distinct objects are involved; one of them
is a part of the other.
 Generalization relates classes.
 Aggregation is often called “a part of”
relationship; generalization is often called “a
kind-of” or “is-a” relationship.
 Aggregation is sometimes called an “and
relationship” and generalization refers to “or
relationship”
Mrs S G Bavachkar ATS SBGI MIRAJ 63
lamp
base cover switch wiring
incandescentfluorescent
part4part3part2part1
Aggregation and generalization
Mrs S G Bavachkar ATS SBGI MIRAJ 64
Aggregation can be fixed, variable or
recursive.
A fixed aggregate has a fixed structure;
the number and types of sub parts are
predefined e.g. lamp.
A variable aggregation has a finite
number of levels but number of parts
may vary e.g. company.
Mrs S G Bavachkar ATS SBGI MIRAJ 65
A recursive aggregation contains directly
or indirectly an instance of the same kind
of aggregate; the number of potential
levels is unlimited e.g. computer
program.
Mrs S G Bavachkar ATS SBGI MIRAJ 66
 Simple Statement:
x=i;
 Block(combination of more than one simple statements):
++i;
x=i;
 Compound Statement(single statement combines work of multiple
statement optionally blocks):
x=++i;
program
block
Compound
statement
Simple
statement
Recursive aggregate
Mrs S G Bavachkar ATS SBGI MIRAJ 67
Propagation of operations
Propagation (triggering) is automatic
application of an operation to a network
of objects when the operation is applied
to some starting object.
E.g. moving an aggregation moves its
parts; the move operation propagates to
the parts.
Mrs S G Bavachkar ATS SBGI MIRAJ 68
A person owns multiple documents.
Each document is composed of
paragraphs that are in turn composed of
characters. The copy operation
propagates from documents to
paragraphs to characters. Copying a
paragraph copies all the characters in it.
The operation does not propagate in
reverse direction.
Mrs S G Bavachkar ATS SBGI MIRAJ 69
Propagation can be possible for save,
destroy, print and lock.
Person Document
copy
Paragraph
copy
Character
copy
owns
copy copy
Propagation of operations
Mrs S G Bavachkar ATS SBGI MIRAJ 70
Abstract classes
An abstract class is a class that has no
direct instances but whose descendent
classes have direct instances.
A concrete class is a class that is
instantiable i.e. it can have direct
instances.
A concrete class may have abstract
subclasses but they must have concrete
descendents.
Mrs S G Bavachkar ATS SBGI MIRAJ 71
only concrete classes may be leaf
classes in the inheritance tree.
Mrs S G Bavachkar ATS SBGI MIRAJ 72
Abstract & concrete class
class
concrete abstractinstance
Leaf classNon leaf class
subclass
1+ 1+
subclass
Has subclasses
Has subclasses
superclass
superclass
Direct
instances
Mrs S G Bavachkar ATS SBGI MIRAJ 73
 Abstract classes organize features common to
several classes
 Abstract classes are frequently used to define
methods to be inherited by subclasses.
 An abstract class can define methods to be
inherited by subclasses.
 An abstract operation defines the form of an
operation for which each concrete subclass
must provide its own implementation.
Mrs S G Bavachkar ATS SBGI MIRAJ 74
Abstract class & abstract operation
Employee
Earning
Pay {abstract}
SLRD Employee
Earning
pay
HNRY Employee
Earning
pay
HRLY Employee
Earning
pay
Mrs S G Bavachkar ATS SBGI MIRAJ 75
Overriding operations
Reasons to use overriding-
For extension
For restriction
For optimization
For convenience
Mrs S G Bavachkar ATS SBGI MIRAJ 76
 Extension
The new operation is same as inherited except it adds some
behavior usually affecting new attributes of the subclass.
 Restriction
The new operation restricts the inherited.
 Optimization
The new method must have the same external protocol
(prototype) and results as the old one but its internal
representation and algorithm may differ completely.
 Convenience
The new class is made a subclass of the existing class and
overrides the methods that are inconvenient.
Mrs S G Bavachkar ATS SBGI MIRAJ 77
Multiple inheritance
 It permits to have more than one super class
and to inherit features from all parents.
 A class with more than one super class is
called a join class.
 A feature from the ancestor class found along
more than one path is inherited only once.
 Conflicts among parallel definitions create
ambiguities that must be resolved in
implementation.
Mrs S G Bavachkar ATS SBGI MIRAJ 78
vehicle
WatervehicleLandvehicle
boatamphibiousvehiclecar
Multiple inheritance from overlapping classes
[ join class ]
Overlapping Classes
Mrs S G Bavachkar ATS SBGI MIRAJ 79
A hollow triangle indicates disjoint
subclasses while a solid triangle
indicates overlapping subclasses.
Mrs S G Bavachkar ATS SBGI MIRAJ 80
Metadata
Metadata is data that describes other
data.
The definition of a class is metadata.
Models are metadata since they
describe the things being modeled.
RDBMS uses metadata.
Mrs S G Bavachkar ATS SBGI MIRAJ 81
A class describes a set of instances of a
given form.
Instantiation relates a class to its
instances.
The dotted arrows connect the instances
to the class.
It is also useful for documenting
examples and test cases.
Mrs S G Bavachkar ATS SBGI MIRAJ 82
Person
Name
Age
weight
(Person)
Name=ABC
Age=40
Weight=40
(Person)
Name=XYZ
Age=29
Weight=70
Notation for instantiation
Mrs S G Bavachkar ATS SBGI MIRAJ 83
Class descriptors
 Classes are meta objects and not real world objects.
 Class descriptors have features and they have their
own classes which are called meta classes.
 A class attribute describes a value common to an
entire class of objects rather than data particular to
each instance.
 Class attributes are useful for storing default
information for creating new objects or summary
information about instances of the class.
 A class operation is an operation on the class itself.
 The most common is to create new instances.
 Operations on class structure are class operations.
Mrs S G Bavachkar ATS SBGI MIRAJ 84
Class descriptors
Window
Size:rectangle
Visibility:boolean
Default_size:rectangle
Display
New_window
Highest_priority_window
Mrs S G Bavachkar ATS SBGI MIRAJ 85
Candidate keys
A candidate key is a minimal set of
attributes that uniquely identifies an
object or link.
A class may have one or more candidate
keys each of which may have different
combinations and numbers of attributes.
Each candidate key constrains the
instances in a class.
Notation is {}
Mrs S G Bavachkar ATS SBGI MIRAJ 86
constraints
These are functional relation between
entities of an object model.
Entity includes objects, classes,
attributes, links and associations.
A constraint restricts the values that
entities can assume.
Simple constraints may be placed in
object models and complex may be in
functional model.
Mrs S G Bavachkar ATS SBGI MIRAJ 87
Employee
salary
boss
{ salary < = boss.salary }
Window
Length
width
{ 0.8 <= length / width < = 1.5 }
Constraints on objects
Mrs S G Bavachkar ATS SBGI MIRAJ 88
General constraints
It must be expressed with natural
languages or equations.
Draw a dotted line between classes
involved in the constraint and specify the
details with comments in braces.
Person Committee
Member_of
Chair_of
{subset }
Mrs S G Bavachkar ATS SBGI MIRAJ 89
Derived objects, links and attributes
The notation for a derived entity is a
slash or diagonal line on the corner of a
class box, on an association line or in
front of an attribute.
Show the constraint that determines the
derived value. (optional)
Person
Birthdate
/age
Current date
{ age = currentdate – birthdate }
Mrs S G Bavachkar ATS SBGI MIRAJ 90
Homomorphism
 A mapping between mathematical structures of the same type
(eg groups or rings) that preserves the structure.
 similarity of form
 Homos = same & morphe = structure
 E.g. in a parts catalog for a automobile, a catalog item may
contain other catalog items.
 Each catalog item is specified by a model number that
corresponds to number of individual manufactured items, each
with its own serial number.
 The individual items are also composed of sub items.
 The structure of each item’s parts has the same form as the
catalog item’s parts.
 Thus the “contains” aggregation on catalog items is a
homomorphism of the “contains” aggregation on physical items.
Mrs S G Bavachkar ATS SBGI MIRAJ 91
Homomorphism
It maps between two associations.
catalogItem
Model#
Item
Sl#
contains
containsMaps
Describes
{ item 1 contains item 2 => item1.model contains item2.model }
Homomorphism for a parts catalog
Mrs S G Bavachkar ATS SBGI MIRAJ 92
 In general, a homomorphism involves 4
relationships among 4 classes.
 The homomorphism maps links of one general
association {u} into links of another general
association {t} as a many-to-one mapping.
 Two instantiation relationships map elements
of one class into another:
 r is a many-to-one mapping from class B to A and
 s is a many-to-one mapping from class D to C.
Mrs S G Bavachkar ATS SBGI MIRAJ 93
A
C
B
D
r
s
t u
{u ( b, d)=>t ( b.r, d.s ) }
General Homomorphism
Mrs S G Bavachkar ATS SBGI MIRAJ 94
In general where t is on a single class
and u is on a single class then A=C,
B=D and r=s.
Homomorphism is a special type of
relationship between relationships.
Mrs S G Bavachkar ATS SBGI MIRAJ 95
Dynamic Modeling
 First examine the system at a single moment of time.
 Then examine changes to objects and their
relationships over time.
 Those aspects of a system that are concerned with
time and changes are dynamic model, in contrast with
static or object model.
 Control is the aspect of a system that describes the
sequences of operations that occur in response to
external stimuli without considering what the operation
do, what they operate on, and how they are
implemented.
Mrs S G Bavachkar ATS SBGI MIRAJ 96
concepts
Events – represent external stimuli
States – values of objects
State diagram
Mrs S G Bavachkar ATS SBGI MIRAJ 97
Events
 It is something that happens at a point in time
 One event may logically precede or follow
another or the two events may be unrelated.
 The two events are casually related.
 The two events are casually unrelated are said
to be concurrent i.e. they have no effect on
each other.
 In modeling a system we do not establish an
ordering between concurrent events because
they can occur at any order.
Mrs S G Bavachkar ATS SBGI MIRAJ 98
An event is a one-way transmission of
information from one object to another.
In real world, all objects exist
concurrently.
An object sending an event to another
object may expect a reply but the reply is
a separate event under the control of the
second object which may or may not
choose to send it.
Mrs S G Bavachkar ATS SBGI MIRAJ 99
 Every event is a unique occurrence, but we group
them into event classes and give each event class a
name to indicate common structure and behavior.
 This structure is hierarchical as class structure.
 E.g. flight 123 departs from Delhi and flight 321
departs from Rome are instances of event class
airplane flight departs having attributes airline flight no,
city.
 The time at which an event occurs is an implicit
attribute of all events.
Mrs S G Bavachkar ATS SBGI MIRAJ 100
An event conveys information from one
object to another.
Some classes of events may be simply
signals that something has occurred
while other convey data values i.e.
attributes.
Showing attributes is optional.
Mrs S G Bavachkar ATS SBGI MIRAJ 101
Airplane flight departs (airline, flight#, city)
Mouse button pushed (button, location)
Input string entered (text)
Phone receiver lifted
Digit dialed (digit)
Event classes and attributes
Mrs S G Bavachkar ATS SBGI MIRAJ 102
Scenarios and event traces
 A scenario is a sequence of events that occurs
during one particular execution of a system.
 The scope of a scenario can vary; it may
include all events in the system or it may
include only those events generated by certain
objects in the system.
 It can be the historical record of executing a
system or a thought experiment of executing a
proposed system.
Mrs S G Bavachkar ATS SBGI MIRAJ 103
Caller lifts receiver
Dial tone begins
Caller dials digit (5)
Dial tone ends
Caller dials digit (5)
Caller dials digit (4)
Caller dials digit (3)
Caller dials digit (2)
Caller dials digit (1)
Called phone begins ringing
Ringing tone appears in calling phone
Called party answers
Called phone stops ringing
Ringing tone disappears in calling phone
Phones are connected
Called party hangs up
Phones are disconnected
Caller hangs up
Scenario for phone call
Mrs S G Bavachkar ATS SBGI MIRAJ 104
 The next step after writing scenario is to identify the
sender and receiver objects of each event.
 The sequence of events and the objects exchanging
events are shown in event trace diagram.
 This diagram shows each object as a vertical line and
each event as a horizontal arrow from the sender to
receiver objects.
 Time increases from top to bottom.
 Sequences of events are shown not their exact timing.
Mrs S G Bavachkar ATS SBGI MIRAJ 105
Event trace for phone call
Caller phone line callee
Caller lifts receiver
Dial tone begins
Caller dials digit (5)
Dial tone ends
Caller dials digit (5)
Caller dials digit (4)
Caller dials digit (3)
Caller dials digit (2)
Caller dials digit (1)
Called phone begins ringing phone rings
answer phone
ringing stops ringing stops
phones are connected phones connected
Callee hangs up
disconnected disconnected
Caller hangs up
Mrs S G Bavachkar ATS SBGI MIRAJ 106
States
 It is an abstraction of the attribute values and links of
an object.
 Set of values are grouped together into a state
according to properties that affect the gross behavior
of the object e.g. the state of bank is either solvent or
insolvent whether its assets are greater than liabilities.
 A state specifies the response of the object to input
events.
 Response is same for all values within the same state
and may be different for values in different states.
 Response of an object to an event may include an
action or change of states by the object.
Mrs S G Bavachkar ATS SBGI MIRAJ 107
A state has duration
An event separates two states and a
state separates two events.
In defining states we ignore those
attributes that do not affect the behavior
of the objects.
Mrs S G Bavachkar ATS SBGI MIRAJ 108
State diagram
It relates events and states.
When an event is received, the next
state depends on the current state as
well as the event; a change of state
caused by an event is called a transition.
State diagram is a graph whose nodes
are states and whose directed arcs are
transitions labeled by event names.
Mrs S G Bavachkar ATS SBGI MIRAJ 109
idle
Timed- out
disconnected
Busy tone
Fast busy tone
Dial tone
dialing
connecting
ringing
connected
Recorded message
On-hook
On-hook
Off-hook
Tim
e_out
Digit(n)
Invalid no
valid
routed
Called phone answers
Called phone hangs up
Trunk busy
Num busy
State diagram for phone line
Mrs S G Bavachkar ATS SBGI MIRAJ 110
 A state diagram describes the behavior of a
single class.
 Since all instances of a class have same
behavior they all share the same state
diagram as they all share the same class
features.
 But as each object has its own attribute values
so each object has its own state.
 Each object is independent of the other
objects and proceeds as its own pace.
Mrs S G Bavachkar ATS SBGI MIRAJ 111
Conditions
A condition is a Boolean function of
object values.
When Ram goes out in morning( event),
if the temperature is below
freezing( condition), then he puts on his
gloves (next state).
Notation is [condition]
Mrs S G Bavachkar ATS SBGI MIRAJ 112
Operations
 An activity is an operation that takes time to complete.
 An activity is associated with a state.
 Notation “do:A” within a state box indicates that activity A starts
on entry to the state and stops on exit.
 An action is an instantaneous operation.
 An operation is associated with an event.
 An action represents an operation whose duration is insignificant
compared to the state diagram e.g. disconnect phone line might
be an action in response to an on_hook event for phone line.
 Actions can also represent internal control operations such as
setting attributes or generating other events.
 The notation for an action is (“/”) and the name of action,
following the name of the event that causes it.
Mrs S G Bavachkar ATS SBGI MIRAJ 113
Action for pop-up menu
idle Menu visible
Right button down/display menu
Right button up/erase menu
Cursor moved/highlight menu item
Mrs S G Bavachkar ATS SBGI MIRAJ 114
State1
do:activity1
State2
do:activity1
Event1 (attributes)[condition1]/action1
Mrs S G Bavachkar ATS SBGI MIRAJ 115
Sate generalization
A nested state diagram is a form of
generalization on states.
Generalization is “or-relation”.
States may have sub states that inherit
the transitions of their super states just
as classes have subclasses that inherit
the attributes and operations of their
super classes.
Mrs S G Bavachkar ATS SBGI MIRAJ 116
Aggregation and its concurrent state
diagram
Car
Ignition Transmission Brake Accelerator
Ignition
off starting on
Turn key to
start[Transmission
in Neutral] Released Key
Turn key off
Mrs S G Bavachkar ATS SBGI MIRAJ 117
Sate of car transmission with
generalization
Transmission
Neutral Reverse
Push R
Push N
Forward
First Second Third
upshift upshift
downshift downshift
Stop
Push N Push F
Mrs S G Bavachkar ATS SBGI MIRAJ 118
Accelerator
Off On
press
Release
Accelerator
Off
Brake
Off On
press
Release
Mrs S G Bavachkar ATS SBGI MIRAJ 119
Functional Modeling
Mrs S G Bavachkar ATS SBGI MIRAJ 120
It specifies the results of a computation
without specifying how or when they are
computed.
It specifies the meaning of operations in
object model and actions in dynamic
model as well as constraints in object
model.
Functional model exists where
transformation is a key factor.
Mrs S G Bavachkar ATS SBGI MIRAJ 121
DFD
 It shows the functional relationships of the
values computed by a system, including input
values, output values and internal data stores.
 A DFD is a graph showing the flow of data
values from their sources in objects through
processes that transform them to their
destinations in other objects.
 It does not show control information like time,
etc.
Mrs S G Bavachkar ATS SBGI MIRAJ 122
Elements of DFD
Processes -> Transform data
Data flow -> move data
Actor ->objects that produce and consume
data.
Data store -> objects that store data
passively.
ProcessName
actorName
Data_storeName
Information/operation
that modify stored data
Information received from
stored data
Mrs S G Bavachkar ATS SBGI MIRAJ 123
Data Stores
 It is a passive object within the graph that
stores data.
 It does not generate any operation but merely
responds to requests to store and access
data.
 It is drawn as a pair of parallel lines containing
the name of the store.
 Input arrows indicate information or operations
that modify the stored data.
 Output arrows indicate information retrieved
from data store.
 In general data store is implemented as a file.
Mrs S G Bavachkar ATS SBGI MIRAJ 124
Data store for temprature readings..
Readings
Max temp
Min temp
Mrs S G Bavachkar ATS SBGI MIRAJ 125
Data store for bank account
Customer
withdrawl
-
Account
balance
Double headed arrow indicates that balance is both an i/p and o/p of
Subtract operation.
Mrs S G Bavachkar ATS SBGI MIRAJ 126
Data store for price list for items
Price list
Item_name
cost
Find costItem name cost
Mrs S G Bavachkar ATS SBGI MIRAJ 127
A data flow that generates an object
used as the target of another operation
is indicated by a hollow triangle at the
end of data flow.
Bank Accountselectaccounts
Customer
name
update
request
balance
( i/p and o/p)
Selection with an object as result
Mrs S G Bavachkar ATS SBGI MIRAJ 128
Creation of new object
Create account Bank
account
AccountCustomer
Name, deposit
account
Mrs S G Bavachkar ATS SBGI MIRAJ 129
Nested DFD
The nesting of a diagram is also called
leveling.
A process can be expanded into another
DFD.
Mrs S G Bavachkar ATS SBGI MIRAJ 130
Control Flows
A data flow diagram shows all possible
computation paths for values.
Decisions and sequencing are control
issues that are part of dynamic model.
It is sometime useful to include it in
functional model so that they can not be
forgotten. This is done by including
control flows in DFD.
Mrs S G Bavachkar ATS SBGI MIRAJ 131
A control flow is a Boolean value that
affects whether a process is evaluated
or not.
It is shown by a dotted line from a
process producing a Boolean value to
the process being controlled.
Mrs S G Bavachkar ATS SBGI MIRAJ 132
customer update
verify
Account
password
amount
cash
Coded password
Password
OK
balance
Mrs S G Bavachkar ATS SBGI MIRAJ 133
Specifying Operations
Each operation may be specified as-
Mathematical functions
Table of input and output values.
Equations
Pre and post conditions
Decisions tables
Pseudo code, etc
Mrs S G Bavachkar ATS SBGI MIRAJ 134
Specification of an operation includes a
signature and a transformation.
Signature defines the interface to the
operation i.e. arguments, value returns.
The transformation defines the effect of
an operation i.e. the output values and
the side effects of the operation on its
operand objects.
Mrs S G Bavachkar ATS SBGI MIRAJ 135
Operations can be divided into three
parts-
Queries
Actions
Activities
Mrs S G Bavachkar ATS SBGI MIRAJ 136
Query
 A query is an operation that has no side
effects on externally visible state of any object.
 An action is a transformation that has side
effects on the target object or other objects in
the system reachable from the target object.
 Actions can be defined by mathematical
equations, decision trees, decision tables, etc.
Mrs S G Bavachkar ATS SBGI MIRAJ 137
Activity
It is an operation to or by an object that
has duration in time.
It has inherently side effects because of
its extension in time.
Activity only make sense for actors.
Mrs S G Bavachkar ATS SBGI MIRAJ 138
constraints
 It shows the relationship between two objects at the
same time (frequency and wavelength )Or between
different values of the same object at different times
(no of outstanding shares of mutual fund).
 It can appear in each model.
 Object constraints specify that some objects depend
entirely or partially on other objects.
 Dynamic constraints specify relationships among the
states or events of different objects.
 Functional constraints specify restrictions on
operations.
 A constraint between values of an object over time is
called as invariant i.e. it specifies that some functions
of values remain constant over time.
Mrs S G Bavachkar ATS SBGI MIRAJ 139
FM Vs OM & DM
FM shows what has to be done by a
system.
The object model shows the “doers”- the
object.
DM shows the sequences in which the
operations are performed.
The three models come together in the
implementation of methods.
FM is a guide to the methods.
Mrs S G Bavachkar ATS SBGI MIRAJ 140
A process is usually implemented as a
method.
Actors and data stores are objects in the
object model.
Data flows are values in object model.
Mrs S G Bavachkar ATS SBGI MIRAJ 141
Relative to functional model the object
model shows the structure of the actors,
data store and flows.
Relative to functional model the dynamic
model shows the sequence in which
processes are performed.
Mrs S G Bavachkar ATS SBGI MIRAJ 142
Relative to object model the functional
model shows the operations on classes
and the arguments of each operations.
Relative to object model the dynamic
model shows the states of each object
and the operations that are performed as
it receives events and changes state.
Mrs S G Bavachkar ATS SBGI MIRAJ 143
Relative to dynamic model the functional
model shows the definition of actions
and activities that are undefined with
dynamic model.
Relative to dynamic model the object
model shows what changes state and
undergoes operations.
Mrs S G Bavachkar ATS SBGI MIRAJ 144
Structured analysis/structured
design (SA/SD)
During analysis DFD, data dictionary,
state transition diagram and ER diagram
are used to logically describe a system.
In the design phase, details are added to
the analysis models and the DFDs are
converted into structure chart describing
program language code.
Mrs S G Bavachkar ATS SBGI MIRAJ 145
Data dictionary
A paragraph is written that precisely
describe each class.
Describe the scope of class, any
assumptions, restrictions.
It also describes associations, attributes
and operations.
Mrs S G Bavachkar ATS SBGI MIRAJ 146
SA/SD and OMT
 Both support object, dynamic and functional
model for a system.
 OMT designs are dominated by object
modeling while SA/SD stresses on functional
decomposition.
 SA/SD organizes a system around procedures
while OMT organizes a system around real
world objects or conceptual objects that exist
in user’s view of the world.
Mrs S G Bavachkar ATS SBGI MIRAJ 147
 SA/SD is useful for problems where functions
are more important and complex than data.
 SA/SD design has a clearly defined system
boundary across which the software
procedures must communicate with the real
world. so it can be difficult to extend a SA/SD
design to a new boundary.
 It is much easier to extend object oriented
design; one merely design adds objects and
relationships.
Mrs S G Bavachkar ATS SBGI MIRAJ 148
 In SA/SD the decomposition of a process into
sub process is somewhat arbitrary.
 Different people will produce different
decomposition.
 In OMT the decomposition is based on objects
in problem domain, so developers of different
programs in same domain tend to discover
similar objects. This increases reusability of
components from one project to the next.
Mrs S G Bavachkar ATS SBGI MIRAJ 149
An OMT approach better integrates
database with programming code.
Object oriented database may improve
the situation.
In contrast, SA/SD is inherently awkward
at dealing with databases. It is difficult to
merge programming code organized
about functions with database organized
with data.
Mrs S G Bavachkar ATS SBGI MIRAJ 150
Reasons to use SA/SD
Programmers have tended to think in
terms of functions so data flow based
method have been easier to learn.
Another reason is historical; SA/SD was
one of the first well-thought-out formal
approach to software and system
development.
Mrs S G Bavachkar ATS SBGI MIRAJ 151
Jackson Structured Development
(JSD )
 Developed by Michael Jackson
 Popular in Europe.
 It does not distinguish between analysis and
design rather lumps both phases together as
specification.
 It first determine “what” and then “how”
 It is useful for application where timing is
important.
 It is less graphical oriented than SA/SD and
OMT.
Mrs S G Bavachkar ATS SBGI MIRAJ 152
JSD model describes the real world in
terms of entities, action and ordering of
actions.
Entities usually appear as nouns in
requirements statements and actions
appear as verbs.
JSD consists of six sequential steps-
Mrs S G Bavachkar ATS SBGI MIRAJ 153
Entity action
Entity structure
Initial model
Function
System timing
implementation
Mrs S G Bavachkar ATS SBGI MIRAJ 154
Entity action
The software developer lists entities and
actions for part of real world.
The purpose is to guide the choice of
entities and actions for overall system.
The input to this step is requirement
statement
The output is list of entities and actions.
Mrs S G Bavachkar ATS SBGI MIRAJ 155
The entity structure step partially orders
the actions of each entity by time.
The initial model step states how the real
world connects to the abstract model.
The function step uses pseudo code to
state outputs of actions.
At the end of this step the developer has
a complete specification of required
system.
Mrs S G Bavachkar ATS SBGI MIRAJ 156
The system timing step considers how
much the model is permitted to gap the
real world.
The implementation step focuses on the
problems of processes scheduling and
allocates processors to processes.
Mrs S G Bavachkar ATS SBGI MIRAJ 157
JSD and OMT
JSD is more obscure than data flow and
object-oriented approaches.
One reason for this is its reliance on
pseudo codes; graphical models are
easier to understand.
It is also complex because it was
specifically designed to handle difficult
real time problems
Mrs S G Bavachkar ATS SBGI MIRAJ 158
JSD is useful in applications like-
 More emphasis on actions and less on
attributes.
 Where processed must synchronize with each
other
 Real time software
 Microcode. It is thorough and makes no
assumptions about the availability of an
operating system and considers synchronized
processing and timing.
 Programming parallel computers.
Mrs S G Bavachkar ATS SBGI MIRAJ 159
JSD is ill suited for applications like-
High level analysis. It is ineffective at
abstraction and simplification.
Databses. It is biased towards actions
and away from entities and attributes. It
is poor technique for database design.
Conventional software running under an
operating system. Its abstraction of
hundreds or thousands of processes is
confusing and unnecessary.

More Related Content

What's hot

UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbolsKumar
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)Simran Kaur
 
Ooad lab manual
Ooad  lab manualOoad  lab manual
Ooad lab manualPraseela R
 
Modeling- Object, Dynamic and Functional
Modeling- Object, Dynamic and FunctionalModeling- Object, Dynamic and Functional
Modeling- Object, Dynamic and FunctionalRajani Bhandari
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineeringRupesh Vaishnav
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML DiagramsManish Kumar
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignHaitham El-Ghareeb
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12koolkampus
 
Object Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLObject Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLMalek Sumaiya
 
Sequence diagram- UML diagram
Sequence diagram- UML diagramSequence diagram- UML diagram
Sequence diagram- UML diagramRamakant Soni
 
Object Oriented Design Concept
Object Oriented Design ConceptObject Oriented Design Concept
Object Oriented Design ConceptSharath g
 
Reusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOADReusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOADShivani Kapoor
 
Object Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLObject Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLAjit Nayak
 
OOAD - System Analysis and Design
OOAD - System Analysis and Design OOAD - System Analysis and Design
OOAD - System Analysis and Design Murugeswari Ravi
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)Manoj Reddy
 

What's hot (20)

Ooad unit – 1 introduction
Ooad unit – 1 introductionOoad unit – 1 introduction
Ooad unit – 1 introduction
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbols
 
System modeling
System modelingSystem modeling
System modeling
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)
 
Ooad lab manual
Ooad  lab manualOoad  lab manual
Ooad lab manual
 
Modeling- Object, Dynamic and Functional
Modeling- Object, Dynamic and FunctionalModeling- Object, Dynamic and Functional
Modeling- Object, Dynamic and Functional
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12
 
Object Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLObject Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UML
 
Relational algebra in dbms
Relational algebra in dbmsRelational algebra in dbms
Relational algebra in dbms
 
Sequence diagram- UML diagram
Sequence diagram- UML diagramSequence diagram- UML diagram
Sequence diagram- UML diagram
 
Class Diagram
Class DiagramClass Diagram
Class Diagram
 
Object Oriented Design Concept
Object Oriented Design ConceptObject Oriented Design Concept
Object Oriented Design Concept
 
Reusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOADReusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOAD
 
Object Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLObject Oriented Analysis Design using UML
Object Oriented Analysis Design using UML
 
OOAD - System Analysis and Design
OOAD - System Analysis and Design OOAD - System Analysis and Design
OOAD - System Analysis and Design
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)
 

Viewers also liked

OMD chapter 2 Class modelling
 OMD  chapter 2 Class modelling OMD  chapter 2 Class modelling
OMD chapter 2 Class modellingjayashri kolekar
 
A&D - Object Oriented Design using UML
A&D - Object Oriented Design using UMLA&D - Object Oriented Design using UML
A&D - Object Oriented Design using UMLvinay arora
 
Object Oriented Concept
Object Oriented ConceptObject Oriented Concept
Object Oriented Conceptsmj
 
OOMD2015_KSP
OOMD2015_KSPOOMD2015_KSP
OOMD2015_KSPktosri
 
object oriented uml modeling for traveler management system
object oriented uml modeling for traveler management systemobject oriented uml modeling for traveler management system
object oriented uml modeling for traveler management systemhriday81
 
Testing Concurrent Programs to Achieve High Synchronization Coverage
Testing Concurrent Programs to Achieve High Synchronization CoverageTesting Concurrent Programs to Achieve High Synchronization Coverage
Testing Concurrent Programs to Achieve High Synchronization CoverageSangmin Park
 
What is technology ?
What is technology ?What is technology ?
What is technology ?Shimul Haldar
 
Humres Building Envelope Brochure
Humres Building Envelope BrochureHumres Building Envelope Brochure
Humres Building Envelope BrochureEmmett Griffin
 
Business Idea Competition: Concept Innovate
Business Idea Competition: Concept InnovateBusiness Idea Competition: Concept Innovate
Business Idea Competition: Concept InnovatePrateek Diwan
 
Cogntiive IoT Platforms
Cogntiive IoT PlatformsCogntiive IoT Platforms
Cogntiive IoT PlatformsKal Gyimesi
 
Measurement reflection week 8
Measurement reflection week 8Measurement reflection week 8
Measurement reflection week 8Room4CPS
 
UniBarter_final_deck
UniBarter_final_deckUniBarter_final_deck
UniBarter_final_deckPrateek Diwan
 
Send Text Messages Online
Send Text Messages OnlineSend Text Messages Online
Send Text Messages OnlineMessage Hero
 
Junior’s sch assembly item
Junior’s sch assembly itemJunior’s sch assembly item
Junior’s sch assembly itemRoom4CPS
 

Viewers also liked (20)

OMD chapter 2 Class modelling
 OMD  chapter 2 Class modelling OMD  chapter 2 Class modelling
OMD chapter 2 Class modelling
 
A&D - Object Oriented Design using UML
A&D - Object Oriented Design using UMLA&D - Object Oriented Design using UML
A&D - Object Oriented Design using UML
 
Object Oriented Concept
Object Oriented ConceptObject Oriented Concept
Object Oriented Concept
 
OOMD2015_KSP
OOMD2015_KSPOOMD2015_KSP
OOMD2015_KSP
 
object oriented uml modeling for traveler management system
object oriented uml modeling for traveler management systemobject oriented uml modeling for traveler management system
object oriented uml modeling for traveler management system
 
Cse 5 8sem
Cse 5 8semCse 5 8sem
Cse 5 8sem
 
Testing Concurrent Programs to Achieve High Synchronization Coverage
Testing Concurrent Programs to Achieve High Synchronization CoverageTesting Concurrent Programs to Achieve High Synchronization Coverage
Testing Concurrent Programs to Achieve High Synchronization Coverage
 
MTP for MCA
MTP for MCAMTP for MCA
MTP for MCA
 
Dynamic modeling
Dynamic modelingDynamic modeling
Dynamic modeling
 
What is technology ?
What is technology ?What is technology ?
What is technology ?
 
AMP.K-4
AMP.K-4AMP.K-4
AMP.K-4
 
Gestores de contenidos
Gestores de contenidosGestores de contenidos
Gestores de contenidos
 
Humres Building Envelope Brochure
Humres Building Envelope BrochureHumres Building Envelope Brochure
Humres Building Envelope Brochure
 
Business Idea Competition: Concept Innovate
Business Idea Competition: Concept InnovateBusiness Idea Competition: Concept Innovate
Business Idea Competition: Concept Innovate
 
Cogntiive IoT Platforms
Cogntiive IoT PlatformsCogntiive IoT Platforms
Cogntiive IoT Platforms
 
Measurement reflection week 8
Measurement reflection week 8Measurement reflection week 8
Measurement reflection week 8
 
UniBarter_final_deck
UniBarter_final_deckUniBarter_final_deck
UniBarter_final_deck
 
Got grit2
Got grit2Got grit2
Got grit2
 
Send Text Messages Online
Send Text Messages OnlineSend Text Messages Online
Send Text Messages Online
 
Junior’s sch assembly item
Junior’s sch assembly itemJunior’s sch assembly item
Junior’s sch assembly item
 

Similar to Object oriented modeling and design

Oomd2015
Oomd2015Oomd2015
Oomd2015ktosri
 
Object-Oriented Analysis and Design
Object-Oriented Analysis and DesignObject-Oriented Analysis and Design
Object-Oriented Analysis and DesignIJOAEM
 
What is Object Orientation?
What is Object Orientation?What is Object Orientation?
What is Object Orientation?AMITJain879
 
Introduction to Object orientation , Modeling as a Design Technique Modeling ...
Introduction to Object orientation , Modeling as a Design Technique Modeling ...Introduction to Object orientation , Modeling as a Design Technique Modeling ...
Introduction to Object orientation , Modeling as a Design Technique Modeling ...DhwaniDesai21
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentRishabh Soni
 
Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdfSHIVAM691605
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UMLyndaravind
 
CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V pkaviya
 
Applying sys ml_with_magicdraw
Applying sys ml_with_magicdrawApplying sys ml_with_magicdraw
Applying sys ml_with_magicdrawelheshk
 
System designing approaches
System designing approachesSystem designing approaches
System designing approachesJaipal Dhobale
 
OOAD unit1 introduction to object orientation
 OOAD unit1 introduction to object orientation OOAD unit1 introduction to object orientation
OOAD unit1 introduction to object orientationDr Chetan Shelke
 
unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdf
unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdfunit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdf
unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdfRojaPogul1
 
Introduction to design patterns
Introduction to design patternsIntroduction to design patterns
Introduction to design patternsAmit Kabra
 
Adaptive guidance model based similarity for software process development pro...
Adaptive guidance model based similarity for software process development pro...Adaptive guidance model based similarity for software process development pro...
Adaptive guidance model based similarity for software process development pro...ijseajournal
 
Object Oriented Database
Object Oriented DatabaseObject Oriented Database
Object Oriented DatabaseMegan Espinoza
 

Similar to Object oriented modeling and design (20)

Oomd2015
Oomd2015Oomd2015
Oomd2015
 
Object-Oriented Analysis and Design
Object-Oriented Analysis and DesignObject-Oriented Analysis and Design
Object-Oriented Analysis and Design
 
What is Object Orientation?
What is Object Orientation?What is Object Orientation?
What is Object Orientation?
 
Oomd unit1
Oomd unit1Oomd unit1
Oomd unit1
 
Introduction to Object orientation , Modeling as a Design Technique Modeling ...
Introduction to Object orientation , Modeling as a Design Technique Modeling ...Introduction to Object orientation , Modeling as a Design Technique Modeling ...
Introduction to Object orientation , Modeling as a Design Technique Modeling ...
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software Development
 
Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdf
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V
 
Object oriented analysis and design unit- iv
Object oriented analysis and design unit- ivObject oriented analysis and design unit- iv
Object oriented analysis and design unit- iv
 
TEST PPT
TEST PPTTEST PPT
TEST PPT
 
Ooad
OoadOoad
Ooad
 
Sda 7
Sda   7Sda   7
Sda 7
 
Applying sys ml_with_magicdraw
Applying sys ml_with_magicdrawApplying sys ml_with_magicdraw
Applying sys ml_with_magicdraw
 
System designing approaches
System designing approachesSystem designing approaches
System designing approaches
 
OOAD unit1 introduction to object orientation
 OOAD unit1 introduction to object orientation OOAD unit1 introduction to object orientation
OOAD unit1 introduction to object orientation
 
unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdf
unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdfunit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdf
unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdf
 
Introduction to design patterns
Introduction to design patternsIntroduction to design patterns
Introduction to design patterns
 
Adaptive guidance model based similarity for software process development pro...
Adaptive guidance model based similarity for software process development pro...Adaptive guidance model based similarity for software process development pro...
Adaptive guidance model based similarity for software process development pro...
 
Object Oriented Database
Object Oriented DatabaseObject Oriented Database
Object Oriented Database
 

Recently uploaded

Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 

Recently uploaded (20)

young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 

Object oriented modeling and design

  • 1. Mrs S G Bavachkar ATS SBGI MIRAJ 1 Object-oriented modeling and design
  • 2. Mrs S G Bavachkar ATS SBGI MIRAJ 2 Introduction  It is a new way of thinking about problems using models based on real world concepts.  The basic construct is object which combines both data structure and behavior in a single entity.  Rambaugh presents an object oriented software development methodology, the Object Modeling Technique (OMT) which extends from analysis through design to implementation.
  • 3. Mrs S G Bavachkar ATS SBGI MIRAJ 3  Analysis model is built to abstract essential aspects of application domain which contains objects found in application, their properties and behavior.  Then design model is made to describe and optimize the implementation.  Finally the design model is implemented in a programming language, database or hardware.  Graphical notation is used for expressing object-oriented models.
  • 4. Mrs S G Bavachkar ATS SBGI MIRAJ 4 What is object-oriented?  Software is organized as a collection of discrete objects that incorporate both data structure and behavior.  In general it includes- identity, classification, polymorphism and inheritance.  Object Oriented Programming Language = Object Based Programming Language(e.g. '83 Ada and Modula-2) + Inheritance + Dynamic Binding
  • 5. Mrs S G Bavachkar ATS SBGI MIRAJ 5 Identity  Identity means that data is organized into discrete, distinguishable entities called objects.  Objects can be concrete or conceptual.  In real world an object simply exist but within a programming language each object has a unique handle by which it can be uniquely referenced.  The handle can be implemented by address, array index or unique value of an attribute.
  • 6. Mrs S G Bavachkar ATS SBGI MIRAJ 6 Classification It means that objects with same data structure (attribute) and behavior (operations) are grouped into a class. A class is an abstraction that describes important properties and ignores the rest.
  • 7. Mrs S G Bavachkar ATS SBGI MIRAJ 7 Polymorphism It means that the same operation (i.e. action or transformation that the object performs) may behave differently on different classes. Specific implementation of an operation by a certain class is called a method.
  • 8. Mrs S G Bavachkar ATS SBGI MIRAJ 8 Inheritance It is the sharing of attributes and operations among classes based on a hierarchical relationship. Subclasses can be formed from broadly defined class. Each subclass incorporates or inherits all the properties of its super class and adds its own unique properties.
  • 9. Mrs S G Bavachkar ATS SBGI MIRAJ 9 Object-oriented development?  The theme is the identification and organization of application concepts rather than final representation in a prog. Language.  OOD approach encourages software developers to work and think in terms of the application domain through most of the software engineering life cycle.  It is a conceptual process independent of a programming language until the final stage.
  • 10. Mrs S G Bavachkar ATS SBGI MIRAJ 10 Object-oriented methodology Stages- Analysis System design Object design implementation
  • 11. Mrs S G Bavachkar ATS SBGI MIRAJ 11 3 models Object model Dynamic model Functional model
  • 12. Mrs S G Bavachkar ATS SBGI MIRAJ 12 Object model Describes basic structure of objects and their relationship Contains object diagram Object diagram is a graph whose nodes are object classes (Classes) and whose arcs are relationships among classes.
  • 13. Mrs S G Bavachkar ATS SBGI MIRAJ 13 Dynamic model Describes the aspects of a system that change over time. It specifies and implement control aspects of a system. Contains state diagram. State diagram is a graph whose nodes are states and whose arcs are data- flows.
  • 14. Mrs S G Bavachkar ATS SBGI MIRAJ 14 Functional Model Describes data value transformation within a system. Contains data flow diagram. Data Flow Diagram is a graph whose nodes are processes and whose arcs are data flows.
  • 15. Mrs S G Bavachkar ATS SBGI MIRAJ 15 Object-Oriented concepts Abstraction Encapsulation Combining data and behavior Sharing Object structure, not Procedure Structure Synergy
  • 16. Mrs S G Bavachkar ATS SBGI MIRAJ 16 Abstraction  It consists of focusing on essential aspects of an entity and ignoring accidental properties.  The goal is to isolate those aspects that are important for some purpose and suppress those aspects that are unimportant.  Abstraction must always for some purpose because the purpose determines what is and what is not important.  Many different abstractions of same thing are possible, depending on the purpose for which they are made.  In building models, one must not search for absolute truth but for adequacy for some purpose.  A good model captures the crucial aspects of a problem and omits the others.  Focus on what an object is and does, not how to implement.
  • 17. Mrs S G Bavachkar ATS SBGI MIRAJ 17
  • 18. Mrs S G Bavachkar ATS SBGI MIRAJ 18 Encapsulation Information hiding Separating external aspects of an object which are accessible to other objects, from the internal implementation details of the object, which are hidden from other objects. The implementation of an object can be changed without affecting the applications that use it.
  • 19. Mrs S G Bavachkar ATS SBGI MIRAJ 19
  • 20. Mrs S G Bavachkar ATS SBGI MIRAJ 20 Synergy Identity, Classification, polymorphism and inheritance can be used in isolation but together they complement each other synergistically.
  • 21. Mrs S G Bavachkar ATS SBGI MIRAJ 21 Advantages of OOD……………  Used in developing Compilers, Graphics, UI, databases, Object oriented languages, CAD systems, simulations, etc.  Used to document existing programs that are ill-structured and difficult to understand.  Not reduces development time; it may take more time than conventional development because it is intended to promote future reuse and reduce downstream errors and maintenance.
  • 22. Mrs S G Bavachkar ATS SBGI MIRAJ 22 Modeling A model is an abstraction of something for the purpose of understanding it before building it. The word model has 2 dimensions- a view of a system ( object, dynamic or functional) and a stage of development ( analysis, design or implementation)
  • 23. Mrs S G Bavachkar ATS SBGI MIRAJ 23 Purpose – Testing a physical entity before building it Communication with customers Visualization Reduction of complexity
  • 24. Mrs S G Bavachkar ATS SBGI MIRAJ 24 Object Modeling Captures static structure of a system- Objects in the system Attributes operations
  • 25. Mrs S G Bavachkar ATS SBGI MIRAJ 25 Objects Define objects as a concept, abstraction or thing with purposeful meaning. Two purpose of objects- Promote understanding of the real world Provide a practical basis for computer implementation. All objects have identity and are distinguishable.
  • 26. Mrs S G Bavachkar ATS SBGI MIRAJ 26
  • 27. Mrs S G Bavachkar ATS SBGI MIRAJ 27 Classes An object class describes a group of objects with similar properties (attributes), common behavior (operations), common relationships to other objects and common semantics.
  • 28. Mrs S G Bavachkar ATS SBGI MIRAJ 28 Object diagram It provides a formal graphic notation for modeling objects, classes and their relationships to one another. Types- Class diagram Instance diagram
  • 29. Mrs S G Bavachkar ATS SBGI MIRAJ 29 Class diagram A class diagram is a schema, pattern or templates for describing many possible instances of data. Describes classes.
  • 30. Mrs S G Bavachkar ATS SBGI MIRAJ 30 Instance diagram Describes how a particular set of objects relate to each other. Describes objects
  • 31. Mrs S G Bavachkar ATS SBGI MIRAJ 31 Person Class Diagram (Person) Ram (Person) Jai (Person) Instance Diagram
  • 32. Mrs S G Bavachkar ATS SBGI MIRAJ 32 Attribute An attribute is a data value held by the objects in a class. Each attribute name is unique within a class. An attribute should be a pure data value, not an object.
  • 33. Mrs S G Bavachkar ATS SBGI MIRAJ 33 Object Modeling Notations Person name: string age: integer Class with Attributes (Person) Ram 24 (Person) Jai 34 Objects with Values
  • 34. Mrs S G Bavachkar ATS SBGI MIRAJ 34 Operations and Methods  An operation is a function or transformation that may be applied to or by objects in a class.  All objects in a class share the same operations.  The same operation may apply to many different classes.  Such an operation is polymorphic i.e. the same operation takes on different forms in different classes.  A method is the implementation of an operation for a class.
  • 35. Mrs S G Bavachkar ATS SBGI MIRAJ 35 Person name age change-job change-add Person name age change-job change-add Person name age print File name size Operations
  • 36. Mrs S G Bavachkar ATS SBGI MIRAJ 36 Links and Association  Links and associations are the means for establishing relationships among objects and classes.  A link is a physical or conceptual connection between objects.  A link is an instance of an association.  An association describes a group of links with common structure and semantics.  All the links in an association connect objects from the same classes.  Association and links often appear as verbs in a problem statement.  An association describes a set of potential links in the same way that a class describes a set of potential objects.
  • 37. Mrs S G Bavachkar ATS SBGI MIRAJ 37  Associations are bidirectional.  In real, both directions of traversal are equally meaningful and refer to same association.  Associations are often implemented in programming languages as pointers from one object to another.  A pointer is an attribute in one object that contains an explicit reference to another object.
  • 38. Mrs S G Bavachkar ATS SBGI MIRAJ 38 A link shows a relationship between two or more objects. All connections among classes should be modeled as association. One-to-one association Many-to-many association Ternary association
  • 39. Mrs S G Bavachkar ATS SBGI MIRAJ 39 Country name City name Has-capital (Country) India (City) Delhi Has-capital Has-capital Class Diagram Instance Diagram One-to-One Association and links
  • 40. Mrs S G Bavachkar ATS SBGI MIRAJ 40 Line name Point name intersects 2+ (Line) L1 (Line) L2 (Line) L3 (Point) P1 (Line) L4 (Line) L5 (Point) P2 Many-to-many Association and links Class Diagram Instance Diagram
  • 41. Mrs S G Bavachkar ATS SBGI MIRAJ 41 Project Language Person (Project) MIS (Language) .Net (Project) CAD (Language) C (Person) Jai Ternary Association and Links
  • 42. Mrs S G Bavachkar ATS SBGI MIRAJ 42 Multiplicity It specifies how many instances of one class may relate to a single instance of an associated class. In OMT solid ball -> zero or more Hollow ball -> optional (zero or one) Multiplicity depends upon assumptions and how you define the boundaries of a problem.
  • 43. Mrs S G Bavachkar ATS SBGI MIRAJ 43 Link attributes An link attribute is a property of the links in an association.
  • 44. Mrs S G Bavachkar ATS SBGI MIRAJ 44 File User Accessible By Access permission /etc/temp read Ram /etc/temp read-write Mohan /usr/lgn read-write Shyam Link Attributes for a many-to-many association
  • 45. Mrs S G Bavachkar ATS SBGI MIRAJ 45 Person name ssn address Company Name address Works-for Salary Job-title Performance rating boss manages worker Link attributes for one-to-many associations
  • 46. Mrs S G Bavachkar ATS SBGI MIRAJ 46 Modeling an Association as a Class Each link becomes one instance of the class.
  • 47. Mrs S G Bavachkar ATS SBGI MIRAJ 47 User Workstation Authorized on Authorization Priority Privileges Start session Directory Home directory Modeling an association as a class
  • 48. Mrs S G Bavachkar ATS SBGI MIRAJ 48 Role Names  A role is one end of an association.  A binary association has 2 roles, each of which may have a role name.  A role name is a name that uniquely identifies one end of an association.  Roles often appear as nouns in problem descriptions.  Use of role name is optional.  Role names are necessary for associations between two objects of the same class.
  • 49. Mrs S G Bavachkar ATS SBGI MIRAJ 49 person company employee employer Works-for Employee Employer Ram TCS Mohan Wipro Role names for an association
  • 50. Mrs S G Bavachkar ATS SBGI MIRAJ 50 ordering If order of objects required Indicated by writing “{ordered}” next to multiplicity dot for the role. window screen {ordered} Visible-on Ordered sets in an association
  • 51. Mrs S G Bavachkar ATS SBGI MIRAJ 51 Qualification  It relates two classes and a qualifier.  Qualifier is a special attribute that reduces the effective multiplicity of an association.  One-to-many or many-to-many may be qualified that can be reduced to one-to-one. ( but not always)  It distinguishes among the set of objects at the many end of an association.  A qualified association can also be considered a form of ternary association.
  • 52. Mrs S G Bavachkar ATS SBGI MIRAJ 52 Directory FileFile name A qualified association A directory plus a file name yields a file
  • 53. Mrs S G Bavachkar ATS SBGI MIRAJ 53 Company office Person organization officer
  • 54. Mrs S G Bavachkar ATS SBGI MIRAJ 54 Aggregation It is a part-of relationship It has transitivity property i.e. A is part of B and B is part of C then A is part of C. It is anti symmetric i.e. if A is a part of B then B is not a part of A. Aggregation is a special form of association.
  • 55. Mrs S G Bavachkar ATS SBGI MIRAJ 55 document paragraph sentence Aggregation
  • 56. Mrs S G Bavachkar ATS SBGI MIRAJ 56 Aggregation It is a form of association in which an aggregate object is made of components. Components are part of aggregate. Aggregate is inherently transitive i.e. an aggregate has parts which may in turn have parts.
  • 57. Mrs S G Bavachkar ATS SBGI MIRAJ 57 Aggregation vs. Association Aggregation is a special form of association. If two objects are tightly bound by a part- whole relationship, it is an aggregation. If two objects are usually considered as independent even though they may often be linked, it is an association.
  • 58. Mrs S G Bavachkar ATS SBGI MIRAJ 58 A company is an aggregation of its divisions which are in turn aggregations of their departments; a company is indirectly an aggregation of departments. A company is not an aggregation of its employees since the company and person are independent objects of equal structure and status.
  • 59. Mrs S G Bavachkar ATS SBGI MIRAJ 59 company division department person Work for Aggregation and Association
  • 60. Mrs S G Bavachkar ATS SBGI MIRAJ 60 Generalization It is a relationship between base class and sub class. It is “is-a” relationship because each instance of a sub class is an instance of super class as well.
  • 61. Mrs S G Bavachkar ATS SBGI MIRAJ 61 Figure Color Pos Thickness Move Select Display rotate 0 D 1 D 2 D Point Line Arc Spline circlePolygon Inheritance for graphic figure
  • 62. Mrs S G Bavachkar ATS SBGI MIRAJ 62 Aggregation vs. Generalization  Aggregation relates instances.  Two distinct objects are involved; one of them is a part of the other.  Generalization relates classes.  Aggregation is often called “a part of” relationship; generalization is often called “a kind-of” or “is-a” relationship.  Aggregation is sometimes called an “and relationship” and generalization refers to “or relationship”
  • 63. Mrs S G Bavachkar ATS SBGI MIRAJ 63 lamp base cover switch wiring incandescentfluorescent part4part3part2part1 Aggregation and generalization
  • 64. Mrs S G Bavachkar ATS SBGI MIRAJ 64 Aggregation can be fixed, variable or recursive. A fixed aggregate has a fixed structure; the number and types of sub parts are predefined e.g. lamp. A variable aggregation has a finite number of levels but number of parts may vary e.g. company.
  • 65. Mrs S G Bavachkar ATS SBGI MIRAJ 65 A recursive aggregation contains directly or indirectly an instance of the same kind of aggregate; the number of potential levels is unlimited e.g. computer program.
  • 66. Mrs S G Bavachkar ATS SBGI MIRAJ 66  Simple Statement: x=i;  Block(combination of more than one simple statements): ++i; x=i;  Compound Statement(single statement combines work of multiple statement optionally blocks): x=++i; program block Compound statement Simple statement Recursive aggregate
  • 67. Mrs S G Bavachkar ATS SBGI MIRAJ 67 Propagation of operations Propagation (triggering) is automatic application of an operation to a network of objects when the operation is applied to some starting object. E.g. moving an aggregation moves its parts; the move operation propagates to the parts.
  • 68. Mrs S G Bavachkar ATS SBGI MIRAJ 68 A person owns multiple documents. Each document is composed of paragraphs that are in turn composed of characters. The copy operation propagates from documents to paragraphs to characters. Copying a paragraph copies all the characters in it. The operation does not propagate in reverse direction.
  • 69. Mrs S G Bavachkar ATS SBGI MIRAJ 69 Propagation can be possible for save, destroy, print and lock. Person Document copy Paragraph copy Character copy owns copy copy Propagation of operations
  • 70. Mrs S G Bavachkar ATS SBGI MIRAJ 70 Abstract classes An abstract class is a class that has no direct instances but whose descendent classes have direct instances. A concrete class is a class that is instantiable i.e. it can have direct instances. A concrete class may have abstract subclasses but they must have concrete descendents.
  • 71. Mrs S G Bavachkar ATS SBGI MIRAJ 71 only concrete classes may be leaf classes in the inheritance tree.
  • 72. Mrs S G Bavachkar ATS SBGI MIRAJ 72 Abstract & concrete class class concrete abstractinstance Leaf classNon leaf class subclass 1+ 1+ subclass Has subclasses Has subclasses superclass superclass Direct instances
  • 73. Mrs S G Bavachkar ATS SBGI MIRAJ 73  Abstract classes organize features common to several classes  Abstract classes are frequently used to define methods to be inherited by subclasses.  An abstract class can define methods to be inherited by subclasses.  An abstract operation defines the form of an operation for which each concrete subclass must provide its own implementation.
  • 74. Mrs S G Bavachkar ATS SBGI MIRAJ 74 Abstract class & abstract operation Employee Earning Pay {abstract} SLRD Employee Earning pay HNRY Employee Earning pay HRLY Employee Earning pay
  • 75. Mrs S G Bavachkar ATS SBGI MIRAJ 75 Overriding operations Reasons to use overriding- For extension For restriction For optimization For convenience
  • 76. Mrs S G Bavachkar ATS SBGI MIRAJ 76  Extension The new operation is same as inherited except it adds some behavior usually affecting new attributes of the subclass.  Restriction The new operation restricts the inherited.  Optimization The new method must have the same external protocol (prototype) and results as the old one but its internal representation and algorithm may differ completely.  Convenience The new class is made a subclass of the existing class and overrides the methods that are inconvenient.
  • 77. Mrs S G Bavachkar ATS SBGI MIRAJ 77 Multiple inheritance  It permits to have more than one super class and to inherit features from all parents.  A class with more than one super class is called a join class.  A feature from the ancestor class found along more than one path is inherited only once.  Conflicts among parallel definitions create ambiguities that must be resolved in implementation.
  • 78. Mrs S G Bavachkar ATS SBGI MIRAJ 78 vehicle WatervehicleLandvehicle boatamphibiousvehiclecar Multiple inheritance from overlapping classes [ join class ] Overlapping Classes
  • 79. Mrs S G Bavachkar ATS SBGI MIRAJ 79 A hollow triangle indicates disjoint subclasses while a solid triangle indicates overlapping subclasses.
  • 80. Mrs S G Bavachkar ATS SBGI MIRAJ 80 Metadata Metadata is data that describes other data. The definition of a class is metadata. Models are metadata since they describe the things being modeled. RDBMS uses metadata.
  • 81. Mrs S G Bavachkar ATS SBGI MIRAJ 81 A class describes a set of instances of a given form. Instantiation relates a class to its instances. The dotted arrows connect the instances to the class. It is also useful for documenting examples and test cases.
  • 82. Mrs S G Bavachkar ATS SBGI MIRAJ 82 Person Name Age weight (Person) Name=ABC Age=40 Weight=40 (Person) Name=XYZ Age=29 Weight=70 Notation for instantiation
  • 83. Mrs S G Bavachkar ATS SBGI MIRAJ 83 Class descriptors  Classes are meta objects and not real world objects.  Class descriptors have features and they have their own classes which are called meta classes.  A class attribute describes a value common to an entire class of objects rather than data particular to each instance.  Class attributes are useful for storing default information for creating new objects or summary information about instances of the class.  A class operation is an operation on the class itself.  The most common is to create new instances.  Operations on class structure are class operations.
  • 84. Mrs S G Bavachkar ATS SBGI MIRAJ 84 Class descriptors Window Size:rectangle Visibility:boolean Default_size:rectangle Display New_window Highest_priority_window
  • 85. Mrs S G Bavachkar ATS SBGI MIRAJ 85 Candidate keys A candidate key is a minimal set of attributes that uniquely identifies an object or link. A class may have one or more candidate keys each of which may have different combinations and numbers of attributes. Each candidate key constrains the instances in a class. Notation is {}
  • 86. Mrs S G Bavachkar ATS SBGI MIRAJ 86 constraints These are functional relation between entities of an object model. Entity includes objects, classes, attributes, links and associations. A constraint restricts the values that entities can assume. Simple constraints may be placed in object models and complex may be in functional model.
  • 87. Mrs S G Bavachkar ATS SBGI MIRAJ 87 Employee salary boss { salary < = boss.salary } Window Length width { 0.8 <= length / width < = 1.5 } Constraints on objects
  • 88. Mrs S G Bavachkar ATS SBGI MIRAJ 88 General constraints It must be expressed with natural languages or equations. Draw a dotted line between classes involved in the constraint and specify the details with comments in braces. Person Committee Member_of Chair_of {subset }
  • 89. Mrs S G Bavachkar ATS SBGI MIRAJ 89 Derived objects, links and attributes The notation for a derived entity is a slash or diagonal line on the corner of a class box, on an association line or in front of an attribute. Show the constraint that determines the derived value. (optional) Person Birthdate /age Current date { age = currentdate – birthdate }
  • 90. Mrs S G Bavachkar ATS SBGI MIRAJ 90 Homomorphism  A mapping between mathematical structures of the same type (eg groups or rings) that preserves the structure.  similarity of form  Homos = same & morphe = structure  E.g. in a parts catalog for a automobile, a catalog item may contain other catalog items.  Each catalog item is specified by a model number that corresponds to number of individual manufactured items, each with its own serial number.  The individual items are also composed of sub items.  The structure of each item’s parts has the same form as the catalog item’s parts.  Thus the “contains” aggregation on catalog items is a homomorphism of the “contains” aggregation on physical items.
  • 91. Mrs S G Bavachkar ATS SBGI MIRAJ 91 Homomorphism It maps between two associations. catalogItem Model# Item Sl# contains containsMaps Describes { item 1 contains item 2 => item1.model contains item2.model } Homomorphism for a parts catalog
  • 92. Mrs S G Bavachkar ATS SBGI MIRAJ 92  In general, a homomorphism involves 4 relationships among 4 classes.  The homomorphism maps links of one general association {u} into links of another general association {t} as a many-to-one mapping.  Two instantiation relationships map elements of one class into another:  r is a many-to-one mapping from class B to A and  s is a many-to-one mapping from class D to C.
  • 93. Mrs S G Bavachkar ATS SBGI MIRAJ 93 A C B D r s t u {u ( b, d)=>t ( b.r, d.s ) } General Homomorphism
  • 94. Mrs S G Bavachkar ATS SBGI MIRAJ 94 In general where t is on a single class and u is on a single class then A=C, B=D and r=s. Homomorphism is a special type of relationship between relationships.
  • 95. Mrs S G Bavachkar ATS SBGI MIRAJ 95 Dynamic Modeling  First examine the system at a single moment of time.  Then examine changes to objects and their relationships over time.  Those aspects of a system that are concerned with time and changes are dynamic model, in contrast with static or object model.  Control is the aspect of a system that describes the sequences of operations that occur in response to external stimuli without considering what the operation do, what they operate on, and how they are implemented.
  • 96. Mrs S G Bavachkar ATS SBGI MIRAJ 96 concepts Events – represent external stimuli States – values of objects State diagram
  • 97. Mrs S G Bavachkar ATS SBGI MIRAJ 97 Events  It is something that happens at a point in time  One event may logically precede or follow another or the two events may be unrelated.  The two events are casually related.  The two events are casually unrelated are said to be concurrent i.e. they have no effect on each other.  In modeling a system we do not establish an ordering between concurrent events because they can occur at any order.
  • 98. Mrs S G Bavachkar ATS SBGI MIRAJ 98 An event is a one-way transmission of information from one object to another. In real world, all objects exist concurrently. An object sending an event to another object may expect a reply but the reply is a separate event under the control of the second object which may or may not choose to send it.
  • 99. Mrs S G Bavachkar ATS SBGI MIRAJ 99  Every event is a unique occurrence, but we group them into event classes and give each event class a name to indicate common structure and behavior.  This structure is hierarchical as class structure.  E.g. flight 123 departs from Delhi and flight 321 departs from Rome are instances of event class airplane flight departs having attributes airline flight no, city.  The time at which an event occurs is an implicit attribute of all events.
  • 100. Mrs S G Bavachkar ATS SBGI MIRAJ 100 An event conveys information from one object to another. Some classes of events may be simply signals that something has occurred while other convey data values i.e. attributes. Showing attributes is optional.
  • 101. Mrs S G Bavachkar ATS SBGI MIRAJ 101 Airplane flight departs (airline, flight#, city) Mouse button pushed (button, location) Input string entered (text) Phone receiver lifted Digit dialed (digit) Event classes and attributes
  • 102. Mrs S G Bavachkar ATS SBGI MIRAJ 102 Scenarios and event traces  A scenario is a sequence of events that occurs during one particular execution of a system.  The scope of a scenario can vary; it may include all events in the system or it may include only those events generated by certain objects in the system.  It can be the historical record of executing a system or a thought experiment of executing a proposed system.
  • 103. Mrs S G Bavachkar ATS SBGI MIRAJ 103 Caller lifts receiver Dial tone begins Caller dials digit (5) Dial tone ends Caller dials digit (5) Caller dials digit (4) Caller dials digit (3) Caller dials digit (2) Caller dials digit (1) Called phone begins ringing Ringing tone appears in calling phone Called party answers Called phone stops ringing Ringing tone disappears in calling phone Phones are connected Called party hangs up Phones are disconnected Caller hangs up Scenario for phone call
  • 104. Mrs S G Bavachkar ATS SBGI MIRAJ 104  The next step after writing scenario is to identify the sender and receiver objects of each event.  The sequence of events and the objects exchanging events are shown in event trace diagram.  This diagram shows each object as a vertical line and each event as a horizontal arrow from the sender to receiver objects.  Time increases from top to bottom.  Sequences of events are shown not their exact timing.
  • 105. Mrs S G Bavachkar ATS SBGI MIRAJ 105 Event trace for phone call Caller phone line callee Caller lifts receiver Dial tone begins Caller dials digit (5) Dial tone ends Caller dials digit (5) Caller dials digit (4) Caller dials digit (3) Caller dials digit (2) Caller dials digit (1) Called phone begins ringing phone rings answer phone ringing stops ringing stops phones are connected phones connected Callee hangs up disconnected disconnected Caller hangs up
  • 106. Mrs S G Bavachkar ATS SBGI MIRAJ 106 States  It is an abstraction of the attribute values and links of an object.  Set of values are grouped together into a state according to properties that affect the gross behavior of the object e.g. the state of bank is either solvent or insolvent whether its assets are greater than liabilities.  A state specifies the response of the object to input events.  Response is same for all values within the same state and may be different for values in different states.  Response of an object to an event may include an action or change of states by the object.
  • 107. Mrs S G Bavachkar ATS SBGI MIRAJ 107 A state has duration An event separates two states and a state separates two events. In defining states we ignore those attributes that do not affect the behavior of the objects.
  • 108. Mrs S G Bavachkar ATS SBGI MIRAJ 108 State diagram It relates events and states. When an event is received, the next state depends on the current state as well as the event; a change of state caused by an event is called a transition. State diagram is a graph whose nodes are states and whose directed arcs are transitions labeled by event names.
  • 109. Mrs S G Bavachkar ATS SBGI MIRAJ 109 idle Timed- out disconnected Busy tone Fast busy tone Dial tone dialing connecting ringing connected Recorded message On-hook On-hook Off-hook Tim e_out Digit(n) Invalid no valid routed Called phone answers Called phone hangs up Trunk busy Num busy State diagram for phone line
  • 110. Mrs S G Bavachkar ATS SBGI MIRAJ 110  A state diagram describes the behavior of a single class.  Since all instances of a class have same behavior they all share the same state diagram as they all share the same class features.  But as each object has its own attribute values so each object has its own state.  Each object is independent of the other objects and proceeds as its own pace.
  • 111. Mrs S G Bavachkar ATS SBGI MIRAJ 111 Conditions A condition is a Boolean function of object values. When Ram goes out in morning( event), if the temperature is below freezing( condition), then he puts on his gloves (next state). Notation is [condition]
  • 112. Mrs S G Bavachkar ATS SBGI MIRAJ 112 Operations  An activity is an operation that takes time to complete.  An activity is associated with a state.  Notation “do:A” within a state box indicates that activity A starts on entry to the state and stops on exit.  An action is an instantaneous operation.  An operation is associated with an event.  An action represents an operation whose duration is insignificant compared to the state diagram e.g. disconnect phone line might be an action in response to an on_hook event for phone line.  Actions can also represent internal control operations such as setting attributes or generating other events.  The notation for an action is (“/”) and the name of action, following the name of the event that causes it.
  • 113. Mrs S G Bavachkar ATS SBGI MIRAJ 113 Action for pop-up menu idle Menu visible Right button down/display menu Right button up/erase menu Cursor moved/highlight menu item
  • 114. Mrs S G Bavachkar ATS SBGI MIRAJ 114 State1 do:activity1 State2 do:activity1 Event1 (attributes)[condition1]/action1
  • 115. Mrs S G Bavachkar ATS SBGI MIRAJ 115 Sate generalization A nested state diagram is a form of generalization on states. Generalization is “or-relation”. States may have sub states that inherit the transitions of their super states just as classes have subclasses that inherit the attributes and operations of their super classes.
  • 116. Mrs S G Bavachkar ATS SBGI MIRAJ 116 Aggregation and its concurrent state diagram Car Ignition Transmission Brake Accelerator Ignition off starting on Turn key to start[Transmission in Neutral] Released Key Turn key off
  • 117. Mrs S G Bavachkar ATS SBGI MIRAJ 117 Sate of car transmission with generalization Transmission Neutral Reverse Push R Push N Forward First Second Third upshift upshift downshift downshift Stop Push N Push F
  • 118. Mrs S G Bavachkar ATS SBGI MIRAJ 118 Accelerator Off On press Release Accelerator Off Brake Off On press Release
  • 119. Mrs S G Bavachkar ATS SBGI MIRAJ 119 Functional Modeling
  • 120. Mrs S G Bavachkar ATS SBGI MIRAJ 120 It specifies the results of a computation without specifying how or when they are computed. It specifies the meaning of operations in object model and actions in dynamic model as well as constraints in object model. Functional model exists where transformation is a key factor.
  • 121. Mrs S G Bavachkar ATS SBGI MIRAJ 121 DFD  It shows the functional relationships of the values computed by a system, including input values, output values and internal data stores.  A DFD is a graph showing the flow of data values from their sources in objects through processes that transform them to their destinations in other objects.  It does not show control information like time, etc.
  • 122. Mrs S G Bavachkar ATS SBGI MIRAJ 122 Elements of DFD Processes -> Transform data Data flow -> move data Actor ->objects that produce and consume data. Data store -> objects that store data passively. ProcessName actorName Data_storeName Information/operation that modify stored data Information received from stored data
  • 123. Mrs S G Bavachkar ATS SBGI MIRAJ 123 Data Stores  It is a passive object within the graph that stores data.  It does not generate any operation but merely responds to requests to store and access data.  It is drawn as a pair of parallel lines containing the name of the store.  Input arrows indicate information or operations that modify the stored data.  Output arrows indicate information retrieved from data store.  In general data store is implemented as a file.
  • 124. Mrs S G Bavachkar ATS SBGI MIRAJ 124 Data store for temprature readings.. Readings Max temp Min temp
  • 125. Mrs S G Bavachkar ATS SBGI MIRAJ 125 Data store for bank account Customer withdrawl - Account balance Double headed arrow indicates that balance is both an i/p and o/p of Subtract operation.
  • 126. Mrs S G Bavachkar ATS SBGI MIRAJ 126 Data store for price list for items Price list Item_name cost Find costItem name cost
  • 127. Mrs S G Bavachkar ATS SBGI MIRAJ 127 A data flow that generates an object used as the target of another operation is indicated by a hollow triangle at the end of data flow. Bank Accountselectaccounts Customer name update request balance ( i/p and o/p) Selection with an object as result
  • 128. Mrs S G Bavachkar ATS SBGI MIRAJ 128 Creation of new object Create account Bank account AccountCustomer Name, deposit account
  • 129. Mrs S G Bavachkar ATS SBGI MIRAJ 129 Nested DFD The nesting of a diagram is also called leveling. A process can be expanded into another DFD.
  • 130. Mrs S G Bavachkar ATS SBGI MIRAJ 130 Control Flows A data flow diagram shows all possible computation paths for values. Decisions and sequencing are control issues that are part of dynamic model. It is sometime useful to include it in functional model so that they can not be forgotten. This is done by including control flows in DFD.
  • 131. Mrs S G Bavachkar ATS SBGI MIRAJ 131 A control flow is a Boolean value that affects whether a process is evaluated or not. It is shown by a dotted line from a process producing a Boolean value to the process being controlled.
  • 132. Mrs S G Bavachkar ATS SBGI MIRAJ 132 customer update verify Account password amount cash Coded password Password OK balance
  • 133. Mrs S G Bavachkar ATS SBGI MIRAJ 133 Specifying Operations Each operation may be specified as- Mathematical functions Table of input and output values. Equations Pre and post conditions Decisions tables Pseudo code, etc
  • 134. Mrs S G Bavachkar ATS SBGI MIRAJ 134 Specification of an operation includes a signature and a transformation. Signature defines the interface to the operation i.e. arguments, value returns. The transformation defines the effect of an operation i.e. the output values and the side effects of the operation on its operand objects.
  • 135. Mrs S G Bavachkar ATS SBGI MIRAJ 135 Operations can be divided into three parts- Queries Actions Activities
  • 136. Mrs S G Bavachkar ATS SBGI MIRAJ 136 Query  A query is an operation that has no side effects on externally visible state of any object.  An action is a transformation that has side effects on the target object or other objects in the system reachable from the target object.  Actions can be defined by mathematical equations, decision trees, decision tables, etc.
  • 137. Mrs S G Bavachkar ATS SBGI MIRAJ 137 Activity It is an operation to or by an object that has duration in time. It has inherently side effects because of its extension in time. Activity only make sense for actors.
  • 138. Mrs S G Bavachkar ATS SBGI MIRAJ 138 constraints  It shows the relationship between two objects at the same time (frequency and wavelength )Or between different values of the same object at different times (no of outstanding shares of mutual fund).  It can appear in each model.  Object constraints specify that some objects depend entirely or partially on other objects.  Dynamic constraints specify relationships among the states or events of different objects.  Functional constraints specify restrictions on operations.  A constraint between values of an object over time is called as invariant i.e. it specifies that some functions of values remain constant over time.
  • 139. Mrs S G Bavachkar ATS SBGI MIRAJ 139 FM Vs OM & DM FM shows what has to be done by a system. The object model shows the “doers”- the object. DM shows the sequences in which the operations are performed. The three models come together in the implementation of methods. FM is a guide to the methods.
  • 140. Mrs S G Bavachkar ATS SBGI MIRAJ 140 A process is usually implemented as a method. Actors and data stores are objects in the object model. Data flows are values in object model.
  • 141. Mrs S G Bavachkar ATS SBGI MIRAJ 141 Relative to functional model the object model shows the structure of the actors, data store and flows. Relative to functional model the dynamic model shows the sequence in which processes are performed.
  • 142. Mrs S G Bavachkar ATS SBGI MIRAJ 142 Relative to object model the functional model shows the operations on classes and the arguments of each operations. Relative to object model the dynamic model shows the states of each object and the operations that are performed as it receives events and changes state.
  • 143. Mrs S G Bavachkar ATS SBGI MIRAJ 143 Relative to dynamic model the functional model shows the definition of actions and activities that are undefined with dynamic model. Relative to dynamic model the object model shows what changes state and undergoes operations.
  • 144. Mrs S G Bavachkar ATS SBGI MIRAJ 144 Structured analysis/structured design (SA/SD) During analysis DFD, data dictionary, state transition diagram and ER diagram are used to logically describe a system. In the design phase, details are added to the analysis models and the DFDs are converted into structure chart describing program language code.
  • 145. Mrs S G Bavachkar ATS SBGI MIRAJ 145 Data dictionary A paragraph is written that precisely describe each class. Describe the scope of class, any assumptions, restrictions. It also describes associations, attributes and operations.
  • 146. Mrs S G Bavachkar ATS SBGI MIRAJ 146 SA/SD and OMT  Both support object, dynamic and functional model for a system.  OMT designs are dominated by object modeling while SA/SD stresses on functional decomposition.  SA/SD organizes a system around procedures while OMT organizes a system around real world objects or conceptual objects that exist in user’s view of the world.
  • 147. Mrs S G Bavachkar ATS SBGI MIRAJ 147  SA/SD is useful for problems where functions are more important and complex than data.  SA/SD design has a clearly defined system boundary across which the software procedures must communicate with the real world. so it can be difficult to extend a SA/SD design to a new boundary.  It is much easier to extend object oriented design; one merely design adds objects and relationships.
  • 148. Mrs S G Bavachkar ATS SBGI MIRAJ 148  In SA/SD the decomposition of a process into sub process is somewhat arbitrary.  Different people will produce different decomposition.  In OMT the decomposition is based on objects in problem domain, so developers of different programs in same domain tend to discover similar objects. This increases reusability of components from one project to the next.
  • 149. Mrs S G Bavachkar ATS SBGI MIRAJ 149 An OMT approach better integrates database with programming code. Object oriented database may improve the situation. In contrast, SA/SD is inherently awkward at dealing with databases. It is difficult to merge programming code organized about functions with database organized with data.
  • 150. Mrs S G Bavachkar ATS SBGI MIRAJ 150 Reasons to use SA/SD Programmers have tended to think in terms of functions so data flow based method have been easier to learn. Another reason is historical; SA/SD was one of the first well-thought-out formal approach to software and system development.
  • 151. Mrs S G Bavachkar ATS SBGI MIRAJ 151 Jackson Structured Development (JSD )  Developed by Michael Jackson  Popular in Europe.  It does not distinguish between analysis and design rather lumps both phases together as specification.  It first determine “what” and then “how”  It is useful for application where timing is important.  It is less graphical oriented than SA/SD and OMT.
  • 152. Mrs S G Bavachkar ATS SBGI MIRAJ 152 JSD model describes the real world in terms of entities, action and ordering of actions. Entities usually appear as nouns in requirements statements and actions appear as verbs. JSD consists of six sequential steps-
  • 153. Mrs S G Bavachkar ATS SBGI MIRAJ 153 Entity action Entity structure Initial model Function System timing implementation
  • 154. Mrs S G Bavachkar ATS SBGI MIRAJ 154 Entity action The software developer lists entities and actions for part of real world. The purpose is to guide the choice of entities and actions for overall system. The input to this step is requirement statement The output is list of entities and actions.
  • 155. Mrs S G Bavachkar ATS SBGI MIRAJ 155 The entity structure step partially orders the actions of each entity by time. The initial model step states how the real world connects to the abstract model. The function step uses pseudo code to state outputs of actions. At the end of this step the developer has a complete specification of required system.
  • 156. Mrs S G Bavachkar ATS SBGI MIRAJ 156 The system timing step considers how much the model is permitted to gap the real world. The implementation step focuses on the problems of processes scheduling and allocates processors to processes.
  • 157. Mrs S G Bavachkar ATS SBGI MIRAJ 157 JSD and OMT JSD is more obscure than data flow and object-oriented approaches. One reason for this is its reliance on pseudo codes; graphical models are easier to understand. It is also complex because it was specifically designed to handle difficult real time problems
  • 158. Mrs S G Bavachkar ATS SBGI MIRAJ 158 JSD is useful in applications like-  More emphasis on actions and less on attributes.  Where processed must synchronize with each other  Real time software  Microcode. It is thorough and makes no assumptions about the availability of an operating system and considers synchronized processing and timing.  Programming parallel computers.
  • 159. Mrs S G Bavachkar ATS SBGI MIRAJ 159 JSD is ill suited for applications like- High level analysis. It is ineffective at abstraction and simplification. Databses. It is biased towards actions and away from entities and attributes. It is poor technique for database design. Conventional software running under an operating system. Its abstraction of hundreds or thousands of processes is confusing and unnecessary.