【文档模板】老板让写架构设计说明书?怎么写呢?有模板吗?

  • 作者: 凯哥Java(公众号:凯哥Java)
  • 经验分享
  • 时间:2023-11-16 11:00
  • 1009人已阅读
简介 老板让写架构设计说明书?怎么写呢?有模板吗?架构设计说明书究竟应该包含什么?软件的架构设计说明书主要包括功能和技术两个部分,其中功能是说明解决的某一类痛点问题;技术是为功能架构服务,通过技术架构来完成功能架构的落地和实现。功能架构和技术架构两者是相辅相成的,相互独立而又无法分开,下面我对整体架构设计应该包含包含的元素做一个简单的介绍。1、引言这部分应该说明架构设计的背景、目的、文档术语、及参考资料

🔔🔔好消息!好消息!🔔🔔

 如果您需要注册ChatGPT,想要升级ChatGPT4。凯哥可以代注册ChatGPT账号代升级ChatGPT4

有需要的朋友👉:微信号 kaigejava2022

老板让写架构设计说明书?怎么写呢?有模板吗?架构设计说明书究竟应该包含什么?

软件的架构设计说明书主要包括功能和技术两个部分,其中功能是说明解决的某一类痛点问题;技术是为功能架构服务,通过技术架构来完成功能架构的落地和实现。

功能架构和技术架构两者是相辅相成的,相互独立而又无法分开,下面我对整体架构设计应该包含包含的元素做一个简单的介绍。

1、引言

这部分应该说明架构设计的背景、目的、文档术语、及参考资料介绍清楚。

比如...系统是一个...的系统,系统的主要功能...,用户...能够完成...目标和任务;

术语和定义、文档最好通过图表的形式进行展示,这样让人看起来一目了然。

2、整体功能设计

这里应该对系统的整体功能、子系统之间的交互、运行方式...做一个简单介绍

系统跟 xxx 第三方系统进行交互,系统上线时机房部署位置为 xxx....

fab00cdb4dae7c2030bddae77d329cac.png

介绍图中每个系统或者中间件的作用,介绍时要遵循一个原则,站在别人或者小白的角度是否能够理解这个介绍。如果系统 X1、系统 X2、系统 X3 都是本次新开发系统,下文要依次介绍

如果没有使用云原生环境部署,这里还需要介绍下部署环境依赖情况及部署原则。

2.2、逻辑架构图

逻辑架构主要用于说明各个服务之间的数据流向或者调用关系,比如下图,然后分别小标题介绍每个系统的作用。

9813005bc2f5d52d31929e8f63ce1b02.png

2.3、技术架构图

技术架构图是用来指导技术开发的,通常要包含该架构使用了什么技术,并根据需要介绍为什么选择这个技术,如何使用....

75cfae2219372e0b12556ec8fcf380f1.png

3、系统 X1 设计

介绍子系统 X1 的主要职责,完成 xx 的功能,主要包含的组件有哪些,并进行一一介绍

f3e43e5774ded957983e2b91711406ae.png

可以包括日志打印约定、配置约束、依赖约束、异常约束等必要的规范。

3.1、系统 X1 核心功能及流程

这部分最好通过图文并茂的方式说明核心功能,可以使用流程图或者时序图,对于复杂的部分加以文字解释。

01e9f8d486417f48f4b342f4af074638.png

3.2、系统 X1 接口

目前很多公司都有自己的接口文档服务器,例如 yapi、或者代码生成的文档,这里可以给出链接,但是文档必须标明输入、输出、错误码。

3.3、系统 X1 非功能性设计

  • 系统核心功能可用性指标大于 P99.95

  • 系统核心接口 qps、延迟、资源占用情况

  • 系统出错设计

  • 系统安全性指标

3.4、类设计

7dd232d6ba4992739b63fd5d33d20af4.png

类图主要阐述了类与类之间的关系(这里的类是一个通用概念,包含接口),在进行需求分析时用于分析业务概念的利器,以提高需求和设计的效率。

3.5、数据库设计

66fa90d4f009dab0739e95174419c2a2.png

数据一旦形成,修改成本比较高,所以数据库设计一定要规范化,比如日期的数据类型应该如何定义、非空约束、唯一约束、主键应该如何使用和定义要有自己的规范。

如果存在其它子系统,则依次循环介绍....

4、总结

架构设计既要高瞻远瞩,又要脚踏实地,让人看完后知道如何落地。一个深思熟虑的设计可以节省大量的编码、测试、后期扩展、维护及降低故障排除成本。





TopTop