backend-api-designer

Polar Sponsor
爱发电 赞助
.NET 9.0

高级软件架构师级别的业务方案设计与后端技术落地。功能包括:(1) 工程分析 - 读取现有工程,分析代码结构、接口风格、数据模型;(2) 业务方案设计 - 需求分析、架构设计、技术选型、实施规划;(3) 流程图设计 - 业务流程图、状态机图、时序图、架构图;(4) 接口设计 - Go proto 风格的 gRPC/...

业务方案与技术设计

功能概述

业务方案与技术设计是一项面向实际任务的技能,主要用于以 高级软件架构师 视角,提供从业务分析到技术落地的完整设计方案;工程分析 + 方案设计;

核心要点

  • 提供工程路径,分析现有设计后输出方案;
  • 业务方案设计;
  • 描述业务场景,输出完整方案文档;

使用与执行

流程图设计;描述流程,输出 Mermaid 图表;接口与表设计;描述具体模块,输出 proto + SQL;一、流程图设计;使用 Mermaid 语法输出各类图表,支持在 Markdown。

结果检查与注意事项

它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

业务方案与技术设计

以高级软件架构师视角,提供从业务分析到技术落地的完整设计方案。

使用方式

需求类型 说明
工程分析 + 方案设计 提供工程路径,分析现有设计后输出方案
业务方案设计 描述业务场景,输出完整方案文档
流程图设计 描述流程,输出 Mermaid 图表
接口与表设计 描述具体模块,输出 proto + SQL

一、流程图设计

使用 Mermaid 语法输出各类图表,支持在 Markdown 中渲染。

图表类型

1. 业务流程图 (Flowchart)

展示业务操作流程、决策分支、并行处理。

flowchart TD
    A[用户下单] --> B{库存检查}
    B -->|充足| C[创建订单]
    B -->|不足| D[提示缺货]
    C --> E[支付]
    E -->|成功| F[扣减库存]
    E -->|失败| G[取消订单]
    F --> H[发货]
    H --> I[完成]

语法要点:

  • TD/TB - 从上到下,LR - 从左到右
  • [] 矩形,{} 菱形(判断),(()) 圆形
  • --> 连接线,-->|文字| 带文字连接

2. 状态机图 (State Diagram)

展示实体状态流转、触发条件。

stateDiagram-v2
    [*] --> 待支付
    待支付 --> 已支付: 支付成功
    待支付 --> 已取消: 超时/用户取消
    已支付 --> 已发货: 发货
    已发货 --> 已完成: 确认收货
    已发货 --> 已退款: 申请退款
    已完成 --> [*]
    已取消 --> [*]
    已退款 --> [*]

3. 时序图 (Sequence Diagram)

展示系统间交互、API 调用顺序。

sequenceDiagram
    participant U as 用户
    participant F as 前端
    participant G as API网关
    participant O as 订单服务
    participant P as 支付服务
    participant N as 通知服务
    
    U->>F: 下单
    F->>G: POST /api/v1/orders
    G->>O: CreateOrder
    O->>P: 预支付
    P-->>O: 支付链接
    O-->>G: 订单+支付链接
    G-->>F: 返回数据
    F->>U: 跳转支付页
    
    Note over U,P: 用户完成支付
    
    P->>O: 支付回调
    O->>N: 发送通知
    N->>U: 支付成功通知

语法要点:

  • participant A as 别名 定义参与者
  • ->> 实线箭头,-->> 虚线箭头
  • Note over A,B: 说明 添加注释

4. 架构图 (Flowchart/C4)

展示系统架构、模块关系。

flowchart TB
    subgraph 客户端
        A[Web端]
        B[App端]
    end
    
    subgraph 网关层
        C[API网关]
    end
    
    subgraph 服务层
        D[用户服务]
        E[订单服务]
        F[商品服务]
        G[支付服务]
    end
    
    subgraph 数据层
        H[(MySQL)]
        I[(Redis)]
        J[(MQ)]
    end
    
    A --> C
    B --> C
    C --> D
    C --> E
    C --> F
    C --> G
    D --> H
    E --> H
    E --> J
    F --> H
    F --> I
    G --> J

5. ER 图 (Entity Relationship)

展示数据实体关系。

