- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于反馈模型软件项目需求管理
基于反馈模型软件项目需求管理
摘要:本文在明确用户需求变更与软件项目生命周期的其它阶段的因果关系的基础上,建立了反馈模型。指出了影响用户需求变动的因素,以及由于用户需求的多变性和不确定性给整个软件项目资源、进度、成本等带来的影响。
关键词:反馈模型;软件项目;需求管理
随着信息技术的不断进步,计算机硬件的逐步升级,计算机软件也变得越来越复杂,其不确定程度也随之增加,这样就对软件项目开发带来了许多新问题,如无法预期交付、交付的软件不能符合用户的最初要求、成本超出预算等等。这些问题的出现,要求我们必须对软件项目进行系统的、全面的管理。软件项目的管理是对成本、人员、进度、质量、风险等进行的管理,以实现软件项目按照预定的成本、进度、质量顺利的完成。
软件项目有其独特的生命周期,一般我们把软件项目的过程分为需求分析、概要设计、详细设计、编码、测试、安装与维护等六个阶段。软件项目的管理贯穿于软件项目的整个生命周期。其中,需求管理是国内软件项目管理最重要的一个部分。与国外企业相比,国内企业的业务往往不能明确的描述自己的需求,而导致软件项目管理难度加大,甚至导致失败。因此,如何实施有效的需求管理,是决定软件项目成败的一个重要因素。我们可以通过建立一个用户需求的正反馈模型,来了解用户需求变动对整个项目管理的影响以及与软件项目生命周期中的其它各阶段之间的相互关系。如图1所示。
用户需求会受到了用户周围环境的影响,包括了国家政策、企业或组织制度的变动;也包含了企业或组织经营策略的转变、人事更替等方面的因素。一旦用户周围的环境发生变化,都可能会导致用户需求的改变,而这就直接影响到了软件项目的不确定性程度。软件项目的不确定性程度越高,软件项目开发的风险就越大,在这种情况下,风险管理人员就必须要对由于用户需求变动而产生的新的风险进行重新分析、定位并及时做出反应,同时也需要对项目的资源进行重新分配,以保证软件项目开发的顺利进行。于此同时,用户的需求也同样会受到预算的影响,预算的变动,会导致用户需求的变动,用户会提出删减、压缩和变动软件某些功能,以便实现在预算的范围内软件项目的顺利开发。这样就形成一个正反馈系统:用户需求一旦发生变动,则会“牵一发而动全身”,使得最终开发的软件离用户最初需求的偏差越来越大。
这个模型决定了软件项目管理必须要树立以需求为牵引的思想。只有加强需求管理,才能更好的实现软件项目管理,保证软件项目的顺利实施。需求管理主要包括:需求收集、需求分析和需求追踪。
一、需求收集
(一)企业以前开发相似软件产品的需求,以及其它企业相类似软件产品的用户需求
开发方可以将国内外同类软件产品的需求以及以前开发时所获得的经验进行比较、总结,对软件产品中所出现的需求缺陷进行汇总,以避免在这次软件开发过程中出现同类问题,使得本次软件开发的需求更加完善。
(二)用户对软件的需求
计算机软件首先是一种产品,是为满足用户需求服务的。因此,计算机软件必须具备产品的基本特征,即基本质量。根据Kano理论,一个产品必须有所要具备的基本质量。用户对于计算机软件的基本质量是非常重视的,因为它是开发该种软件的基本目的。开发方必须要保证软件的基本质量,这其中包括软件的实用性、简便性、易操作性等。同时,软件还需要具备能够刺激用户的激励质量,即软件要有其独特之处,这里的独特之处包括了软件的可维护性、可升级性等更高的服务要求。
由于用户可能对计算机系统工程和技术缺乏全面了解,因此对于开发方来说,在开发软件项目的过程中,思考的角度自然要比用户更加全面。除了考虑用户的“正向需求”之外,还要考虑其“反向需求”。所谓的“反向需求”是指当输入的数据不能满足软件运行条件的时候,软件系统必须能够清楚的显示,而不会出现诸如死机的现象。也就是说,软件不仅要求能够处理正确的输入,对边际的、错误的输入代码也要具备一定的处理能力。
在实际的开发过程中,由于大部分的开发人员技术方面的知识比较丰富,但与人的沟通能力有所欠缺,所以在与用户制定需求的时候,可能就无法理解用户的想法和要求,这样就会造成最终的软件产品与用户想要的存在偏差。因此,为了更好的获得用户的需求信息,开发人员需要与用户进行充分的沟通和交流,在必要时,可以建立原型系统以准确地获取需求,并将所获得的用户需求以文档的形式进行整理、归纳和保存。
二、需求分析
用户的需求可能涉及各个方面,也许还存在矛盾的地方,因此需要对需求进行系统分析。需求分析的目的是为了明确开发系统必须具备哪些功能。项目开发人员将获得的需求进行分析,从产品性能(固有能力)、可信性(可靠性、维修性〈包括测试性〉、保障性)、进度、成本等方面进行综合均衡
文档评论(0)