当需求需要被文档化描述,这就要求产品经理弄清楚需求有哪些类型,每种类型该如何进行表达。
在软件行业,人们讨论的“需求”通常指的是软件应用需求,但还是具有其他不同类型的需求,如下图
- 项目需求:大Boss要求团队需要在3个月内完成项目并上线,其对象针对项目的时间进度、成本、资源等。
- 过程需求:项目经理要求提交需求规格说明文档、产品原型图等报告,其对象是在开发过程中的开发人员、工具方法等。
- 系统级需求,包括软件需求(这就是我们常讨论的需求)、硬件需求(怎么样规格的服务器、显示屏等),其他需求(如某些toB软件投入使用要需要对用户进行培训讲解)。
对于上述的所讲的项目需求、过程需求、硬件需求、其他需求也是要写进需求文档里去的,一般是写在开头或末尾,这根据自己的个人习惯。讲了辣么多,我的主体还是我们所常提起的软件需求。
从严格意义上的软件需求分类具有:功能需求(functional requirement),非功能需求(non-functional requirement),就好比我在某宝想买一双鞋子,球鞋、高跟鞋、过膝靴、红色、黑色等是明显可知的(功能需求),但鞋跟牢不牢固、鞋底会不会脱胶等是不清楚的(非功能需求)。其中非功能需求包括性能需求(performance requirement),质量属性(quality attribute),对外接口(external interface),约束(constraint)。
功能需求:
是最常见和最重要的需求,体现在系统与用户之间的交互,帮助用户解决问题,完成任务。功能也有复杂简单之分,对于复杂的功能需要一层一层分离,如公司做的核销功能,在账单模块,分离各种支付类型,支付类型又分为具有流水号和无流水号的等等。或者独立成多个部分,如公司的某项目,分成机票模块、酒店模块、用车模块等等,然后再分别交给开发人员进行开发。
功能需求是整个系统产生价值的基础,是使得一个软件应用得以存在的原因。
性能需求:
我们会经常讨论到手机性能怎么样,卡不卡,耗电量怎么样,存储量有多大……而软件也具有性能,是指某指定功能的程度,如速度,精确度,内存使用程度等
常见的性能:
- 速度:系统完成指定任务的时间。如航班搜索出来的结果必须在3s内展示出来。
- 容量:系统所能存储的数据量。如财务系统能存储至少10万条的核销数据。
- 并发性:系统可以承载的并发工作量。如某软件允许多少个用户同时使用。
- 实时性:严格的实时要求。如降舱软件中当发现合乎条件的舱位,系统需在1s内执行降舱指令。
对于性能需求,如要不是很大的用户量或大公司,其他则比较少去考虑该方面的需求,但对于系统的后期发展,这也是一个极其重要需求探讨。
质量属性:
质量属性包括性能需求,只是性能需求比较特殊,所以单独出来。
常见的质量属性:
- 可靠性:指在一定时间或条件下,系统执行所要求功能的无故障执行能力。
- 可用性:系统在使用中可操作或访问程度。
- 可维护性:为改进系统或修复bug而修改系统或某功能模块的难易程度。
- 安全性:阻止对其程序和数据进行未授权访问的能力。
- 可移植性:将系统从一个硬件或软件的运行环境换置到另一个环境。
- 易用性:系统易于使用的程度。
另外常见的质量模型为[IOS/IEC 9126-1]和[IEEE 1061-1992,1998],点击即可跳到链接查看,为26和27条
对外接口
对于接口需要进行说明:
- 接口的用途;
- 接口的输入输出;
- 数据格式;
- 命令格式;
- 异常处理要求;
如某数据包为XML格式,HotelProduct表示酒店接口,接口的输入为Destination目的地,Date住店及离店日期,输出的数据类型为数字文本,0代表操作正确,1代表数据错误,2代表网络故障,3代表其他错误,而对于0还输出具有目的地的酒店信息,其中一个字段为HotelID,酒店编号,Number类型,18位数据代码。
约束
常见的约束:
- 系统开发以及运行的环境:包括计算机,操作系统,编程语言、数据库管理系统等
- 问题域内的相关标准:包括法律法规、合作协议等
- 社会性因素:文化、信仰等社会性因素
对于软件需求的分类大致就是以上这几类,这是最近在看需求工程书籍归纳的。另外自己的原型设计会对某界面或某功能进行需求描述,如行为的触发条件,行为的前置条件、行为流程、后置条件、异常情况、和对数据的需求(类型、初始值、取值范围、单位等)、使用什么接口,接口的描述等等,对于该如何完备性的描述一个界面或功能的需求下回见分晓~~如大家有什么建议或补充,欢迎留言。
本文由 @Halona 原创发布于人人都是产品经理。未经许可,禁止转载。
题图来自unsplash,基于CC0协议
爱盈利-运营小咖秀(www.aiyingli.com) 始终坚持研究分享移动互联网App运营推广经验、策略、全案、渠道等纯干货知识内容;是广大App运营从业者的知识启蒙、成长指导、进阶学习的集聚平台;
想了解更多移动互联网干货知识,请关注微信公众号运营小咖秀(ID: yunyingshow)