erDiagram
    USER ||--o{ ORDER : "下单"
    USER {
        bigint id PK
        string username
        string email
    }
    ORDER ||--|{ ORDER_ITEM : "包含"
    ORDER {
        bigint id PK
        string order_no UK
        bigint user_id FK
        decimal total_amount
        int status
    }
    ORDER_ITEM }|--|| PRODUCT : "商品"
    ORDER_ITEM {
        bigint id PK
        bigint order_id FK
        bigint product_id FK
        int quantity
        decimal price
    }
    PRODUCT {
        bigint id PK
        string name
        decimal price
        int stock
    }

二、工程分析

分析流程

当用户提供工程路径时,按以下步骤分析:

1. 目录结构分析

find . -type f -name "*.proto" | head -20
find . -type f -name "*.sql" | head -20
find . -type f -name "*.go" | head -30

分析要点:

  • 项目分层结构
  • 模块划分方式
  • 命名规范

2. 接口风格分析

读取 proto 文件,提取命名风格。

3. 数据模型分析

读取 SQL 或实体定义,提取表结构规范。

4. 业务流程分析

读取 service 层代码,提取核心逻辑。

分析输出

# 工程分析报告

## 1. 项目结构
[目录树]

## 2. 接口风格
[proto 规范]

## 3. 数据模型
[表结构规范]

## 4. 业务流程图
[Mermaid 流程图]

## 5. 设计建议
[基于现有风格的建议]

三、业务方案设计

设计流程

1. 需求分析

  • 业务背景与目标
  • 核心业务流程
  • 关键业务实体
  • 用户角色与权限

2. 架构设计

  • 系统架构图
  • 模块划分
  • 技术选型

3. 详细设计

  • 用例设计
  • 状态机设计
  • 接口契约
  • 数据模型

4. 实施规划

  • 迭代计划
  • 风险评估

输出格式

# 业务方案设计文档

## 1. 需求概述
### 1.1 业务背景
### 1.2 业务目标
### 1.3 范围边界

## 2. 业务分析
### 2.1 用户角色
### 2.2 核心业务流程图
[Mermaid 流程图]
### 2.3 业务规则

## 3. 架构设计
### 3.1 系统架构图
[Mermaid 架构图]
### 3.2 模块划分
### 3.3 技术选型

## 4. 详细设计
### 4.1 核心实体
### 4.2 状态流转图
[Mermaid 状态机图]
### 4.3 时序图
[Mermaid 时序图]
### 4.4 数据模型
[Mermaid ER图]

## 5. 实施规划
### 5.1 迭代计划
### 5.2 风险评估

四、接口与数据库设计

数据表设计原则

  • 表名蛇形命名
  • 主键 id BIGINT UNSIGNED
  • 必备字段 created_at、updated_at
  • 软删除 deleted_at
  • 状态字段用 TINYINT

建表模板:

CREATE TABLE `table_name` (
    `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
    `field_name` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '字段说明',
    `status` TINYINT NOT NULL DEFAULT 0 COMMENT '状态: 0-禁用 1-启用',
    `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    `deleted_at` DATETIME DEFAULT NULL,
    PRIMARY KEY (`id`),
    KEY `idx_field` (`field_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='表说明';

Proto 接口设计规范

  • package: api.{module}.v1
  • service: {Module}Service
  • method: Create{Entity}、Get{Entity}、List{Entities}、Update{Entity}、Delete{Entity}
  • message: {Entity}Request、{Entity}Response

参考资料

  • references/patterns.md - 常见业务场景设计模式
  • references/architecture-patterns.md - 架构设计模式
  • references/mermaid-guide.md - Mermaid 图表语法速查

相关专题

更多
Tailwind CSS 响应式布局怎么写
Tailwind CSS 响应式布局怎么写

Tailwind CSS 响应式布局通常从移动端样式写起,再用 sm、md、lg 等前缀调整不同屏幕宽度下的网格、间距和导航。本专题整理断点配置、Grid 与 Flex 自适应布局及常见溢出问题,帮助你逐步完成多设备适配。

2026.11.03

0

19

Tailwind CSS 常用类名怎么记
Tailwind CSS 常用类名怎么记

Tailwind CSS 类名很多,先按布局、间距、文字、颜色和状态分组记忆,再通过官方文档检索具体写法。本专题结合类名排序、动态拼接失效、自定义实用类等问题,帮助你建立常用类名的速查方法。

2026.11.03

0

12

码上飞入口地址合集
码上飞入口地址合集

本专题汇总了码上飞(CodeFlying)的官方入口地址合集,涵盖官网主站及网页版在线使用入口,支持注册登录后直接在线体验零代码AI应用生成。同时整理了APP端下载渠道与小程序入口,助你快速访问平台,通过自然语言描述需求即可生成应用、小程序或网站。

2026.11.03

0

10

Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

2026.11.02

0

14

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

2026.11.02

0

17

Uvicorn安装配置教程
Uvicorn安装配置教程

本专题汇总了Uvicorn的安装配置教程与部署指南,涵盖通过pip安装Uvicorn、启动FastAPI/Starlette应用、开发模式热重载(--reload)及多进程工作模式配置等核心操作。同时整理了结合Gunicorn的生产部署方案、HTTPS与反向代理配置及性能调优技巧,助你快速完成Uvicorn服务的安装与上线部署。

2026.11.02

0

17

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

0

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

0

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

0

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习