需求分析是软件开发过程中很重要的一个环节,目前需求分析完成后输出的文档有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. 取代传统BIOS的EFI和UEFI究竟是什么?

    传统的蓝白BIOS界面可以说是陪伴着很多玩家共同成长,不过在英特尔发布Sandy Bridge架构处理器的时候,传统BIOS也到了和我们说再见的时间,采用图形化界面的EFI以及UEFI很快就取代了传统 ...

  2. P3509 [POI2010] ZAB-Frog 题解

    题目链接:ZAB-Frog 基于一个根据距离第 \(k\) 大的事实: 容易知道,对于红色的点而言,与它相近最近的 \(k\) 个点是连续的.而第 \(k\) 远的要么是最左侧要么是最右侧.而我们注意 ...

  3. P9816 少项式复合幂 题解

    题目链接:少项式复合幂 注意到题目的模并不是很大,我们考虑两个核心的性质. \(f(f(x)) \bmod p=f(f(x) \bmod p) \bmod p\),证明直接代入 \(f(x)\) 进去 ...

  4. Google_Book_20Things.前言以及前四项学习笔记

    20 THINGS I LEARNED ABOUT BROWSERS AND THE WEB Illustrated by Christoph Niemann. Written by the Goog ...

  5. 神经网络优化篇:详解如何训练一个 Softmax 分类器(Training a Softmax classifier)

    如何训练一个 Softmax 分类器 回忆一下之前举的的例子,输出层计算出的\(z^{[l]}\)如下,\(z^{[l]} = \begin{bmatrix} 5 \\ 2 \\ - 1 \\ 3 \ ...

  6. STM8 bootloader 升级方案程序设计(一)

    1.前言 上一篇单片机 IAP 功能基础开发篇之APP升级(一)讲到了单片机 IAP 功能给 APP 程序升级的设计思路,这篇介绍的是具体实现方式. 这篇介绍关于 STM8 系列实现 bootload ...

  7. 基于keras的文本情感识别

    情感识别是一个典型的分类问题,可以使用Keras来实现,本文是之前整理的笔记,分享出来大家一起学习.   流程描述 Keras文本情感分类基于机器学习算法,会根据大量数据训练出分类模型,然后使用训练好 ...

  8. 开源.NetCore通用工具库Xmtool使用连载 - 发送邮件篇

    [Github源码] <上一篇> 介绍了Xmtool工具库中的随机值类库,今天我们继续为大家介绍其中的邮件发送类库. 发送邮件是系统开发中经常需要的功能,广泛应用于消息通知.异常告警.内容 ...

  9. JOISC 2022 记录

    Day1 T1 Jail 操作很类似华容道.由于这题是可以树,同时每一个人走的都是最短路,这也就意味着不会出现通过好多个人一起的挪动来匀出空间. 所以如果合法,必然存在一种方案是每一次直接将一个人挪到 ...

  10. JS Leetcode 198. 打家劫舍 题解分析,再次感受动态规划的魅力

    壹 ❀ 引 本题来自LeetCode198. 打家劫舍,难度中等,也很有意思,是一道教小偷如何偷窃最大金额的题,题目描述如下: 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你 ...