高级软件架构师级别的业务方案设计与后端技术落地。功能包括:(1) 工程分析 - 读取现有工程,分析代码结构、接口风格、数据模型;(2) 业务方案设计 - 需求分析、架构设计、技术选型、实施规划;(3) 流程图设计 - 业务流程图、状态机图、时序图、架构图;(4) 接口设计 - Go proto 风格的 gRPC/...
业务方案与技术设计是一项面向实际任务的技能,主要用于以 高级软件架构师 视角,提供从业务分析到技术落地的完整设计方案;工程分析 + 方案设计;
流程图设计;描述流程,输出 Mermaid 图表;接口与表设计;描述具体模块,输出 proto + SQL;一、流程图设计;使用 Mermaid 语法输出各类图表,支持在 Markdown。
它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
以高级软件架构师视角,提供从业务分析到技术落地的完整设计方案。
| 需求类型 | 说明 |
|---|---|
| 工程分析 + 方案设计 | 提供工程路径,分析现有设计后输出方案 |
| 业务方案设计 | 描述业务场景,输出完整方案文档 |
| 流程图设计 | 描述流程,输出 Mermaid 图表 |
| 接口与表设计 | 描述具体模块,输出 proto + SQL |
使用 Mermaid 语法输出各类图表,支持在 Markdown 中渲染。
展示业务操作流程、决策分支、并行处理。
flowchart TD
A[用户下单] --> B{库存检查}
B -->|充足| C[创建订单]
B -->|不足| D[提示缺货]
C --> E[支付]
E -->|成功| F[扣减库存]
E -->|失败| G[取消订单]
F --> H[发货]
H --> I[完成]
语法要点:
TD/TB - 从上到下,LR - 从左到右[] 矩形,{} 菱形(判断),(()) 圆形--> 连接线,-->|文字| 带文字连接展示实体状态流转、触发条件。
stateDiagram-v2
[*] --> 待支付
待支付 --> 已支付: 支付成功
待支付 --> 已取消: 超时/用户取消
已支付 --> 已发货: 发货
已发货 --> 已完成: 确认收货
已发货 --> 已退款: 申请退款
已完成 --> [*]
已取消 --> [*]
已退款 --> [*]
展示系统间交互、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: 说明 添加注释展示系统架构、模块关系。
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
展示数据实体关系。
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
}
当用户提供工程路径时,按以下步骤分析:
find . -type f -name "*.proto" | head -20 find . -type f -name "*.sql" | head -20 find . -type f -name "*.go" | head -30
分析要点:
读取 proto 文件,提取命名风格。
读取 SQL 或实体定义,提取表结构规范。
读取 service 层代码,提取核心逻辑。
# 工程分析报告 ## 1. 项目结构 [目录树] ## 2. 接口风格 [proto 规范] ## 3. 数据模型 [表结构规范] ## 4. 业务流程图 [Mermaid 流程图] ## 5. 设计建议 [基于现有风格的建议]
# 业务方案设计文档 ## 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 UNSIGNEDcreated_at、updated_atdeleted_at建表模板:
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='表说明';
api.{module}.v1{Module}ServiceCreate{Entity}、Get{Entity}、List{Entities}、Update{Entity}、Delete{Entity}{Entity}Request、{Entity}Response相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章