0% found this document useful (0 votes)
3 views

Chapter 8 Object and Class Structuring - Part 1

Chapter 8 of the document discusses object and class structuring in software design, providing guidelines for modeling application classes and objects. It categorizes classes into four main types: entity, boundary, control, and application logic objects, each serving distinct roles in the system. Additionally, it explains the relationship between external classes and boundary classes, emphasizing the importance of these interactions in system architecture.

Uploaded by

Cường Lê
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Chapter 8 Object and Class Structuring - Part 1

Chapter 8 of the document discusses object and class structuring in software design, providing guidelines for modeling application classes and objects. It categorizes classes into four main types: entity, boundary, control, and application logic objects, each serving distinct roles in the system. Additionally, it explains the relationship between external classes and boundary classes, emphasizing the importance of these interactions in system architecture.

Uploaded by

Cường Lê
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 13

SOFTWARE ARCHITECTURE AND DESIGN (SWD392)

Chapter 8 - Object and Class Structuring


Contents
1. Object and Class Structuring
2. Modeling application classes and objects
3. Object and class structuring categories
4. External Classes & Software Boundary Classes
5. Boundary classes and objects
6. Entity Classes & Objects
7. Control Classes & Objects
8. Application Logic Classes & Objects
1. Object and Class Structuring
Introduction
 After defining the use cases and developing a static model of the problem
domain, the next step is to determine the software objects that model
real-world objects
 This chapter provides guidelines on how to determine the objects in the
system.
1. Object and class structuring criteria
 There is no one unique way to decompose a system into objects, because
the decisions made are based on the judgment of the analyst and the
characteristics of the problem. Whether objects are in the same class or in
a different class depends on the nature of the problem
Example:
- Automobile catalog: catalog, cars, vans, and trucks are in the same class
- Vehicle: Truck in different class

 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

You might also like