1、为什么"先画再写"

第 7 课我们得到了文字规格。但文字有天然的歧义:你写"任务列表",有人脑子里是表格,有人想的是卡片流。

改一行原型,成本是 5 分钟;改一个已上线的界面,成本是数天。 原型就是最便宜的试错工具:让用户在还没写代码的时候就说"这个不对"。

本课回答四个问题:

  1. 需求怎么变成界面与流程?
  2. 低保真、高保真原型分别用在什么时候?
  3. 怎么判断"好不好用",而不是"我觉得挺好看"?
  4. 设计怎么落到可实现的组件上,为后面的架构设计铺路?

2、从需求到界面的桥:信息架构与用户流程

写界面之前,先定两样东西:

① 信息架构(IA):内容怎么分层归类。

  • 有多少个一级入口?(建议 ≤ 5,人的短期记忆就那么点)
  • 哪些是高频操作,必须一眼可见?
  • 哪些是低频配置,可以折进"设置"?

② 用户流程(User Flow):用户完成一件事要走几步。

打开 App → 任务列表 → 点"新建" → 填标题/指派 → 保存 → 回到列表(看到新任务)

画流程的价值在于暴露多余步骤和断点:如果"创建任务"要点 4 次才到,就该合并。

一个检验标准:画出流程后,问"新手第一次能独立走通吗?" 走不通,就是缺引导或缺默认值。

3、原型的三个保真度

层级工具/形式回答的问题什么时候用
低保真纸笔草图、线框图结构对不对、流程顺不顺需求刚明确,还在探索方案
中保真可点击原型(Figma/墨刀)操作路径、信息层级方案基本确定,要给干系人演示
高保真视觉稿 + 真实数据视觉规范、状态细节开发前定稿,前后端对齐

关键原则:保真度要匹配决策阶段。
在"到底要不要做这个功能"还没定的时候,别去做像素级视觉稿——那是巨大的浪费。先用低保真快速否定错误的方案。

低保真也有技巧:

  • 用方块 + 文字代替图标("▢ 新建"),避免大家纠结颜色。
  • 每个屏只放 1 个主要动作,让主次自然浮现。
  • 明确画出空状态、加载态、错误态——这三个常被漏掉,却最影响体验。

4、可用性检查:别问"好不好看"

"你觉得这个设计怎么样?" → 用户只会礼貌地说"挺好的"。要测的是任务完成能力,不是审美偏好。

轻量可用性测试(5 人法):

  1. 找 5 个目标用户类型的人(不用 50 个,5 个就能发现 80% 的严重问题)。
  2. 给任务而不是给界面:"请新建一个任务并指派给小李。"
  3. 闭嘴观察:他卡在哪?犹豫在哪?哪里点错了?
  4. 记录三条:任务是否完成、耗时、卡点原话。

Nielsen 十大启发式(挑最常用的六条):

原则说明反例
系统状态可见操作要有反馈点了保存没任何提示,用户狂点
贴近现实语言用用户的话,别用内部术语"实体关联失败"
用户可控能撤销、能返回误删后无法恢复
一致性与标准同类操作位置一致有的页面右上角保存,有的左下角
错误预防提前拦住错误删除前二次确认
帮助用户识别而非回忆选项可见,少靠记忆要用户记住 ID 才能查询
错误提示的三要素:说清发生了什么、为什么、怎么办。只写"操作失败"等于没提示。

5、设计走查与评审(敏捷中的原型)

设计走查(Design Review) 的参与人:设计、开发、测试、产品各 1 人。走查不是"看着好不好看",而是逐项核对:

  • 每个界面对应哪条需求/验收标准?(对不上就是镀金或漏做)
  • 异常态和权限差异画了吗?(管理员和普通成员看到的一样吗?)
  • 文案是否明确、无歧义?

敏捷里的一个实用做法:把原型当作验收标准的锚点。故事卡上写"点击'新建'弹出表单,字段与原型 P-03 一致"——测试和开发就不用在"到底长什么样"上扯皮。

迭代式设计:不必一次画完所有页面。每个迭代只细化这个迭代要做的故事对应的界面,其余保持粗线条。这样设计不会超前于认知,也不会浪费。

6、设计与实现的接口:设计系统与组件化

界面能画出来,不代表能一致地实现出来。解决办法是设计系统(Design System):

  • 设计令牌(Design Token):颜色、字号、间距、圆角的统一变量(如 --color-primary)。
  • 组件库:按钮、输入框、弹窗、表格的定义与状态(默认/悬停/禁用/错误)。
  • 使用规范:什么场景用主按钮、什么场景用文字按钮。

好处有三:

  1. 一致性:不会出现 3 种蓝色和 4 种圆角。
  2. 效率:开发和设计都基于同一套积木,沟通成本大降。
  3. 可维护:改一次令牌,全局生效。
组件化不止是"好看"——它直接决定了第 9 课的架构分层:组件 → 页面 → 业务模块,边界要提前想清楚。

7、常见的四个坑

  1. 跳过低保真直上高保真:方案没定就做精修,一改全废。
  2. 只画正常态:空态、加载、错误、无权限全部漏掉,开发时靠猜。
  3. 拿"老板喜欢"当可用性结论:决策者不是用户。
  4. 设计稿与组件库脱节:设计自由发挥,开发被迫硬编码,样式从此失控。

8、动手实验 🎯

任务:为「团队任务清单」画出三张关键页面。

  1. 列出产品的 5 个一级入口,说明每个入口服务的高频任务是什么。
  2. 画一条核心用户流程(创建 → 指派 → 完成),标注每一步的输入与反馈。
  3. 用纸笔或画图工具做 3 张低保真线框图:任务列表、新建任务、任务详情。

    • 每张必须画出 空状态 和 错误状态(如标题为空)。
  4. 找 3 个人做一次 5 分钟可用性测试:只给任务、不给说明,记录他卡住的位置。
  5. 根据测试结果改一版,并写下"改了哪 3 处、为什么"。
  6. 定义一套最小设计令牌(主色、字号 3 档、间距 3 档),并列出 5 个基础组件及其状态。

做完这步,你手里就有一份"用户已经试过、异常态已覆盖、可直接落到组件"的界面方案——下一课我们把它变成能支撑这些界面的系统架构。

9、今天你带走的三句话

  1. 改原型 5 分钟,改线上界面 5 天——保真度要匹配决策阶段,先粗后细。
  2. 可用性要用任务测,不要问审美;5 个人就能挖出大部分严重问题。
  3. 设计系统 = 设计令牌 + 组件 + 规范,它同时解决一致性和实现效率。

下一课进入系统架构设计——把这些界面和需求,组织成模块边界清晰、能长期演进的系统骨架。

标签: 软件工程, 项目管理, 开发流程

添加新评论