《软件架构设计资料文档》材料模板.docx
《《软件架构设计资料文档》材料模板.docx》由会员分享,可在线阅读,更多相关《《软件架构设计资料文档》材料模板.docx(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、- Software Architecture DocumentVersion DateVersionRevision HistoryDescriptionAuthor-目 录1. 文档简介41.1 文档目的41.2 文档范围41.3 定义、缩写词和缩略语41.4 参考资料42. 架构描述方式42.1 架构视图阅读指南42.2 图表与模型阅读指南53. 架构设计目标53.1 关键功能53.2 关键质量属性53.3 业务需求和约束因素54. 架构设计原则64.1 架构设计原则64.2 备选架构设计方案及被否缘由64.3 架构设计对后续工作的限制详设,部署等65. 规律架构视图65.1 职责划分与
2、职责确定75.2 接口设计与协作机制75.3 重要设计包76. 开发架构视图86.1 Project划分86.2 Project 186.2.1 Project名目构造指导86.2.2 程序单元组织86.2.3 框架与应用之间的关系可选86.3 Project 296.4 Project n97. 运行架构视图97.1 把握流组织107.2 把握流的创立、销毁、通信107.3 加锁设计108. 物理架构视图108.1 物理拓扑108.2 软件到硬件的映射118.3 优化部署119. 数据架构视图1210.9.19.29.3长期化机制的选择12长期化存储方案12数据同步与复制策略12关键质量属性
3、的设计原理131. 文档简介帮助读者对本文档建立根本印象,并为阅读后续内容扫清障碍。1.1 文档目的文档目的,非工程目的。否则造成同一工程多个文档之间的内容重复,不利于文档维护。本 小节应指明文档针对的读者对象,最好列出各种读者角色,并说明每种读者角色应当重点阅读的章节。1.2 文档范围文档的Scope,非工程的Scope。否则造成同一工程多个文档之间的内容重复,不利于文档 维护。1.3 定义、缩写词和缩略语集中列举文档中的定义、缩写词和缩略语。1.4 参考资料本工程经审核的打算书、合同、上级批文;本工程的其他已发表文件;本文档引用的文件资 料,如软件开发标准。具体而言,应包括参考资料的题目必
4、需、编号、版本号必需、发表日期、公布方,必要时还可以说明如何使用这些资料。2. 架构描述方式为了让读者更好地理解架构文档,在本节应当说明文档涉及的架构视图,并指明为了描述设计决策用到了哪些图表和模型。2.1 架构视图阅读指南以多视图的方式来组织架构文档是大势所趋。推举的是经过优化的5 视图方法,如以以下图所示。2.2 图表与模型阅读指南对后续文档内容中所用到的建模语言例如UML、表格例如目标-场景-决策表等进展 说明。3. 架构设计目标功能、质量、约束,一个都不能少。3.1 关键功能对架构设计至关重要的功能,包括如下4 类:核心功能、必做功能、高风险功能、独特功能。所谓独特功能,指这个功能掩盖
5、了上述3 类功能没有涉及到的职责。3.2 关键质量属性人之所以苦痛,很多时候是由于追求错误的东西。以以下图是确定关键质量的5 大原则的整体思路图。3.3 业务需求和约束因素制造性地提出约束需求的 4 大类型,这是一种极为有用的分类方式。特别是业务需求对架构设计而言是一种约束的观点,解决了很多架构师的现实困惑。以以下图标明白4 类约束在“需求层次-需求方面矩阵”中的位置,可以帮助我们理解产生约束需求的根源。4. 架构设计原则投标时常常讲“架构设计原则”,但到了架构文档,这些着眼大局的考虑却“丢了”。推举的本文档模板,认为应当把它们“找回来”。4.1 架构设计原则着重描述重大的权衡取舍考虑。4.2
6、 备选架构设计方案及被否缘由在概念架构一级,对备选架构设计方案进展描述,并阐述它们未被承受的缘由。这有利于团队了解当前架构设计方案的来龙去脉,提高团队对当前架构设计方案的认可度。4.3 架构设计对后续工作的限制详设,部署等架构设计不仅应当包含“指导”,也应当包含重要的“限制”。例如,一份只是说明“性能和可扩展性都重要”的架构文档,实际上无视了“可扩展性和性能之间存在的冲突关系”。此时,最有效的方法就是在架构文档中明确说明“任何提升可扩展性的架构设计和具体设计,都应通过架构团队的评审才能引入,以确保性能目标不受重大影响”。5. 规律架构视图关注点:此架构设计视图的关注点是职责划分。留意:规律架构
7、视图无疑是最重要的,但同时也应避开“架构= 模块 + 接口”等以偏概全的生疏。参考:任何简洁系统的架构设计都不是一蹴而就的,所以架构师需要理性思维过程的指导。 针对规律架构设计这个关键环节,一线架构师实践指南一书给出了2 条建议:一是“以质疑驱动的螺旋思维”,二是相对分别地考虑“构造方面的切分”和“行为方面的定义”。以以下图所示即为推举的规律架构设计理性思维过程。5.1 职责划分与职责确定内容:将系统切分成更小的单元,并明确这些单元的职责。具体而言,职责单元可以是层、子系统、模块、关键类等。意义:一句话,职责划分不合理,功能和质量都会受到影响。也就是说,功能需求和质量需 求无一不和职责划分相关
8、:一方面,每个功能都是由一条职责协作链完成的;另一方面,职责划分方式也影响着质量,于是需要职责模型针对特定质量属性要求做出相应调整和优化。很多人认为架构设计就是职责划分的艺术,虽略显片面,但足以说明职责划分的重要性。参考:基于对业界大量案例的争论,梳理出了“模块划分的3 种必用手段”,如以以下图所示, 更多内容可参考一线架构师实践指南一书。5.2 接口设计与协作机制内容:本节描述接口的定义,以及协作的方式和标准。参考:推举使用序列图,建议少用、甚至杜绝使用协作图。以以下图为一个序列图的例如。5.3重要设计包内容:对重要子系统的设计进展“灰盒”级描述。意义:恰恰是由于有了各模块之间“将来合作的契
9、约”,分头开发各模块才有了根本保证。 参考:推举利用“包-接口”图,来识别接口。以以下图为一个“包-接口”图的例如。意义:“每个子系统在架构设计中都应保持黑盒子”的观点,过于抱负化了。对于业务层、通用协作机制而言,常常需要在架构设计期间就引入“灰盒”级描述。参考:类图和灰盒包图,在本节中较多消灭。以以下图为一灰盒包图例如。6. 开发架构视图关注点:此架构设计视图的关注点是程序单元组织。留意:此架构设计视图是必需的、不应“剪裁”掉的。但实际状况却是,很多架构师不关注 开发架构视图,导致很多程序开发人员埋怨“架构师就知道高来高去,架构对编程工作没什么指导性”。6.1 Project 划分内容:本节
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件架构设计资料文档 软件 架构 设计 资料 文档 材料 模板
限制150内