博主呓语:

软件项目需求及获取方法

Posted by 破冰 on 2012-12-28 10:42 Friday

  软件系统的需求是指用户对软件的功能的要求,就是用户希望软件系统能做什么事情,完成什么样的功能,达到什么样的性能。软件需求不像硬件需求,有形的、客观的、可描述的、可检测的,软件需求具有模糊性、不确定性、变化性和主观的特点。

  1、软件需求包括功能需求、性能需求、环境需求、资源需求、成本消耗需求、开发进度需求、现实约束、预先估计以后系统可能达到的目标等。从项目开发的角度看,软件需求主要包括两大类型:功能需求和非功能需求。其中,功能需求是主要的需求,需要计算机解决的问题,就是对数据的处理的要求。

  2、功能需求规定了系统必须执行的功能。而非功能需求是一些限制性的要求,是对实际使用环境所做的要求,如性能要求、安全要求、可靠性要求等。非功能要求比功能要求更严格,更不容易满足,这是因为,如果不能满足非功能的要求,系统将无法运行。

  3、需求获取作为项目伊始的活动,是非常重要的。众所周知,如果需求调研不充分、用户需求描述不完整或不准确,项目成功的可能性几乎等于零。因此,根据软件项目特点,采取相应的需求获取方法,是项目取得成功的关键因素。

  4、在实际系统开发中,经常会发现,由于需求方缺乏软件系统开发的专业知识和项目管理经验,往往一开始自己也不知道要开发什么样的系统,尽管对业务很熟,但对数据、业务流程的整理和归纳上很难符合系统开发的要求,经常是走一步看一步,不断地提出和更改需求,使得系统开发方难于应付。

  5、另一方面,开发方由于行业知识的缺乏和需求分析人员水平的低下,不能正确或完全理解用户的需求说明,而又没有加以严格的评审、确认,经常是以想当然的方法进行系统设计。系统开发出来后,与用户的期望相差甚远。因此,需求分析必须注重双方理解和认识的一致,逐项逐条地进行确认。为了作到这一点,根据项目特点采用合适的需求获取方法就显得非常重要。

  6、软件开发需求管理是软件项目管理中一项十分重要的工作,在众多失败的软件项目中,由于需求原因导致的占相当大的比例,因此,需求管理将对软件项目能否最终获得成功产生至关重要的影响。但在实际软件开发过程中,很多开发人对需求的认识还远远不够。软件开发工作不是简单的技术工作,而是一项系统的软件需求开发管理工作。

注意事项

  • 其目的是理解用户的功能要求,澄清模糊的功能需求,使软件工程师和软件用户对系统功能的理解达到一致。就实际工作经验来说,不管采用什么方法,都要体现以用户为中心的思想,因为软件最终的主人是用户,这一点非常重要。

发表评论: