需求分析是软件开发过程中很重要的一个环节,目前需求分析完成后输出的文档有2种体系,一个是SRS(Software Requirements Specification,软件需求规格说明书),一个是PRD(Product Requirements Document,产品需求文档)。它们都用于需求分析,但是什么场合下使用SRS、什么场景适用PRD,很难给出明确的答案,它们之间的相似与区别可以从以下几个方面借鉴一下:出处、使用用户、编写要点、编写内容。

一、出处

1. SRS的出处

SRS 出自《GB/T 11457-2006 信息技术 软件工程术语》、《GB/T 8567-2006 计算机软件文档编制规范》,并且在《GB/T 9385-2008-软件需求规格说明书规范》中进行了标准化。

《GBT9385-2008-软件需求规格说明书规范》描述了软件需求规格说明的编制方法。它基于以下设想,即软件需求规格说明确定过程的结果是一份明确和完备的规格说明文档。本标准将有助于:

  • 软件的顾客准确地描述其希望得到什么;
  • 软件的供方正确地理解顾客想要什么;
  • 对于实现以下目标的有关单位和人员:

    ● 为其所在的组织编制一份标准的软件需求规格说明(SRS)提纲;

    ● 定义其具体软件需求规格说明的格式和内容;

    ● 编制其他的本地支持资料,如,SRS质量检查清单、或SRS编写者手册。

2. PRD的出处

历史上第一份PRD据推测应该是诞生于宝洁这家公司,因为据史料记载,宝洁在二十世纪二三十年代第一次提出了产品经理的概念,并诞生了第一位产品经理。产品经理大约从2015年开始发展,有自己的一套成熟理论体系,成为大型软件服务公司的标配。 BRD(商业需求文档)、MRD(市场需求文档)、PRD(产品需求文档)三种文档已经成为产品经理的标配。(参见:产品经理系列1——起源发展篇 | 人人都是产品经理 (woshipm.com)

BRD(Business Requirements Document,商业需求文档)

这是产品生命周期中最早的文档,其内容涉及市场分析,销售策略,盈利预测等。BRD要讲明白:用户价值(为什么用你的产品)、商业价值(为什么要做这个产品),市场分析、目标市场、竞争对手、时机、规模、趋势,产品功能、原型、实施计划、愿景,成本、ROI分析,风险及应对措施。文档重点放在定义项目的商业需求。BRD要能说出客户碰到的一个或多个商业问题,并且通过公司的产品能够解决这些问题。

BRD,就是战略需求文档,呈现形式很多,可以是商业可行性分析,可以是建模方法论等等,取决于这份文档的读者,务必根据读者的特点进行撰写,这样通过的概率会大大增加。

MRD(Market Requirements Document,市场需求文档)

BRD评审通过后就是写MRD文档,说明产品的定位。具体来说要有更细致的市场与竞争对手分析,通过哪些功能来实现商业目的,功能/非功能需求分哪几块,功能的优先级等等。

MRD重点放在为一个被提议的新产品或者现有产品的改进定义市场需求,MRD更深入提议解决方案的细节。它包括一些或者所有这些细节:

a. 解决商业问题所需要的特色

b. 市场竞争分析

c. 功能和非功能需求

d. 特色/需求的优先级

e. 用例

PRD(Product Requirements Document,产品需求文档)

MRD通过评审后就要编写PRD文档。PRD是在MRD的基础上,详细的给出了UI(User Interface 用户界面)和UE(User Experience 用户体验)。PRD文档的核心,是需求分析并根据需求开始落实产品原型,输出产品的DEMO,针对不同的阅读人群尝试重点的偏移,比如技术读者注重流程图的逻辑和原型备注,UI和测试注重原型和需求描述。PRD也就是传统意义上的需求分析,要给出功能使用的具体描述(每个UC(use case)一般有用例简述、行为者、前置条件、后置条件、UI描述、流程/子流程/分支流程等几大块)。

二、使用用户

1. SRS的用户

SRS可由来自供方、顾客或双方的一个或者多个人员编写,推荐由来自供方和顾客双方的人员联合编写。

《GB/T 8567-2006 计算机软件文档编制规范》中明确SRS的使用人员包括:开发人员和维护人员。

《GB/T 9385-2008-软件需求规格说明书规范》中明确:SRS可以为顾客和供方之间的协议建立基础、作为开发合同的一部分、为估计成本和进度提供基础。

2. PRD的用户

PRD由产品经理撰写,使用用户包括:

1.产品同事

2.运营

3.设计师

4.开发工程师

5.其他需求方(相关业务部门等)

三、编写要点

1. SRS的编写要点

SRS是对在具体环境中执行确定功能的特定软件产品、程序或一组程序的规格说明。SRS 编写人员应关注以下基本点:

a) 功能———软件将执行什么功能?

