>>分享IT从业人员的工作经验、生活感悟,心得 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 30614 个阅读者 刷新本主题
 * 贴子主题:  如何写一份程序员爱看的文档需求 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2025-11-03 11:24:20     消息  查看  搜索  好友  邮件  复制  引用

    

最近这段时间被产品经理折磨得要死,产品就给了一张UI图就让我开发功能,UI图的数据是随便写的,数据来源什么的都不说明,然后就一直对需求,他自己也不清楚,然后又去问需求方那边,而且一问,让我稍等一会就等了一两天,我整个人都不好了,所以去网上找了一篇关于产品经理的,发现里面写得很不错,所以就记录下来了。

产品经理的生涯中,肯定遇到过如下的痛点吧:
1.含辛茹苦地写完了需求文档(PRD),开发人员却将文档束之高阁(一万只草泥马在你的后脑勺奔腾而过……);
2.开发人员反复来回地确认需求、细节逻辑等,问的你一脸懵逼,只能默默地去修改文档;
3.开发完成,进入测试阶段,想着一锅香喷喷的米饭就要上桌了,打开一看,居然是热腾腾的一锅粥~;
以上问题之所以会发生,主要的罪魁祸首当然是你的需求文档:
1.文档不简洁明了,读起来吃力,给到开发,犹如给他们吃了安眠药,开发当然不爱看。
2.文档的功能需求描述不清晰、逻辑不严谨,开发需要反复确认、浪费了大量时间,最后让开发对你越来越不信任(产品狗,你过来,我保证不打死你……)。
3.没有很好的把控进度,项目跟不紧,中途容易出问题,产品难以达到预期。
那么,如何写一份用户体验好、开发喜欢看、靠谱的需求文档呢?笔者将从以下几个方面展开阐述:



点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

image

一、产品简介

1.简要说明产品的使用价值

  • 我是谁(一两句话写清楚产品的身份)?
  • 我有什么用(我是做什么的,我能提供什么服务等)?
  • 为什么选择我们(与竞争对手相比,我们产品的优势,核心竞争力是什么)?

2.目标用户、使用场景

  • 产品的主要用户群是谁?
  • 用户主要在什么场景下使用我们的产品。

二、行业概要

  • 简要阐述行业现状
  • 未来的发展趋势
  • 竞争对手情况分析
补充:如何快速了解一个行业?
1.通过艾瑞咨询、易观等网站查看行业的分析报告,深入了解整个产业的上下游结构;
2.通过商业模式画布工具,分析行业主要玩家的商业模式

三、版本

按照版本来分类,点击版本链接可进入查看每个版本的文档。
文档的第一页如下图:



点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

image

(一)、排期

每次的大版本开发,最好对应有一个排期表(与开发沟通确认时间的安排),开发过程中,根据进度情况,适当调整时间安排。



点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

image

开发人员可以根据自己负责的模块,进入排期详情查看当天的任务,完成的模块可以进行标记,如图。



点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

image

(二)、产品设计(重点)

1.实体关系图
当你做的产品是从0到1时,为了让数据库的开发人员更快速的了解你的产品,实体关系图(E-R图)将会发挥很大作用,数据库的开发人员可以参考此图来做数据表结构的设计(具体这里就不说了,大家可以网上详细了解E-R图)。



点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

image

厂家、经销商、客户等这些都是属于实体,实体包含的的属性(字段)最好也要写出来,如下图举例:



点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

image

2.用户角色权限表
涉及到角色和权限的,需要做一份全面的角色权限表格,方便开发人员参考。??



点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

image

3.业务流程图
通过业务流程图,可以在大方向上知道产品的整体逻辑,业务流程图拆解可以得到任务流程图,任务流程图拆解可以得到页面流程图。



点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

image

4.全局说明
一些通用的控件、状态等,不需要每次都说明,比如空数据、网络异常、加载失败、刷新状态等等,只需说明一次即可。
5.需求、功能、交互说明
很多人在写功能说明、交互说明时,总是会遗漏一些细节,逻辑不严谨。从以下几个维度去说明,将会让你考虑的更加全面:
  • 字段、字段说明、数据来源
  • 前置条件、排序机制、刷新机制
  • 状态流转(一个页面可能有多个状态,需要说明)
  • 交互操作(正常操作、异常操作)
下面,笔者将以一个页面做举例说明:



点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

image

产品设计模块里的结构如图:
(为了方面查看以及和视觉页面的对照,每个页面需要标注编号)



点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

image

(三)、非功能需求

1.埋点需求
页面的打开率、按钮点击率等,如果需要记录,则需要做说明。



点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

image
埋点是数据分析的基础,建议使用“GrowingIO” 这个工具进行可视化埋点,操作简单、方便,能减少很多的工作量。
2.性能需求
请求数据的响应时间要求、并发数要求等。
3.兼容性需求
系统版本的支持、多终端的支持、浏览器的支持等。

(四)、修改记录

    点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

image

文档的第二页如下图:



点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

image

为了让开发人员更方便的浏览,增强阅读体验,使用markdown语言来辅助写需求文档是最好不过了,浏览体验会大大提升。
好了,本次分享到这里,感谢您的阅读。


----------------------------
原文链接:https://www.jianshu.com/p/d65b718780c7



程序猿的技术大观园:www.javathinker.net

  Java面向对象编程-->Swing组件(下)
  JavaWeb开发-->按面向对象开发的基础范例
  JSP与Hibernate开发-->JavaWeb应用入门(Ⅰ)
  Java网络编程-->Web运作原理(Ⅰ)
  精通Spring-->数据库事务的并发问题的解决方案
  Vue3开发-->数据库事务的并发问题的解决方案
  大学毕业后读研还是立即找工作的建议
  看了 100多份简历后,想给找工作的程序员几点建议
  一位技术团队管理者的团队管理经验
  如何确定自己做技术还是管理
  【数据说话】机器学习工程师要掌握那些技能,前景如何
  本科生如何才能进入腾讯,阿里等一流的互联网公司?
  (经验分享)作为一名普通本科计算机专业学生,我大学四年到...
  调查表明:程序员心情好才能写出高水平代码!
  这几天做IT面试官的一点感悟
  一位CIO看了《权力的游戏》,悟出8点IT职场教训
  从4G到5G,到底有哪些提升
  人工智能可能会弄虚作假的负面影响,看看这张照片就知道了!
  金三银四跳槽季,如何征服面试官,拿到Offer
  一个印度程序员的生活领悟
  Java工作招聘:java资深开发/专家-T5-7(上海,25K-50K)
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。