软件需求变化原因分析及预防变化策略.docVIP

软件需求变化原因分析及预防变化策略.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件需求变化原因分析及预防变化策略

软件需求变化原因分析及预防变化策略   摘要:本文指出预防和控制需求变化的方法,首先是明确需求变化的原因,提出需求变化的外因和内因。外因以人为主包括人、技术与环境,内因以项目的规模和复杂度为主。分析外因、内因及它们的相互联系和影响,并提出预防需求变化的策略。   关键词:需求变化 内因外因 辩证法 策略   一、引言   需求变化管理是软件项目管理的重要内容,是度量软件过程成熟度的重要指标。实施需求变化如同给病人动手术一样,要花费时间、成本,影响开发进度和预算,而且有可能不能完全医治、留下后遗症,影响软件质量。   需求变化是一件很微妙的事情,用户希望把一个需要两次点击的功能,改成只一次点击,就会导致需求变化,并影响编码和测试、增加成本、延误进度。因此,要提交用户满意的软件,预防和控制需求变化是上策。为了有针对性地实施需求变化控制策略,首先要了解什么原因可能导致需求变化,以及这些原因之间的相互作用关系。   二、需求变化的原因分析   需求变化是对需求进行某种修改或转换,并产生新需求的过程。需求变化是不可避免的,也不完全是一件坏事情,因为需求变化是完善和优化需求的必经之路。但频繁的需求变化会导致开发灾难:增加成本、延误时间,甚至导致项目失败[1]。   需求变化的产生来自许多原因,例如[2,3]:项目复杂、规模大;开发人员缺乏对项目背景的充分理解;用户参与不足或缺乏与用户的交流;开发人员看问题的视角及表达需求的方式不同;表达术语缺乏统一性等。需求变化是开发中矛盾出现及转化的过程。矛盾的产生有内因和外因。尽管项目的复杂性和规模不是人能控制的,但人仍然是导致需求变化的重要因素。   (一) 需求变化的外因   需求变化的外部原因[4]包括:人、技术与环境[5~8]。这三大外因相互联系、相互影响,但以人为主导因素。技术是由人创造和选择的,是否恰当或成熟既与项目的特征有关,也与技术的有效性有关。环境是由人来布置的,环境是否恰当既与开发人员的经验和知识有关,也与客户提供的经费和要求有关。但人的能力是有限的,技术和环境有可能超越预想的效果而显示出其固有的、 不可预知的一面。   (1) 人的因素   需求开发与管理是一种人类行为,是个人行为的组合,是涉众――软件开发工程师、项目管理人员、客户等与项目相关的人共同协作的结果。一方面,客户最初提出来的需求不清晰、不完整,需要需求工程师帮助他们理清思路、明确自己要达到的目标。另一方面,通过与客户的交流与沟通,能够使工程师更好地理解项目背景、业务规则,深入挖掘需求。   在需求获取和分析的过程中,存在着许多诱发需求变化的因素,它来自开发与管理人员或者客户。   开发与管理人员存在的常见问题是:缺乏开发、管理经验与常识,缺乏软件工程理论的指导,对开发、管理工具和技术不熟练或缺乏对新工具、新技术的了解;缺乏与客户沟通的技巧;不认真细致了解项目背景和领域知识,项目范围或业务目标不明确;擅自修改或随意添加需求,导致需求不符合用户需要或蔓延;开发人员与管理人员之间缺乏交流与互动;没有制定有效的管理和风险预警策略;不同的需求工程师对业务规则的理解出现偏差;没有优化需求,没有对需求进行正确性、完整性、一致性测试。   客户存在的常见问题是:不清楚自己想要什么,但随着开发过程的深入,对所期望的目标有了更加清晰的认识,这时可能会改变原来的主意或对模块的界面、功能和性能方面提出更高更多的要求;不积极配合开发人员,对开发人员提出的问题敷衍其事,甚至一切放手让开发人员自行决定;客户对开发人员和开发效果的期望值太大;客户管理方行政审批层次太多,官僚之风盛行。   (2) 技术的因素   需求开发与管理离不开技术和工具的使用,如果使用得当,则能够提高效率,减少需求变化的可能性。   从开发技术角度,影响需求开发效率有三种因素:软件开发模型;需求分析方法;技术的变化。   软件开发过程是需求演化的过程,是基于现有的知识和经验对未来的软件系统进行预想和创造的过程。良好的预想效果要基于合适的软件工程开发模型,有方法、按步骤地对需求进行不断完善和修正。软件开发过程各个阶段之间的关系不是顺序和线性的,而是带有客户和开发人员意见反馈的迭代过程。软件开发模型是对软件开发过程的抽象,它定义了软件开发活动各阶段之间的联系,为开发提供方法和原则指导。   常见的软件开发模型有:瀑布模型、原型模型、螺旋模型、变换模型等。每种模型的开发指导思想都是正确的,但它们的适用性是有倾向性的。随着项目的特点、规模、复杂性的不同,它们所产生的效果也不同。例如:瀑布模型要求在软件开发的初始阶段指明软件系统的全部需求,缺乏演化观点来处理需求的获取,会使开发陷入困境;原型开发适合规模小的项目,能够尽快向客户提供原型,使用户容

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档