Chapter 8 Object and Class Structuring - Part 1
Chapter 8 Object and Class Structuring - Part 1
Object and class structuring criteria are provided to assist the designer in
structuring a system into objects.
2. Modeling application classes and objects
Chapter 7: only entity class
Classes are categorized in order to group together classes with similar
characteristics.
This classification
process is
analogous to
classifying books
in a library
3. Object and class structuring categories
Objects and classes are categorized according to the roles they play in the
application.
There are four main object and class structuring categories:
1. Entity object (persistent) encapsulates information and provides access to the information it
stores. In some cases, an entity object could be accessed via a service object.
2. Boundary object. Software object that interfaces to and communicates with the external
environment:
⁃ User interaction object interacts with and interfaces to a human user.
⁃ Proxy object interfaces to and communicates with an external system or subsystem.
⁃ Device I/O boundary object receives input from and/or outputs to a hardware I/O device
3. Control object provides the overall coordination for a collection of objects. Control objects may be
coordinator objects, state-dependent control objects, or timer objects
4. Application logic object are usually business logic objects, algorithm objects
, service objects.
4. External classes and software boundary classes
External classes are classes that are outside the software system and that
interface to the system. Boundary classes are classes inside the system that
interface to and communicate with the external classes.
To help determine the boundary classes in the system, it is necessary to
consider the external classes to which they are connected. External classes
interface to software boundary classes as follows:
• An external user class interfaces to and interacts with a user interaction
class.
• An external system class interfaces to and communicates with a proxy
class.
• An external device class provides input to and/or receives output from a
device I/O boundary class. Continuing with this classification:
⁃ An external input device class provides input to an input class.
⁃ An external output device class receives output from an output class.
⁃ An external I/O device class provides input to and receives output from
an I/O class.
5. Boundary classes and objects
User Interaction Objects
A user interaction object communicates directly with the human user,
receiving input from the user and providing output to the user via standard
I/O devices such as the keyboard, visual display, and mouse. This object is
depicted with the «user interaction» stereotype.
5. Boundary classes and objects
Proxy Objects
A proxy object interfaces to and communicates with an external system.
The proxy object is the local representative of the external system and hides
the details of “how” to communicate with the external system
5. Boundary classes and objects
Device I/O Boundary Objects
A device I/O boundary object provides the software interface to a hardware I/O
device.
An input object is a device I/O boundary object that receives input from an
external input device
An output object is a device I/O boundary object that sends output to an external
output device
5. Boundary classes and objects
Depicting External Classes and Boundary Classes
Software system context class diagram: shows all the external classes that
interface to and communicate with the system
5. Boundary classes and objects
Depicting External Classes and Boundary Classes
It is useful to expand software system context class diagram to show the
boundary classes that communicate with the external classes. The boundary
classes are software classes inside the system that are at the boundary
between the system and the external environment.
6. Entity classes and objects
An entity object is a software object that stores information.
In many information system applications, the information encapsulated by
entity objects is stored in a file or database. In these cases, the entity object
is persistent, meaning that the information it contains is preserved when the
system is shut down and then later powered up