开发模式在HSE系统升级中的混合应用.docVIP

  • 6
  • 0
  • 约2.8千字
  • 约 5页
  • 2016-09-26 发布于北京
  • 举报

开发模式在HSE系统升级中的混合应用.doc

开发模式在HSE系统升级中的混合应用.doc

开发模式在HSE系统升级中的混合应用   本文首先介绍和分析了两种开发模式(瀑布式开发和敏捷开发)的特点,并针对敏捷开发中的Scrum框架做了一个简单介绍。以HSE系统在升级建设中所采用的开发模式为例,介绍如何在项目开发过程中既要保证项目总体质量和过程控制,又要提升功能开发效率和推进测试发布,从而所采用的混合式开发模式(即总体采用瀑布式开发,局部适度引用敏捷开发,过程中加入质量控制的模式),达到推进项目稳定有效的运行和充分利用各人力资源的目的。   引言   HSE系统作为涵盖了中国石油健康、安全和环保等综合业务的大型信息系统,不仅为中国石油的各地区公司提供信息录入平台,更为中国石油的集团总部提供更多的信息统计和决策支持服务。随着十二五规划的工作开展,HSE系统也要从1.0版升级到2.0版。在此次的系统升级过程中,针对功能模块多和功能需求逐步稳定的特点,项目组在总体流程中使用瀑布模型,局部环节适度引用敏捷开发模型,达到既要确保项目质量和过程控制,又要满足功能开发和测试发布快速推进的目的。   瀑布式开发   瀑布式开发是将软件开发各个阶段的任务,从顶向下、从抽象到具体的一种开发方法。其形式就像一个自上而下的瀑布,总是从高处依次流到低处。瀑布式开发的优点是阶段具有顺序性和依赖性[1] 。这个特点具有两重含义:第一,必须等前一个阶段的工作完成之后,才能开始后一个阶段的工作;第二,前一阶段的输出文档就是后一阶段的输入文档。因此只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果。这样的特点应用在功能模块多和业务处理逻辑复杂的大型项目时,可以保证每一阶段的工作成果都尽量正确,都能先进行评审与纠错,控制项目的实现风险,追踪每个阶段的完成情况。这样的优点也带来一些弊端:只有做出精确的需求分析,才能取得预期的结果。由于各种客观、主观的原因,需求分析往往不很精确,常常给日后的开发带来隐患。另外,瀑布式开发往往把开发人员定义为流水线上的工人,由于各阶段的开发人员只能接触到自己工作范围内的东西,所以对客户需求的理解程度高低不等。对于客户需求变更,编码人员会比设计人员更容易产生很强的抵触情绪。对于一个大型项目,如何能够既保证项目开发质量、调动开发人员的工作积极性并引入适度的开发灵活性,这成为一个我们思考的问题。   敏捷开发   敏捷开发是一种面临迅速变化的需求快速开发软件的能力。敏捷开发的宣言[2](或者理解为原则)是:(1)个体和交互胜过过程和工具;(2)可以工作的软件胜过面面俱到的文档;(3)客户合作胜过合同谈判;(4)响应变化胜过遵循变化。通过这样的原则我们不难看出敏捷开发重视人与人自之间的沟通和交互,强调个体对于项目活动的理解应该是一致的。Scrum是一个近年比较流行的敏捷开发框架,是一个增量的、迭代的开发过程。它关注透明度、审查以及适应,在敏捷开发中应用的最为普遍。该框架提供了一个相对具体的可以实现的敏捷开发手段,这包括制定Backlog任务表,设定Sprint开发周期,以Daily Meeting的形式促使团队成员之间的沟通和问题反馈,利用Retrospective Meeting对于上一个Sprint做出总结,为下一个Sprint提供改进的建议[3]。   两种模式在HSE系统(2.0版)中的混合应用   项目特点   HSE系统(2.0版)项目作为一个升级项目,是一个在原有1.0版的基础上做功能移植   和功能提升的项目。它具备如下几个提点:(1)功能模块多,既要保持原有基础业务不变还要引入新的提升功能,导致业务功能增加不少;(2)用户要求高,在1.0版项目运维后,高级用户和基层用户对业务功能和用户体验上提出了很多建议和提升想法,这使得用户对于项目的要求越来越高;(3)项目参与人员较多,因为业务功能和开发工作量的增加,此次投入的项目人员较多,增加了整体项目管理难度;(4)开发周期长,随着业务功能的增多项目建设周期较长,每个阶段的项目人员都要持续投入很多的工作时间在项目中,承受了很大的工作压力。在这样的项目特点下如何能够既保证项目质量和风险管控,又能够调动项目人员的积极性快速推进项目工作,成为此次升级考虑的重点。   瀑布式应用   鉴于瀑布模型是从顶到下、依次进行、阶段有目标和阶段有成果的特点,HSE系统在此次升级中,主体开发模式采用了瀑布式,依然划分为需求分析、系统设计、代码开发和系统测试等几个重要阶段,并在每个阶段建立关键的里程碑,使得管理人员能够从总体上把控项目的风险,看到各阶段的工作成果,给予高级用户及时的项目进度反馈。   敏捷开发应用   这里所要陈述的敏捷开发应用,实际上是在总体为瀑布式模型的开发基础之上,进行的敏捷开发局部应用。基于上面介绍的敏捷开发的特点,我们从如下几

文档评论(0)

1亿VIP精品文档

相关文档