乐于分享
好东西不私藏

手搓财务智能体(33):软件需求说明书

手搓财务智能体(33):软件需求说明书

上篇文章讲了产品说明书——愿景、蓝图、方向。但蓝图再漂亮,没有施工图纸,房子也盖不起来。今天聊聊软件需求说明书:怎么把"做什么"变成"怎么做"。

1 | 产品说明书的局限

产品说明书解决的是"做什么"的问题。比如,你要开发一个财务总账系统,产品说明书会告诉你:这个系统要支持凭证录入、报表生成、期末结账。它的目标用户是财务人员,核心流程是从业务单据到凭证再到报表。

但怎么支持凭证录入?

用户打开界面看到什么?点击"新增"按钮后发生什么?凭证日期是自动带出当天还是可以选择历史日期?摘要字段最多多少字符?科目编码是下拉选择还是弹出窗口选择?如果用户输错了科目,系统怎么提示?

这些问题,产品说明书回答不了。产品说明书是概念设计,是方向性的。你再往下走,就需要更细的规范。

这就是软件需求说明书。

2 | 软件需求说明书是施工图纸

如果说产品说明书是建筑师的设计方案——这个楼要几层、什么风格、多大面积,那软件需求说明书就是施工队的图纸。

施工队是另外一拨人,设计这件事和他们没啥关系,他们只看施工图纸。图纸上说:这面墙砌多厚、砌多高、这个墙和那个墙中间要留多少间隔。工人们不需要猜,不需要想,按图施工就行。

软件需求说明书也是这个逻辑,它是最接地气的规范。程序员(或AI编程工具)拿到它,不需要问产品经理"这里是什么意思",不需要猜"这个地方该怎么处理"。图纸上写得明明白白,照着做,一行行代码去实现就行了,不用动脑子。

如果有变更怎么办?提出来,评审,看清楚对其他地方有什么影响,然后改图纸。牵一发动全身,这是施工图纸的特点。

下图就是海龙老师在开发时,要求AI先写软件需求,别急着开发,先写文档。

3 | 软件需求说明书写什么

软件需求说明书的核心,是把每一个功能拆到不能再拆。

用例——用户怎么用这个功能?一步步操作是什么?从打开界面到完成任务,中间经过哪些步骤?

UI元素——界面上有什么元素?如何新增、保存按钮在哪、输入框有几个、用户点击"提交"后,页面怎么跳转?

字段要求——每个输入字段是什么类型?字符、数字、日期还是下拉选择?如果是下拉框,有几个选项?每个选项的值是什么?输入不符合要求,怎么校验?

CRUD——这个功能支持哪些操作?新增、查询、修改、删除?修改时哪些字段可以改、哪些不能改?有没有关联数据需要级联处理?

异常处理——用户忽然关闭窗口怎么办?输入了错误数据怎么办?网络超时怎么办?每一种异常都要有对应的处理方案,不能留空白让程序员自由发挥,现在随着开发脚手架的成熟,都不需要写到软件需求里面了。

业务规则——金额不能超过预算、报销日期不能早于申请日期、审批必须按岗位层级进行。这些规则要写成表格,触发条件、系统行为,一条条列清楚。

完整性检查——提交前要做哪些校验?必填项有没有填?关联数据有没有缺失?校验不通过,提示信息是什么?

写软件需求说明书是一个非常专业、艺术性的工作,海龙老师只列出了一部分内容,感兴趣的同学可以去网上找资料学习。

下图是20年前海龙老师进入软件研发领域时,看了好多遍的书。

这些东西,才是写代码的核心规范。

4 | AI时代的软件需求规范

有些粉丝也是IT从业者,看到这里会有个疑问,上面写的软件需求是针对传统软件开发的,过度的结构化、扣细节、缺少为什么的描写、死板的一步步线性处理,没有反馈流程,但是,目前是AI时代了,AI具有功能设计能力了,怎么还要这么写呢?

