语义软件设计
Eben Hewitt
马晶慧 译
出版时间:2022年10月
页数:305
“本书的观点犀利而又务实,让我们重新思考如何构思、设计与创建软件。本书指出了现代软件开发体系的不健全之处,对部分基本假设提出了质疑,为你提供了一种全新的方法和一整套工具,帮助你在预算范围内准时交付高质量的软件。”
——Holt Hopkins
Sabre高级架构总监

为什么有如此之多的软件项目都以失败告终?本书的作者是一名资深的首席架构师兼CTO,他在本书中介绍了一种全新的软件架构理论与实践方法。语义设计打破传统思想,重新定义了软件架构:为构建强大、灵活及可扩展系统而构思概念的过程。
本书概述了语义软件设计的核心实践,并提出了一套完整的架构实践工具包,其中包括一组实践模式和模板。架构师、系统设计师、软件开发经理、CTO和CIO可以通过本书学习如何创建有效且全面的架构与技术计划,从而提高项目的成功率。
● 学习一系列久经考验的架构实践,从有效的架构、设计思维与运维等方面入手,创建优质的软件产品。
● 深入探索业务架构、基础设施架构、数据架构与应用程序架构。
● 探讨架构师、项目经理以及管理层如何通过价值链,与开发团队、管理团队和产品团队高效地开展工作。
● 探讨机器学习架构与自动化流水线的特殊应用。
● 为企业架构团队提供一套完整的实践模板。
  1. 前言
  2. 第一篇 设计理念
  3. 第1章 软件架构的起源
  4. 1.1 软件的概念起源
  5. 1.2 复制与创新
  6. 1.3 为什么软件项目会失败
  7. 1.4 失败的影响
  8. 第2章 概念的产生
  9. 2.1 语义与软件工厂
  10. 2.2 需求的神话
  11. 2.3 语义与软件架构
  12. 2.4 语义领域
  13. 2.5 设计就是概念生成
  14. 2.6 什么是概念?
  15. 2.6.1达成、避免和修复
  16. 2.6.2 拟定概念的大纲
  17. 2.7 通过设计图册记录想法
  18. 2.8 契合目标
  19. 2.9 通过总体构图传达概念
  20. 2.9.1 示例
  21. 2.9.2 从其他角度考虑总体构图
  22. 2.9.3 总体构图基于一系列发现
  23. 2.10 理解理念
  24. 2.10.1 感性确定性
  25. 2.10.2 元认知
  26. 2.11 上下文
  27. 2.12 集合
  28. 2.13 语义设计的优势
  29. 第3章 解构与设计
  30. 3.1 解构简介
  31. 3.2 简单的复杂
  32. 3.3 构造与解构
  33. 3.4 功能可供性
  34. 3.5 赋予负空间意图和使用价值
  35. 3.6 设计决策至少具备两个正当理由
  36. 3.7 多角度设计
  37. 3.8 创建隔离区或大使馆
  38. 3.9 容错设计
  39. 3.10 设计语言
  40. 3.11 从用户的对立面着手
  41. 3.12 平台
  42. 第二篇 语义设计实践
  43. 第4章 设计思维
  44. 4.1 为什么采用设计思维?
  45. 4.2 探索设计思维
  46. 4.2.1 原则
  47. 4.2.2 方法
  48. 4.3 实施设计思维方法
  49. 4.4 小结
  50. 第5章 语义设计的实践与成果物
  51. 5.1 设计原则
  52. 5.2 结对设计
  53. 5.3 墙绘
  54. 5.4 愿景盒
  55. 5.5 思维导图
  56. 5.6 用例
  57. 5.7 准则与约定
  58. 5.7.1 utils
  59. 5.7.2 domain
  60. 5.7.3 service-api
  61. 5.7.4 service-impl
  62. 5.7.5 service-client
  63. 5.8 方法
  64. 5.9 设计定义文档
  65. 5.10 立场文件
  66. 5.11 RAID
  67. 5.12 演示文稿和多个角度
  68. 5.13 小结
  69. 第6章 业务
  70. 6.1 捕获业务战略
  71. 6.1.1 提供统一认识
  72. 6.1.2 战略目标与战术需求的统一
  73. 6.2 框架介绍
  74. 6.3 创建业务术语表
  75. 6.4 创建组织图
  76. 6.5 创建业务能力模型
  77. 6.6 创建流程图
  78. 6.7 重新设计流程
  79. 6.8 盘点系统
  80. 6.9 定义指标
  81. 6.10 适当的管理
  82. 6.11 应用程序中的业务架构
  83. 6.12 小结
  84. 第7章 应用程序
  85. 7.1 接纳约束
  86. 7.2 解耦用户界面
  87. 7.3 平台设计
  88. 7.4 服务的资源和表示
  89. 7.5 API准则
  90. 7.6 解构版本编号规则
  91. 7.7 可缓存性和幂等性
  92. 7.8 可独立构建
  93. 7.9 策略模式与可配置服务
  94. 7.10 特定于应用程序的服务
  95. 7.11 通过服务通信
  96. 7.12 对外公开
  97. 7.13 弹性设计
  98. 7.14 交互式文档
  99. 7.15 服务的结构
  100. 7.15.1 UI软件包
  101. 7.15.2 编排
  102. 7.15.3 引擎
  103. 7.15.4 数据访问器
  104. 7.16 事件处理
  105. 7.17 上下文服务与服务混合
  106. 7.18 性能提升检查列表
  107. 7.19 API与实现的分离
  108. 7.20 语言
  109. 7.21 不变性
  110. 7.22 规格
  111. 7.23 自动测试
  112. 7.24 注释
  113. 7.25 小结
  114. 第8章 数据
  115. 8.1 业务术语表
  116. 8.2 语义数据建模策略
  117. 8.3 多种多样的持久层
  118. 8.4 多重建模
  119. 8.5 流数据模型
  120. 8.6 机器学习的特征工程
  121. 8.7 Classpath部署与网络代理
  122. 8.8 点对点持久存储
  123. 8.9 图数据库
  124. 8.10 数据流水线
  125. 8.11 机器学习数据流水线
  126. 8.12 元数据与服务指标
  127. 8.13 审计
  128. 8.14 ADA合规性
  129. 8.15 小结
  130. 第9章 基础设施
  131. 9.1 架构师的考虑因素
  132. 9.2 开发运维
  133. 9.3 基础设施即代码
  134. 9.4 指标优先
  135. 9.5 关注自动化流水线
  136. 9.6 生产的多元宇宙与特性开关
  137. 9.6.1 特性开关的实现
  138. 9.6.2 多臂老虎机:机器学习与无限切换
  139. 9.7 基础设施设计与文档
  140. 9.8 混沌工程
  141. 9.9 利益相关者的多样化与内外用户
  142. 9.10 小结
  143. 第三篇 运维、流程以及管理
  144. 第10章 创意总监
  145. 10.1 语义设计师的角色
  146. 10.2 各个行业的创意总监
  147. 10.2.1 时尚界
  148. 10.2.2 影视业
  149. 10.2.3 电子游戏业
  150. 10.2.4 广告业
  151. 10.2.5 戏剧业
  152. 10.2.6 科技行业
  153. 10.2.7 称谓
  154. 第11章 管理与运营
  155. 11.1 策略与工具
  156. 11.2 迂回策略
  157. 11.3 水平思考与概念构思
  158. 11.4 概念测试
  159. 11.5 代码审核
  160. 11.6 演示
  161. 11.7 运营计分卡
  162. 11.8 面向服务的组织
  163. 11.9 可扩展商业机器
  164. 11.10 现代化计划的管理
  165. 11.11 变革管理
  166. 11.12 管理委员会
  167. 11.12.1 目标
  168. 11.12.2 指标
  169. 11.12.3 服务组合
  170. 11.12.4 服务目录与元数据
  171. 11.13 服务设计清单
  172. 11.13.1 服务设计
  173. 11.13.2 服务运营
  174. 11.13.3 业务流程
  175. 11.13.4 数据
  176. 11.13.5 错误
  177. 11.13.6 性能
  178. 11.13.7 安全
  179. 11.13.8 质量保证
  180. 11.13.9 可用性与支持
  181. 11.13.10 部署
  182. 11.13.11 文档
  183. 11.14 有关组织设计的延伸阅读
  184. 第12章 语义设计宣言
  185. 附录A 语义设计工具集
  186. 附录B 延伸阅读
