Bog'liq Software Engineering Architecture-driven Software Development ( PDFDrive )
233 13.1 Design conceptualization
13.1.2 Identify abstract structural components Developing a conceptual design begins with the identification of abstract structural
components. The top level of abstract components represents major containers for
software functionality. These abstract components will provide the foundational
elements upon which the design concept can be expressed, analyzed, and debated.
Deliberation concerning the suitability of the design concept may result in the con-
cept evolving into a more appropriate design concept. As functional analysis pro-
ceeds, the initial design concept must be reevaluated to determine if it continues to
embody the operational nature of the software product.
Abstract structural components should be labeled for their role in carrying out
the principal threads of operational behaviors. An abstract component should pro-
vide a single, focused role within the structural design concept. However, there are
no restrictions on how many roles an abstract component may assume responsibil-
ity for. When considering how to label an abstract component, the primary focus
should be placed on how the assortment of abstract structural components should
be arranged to facilitate their interaction while diminishing structural complexity.
The conceptual design layers should be captured as a software block diagram to
depict the arrangement of abstract structural components and their interfaces (inter-
nal and external). Since the software configuration does not embody any physical
dimension, the structural layout of abstract components should be based on the
relative prominence of each component within the design concept. An abstract
interface should be identified to initially represent the data exchange relationships
among abstract components and with external systems. The software block diagram
should present the conceptual design at various levels of deliberation to contend
with the most decisive design challenges.
In the early stages of forming conceptual design it is not necessary to include
every conceivable abstract component. The conceptual design is merely a device
for organizing the structural configuration to reflect the emerging perception gained
from the functional solution. It is beneficial to formulate several design concepts
that accentuate different architectural solutions to determine the preferred concep-
tual design configuration. Alternative conceptual configurations must be evaluated
to identify the most balanced solution regarding the functional architecture, stake-
holder requirements, and project cost and schedule constraints.