如何编写一个优秀的软件产品需求说明文档

产品需求说明文档,简称PRD(ProductRequirementDocument),它是确认用户需求,指导开发人员进行软件开发的一个重要文档。需求说明文档主要是给开发人员、测试人员、数据管理人员等技术人员阅读,让开发人员按需求说明文档的要求,开发出软件系统。所以,需求说明书就像一幢建筑的设计图纸一样,是很重要的一份指导工作的文档,需求说明文档的语言表达要明确,逻辑要清晰,符合软件开发规范。

写需求说明文档时,想得越周全,写得越细致,在项目开发中遇到的问题就会越少,和开发人员来回沟通的时间也越少,可以提高软件开发效率,降低开发风险。需求说明文档包括主要几部分内容:文档版本、系统背景、系统结构、用户角色、名词解释、需求说明等,如图6-1所示,其中最重要的就是需求说明部分。

1文档版本和系统背景

文档版本,用于说明文档的变更情况,方便阅读人员查看最新变更的内容。包括:版本号、更新日期、更新人、类型、更新说明。更新日期越新的记录,放到越前面,方便大家阅读。类型是指更新类型,有新建、修正、增加、删除等。更新说明,写明白这次更新改变了文档的哪些内容,要明确到最细的分项上,方便大家阅读和理解,如表6-1所示。

表6-1文档版本列表

系统背景,就是从总体上说明我们现在要开发的是一个什么样的软件系统,解决用户什么样的需求,实现什么的功能等,让大家对系统有一个总体的认识。[x1][t2]系统背景主要包括两方面的内容:1、现在的系统情况,存在什么样的问题。2、新建设的系统能解决的问题,新系统的先进性和改善的内容。下面是一个客户管理系统项目开发的背景说明,如图6-2所示。

2系统结构

用结构化的方式,说明软件系统分哪些模块、每个模块分哪些栏目、每个栏目主要有什么功能等。让大家从总体上清楚软件系统的结构和功能,它们之间的层次关系是怎样的,如图6-3所示。

3用户角色

一个软件系统会有不同的使用用户,例如:未登录系统的游客、已登录系统的一般用户、已购买会员的付费用户等等,这些就是软件系统的用户角色。一个软件系统针对不同的用户角色,会赋予不同的系统功能内容,如图6-4所示。

4名词解释[x1][t2]及其他说明

名词解释,是为需求说明文档中使用到的一些特有名词、专业名词等做解释说明,方便大家正确理解文档内容,如表6-2所示。

表6-2名词解释表

其他说明包括了UI设计需求、非功能性说明。UI设计需求,具体说明整个软件产品的设计风格,使用什么主色调,LOGO是什么,也可以提供设计参考网站,方便UI设计师快速理解需求。非功能性说明,具体说明软件产品要达到什么样的性能要求,包括:1、兼容性和环境需求,客户端兼容什么样的浏览器,服务器使用什么样的操作系统、使用什么数据库等。2、主要功能的响应时间,例如各个页面点击完全显示的时间,查询功能的响应时间等。3、系统容量,需要支持多少用户,并发量是多少等。4、安全性要求,功能权限、数据权限要怎样管理,数据备份计划是怎样,哪些数据需要加密等等。5、技术要求,使用什么样的开发语言,前端和后端分别使用什么技术框架等。

5功能需求说明

功能需求说明,就是要把软件产品各个模块的每个功能和内容的业务规则是怎样的、功能是如何操作实现的、输入和显示的内容是什么,每个细节都说得明明白白,让技术人能正确理解每一个细节。我们使用图片+文字结合的方式来编写,让阅读者容易理解,如图6-5所示。

5.1定位内容

定位内容,指明当前要说明的是哪一个页面的内容和功能。我们通常按软件系统结构,从上往下按顺序进行说明。通过标题写明当前是哪一个页面的需求说明,并贴上原型图。这样,技术人员很容易理解这些需求说明是系统的哪一部分,如图6-6所示。

5.2业务流程说明

有一些功能,业务流程比较复杂、步骤较多的,我们需要绘制业务流程图来帮助技术人员理解业务。例如:一个部门任务管理流程,上级部门任务可下分解为子任务,子任务可下分解为措施,子任务可指派给下级部门,下级部门也可新建自己的任务,下级部门可把自己的任务指派给自己的科室,部门可对自己的下级部门或科室进行任务考核等等。这样步骤较多的业务,就需要有一个业务流程图来让大家看清它的逻辑关系,如图6-7所示。

5.3功能及其规则说明

在需求说明中,软件的每个功能我们都要列出来,写明它的作用、操作方式、实现规则和输入输出内容等。功能的需求说明写得越细越好,尽可能考虑得周全,把各种情况都考虑到并说明处理方式,但不能重复啰嗦,文字表达要明确清晰,如图6-8所示。

5.4常见功能的需求说明1.页首导航

页首导航是显示在页面上方的各频道名称,单击名称会切换到不同频道的列表页,方便用户查看不同频道的内容,如图6-9所示。

页首导航的需求说明通常写法如表6-3所示,写明了下面3点需求,开发人员会清楚这个页首导航要怎样实现了,实现后效果也清晰了。

表6-3页首导航的需求说明

2.焦点图

焦点图也叫轮播图,通常显示在首页的上部,目的是集中显示网站当前重要的内容,让用户第一时间能看到,如图6-10所示。

焦点图需求说明的写法如表6-4所示

表6-4焦点图的需求说明

3.输入框

输入框是让用户向系统输入文本、图片等内容,并提交给系统。例如注册信息输入、登录用户输入、用户中心的个人信息输入、发布文章的内容输入等等,使用的都是输入框。输入框有单行文本输入框、多行文本输入框、富文件输入框等。

单行文本输入框,注册时的用户名、密码等都是单行文本输入框,只能输入一行文本内容,如图6-11所示。

多行文本输入框,可以输入多行文本内容的输入框,例如发微博、发站内消息、输入文章摘要等,都是多行文本输入框。输入框的需求说明,如表6-4所示。

表6-4输入框的需求说明

4.上传文件

上传文件指让用户向系统上传图片、视频、文档等文件,例如个人信息的头像、发布朋友圈的图片上传、发邮件的附件上传等等,如图6-12所示。

上传文件的需求说明,如表6-5所示。

表6-5上传附件的需求说明

5.选择框

选择框是列出选项让用户选择的一种输入方式,例如地区选择框、品牌选择框、各种查询条件选择框等等,如图6-13所示。

选择框的需求说明,如表6-6所示。

表6-6选择框的需求说明

6.列表

在频道首页、查询结果页常常是列表内容,列出当前的查询结果,让用户单击查看具体的文章内容,如图6-14所示。

列表的需求说明,如表6-7所示。

表6-7列表的需求说明

7.详情页

详情页是指文章的具体内容,例如新闻详情、商品详情、招聘职位详情等等,如图6-15所示。

详情页的需求说明,如表6-8所示

表6-8详情页的需求说明

小结

需求说明文档的目的,是让技术人员理解每个功能的具体要求,以便他们编写代码来正确实现这些功能。所以需求说明文档的编写要求是:

l文字表达要清晰明确;

l每个细节都要考虑周到;

l每个细节都要写清楚;

l需求说明要使用规范的计算机专业语言来编写。



转载请注明地址:http://www.yujinxiangqiangzhi.com/rjdz/rjdz/17625.html


  • 上一篇文章:
  • 下一篇文章:
  • 公司简介 广告合作 发布优势 服务条款 隐私保护 网站地图 版权声明