Page 200 -
P. 200
7.1 Object-oriented design using the UML 183
Data Collection
Transmitter Receiver
Figure 7.5 Architecture WeatherData
of data collection
system
system object or objects that encapsulate the system interactions defined in the
use cases. With these objects in mind, you can start to identify the object classes
in the system.
There have been various proposals made about how to identify object classes in
object-oriented systems:
1. Use a grammatical analysis of a natural language description of the system to be
constructed. Objects and attributes are nouns; operations or services are verbs
(Abbott, 1983).
2. Use tangible entities (things) in the application domain such as aircraft, roles
such as manager or doctor, events such as requests, interactions such as meet-
ings, locations such as offices, organizational units such as companies, and
so on (Coad and Yourdon, 1990; Shlaer and Mellor, 1988; Wirfs-Brock
et al., 1990).
3. Use a scenario-based analysis where various scenarios of system use are identi-
fied and analyzed in turn. As each scenario is analyzed, the team responsible for
the analysis must identify the required objects, attributes, and operations (Beck
and Cunningham, 1989).
In practice, you have to use several knowledge sources to discover object classes.
Object classes, attributes, and operations that are initially identified from the infor-
mal system description can be a starting point for the design. Further information
from application domain knowledge or scenario analysis may then be used to refine
and extend the initial objects. This information can be collected from requirements
documents, discussions with users, or from analyses of existing systems.
In the wilderness weather station, object identification is based on the tangible
hardware in the system. I don’t have space to include all the system objects here, but
I have shown five object classes in Figure 7.6. The Ground thermometer,
Anemometer, and Barometer objects are application domain objects, and the
WeatherStation and WeatherData objects have been identified from the system
description and the scenario (use case) description:
1. The WeatherStation object class provides the basic interface of the weather
station with its environment. Its operations reflect the interactions shown in