• 现代软件工程:如何高效构建软件
21年品牌 40万+商家 超1.5亿件商品

现代软件工程:如何高效构建软件

正版保障 假一赔十 可开发票

51.23 6.4折 79.8 全新

库存33件

广东广州
认证卖家担保交易快速发货售后保障

作者(美)戴维·法利(David Farley)著

出版社人民邮电出版社

ISBN9787115599582

出版时间2023-06

装帧平装

开本16开

定价79.8元

货号12717253

上书时间2024-08-18

灵感书店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
目录
序 ——特丽莎·吉(Trisha Gee),开发技术推广工程师和Java 拥护者 第 1部分 什么是软件工程? 第 1章 简单介绍 3 1.1 工程——科学的实际应用 3 1.2 软件工程的定义 4 1.3 重新定义“软件工程” 6 1.4 软件工程的诞生 7 1.5 范式转移 9 1.6 小结 10 第 2章 什么是工程? 11 2.1 生产不是我们的问题 12 2.2 设计工程,而非生产工程 12 2.3 工程学的初步定义 17 2.4 工程不等于代码 18 2.5 为什么工程很重要? 20 2.6 “工艺”的极限 20 2.7 精度和可伸缩性 21 2.8 管理复杂性 22 2.9 测量的可重复性和准确性 23 2.10 工程、创造和工艺 25 2.11 为什么我们所做的不是软件工程 27 2.12 权衡 28 2.13 进步的错觉 28 2.14 从工艺到工程的旅程 29 2.15 只有工艺还不够 30 2.16 是时候反思了? 30 2.17 小结 32 第3章 工程方法的基本原理 33 3.1 变革的行业? 33 3.2 度量的重要性 35 3.3 应用稳定性和吞吐量 37 3.4 软件工程学科的基础 38 3.5 学习专家 39 3.6 管理复杂性的专家 40 3.7 小结 41 第 2部分 优化学习 第4章 迭代式工作 45 4.1 迭代式工作的实际优势 47 4.2 迭代作为防御性设计策略 49 4.3 计划的诱惑 51 4.4 迭代式工作的实用性 56 4.5 小结 58 第5章 反馈 59 5.1 反馈重要性的实例 60 5.2 编码中的反馈 63 5.3 集成中的反馈 64 5.4 设计中的反馈 66 5.5 架构中的反馈 68 5.6 倾向于早期反馈 70 5.7 产品设计中的反馈 71 5.8 组织和文化中的反馈 72 5.9 小结 74 第6章 增量主义 75 6.1 模块化的重要性 76 6.2 组织增量主义 77 6.3 增量主义工具 79 6.4 变更的影响 80 6.5 增量式设计 82 6.6 小结 84 第7章 经验主义 85 7.1 立足于现实 86 7.2 区分经验主义与实验性 87 7.3 “我知道那个bug!” 87 7.4 避免自我欺骗 89 7.5 创造符合我们论点的现实 90 7.6 以现实为指导 93 7.7 小结 94 第8章 实验性 95 8.1 “实验性”是什么意思? 96 8.2 反馈 97 8.3 假设 99 8.4 度量 100 8.5 控制变量 101 8.6 自动化测试作为实验 102 8.7 将测试的实验结果置于环境中 103 8.8 实验范围 105 8.9 小结 106 第3部分 优化管理复杂性 第9章 模块化 109 9.1 模块化的标志 111 9.2 低估优秀设计的重要性 111 9.3 可测试性的重要性 113 9.4 可测试性设计提高模块化 114 9.5 服务和模块化 120 9.6 可部署性和模块化 121 9.7 不同规模的模块化 123 9.8 人类系统中的模块化 124 9.9 小结 126 第 10章 内聚力 127 10.1 模块化和内聚力:设计的基础 127 10.2 内聚力的基本降低 128 10.3 上下文很重要 131 10.4 高性能软件 134 10.5 与耦合的联系 135 10.6 测试驱动开发推动高内聚力 136 10.7 如何实现内聚软件 136 10.8 内聚力差的代价 139 10.9 人类系统中的内聚力 140 10.10 小结 140 第 11章 关注点分离 141 11.1 依赖注入 145 11.2 分离本质复杂性和偶然复杂性 146 11.3 领域驱动设计的重要性 149 11.4 可测试性 151 11.5 端口和适配器 151 11.6 何时采用端口和适配器 154 11.7 什么是API 155 11.8 使用测试驱动开发推动关注点分离 156 11.9 小结 157 第 12章 信息隐藏和抽象 158 12.1 抽象或信息隐藏 158 12.2 是什么导致了“大泥球” 159 12.3 组织和文化问题 159 12.4 技术问题和设计问题 162 12.5 对过度设计的恐惧 165 12.6 通过测试改进抽象 168 12.7 抽象的力量 169 12.8 抽象泄漏 170 12.9 选择适当的抽象 172 12.10 问题领域的抽象 174 12.11 抽象偶然复杂性 175 12.12 隔离第三方系统和代码 178 12.13 总是倾向于隐藏信息 179 12.14 小结 180 第 13章 管理耦合 181 13.1 耦合的代价 181 13.2 扩展 182 13.3 微服务 183 13.4 解耦可能意味着更多的代码 185 13.5 松耦合不是专享重要的类型 187 13.6 倾向于松耦合 188 13.7 这与关注点分离有何不同? 189 13.8 DRY 太过于简单化 190 13.9 异步作为松耦合的工具 192 13.10 松耦合设计 193 13.11 人类系统中的松耦合 194 13.12 小结 196 第4部分 支持软件工程的工具 第 14 章 工程学科的工具 199 14.1 什么是软件开发? 200 14.2 可测试性作为工具 202 14.3 测量点 205 14.4 实现可测试性的问题 205 14.5 如何提高可测试性 209 14.6 可部署性 210 14.7 速度 212 14.8 控制变量 213 14.9 持续交付 214 14.10 支持工程的通用工具 215 14.11 小结 216 第 15章 现代软件工程师 217 15.1 工程作为人类过程 219 15.2 数字化颠覆性组织 220 15.3 结果与机制 222 15.4 持久且普遍适用 224 15.5 工程学科的基础 227 15.6 小结 227

