当前位置:首页 > 《软件架构设计文档》模板DOC
6.3
Project 2……
[内容:对Project划分后的每个Project进行目录结构、程序单元组织、框架与应用关系的说明。]
6.4
Project n……
[内容:对Project划分后的每个Project进行目录结构、程序单元组织、框架与应用关系的说明。]
7. 运行架构视图
[关注点:此架构设计视图的关注点是控制流组织。]
[注意:进程和线程是广为人知的控制流实现技术,但在架构设计思维当中,对于系统软件和嵌入式软件极为重要的中断服务程序也是控制流,这样利于架构师统一利用不同控制流手段设计并行和并发。]
7.1 控制流组织
[内容:控制流有哪些,每条控制流各是何种形式(例如进程、线程、中断服务程序),哪些软件单元是控制流的起点,整条控制流中分别调用了哪些软件单元。] [意义:这是对系统运行时结构的刻画,主要反映系统的动态结构。]
Page 13 of 18
Version: <1.0> Date: < yyyy-mm-dd > [内容:描述进程、线程和中断服务程序的创建和销毁,以及多条控制流之间的通信关系的定义。]
[意义:一旦引入了多条控制流,附加工作就产生了——此时控制流的创建和销毁、以及控制流之间的通信关系往往是必须考虑的。]
7.3
加锁设计
[内容:系统中有多条控制流在同时运行的情况下,一个经典问题是多于一条控制流可能会同时修改某些数据结构,而造成数据的不一致。为此,架构师需要关注加锁设计,合理引入临界区或同步机制。]
[意义:加锁设计事关系统的正确性。值得注意的是,忽略加锁设计造成的问题往往以“不易重现的Bug”的形式出现,困惑的程序员会对测试人员说,“你看你报的Bug在我机器上根本就不存在呀”。]
[参考:对通用组件、通用模块的设计而言,加锁设计应予以专门关注,思维要点是研究未来通用模块的各种可能使用场景。]
8. 物理架构视图
[关注点:此架构设计视图的关注点是物理节点(Node)分布,以及软件到硬件的具体映射关系。]
[注意:物理节点即可以是PC机或服务器,也可以是单片机、单板机或专用机,从而物理架构视图既适用于描述企业信息系统,也适合于描述嵌入式软件系统。]
8.1 物理拓扑
[内容:一为硬件选型,二为硬件之间的拓扑连接关系。] [意义:对于分布式系统的设计,此节极为重要、而且是必须的。] [参考:下图是某企业级系统的物理拓扑图。]
Page 14 of 18
[参考:下图是某嵌入式系统的物理拓扑图。]
8.2
软件到硬件的映射
[内容:明确每个物理节点上有哪些(一到多个)软件的目标单元,并说明具体的“映射方式”是安装、是部署、还是烧写、抑或是下载。]
[意义:如果把此节漏了,就无法表明本文档的主题——软件系统——和上述硬件、硬件拓扑
Page 15 of 18
[参考:下图所示为设备调试系统中,软件到硬件的映射关系。]
8.3
优化部署
[内容:为达降低成本、提高性能和可靠性等等目标,应特别关注的部署考虑。]
[意义:物理架构设计的优劣,造成的成本差异和质量差异,可能是天壤之别。所以必须重视。]
[参考:下图展示的,是ADMEMS方法重点推荐的“物理架构设计思维要点”,更多内容可参考《一线架构师实践指南》一书。]
9. 数据架构视图
[关注点:此架构设计视图的关注点是持久化。具体而言,场景化可以借助扁平文件、关系数据库、实时数据库、Flash等方式中的一种或多种完成。] [注意:本视图单独归档时,请在此节注明其文档名称等信息。]
Page 16 of 18
共分享92篇相关文档