278
CHAPTER 16
Software Control Practice
●
Present a coherent representation of the software architecture throughout the
software product’s life cycle.
●
Establish and maintain engineering records for every element of the software
architecture.
●
Provide the status of proposed and authorized changes addressing the assimila-
tion of each change package into each architectural element definitions and
architectural documentation.
16.1.2
Maintain architectural status
The software architecture status must be maintained to provide a progress indicator
of the readiness of the architecture to migrate to the next stage of software develop-
ment or deployment. The software architecture as a unified product representation
involves three partitions that may be at different maturity levels. When all three par-
titions of the software architecture have been stabilized and unified, their configu-
ration should be placed under configuration control, and the software architectural
definition should be considered complete.
Within each architectural partition, every element of the software architecture
must be monitored to establish its current status. A suggested set of element status
classifications includes:
1.
Draft
—the element has been identified as a necessary item within the partition
of which the longevity has yet to be determined.
2.
Primitive
—the element has been determined to be a fundamental ingredient
within the partition in which it plays a role.
3.
Alternate
—the element has been conceived as an alternate to a drafted element,
or plays a role in a competing design solution.
4.
Controlled
—the element has been fully defined and specified as part of a parti-
tion that has been placed under technical configuration control.
5.
Expired
—the element has been excluded as part of a partition, but remains
within the element repository for historical significance. Architectural elements
drafted as a primitive or alternate to a design concept and later determined to be
unnecessary may be removed from status-keeping and retained in the repository
for future consideration.
It is important to maintain a record of the architectural status to support progress
reporting; track the assimilation of authorized changes into software architecture
documentation, models, and design artifacts; and ensure that design decisions have
been properly integrated throughout the architecture. The focus must be placed on
the architectural elements that make up the architecture, not its documentation,
model, or artifacts. Requirements, functions, structural units and components, data
items, etc. represent configuration elements at various levels within the architecture
that comprise the software product. Therefore, it is necessary to understand the sta-
tus of the architectural element definitions to derive the status of the overall devel-
opment effort.
Do'stlaringiz bilan baham: |