架构实战

架构实战

软件架构设计的过程

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
6.655 评价豆瓣读书
免费试读

作品简介

本书理论结合实践,介绍了一些可以应用到整个或部分的架构设计流程中的最佳方法。不管你是一位资深的架构师还是一位有志于成为架构师的初级使用者,通过阅 读本书都能从中获益。

本书从基本原理入手,介绍软件架构设计过程中涉及的一些概念、流程、方法、用到的工作产品及可重用的资源,从第6章开始,通过介绍一个具体的案例来阐述如 何定义需求、创建逻辑架构、创建物理架构。在第10章“进阶”中,作者补充说明了架构师和软件开发项目其他方面的关系,后面又说明了各种软件开发项目可能 存在的困难及相应的处理方法。

Peter Eeles,IBM Rational Software的高级IT架构师,其主要工作室进行架构设计和实现大规模、分布式的系统。他目前致力于帮助组织提高软件开发能力。除本书外,Eeles还与人合作编写了《Building J2EETM Applications with the Rational Unified Process》(Addison-Wesley,2003)和《Building Business Objects》(Wiley,1998)。

Peter Cripps,IBM Global Business Services的高级IT架构师,专注于应用组件和基于服务的开发技术,并在整个IBM公司推广架构设计最佳实践,目前从事IBM Unified Method Framework的开发工作。

