写点什么

架构设计⽂档模板

用户头像
天天向上
关注
发布于: 2020 年 09 月 20 日

在软件设计的不同阶段应该设计不同的 UML 模型,将不同阶段输出的 UML 模型图放在⼀个⽂

档中,对每张模型图配以适当的⽂字说明,就构成⼀篇设计⽂档。


对于规模不太⼤的软件系统,我们可以将概要设计⽂档和详细设计⽂档合并成⼀个设计⽂档。

这⾥,我会展现⼀个设计⽂档示例模板,你可以参考这个模板编写你的设计⽂档。


⽂档开头是设计概述,简单描述业务场景要解决的核⼼问题领域是什么。⾄于业务场景,应该

在专⻔的需求⽂档中描述,但是在设计⽂档中,必须要再简单描述⼀下,以保证设计⽂档的完

整性,这样,即使脱离需求⽂档,阅读者也能理解主要的设计。


此外,在设计概述中,还需要描述设计的⾮功能约束,⽐如关于性能、可⽤性、维护性、安全

性,甚⾄开发和部署成本⽅⾯的设计⽬标。


然后就是具体的设计了,第⼀张设计图应该是部署图,通过部署图描述系统整个物理模型蓝

图,包括未来系统⻓什么样。


如果系统中包含⼏个⼦系统,那么还需要描述⼦系统间的关系,可以通过⼦系统序列图,⼦系

统活动图进⾏描述。


⼦系统内部的最顶层设计就是组件图,描述⼦系统由哪些组件组成,不同场景中,组件之间的

调⽤序列图是什么样的。


每个组件内部,需要⽤类图进⾏建模描述,对于不同场景,⽤时序图描述类之间的动态调⽤关

系,对于有复杂状态的类,⽤状态图描述其状态转换。


具体示例模板如下:

1 设计概述

……系统是⼀个……的系统,是公司……战略的核⼼系统,承担着公司……的⽬标任务。

1.1 功能概述

系统主要功能包括……,使⽤者包括……。

1.2 ⾮功能约束

……系统未来预计⼀年⽤户量达到……,⽇订单量达到……,⽇PV 达到……,图⽚数量达到

……。

1. 查询性能⽬标:平均响应时间<300ms,95%响应时间<500ms,单机 TPS>100;2. 下单性能⽬标:平均响应时间<800ms,95%响应时间<1000ms,单机 TPS>30;

3. ……性能⽬标:平均响应时间<800ms,95%响应时间<1000ms,单机 TPS>30;

4. 系统核⼼功能可⽤性⽬标:>99.97%;

5. 系统安全性⽬标:系统可拦截…… 、……、……攻击,密码数据散列加密,客户端数据

HTTPS 加密,外部系统间通信对称加密;

6. 数据持久化⽬标:>99.99999%。

2 系统部署图与整体设计

系统上线时预计部署……台物理机,……个⼦系统,和公司……系统交互,和外部第三⽅……

个系统交互。

2.1 系统部署图

⼦系统 1 的功能职责为……,部署……台服务器,依赖……和……⼦系统,实现 ……功能。

⼦系统 2 参照⼦系统 1 来写。

2.2 下单场景⼦系统序列图

1. 下单时,⼦系统先发送……消息到⼦系统 3,⼦系统 3 需要执⾏……完成……处理,然后发

送……消息到财务系统,消息中包含……数据。

2. 收到……的处理结果……后,⼦系统 1 发送……消息到……⼦系统 2……。

2.3 退款场景⼦系统序列图

1. 退款⼦系统先发送……消息到⼦系统 3,⼦系统 3 需要执⾏……完成……处理,然后发

送……消息到财务系统,消息中包含……数据。

2. 收到……的处理结果……后,⼦系统 1 发送……消息到……⼦系统 2……。

2.4 退款场景⼦系统活动图

如图所示:

1. 退款开始时,⼦系统 1 处理 XXX,然后判断 m 的状态,如果 m 为真,请求⼦系统 3 处理

ZZZ,如果 m 为假,⼦系统继续处理 ZZZ 并结束。

2. ⼦系统 3 处理 ZZZ 后,⼀⽅⾯继续处理 XYZ,⼀⽅⾯将……消息发送给财务通进⾏AAA 处

理。

3. ⼦系统在处理完 XYZ 后,返回⼦系统继续梳理 YYY,然后退款处理结束。

3 ⼦系统 1 设计

⼦系统 1 的主要功能职责是……,其中主要包含了……组件。

3.1 ⼦系统 1 组件图

⼦系统 1 包含 6 个组件:

组件 1 的功能主要是……,需要依赖组件 2 完成……,是⼦系统 1 的核⼼组件,⽤户……请求主

要通过组件 1 完成。

同样的,组件 2 也可以参照组件 1 来这样写。

3.1.1 场景 A 组件序列图

对于场景 A,⾸先组件 1 收到⽤户消息 CCC,然后组件 1 调⽤组件 2 的 XXX⽅法……。

3.1.2 场景 B 组件活动图

在场景 B 中,⾸先组件收到……消息,开始处理……,然后判断……,如果为 true,那

么……,如果为 false,那么……。

3.2 组件 1 设计

组件 1 的主要功能职责是……,其中主要包含了……类。

3.2.1 组件 1 类图

Class1 实现接⼝Interface1,主要功能是……,Class1 聚合了 Class2 和 Class3,共同对外提

供……服务,Class1 依赖 Class4 实现……功能,Class4……。

3.2.2 场景 A 类序列图

在场景 A 中,当外部应⽤调⽤类 1 的 create⽅法时,类 1……。

3.2.3 对象 1 状态图

对象 1 运⾏时有 4 种状态,初始状态是状态 1,当条件 1 满⾜是,状态 1 转换为状态 2,当条件 3

满⾜时,状态 2 转换为状态 4……。

3.3 组件 2 设计

重复上⾯的格式。

4 ⼦系统 2 设计

重复上⾯的格式。

用户头像

天天向上

关注

还未添加个人签名 2018.09.20 加入

还未添加个人简介

评论

发布
暂无评论
架构设计⽂档模板