b) 外部接口———软件如何与人、系统的硬件及其他硬件和其他软件进行交互?

c) 性能———各种软件功能的速度、响应时间、恢复时间等是多少?

d) 属性———软件的可用性、可靠性、可移植性、正确性、可维护性、安全性如何?

e) 影响产品实现的设计约束———是否有使用标准、编程语言、数据库完整性方针、资源限制、运行环境等方面的要求?

编写适当的 SRS 限定了正确设计的范围,但不规定任何具体的设计:

a)宜正确地定义所有软件需求。由于将要处理的任务的性质或项目的具体特性,则软件需求是存在的。

b)不宜描述任何设计或实现的细节。这些内容应当在项目的设计阶段进行描述。

c)不宜对软件设置附加的限制条件。这些内容可在其他文件中规定,如,软件质量保证计划。

好的SRS具备以下特征:

a)正确;

b)无歧义;

c)完备;

d)一致;

e)重要性和/或稳定性分级;

f)可验证;

g)可修改;

h)可追踪。

2. PRD的编写要点

根据PRD使用的不同对象,PRD包含的内容也会有差别。为了能够使得PRD的目标用户更好的去获取到他想要的信息,一份PRD至少就应该包含以下内容:业务流程图、功能结构图、功能细节描述、界面原型等。

三、编写内容

1. SRS的编写内容

SRS文档包含以下内容:

  1. 引言

    1.1 目的

    1.2 范围

    1.3 定义、简写和缩略语

    1.4 引用文件

    1.5 综述
  2. 总体描述

    2.1 产品描述

    2.2 产品功能

    2.3 用户特点

    2.4 约束

    2.5 假设和依赖关系

    2.6 需求分配
  3. 具体需求(按照运行模式、用户类别、对象、系统特征、激励、功能层次分类,具体需求描述方式不同,下面只给出按照用户类别的描述内容)

    3.1 外部接口需求

     3.1.1 用户界面

     3.1.2 硬件接口

     3.1.3 软件接口

     3.1.4 通信接口

    3.2 功能需求

     3.2.1 用户类别1

      3.2.1.1 功能需求1.1

      ...

      3.2.1.n 功能需求1.n

     3.2.2 用户类别2

     ...

     3.2.m  用户类别m

      3.2.m.1  功能需求m.1

      ...

      3.2.m.n 功能需求m.n

    3.3 性能需求

    3.4 设计约束

    3.5 软件系统属性

    3.6 其他需求

    附录

    索引

2. PRD的编写内容

文档目录

修订记录

  1. 产品概述

    1.1 产品背景

    1.2 目标用户

    1.3 产品目标
  2. 需求列表

     列出需求模块、子模块、需求简述和优先级
  3. 功能结构
  4. 需求明细

    4.1 功能性需求

     4.1.1 用户场景

     4.1.2 优先级

     4.1.3 前置条件

     4.1.4 需求描述

      4.1.4.1 用户界面

      4.1.4.2 界面描述

      4.1.4.3 基本流程

      4.1.4.4 异常流程

     4.1.5 后置条件

     4.1.6 流程图

    4.2 非功能性需求

     4.2.1 性能需求

     4.2.2 统计需求

     4.2.3 安全需求
  5. 其它内容

