Bog'liq Software Engineering Architecture-driven Software Development ( PDFDrive )
53 3.8 Motivation for the software architecture
The software architecture discussed throughout this work is based on systems
engineering practices and principles. The software architecture consists of an
assortment of design artifacts typical of other engineering disciplines, such as dia-
grams, drawings, and static and dynamic models. The typical software architecture
artifacts are shown in
Figure 3.3
. This architecture is used to control the product
configuration and facilitate the inclusion of authorized changes within the product
design framework. It accounts for the complex, nonmaterial nature of the software
product, and its relationship to project management tools and techniques. The arti-
facts associated with the physical architecture forms the software technical data
package that is provided to the software implementation team for software imple-
mentation design, coding, integration, and testing.
Every complex product development activity involves some form of product
architecture derived from engineering principles. The following definition is pro-
vided for the term
product architecture :
1
Description of the way(s) in which functional elements of a product or system are assigned to its constituent components or subsystems, and of the way(s) in which they interact. This definition identifies the primary intent associated with the software prod-
uct architecture—to describe the way in which functions are assigned to physi-
cal elements and how they interact. This implies that the product architecture
involves two distinct design representations, one being functional and the second
being physical. Product functions and performance objectives are derived from the
product requirements. Functional decomposition breaks down a complicated prob-
lem space into smaller, less difficult tasks that can be less challenging to resolve.
In its most basic form a functional decomposition is represented as a hierarchical
decomposition with its performance characteristics budgeted among the constitu-
ent functions. The functional architecture description includes the functional inputs
and resources needed by the function to generate outputs or provide a service. The
FIGURE 3.3 Typical software product architecture artifacts.
1
See
http://www.businessdictionary.com/definition/product-architecture.html .