架构设计文档模板

在软件设计的不同阶段应该设计不同的UML模型,将不同阶段输出的UML模型图放在一个文档中,对每张模型图配以适当的文字说明,就构成一篇设计文档。

对于规模不太大的软件系统,我们可以将概要设计文档和详细设计文档合并成一个设计文档。 这里,我会展现一个设计文档示例模板,你可以参考这个模板编写你的设计文档。

文档开头是设计概述,简单描述业务场景要解决的核心问题领域是什么。至于业务场景,应该在专⻔的需求文档中描述,但是在设计文档中,必须要再简单描述一下,以保证设计文档的完 整性,这样,即使脱离需求文档,阅读者也能理解主要的设计。

此外,在设计概述中,还需要描述设计的非功能约束,比如关于性能、可用性、维护性、安全性,甚至开发和部署成本方面的设计目标。

然后就是具体的设计了,第一张设计图应该是部署图,通过部署图描述系统整个物理模型蓝图,包括未来系统⻓什么样。

如果系统中包含几个子系统,那么还需要描述子系统间的关系,可以通过子系统序列图,子系统活动图进行描述。

子系统内部的最顶层设计就是组件图,描述子系统由哪些组件组成,不同场景中,组件之间的调用序列图是什么样的。

每个组件内部,需要用类图进行建模描述,对于不同场景,用时序图描述类之间的动态调用关系,对于有复杂状态的类,用状态图描述其状态转换。

具体示例模板如下:

1 设计概述
......系统是一个......的系统,是公司......战略的核心系统,承担着公司......的目标任务。

1.1 功能概述

系统主要功能包括......,使用者包括......。

1.2 非功能约束

......系统未来预计一年用户量达到......,日订单量达到......,日PV达到......,图片数量达到 ......。

1. 查询性能目标:平均响应时间<300ms,95%响应时间<500ms,单机TPS>100;

下单性能目标:平均响应时间<800ms,95%响应时间<1000ms,单机TPS>30;

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

系统核心功能可用性目标:>99.97%;

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

HT T PS加密,外部系统间通信对称加密;

数据持久化目标:>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,那 么......,如果为f alse,那么......。

3.2 组件1设计

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

3.2.1 组件1 类图

Class1实现接口Interface1,主要功能是......,Class1聚合了Class2和Class3,共同对外提 供......服务,Class1依赖Class4实现......功能,Class4......。

3.2.2 场景A 类序列图

在场景A中,当外部应用调用类1的creat e方法时,类1......。

3.2.3 对象1状态图

对象1运行时有4种状态,初始状态是状态1,当条件1满足是,状态1转换为状态2,当条件3 满足时,状态2转换为状态4......。

3.3 组件2设计

重复上面的格式。

4 子系统2设计

重复上面的格式。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值