
论 UP(统一过程方法)的应用
摘要:
2011 年 3 月,我参加了某市供电公司《电力营销管理信息系统》的开发工作,并担任系统
架构师一职,主要负责系统分析和架构设计。该系统包括业扩管理、计量管理、电量电费核
算管理、收费与账户管理、线损管理等五个模块。系统采用了 Struts+Spring+Hibernate 的
主流 Web 应用框架,降低了开发的难度和成本,降低了组件的耦合度,增强了软件的可维护、
可扩展性。 项目的成功很大程度的归功于项目开发采用了 RUP 模型,对整个的开发过程进
行规范和改进。本文以该项目为例,结合作者的实践,讨论了 UP(统一过程方法)在软件
开发中的应用。从初始阶段建立业务模型并确定项目边界,细化阶段分析领域、选择构件,
构建阶段把构件组合成产品,最后把软件移交给用户四个阶段说明了 UP 的具体应用。重点
介绍了分析领域、选择构件。
正文:
2011 年 3 月,我参加了某市供电公司《电力营销管理信息系统》的开发工作,并担任系统
架构师一职,主要负责系统分析和架构设计。该供电公司年供电量在 10 亿度以上,计量点 915
个,大客户 209 个。以前的业务流程是电话报装、手工派单、自主开发的 VFP 系统算费、财
务系统收费开票等。随着供电量业务的扩展,原业务流程暴露出各环节分散,无法进行统一
的管理,客户的满意度低。为了解决上述问题,该供电公司决定建设一套电力营销系统。以
系统的建设促进用电管理水平的提高,以电力信息化推动电力企业现代化。杜绝重复投资,
整体规划,实现用电管理信息的高速交互和决策,提升客户的满意度,降低管理成本。 系
统采用了 Struts+Spring+Hibernate 的主流 Web 应用框架,开发工具采用 MyEclipse10.0,
硬件配置:两台 IBM X3650 安装 Oracle10g 做数据库服务器,在两台服务器上搭建了高级复
制功能,保证数据库中数据同步。两台 IBM X3650 以双机热备的方式做营销应用服务器,两
台服务器上运行着集群软件,通过“心跳”来检测对方的状态,发现故障能自动切换。一台
IBM X3650 做算费服务器。 RUP 统一软件开发过程是一个面向对象且基于网络的软件开发方
法论。可以应付种类广泛的软件系统,不同的应用领域,不同的组织类型,不同的性能水平
和不同的项目规模。UP 是基于构件的,与其他软件过程相比有三个显著的特点:用例驱动、
基本架构为中心、迭代和增量。正是由于 UP 具备上述特点,使采用 UP 模型的开发过程能提
高团队成产力,简洁清晰的过程结构,为开发过程提供了较大的通用性。 根据 RUP 模型,
我们把整个的开发过程分为:初始阶段、细化阶段、构建阶段和交付阶段。每个阶段结束的
时候都要安排一次技术评审,如果评审结果令人满意就可进入下一阶段。 1. 初始阶段 初
始阶段的任务是建立业务模型、确定系统边界。首先,我们采用用户访谈、用户调查和联合
讨论会的方式捕获用户需求,详细了解用户对系统的预期目标,捕获在系统招标书中没有明
确的性能指标。其次,我们专门召开了一次联合讨论会,会上参与的各方代表经过讨论,就
需求的优先等级达成一致意见。最后,对需求进行分析,确定了项目的目标、特性和用例模
型,完成了《需求规格说明书》的初稿,并通过了用户的评审。 2. 细化阶段 细化阶段的
任务是分析问题领域、建立体系结构、选择构件。通过对问题领域的分析,我们把系统划分
为 5 个主要模块:业扩管理、计量管理、电费电量核算管理、收费与账户管理和线损管理。
确立了软件的整体架构,部件之间的交互接口,构件的设计与选择。 基于构件的开发可以
减少开发中重复的工作,降低开发成本,缩短开发周期,提高软件的质量和灵活性。获取构
件有多种途径,第一种是在现有构件库中直接提取符合要求的构件,或对已有构件做适当的