Large, complex systems today are increasingly software‐intensive. As a result, it is commonly essential that system development methods strongly facilitate good software development, even where to do so departs from traditional systems engineering practice. Unfortunately, the traditional state of the practice in systems engineering and system architecture descriptions are often not well suited to support complex software developments. For example, traditional systems engineering practice is to take a function‐first approach to definition, while software architectures are typically driven from the external interfaces inward, and are more often data‐based than function‐based. Moreover, the most successful very large system architectures typically take a strongly layered approach, with deliberate selection of convergence layers, a concept not typically found in traditional systems engineering practice. Each of these issues can be addressed through understanding of the elements of a good software architecture, appropriate ordering of systems engineering activities, and modeling methods extended to encompass layered system descriptions. While the example here is specific to software‐intensive systems, the methods applied can be extended to other types of domain integration. © 2006 Syst Eng 9: 146–159, 2006
[1]
Mary Shaw,et al.
Software architecture - perspectives on an emerging discipline
,
1996
.
[2]
Mark W. Maier.
Integrated Modeling: A Unified Approach to System Engineering
,
1996,
J. Syst. Softw..
[3]
Paul Clements,et al.
Software Architecture: An Executive Overview
,
1996
.
[4]
H.-L. Lou,et al.
Implementing the Viterbi algorithm
,
1995,
IEEE Signal Process. Mag..
[5]
E. Rechtin,et al.
The art of systems architecting
,
1996,
IEEE Spectrum.
[6]
William E. Lorensen,et al.
Object-Oriented Modeling and Design
,
1991,
TOOLS.
[7]
John A. Zachman,et al.
A Framework for Information Systems Architecture
,
1987,
IBM Syst. J..