|
|
xvii | |
|
|
xxi | |
Foreword |
|
xxiii | |
Preface |
|
xxvii | |
|
|
1 | (12) |
|
|
1 | (1) |
|
|
2 | (2) |
|
Why System Architecture Is Critical to Success |
|
|
4 | (5) |
|
Why System Architecture Engineering Is Critical to Architecture |
|
|
9 | (2) |
|
A Common System Architecture Engineering Method Is Insufficient |
|
|
11 | (2) |
|
System Architecture Engineering Challenges |
|
|
13 | (26) |
|
|
13 | (1) |
|
General Systems Architecture Engineering Challenges |
|
|
13 | (10) |
|
Challenges Observed in System Architecture Engineering Practice |
|
|
23 | (7) |
|
Industry Has a Poor Architecture Engineering Track Record |
|
|
24 | (1) |
|
Many Architecture Defects Are Found during Integration and Testing |
|
|
24 | (1) |
|
Processes Are Inconsistent in Practice |
|
|
25 | (1) |
|
Architectural Representations Are Often Missing, Incomplete, Incorrect, or Out of Date |
|
|
25 | (1) |
|
Architectural Models Are Treated as the Sole Architectural Representations |
|
|
26 | (1) |
|
Architectural Models Are Often Not Understandable |
|
|
26 | (1) |
|
Architecture Engineering Underemphasizes Specialty Engineering Focus Areas |
|
|
27 | (1) |
|
How Good Is ``Good Enough''? |
|
|
27 | (1) |
|
Because We Lack Sufficient Adequately Trained and Experienced Architects, They Must Sometimes Perform Tasks for Which They Are Unqualified |
|
|
28 | (1) |
|
Architects Use Multiple Inconsistent Architecture Engineering Methods |
|
|
29 | (1) |
|
Architecture Engineering Methods Are Incompletely Documented |
|
|
29 | (1) |
|
Architects Rely Too Much on Architectural Engineering Tools |
|
|
29 | (1) |
|
The Connection between the Architecture and the Design It Drives Is Weak |
|
|
30 | (1) |
|
Challenges Observed in Systems Architecture Engineering Methods |
|
|
30 | (7) |
|
Current System Architecture Engineering Methods Are Incomplete |
|
|
31 | (1) |
|
Current Methods Do Not Scale Up |
|
|
31 | (1) |
|
Current Methods Assume ``Greenfield'' Development |
|
|
31 | (1) |
|
Current Methods Overemphasize Architecture Development over Other Tasks |
|
|
31 | (1) |
|
Current Methods Overemphasize Functional Decomposition for Logical Structures |
|
|
32 | (1) |
|
Current Methods Overemphasize Physical Decomposition for Physical Structures |
|
|
32 | (1) |
|
Current Methods Are Weak on Structure, View, and Focus Area Consistency |
|
|
32 | (1) |
|
Current Methods Codify Old Processes |
|
|
33 | (1) |
|
Current Methods Emphasize the Waterfall Development Cycle |
|
|
33 | (1) |
|
Current Methods Confuse Requirements Engineering with Architecture Engineering |
|
|
33 | (1) |
|
Current Methods Underemphasize Support for the Quality Characteristics |
|
|
34 | (1) |
|
Current Methods Assume That ``One Size Fits All'' |
|
|
35 | (1) |
|
Current Methods Produce Only a Single Architectural Vision |
|
|
35 | (1) |
|
Current Methods Overly Rely on Local Interface Specifications |
|
|
36 | (1) |
|
Current Methods Lack an Underlying Ontology |
|
|
36 | (1) |
|
Current Methods Confuse Architecture and Architecture Representations |
|
|
36 | (1) |
|
Current Methods Excessively Emphasize Architectural Models over Other Architectural Representations |
|
|
36 | (1) |
|
Current Methods Overemphasize the Points of View of Different Types of Experts |
|
|
37 | (1) |
|
Reasons for Improved Systems Architecture Engineering Methods |
|
|
37 | (1) |
|
Summary of the Challenges |
|
|
38 | (1) |
|
System Architecture Engineering Principles |
|
|
39 | (10) |
|
The Importance of Principles |
|
|
39 | (1) |
|
The Individual Principles |
|
|
40 | (7) |
|
Summary of the Principles |
|
|
47 | (2) |
|
|
49 | (32) |
|
|
49 | (2) |
|
MFESA Goal and Objectives |
|
|
51 | (1) |
|
|
51 | (10) |
|
|
52 | (1) |
|
|
52 | (4) |
|
|
56 | (1) |
|
|
57 | (3) |
|
Method Components: Architectural Workers |
|
|
60 | (1) |
|
|
61 | (1) |
|
|
61 | (5) |
|
|
66 | (1) |
|
|
66 | (1) |
|
The Number and Timing of System Architecture Engineering Processes |
|
|
67 | (1) |
|
Relationships with Other Disciplines |
|
|
67 | (9) |
|
|
68 | (3) |
|
|
71 | (1) |
|
|
71 | (1) |
|
|
71 | (1) |
|
|
71 | (1) |
|
|
72 | (1) |
|
|
72 | (1) |
|
|
72 | (1) |
|
Project/Program Management |
|
|
73 | (1) |
|
|
73 | (1) |
|
|
74 | (1) |
|
|
74 | (1) |
|
Specialty Engineering Disciplines |
|
|
75 | (1) |
|
|
76 | (2) |
|
|
78 | (3) |
|
|
79 | (1) |
|
|
79 | (1) |
|
|
79 | (1) |
|
|
79 | (1) |
|
|
80 | (1) |
|
|
80 | (1) |
|
|
80 | (1) |
|
|
80 | (1) |
|
MFESA: The Ontology of Concepts and Terminology |
|
|
81 | (56) |
|
The Need for Mastering Concepts and Their Ramifications |
|
|
81 | (1) |
|
|
81 | (11) |
|
|
92 | (3) |
|
|
95 | (5) |
|
Architectural Styles, Patterns, and Mechanisms |
|
|
100 | (2) |
|
Architectural Drivers and Concerns |
|
|
102 | (4) |
|
Architectural Representations |
|
|
106 | (3) |
|
Architectural Models, Views, and Focus Areas |
|
|
109 | (13) |
|
Architecture Work Products |
|
|
122 | (3) |
|
Architectural Visions and Vision Components |
|
|
125 | (1) |
|
|
126 | (5) |
|
|
131 | (4) |
|
|
135 | (2) |
|
Plan and Resource the Architecture Engineering Effort |
|
|
137 | (16) |
|
|
137 | (1) |
|
|
137 | (1) |
|
|
138 | (1) |
|
|
138 | (2) |
|
|
140 | (1) |
|
|
141 | (1) |
|
|
142 | (2) |
|
|
144 | (2) |
|
|
146 | (5) |
|
|
151 | (2) |
|
|
151 | (1) |
|
|
151 | (1) |
|
|
152 | (1) |
|
|
152 | (1) |
|
Identify the Architectural Drivers |
|
|
153 | (18) |
|
|
153 | (1) |
|
|
153 | (1) |
|
|
154 | (1) |
|
|
155 | (1) |
|
|
156 | (3) |
|
|
159 | (1) |
|
|
159 | (1) |
|
|
160 | (2) |
|
|
162 | (6) |
|
|
168 | (3) |
|
|
168 | (1) |
|
|
168 | (1) |
|
|
169 | (1) |
|
|
169 | (2) |
|
Create the First Versions of the Most Important Architectural Models |
|
|
171 | (20) |
|
|
171 | (2) |
|
|
173 | (1) |
|
|
174 | (1) |
|
|
174 | (1) |
|
|
175 | (1) |
|
|
176 | (1) |
|
|
177 | (1) |
|
|
177 | (6) |
|
|
183 | (4) |
|
|
187 | (4) |
|
|
187 | (1) |
|
|
188 | (1) |
|
|
188 | (1) |
|
|
188 | (3) |
|
Identify Opportunities for the Reuse of Architectural Elements |
|
|
191 | (14) |
|
|
191 | (1) |
|
|
192 | (1) |
|
|
192 | (1) |
|
|
193 | (1) |
|
|
193 | (2) |
|
|
195 | (2) |
|
|
197 | (1) |
|
|
197 | (1) |
|
|
198 | (4) |
|
|
202 | (3) |
|
|
203 | (1) |
|
|
203 | (1) |
|
|
203 | (1) |
|
|
203 | (2) |
|
Create the Candidate Architectural Visions |
|
|
205 | (14) |
|
|
205 | (1) |
|
|
206 | (1) |
|
|
206 | (1) |
|
|
206 | (1) |
|
|
207 | (1) |
|
|
208 | (1) |
|
|
208 | (1) |
|
|
209 | (2) |
|
|
211 | (4) |
|
|
215 | (4) |
|
|
216 | (1) |
|
|
216 | (1) |
|
|
216 | (1) |
|
|
216 | (3) |
|
Analyze Reusable Components and Their Sources |
|
|
219 | (14) |
|
|
219 | (1) |
|
|
220 | (1) |
|
|
220 | (1) |
|
|
221 | (1) |
|
|
221 | (1) |
|
|
222 | (1) |
|
|
223 | (1) |
|
|
223 | (1) |
|
|
224 | (6) |
|
|
230 | (3) |
|
|
231 | (1) |
|
|
231 | (1) |
|
|
231 | (1) |
|
|
231 | (2) |
|
Select or Create the Most Suitable Architectural Vision |
|
|
233 | (12) |
|
|
233 | (1) |
|
|
234 | (1) |
|
|
234 | (1) |
|
|
234 | (1) |
|
|
235 | (2) |
|
|
237 | (1) |
|
|
237 | (1) |
|
|
238 | (2) |
|
|
240 | (3) |
|
|
243 | (2) |
|
|
243 | (1) |
|
|
243 | (1) |
|
|
244 | (1) |
|
|
244 | (1) |
|
Complete the Architecture and Its Representations |
|
|
245 | (12) |
|
|
245 | (1) |
|
|
246 | (1) |
|
|
246 | (1) |
|
|
247 | (1) |
|
|
247 | (3) |
|
|
250 | (1) |
|
|
250 | (1) |
|
|
251 | (1) |
|
|
252 | (2) |
|
|
254 | (3) |
|
|
255 | (1) |
|
|
255 | (1) |
|
|
255 | (1) |
|
|
255 | (2) |
|
Evaluate and Accept the Architecture |
|
|
257 | (22) |
|
|
257 | (1) |
|
|
257 | (2) |
|
|
259 | (1) |
|
|
259 | (1) |
|
|
259 | (3) |
|
|
262 | (1) |
|
|
263 | (1) |
|
|
263 | (4) |
|
|
267 | (8) |
|
|
275 | (4) |
|
|
275 | (1) |
|
|
276 | (1) |
|
|
276 | (1) |
|
|
277 | (2) |
|
Maintain the Architecture and Its Representations |
|
|
279 | (14) |
|
|
279 | (1) |
|
|
280 | (1) |
|
|
280 | (1) |
|
|
281 | (1) |
|
|
282 | (1) |
|
|
283 | (1) |
|
|
284 | (2) |
|
|
286 | (2) |
|
|
288 | (3) |
|
|
291 | (2) |
|
|
291 | (1) |
|
|
291 | (1) |
|
|
292 | (1) |
|
|
292 | (1) |
|
MFESA Method Components: Architectural Workers |
|
|
293 | (46) |
|
|
293 | (2) |
|
|
295 | (12) |
|
|
296 | (1) |
|
Types of System Architect |
|
|
296 | (1) |
|
|
297 | (3) |
|
|
300 | (1) |
|
|
300 | (1) |
|
|
301 | (1) |
|
|
301 | (1) |
|
|
302 | (1) |
|
|
303 | (1) |
|
|
303 | (1) |
|
|
303 | (2) |
|
|
305 | (1) |
|
|
305 | (2) |
|
System Architecture Teams |
|
|
307 | (10) |
|
Types of Architecture Teams |
|
|
307 | (2) |
|
|
309 | (1) |
|
|
310 | (1) |
|
|
311 | (2) |
|
|
313 | (2) |
|
|
315 | (2) |
|
|
317 | (18) |
|
|
317 | (1) |
|
Types of Architecture Tools |
|
|
318 | (10) |
|
|
328 | (1) |
|
|
328 | (3) |
|
|
331 | (4) |
|
Architecture Worker Summary |
|
|
335 | (4) |
|
|
335 | (1) |
|
System Architecture Teams |
|
|
336 | (1) |
|
|
336 | (3) |
|
MFESA: The Metamethod for Creating Endeavor-Specific Methods |
|
|
339 | (16) |
|
|
339 | (1) |
|
|
340 | (1) |
|
|
341 | (5) |
|
Number of Methods Determination |
|
|
346 | (1) |
|
Method Reuse Type Determination |
|
|
346 | (1) |
|
|
346 | (1) |
|
|
346 | (1) |
|
|
347 | (1) |
|
|
348 | (1) |
|
|
348 | (1) |
|
|
348 | (2) |
|
|
350 | (2) |
|
|
352 | (3) |
|
|
355 | (42) |
|
|
355 | (1) |
|
Quality Model Components and Their Relationships |
|
|
356 | (4) |
|
Internal Quality Characteristics |
|
|
360 | (3) |
|
External Quality Characteristics |
|
|
363 | (10) |
|
|
373 | (2) |
|
Example Quality Requirements |
|
|
374 | (1) |
|
Architectural Quality Cases |
|
|
375 | (5) |
|
|
376 | (1) |
|
Architectural Quality Case Components |
|
|
376 | (2) |
|
Example Architectural Quality Case |
|
|
378 | (2) |
|
Architectural Quality Case Evaluation Using QUASAR |
|
|
380 | (8) |
|
|
386 | (2) |
|
|
388 | (1) |
|
|
389 | (5) |
|
|
394 | (3) |
|
|
397 | (18) |
|
|
397 | (1) |
|
|
397 | (3) |
|
|
397 | (1) |
|
Overview of the MFESA Tasks |
|
|
398 | (2) |
|
|
400 | (5) |
|
System Architecture and System Architecture Engineering Are Critical |
|
|
400 | (1) |
|
MFESA Is Not a System Architecture Engineering Method |
|
|
400 | (1) |
|
|
401 | (1) |
|
Architectural Quality Cases Are Important |
|
|
402 | (1) |
|
|
403 | (1) |
|
|
403 | (1) |
|
Reuse Significantly Affects Architecture Engineering |
|
|
403 | (1) |
|
Architecture Is Never Finished |
|
|
404 | (1) |
|
Beware of Ultra-Large Systems of Systems |
|
|
404 | (1) |
|
|
405 | (7) |
|
The Future Directions of System Architecture Engineering |
|
|
405 | (1) |
|
Trends in Systems and System Engineering |
|
|
405 | (2) |
|
Trends in System Architecture Engineering, Architects, and Tools |
|
|
407 | (3) |
|
The Future Directions of MFESA |
|
|
410 | (1) |
|
|
410 | (1) |
|
|
410 | (1) |
|
Method Engineering Tool Support |
|
|
411 | (1) |
|
|
412 | (3) |
Appendix A: Acronyms and Glossary |
|
415 | (16) |
Appendix B: MFESA Method Components |
|
431 | (10) |
Appendix C: List of Guidelines and Pitfalls |
|
441 | (8) |
Appendix D: Decision-Making Techniques |
|
449 | (10) |
Annotated References/Bibliography |
|
459 | (8) |
Index |
|
467 | |