Chapter 4.1 Understand Object Oriented Design Using UML
Chapter 4.1 Understand Object Oriented Design Using UML
1
CHAPTER 4.1
UNDERSTAND OBJECT ORIENTED DESIGN USING THE UML
2
DESIGN AND
IMPLEMENTATION
• Software design and implementation is the stage in the
software engineering process at which an executable
software system is developed.
• Software design and implementation activities are
invariably inter-leaved.
– Software design is a creative activity in which you identify
software components and theirrelationships, based on a
customer’s requirements.
– Implementation is the process of realizing thedesign as a
program.
3
BUILD OR BUY
• In a wide range of domains, it is now possible to buy
off-the-shelf systems (COTS) that can be adapted and
tailored to theusers’ requirements.
– For example, if you want to implement a medical records
system, you can buy a package that is already used in
hospitals. It can be cheaper and faster to use this approach
rather than developing a system in a conventional
programming language.
• When you develop an application in this way,the design
process becomes concerned with how to use the
configuration features of that system to deliver the
systemrequirements.
4
AN OBJECT-ORIENTED DESIGN
PROCESS
• Structured object-oriented designprocesses involve
developing a number of different system models.
• They require a lot of effort for development and maintenance
of these models and, for small systems, this may not be cost-
effective.
• However, for large systems developed by different groups
design models are an important communication
mechanism.
5
PROCESS STAGES
• There are a variety of different object-oriented design
processes that depend on the organization using the
process.
• Common activities in these processesinclude:
– Define the context and modes of use of the system;
– Design the systemarchitecture;
– Identify the principal system objects;
– Develop design models;
– Specify object interfaces.
• Process illustrated here using a design for a
wilderness weather station.
6
SYSTEM CONTEXT AND
INTERACTIONS
• Understanding the relationships between thesoftware that is
being designed and its external environment is essential for
deciding how to provide the required system functionality
and how to structure the system to communicate with its
environment.
• Understanding of the context also lets you establish the
boundaries of the system. Setting the system boundaries
helps you decide what features are implemented in the
system being designed andwhat features are in other
associatedsystems.
7
CONTEXT AND
INTERACTION MODELS
• A system context model is a structural model that
demonstrates the other systems in the
environment of the system beingdeveloped.
• An interaction model is a dynamic model that
shows how the system interacts with its
environment as it is used.
8
SYSTEM CONTEXT FOR THE WEATHER STATION
9
WEATHER STATION USECASES
10
USE CASE DESCRIPTION—REPORT WEATHER
System Weather station
Use case Report weather
Actors Weather information system, Weather station
Description The weather station sends a summary of the weather data that has been
collected from the instruments in the collection period to the weather
information system. The data sent are the maximum, minimum, andaverage
ground and air temperatures; the maximum, minimum, and average air
pressures; the maximum, minimum, and average wind speeds; the total
rainfall; and the wind direction as sampled at five-minute intervals.
Stimulus The weather information system establishes a satellite communication link
with the weather station and requests transmission of the data.
Response The summarized data is sent to the weather informationsystem.
Comments Weather stations are usually asked to report once per hour but thisfrequency
may differ from one station to another and may be modified in the future.
11
ARCHITECTURAL DESIGN
• Once interactions between the system and its environment have been
understood, you use this information for designing thesystem
architecture.
• You identify the major components that makeup the
system and their interactions, and then may
organize the components using an architectural
pattern such as a layered or client-server model.
• The weather station is composed of independent
subsystems that communicate by broadcasting
messages on a common infrastructure.
HIGH-LEVEL ARCHITECTURE OF THE
WEATHER STATION
ARCHITECTURE OF DATA
COLLECTIONSYSTEM
14
OBJECT CLASS IDENTIFICATION
• Identifying object classes is too often a difficult
part ofobject oriented design.
• There is no 'magic formula' for object identification. It
relies on theskill, experience and domain knowledge
of systemdesigners.
• Object identification is an iterative process. You are
unlikely to get it right first time.
APPROACHES TO IDENTIFICATION
• Use a grammatical approach based on a natural language
description of the system (used in HoodOOD method).
• Base the identification on tangible things in the application
domain.
• Use a behavioural approach and identify objects based on what
participates in whatbehaviour.
• Use a scenario-based analysis. The objects, attributes and methods
in each scenario are identified.
WEATHER STATION DESCRIPTION
A weather station is a package of software controlled instruments
which collects data, performs some data processing and transmits
this data for further processing. The instruments include air and
ground thermometers, an anemometer, a wind vane, abarometer
and a rain gauge. Data is collected periodically.
30