Atnaujinkite slapukų nuostatas

Software Architecture in Practice [Kietas viršelis]

  • Formatas: Hardback, 480 pages, aukštis x plotis x storis: 243x166x35 mm, weight: 951 g
  • Išleidimo metai: 12-Feb-1998
  • Leidėjas: Addison Wesley
  • ISBN-10: 0201199300
  • ISBN-13: 9780201199307
Kitos knygos pagal šią temą:
  • Formatas: Hardback, 480 pages, aukštis x plotis x storis: 243x166x35 mm, weight: 951 g
  • Išleidimo metai: 12-Feb-1998
  • Leidėjas: Addison Wesley
  • ISBN-10: 0201199300
  • ISBN-13: 9780201199307
Kitos knygos pagal šią temą:
This book introduces the concepts and practice of software architecture-what a system is designed to do, and on how its components are meant to interact with each other. An architecture is an abstract view, distinct from the details of implementation, algorithm, and data representation. Its creation is the first step in designing a system with properties desired by customers, end users, developers, maintainers, and other interested parties. The authors cover here not only essential technical topics for specifying and validating a system, but, for the first time, emphasize the importance of the business context in which large systems are designed. Enhancing both technical and organizational discussions, key points are illuminated by substantial case studies undertaken by the authors and the Software Engineering Institute.
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)
1.4 Summary
19(1)
1.5 Discussion Questions
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)
2.3 Other Viewpoints
26(2)
2.4 Why Is Software Architecture Important?
28(8)
2.5 Architectural Structures
36(5)
2.6 Summary
41(1)
2.7 For Further Reading
42(1)
2.8 Discussion Questions
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)
3.5 Summary
69(1)
3.6 For Further Reading
70(1)
3.7 Discussion Questions
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)
4.3 Summary
90(1)
4.4 For Further Reading
90(1)
4.5 Discussion Questions
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)
5.6 Summary
121(1)
5.7 For Further Reading
121(1)
5.8 Discussion Questions
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)
6.4 Summary
143(1)
6.5 For Further Reading
143(1)
6.6 Discussion Questions
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)
7.6 Summary
161(2)
7.7 For Further Reading
163(1)
7.8 Discussion Questions
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)
8.5 The Web and CORBA
184(2)
8.6 Summary
186(1)
8.7 For Further Reading
186(1)
8.8 Discussion Questions
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)
9.6 Observations on SAAM
216(3)
9.7 Summary
219(1)
9.8 For Further Reading
220(1)
9.9 Discussion Questions
220(1)
CHAPTER 10 Architecture Reviews
221(18)
10.1 Costs and Benefits
222(3)
10.2 Review Techniques
225(5)
10.3 The Review Practice
230(6)
10.4 Summary
236(1)
10.5 For Further Reading
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)
11.6 Summary
263(1)
11.7 For Further Reading
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)
12.4 Choosing an ADL
274(3)
12.5 An Example of an ADL
277(6)
12.6 Summary
283(1)
12.7 For Further Reading
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)
13.6 Summary
301(1)
13.7 For Further Reading
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)
14.6 Summary
326(1)
14.7 For Further Reading
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)
15.4 Summary
343(1)
15.5 For Further Reading
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)
16.4 Summary
372(2)
16.5 For Further Reading
374(1)
16.6 Discussion Questions
374(1)
CHAPTER 17 Communitywide Reuse of Architectural Assets
375(20)
17.1 References Architectures
375(5)
17.2 Open Systems
380(3)
17.3 The Process of Engineering an Open System
383(2)
17.4 Standards
385(8)
17.5 Summary
393(1)
17.6 For Further Reading
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)
18.5 Summary
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)
19.5 Summary
429(1)
19.6 For Further Reading
430(3)
Acronyms 433(4)
References 437(6)
Bibliography 443(4)
Index 447
Len Bass is a senior member of the technical staff at the Software Engineering Institute (SEI). He has written or edited five books and numerous papers on software engineering and other topics. He has extensive experience in architecting real-world development projects.

Paul Clements is a senior member of the technical staff at the SEI, where he works on software architecture and product line engineering. He is the author of five books and more than three dozen papers on these and other topics.

Rick Kazman is a senior member of the technical staff at the SEI. He is also an Associate Professor at the University of Hawaii. He is the author of two books, editor of two more, and has written more than seventy papers on software engineering and related topics.





0201199300AB01162003