手把手教你写设计方案,你学明白了吗?
创始人
2025-07-08 06:00:26
0

背景

假设你负责一个礼物系统的开发,领导给你分配一个技术需求,给系统的送礼接口,实现幂等。于是你开始写技术方案...

目的

本文档旨在概述如何设计幂等,以确保礼物系统中的送礼接口具有幂等性。

用例图

用例图(Use Case Diagram):是软件工程中的一种行为模型,用于描述系统的功能需求和用户与系统的交互。它展示了系统中的不同用户(或角色)和系统功能之间的关系,以及各种用例(功能需求)的交互关系。

用例图一般包含这三要素:

  • 参与者:表示与系统交互的外部实体,可以是用户、另一个系统或外部设备等。它们以符号形式表示,通常是一个人的轮廓图标。
  • 用例:表示系统提供的各种功能或服务需求。每个用例都描述了一个系统的功能,它以椭圆形图标表示,并与参与者之间通过连线连接。
  • 关系:用例图通过连线(箭头)表示参与者和用例之间的关系,通常表示参与者和用例之间的交互行为。

回到幂等方案处理,我们这么写用例图:

图片图片

时序图

时序图(Sequence Diagram)是软件工程中的一种行为模型,用于描述对象之间的交互和消息传递顺序。它展示了对象之间交互方式。我们一般方案设计的实现细节,都体现在时序图。

要素解释:

  • 对象(Object):在时序图中表示系统中的各个对象或参与者,可以是类、实例、角色或系统组件等。它们用矩形框表示,并在顶部写有对象名称。
  • 生命线(Lifeline):每个对象下方有一条垂直的虚线,称为生命线,表示对象存在的时间段。生命线上方的箭头表示对象的生命周期。
  • 消息(Message):表示对象之间的通信或交互,以箭头的形式从一个对象向另一个对象传递,指示消息的传递方向。消息可以是同步消息、异步消息、返回消息等,箭头上方标注了消息的类型和内容。
  • 激活(Activation):在生命线上方,表示对象正在执行操作时的时间段,通常用竖直的方块或者压扁的椭圆形表示。

比如送礼的幂等处理逻辑,就可以体现在以下的时序图:

图片图片

流程图

流程图,通常被用来描述一个过程、系统或活动中的步骤和流程。它一般用于把一些分支体现出来,以方便更好体现设计方案。比如送礼接口的幂等方案,用流程表现如下:

送礼幂等处理流程图送礼幂等处理流程图

状态图

状态图是一种图形化的建模工具,用于描述系统中一个特定对象的各种状态以及它们之间的转换和事件触发。比如回到我们幂等处理这个方案设计,这个幂等表的状态,就可以用一个状态图来表示。

图片图片

幂等表状态图

  • INIT: 幂等表插入的时候,就是初始化状态
  • SUCCESS: 如果送礼的业务逻辑处理成功,就更新为成功状态
  • FAIL: 如果送礼的业务逻辑处理失败,幂等表就更新为失败状态

数据库设计

对于写方案设计,数据库这块是比较重要的,尤其我们是后端开发。一般来说,你的表是如何设计的,就把ER图放出来。如果你的方案只是修改原有的一些数据库表,比如加字段、加索引等等,只需要突出就行。

比如我的送礼幂等方案,我的ER图就是这样的:

图片图片

因为没有其他表跟它关联,所以这个ER图只有一个单表。

接口文档

请求方式: POST

接口名称: 送礼接口

请求参数:

图片图片


相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...