关于架构设计的总结和思考

2023-09-26  本文已影响0人  LHZ_123

系统设计的步骤

一、需求分析

[需求分析主要全方位地描述需求相关的信息,介绍清楚需求的背景、目标和价值收益]

https://time.geekbang.org/column/article/100140

二、概要设计

https://time.geekbang.org/column/article/117783

三、详细设计

https://time.geekbang.org/column/article/142032


5W1H分析法

我们可以使用5W1H方法,帮助我们分析问题、制定计划、解决问题。

5W

[5W 指 Who、When、What、Why、Where。
Who:需求利益干系人,包括开发者、使用者、购买者、决策者等。
When:需求使用时间,包括季节、时间、里程碑等。
What:需求的产出是什么,包括系统、数据、文件、开发库、平台等。
Where:需求的应用场景,包括国家、地点、环境等,例如测试平台只会在测试环境使用。
Why:需求需要解决的问题,通常和需求背景相关]

比如消息队列的 5W 分析如下:
Who:消息队列系统主要是业务子系统来使用,子系统发送消息或者接收消息。
When:当子系统需要发送异步通知的时候,需要使用消息队列系统。
What:需要开发消息队列系统。
Where:开发环境、测试环境、生产环境都需要部署。
Why:消息队列系统将子系统解耦,将同步调用改为异步通知。

1H

[这里的 How 不是设计方案也不是架构方案,而是关键业务流程。消息队列系统这部分内容很简单,但有的业务系统 1H 就是具体的用例了,有兴趣的同学可以尝试写写 ATM 机取款的业务流程。如果是复杂的业务系统,这部分也可以独立成“用例文档”]

比如消息队列有两大核心功能:
业务子系统发送消息给消息队列。
业务子系统从消息队列获取消息。


系统设计知识储备

怎么写设计文档?

https://time.geekbang.org/column/article/185234

“设计文档” 的内容组织逻辑,都应该是相通的。它们的内容大体如下:


UML图在设计文档中的运用

推荐的画图工具draw.io、Visual Paradigm

需求分析中的运用

用例图

活动图

时序图

概要设计中的运用

活动图

时序图

组件图

部署图

详细设计中的运用

活动图

时序图

类图

状态图


关于架构图的解释

https://time.geekbang.org/column/article/482815

业务架构图

截屏2023-09-27 16.57.42.png

系统架构图

截屏2023-09-27 16.57.57.png 截屏2023-09-27 16.58.06.png

应用架构图

截屏2023-09-27 16.58.19.png 截屏2023-09-27 16.58.27.png

部署架构图

截屏2023-09-27 16.58.34.png

架构设计三原则

https://time.geekbang.org/column/article/7071

合适原则

合适原则宣言:“合适优于业界领先”。

简单原则

简单原则宣言:“简单优于复杂”。

演化原则

演化原则宣言:“演化优于一步到位”。


系统设计要考虑的点

高可用

高性能

可扩展

安全性

稳定性

三板斧:

上一篇 下一篇

猜你喜欢

热点阅读