Foreword |
|
ix | |
|
Preface |
|
xi | |
Acknowledgments |
|
xv | |
|
I An Engineering Approach to Software Architecture |
|
|
1 | (34) |
|
|
3 | (14) |
|
1.1 An Engineering Approach to Software Design |
|
|
6 | (1) |
|
1.2 The Role of Software Architecture |
|
|
7 | (1) |
|
1.3 The Role of Software Components |
|
|
8 | (1) |
|
1.4 The Palladio Approach |
|
|
9 | (4) |
|
1.5 Structure of the Book and Reading Paths |
|
|
13 | (4) |
|
|
17 | (18) |
|
|
17 | (5) |
|
|
22 | (3) |
|
|
25 | (1) |
|
|
26 | (1) |
|
2.5 Media Store: Design Alternatives |
|
|
27 | (7) |
|
|
34 | (1) |
|
II Architectural Modeling |
|
|
35 | (56) |
|
3 Architectural Viewpoints |
|
|
37 | (38) |
|
|
37 | (1) |
|
3.2 Models, Viewpoints, View Types, and Views |
|
|
38 | (6) |
|
|
44 | (9) |
|
|
53 | (4) |
|
|
57 | (2) |
|
|
59 | (11) |
|
3.7 Questions and Exercises |
|
|
70 | (1) |
|
|
71 | (2) |
|
|
73 | (2) |
|
|
75 | (16) |
|
|
75 | (2) |
|
4.2 Component and Interface Reuse |
|
|
77 | (4) |
|
4.3 Architectural Style Reuse |
|
|
81 | (2) |
|
4.4 Architectural Pattern Reuse |
|
|
83 | (2) |
|
4.5 Reference Architecture Reuse |
|
|
85 | (1) |
|
4.6 Product-Line Architectures |
|
|
85 | (3) |
|
4.7 Questions and Exercises |
|
|
88 | (1) |
|
|
88 | (1) |
|
|
89 | (2) |
|
III Architectural Analysis |
|
|
91 | (102) |
|
|
93 | (22) |
|
|
93 | (2) |
|
|
95 | (4) |
|
|
99 | (4) |
|
5.4 Usage Profiles and Their Propagation |
|
|
103 | (4) |
|
5.5 Execution Environments |
|
|
107 | (3) |
|
5.6 Domain-Specific Quality Modeling |
|
|
110 | (1) |
|
5.7 Putting the Pieces Together |
|
|
111 | (2) |
|
5.8 Questions and Exercises |
|
|
113 | (1) |
|
|
113 | (1) |
|
|
114 | (1) |
|
|
115 | (24) |
|
|
116 | (4) |
|
6.2 Real User and Application Performance Monitoring |
|
|
120 | (6) |
|
6.3 Resource Demand Estimation |
|
|
126 | (4) |
|
6.4 Estimating Failure Probabilities |
|
|
130 | (3) |
|
|
133 | (2) |
|
6.6 Questions and Exercises |
|
|
135 | (2) |
|
|
137 | (1) |
|
|
137 | (2) |
|
7 Answering Design Questions |
|
|
139 | (28) |
|
|
139 | (3) |
|
7.2 Understanding the Results |
|
|
142 | (14) |
|
7.3 Tactics for Improving Quality |
|
|
156 | (1) |
|
7.4 Automatically Searching for Better Architectures |
|
|
157 | (7) |
|
7.5 Questions and Exercises |
|
|
164 | (1) |
|
|
164 | (1) |
|
|
165 | (2) |
|
|
167 | (26) |
|
8.1 Quality Analysis Tools |
|
|
167 | (2) |
|
8.2 Performance Simulation of Palladio Models |
|
|
169 | (11) |
|
8.3 Performance Analysis Tools |
|
|
180 | (5) |
|
|
185 | (3) |
|
|
188 | (1) |
|
8.6 Questions and Exercises |
|
|
189 | (1) |
|
|
190 | (1) |
|
|
190 | (3) |
|
IV Embedding into the Software Engineering Process |
|
|
193 | (82) |
|
9 Software Engineering Processes |
|
|
195 | (32) |
|
9.1 When (Not) to Use Model-Driven Quality Prediction |
|
|
195 | (8) |
|
9.2 A Quality-Aware, Component-Based Development Process |
|
|
203 | (14) |
|
9.3 Application in Development Processes |
|
|
217 | (6) |
|
9.4 Questions and Exercises |
|
|
223 | (1) |
|
|
223 | (1) |
|
|
224 | (3) |
|
10 Relation to Requirements Engineering |
|
|
227 | (18) |
|
10.1 Requirements Engineering Foundations |
|
|
227 | (8) |
|
10.2 Relation of Requirements and Architectural Activities |
|
|
235 | (6) |
|
10.3 Requirement Checks in Later Life-Cycle Stages |
|
|
241 | (1) |
|
10.4 Questions and Exercises |
|
|
242 | (1) |
|
|
243 | (1) |
|
|
243 | (2) |
|
11 Relation to Implementation |
|
|
245 | (30) |
|
11.1 Forward and Reverse Engineering Overview |
|
|
246 | (2) |
|
|
248 | (10) |
|
|
258 | (13) |
|
11.4 Questions and Exercises |
|
|
271 | (1) |
|
|
272 | (1) |
|
|
273 | (2) |
|
|
275 | (64) |
|
12 Workload-Aware Monitoring of a 1&1 E-mail System |
|
|
277 | (24) |
|
|
277 | (1) |
|
|
278 | (1) |
|
|
278 | (2) |
|
|
280 | (2) |
|
|
282 | (1) |
|
|
282 | (13) |
|
|
295 | (3) |
|
|
298 | (3) |
|
13 Design Trade-offs in IBM Storage Visualization |
|
|
301 | (16) |
|
|
301 | (1) |
|
|
302 | (3) |
|
13.3 Structure and Behavior Modeling |
|
|
305 | (4) |
|
|
309 | (1) |
|
13.5 Analysis and Evaluation |
|
|
310 | (3) |
|
|
313 | (4) |
|
14 Design Space Exploration for an ABB ASP.NET Server |
|
|
317 | (22) |
|
|
317 | (2) |
|
|
319 | (1) |
|
|
319 | (3) |
|
|
322 | (5) |
|
|
327 | (9) |
|
|
336 | (3) |
Future Trends |
|
339 | (4) |
Conclusion |
|
343 | (4) |
Epilogue: A Brief History of Palladio |
|
347 | (4) |
References |
|
351 | (18) |
Contributors |
|
369 | (2) |
Index |
|
371 | |