APP下载

软件需求分析中的问题与对策
——以德宏职业学院教务系统成绩管理子系统开发为例

2016-03-11赵越超

科学中国人 2016年27期
关键词:德宏教务开发人员

赵越超

德宏职业学院

软件需求分析中的问题与对策
——以德宏职业学院教务系统成绩管理子系统开发为例

赵越超

德宏职业学院

需求分析是软件开发过程中一个十分重要的环节,甚至被认为是软件生命周期中最重要的一个阶段。软件需求分析的质量好坏,对软件的开发有着深远的影响。本文对于在德宏职业学院教务管理系统成绩子系统(以下简称该系统)开发过程中遇到的需求分析问题及采取的响应对策加以总结,并为今后的软件需求分析提供一定的指导经验。

软件开发;需求分析;迭代;软件生命周期

本文为德宏职业学院校级课题,编号:XJ2015017。

1 引言

软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。而需求分析是在可行性研究的基础上,将用户对系统的描述,通过开发人员的分析概括,抽象为完整的需求定义,再形成一系列文档的过程。可行性研究旨在评估目标系统是否值得去开发,问题是否能够解决,而需求分析旨在回答"系统做什么"的问题,确保将来开发出来的软件产品能够真正满足用户的需要。

2 需求分析目标

对于该系统而言,如何将学院现有的业务梳理出来,并且以合适的方式完成系统设计,得到一份介于系统分析和软件设计阶段之间桥梁的文档,是需求分析的主要目的。一方面,需求分析约束了软件开发的范围,另一方面,需求规格说明书又能够作为软件设计、实现、测试乃至运行维护的基础。做好分析活动,尽量在设计之前得到用户想要的,避免或者提早识别错误,从而提高软件生产率,降低开发成本,提高软件质量。

3 问题及对策

3.1需求用户说不清,分析人员猜不透

该系统的使用主体是学院教务处的教务管理人员,因此,教务管理人员作为了需求采集的主要对象。但是教务管理人员并不懂软件开发,不同的用户对需求的理解和表达程度都对采集过程造成了很多影响。其对软件需求的描述要么停留在自己认识的范围之内,觉得自己想要的非常清楚,但是说不明白,要么用过其他的信息管理系统的片段,觉得这个也需要那个也需要,而忽视了学院本身的业务需要。

针对以上问题,作为需求收集的人员,可以引导教务管理人员,先阐述常规的需求,再由客户否定不需要的,对于与本院业务流程有出入的部分加以更正,这样就能够猜可控的范围内获得真实的需求。若用户说不清楚需求,为了不造成理解错误,可以采用多次沟通的方式,采用类似于小迭代的形式,第一次沟通得到一些信息碎片,沟通结束后进行分析,找出不恰当或者矛盾的需求,列出需要进一步明确细化的需求。之后,再次进行沟通,有了第一次的数据文档,沟通的目的性会更强,效率会更高。然后重复以上步骤,直到挖掘出用户真实需求为止。

3.2用户需求稍瞬即变,分析人员应接不暇

需求多变一直是软件开发中的一大痛点,也有“需求总是多变的只有这一点是不变的”的说法。引起需求变化的原因很多,对于学院而言,领导的决定成了变动的主要因素,比如为了满足一些偶发性的应用场景,需要临时增加想起来的需求。

这样的情况在体制内的单位中无法避免,但是可以尽量对其加以控制。一是提前识别哪些是稳定的需求,哪些是容易变动的需求,在系统设计时有所偏重。二是加强与领导的沟通,陈述变动利弊,以供领导决策。

3.3多方需求相互冲突,需求挖掘有二义性

对于学生的管理,除了教务处外,还涉及到学生管理处,以及各个教学系部,对于不同的部门,角度不一样,需求也不一样。若有不一致意见,按任意一方意见修改,都很可能在设计上引起无法周全的情况。

对于这种部门间有冲突的需求,一定要组织相关部门进行讨论,由更高的领导做评审,决定采用哪种方案或者折中。需求说明不能有二义性,更不能前后矛盾。如果有,则需要重新分析此需求。

4 总结

通过对该系统需求的分析过程,我们收集用户需求时候得到的信息,往往停留在表面层次,这是根据用户自身知识体系决定的,往往不是真实的需求,在收集过程中,有以下几点需要注意。

4.1倾听用户不等于听从于用户

大多数的客户其实不知道自己的真实需求是什么,他们需要的是解决问题的东西,我们需要把最终的产品或者相似的产品对他们进行展示,才能在此基础上引出他们的真实思考,因此不能盲目的听从用户去设计系统。

4.2用户想要的东西不等于真实的需要

有一个例子,有个客户想要买一匹每天能跑800公里的马,并且能够连续跑10天,而这样的马是不存在的。这个时候需求挖掘人员应当进一步了解客户想要的到底是马,还是要到很远的地方去。最后,挖掘人员给他推荐买了一辆汽车。

用户想要的需求,是基于他的知识结构的,提出来的并不一定能够在软件范围内解决,作为需求分析人员,需要去了解使用该需求背后的目的,达到的结果,再翻过去找解决的办法,这样才能够得到用户的真实需要。

4.3用户不要限定实现过程

用户所要关心的是我有哪些问题需要解决,而不是告诉软件开发人员应该怎么做。软件系统的设计本身是灵活多变的,只要能够解决用户的需求,给开发人员一个自由的空间。这样,才能给出一个基于开发人员知识体系的解决用户实际问题的优质系统。

[1]吕云翔,王昕鹏.《软件工程》.人民邮电出版社,ISBN:978-7-115-20222-2

[2]郝建青,张仲义.信息系统需求分析方法研究.《管理工程学报》,2001

[3]闫荣.挖掘用户真实需求的6大撒手锏.《产品心经:产品经理应该知道的60件事(第2版)》.机械工业出版社

[4]《软件生命周期_百度百科》.地址:http://baike.baidu.com/ view/3110371.htm

赵越超,男,工程硕士,云南芒市人,毕业于杭州电子科技大学计算机学院,主要研究方向:物联网,大数据挖掘方向。

猜你喜欢

德宏教务开发人员
德宏 生态摄影“朝圣地”
高校教务管理工作的现状分析与优化研究
教务排课对高等院校教学运行的作用分析
大滇西旅游一线6 有一个美丽的地方 德宏
中缅胞波情 共饮一江水 德宏中缅胞波狂欢节
共饮一江水葫芦丝独奏
Semtech发布LoRa Basics 以加速物联网应用
浅析新时期高校教务管理工作创新探讨
后悔了?教你隐藏开发人员选项
写在最后