学完这一课,你能:
- 把需求拆成页面、数据、接口和运行环境
- 沿着核心流程设计数据如何流动
- 用决策记录说明为什么选择当前方案
1. 先画最小系统边界
用户浏览器
填写、查看和筛选问题。
界面前端
展示状态并发送请求。
规则后端
校验输入、处理状态变化。
记录数据库
保存问题、证据和时间。
运行部署环境
提供域名、服务和配置。
每个方框只写一个主要职责。若一个组件同时承担太多职责,开发和定位问题都会变难;若拆得过细,第一版又会增加不必要的连接和部署成本。
2. 用四张清单完成设计
页面清单用户看见什么
问题列表、创建表单、详情页,以及每页的主要操作。
数据清单系统保存什么
编号、标题、现象、证据、状态、创建与更新时间。
接口清单组件怎样沟通
新增、查询、更新状态、删除分别需要什么输入和响应。
权限清单谁能做什么
第一版若只有自己使用,也要明确是否允许公开访问。
配置清单环境差异放哪里
服务地址、数据库位置、密钥与运行模式不能散落在代码里。
失败清单出错怎样表现
无网络、输入无效、保存失败、数据不存在时给用户什么反馈。
3. 按垂直功能切片,不按技术层堆积
不要先把所有页面做完,再做后端,再做数据。更稳妥的方法是一次完成一条从界面到数据的完整流程。
- 切片 1:查看问题列表准备少量示例数据,让列表能真实显示。
- 切片 2:新增问题完成输入、校验、保存和页面反馈。
- 切片 3:查看详情根据编号读取记录,并处理不存在的情况。
- 切片 4:更新状态限制允许的状态变化,记录更新时间。
- 切片 5:筛选与收尾按状态筛选,补齐空状态、错误提示和移动端布局。
4. 把关键取舍写成决策记录
决策:第一版使用单一应用与一个数据库
背景:只有一名使用者,数据量小,需要尽快上线验证流程。
选择:不拆分多个服务,不引入消息队列。
原因:部署和调试更简单,足以支持当前验收标准。
后果:未来多人协作或数据增长时再评估拆分。
好的决策记录让未来的自己知道“当时为什么这样做”,避免把临时选择误认为永远正确。
本课交付 · 30 分钟
完成系统设计包
- 画出用户、前端、后端、数据库和部署环境的关系。
- 列出页面、数据字段、接口与失败情况。
- 把核心功能拆成 4–6 个可独立验收的垂直切片。
- 为“数据保存方式”和“是否需要登录”各写一条决策记录。
- 让 AI 评审遗漏,但由你决定是否采纳。