电子系统基础

写清一个小系统需求

12 分钟

本章做一个完整的小系统。第一步不是买元件,是把需求写清楚。


为什么需求最重要

因为「做出来了但不好用」,几乎总是需求没想清楚。

「做一个自动浇花器」——听起来很清楚。
但是:多久浇一次?浇多少?土湿了还浇吗?没水了怎么办?断电后要不要记住状态?

这些没想清楚,做出来的东西一定要返工。


需求要写清五件事

① 它要解决什么问题(一句话,不含技术方案)
② 正常情况下它怎么工作(具体到数字)
③ 异常情况下它怎么办(至少想三种)
④ 硬性约束(成本、供电、体积、时间)
⑤ 怎么算做成了(可验证的标准)

第③和第⑤最容易被跳过,也最重要。


任务:三选一

  1. 自动浇花器:土干了就浇水
  2. 储物间感应灯:有人进入且天黑时亮灯,人走后延时熄灭
  3. 冰箱门未关提醒:门开超过 1 分钟就响铃

需求模板

【解决什么问题】
  ________________________________

【正常工作流程】(具体到数字)
  条件:____________
  动作:____________
  持续:____________
  结束条件:____________

【异常处理】(至少三种)
  异常 1:____________ → 怎么办:____________
  异常 2:____________ → 怎么办:____________
  异常 3:____________ → 怎么办:____________

【约束】
  供电方式:____________(电池要撑多久?)
  成本上限:____________
  体积限制:____________

【验收标准】(可测量的)
  1. ____________
  2. ____________
  3. ____________

一份填好的示例(自动浇花器)

【解决什么问题】出差一周时,阳台的花不会因为没人浇水而死。

【正常工作流程】
  条件:土壤湿度低于 30%
  动作:水泵启动,抽水 10 秒(约 100ml)
  持续:浇完后强制等待 6 小时再检测
  结束条件:湿度回到 30% 以上则不再浇

【异常处理】
  异常 1:水箱空了 → **水位传感器检测到低位就停止水泵并闪灯报警**
         (否则水泵空转会烧毁)
  异常 2:湿度传感器坏了读数恒为 0 → **一天最多浇 3 次,超过就停机报警**
  异常 3:停电后恢复 → **上电先检测一次,不依赖断电前的状态**

【约束】
  供电:USB 5V 适配器(不用电池,因为水泵功耗大)
  成本:100 元以内
  体积:能放进花盆旁边,不超过 10×10cm

【验收标准】
  1. 土壤干燥时 1 分钟内启动浇水
  2. 连续运行 7 天不需人工干预
  3. 水箱空时不启动水泵,且有明显报警

注意异常处理里的两条

「水泵空转会烧毁」——这是保护性设计。真实产品里,异常处理的代码量常常比正常流程还多。

「一天最多浇 3 次」——这是兜底限制。即使传感器坏了给出错误数据,系统也不会把花淹死。

好的设计不假设传感器永远正确。


需求自查

□ 「解决什么问题」这句话里没有出现技术方案
□ 正常流程里的每个条件都有具体数字
□ 想到了至少三种异常
□ 每种异常都有明确的处理动作(不是「报错」两个字)
□ 验收标准是可测量的(不是「效果好」)
□ 有兜底限制(即使传感器出错也不会造成严重后果)

练习:选一个题目,填完需求模板,重点写好异常处理和验收标准。

小纸条

写小系统需求时最容易跳过、也最重要的是哪两项?「一天最多浇 3 次」这条设计体现了什么原则?

登录 后可看答案