需求分析是软件开发过程中很重要的一个环节,目前需求分析完成后输出的文档有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. LeetCode刷题日记 2020/03/26

    题干 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc ...

  2. Django后台输出原生SQL语句

    如果需要打印orm翻译后的原生sql语句,只需要在setting最后加上下面代码就行. 1 LOGGING = { 2 'version': 1, 3 'disable_existing_logger ...

  3. Java-生成字符串的MD5值

    方法一:public static String getMd5(String str) { MessageDigest md5 = null; try { md5 = MessageDigest.ge ...

  4. [Java] 详细解说final关键字

    final final 可以修饰变量.方法和类,表示所修饰的内容一旦赋值之后就不会再被改变.例如String类就是一个final类型的类. 1.具体使用场景 1.1 变量 1.1.1 成员变量 每个类 ...

  5. SP21690 POWERUP - Power the Power Up 题解

    题目传送门 前置知识 扩展欧拉定理 解法 直接对 \(a\) 和 \(b^c\) 分讨,跑一遍扩展欧拉定理就行了. 另外由于本题的特殊规定 \(0^0=1\),故需要在当 \(a=0\) 时,对 \( ...

  6. 从零开始的微信小程序入门教程(二),初识WXML与WXSS

    壹 ❀ 引 时隔大半年,我终于开始写小程序入门教程的第二篇了,其实我也在纳闷,这么久的时间我到底干了什么,仔细一想,我学了JavaScript部分进阶知识,学了ES6,系统性的去复习了angularj ...

  7. NC16513 无关(relationship)

    题目链接 题目 题目描述 若一个集合A内所有的元素都不是正整数N的因数,则称N与集合A无关. 给出一个含有k个元素的集合A={a1,a2,a3,...,ak},求区间[L,R]内与A无关的正整数的个数 ...

  8. NC20667 数学题

    题目链接 题目 题目描述 最近,华东交通大学ACM训练基地的老阿姨被一个数学问题困扰了很久,她希望你能够帮她解决这个问题. 这个数学问题是这样的,给你一个N,要求你计算 gcd(a,b)表示a和b的最 ...

  9. 蔚来杯2022牛客暑期多校训练营3 AC

    比赛链接 A 题解 知识点:LCA. 队友写的,俺不会qwq.预处理出关键点序列的在树A B上的前缀LCA和后缀LCA,枚举去掉的关键节点并使用前后缀LCA算出剩余节点的LCA比较权值即可. 时间复杂 ...

  10. java集成华为云obs上传下载实战

    说明 最近项目上需要开发一个服务去和华为云OBS集成获取一些业务上的文件,此处记录一下简单的java集成obs的入门,希望对大家快速入门有所帮助:) 实现效果 上传对象 下载到本地 操作步骤 1.开通 ...