User:DonFiresmith/System architecture engineering

System architecture engineering (a.k.a. system architecting, system architecture, system architecture process) is the subdiscipline of systems engineering during which a system architecture is created or modified.

System architecture engineering provides a body of knowledge to be used to inform systems architects of the most effective way to engineer an acceptable system architecture within a set of constraints such as stakeholder requirements, project budget and schedule, and availability of necessary developers and development/manufacturing facilities.

Overview
There is no universally agreed definition of which constitutes system architecture engineering, and various organizations and system architects define it in different ways, including:
 * System architecture engineering is the subdiscipline of systems engineering consisting of all architectural work units performed by architectural workers(architects, architecture teams, and their tools) to develop and maintain architectural work products (including system or subsystem architectures and their representations).
 * System architecting is a means to create systems efficient and effective, by supplying overview, by guarding consistency and integrity, and by balancing.
 * Systems architecting is that part of systems engineering most concerned with purpose determination, concept formulation and structuring, and certification for use.

Note that there is some controversy in the industry as to whether the creation and modification of a system architecture is an engineering discipline, a science, or an art.

From the standpoint of situational method engineering, system architecture engineering typically consists of the following types of reusable method components:
 * Architectural work products, such as the system architecture and its representations including system architecture documents, static and dynamic architectural models, and other architectural descriptions.
 * Architectural work units, such as architectural tasks and techniques to be performed to produce the architectural work products.
 * Architectural workers, such as system architects, architecture teams, and their architectural tools that perform the architectural work units to produce the architectural work products.

According to the Method Framework for Engineering System Architectures (MFESA), system architecture typically includes the following system architecture engineering tasks:
 * Plan and Resource Architecture Engineering Effort, during which the architecture engineering effort is determined, scheduled, and provided adequate resources (in terms of staffing, funding, and schedule)
 * Identify the Architectural Drivers, during which the architecturally significant goals and (functional, quality, data, and interface) requirements are identified
 * Create Initial Architectural Models, during which the initial most important, static and dynamic, logical and physical architectural models are identified and created
 * Identify Opportunities for Reuse of Architectural Elements, during which potential opportunities for the reuse of existing architectural elements (e.g., architectural patterns) are identified and documented
 * Create Candidate Architectural Visions, during which competing visions of the architecture are identified and described
 * Analyze Reusable Components and their Sources, during which potentially reusable architectural components and their sources are identified and analyzed for their appropriateness to be reused in the architecture of the system of interest
 * Select or Create Most Suitable Architectural Vision, during which the most appropriate of the candidate architectural visions is either selected or created by combining their best parts
 * Complete and Maintain the Architecture, during which the system architecture is completed, documented, and maintained over time (e.g., as the system requirements evolve)
 * Evaluate and Accept the Architecture, during which the system architecture is evaluated (e.g., for completeness, correctness, consistency, fulfillment of the architecturally significant requirements)
 * Ensure Architectural Integrity, during which the integrity of the system architecture is maintained over the life of the system

History
The roots of system architecture engineering lie in civil engineering and the creation of the architecture of buildings. TBD