目录 preface xv reader’s guide xvii acknowledgments xix part one: introduction chapter 1: what is software architecture? 1.1 what software architecture is and what it isn’t 1.2 architectural structures and views 1.3 architectural patterns 1.4 what makes a “good” architecture? 1.5 summary 1.6 for further reading 1.7 discussion questions
chapter 2: why is software architecture important? 2.1 inhibiting or enabling a system’s quality attributes 2.2 reasoning about and managing change 2.3 predicting system qualities 2.4 enhancing communication among stakeholders 2.5 carrying early design decisions 2.6 defining constraints on an implementation 2.7 influencing the organizational structure 2.8 enabling evolutionary prototyping 2.9 improving cost and schedule estimates 2.10 supplying a transferable, reusable model 2.11 allowing incorporation of independently developed components 2.12 restricting the vocabulary of design alternatives 2.13 providing a basis for training 2.14 summary 2.15 for further reading 2.16 discussion questions
chapter 3: the many contexts of software architecture 3.1 architecture in a technical context 3.2 architecture in a project life-cycle context 3.3 architecture in a business context 3.4 architecture in a professional context 3.5 stakeholders 3.6 how is architecture influenced? 3.7 what do architectures influence? 3.8 summary 3.9 for further reading 3.10 discussion questions part two: quality attributes
chapter 4: understanding quality attributes 4.1 architecture and requirements 4.2 functionality 4.3 quality attribute considerations 4.4 specifying quality attribute requirements 4.5 achieving quality attributes through tactics 4.6 guiding quality design decisions 4.7 summary 4.8 for further reading 4.9 discussion questions
chapter 5: availability 5.1 availability general scenario 5.2 tactics for availability 5.3 a design checklist for availability 5.4 summary 5.5 for further reading 5.6 discussion questions
chapter 6: interoperability 6.1 interoperability general scenario 6.2 tactics for interoperability 6.3 a design checklist for interoperability 6.4 summary 6.5 for further reading 6.6 discussion questions
chapter 7: modifiability 7.1 modifiability general scenario 7.2 tactics for modifiability 7.3 a design checklist for modifiability 7.4 summary 7.5 for further reading 7.6 discussion questions
chapter 8: performance 8.1 performance general scenario 8.2 tactics for performance 8.3 a design checklist for performance 8.4 summary 8.5 for further reading 8.6 discussion questions
chapter 9: security 9.1 security general scenario 9.2 tactics for security 9.3 a design checklist for security 9.4 summary 9.5 for further reading 9.6 discussion questions
chapter 10: testability 10.1 testability general scenario 10.2 tactics for testability 10.3 a design checklist for testability 10.4 summary 10.5 for further reading 10.6 discussion questions
chapter 11: usability 11.1 usability general scenario 11.2 tactics for usability 11.3 a design checklist for usability 11.4 summary 11.5 for further reading 11.6 discussion questions
chapter 12: other quality attributes 12.1 other important quality attributes 12.2 other categories of quality attributes 12.3 software quality attributes and system quality attributes 12.4 using standard lists of quality attributes–or not 12.5 dealing with “x-ability”: bringing a new quality attribute into the fold 12.6 for further reading 12.7 discussion questions
chapter 13: architectural tactics and patterns 13.1 architectural patterns 13.2 overview of the patterns catalog 13.3 relationships between tactics and patterns 13.4 using tactics together 13.5 summary 13.6 for further reading 13.7 discussion questions
chapter 14: quality attribute modeling and analysis 14.1 modeling architectures to enable quality attribute analysis 14.2 quality attribute checklists 14.3 thought experiments and back-of-the-envelope analysis 14.4 experiments, simulations, and prototypes 14.5 analysis at different stages of the life cycle 14.6 summary 14.7 for further reading 14.8 discussion questions part three: architecture in the life cycle
chapter 15: architecture in agile projects 15.1 how much architecture? 15.2 agility and architecture methods 15.3 a brief example of agile architecting 15.4 guidelines for the agile architect 15.5 summary 15.6 for further reading 15.7 discussion questions
chapter 16: architecture and requirements 16.1 gathering asrs from requirements documents 16.2 gathering asrs by interviewing stakeholders 16.3 gathering asrs by understanding the business goals 16.4 capturing asrs in a utility tree 16.5 tying the methods together 16.6 summary 16.7 for further reading 16.8 discussion questions
chapter 17: designing an architecture 17.1 design strategy 17.2 the attribute-driven design method 17.3 the steps of add 17.4 summary 17.5 for further reading 17.6 discussion questions
chapter 18: documenting software architectures 18.1 uses and audiences for architecture documentation 18.2 notations for architecture documentation 18.3 views 18.4 choosing the views 18.5 combining views 18.6 building the documentation package 18.7 documenting behavior 18.8 architecture documentation and quality attributes 18.9 documenting architectures that change faster than you can document them 18.10 documenting architecture in an agile development project 18.11 summary 18.12 for further reading 18.13 discussion questions
chapter 19: architecture, implementation, and testing 19.1 architecture and implementation 19.2 architecture and testing 19.3 summary 19.4 for further reading 19.5 discussion questions
chapter 20: architecture reconstruction and conformance 20.1 architecture reconstruction process 20.2 raw view extraction 20.3 database construction 20.4 view fusion 20.5 architecture analysis: finding violations 20.6 guidelines 20.7 summary 20.8 for further reading 20.9 discussion questions
chapter 21: architecture evaluation 21.1 evaluation factors 21.2 the architecture tradeoff analysis method 21.3 lightweight architecture evaluation 21.4 summary 21.5 for further reading 21.6 discussion questions
chapter 22: management and governance 22.1 planning 22.2 organizing 22.3 implementing 22.4 measuring 22.5 governance 22.6 summary 22.7 for further reading 22.8 discussion questions part four: architecture and business
chapter 23: economic analysis of architectures 23.1 decision-making context 23.2 the basis for the economic analyses 23.3 putting theory into practice: the cbam 23.4 case study: the nasa ecs project 23.5 summary 23.6 for further reading 23.7 discussion questions
chapter 24: architecture competence 24.1 competence of individuals: duties, skills, and knowledge of architects 24.2 competence of a software architecture organization 24.3 summary 24.4 for further reading 24.5 discussion questions
chapter 25: architecture and software product lines 25.1 an example of product line variability 25.2 what makes a software product line work? 25.3 product line scope 25.4 the quality attribute of variability 25.5 the role of a product line architecture 25.6 variation mechanisms 25.7 evaluating a product line architecture 25.8 key software product line issues 25.9 summary 25.10 for further reading 25.11 discussion questions part five: the brave new world
chapter 26: architecture in the cloud 26.1 basic cloud definitions 26.2 service models and deployment options 26.3 economic justification 26.4 base mechanisms 26.5 sample technologies 26.6 architecting in a cloud environment 26.7 summary 26.8 for further reading 26.9 discussion questions
chapter 27: architectures for the edge 27.1 the ecosystem of edge-dominant systems 27.2 changes to the software development life cycle 27.3 implications for architecture 27.4 implications of the metropolis model 27.5 summary 27.6 for further reading 27.7 discussion questions
chapter 28: epilogue references about the authors index
以下为对购买帮助不大的评价