论UP(统一过程方法)的应用

标签: up 统一 方法 | 发表时间:2013-01-18 08:39 | 作者:jinhailiao
出处:http://blog.csdn.net

摘要

去年,我参与了《广东电网公司计量营销一体化系统》的开发工作,我负责项目的分析和设计工作。《计量营销一体化系统》是在原电网公司《集中抄表系统》的基础上增加电网监测、营销计费、负荷控制等扩展功能。《计量营销一体化系统》在实现上划分为三个层次:主站层、终端层、表计层。主站和终端采用以太网或GPRS进行通信,终端和表计采用现场总线进行通信。

项目开发过程中,我协助项目经理进行分析,根据公司之前开发的项目和本项目的特点,我们决定采用RUP(统一过程方法)进行项目开发。开发过程中,主要采用了分组进行需求调研和分步完成系统设计,迭代和增量式版本发布。由于在开发前对用户的阶段需求了解比较清楚,在开发过程中有条不紊地进行,并且持续得到用户的反馈。最终项目进行非常顺利,部署完成后也得到了用户的好评。

 

正文

去年,我参与了《广东电网公司计量营销一体化系统》的开发工作,我负责项目的分析和设计工作。《计量营销一体化系统》是《集中抄表系统》的升级版。《集中抄表系统》也是我司研发成功的项目,功能单一,主要实现了电力用户用电信息数据采集和处理功能。《计量营销一体化系统》除了继续支持电力用户用电信息采集及处理功能外,还增加了营销业务处理功能,专变和公变监测功能,电网运行质量监测功能,大客户负荷管理功能等等,基本上集电力行业低压用电系统功能于一身。《计量营销一体化系统》在实现上划分为三个层次:主站层、终端层、表计层。主站和终端采用以太网或GPRS进行通信,终端和表计采用现场总线进行通信。

项目初启阶段,我和项目经理及所有项目组成员经过讨论,决定采用RUP项目过程进行开发。原因是《计量营销一体化系统》是《集中抄表系统》升级版,在开发《集中抄表系统》中完成的数据采集组件和数据处理组件,有些可以直接拿过来用,有些经过简单调整可以继续使用。同时《集中抄表系统》的架构还对当前开发项目有借鉴作用。另外,我们经过初步了解,客户需要我们分阶段提供系统版本给他们演示,这刚好符合RUP过程的迭代和增量的开发特点。

RUP是Rational公司开发的一套软件过程框架。RUP本身支持可裁减性,可以应付各种领域软件和不同的项目规模。RUP是个二维的软件开发模型,在竖轴上是各个工作流,如业务建模、需求、分析和设计、实现等。在横轴上是时间维。RUP把整个软件开发生命周期分为多个循环,每个循环由四个阶段组成,每个阶段完成确定的任务,结束前有一个里程碑评估本阶段的工作。四个阶段简介如下:

初始阶段:定义系统的业务模型,确定系统的范围。完成后建立目标里程碑。

细化阶段:完成系统的体系结构设计,完成系统开发计划。建立结构里程碑。

构建阶段:构造产品,并继续演进需求、体系结构和计划,直到产品完成。

移交阶段:进行系统部署,系统测试,最终移交给用户。最后建立发布里程碑。

每个阶段都由一个或多个迭代组成。每个迭代都要针对不同的业务用例或系统用例进行细化和实现。

在《计量营销一体化系统》的开发过程中,我们按照RUP的四个阶段进行演化。初始阶段,我们将项目组人员分成三组,一组研究《集中抄表系统》的文档和系统实现,一组对广东电网公司《计量营销一体化系统》的功能规范进行分析,一组赴电网公司进行需求调研,如对主站界面、操作流程等等征求用户意见。一个月后,我们三个组在公司会议室开会讨论需求调研,统一意见后完成了《需求规格说明书》初稿。之后项目经理和我及原先赴电网公司调研的同事就《需求规格说明书》和电网公司领导交换了意见,并完成了初步的评审,得到电网公司领导的认可。作为以后项目验收的依据。

在与电网公司领导进行交流的过程中,我们注意到项目必须分三个阶段完成,分别达到不同的目标。第一阶段是完成基本功能,这一阶段对主站界面不作具体要求,主要实现基本功能,以便提交给广东省电力科学院做功能性和规约一致性测试,为下一步入网做准备。第二阶段,广东电网公司为应付南方电网公司领导视察,《计量营销一体化系统》需要在现场进行试运行,以便广东电网公司领导进行演示。本阶段在第一阶段的基础上美化主站界面及优化操作。第三阶段,项目正式移交。客户的这个需求直接促成了我们采用RUP模型进行软件开发。

