软件设计 从专业到卓越
全新正版 现货速发
¥
62.7
6.3折
¥
99.8
全新
库存4件
作者张刚
出版社人民邮电出版社
ISBN9787115589750
出版时间2022-06
装帧平装
开本16开
定价99.8元
货号1202670341
上书时间2024-11-14
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
张刚,软件工程博士、资深技术专家、CCF 软件工程委员会执行委员、贝尔实验室杰出工程师。先后任职于阿尔卡特朗讯、上海理工大学和阿里巴巴。20 余年软件开发、架构设计和技术领导者的成功经验,优选软件工程方法与实践的持续探索者和积极传播者。
目录
品味篇识别优秀设计
第1章优质代码的外部特征2
1.1实现了期望的功能2
1.2缺陷尽量少6
1.3易于理解8
1.4易于演进11
1.5易于复用13
1.6小结14
第2章优质代码的内在特征16
2.1一致的编码风格16
2.2有意义的命名19
2.3简洁的行为实现24
2.4高内聚和低耦合的模块化结构28
2.5没有重复37
2.6没有多余的设计42
2.7具备自动化测试45
2.8小结47
专业篇建立扎实功底
第3章高质量的需求52
3.1用结构化的方法分析需求52
3.2定义业务目标58
3.3探索业务流程,定义系统功能61
3.4完善操作步骤,澄清业务规则68
3.5小结77
第4章领域建模79
4.1领域模型的概念79
4.2捕获业务概念85
4.3辨析业务概念85
4.4持续演进业务概念91
4.5用领域模型指导软件开发95
4.6小结97
第5章设计分解和责任分配99
5.1通过分而治之管理复杂性99
5.2架构分解的原则与模式105
5.3正确使用语言特性110
5.4关注点分离116
5.5设计模式119
5.6小结124
第6章依赖、接口和契约126
6.1依赖的设计原则126
6.2需求方接口134
6.3提供方接口142
6.4设计契约145
6.5事件机制151
6.6小结156
很好篇实现高效编码
第7章用测试描述需求和契约160
7.1将测试作为一个建设性活动160
7.2从V模型到I模型161
7.3用测试澄清和文档化需求164
7.4用测试澄清职责和契约170
7.5测试先行174
7.6小结180
第8章用领域模型指导实现182
8.1用领域模型指导实现182
8.2基本构造块188
8.3聚合、资源库和工厂196
8.4分层架构和代码结构208
8.5限界上下文211
8.6上下文映射213
8.7领域模型的持续演进217
8.8小结219
第9章由外而内的设计221
9.1如何由外而内221
9.2由外而内设计的优势235
9.3应用测试替身238
9.4测试先行和由外而内247
9.5把由外而内应用于大规模的项目249
9.6小结261
第10章设计质量贯穿始终263
10.1质量内建263
10.2契约式设计和防御式编程265
10.3高质量的自动化测试273
10.4代码评审和结对编程285
10.5代码质量度量和问题检测288
10.6小结300
第11章让设计持续演进302
11.1软件设计的演进本质302
11.2简单设计305
11.3重构310
11.4测试驱动开发318
11.5持续集成330
11.6小结332
第12章精益思想和高效编程334
12.1精益思想334
12.2精益思想和软件设计的关系337
12.3总结340
参考文献345
索引349
内容摘要
本书介绍了高效的软件设计和编程方法,把精益需求分析、领城驱动设计、面向对象编程、契约式设计、测试驱动开发、意图导向编程及演进式设计等编程实践融会贯通,深入洞察软件设计的本质,为软件工程师展示了一个清晰的“编程能力提升路线图"。本书适合各种编程语言的一线开发者、计算机和软件工程相关专业三年级及以上的本科生和研究生阅读,也适合专业的软件开发团队参考。
主编推荐
1.软件设计的进阶指南
读者可以按顺序阅读本书的各章节。也可以按照需要在各章节之间跳转。由于每一位开发者或多或少地接触过某些知识点,所以本书的各章节尽量做到彼此独立。此外,书末包含索引,在其中可以找到各主要概念在本书中出现的位置。
2.编程能力提升路线图
本书被设计为一个“藏宝图”。它提供一个路线图,引导读者找到所需的宝藏。在保证每个部分介绍的内容是完整的基础上,我刻意控制了每章的篇幅,把更具体的内容和做法指引到该领域的参考文献。读者们可以通过参考文献的线索以及自主的知识检索,深入了解其中的关键实践。
3.形成团队设计共识
软件开发是集体活动,特别是考虑到演进因素时更是如此。本书可以作为关心提升效率的研发团队集体学习和讨论的素材,在本书介绍的实践基础上结合实际形成和加深共识。
媒体评论
从事软件架构和设计教学十几年来,我一直期待能有这样一本关于软件设计的好书。本书以产品演进为目标,用大量实例讲解了软件设计对整个开发过程的核心作用。希望这本书可以帮助人们了解:软件设计,不是冗长的文档,不是UML,更不是软件开发流程中一个可有可无的环节。从需求到编码到测试,“设计”是贯穿始终的核心。尤其是书中对抽象和责任分解、简单设计、柔性设计的论述,阐明了软件设计的本质。这本书是张老师深厚的理论基础和多年实践相结合的匠心之作,值得每一位希望成为架构师和设计师的业内人士细细研读。
—— 蔡元芳,德雷塞尔大学计算机与信息学学院教授,IEEE TSE 副主编
张刚博士是少有的既有丰富一线实践经验又擅长系统性理论思考的软件技术专家。这本新作《软件设计:从专业到很好》结合高质量编码、需求和测试以及软件演化来谈软件设计思想和原则,使得软件设计从抽象的思想变为具体的实践。阅读本书,有助于软件开发实践者特别是新手循序渐进地培养自己的软件设计能力。
—— 彭鑫,复旦大学计算机科学技术学院副院长、教授,中国计算机学会软件工程专业委员会副主任
协同复杂度和认知复杂度是软件开发的根本挑战。对于软件工程师来说,能够真正深入理解和认识这种挑战,并且不断提升应对挑战的能力,是其专业发展的核心。张刚老师的这本《软件设计:从专业到很好》紧密围绕上述挑战,讲解实用的专业技能,涵盖开发流程中的协同优化、软件设计(包括模型和接口)等领域,建立了走向很好的精益实践路径。本书将丰富的设计原则和具体案例与工程师专业成长结合,给软件工程师呈现出了一条清晰的能力提升路线。相信本书会让每个追求很好的工程师获益匪浅。
—— 张瓅玶(谷朴),阿里巴巴集团研究员
不同于常见的聚焦细节的技术书,也不同于只从宏观层面讨论设计思想、方法论的书,张刚老师的这本书糅合了他多年的实战经验,一条主线贯穿软件开发的方方面面。本书融会贯通、深入浅出、去芜存菁。相信无论是刚入行的学习者,还是浸淫行业多年的老兵,都会从这本书中得到启发。
—— 武可,资深IT技术顾问,敏捷开发方法学专家
— 没有更多了 —
以下为对购买帮助不大的评价