Bog'liq Software Engineering Architecture-driven Software Development ( PDFDrive )
228 CHAPTER 13 Software Design Synthesis Practice
Software design synthesis, as discussed within this chapter, addresses the tasks
necessary to establish the software product structural configuration and physi-
cal architecture. This software engineering version of design synthesis has been
adapted from the systems engineering discipline to address the unique character-
istics of software products. The systems engineering version of design synthesis
should be applied to the design of the computing environment and software post-
development processes. However, both versions of design synthesis are very con-
sistent and either can be used for nonsoftware product or process design efforts.
Figure 13.1
identifies the software design synthesis tasks as they apply to the defini-
tion of the software product configuration, and its structural units, components, and
engineering assemblies. This presentation of the software design synthesis tasks is
not intended to suggest a prescribed sequence by which these tasks are performed.
They are organized into logical groupings for the purpose of discussing the major
design activities within which these tasks correspond. The major software design
synthesis activities include the following:
1. Design conceptualization —the establishment of initial structural design con-
cepts derived from the ongoing functional analysis. Structural design concepts
originate from brainstorming and inspirational collaborations that suggest struc-
tural design patterns that range from typical to progressive, radical, innovative,
pioneering, and revolutionary. This involves the identification of abstract struc-
tural components and user interface mechanisms, and their arrangement and
interactions that form the upper tier of the structural configuration.
2. Design resolution —the continual evaluation and refinement of the physical
architecture focused on elaborating the structural configuration. Design reso-
lution facilitates the balancing of software design features, functionality, and
performance characteristics as the design solution emerges via extrapolation
(drawing conclusions or inferences). This includes the identification of struc-
tural units and components that represent the building blocks or material from
which the lower tier of the structural configuration will be crafted.
3. Design assessment —the evaluation of the evolving structural design solution
to determine its suitability and completeness. These design assessments are
intended to identify any challenges associated with the design solution’s abil-
ity to be implemented and its resilience to endure enhancements and extensions
sustained throughout its anticipated life cycle. Performance engineering assess-
ments should provide a calculated appraisal of the design solution’s conform-
ance with performance benchmarks.
4. Design correlation —results in the identification of integrated structural compo-
nents that bridge the design chasm and form the integration tier of the structural
configuration.
5. Design manifestation —concludes the search for a design solution and endorses
the structural configuration. Identifies structural assemblages that represent
structural components and additional software test stubs to support integra-
tion testing. Finalizes the engineering drawings, diagrams, and documentation