跳转到内容

功能设计

功能设计就是把“要做什么”翻译成技术团队能照着做的说明书:字段是什么、规则怎么定、流程怎么走、出错怎么办。

部分 回答的问题
字段 这个功能涉及哪些数据项?
规则 每个字段有什么限制和逻辑?
流程 用户和系统的操作按什么顺序走?
异常 出错、超时、没权限时怎么办?

四样写全,开发才不会来回问,测试才有依据。

每个功能先列一张字段表。模板如下。

字段名 类型 是否必填 默认值 校验规则 说明
字段名 文本/数字/日期/枚举 是/否 空或具体值 具体判断条件 业务含义

示例(手机号字段):

字段名 类型 是否必填 默认值 校验规则 说明
手机号 文本 是 空 11 位数字,且以 1 开头 用户登录账号
验证码 文本 是 空 6 位数字,5 分钟内有效 短信验证码
是否记住登录 布尔 否 否 无 勾选后下次免登录

规则要写成“能判定对错”的话。别写“手机号要合法”,要写“11 位数字且以 1 开头”。

先用箭头链把主流程画出来(文字版):

打开登录页 → 输入手机号 → 点击获取验证码 → 输入验证码 → 点击登录 → 校验通过 → 进入首页

如果流程里有状态变化,再补一张状态迁移表。

示例(订单):

当前状态 触发动作 下一个状态 说明
待支付 用户完成支付 已支付 收到支付回调后变更
待支付 超时未支付(30 分钟) 已取消 系统自动关闭订单
已支付 商家发货 已发货 记录物流单号
已发货 用户确认收货 已完成 交易结束
已支付 用户申请退款 退款中 需商家审核
退款中 商家同意退款 已退款 原路退回

要点:

  • 每个状态要说清“谁能触发”。
  • 每个状态要说清“能不能撤回、超时会怎样”。
  • 状态名全程统一,页面文案、数据库、接口都用同一套。

正常流程谁都会写,异常才见功夫。

场景 处理方式
网络失败 提示“网络异常,请重试”,保留已填内容,不丢数据
重复提交 按钮点击后置灰,接口做幂等,同一请求只处理一次
权限不足 提示“没有操作权限”,隐藏或禁用无权入口
空数据 展示空状态文案(如“暂无订单”)和引导操作,不显示空白页
超时 请求超时给出明确提示,关键操作可重试

原型图(草图或设计稿)要标清楚:

  • 页面上每个元素的位置和名称,名称要和字段表一致。
  • 按钮点击后去哪儿、弹什么框。
  • 有几种状态(默认、加载中、成功、失败、空)各长什么样。

交互说明要写清:

  • 点击、滑动、返回分别发生什么。
  • 必填项没填、格式不对时提示什么。
  • 操作是否可撤销、是否需要二次确认。

开发前把下面这些交给技术团队,缺一项就容易返工。

  • 功能说明:做什么、为什么做
  • 字段与规则表
  • 主流程(箭头链)
  • 状态迁移表(有状态的才需要)
  • 异常与边界处理表
  • 原型图与交互说明
  • 验收标准