Page 56 -
P. 56
2.2 Process activities 39
Design Inputs
Platform Requirements Data
Information Specification Description
Design Activities
Architectural Interface Component
Design Design Design
Database Design
Design Outputs
System Database Interface Component
Figure 2.5 A general Architecture Specification Specification Specification
model of the design
process
The diagram suggests that the stages of the design process are sequential. In fact,
design process activities are interleaved. Feedback from one stage to another and
consequent design rework is inevitable in all design processes.
Most software interfaces with other software systems. These include the operating
system, database, middleware, and other application systems. These make up the ‘soft-
ware platform’, the environment in which the software will execute. Information about
this platform is an essential input to the design process, as designers must decide how
best to integrate it with the software’s environment. The requirements specification is a
description of the functionality the software must provide and its performance and
dependability requirements. If the system is to process existing data, then the description
of that data may be included in the platform specification; otherwise, the data description
must be an input to the design process so that the system data organization to be defined.
The activities in the design process vary, depending on the type of system being
developed. For example, real-time systems require timing design but may not
include a database so there is no database design involved. Figure 2.5 shows four
activities that may be part of the design process for information systems:
1. Architectural design, where you identify the overall structure of the system, the
principal components (sometimes called sub-systems or modules), their rela-
tionships, and how they are distributed.
2. Interface design, where you define the interfaces between system components.
This interface specification must be unambiguous. With a precise interface, a
component can be used without other components having to know how it is
implemented. Once interface specifications are agreed, the components can be
designed and developed concurrently.