细化阶段中,我主导完成了系统架构设计,并协助项目经理完成了开发计划。在系统架构设计中,我充分参考原《集中抄表系统》的体系结构,并对原系统的构件进行分类,同时采用WIKI服务器对原构件进行管理,标明构件的功能,实现方法,以及在新系统中如何进行功能扩展。通过这些方法的实行,我对原系统有了一个很清楚的了解,对原有构件也一目了然,方便我在架构设计时充分考虑使用原有构件,减少开发工期,降低开发成本。

最后我们经过讨论认为主站软件采用分层架构,主要分为表示层、业务逻辑层和数据层。表示层主要完成与用户交互的组件,业务逻辑层主要完成数据采集组件,数据处理组件,电能质量监测组件,负荷控制组件,告警处理组件等等业务相关组件。由于在本系统中,终端有多种类型,每种类型的主要功能不同,有集中抄表终端,负荷管理终端和配变监测终端等,它们之间的基础功能大体一样,但都有自己的个性功能。为此终端软件也按层进行开发,分为数据资源层,基础业务层和扩展业务层。这样不同的终端在扩展业务层根据自己要实现的功能可以进行个性化扩展。

构造阶段,主站软件采用J2EE平台进行开发,主要完成数据采集组件,数据处理组件,电能质量监测组件,负荷控制组件,告警处理组件等等。终端软件基于LINUX操作系统,为了获得更好的可维护性,采用C++语言进行开发。

移交阶段,项目分三个阶段移交给客户,每个阶段都完成了用户需要的功能。第一阶段顺利完成了广东省电力科学研究院的测试。在第二阶段中,省电网公司的演示很成功,得到了领导的好评。最终在经过约十个月的开发,项目顺利移交给省电网公司使用,目前在广州供电局稳定运行至今。

《计量营销一体化系统》是我第一次采用RUP进行开发的项目,总体上来说,效果显著,达到了预期的目标。但在使用时由于项目组成员初次接触,会有一些不习惯。如迭代和增量开发方法,一开始我将每个阶段要完成的功能表全部分发给每个成员,到检查点时我发现有部分功能没有实现,原因是有的成员完成了不是本阶段需要完成的功能。后来我在会议上突出要按阶段要求的功能点进行开发,同时我将功能点再细分,按周或月进行量化,在每周的会议上进行检查。在实行RUP时,还需要和CMMI进行结合,因为我司经过了CMMI认证。因为RUP没有明显的文档格式要求,我们按CMMI的文档要求完成了相应的文档,以便支持CMMI的定期检查。

RUP的是一个比较好的开发模型,以体系结构为中心,基于构件组装的开发方式,这种方式能有效地提升软件的质量。迭代和增量则能让用户尽早地看到项目的成果,为项目成功打下良好的基础。
作者:jinhailiao 发表于2013-1-18 8:39:31 原文链接
阅读:0 评论:0 查看评论

相关 [up 统一 方法] 推荐:

论UP(统一过程方法)的应用

- - CSDN博客推荐文章
去年,我参与了《广东电网公司计量营销一体化系统》的开发工作,我负责项目的分析和设计工作. 《计量营销一体化系统》是在原电网公司《集中抄表系统》的基础上增加电网监测、营销计费、负荷控制等扩展功能. 《计量营销一体化系统》在实现上划分为三个层次:主站层、终端层、表计层. 主站和终端采用以太网或GPRS进行通信,终端和表计采用现场总线进行通信.

社交网络上的 Riot Clean-up 运动已经展开

- TT Jobs - 爱范儿 · Beats of Bits
在这次骚乱中,英国各媒体对社交网络的看法大相径庭,卫报认为社交网络发挥了积极作用,而太阳报则认为 Twitter 促进了骚乱. 但是在 Twitter 和 Facebook 上展开的 Riot Clean-up 行动则再次证明:社交网络只是一个工具,它可以用于破坏,而且可以用于建设. 套用一句老话:我们是否应该把洗脚水和孩子一起倒掉.

飞行战警UP!澳大利亚发明家设计Hoverbike

