软件构架实践 : 第3版

软件构架实践 : 第3版

(美) 巴斯 (Bass,L.) , (美) 克莱门茨 (Clements,P.) , (美) 凯兹曼 (Kazman,R.) , 著

出版社:清华大学出版社

年代:2013

定价:79.0

书籍简介:

《软件构架实践》(第3版)根据软件构架的影响期对全书进行了重构,充分体现了软件构架在近十年来的最新发展动态。本书是卡内基·梅隆大学软件工程研究所的推荐教材,曾获“软件开发”Jolt大奖。本书可作为软件学院及高校相关专业本科生和研究生的教材,也非常适合业界人士研究参考。

书籍目录:

preface

reader’s guide

acknowledgments

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

内容摘要:

《软件构架实践(第3版 影印版)》是一本荣获大奖且影响深远的经典,目前已经全面修订,充分体现了这一领域的最新进展。基于软件开发的真实现状,《软件构架实践(第3版 影印版)》再次以全新的角度引入软件构架的相关概念和最佳实践,阐述软件系统是如何架构的,软件系统中的各个要素之间又是如何相互作用的。有别于实现细节、算法和数据表示,软件构架是达成高品质软件的关键,是一种可重用于后续软件系统的资产,对软件企业的商业策略至关重要。   作者围绕着软件构架影响周期的概念对本书前一版进行了重构。每个周期都表明了软件构架是如何产生影响的,同时它又受哪些因素的影响。软件构架在特定的背景下发挥着关键性的作用。这些背景包括技术环境、项目的生命周期、组织的业务概况和架构师的专业实践。作者还进一步延展了质量属性,仍然以构架理念为中心(用单独一章内容来专门介绍每个属性),进一步拓宽了软件构架模式。   如果要参与或者负责大型软件系统的设计、开发和管理,你会发现这本书是很有价值的参考资源,可以帮助你紧跟技术潮流。

编辑推荐:

《软件构架实践(第3版 影印版)》特色主题:
  ◆软件构架的背景:技术角度、项目角度、业务角度和专业角度
  ◆软件构架的竞争力:对于个人和组织的意义
  ◆业务目标的依据及其对软件构架的影响
  ◆软件构架层面的重要需求及其确定方式
  ◆软件生命周期中的构架,包括以设计思维为前提的生成一测试:实现期间的软件构架一致性:构架与测试j构架与敏捷开发
  ◆构架与当前技术潮流(比如云计算,社交网络和终端用户设备)

书籍规格:

书籍详细信息
书名软件构架实践 : 第3版站内查询相似图书
9787302312932
如需购买下载《软件构架实践 : 第3版》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位清华大学出版社
版次影印本印次1
定价(元)79.0语种英文
尺寸23 × 19装帧平装
页数印数 3500

书籍信息归属:

软件构架实践 : 第3版是清华大学出版社于2013.出版的中图分类号为 TP311.52 的主题关于 软件开发-英文 的书籍。