PRD(产品需求文档)与SRS(软件需求规格说明书)的区别的更多相关文章

  1. 优质产品需求文档(PRD)写作三大原则

    在上一篇文章中有介绍,产品经理的两项主要职责包括:对产品机会进行评估,以及对开发的产品进行评估.而定义即将开发上线的产品,则需要借助产品需求文档,来进行产品的特征和功能描述.PRD文档的写作会因公司. ...

  2. 产品需求文档(PRD)的写作方法之笔记一

    1.写前准备(思维导图): http://www.woshipm.com/?p=80070 1.在写之前,请先很区分清楚什么是MRD文档(市场需求文档),BRD文档(商业需求文档),什么是PRD文档( ...

  3. [转]产品需求文档(PRD)的写作

    产品需求对产品研发而言非常重要,写不好需求,后面的一切工作流程与活动都会受到影响.转载一篇文章,关于产品需求文档写作方面的,如下: 本文摘自(一个挺棒的医学方面专家):http://www.cnblo ...

  4. 产品需求文档(PRD)的写作 【转】

    产品需求文档(PRD)的写作   一.文章的摘要介绍 无论我们做什么事都讲究方式方法,写产品需求文档(以下称PRD文档)也是如此,之前我通过四篇文章分享了自己写PRD文档的一些方法,而这一篇文章主要是 ...

  5. 如何写出好的PRD(产品需求文档)(转)

    作者:Cherry,2007年进入腾讯公司,一直从事互联网广告产品管理工作,目前在SNG/效果广告平台部从事效果广告的产品运营工作. PRD(Product Requirement Document, ...

  6. PRD产品需求文档

    什么是PRD? PRD是Product Requirement Document的英文缩写,即产品需求文档的意思.PRD昰产品流程中的最后一步工作,是将原型中的功能.界面具象化描述,是提交给设计(UI ...

  7. PRD产品需求文档概要

    PRD概念 PRM就是Product Requirements Document的简称,也就是产品需求模型.一般来说一个产品会伴随有市场需求文档(Market Requirements Documen ...

  8. 产品需求文档 PRD

    第一轮: 1,文档使用方:UI设计师 2.内容:       根据战略层定义出来产品功能范围,       说明此产品的目的,方便UI设计人员更好的理解产品       产品基本流程       详细 ...

  9. B端产品需求文档怎么写?

    B端,或者2B,一般指的是英文中的 to busniss,中文即面向企业的含义.与B端相对应的,是C端,或者2C,同样指的是英文中的 to customer,即面向消费者的意思.因此,人们平常所说的B ...

  10. Wiki版产品需求---产品需求文档到底是谁的?产品到底是谁的?

    在听了测试的一通唠叨之后,"内部实现一堆逻辑,只有一句话的需求文档","文档那么简单,我们怎么测试啊",心中突然想起来自己曾经干的一件当时觉得还不错的事情,但是 ...

随机推荐

  1. Yarp 与 Nginx性能大比拼不出所料它胜利了!

    Yarp 与 Nginx 性能大比拼 测试环境: Ubuntu 22.04.3 LTS (GNU/Linux 6.5.0-14-generic x86_64) Intel(R) Xeon(R) CPU ...

  2. centos6.5安装MongoDB4.4.23

    前言 1.目前MongoDB最新稳定版本是:6.0.8 2.MongoDB 5+和6+版本已不支持centos6.2+系统,参考https://docs.mongoing.com/install-mo ...

  3. idea右键没有run

    最近用idea打开一个用Eclipse创建的项目,发现右键没有运行,这是一个很常见的问题,网上一大堆解决方案,试了一通都不行,最后在Event Log里的提示解决了问题. 首先我去配置jdk,发现已经 ...

  4. 性价比超频我都要 两大内存绝技带来20%性能提升!技嘉雪雕Z790 AORUS LITE AX-W主板评测

    一.前言:主打性价比.两大内存绝技加持的技嘉Z790主板 要说现在最主流的装机方案,那必然是13代酷睿+700系主板.我们此前曾测试过技嘉的Z790钛雕主板,独有的顶级表现让人印象深刻,不过近6K的价 ...

  5. P8659 [蓝桥杯 2017 国 A] 数组操作 题解

    题目链接:洛谷 或者 蓝桥杯 或者 C语言中文网 几个OJ的AC记录: 忘了哪个OJ的: 洛谷: C语言中文网: 蓝桥杯: emmmmmmm,好像每个OJ给的时限和空间还不一样,蓝桥杯官方还给了 $3 ...

  6. HarmonyOS 实战小项目开发(二)

    HarmonyOS 实战小项目开发(二) 日常逼逼叨 在上期实战项目一中,已经对于练手项目的背景,后端搭建等做了一定的简述,那么本期将结合HarmonyOS 页面搭建个人性格测试的移动端.如有一些错误 ...

  7. 安装Electron时卡在install.js不动的解决方案

    问题来源,发现即使 源切换成淘宝的之后,安装 electron的时候还是慢死,郁闷,后来百度才发现,原来,还需要设置一个地方!!! 经过试验,果然快了 爽.... 之前在安装Electron的时候,经 ...

  8. display的值及作用

    display的值及作用 display属性可以设置元素的内部和外部显示类型,元素的外部显示类型将决定该元素在流式布局中的表现,例如块级或内联元素,元素的内部显示类型可以控制其子元素的布局,例如gri ...

  9. F - Subarrays题解

    F - Subarrays 题意:给你一个序列,问这个序列里有多少个子串的和能被k整除. 思路:求前缀和,然后每个位置对k取模,模数相等的位置之间,是一个满足条件的字串. 因为求的是前缀和,所以取模后 ...

  10. QT - Day 6

    跟着视频教程创建了翻金币的项目,花了好几个晚上才学习完. 视频地址:最新QT从入门到实战 感谢视频的教学,真是受益匪浅. 后面的代码参考了老师的模板以及文档的抒写格式. 发布到随笔中的目的一方面为了完 ...