在线工博会

RUP项目管理流程在CRM系统开发中的应用
在炼化企业科研单位中,软件自主开发模式有些仍属于是“作坊式”运作方式,没有严格按照从软件产品需求分析、功能定义、产品架构、软件编程实现、产品测试、软件版本控制等专业化分工的角度对软件产品进行开发设计。软件开发流程不规范,开发过程不可控,开发文档不规范,软件产品的复用性不强,开发出的软件产品质量不高。然而用户对软件的要求越来越高,要求软件是交互性的、国际化的、用户友好的、高处理效率和高可靠性的,这就要提供高软件质量并最大可能地实现软件重用,以较低的成本和较高的效率完成工作。本文结合某石化公司销售客户关系管理信息系统(CRM)开发过程为例,采用国际上使用较为广泛的软件过程——Rational Unified Process(RUP,统一开发过程),一套面向对象的软件工程过程,阐述RUP管理流程在CRM项目整个研发、实施过程的应用。
1 采用新管理流程原因
传统的项目管理办法有其优点,但却也有不可克服的缺点,很可能导致了软件开发项目失败,其失败的共同症状表现为:对于最终用户的需求理解得不够精确;不能处理需求变更;模块之间不兼容;软件不易维护和扩展;对项目的严重缺陷发现较晚;软件质量低劣;软件性能无法令人接受;团队中人员按各自的开发方式工作,这使得对谁在何时何处做什么不完全清楚,系统更改与重构难以进行;一个不可靠的构造和发布过程。失败的原因也不尽相同,大致有以下几个因素组合造成的:需求管理非规范;模糊和不精确的交流;脆弱的架构;系统过度复杂;未检测出需求、设计和实现中的不一致;测试不足;对项目状况的评估过于主观;未解决存在的风险;无法控制变化的传播;自动化程度不足。
为了避免和克服传统项目管理办法所带来的致命弱点,该销售客户关系管理信息系统将尝试采用新的项目管理流程——统一软件开发过程(RUP),以确保能够圆满地完成本次开发任务。
2 RUP应用过程分析
2.1 规范管理CRM开发流程
CRM的开发生命周期划分为多个循环,每个循环生成产品的一个新版本,每个循环由4个连续阶段(初始阶段、细化阶段、构造阶段、交付阶段)组成。同时,通过对RUP进行裁剪,对RUP的9个核心工作流中不需要的部分进行取舍,得出在CRM开发流程中5个关键的核心工作流,即需求捕获工作流、分析工作流、设计工作流、实现工作流和测试工作流。
2.1.1 初始阶段
在进行需求分析时,项目组对软件需求和系统需求均作了调查研究,包括软件需求定义、软件需求层次、系统功能需求、基本数据维护、基本业务、数据库、信息查询等需求的调查,并根据用户的需求进行了必要的可行性分析。根据业务具体实际,形成了系统大致框架和工作流程图。
2.1.2 细化阶段
该阶段是CRM项目最关键的阶段,该阶段的目标:迅速定出实用的架构;规划完成项目的活动,估算完成项目所需资源;细化初始阶段模型;为构造阶段定出高精确度的计划。其主要工作内容为:细化构想,建立对大多数关键用例的确定理解;分析问题域,建立坚实的架构;细化架构并选择组件;捕获80%的功能需求用例;精化风险评估;建立可执行的软件原型;定义非功能需求;制定过程迭代计划和迭代的评价标准。
项目组进行了模块划分,组员对其各自分得的模块进行详细分析和系统设计,得出相应的功能界面设计图、时序图、结构流程图、数据流程图和功能描述IPO图等。
2.1.3 构造阶段
CRM项目开发过程中,细化阶段已经完成了大部分工作,那么构造阶段就是要实现管理层和用户达成共识的产品的所有用例;一个移交阶段的高精度计划;关键特性和核心功能得到实现;产品发布的验收标准;初步的用户手册;产品质量的详细分析。主要活动为:资源管理、资源控制和过程优化;完成组件开发并根据已定义的评价准则进行测试;利用构想制定的准则对发布的产品进行评估。
这个阶段也是迭代的过程,而且重点是实现工作流的迭代,程序在开发过程中不断地经历分析、设计、测试过程,以完成最终设计目标。
2.1.4 交付阶段
CRM项目进行到这一阶段,可以说已经完成了一大半工作,该阶段的目标是系统试运行并改正是运行过程中发现的缺陷;培训用户;提供在线支持。其主要工作内容为将软件系统部署到用户环境;修复软件的缺陷;编制用户手册和其他文档;培训用户和维护人员;提供用户咨询。
具体实施过程中,项目组组织了三次演示汇报,并对关键用户进行了培训。在每一次演示过程中,用户根据自己的期望值对系统提出新的或者更加全面的需求,项目组成员就在用户使用软件的过程中不断完善系统功能,修复软件缺陷。这也便是测试、配置工作流迭代的过程,经过级次的跟踪、用户意见反馈,系统功能逐步完善,最终达到用户满意的程度。
2.2 规范管理开发文档
CRM的整个开发过程要完成软件开发文档规范流程和程序文档规范流程。
1)软件开发文档规范流程包括:软件功能说明书、软件需求规约、软件概要设计、数据库设计、软件详细设计、软件参考手册、软件操作手册、软件技术总结报告;
2)程序文档规范流程包括:评审意见表、评审意见回复表、软件测试报告、软件测试任务书、软件产品清单、软件开发计划书、软件开发任务书、软件设计输出文件、软件设计输入文件、设计更改审批表、设计评审审批表、设计验收申请表、项目组成员登记表。
CRM的整个开发过程要完成软件开发文档规范流程和程序文档规范流程,在每一个阶段结束时都会产生一个里程碑,也就是各阶段所要完成的文档。同时,每个阶段形成的文档为后面各阶段的工作提供了重要的依据。下面便是在各阶段需要交付的文档:
1)初始阶段文档:《某石化公司客户关系管理(CRM)信息系统项目建议书》、《某石化公司客户关系管理信息系统任务书》、《某石化公司客户关系管理信息系统需求分析报告》、《CRM—项目组成员登记表》、(CRM—评审意见表》。
2)细化阶段文档:(CRM—项目进度计划书》、(CRM—概要设计说明书》、《CRM—数据库设计说明书》、(CRM—软件设计输入文件》、(CRM—软件设计输出文件》。
3)构造阶段文档:《CRM—软件详细设计》、《CRM—软件参考手册》。
4)交付阶段文档:(CRM—测试大纲》、(CRM—测试报告》、《CRM—操作手册》、(CRM—技术总结报告》、《CRM—产品清单》、《CRM—程序文件清单》。
3 RUP的裁剪
RUP是国际上大型软件开发商在软件开发中广为采用的软件工程过程及文档化的软件工程产品,具有通用的过程模板,包含了很多开发指南、制品,开发过程所涉及到的角色说明,由于它非常庞大,应用该体系需要结合企业的实际情况(项目规模、开发资源等)进行适当的修改,使用RUP时还要做裁剪,也就是要对RUP进行配置。
本项目以RUP的软件工程框架为主,解决现存软件开发管理过程中的问题,省略RUP复杂概念部分,着眼点放在控制软件产品开发流程上,同时考虑人员配置与软件分工现行状况的限制,并对RUP进行了适当的裁剪,进一步抽象出符合炼化企业自主研发单位软件开发的管理流程。可以分为以下几步:
1)确定该单位需要哪些工作流,对RUP的9个核心工作流中不需要的部分进行取舍;
2)确定每个工作流需要哪些制品;
3)确定每个阶段之间如何演进,确定阶段间演进要以风险控制为原则,决定每个阶段要那些工作流,每个工作流执行到什么程度,制品有那些,每个制品完成到什么程度;
4)确定每个阶段内的迭代计划,规划RUP的每个阶段中每次迭代开发的内容;
5)规划工作流内部结构,工作流涉及角色、活动及制品,其复杂程度与项目规模即角色多少有关,最后规划工作流的内部结构。
4 应用效果
CRM系统开发过程充分借鉴RUP规范流程的基础上,结合各类资源的实际分配情况,将工作重心放在了需求分析和详细设计上,而对于程序的开发、代码的编写却用时较短,每一个阶段都是由一个或多个连续的迭代组成,这样不仅减少因需求不清或设计逻辑不严密而导致反工的机会,还提高了软件质量和用户满意度,保证了系统实用性。其特点主要包括以下几方面的内容:
1)实现软件项目管理模式的革命,取代传统的软件项目管理模式,加强团队建设;
2)实现软件开发流程规范化管理,以用例(UseCase)为驱动、以架构为中心(架构优先)、以质量控制和风险管理为目标、与UML配套完成软件项目开发过程;
3)实现文档规范化管理,改变项目成员自建文件目录,文档、源码文件书写不规范,文档资料不全等状况。
通过标准化、规范化的建设和落实,创建良好的软件开发流程。在软件开发部门内部不断改进软件开发过程质量、项目管理质量,改进质量措施。针对软件开发项目进行良好的分析设计规划,设计并编写出质量优良的系统程序,确保数据(信息)及其管理的质量,确保软件开发每个过程可控,减少软件开发成本,降低软件开发风险,为企业、为客户提供满意的软件产品和服务。
本流程规范的应用已纳入某石化公司软件开发的发展规划目标之中。本项目成果首先在CRM(客户关系管理)项目中试用,根据试用情况,迭代修改、完善RUP流程,并对软件开发人员进行UML、用例等相关技术培训。在取得成功经验后,严格按照软件产品需求分析、功能定义、产品架构、软件编程实现、产品测试、软件版本控制等专业化分工需求组建了专业团队,推广应用该RUP管理流程。应用结果表明,该开发流程规范,开发过程可控,开发文档规范,软件产品的复用性强,开发出的软件产品水平高,受到了用户的认可。 10/21/2011


电脑版 客户端 关于我们
佳工机电网 - 机电行业首选网站