书名:语义软件设计
作者:Eben Hewitt
译者:马晶慧 译
国内出版社:中国电力出版社
出版时间:2022年10月
页数:305
书号:978-7-5198-7030-0
原版书书名:Semantic Software Design
原版书出版商:O'Reilly Media
Eben Hewitt
 
Eben Hewitt是一家全球企业SaaS公司的首席架构师兼CTO。曾出版《Technology Strategy Patterns: Architecture as Strategy》、《Cassandra: The Definitive Guide》等多部有关架构、服务,以及软件开发的书籍。

Eben Hewitt是Choice Hotels International的首席技术官,这是全球最大酒店集团之一。

Eben Hewitt是美国一家资产达数十亿的零售公司的技术架构师,关注设计和构建该公司的SOA。他有10年的IT从业经验,并拥有多个行业证书,包括Sun认证的“Java Web Services Developer for EE 5”。Eben是JavaOne受欢迎的SOA发言人,而且在此之前,他已经编写了4本编程书籍和多篇行业文章。最近,他为O’Reilly的Richard Monson-Haefel主编的“97 Things Every Software Architect Should Know”撰稿(http://oreilly.com/catalog/9780596522698)。
 
 
本书封面上的动物是非洲森林水牛(英文:African forest buffalo,学名:Syncerus caffer nanus),这是非洲水牛的一个亚种。这种类型的水牛生活在非洲大陆西部和中部的热带雨林,而其他三个亚种都生活在热带稀树大草原。
非洲森林水牛是最小的亚种,体重约为250~320公斤(相比之下,普通的非洲水牛约为400~800公斤)。该亚种具有红棕色的皮,在面部区域较暗。角的形状和大小也不同于其他亚种,它们的角要小得多,生长方向不同,而且也不会融合在一起。非洲森林水牛以森林周围空地上的草和各种植物为食。随着森林的砍伐,非洲森林水牛也适应了在人类道路附近或可以生长草的伐木地区生活。
非洲森林水牛的水牛群相对较小,不超过 30 头,通常由 1~2头公牛和几头雌性、幼年和小犊牛组成。公牛一整年都会和牛群待在一起,而不会处于落单状态。非洲森林水牛成群结队,通常有助于防御天敌,因此大多数捕食者都无法杀死一头成年的水牛。但尼罗河鳄鱼是一个例外。
购买选项
定价:98.00元
书号:978-7-5198-7030-0
出版社:中国电力出版社