重温软件架构设计-程序员向架构师转型必备
这本书是温老师2012年出版的书,讲述的是要想成为一个入门架构师,从需求到底如何对应到架构设计,里面有很多方法论和工具,可以帮助我们打通需求到架构的道路。本书2014年底读过一遍,但一直没空整理,最近又抽空重新学习了一遍,把书中的核心内容整理出来,一是形成知识结构帮助记忆,二是可以帮助别人快速掌握本书的核心知识,具体内容如下:
(一)基本概念
- 软件架构指的是计算机与组件之间的交互,同时也可以理解为模块、职责划分、接口定义、交互机制、开发技术、组织元素、子系统、非功能性等一系列架构问题的树形决策
- 软件架构一方面从大局着手,就技术方面的重大问题作出决策,构造一个由粗粒度模块组成的解决方案,从而可以把不同模块分配给不同小组分头开发;另一方面,软件架构设计方案规定了各模块之间如何交互的机制和结构,在开发小组之间起到沟通桥梁和合作契约的作用。(模块划分及之间的相互关系)
- 架构设计时需要考虑的几种角色人员:
- 用户:UI、功能需求、易用性
- 客户:业务规则、业务目标、上线期限、预算
- 开发人员:模块设计、交互方式、可重用性
- 管理人员:模块划分及交互关系、配置管理
(二)从需求到架构的步骤
- 寻找需求,包括功能需求、质量需求、约束性需求,从中选出重大需要,特色需求以及高风险需求,并使用一定的领域建模术语进行需求描述;
- 根据选择的大需求进行概念架构,选取架构大方向,包括划分顶级子系统,选型架构风格,选型开发技术,选型集成技术,选型二次开发技术;
- 将概念架构进一步细化到模块+接口级,得到逻辑架构设计(模块划分、接口定义、领域模型)、开发架构设计(技术选型、文件划分、编译关系)、运行架构设计(技术选型、控制流划分、同步关系)、物理架构设计(硬件分布、软件部署、方案优化)、数据架构设计(技术选型、存储格式、数据分布);
- 对细化后的架构进行验证。
(三)每一步骤的关键内容注意事项
-
网友评论

