1RUP核心思想
(1)采用用例分析捕获用户需求。用例的主要优势在于以用户需求为中心,通过用例分析可以更加明确用户的功能性需求,从而为开发团队成员在设计、实现、测试和最终编写用户手册过程中提供业务指导,以保证最后所开发出的软件产品符合用户需求。
(2)使用基于构件的体系结构。使用基于构件的体系结构对软件的开发有一定的益处,例如:模块独立性强,这样,一旦在集成测试中发现错误时就不一定要修改整个软件,只修改有问题的模块就可以解决问题,这样可以为测试节省一定的人力与开支,最重要的是可以保证所开发软件产品的整体结构。构件具有高度的可塑性,可以对所使用的构件进行一定的扩充或修改以使该构件满足所开发系统的需要;构件还具有接口清晰、简明、可靠等特点,所以,使用构件可以降低集成阶段的困难。
(3)通过UML符号进行可视化建模。UML是被广泛采用的一种面向对象建模语言,它包括7种模型图,分别为组件图、部署图、类图、序列图、状态图、活动图和用例图。这些图又分为静态模型图和动态模型图,其中实现静态建模的有类图、组件图和部署图;类图可以将一组类、界面、协作以及这些元素之间的关联关系显示出来,通常分为抽象类和实现类;组件图,以可视化方式提供系统的物理视图,并显示系统中组件的依赖关系;部署图,表示系统物理部署与到服务器环境中的拓扑结构,主要包括节点和连线。其它4种图用来描述系统的动态行为。用例图,描述系统的功能单元,一个用例表示一个具体的业务功能,它以图形化的方式表示系统内部的用例结构、系统外部的参考者以及它们之间的交互;顺序图,强调的是时间顺序,显示某个用例详细的业务流程。顺序图是二维关系图,其垂直方向是以时间顺序显示消息传递以及方法调用顺序,水平方向显示发送和接受消息的对象实例;状态图,描述系统的动态特征,包括状态、转换、事件和活动等;活动图,描述系统在处理某活动时两个或两个以上对象间的活动流程。
2RUP开发模型
RUP中的软件生命周期在时间上分解为4个顺序阶段,分别是:初始阶段(Inception)、精化阶段(Elabora-tion)、构造阶段(Construction)和交付阶段(Transition)。每个阶段结束于一个主要的里程碑。在每个阶段的结尾执行一次评估以确定这个阶段的成果是否满足预定的目标。如果评估结果符合要求,则允许项目进入下一个阶段。
(1)初始阶段(Inception)。初始阶段主要是业务调研和设计蓝图,并在所有项目干系人间达成关于项目总体方向和生命周期目标的协议。在项目开始前必须确定关键业务,评估项目风险
(2)精化阶段(Elaboration)。精化阶段的目标是为了确定系统的体系架构。该体系架构考虑到了最关键最重要的业务需求和风险的评估。生命周期体系架构里程碑为系统的体系架构建立了一个管控基准。
(3)构造阶段(Construction)。构造阶段是一种生产过程,其目标是在进一步明确需求的基础上完成特定体系架构的系统开发。此阶段主要关注对项目资源的管控和对进程的控制,以达到优化成本、跟进进度和保证质量的目的。(4)交付阶段(Transition)。该阶段重点是确保软件经过严格测试,满足终端用户的可用性,基本消除系统中存在的Bug。交付阶段
可以经过多次迭代,包括为发布而进行的产品测试,以及根据用户反馈做出变更。在生命周期的这个阶段,用户的反馈主要用于对产品进行小功能变更、便捷性配置和安装,以及解决可靠性问题,这时候已经不能对系统进行大规模变更。
3RUP应用案例
在为某织造企业开发的生产管理系统中,我们采用了基于RUP的软件过程,过程如图3所示。织造企业生产管理系统是一个大型的信息管理系统,包含仓库管理、设备管理、生产计划、生产排程、小样管理、人事管理、台帐管理、班组管理、系统维护等多个模块。同时系统还要与工控设备接口,从中获取生产数据。系统对该织造企业的生产运营实现全面管理,能及时对系统的各类数据进行统计和分析处理,并能给管理者提供及时准确的生产数据,为管理者对生产的运行决策提供精准的依据。本案例在项目的起始阶段,主要是对业务进行调研,制定项目蓝图,分析系统规模和设定约束条件,在明确用户的业务需求基础上形成系统规格说明书,作为日后验收的文档依据;估算整个项目开发周期、总体成本和进度,评估潜在的风险,预留一定资源作为备用。根据技术架构要求,选择了微软公司的Project2000为项目管理工具,Ra-tionalRose作为分析和建模工具。系统开发工具采用VisualStudio2008,后台数据库管理系统采用Oracle10g。在项目的精细阶段,根据客户的具体需求,选择了B/S结构作为系统的总体架构,采用MVC开发框架,同时对关键性的算法,设计开发出了算法原型。同时为构造制订了详细的迭代计划。在选择构件时,我们决定重用已有构件,针对构件库中没有的构件,则进行重新开发。
在项目的构造阶段,我们的主要任务是完成新构件的开发和测试,对相关构件进行系统集成,并进行集成测试。在该阶段,项目组采用并行开发模式,将项目分解为各个小项目,各小项目开发工作同时进行,大大提高了开发效率。最后在项目的交付阶段,我们把经过严格测试的单元和集成软件制作安装盘,安装在织造公司的服务器上,开始试运行。同时对相关用户和系统维护员进行相应的培训,并在后期运行维护中给予指导。在各阶段结束时,项目组都进行了阶段性文档和技术评审。在评审过程中,我们不仅按要求邀请了项目干系人,还邀请了无利益相关的第三方专家参与评审,保证了项目评审的客观公正。由于在整个项目周期采用了RUP软件过程,大大地规范了管理和开发流程,有效地控制了项目成本。在系统运行期间,由于客户需求的变更,我们又对该系统进行了多次进化过程,最终使该软件项目成为一个合格的产品。现在,在该织造企业中系统运行稳定,用户反映良好。
4结语
在实际生产过程中,RUP提高了项目组的工作效率,在迭代的开发过程、需求管理、系统建模、架构设计、质量保证及变更管理等方面,为项目组每个成员提供了基本的工作准则、应用模板和工具指导,确保全体成员共享知识库。某织造企业生产管理系统的成功案例,表明了RUP具有强大的生命力和良好的实践性。
作者:张新荣 单位:广西壮族自治区通信产业服务有限公司 技术服务分公司