确实如此,上面的文章只是让大家理解软件设计是怎么回事,在AI时代,软件需求说明书应该是另外一个写法。海龙老师重新思考了一下,AI时代,编写软件需求的核心改变是应该将需求作为对话的起点,AI应该理解意图、挑战假设、提出更好的方案,而不是100%的执行。

简单来说,可以分为三层:

第一层:战略意图(Why) 

这个功能解决什么问题 

成功指标是什么 

不做什么(边界) 

AI可以挑战的假设 

第二层:核心用例(What) 

关键场景(不超过5个) 

 验收标准(可测试) 

边界条件(异常情况) 

第三层:执行细节(How)—— 这部分让AI自己推理 

技术约束(必须用的技术栈) 

设计规范(UI/UX原则) 

非功能需求(性能、安全) 

内容所限,就不在这里详细说明了,同样,海龙老师把这个技能开发成了SKILL,发布到知识星球上,大家可以下载、注册、使用。

结语

不少粉丝朋友在各种场合吐槽AI,说AI不懂他,AI不理解他说的话。我让他把截图发过来,我一看,大吃一惊,AI编程是因为AI掌握了编程的知识(这个所谓的掌握是文字概率的训练结果),所以,你驾驭AI,就要用它掌握的知识来进行沟通,要用术语、专业词汇来描述,这样大家才在一个频道上对话,而不是鸡对鸭讲,越讲越乱。

但是,很多人都是初次踏入IT行业,没有积累,这时候怎么办呢?就可以借助海龙老师的方法,一步步来,先让AI写产品需求、再让AI写软件需求,每次写的时候,都可以借鉴海龙老师开发的SKILL,这样就能让AI照猫画虎、描出一个大概的样子,然后再让AI照着这个样子去开发,这才是正确的入门方法。

关键词:#软件需求说明书 #产品说明书 #AI编程 #工程化 #施工图纸

如果没看懂,欢迎联系海龙老师,文章不收取任何费用。欢迎加入 AI 原生财务智能体社区,这里只有最前沿的思想和实践。入群请加 linzhonglu267762
手搓财务智能体系列:
手搓财务智能体(序言):为什么要 Vibe Coding?
手搓财务智能体(2):从零安装 Claude Code
手搓财务智能体(3)一个小工具,上传 Excel,自动生成报表
手搓财务智能体(4):搞懂代码工作原理
手搓财务智能体(5):给报表装上大脑,让 AI 帮你思考问题
手搓财务智能体(6):提示词组合灌入,像老板和公司一样思考
手搓财务智能体(7):像公司和老板一样思考的实操环节
手搓财务智能体(8):AI work=你说+AI操作
手搓财务智能体(9):飞书远程操作电脑的软件
手搓财务智能体(10):财务智能体(数字化员工)规划
手搓财务智能体(11):人设

手搓财务智能体(13):推理引擎6阶段认知方法论

手搓财务智能体(14):AI模拟真人财务审核方案和Demo

手搓财务智能体(15):让 AI 读书,知识七步蒸馏法

手搓财务智能体(16):七步蒸馏法的功能实现

手搓财务智能体(17):将知识接入推理引擎,实现AI审核
手搓财务智能体(18):发票查验SKILL
手搓财务智能体(19):银行对账单识别SKILL
手搓财务智能体(20):信息图生成Skill,学完就能用
手搓财务智能体(21):企业四流对账Skill
手搓财务智能体(22):文档比较SKILL
手搓财务智能体(23):发票审核SKILL
手搓财务智能体(24):报表解读SKILL
手搓财务智能体(25):单据备注审核SKILL
手搓财务智能体(26):登录财务系统SKILL
手搓财务智能体(27):公章鉴别SKILL
手搓财务智能体(28):合同内容审核SKILL
手搓财务智能体(29):收款智能核销SKILL
手搓财务智能体(30):汇报PPT SKILL
手搓财务智能体(31):财务人也能看得懂的AI技术课
手搓财务智能体(32):产品说明书SKILL