(
Each chapter concludes with a Summary, For Further Reading and/or Discussion Questions.)
Preface. Reader's Guide. Acknowledgments. I. ENVISIONING ARCHITECTURE.
1. The Architecture Business Cycle. Where Do Architectures Come From?
Software Processes and the Architecture Business Cycle.
What Makes a "Good" Architecture?
2. What Is Software Architecture? What Software Architecture Is and What It Isn't.
Architectural Styles, Reference Models, and Reference Architectures.
Other Viewpoints.
Why Is Software Architecture Important?
Architectural Structures.
3. A-7E: A Case Study in Utilizing Architectural Structures. Relationship to the Architecture Business Cycle.
Requirements and Qualities.
Architectural Approach.
Architecture for the A-7E Avionics System.
II. CREATING AND ANALYZING AN ARCHITECTURE.
4. Quality Attributes. Architectures and Quality Attributes.
Architectural Means for Achieving Qualities.
5. Moving From Qualities to Architecture: Architectural Styles. Introducing Architectural Styles.
Organizing Architectural Styles.
Refinements of Styles.
Using Styles in System Design.
Achieving Quality Goals with Architectural Styles.
6. Unit Operations. Introducing Unit Operations.
Applying Unit Operations to User-Interface Software.
Ramifications of Addressing Quality Attributes.
7. The World Wide Web: A Case Study in Interoperability. Relationship to the Architecture Business Cycle.
Requirements and Qualities.
Architectural Approach.
Architectural Solution.
Architecture Business Cycle Today.
8. CORBA: A Case Study of an Industry Standard Computing Infrastructure. Relationship to the Architecture Business Cycle.
Requirements and Qualities.
Architectural Approach.
Architectural Solution.
The Web and CORBA.
9. Analyzing Development Qualities at the Architectural Level: The Software Architecture Analysis Method. The How and Why of Analyzing Software Architecture.
Overview of Software Architecture Analysis Method.
A Small Example of SAAM Application.
SAAM Applied to a Financial Management System.
SAAM Applied to a Revision-Control System.
Observations on SAAM.
10. Architecture Reviews. Costs and Benefits.
Review Techniques.
The Review Practice.
11. Air Traffic Control: A Case Study in Designing for High Availability. Relationship to the Architecture Business Cycle.
Requirements and Qualities.
Architectural Approach.
Architectural Solution.
Assessing the Architecture for Maintainability.
III. MOVING FROM ARCHITECTURES TO SYSTEMS.
12. Architecture Description Languages. Architecture Description Languages Today.
Capturing Architectural Information in an ADL.
How Do ADLs Help System Development?
Choosing an ADL.
An Example of an ADL.
13. Architecture-Based Development. Forming the Team Structure.
Creating a Skeletal System.
Exploiting Patterns in Software Architecture.
Ensuring Conformance to an Architecture.
Building Domain-Specific Languages.
14. Flight Simulation: A Case Study in Architecture for Integrability. Relationship to the Architecture Business Cycle.
Requirements and Qualities.
Architectural Approach.
Architectural Solution.
Achievement of Goals.
IV. REUSEING ARCHITECTURES.
15. Product Lines: Reusing Architectural Assets within an Organization. Creating Products and Evolving a Product Line.
Organizational Implications of a Product Line.
Component-Based Systems.
16. CelsiusTech: A Case Study in Product Line Development. Relationship to the Architecture Business Cycle.
Requirements and Qualities.
Architectural Approach.
17. Communitywide Reuse of Architectural Assets. Reference Architectures.
Open Systems.
The Process of Engineering an Open System.
Standards.
18. The Meteorological Anchor Desk System: A Case Study in Building a Web-Based System from Off-the-Shelf Components. Relationship to the Architecture Business Cycle.
Requirements and Qualities.
Architectural Approach.
Architectural Solution.
19. Software Architecture in the Future. The Architecture Business Cycle Revisited.
Architecture and Legacy Systems.
Achieving an Architecture.
From Architecture to System.
Acronyms. References. Bibliography. Index. 0201199300T04062001