- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于敏捷开发管理信息系统需求分析模型构建
基于敏捷开发管理信息系统需求分析模型构建
[摘 要] 国内开发管理信息系统(MIS)的成功率并不高,经过调查分析,大多是由于需求的变化性和不确定性所致。需求分析在系统的开发过程中有着举足轻重的作用,因此有必要对需求分析进行深入的研究。为了应对快速变化的系统需求,本文采用敏捷项目管理的思想,利用增量式的迭代方法逐步明确系统需求,并用数值量化每一个需求的不确定性、不一致性和优先级,在三维模型中表示每项需求,方便需求分解、细化和明确,从而使需求更加全面、清晰,有利于开发人员更好地对信息系统需求变更趋势、需求变更主要原因进行掌控,有效地提高系统开发的成功率。
[关键词] 需求分析;Scrum;业务流程;三维模型;需求变更
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2012 . 23. 028
[中图分类号] TP391 [文献标识码] A [文章编号] 1673 - 0194(2012)23- 0045- 03
1 前 言
1.1 传统管理信息系统开发方法及缺陷
管理信息系统(MIS)因其在创造有竞争力的公司、管理全球化、增加企业价值和为客户提供有价值的产品与服务等方面有着重要的作用[1],受到越来越多组织的青睐。信息技术发展的日新月异使得软件的功能越来越强大,同时也带来一系列的开发管理上的难题。传统的瀑布模型、螺旋模型、原型模型等方法也越来越不能适应快速变化的需求和市场环境。主要表现在:软件开发效率低,大量的人力、物力、财力浪费在重复开发上;软件质量得不到保证,后期服务费用大;技术积累困难,常常随着技术人员的流失而消失;企业内部、企业与外部缺乏有效、可靠、安全的信息交流方式等。
1.2 需求分析的重要性及不确定性
开发有效的信息系统的关键在于做好信息系统的需求分析工作,因为好的需求分析可以为信息系统的编写提供任务范围的框架,对信息系统的开发进行有效的控制,为信息系统的完成提供基线,为信息系统最终交付提供依据[2]。从项目管理知识体系来讲,也就是要根据管理科学的理论,对需求进行科学分析和有效的规划、管理及控制,使开发项目能够按照预定的成本和进度顺利完成,并保证信息系统的质量和最终的顺利实施。TTE、TRM和IBM三家公司的统计结果表明:发现错误的时间越晚,修改所需要花费的费用越大,如图1所示。另外,需求定义不准确会对系统开发人员的积极性以及用户实施信息系统的信心带来不可忽视的影响。
由此可以看出,需求阶段在系统开发的整个生命周期中处于最基础、最重要的位置。许多成本分析表明,系统60% ~ 80%的错误发生来源于需求的错误定义[3],这又归结于需求分析具有很强的不确定性,表现为用户本身需求的不确定性:用户自我认识不清、员工因为利益原因故意隐藏需求、市场环境变化、业务调整等。然而更主要的原因是传统开发方法的局限性,使得需求不够明确,不能及时控制需求变更。而Scrum作为一种敏捷开发的代表,相对于传统方法具有很明显的优势。
2 Scrum指导下的需求分析
2.1 敏捷开发Scrum
敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在高度协作的开发环境中,使用迭代的方式进行增量开发,经常使用反馈进行思考、反省和总结,不停地进行自我调整和完善。采用敏捷开发不仅保证了软件的质量,而且开发速度也提高了3~10倍。Scrum作为一种典型的迭代式增量软件开发过程,旨在寻求充分的发挥面向对象和构件技术的开发方法,是对迭代式面向对象方法的改进,尽快让需求者看到结果[4]。越来越多的公司,例如Google、Microsoft、IBM、Oracle等,开始采用Scrum来解决软件开发过程中面临的困难和挑战。如果将项目开发过程视为一个黑箱,那么Scrum能更好地加强黑箱内部的混沌性,使项目组工作在混沌的边缘。不过,Scrum并没有提供核心的价值观和指导原则,也缺乏具体的实践方法。本文借助Scrum的思想,通过具体的方法来实现复杂系统的需求分析。
2.2 需求层次
信息系统需求具有一定的层次和分类,一般包括业务需求、用户需求、功能需求(包括非功能需求)3个层次。为了便于本文的研究和体现迭代思想的优越性,按照需求发现的难易程度,从纵向上将需求分为以下3个层次。①基础性需求:实现用户需求,用户主动提出的、显性的、基础的、迫切需要实现、必须满足的需求。②满意性需求:符合用户预期,此类需求相对独立,并且不对主要业务实现造成很大影响。③兴奋性需求:超出用户预期,深度隐性需求,主要为系统与用户未来需求的吻合度。
2.3 需求分析建模
在关于不确定性、不一致性和优先系数的分析中,开发团队要根据具体情况对每一项工作制定一份比较完整的评分细则,防止评分过程中的随意
文档评论(0)