软件产品说明书(如何编写一个优秀的软件产品
产品需求说明文档,简称PRD(Product Requirement Document),它是确认用户需求,指导开发人员进行软件开发的一个重要文档。需求说明文档主要是给开发人员、测试人员、数据管理人员等技术人员阅读,让开发人员按需求说明文档的要求,开发出软件系统。所以,需求说明书就像一幢建筑的设计图纸一样,是很重要的一份指导工作的文档,需求说明文档的语言表达要明确,逻辑要清晰,符合软件开发规范。
写需求说明文档时,想得越周全,写得越细致,在项目开发中遇到的问题就会越少,和开发人员来回沟通的时间也越少,可以提高软件开发效率,降低开发风险。需求说明文档包括主要几部分内容:文档版本、系统背景、系统结构、用户角色、名词解释、需求说明等,如图6-1所示,其中最重要的就是需求说明部分。
1 文档版本和系统背景
文档版本,用于说明文档的变更情况,方便阅读人员查看最新变更的内容。包括:版本号、更新日期、更新人、类型、更新说明。更新日期越新的记录,放到越前面,方便大家阅读。类型是指更新类型,有新建、修正、增加、删除等。更新说明,写明白这次更新改变了文档的哪些内容,要明确到最细的分项上,方便大家阅读和理解,如表6-1所示。
表6-1文档版本列表
版本号
更新日期
更新人
类型
更新说明
V1.1
2022-5-20
曾元呈
增加
修改了需求说明—用户中心—用户信息编辑需求的全部内容。
V1.0
2022-4-1
曾元呈
新建
新建文档,新编写了所有内容。
系统背景,就是从总体上说明我们现在要开发的是一个什么样的软件系统,解决用户什么样的需求,实现什么的功能等,让大家对系统有一个总体的认识。[x1] [t2] 系统背景主要包括两方面的内容:1、现在的系统情况,存在什么样的问题。2、新建设的系统能解决的问题,新系统的先进性和改善的内容。下面是一个客户管理系统项目开发的背景说明,如图6-2所示。
2 系统结构
用结构化的方式,说明软件系统分哪些模块、每个模块分哪些栏目、每个栏目主要有什么功能等。让大家从总体上清楚软件系统的结构和功能,它们之间的层次关系是怎样的,如图6-3所示。
3 用户角色
一个软件系统会有不同的使用用户,例如:未登录系统的游客、已登录系统的一般用户、已购买会员的付费用户等等,这些就是软件系统的用户角色。一个软件系统针对不同的用户角色,会赋予不同的系统功能内容,如图6-4所示。
4 名词解释[x1] [t2] 及其他说明
名词解释,是为需求说明文档中使用到的一些特有名词、专业名词等做解释说明,方便大家正确理解文档内容,如表6-2所示。
表6-2名词解释表
序号
名词
解释
1
计划
把一个战略目标,拆分成多个不同计划来实现,一个计划等于一个子目标。
2
任务
把一个计划分解成多个可实际执行的任务,每个任务是某个团队人员可操作的工作内容,有开始和结束时间。例如:哪些人在哪个时间段完成软件的需求调研工作。
3
任务审计
指上级部门对各个子部门的各个任务的完成情况进行审核。
4
部门
所有团队都可看作部门,包括科室、部门、分公司等,分一级部门、二级部门、三级部门等,部门名称可修改。
其他说明包括了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页首导航的需求说明
序号
模块
功能
功能规则
1
首页
页首导航
1、突显当前频道名称;
2、单击频道名称,在当前窗口页打开该频道列表页;
3、滚动页面时 ,页首导航悬浮在页面上方。
…
…
…
…
2. 焦点图
焦点图也叫轮播图,通常显示在首页的上部,目的是集中显示网站当前重要的内容,让用户第一时间能看到,如图6-10所示。
焦点图需求说明的写法如表6-4所示
表6-4焦点图的需求说明
序号
模块
功能
功能规则
1
首页
焦点图
1、 管理后台可发布焦点图,图片+链接;
2、 最多可以有20张焦点图;
3、 焦点图的大小是600*800像素(高*宽);
4、 焦点图的轮播时间可在后台设置;
5、 单击焦点图,在新窗口页打开链接;
…
…
…
…
3. 输入框
输入框是让用户向系统输入文本、图片等内容,并提交给系统。例如注册信息输入、登录用户输入、用户中心的个人信息输入、发布文章的内容输入等等,使用的都是输入框。输入框有单行文本输入框、多行文本输入框、富文件输入框等。
单行文本输入框,注册时的用户名、密码等都是单行文本输入框,只能输入一行文本内容,如图6-11所示。
多行文本输入框,可以输入多行文本内容的输入框,例如发微博、发站内消息、输入文章摘要等,都是多行文本输入框。输入框的需求说明,如表6-4所示。
表6-4输入框的需求说明
序号
模块
功能
功能规则
1
首页
新鲜事发布
1、可以输入1-500个字符;
2、输入框下方显示当前输入的字符数;
3、字符数超限时,用红色字在输入框下方提示:520个字符,已超限;
4、输入框为空或超限时,发送按钮失效,不可单击;
…
…
…
…
4. 上传文件
上传文件指让用户向系统上传图片、视频、文档等文件,例如个人信息的头像、发布朋友圈的图片上传、发邮件的附件上传等等,如图6-12所示。
上传文件的需求说明,如表6-5所示。
表6-5上传附件的需求说明
序号
模块
功能
功能规则
1
邮件
上传附件
1、一个邮件可上传1-10个附件;
2、每个附件最大为2G;
3、添加的附件可删除,删除时不用确认;
…
…
…
…
5. 选择框
选择框是列出选项让用户选择的一种输入方式,例如地区选择框、品牌选择框、各种查询条件选择框等等,如图6-13所示。
选择框的需求说明,如表6-6所示。
表6-6选择框的需求说明
序号
模块
功能
功能规则
1
查询
城市选择窗
1、可多选,最多可同时选择5个城市;
2、列出已选地区;
3、突显已选地区;
4、可删除已选,删除不用确认;
…
…
…
…
6. 列表
在频道首页、查询结果页常常是列表内容,列出当前的查询结果,让用户单击查看具体的文章内容,如图6-14所示。
列表的需求说明,如表6-7所示。
表6-7列表的需求说明
序号
模块
功能
功能规则
1
财经新闻
新闻列表
1、最新的新闻列在列表最上方,按发布时间降序排列;
2、左侧是缩略图,160*100像素;
3、按比例缩小或放大缩略图,满格显示;
4、标题字号18;
5、标题最多显示两行,超过了最后一个字符显示…;
6、超过两行的标题,用Alt方式显示完整的标题;
7、标题下方显示新闻来源和发布时间,13号字;
8、单击标题,在新窗口页打开新闻详情页;
…
…
…
…
7. 详情页
详情页是指文章的具体内容,例如新闻详情、商品详情、招聘职位详情等等,如图6-15所示。
详情页的需求说明,如表6-8所示
表6-8详情页的需求说明
序号
模块
功能
功能规则
1
财经新闻
详情页
1、标题20号字,粗体;
2、显示新闻来源,作者、发布日期,13号字;
3、文章内容16号字,宋体;
4、文章内容左侧为分享工具栏;
5、文章内容右侧为相关推荐;
…
…
…
…
小结
需求说明文档的目的,是让技术人员理解每个功能的具体要求,以便他们编写代码来正确实现这些功能。所以需求说明文档的编写要求是:
l 文字表达要清晰明确;
l 每个细节都要考虑周到;
l 每个细节都要写清楚;
l 需求说明要使用规范的计算机专业语言来编写。
相关文章:
相关推荐: