浅谈物联网项目中的需求开发与管理
2017-07-20孙玉李游
孙玉++李游
摘 要:物联网领域用户种类繁多,应用场景多样,因此对用户体验具有较高的要求。在物联网项目的实现过程中,“需求”尤为重要。为保证能够将用户在实际应用场景下的多样化需求完整准确地传递到研发人员面前,就需要通过专业的需求开发工作来对项目范围进行定义和描述。需求开发历经原始需求、用户需求、产品需求。需求管理活动包括建立用户需求基线,建立产品需求与用户需求追踪关系,需求变更管理等。
关键词:需求开发;需求管理;物联网;用户体验
中图分类号:TP391 文献标识码:A 文章编号:2095-1302(2017)07-00-02
0 引 言
物联网用途广泛,遍及智能交通、环境保护、政府工作、公共安全、平安家居、智能消防、工业监测、环境监测、路灯照明管控、景观照明管控、楼宇照明管控、广场照明管控、老人护理、个人健康、花卉栽培、水系监测、食品溯源、敌情侦查和情报搜集等多个领域。继计算机、互联网之后,被称为世界信息产业发展第三次浪潮的物联网,是互联网的应用拓展。与传统网络相比,物联网更侧重于业务和应用。可以说,用户体验是物联网发展的灵魂。
因为用户种类繁多,应用场景多样,对用户体验的要求较高,在物联网项目的实现过程中,“需求”显得尤为重要。为了能够将用户在实际应用场景下的多样化需求,完整准确地传递给研发人员,需要通过专业的需求开发工作对项目范围进行定义和描述。
1 需求开发流程
需求,是指用户为解决某一问题或达到某个目标所需要的条件或能力。未经分析或规格化的来自用户或者外部环境等的需求称之为原始需求。由原始需求经过需求筛选、规划来确定,作为项目范围定义的需求,即为用户需求,一般以《用户需求说明书》文档的形式,用格式化的描述来体现。
在用户需求的基础上,还会进一步开发产品需求。产品需求是对产品应具有的形状、功能、性能以及其他需求的详细说明,一般的产品需求由软件需求、硬件需求、结构需求等各个专业领域划分组成,按照格式化描述要求形成产品需求文檔,作为后续设计实现及测试依据。
从原始需求到用户需求,再到产品需求,它们之间的关系以及项目需求开发和管理的全流程如图1所示。
图1 项目需求开发和管理全流程示意图
以短信唤醒需求为例,介绍需求的整个开发过程。
在工业监测、环境监测等诸多领域,有许多用户都提出短信唤醒这一原始需求。用户希望能够在智能电表系统中,智能电表在待机休眠的状态下,可以通过短信被唤醒。我们决定在项目中将这一需求实现。首先,将原始需求转化为用户需求。短信唤醒,即被纳入项目的用户需求,并被明确写在该项目的《用户需求说明书》中。之后在产品需求开发阶段,需求工程师需要经过需求分析,形成如下产品需求描述:
(1)任意MT短信唤醒:模块处于待机状态时,当收到任意MT短信,模块自主唤醒,并通过WAKUP_OUT脚将唤醒信号发送到HOST设备。
(2)特定MT短信唤醒:模块处于待机状态时,当收到MT短信,匹配MT短信发送者号码,当发送者号码和预设号码一致时,模块自主唤醒,并通过WAKUP_OUT脚将唤醒信号发送到HOST设备;发送者号码和预设号码不一致,则不触发唤醒信号。
(3)特定MT短信内容唤醒:模块处于待机状态时,当收到MT短信,解析短信内容,匹配MT短信发送者号码和短信内容,当发送者号码和预设号码一致,并且短信内容包含预设内容时,模块自主唤醒,并通过WAKUP_OUT脚将唤醒信号发送到HOST设备;对于不符合上述判据的情况,不触发唤醒信号。
(4)支持预设5个电话号码和短信内容关键字,关键字为英文、数字字符;长度小于70 B;可清除预设号码。
(5)当预设号码及短信内容关键字都为空时,任意MT短信都能触发唤醒信号;当预设号码非空,短信内容关键字为空时,预设号码发来的任意短信都能够触发唤醒信号;当预设号码非空,且短信内容关键字非空时,预设号码发来的包含内容关键字的短信能够触发唤醒信号;当预设号码设定后,仅对是否触发唤醒信号起作用,不能影响或拦截正常短信业务,应区别于短信防火墙的功能。
上述需求描述已完整、详细的定义了“短信唤醒”这一需求。当研发人员收到该需求时,便可启动研发实现工作;待研发实现后,测试人员会按此需求测试,以确保产品已完全按照需求实现。
在一个项目当中,每一项需求都需要完成上述开发动作。一个项目可能会有上百需求,但最终都要以产品需求文档的形式进行详细的输出,才能完成对一个物联网项目的完整需求定义。
2 需求管理流程
除了需求开发活动外,还有一系列需求管理活动。包括制定需求管理计划、建立用户需求基线、建立产品需求与用户需求追踪关系,建立系统测试用例与产品需求的追踪关系,需求变更管理,需求状态管理。
在项目初期,需要制定需求管理计划,即识别产品需求开发团队成员,确定需求管理的责任人,以及需求追踪的粒度要求,需求状态跃迁定义等模板要求内容。
当完成用户需求的开发和评审后,需要将《用户需求说明书》归档,这一动作被称为“建立用户需求基线”。需求基线化是需求管理中的重要活动。需求基线化后,意味着在项目某一阶段,相关人员已经对特定版本的需求达成一致的理解和确认。需求基线化后,对需求的变更需要经过正式的变更流程来处理。
输出产品需求的同时,还要建立产品需求与用户需求追踪关系,即将产品需求文档中的需求项与用户需求说明书中的需求项建立追踪关系,并判断用户需求项在产品需求中是否有镀金、错误、遗漏等现象。
此外,还要建立系统测试用例与产品需求的追踪关系,即将系统测试用例项与产品需求文档中的需求项建立追踪关系,并判断系统测试用例是否100%覆盖了产品需求项。
虽然测试活动不属于需求管理的范畴,但从需求测试闭环的角度出发,测试作为需求验证的活动,与需求之间存在上下游的关系。测试人员会依据系统测试用例执行测试,并提交测试结果,发现故障,提出故障,验证故障处理结果。
在项目的实现过程中,有可能会出现需求变更,比如客户临时提出增加某些需求或去掉某些需求,抑或对某些需求进行修改。因此这时就需要进行需求变更管理。需求变更处理流程的关键是影响波及分析和应对方案制定,决策和受影响的人员,跟踪处理结果直到验证关闭。
一条需求从被提出到被验证(也可能中途被拒绝),每一种有可能出现的状态都需要被定义出来,以方便需求追踪和管理。需求的各个状态及定义见表1所列。
3 结 语
作为一家研发及生产物联网产品的公司,中興物联始终坚持采用科学的需求管理方法,将用户繁复多样的需求完整准确地转化为研发语言,进而通过各种物联网技术成功对接客户的各种需求。身处物联网这一新兴领域,我们也在不断创新,以提高需求的转化效率和精准性,让需求管理可以更好的为项目服务,从而更加快速有效的推出高质量高性能的产品,让用户满意。而这也是我们做为一家物联网企业的使命。
参考文献
[1]陈红烨,赵文刚.基于软件开发的需求开发及需求管理[J].甘肃科技,2008,24(2):31-34.
[2]王梅,王志伟.软件需求开发及工程实践[J].甘肃科技,2011,27 (17):32-34.
[3]唐宁久,杜源.需求管理工具在需求工程中的作用[J].计算机应用研究,2005,22(2):173-174.
[4]胡秀艳.软件项目需求管理和范围管理[J].信息安全与技术,2013,4(2):45-46.
[5]《计算机软件需求规格说明规范》GB/T 9385-2008[S].2008-04-11.
[6]中兴物联项目产品需求管理流程[Z].西安中兴物联科技有限公司,2016.
[7]郭涛,高米翔,韩鹏.工业物联网感知层协议分析与应用展望[J].物联网技术,2016,6(6):52-55.
[8]邵泽华.物联网结构的探索与研究[J].物联网技术,2015,5(11):46-53.