Preface |
|
ix | (4) |
Reader's Guide |
|
xiii | (10) |
Acknowledgments |
|
xxiii | |
PART ONE ENVISIONING ARCHITECTURE |
|
1 | (72) |
|
CHAPTER 1 The Architecture Business Cycle |
|
|
3 | (18) |
|
1.1 Where Do Architectures Come From? |
|
|
6 | (6) |
|
1.2 Software Processes and the Architecture Business Cycle |
|
|
12 | (5) |
|
1.3 What Makes a "Good" Architecture? |
|
|
17 | (2) |
|
|
19 | (1) |
|
|
19 | (2) |
|
CHAPTER 2 What Is Software Architecture? |
|
|
21 | (24) |
|
2.1 What Software Architecture Is and What It Isn't |
|
|
21 | (4) |
|
2.2 Architectural Styles, Reference Models, and Reference Architectures |
|
|
25 | (1) |
|
|
26 | (2) |
|
2.4 Why Is Software Architecture Important? |
|
|
28 | (8) |
|
2.5 Architectural Structures |
|
|
36 | (5) |
|
|
41 | (1) |
|
|
42 | (1) |
|
|
42 | (3) |
|
CHAPTER 3 A-7E: A Case Study in Utilizing Architectural Structures |
|
|
45 | (28) |
|
3.1 Relationship to the Architecture Business Cycle |
|
|
45 | (2) |
|
3.2 Requirements and Qualities |
|
|
47 | (3) |
|
3.3 Architectural Approach |
|
|
50 | (7) |
|
3.4 Architecture for the A-7E Avionics System |
|
|
57 | (12) |
|
|
69 | (1) |
|
|
70 | (1) |
|
|
70 | (3) |
PART TWO CREATING AND ANALYZING AN ARCHITECTURE |
|
73 | (192) |
|
CHAPTER 4 Quality Attributes |
|
|
75 | (18) |
|
4.1 Architectures and Quality Attributes |
|
|
76 | (12) |
|
4.2 Architectural Means for Achieving Qualities |
|
|
88 | (2) |
|
|
90 | (1) |
|
|
90 | (1) |
|
|
90 | (3) |
|
CHAPTER 5 Moving From Qualities to Architecture: Architectural Styles |
|
|
93 | (30) |
|
5.1 Introducing Architectural Styles |
|
|
94 | (10) |
|
5.2 Organizing Architectural Styles |
|
|
104 | (3) |
|
5.3 Refinements of Styles |
|
|
107 | (6) |
|
5.4 Using Styles in System Design |
|
|
113 | (4) |
|
5.5 Achieving Quality Goals with Architectural Styles |
|
|
117 | (4) |
|
|
121 | (1) |
|
|
121 | (1) |
|
|
122 | (1) |
|
CHAPTER 6 Unit Operations |
|
|
123 | (22) |
|
6.1 Introducing Unit Operations |
|
|
123 | (7) |
|
6.2 Applying Unit Operations to User-Interface Software |
|
|
130 | (12) |
|
6.3 Ramifications of Addressing Quality Attributes |
|
|
142 | (1) |
|
|
143 | (1) |
|
|
143 | (1) |
|
|
144 | (1) |
|
CHAPTER 7 The World Wide Web: A Case Study in Interoperability |
|
|
145 | (20) |
|
7.1 Relationship to the Architecture Business Cycle |
|
|
145 | (2) |
|
7.2 Requirements and Qualities |
|
|
147 | (5) |
|
7.3 Architectural Approach |
|
|
152 | (1) |
|
7.4 Architectural Solution |
|
|
152 | (8) |
|
7.5 Architecture Business Cycle Today |
|
|
160 | (1) |
|
|
161 | (2) |
|
|
163 | (1) |
|
|
163 | (2) |
|
CHAPTER 8 CORBA: A Case Study of an Industry Standard Computing Infrastructure |
|
|
165 | (24) |
|
8.1 Relationship to the Architecture Business Cycle |
|
|
166 | (3) |
|
8.2 Requirements and Qualities |
|
|
169 | (2) |
|
8.3 Architectural Approach |
|
|
171 | (3) |
|
8.4 Architectural Solution |
|
|
174 | (10) |
|
|
184 | (2) |
|
|
186 | (1) |
|
|
186 | (1) |
|
|
187 | (2) |
|
CHAPTER 9 Analyzing Development Qualities at the Architectural Level: The Software Architecture Analysis Method |
|
|
189 | (32) |
|
9.1 The How and Why of Analyzing Software Architecture |
|
|
190 | (3) |
|
9.2 Overview of Software Architecture Analysis Method |
|
|
193 | (5) |
|
9.3 A Small Example of SAAM Application |
|
|
198 | (4) |
|
9.4 SAAM Applied to a Financial Management System |
|
|
202 | (8) |
|
9.5 SAAM Applied to a Revision-Control System |
|
|
210 | (6) |
|
|
216 | (3) |
|
|
219 | (1) |
|
|
220 | (1) |
|
|
220 | (1) |
|
CHAPTER 10 Architecture Reviews |
|
|
221 | (18) |
|
|
222 | (3) |
|
|
225 | (5) |
|
|
230 | (6) |
|
|
236 | (1) |
|
|
237 | (1) |
|
10.6 Discussion Questions |
|
|
237 | (2) |
|
CHAPTER 11 Air Traffic Control: A Case Study in Designing for High Availability |
|
|
239 | (26) |
|
11.1 Relationship to the Architecture Business Cycle |
|
|
242 | (1) |
|
11.2 Requirements and Qualities |
|
|
243 | (1) |
|
11.3 Architectural Approach |
|
|
244 | (1) |
|
11.4 Architectural Solution |
|
|
245 | (14) |
|
11.5 Assessing the Architecture for Maintainability |
|
|
259 | (4) |
|
|
263 | (1) |
|
|
264 | (1) |
|
11.8 Discussion Questions |
|
|
264 | (1) |
PART THREE MOVING FROM ARCHITECTURES TO SYSTEMS |
|
265 | (64) |
|
CHAPTER 12 Architecture Description Languages |
|
|
267 | (18) |
|
12.1 Architecture Description Languages Today |
|
|
269 | (2) |
|
12.2 Capturing Architectural Information in an ADL |
|
|
271 | (2) |
|
12.3 How Do ADLs Help System Development? |
|
|
273 | (1) |
|
|
274 | (3) |
|
12.5 An Example of an ADL |
|
|
277 | (6) |
|
|
283 | (1) |
|
|
283 | (1) |
|
12.8 Discussion Questions |
|
|
284 | (1) |
|
CHAPTER 13 Architecture-Based Development |
|
|
285 | (18) |
|
13.1 Forming the Team Structure |
|
|
285 | (3) |
|
13.2 Creating a Skeletal System |
|
|
288 | (3) |
|
13.3 Exploiting Patterns in Software Architecture |
|
|
291 | (6) |
|
13.4 Ensuring Conformance to an Architecture |
|
|
297 | (2) |
|
13.5 Building Domain-Specific Languages |
|
|
299 | (2) |
|
|
301 | (1) |
|
|
301 | (1) |
|
13.8 Discussion Questions |
|
|
302 | (1) |
|
CHAPTER 14 Flight Simulation: A Case Study in Architecture for Integrability |
|
|
303 | (26) |
|
14.1 Relationship to the Architecture Business Cycle |
|
|
304 | (1) |
|
14.2 Requirements and Qualities |
|
|
305 | (2) |
|
14.3 Architectural Approach |
|
|
307 | (1) |
|
14.4 Architectural Solution |
|
|
308 | (17) |
|
14.5 Achievement of Goals |
|
|
325 | (1) |
|
|
326 | (1) |
|
|
327 | (1) |
|
14.8 Discussion Questions |
|
|
327 | (2) |
PART FOUR REUSING ARCHITECTURES |
|
329 | (104) |
|
CHAPTER 15 Product Lines: Reusing Architectural Assets within an Organization |
|
|
331 | (14) |
|
15.1 Creating Products and Evolving a Product Line |
|
|
333 | (1) |
|
15.2 Organizational Implications of a Product Line |
|
|
334 | (3) |
|
15.3 Component-Based Systems |
|
|
337 | (6) |
|
|
343 | (1) |
|
|
344 | (1) |
|
15.6 Discussion Questions |
|
|
344 | (1) |
|
CHAPTER 16 CelsiusTech: A Case Study in Product Line Development |
|
|
345 | (30) |
|
16.1 Relationship to the Architecture Business Cycle |
|
|
345 | (18) |
|
16.2 Requirements and Qualities |
|
|
363 | (2) |
|
16.3 Architectural Approach |
|
|
365 | (7) |
|
|
372 | (2) |
|
|
374 | (1) |
|
16.6 Discussion Questions |
|
|
374 | (1) |
|
CHAPTER 17 Communitywide Reuse of Architectural Assets |
|
|
375 | (20) |
|
17.1 References Architectures |
|
|
375 | (5) |
|
|
380 | (3) |
|
17.3 The Process of Engineering an Open System |
|
|
383 | (2) |
|
|
385 | (8) |
|
|
393 | (1) |
|
|
394 | (1) |
|
17.7 Discussion Questions |
|
|
394 | (1) |
|
CHAPTER 18 The Meteorological Anchor Desk System: A Case Study in Building a Web-Based System from Off-the-Shelf Components |
|
|
395 | (22) |
|
18.1 Relationship to the Architecture Business Cycle |
|
|
397 | (1) |
|
18.2 Requirements and Qualities |
|
|
398 | (4) |
|
18.3 Architectural Approach |
|
|
402 | (2) |
|
18.4 Architectural Solution |
|
|
404 | (10) |
|
|
414 | (1) |
|
18.6 Discussion Questions |
|
|
415 | (2) |
|
CHAPTER 19 Software Architecture in the Future |
|
|
417 | (16) |
|
19.1 The Architecture Business Cycle Revisited |
|
|
418 | (1) |
|
19.2 Architecture and Legacy Systems |
|
|
419 | (3) |
|
19.3 Achieving an Architecture |
|
|
422 | (5) |
|
19.4 From Architecture to System |
|
|
427 | (2) |
|
|
429 | (1) |
|
|
430 | (3) |
Acronyms |
|
433 | (4) |
References |
|
437 | (6) |
Bibliography |
|
443 | (4) |
Index |
|
447 | |