内容摘要
本书探讨了软件工程的真正含义,汇集了一些重要的软件开发基本原则,将它们紧密结合成一个一致的模型,旨在帮助读者有效、快速地构建软件。全书共4个部分:第1部分探讨软件工程的真正含义,以及如何将工程的原则和原理应用到软件开发中;第2部分讲述运用科学思想优化软件开发过程的方法,包括迭代式、增量式工作,获得并利用快速、高质量的反馈,采用实验性和经验主义的科学方法;第3部分介绍管理软件复杂性的方法,深入探讨模块化、内聚力、关注点分离、信息隐藏和抽象、管理耦合等原则;第4部分介绍支持软件工程的工具,以及一些贯穿本书的软件开发理念,包括可测试性、可部署性、速度、控制变量、持续交付等。

主编推荐
(1)持续交付先驱戴维·法利全新力作。曾与耶斯·亨布尔(JezHumble)共同撰写了获Jolt大奖的图书《持续交付:发布可靠软件的系统方法》。 (2)改进复杂软件系统的工程实践指南。纠正人们对软件工程的传统认知误区,阐述生产力和创造力在软件工程中缺一不可的辩证关系;跳出特定的工具或技术,抽象、提炼、连贯为一套具有普适性、基础性的现代软件工程思想和范式;以实用有效的方法为重点,讲解科学原理、工程技术如何应用于软件开发。 (3)广泛适用于各类软件开发团队。书中提及的“道法术器”,对于初创公司或大型企业都适用,促进软件组织更加可靠、有效、高质量地构建软件,交付业务价值,激发创新活力。 (4)国家卫星气象中心风云四号气象卫星地面系统副总设计师 杨磊、中国信息通信研究院云计算与大数据研究所副总工程师陈屹力等业界学者、实践者亲笔推荐。

精彩内容
本书探讨了软件工程的真正含义,汇集了一些重要的软件开发基本原则,将它们紧密结合成一个一致的模型,旨在帮助读者有效、快速地构建软件。全书共4个部分:第1部分探讨软件工程的真正含义,以及如何将工程的原则和原理应用到软件开发中;第2部分讲述运用科学思想优化软件开发过程的方法,包括迭代式、增量式工作,获得并利用快速、高质量的反馈,采用实验性和经验主义的科学方法;第3部分介绍管理软件复杂性的方法,深入探讨模块化、内聚力、关注点分离、信息隐藏和抽象、管理耦合等原则;第4部分介绍支持软件工程的工具,以及一些贯穿本书的软件开发理念,包括可测试性、可部署性、速度、控制变量、持续交付等。

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP