Bog'liq Software Engineering Architecture-driven Software Development ( PDFDrive )
308 CHAPTER 18 Software Architecture Definition
2. Functional hierarchy. The functional hierarchy stipulates the layered break-
down of functional complexity to elementary, uncomplicated functions.
Topmost functional components are decomposed into lower-level components
to provide a logical framework for deriving software behaviors. Lower-level
functional components must be further decomposed until functional units are
perceived. Functional units represent elementary functions that can no longer
be decomposed or of which the effective and efficient formulation does not
warrant further exploration or decomposition.
3. Database transaction behavior diagrams. Provides a behavioral representation
of each database transaction the software product must support. These dia-
grams should identify the database tables accessed, the expected responses to
transaction queries, and transaction rollback procedures.
4. User interface functional hierarchy. This hierarchy depicts how common user
interface functional mechanisms have been grouped into functional compo-
nents, subcomponents, and finally to functional units.
5. Conceptual component block diagram. This diagram provides a layout of con-
ceptual components, the interfaces among components, and interfaces with
operators and elements of the computing environment.
6. Software test cases. The software test cases should be identified by tracing
operational threads of behavior in the operational model. Each operational
thread represents a unique test case. Each test case should identify the set of
conditions under which a data processing transaction is exercised and the crite-
ria for determining that the transaction has been satisfied.
7. Updated requirements traceability matrix. The requirements traceability matrix
must be updated to reflect the evolving elements of the functional and physical
architectures and software test cases.
8. Updated nomenclature register. The software architecture dictionary must
be updated to reflect the elements of the functional and physical
architectures.
9. Preliminary software implementation plan. The software implementation plan
should be drafted to establish the level of effort and resources that will be nec-
essary to accomplish the implementation stage of the software development
effort. The implementation plan should provide a basis for refining the related
work packages to reflect the evolving software architecture and establish the
resource allocations among subpackages. In addition, the software implemen-
tation plan should identify the staffing requirements for the software imple-
mentation organization including the types of skills that will be necessary to
properly implement the software architecture.
10. Preliminary computing environment implementation plan. The computing
environment implementation plan should be drafted to establish the level of
effort and resources that will be necessary to establish the computing environ-
ment. The computing environment implementation plan will provide the basis
for refining the related work packages to reflect the resource requirements for
the computing environment implementation organization.