需求文档是典型的解释性文本,逻辑清晰简洁。对词序和措辞的严格要求。它相当枯燥乏味,这意味着需求文档有其语法。在“后端产品经理笔记:数据传输与编写”之后,本文对需求文档的语法进行了整理,感兴趣的朋友可以一起沟通,欢迎纠正。
一,需求文档概述
(1)一些移动产品不写文档,直接在原型笔记上,但当逻辑复杂时,你还是要编写一个文档。建议您编写文档,因为编写过程会找到更多。
(2)文件内容包括:背景,目标,需求范围,要求用例(正文),备注,参考资料。无论谁使用模板,这都是有的。背景:商业习惯是xxxx。现在它由xxxx处理。问题是xxxx,因此需要xxxx。目标:此要求是实现1,xxxx。 2,xxxx。
3,xxxx。要求范围:可以用脑图或用例图表示。备注:开发说明xxxx,测试提醒xxxx。参考:此要求中涉及的数据表/字段是xxxx。涉及的脚本是xxxx,接口xxxx,历史文档是xxxx,流程图xxxx,原型xxxx。
(3)需求用例(正文):避免耗散的文化思维,并按正常顺序描述。例如,如果要将字段添加到现有接口并在页面上显示,可以通过将xx字段添加到xx接口并将其保存到后台表xx——来完成此操作。旧数据初始化方案是xx。在xx页面列表中,添加xx列,对应的值是xx后台表中字段的xx。
(4)文本只写出要开发的东西。因为开发是按照你的地图来完成任务的责任。把发展想象成一个直男,并告诉他两件事:在哪里和做什么。避免一堆前巴拉巴拉,然后是“那是xxxxx”,“即xxxxx”。
(5)避免单词错位。如果单词不准确,建议不要使用它。常见于文档中,例如:“维度”,“粒度”,“参数”,“字段”,“项目”,“列”,“表格”。它可以这样使用:唯一性判断由“订单号+产品代码”维度决定。列表数据与“订单”粒度一样详细。使用'time'作为请求参数。背景表的字段是数字。页面搜索栏中的“名称”搜索字词,页面列表的“年龄”列。
(6)如果你需要开发对旧函数的引用,比如优化,你可以使用这个结构:修改之前:修改xxxx:xxxx也可以编写请求点,然后按照它(已经参见参考文献1)
(7)如果您熟悉数据库,则可以直接编写数据表的字段。如果您准确的话,比编写页面更准确。
(8)避免歧义如:你写
该字段默认取空’,就不如说是‘空字符串’。因为我们看后台是这样:NOT NULL DEFAULT ”——表示不能为空 ,默认为空字符串。
(9)写接口的时候记得加上数据量级和接口响应要求
比如:预计半年内数据100万/天,要求接口响应3s内,因为开发的实现方式多种,他要做评估。
(10)通用规范统一, 这些是早期文档要建立起来的规范。
比如:
- 删除/禁用/关闭/封存、开启/启用/生效、配置/设置、编辑时间/修改时间/更新时间。
- 是否写入用is_use/is_write?
- 已写入/未写入用1/0,还是用1/2?
- 空字符串时,前端展示什么,是‘/’还是空白?
每个开发习惯不同,所以要固定用哪一种,避免千人千面。比如:有个开发比葫芦画瓢,把goods_sn写成good_sn,就尴尬了。
二、条件反射出逻辑规则
(1)遇到输入框,就要限定输入的范围,且做输入校验。
比如:输入框下方红色字体提示:请填写寄样信息!最省事的办法是,输入的不负荷就不予写入。
比如:年龄栏位写‘张三11.2’则能写进去的只有‘11’。
这种也不用考虑校验的时间是输入时还是最后保存时。
(2)遇到下拉搜索框,考虑下拉的同时是否支持输入搜索,是否支持多选?
(3)导入文档要校验文档内容,最安全的办法是一旦校验到一处重复或者不合规格,则全部不予导入。
(4)已有功能的逻辑规则变更,则要考虑旧数据。
(5)基础数据删除,则要考虑基础数据被调用的地方,删除和编辑怎么处理。 比如:产品分类中维护的类型删除,那么历史生产出的该分类下的数据再编辑和删除时候就可能报错,所以记得基础数据维护时候校验调用情况。
(6)设置规则时,考虑规则去重、规则优先级。严格说,没有优先级的情况下,规则的校验比较累。比如参数A选项有n个,参数B的选项m个,那么可以搭配出至少n*m种规则条件(如果加上多选、全选、全不选就更多),就要确保这些规则之间不重复。
(7)列表的数据一般按照修改时间的倒叙排列,最新的序号为1。也可以用id代替序号,好处是用户自己就可以用规则与产生的数据对应,方便追溯。
(8)异常机制:每时每刻都要有异常思维,告诉开发怎么算异常?异常了怎么标示出来。 比如:表1字段A,匹配表2字段B,将匹配成功的数据写入表3。就要考虑表1无该字段A的情况。
(9)页面长期不登录,则给自动退出。主要考虑到后端系统的保密性。
(10)凡是带操作的一般都要设置页面权限。最简单的方式是所有系统的权限都分三个等级:不能查看、只能查看、可以编辑。
本文为@运营喵原创,运营喵专栏作者。