作品目录

  1. 架构实战
  2. 对本书的赞誉
  3. 译者序
  4. 前言
  5. 致谢
  6. 作者简介
  7. 第1章 导言
  8. 1.1 流程应用
  9. 1.2 流程概述
  10. 1.3 范围
  11. 1.4 总结
  12. 第2章 架构、架构师和架构设计
  13. 2.1 架构
  14. 2.1.1 架构定义结构
  15. 2.1.2 架构定义行为
  16. 2.1.3 架构关注重要的元素
  17. 2.1.4 架构平衡利益相关者的需要
  18. 2.1.5 架构基于合理证据使决策具体化
  19. 2.1.6 架构会遵循一种架构风格
  20. 2.1.7 架构受它的环境影响
  21. 2.1.8 架构影响开发团队的结构
  22. 2.1.9 所有系统都存在架构
  23. 2.1.10 架构有特定的范围
  24. 2.2 架构师
  25. 2.2.1 架构师是技术领导
  26. 2.2.2 架构师的角色可能由一个团队来履行
  27. 2.2.3 架构师理解软件开发流程
  28. 2.2.4 架构师掌握业务领域的知识
  29. 2.2.5 架构师掌握技术知识
  30. 2.2.6 架构师掌握设计技能
  31. 2.2.7 架构师具备编程技能
  32. 2.2.8 架构师是优秀的沟通人员
  33. 2.2.9 架构师进行决策
  34. 2.2.10 架构师知道组织政策
  35. 2.2.11 架构师是谈判专家
  36. 2.3 架构设计
  37. 2.3.1 架构设计是一门科学
  38. 2.3.2 架构设计是一门艺术
  39. 2.3.3 架构设计跨越很多方面
  40. 2.3.4 架构设计是一个渐进的活动
  41. 2.3.5 架构设计受许多利益相关者驱动
  42. 2.3.6 架构设计经常包括折中
  43. 2.3.7 架构设计承认经验
  44. 2.3.8 架构设计既由上而下也由下而上
  45. 2.4 架构设计的优点
  46. 2.4.1 架构设计解决系统的质量问题
  47. 2.4.2 架构设计促进达成共识
  48. 2.4.3 架构设计支持计划编制流程
  49. 2.4.4 架构设计促进架构的完整性
  50. 2.4.5 架构设计有助于管理复杂性
  51. 2.4.6 架构设计为重用提供基础
  52. 2.4.7 架构设计降低维护成本
  53. 2.4.8 架构设计支持影响分析
  54. 2.5 总结
  55. 第3章 方法基本原理
  56. 3.1 关键概念
  57. 3.2 方法内容
  58. 3.2.1 角色
  59. 3.2.2 工作产品
  60. 3.2.3 活动
  61. 3.2.4 任务
  62. 3.3 流程
  63. 3.3.1 瀑布流程
  64. 3.3.2 迭代流程
  65. 3.3.3 敏捷流程
  66. 3.4 总结
  67. 第4章 编写软件架构文档
  68. 4.1 最终的结局
  69. 4.2 关键概念
  70. 4.3 视点和视图
  71. 4.3.1 基础视点
  72. 4.3.2 交叉视点
  73. 4.3.3 视图及图表
  74. 4.3.4 视点及视图的优点
  75. 4.4 模型
  76. 4.4.1 实现的层级
  77. 4.4.2 模型的优点
  78. 4.5 架构描述框架的特征
  79. 4.5.1 软件架构的4+1视图模型
  80. 4.5.2 Zachman框架
  81. 4.5.3 Rozanski和Woods框架
  82. 4.6 一个架构描述框架
  83. 4.6.1 视点
  84. 4.6.2 工作产品
  85. 4.6.3 实现的层级
  86. 4.6.4 视图一致
  87. 4.7 软件架构文档
  88. 4.8 总结
  89. 第5章 可重用架构资源
  90. 5.1 架构的来源
  91. 5.2 架构资源元模型
  92. 5.2.1 开发期资源
  93. 5.2.2 运行期资源
  94. 5.3 资源类型
  95. 5.3.1 参考架构
  96. 5.3.2 开发方法
  97. 5.3.3 视点目录
  98. 5.3.4 架构风格
  99. 5.3.5 架构机制
  100. 5.3.6 模式
  101. 5.3.7 参考模型
  102. 5.3.8 架构决策
  103. 5.3.9 现有的应用程序
  104. 5.3.10 封装的应用程序
  105. 5.3.11 应用框架
  106. 5.3.12 组件库/组件
  107. 5.4 架构资源的属性
  108. 5.5 重用的其他考虑因素
  109. 5.6 总结
  110. 第6章 案例介绍
  111. 6.1 流程应用
  112. 6.2 案例研究范围
  113. 6.2.1 项目团队
  114. 6.2.2 外部影响因素
  115. 6.3 应用简介
  116. 6.4 YourTour的愿景
  117. 6.4.1 问题声明
  118. 6.4.2 利益相关者
  119. 6.4.3 系统功能
  120. 6.4.4 系统的质量
  121. 6.4.5 约束
  122. 6.5 总结
  123. 第7章 定义需求
  124. 7.1 关联需求和架构
  125. 7.2 功能性需求和非功能性需求
  126. 7.3 编写需求文档的技术
  127. 7.4 流程应用
  128. 7.5 理解任务描述
  129. 7.6 定义需求:活动概览
  130. 7.7 总结
  131. 第8章 创建逻辑架构
  132. 8.1 从需求走向解决方案
  133. 8.2 逻辑架构的价值
  134. 8.2.1 使逻辑架构最小化
  135. 8.2.2 把逻辑架构作为一项投资
  136. 8.2.3 可追溯性的重要性
  137. 8.3 流程应用
  138. 8.4 创建逻辑架构:活动概览
  139. 8.5 总结
  140. 第9章 创建物理架构
  141. 9.1 从逻辑架构到物理架构
  142. 9.2 流程应用
  143. 9.3 创建物理架构:活动概览
  144. 9.4 任务:调查架构资源
  145. 9.5 任务:定义架构概览
  146. 9.6 任务:编写架构决策文档
  147. 9.7 任务:概述功能性元素
  148. 9.7.1 将逻辑功能元素映射到物理功能元素
  149. 9.7.2 确认物理功能元素
  150. 9.7.3 采购产品
  151. 9.7.4 适应特定技术的模式
  152. 9.8 任务:概述部署元素
  153. 9.8.1 映射逻辑部署元素到物理部署元素
  154. 9.8.2 确认物理部署元素
  155. 9.8.3 采购硬件
  156. 9.9 任务:检验架构
  157. 9.10 任务:构建架构概念证明
  158. 9.11 任务:细化功能性元素
  159. 9.12 任务:细化部署元素
  160. 9.13 任务:确认架构
  161. 9.14 任务:更新软件架构文档
  162. 9.15 任务:和利益相关者复审架构
  163. 9.16 总结
  164. 第10章 进阶
  165. 10.1 架构师和项目团队
  166. 10.1.1 架构师和需求
  167. 10.1.2 架构师和开发
  168. 10.1.3 架构师和测试
  169. 10.1.4 架构师和项目管理
  170. 10.1.5 架构师和配置管理
  171. 10.1.6 架构师和变更管理
  172. 10.1.7 架构师和开发环境
  173. 10.1.8 架构师和业务分析
  174. 10.2 架构师和外界影响
  175. 10.2.1 企业架构
  176. 10.2.2 设计权威
  177. 10.2.3 基础设施提供者
  178. 10.2.4 系统维护者
  179. 10.3 复杂系统的架构设计
  180. 10.3.1 许多独特的功能正在开发
  181. 10.3.2 许多人员参与开发
  182. 10.3.3 系统是高度分布式的
  183. 10.3.4 开发团队是分布式的
  184. 10.3.5 运行质量非常有挑战性
  185. 10.3.6 存在系统之系统
  186. 10.4 总结
  187. 附录A 软件架构元模型
  188. 附录B 视点目录
  189. 附录C 方法概述
  190. 附录D 架构需求检查列表
  191. 术语表
  192. 参考文献
载入中

热门划线

喜欢这本书的人也喜欢