Ch08 - Object and Class Structuring
Ch08 - Object and Class Structuring
2 / 18
Overview
• Requirement modeling is to understand
the problem domain
– Use case modeling: actors, UCs, UC diagrams
– Static modeling: class/object relationships, system
context class diagrams, software context class
diagrams, entity class models
• Object and Class Structuring are to determine
the software objects in the system
– The emphasis is on software objects that model real-
world objects in the problem domain
– The application classes are categorized in order to
group together classes with similar characteristics
3 / 18
Overview
Object & Class Structuring Categories 1/3
4 / 18
Overview
Object & Class Structuring Categories 2/3
5 / 18
Overview
Object & Class Structuring Categories 3/3
6 / 18
External Classes
& Software Boundary Classes
8 / 18
Control Classes & Objects
A control object provides the overall coordination of
the objects that realize a use case.
Simple use cases do not need control objects.
However, in a more complex use case, a control object
is usually needed.
A control object is analogous to the conductor of an
orchestra, who orchestrates (controls) the behavior of
the other objects that participate in the use case,
notifying each object when and what it should
perform.
9 / 18
Control Classes & Objects
Categories of Control Objects
Depending on the
characteristics of the use case,
the control object may be
state-dependent or timer
objects
• A state-dependent control object is a control object
whose behavior varies in each of its states
• A timer object is a control object that is activated by
an external timer – for example, a real-time clock or
operating system clock. The timer object either
performs some action itself or activates another
object to perform the desired action
10 / 18
Control Classes & Objects
State-dependent Control Object
A state-dependent control
object receives incoming
events that cause state
transitions and generates
output events that control
other objects.
• The output event generated by a state-dependent control object
depends not only on the input received by the object but also on
the current state of the object.
• Example: state-dependent control object ATM Control is defined
by means of the ATM Control state-chart. In the example, ATM
Control is shown controlling two other output boundary objects,
Receipt Printer Interface and Cash Dispenser Interface.
11 / 18
Application Logic Classes & Objects
Business Logic Objects 1/2
12 / 18
Application Logic Classes & Objects
Business Logic Objects 2/2
13 / 18
Application Logic Classes & Objects
Algorithm Objects 1/2
15 / 18
Application Logic Classes & Objects
Service Objects 1/2
17 / 18