- Kione - 理想生活实验室
想起各类科幻电影、动画片中,常能看到某些隶属于秘密部门的特种部队骑着可以飞行的摩托战车与敌人展开搏斗. 在和平年代,我们虽然不需要以肉身飞向空中战斗,但是如果能满足肉身飞行的愿望,其实还是很不错的. 作为一位退伍的直升机飞行员,32 岁的飞行爱好者与发明家 Christopher Malloy 制造出了这款能够飞行的摩托车:Hoverbike.

羅技推出 iPad 用折疊鍵盤「Fold-Up Keyboard for iPad」

- Preston U - Engadget 中文版
羅技在台灣發表隨行鍵盤保護盒的時候,我就曾經向羅技提過它最大的缺點,就是鍵盤在收起來的狀況下(iPad 2 蓋在鍵盤上),雖然保護是很周到,但是就不能操作 iPad 了. 不知道是不是羅技聽到了我的怨言(噗),今天發表的 iPad 用折疊鍵盤「Fold-Up Keyboard for iPad(暫無中文名)」可以說是用相當強悍的方式解決了這個問題 -- 看起來當你將裝有 iPad 的那一半舉起來,並向後推的同時,藏在 iPad 下的兩半折疊鍵盤會從兩側轉入,合併成一個完整的藍芽鍵盤.

Michael Kai奇特的视觉错觉摄影:This Side Up

- Ahlon - 独角兽资讯
澳洲设计师Michael Kai独具匠心地用摄影作品来展示传统中主要以绘画来表现的视觉错觉效果. 这组名为“This Side Up”的视觉错觉摄影照片,看得人眼花缭乱,甚至心惊肉跳. 真实的游泳池有这样的效果就太养眼了,但是只在美女游泳时出现. 链接:http://www.unicornblog.cn/user1/unicornblog/28633.html.

8个纯CSS编写的手机设备Mock Up模型

- - 设计达人
很多设计师在交付设计稿给客户预览时,都喜欢把自己的作品放在一些手机模型或电脑模型上演示,这样可以让客户看到最终的效果输出,所以MOCK UP我们应该收藏一些,在今天的文章中,我们分享8个纯CSS编写的手机设备Mock Up模型,手机品牌有很多哦,如:iPhone5S/5C、诺基亚的Lumia 920、HTC、三星等等,下面一起看看介绍.

手感 Up!延长 3DS 续航力的「Deluxe Power Grip」USB 电池手把

- 阿三 - Engadget 中国版
虽然 Nyko 的 Power Pak+ 已经可以有效的让 Nintendo 3DS 幸免于没多久就闪红灯的窘境,但相信很多爱惜机器的朋友,应该都不会想让自己的爱机被拆解吧. 别担心,这款由 CTA Digital 为 3DS 所打造的 Deluxe Power Grip 电池手把,应该可以有效的解决此问题.

跨海直擊 Opera 大會 Up North Web:更棒的行動網路體驗

- 饭团 - T客邦
Opera 在挪威奧斯陸 Holmenkollen 所舉行的 Up North Web 2011 全球記者會,談到網路標準、連網電視、即將推出包含硬體加速功能的 Opera 12,以及 Android 用戶搶先玩、可看到 Opera Turbo 實際壓縮數據的 Opera Mobile 11.5 和 Opera Mini 6.5.

Wind-up Knight 發條騎士之硬派可愛風3D Android動作遊戲

- Eastar Lee - 電腦玩物
「Wind-up Knight(發條騎士)」是在Android上最新發佈的一款3D橫向捲軸動作遊戲,依據設計團隊的說法應該也會發佈iOS版. 這款遊戲擁有手機上少見的卡通3D畫面,以及很棒的配樂,並且Android上以免費遊戲的形態推出. 這款遊戲的玩法很好上手,但是要達到最高成就、通過特殊難度關卡則非常考驗技術.

【外刊IT评论网】关于实施有效站会(Stand-Up Meeting)的三个技巧

- - 外刊IT评论网
通常的站会(tand-Up meetings)的形式总是让我感觉有点怪怪的. 它有时会造成一些并不期望的效果. 这篇文章里,我将向大家介绍一些在我们blossom公司里经过修改后的站会措施. 站会在很多软件开发团队里是一种很流行的开始一天工作的例会. 通常这种会议会持续15分钟左右,期间人们都保持站立(惊奇.