首页 > 范文大全 > 正文

电力企业软件资产阶梯管理的研究与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇电力企业软件资产阶梯管理的研究与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【 摘 要 】 在电网领域内电力系统软件资产从产生到工程使用及后期维护,经历了不同的循环过程,实现在每个过程中的管理并达到软构件复用的效果,提出了一种软件资产阶梯管理的实现方法,在不同的软件阶段,部署不同的管理系统。在代码开发阶段部署部门级SVN版本控制系统;项目立项、代码测试阶段部署公司级PLM产品生命周期管理系统;形成构件软件后部署OCP开放式构件管理库系统。通过此法将三个软件管理系统有机结合起来,将其各自优势特点发挥到最大,达到了方便开发人员重复变更代码、测试人员进行代码测试、工程人员进行工程部署及二次开发的目的。实现了电力企业软件综合、梯度管理以及在软件的生命周期各个环节内的复用。

【 关键词 】 软件资产;梯度管理;构件技术;资产复用

The Research and Implementation of Power Enterprise Software Asset Stepped Management

Kang Zhen-quan Ma Li-li Luo Kai-ming Wang Jian-zhang Yu Hai-rong Yu Yang

(Xuchang XJ Software Technology Co., Ltd, Beijing 100085)

【 Abstract 】 In the field of grid, software assets from production to the latter use and maintenance have experienced different cycles, in order to manage software assets and realize the reuse of software assets, proposed a implementation of a software asset stepped management. In different stages of software, deployment of different management systems. In code development stage, we deploy SVN system of department level. In code test stage, we deploy PLM system of company level. After the formation of component system, we deploy OCP system of distributed component management library. Through the three software management system organically, to their respective advantages and characteristics of play to the maximum, after doing these, we bring more convenience to developers、testers and engineers. The method realizes the integrated gradient of power enterprise management software and the reuse of software in the lifecycle.

【 Keywords 】 software asset; stepped management; component technology; reuse of assets

1 引言

在电力系统领域内,随着电力公司业务的不断扩大,软件资产数量及项目工程不断的增多,每一个软件项目都必须经历需求分析、系统设计、编码实现、集成测试、部署、维护和支持等过程,对软件的管理贯穿软件的生命周期。随着软件复用的概念在不断完善,面向对象技术和软件复用技术的发展,软件构件技术应运而生,如何实现软件生命周期内的资产复用以及对当前庞大的电力领域内的软件进行构件标准化,以达到构件复用效果,对当前的电力企业软件资产管理方法提出了新的功能需求。

2 现状分析

现今,在电力系统软件的设计、开发及后期维护过程中存在几个问题。

一是在软件开发的过程中将生成各种各样的文档、源程序、可执行代码、支持库,这些工作产品的特点是可重用性以及在开发过程中会出现频繁的变更。如何在开发过程中使其高效的存放和便于开发人员合作开发以及提高其复用性就成为了一个亟待解决的问题。

二是电力系统初级版本软件存在不稳定、缺乏全面的技术支持,以及集中于单用户等问题,如何对现有系统进行完善,并及时通知用户更新信息;以及利用现有资源来提高生产力和性能,支持新的业务机遇,是当前面临的问题之一。

三是对于反复完善的软件版本,在用到电力工程部署中是会出现版本不统一、不兼容问题,如何能够做到版本兼容统一,要求提供统一的运行版本控制对项目进行支持。

四是现有的信息平台系统规模越来越大、内部组织越来越复杂,严重制约了业务应用分解开发与实施。如业务变更需加载新模块支持业务,如何利用已有的构件资源实现快速查找、分组与重新组装,提高软件重用性,成为电力软件公司的加快产业信息化的关键问题。

3 软件资产管理实现方法

针对以上电网领域内存在的软件问题,要提高软件的生产率及质量,实现构件的复用,必须要在基于构件的软件开发技术上在软件生命周期内的各环节中对软构件产品进行管理与控制。

3.1 SVN系统

SVN全称Subversion,主要针对部门开发人员使用,功能是方便开发人员对代码、文档等的重复修改,是目前开发工程中使用较多的开源的版本控制工具。

SVN对版本的控制,是在一台服务器上建立SVN版本库,库中存放许多不同的项目资源,由配置管理员根据项目的配置管理计划,为项目组成人员分配相应的访问权限。SVN通过URL来表示版本库中的资源。SVN为协同开发,即接受多个用户提交的不同版本的源码,提供两种解决方案,一种我们称之为:锁定-修改-解锁方案,另一种为:拷贝-修改-合并方案。在锁定-修改-解锁方案中版本控制工具在同一时间只允许一个程序员锁定并修改同一文件,只有当这个程序员提交他的版本后才能解锁其他程序员才可以修改该文件,这个方案操作简便但产生了工作的排队,等待问题。而在拷贝-修改-合并方案中,允许同一时间有多个程序员修改同一文件,由最后提交的程序员决定如何解决和先提交版本之间的冲突,这样很好的解决了锁定-修改-解锁方案带来的工作排队等待的问题。

SVN的特点是针对代码编写人员提供便利。SVN能很好的解决项目开发人员的频繁修改代码,版本混乱等问题。实现多重版本在共同开发中的管理。SVN工作原理图如图1所示。

3.2 PLM系统

PLM (Product Lifecycle Management)是产品生命周期管理,对产品从概念设计、详细设计、生产、投运、维护和后期服务直到产品退出市场并消亡的完整生命周期的管理。是对PDM的扩充,纵向涵盖需求到后期服务,横向涵盖合作伙伴、客户等。

PLM管理人员通过项目管理系统(TC Project)制订计划,各项具体任务通过接口传递到数据管理系统(TC Enterprise),具体的任务承担人员在数据管理系统中接受任务,当一个项目进行到测试阶段,或可提交给工程阶段时,开发人员将已自测过的程序按照PLM系统要求进行提交,并提交相应的文档、测试代码、版本信息等工作产品,由公司特定中试人员对代码进行测试,测试过程中若出现问题则将代码返回开发人员进行修改,修改后代码重新进入PLM系统重新进行测试,直至最后测试通过,项目管理系统中的任务将自动更新任务已完成,标示当前构件版本信息,并通知相关人员。PLM测试阶段工作流程图如图2所示。

PLM系统在公司内部主要针对中试部门和科研管理者使用。PLM不仅包含软件系统,还包括硬件类,针对软硬件及文档类进行了详细的结构定义。

3.3 OCP系统

基于构件的软件开发是一条有效的、实际的软件复用的实现途径,且基于构件开发的基础是有一个合理而高效的可复用构件管理系统,OCP开放构件管理平台(Open Component Platform)的提出即将其定义为面向电网领域可复用软构件库管理系统。主要业务是管理、查询及电力领域内的构件。OCP系统基于Web技术能够快速的查找、组装构件系统,并且当技术和用户需求发生变化时可以进行反馈及修改。此方法更加易于构件、构件查询和进行构件的复用组装。如图3所示为OCP系统功能结构图。

3.3.1 构件概念

OCP构件库中不仅存储构件,还存储构件应用系统。构件和构件应用系统概念:构件是用于复用的各个软件生命阶段的工作产品,包括需求构件、分析构件、源代码等 。构件应用系统是具有某种关联的构件和子构件系统的集合,如可以把密切关联、经常一同复用以实现某个常用功能的构件组织成为一个构件应用系统,它是构件库存储的又一基本单位。构件应用系统自身称为父构件系统,作为其构成元素的构件或构件应用系统称为子构件或子构件系统。

3.3.2 OCP用户管理

对构件库管理流程进行分析,明确用户对构件管理库操作权限的要求,设计OCP系统用户的角色权限。OCP系统用户示意图如图4所示。软件资产管理者负责对OCP系统用户进行权限管理,赋予不同领域内负责人及相关人员的使用权限,并进行构件的分类及相应的版本管理;基础技术开发者提供基础构件入库,并对其进行构建属性描述及维护,基础技术开发者是构件库核心内容提供者;应用产品开发者和第三方开发者可基于构件库进行构件查找、信息查看、组装构件并可反馈构件使用信息给构件提供者,进行基于构件的软件二次开发。

3.3.3构件描述

构件的分类和储存是构件检索的关键,传统的方法难以精确查找构件资源,本文引入本体的概念对构件进行描述和检索。OCP系统使用OWL本体语言进行构件描述。OWL总结了RDF、XML等语言基础上提出的,它继承了这些语言的开发经验,添加了更多新的逻辑关系、属性约束,使其具有更丰富的语义和逻辑表达能力。

构件描述的刻面主要涉及类有:构件基本信息、构件环境信息、构件分类信息、构件功能信息等。下面以描述构件基本信息为例,说明如何用OWL语言来对构件进行描述。

构件基本信息(CBlnfo)类的定义:

<owl:Class rdf:aboul=" CBlnfo">

<rdfs:subClassOf rdf:resource="#Component"/>

</owl: Class〉

构件基本信息的子类构件标识(CBlnfoId)及构件作者(CBlnfoAuthor) 的定义:

<owl:Class rdf:about=" CBlnfoId “〉

<rdfs:subClassOf rdf:resource="# CBlnfo "/〉

</owl: Class〉

<owl:Class rdf:about="CBInfoAuthor “〉

<rdfs:subClassOf rdf:resource="#CBInfo "/>

</owl:Class>

3.3.4构件检索方法

本体中的概念为语义的基本单位,每个概念通过概念之间的属性和关系来表达,语义相似度用以衡量语义的相似程度,语义相似度满足一定域值的称为相关概念。在检索时,相似度反映与用户查询在语义上的匹配程度,语义相似度越高,说明本体库中的数据与用户查询请求越接近,当相似度高于某个阀值时,说明本体库中的数据符合用户查询请求,当相似度低于某个阀值时,说明本体库中的数据与用户查询无关联,不能作为结果集返回给用户。两个概念之间的相似度定义为:

Sim(x,y)=δi (x,y) θi (1)

其中,x和y表示本体中的两个概念,n表示X和y在本体中所具有的最大深度,θ表示权重,我们可以暂时简单的取θi=1/n,δi (x,y)的取值定义为:

δi (x,y)=1,当x,y前i个父类相同时

0,当x,y前i个父类相同时 (2)

由此可知,Sim (x, y)返回[0,1]间的数来表示两个概念间的语义相似度。

同样,我们也可以表示两个集合间的语义相似度,设两个集合分别为X和Y,X={x1,x2,...,xn} ,Y={y1,y2,...,yn},则两个集合间的语义相似度为:

SimSet(X,Y)= Sim(xi , yj) (3)

在查询扩展时,通过将用户的查询请求与本体进行语义匹配,来扩展用户的查询条件,给出用户请求的隐性信息。

4 结束语

随着电网领域软件产业的不断发展,企业积累了大量的软件资产,通过SVN、PLM及OCP相结合的方法实现软件在生命周期内的管理及复用,包括开发人员对代码的重复利用及修改,中试人员对代码的测试及后期工程人员对项目的部署及二次完善开发,提高了软件开发的质量以及在各个环节的复用率。优化公司系统软件产品开发过程和软件资产构件化管理。节省人力并为公司带来了不可估量的经济效益。形成软件开发周期内的生态循环,实现面向电网领域复用的软构件系统开发,如图6所示。

参考文献

[1] 戴楠,闫明星.用SVN实现软件的版本控制[J].电脑知识与技术.2009.

[2] 钟林辉,谢冰. 构件化软件演化信息建模和获取方法研究[J].计算机应用研究,2014,02:401-403.

[3] 夏榆滨等.软件构件技术.北京:清华大学出版社,2011.1.

[4] Alan W.Brown. Large-Scale,Component-Based Development[M]. 2003.

[5] Buhr,R.J.A. Casselman,R.S. Use case maps for objected-ori-ented systems[M]. Prentice Hall, 1996.

[6] 郭婷.面向构件的系统建模技术研究[D].浙江师范大学,2014.

[7] 上海构件库.构件、构件库及相关介绍.http://.cn,2012.

[8] M W Kurzynski,J Sas.Rule-Based Classification Procedures Related to the Unprecisely Formulated ExpetRules[C].In:Proceedings SIB-GRAPI,98 International Symposium,1998-10:241~245.

[9] R. Studer eds. Knowledge engineering: principles and methods [J]. Data and Kowledge Engineering, 1998, 25(12): 161-197.

[10] 于娟,马金平.基于 Web 本体语言 OWL 的知识表示[J].计算机工程与设计,2006,22( 27) : 4356 -4357.

[11] 刘力.构件的本体化描述及智能化检索的研究[D].东华大学,2014.

[12] 任洪敏,王渊峰,钱乐秋.构件库中构件系统的模型和实现[J].小型微型计算机系统,2002,09:1114-1117.

[13] 郭佳.可复用软件资产管理的研究与实现[D].东华大学,2009.

[14] 安璐.基于刻面描述的构件分类检索研究[D].中国石油大学,2009.

[15] 曲朝阳,孙鹏飞.基于本体语言OWL的电网领域知识表示方法[J].东北电力大学学报,2012,04:30-34.

[16] 赖佳栋.电网企业资产管理模型及应用研究[D].重庆大学,2012.

[17] Michael K Smith, Chris Welty, Deborah L McGuinness. OWL web ontology language guide [EB/OL]. 2004. http:///TR/2004/REC-owl-guide-20040210/.

[18] Suresh Chan Reusable Software Component Retrieval System d Gupta, Prof.Ashok Kumar. International Journal of Application or Innovation in Engineering& Management. Volume 2,Issue 1,January 2013.

作者简介:

康振全(1976-),男,河北三河人,华北电力大学,本科,工学学士,系统架构师;工作业绩:曾负责许继集团WGL系列故障录波的研发工作,现负责许继集团通讯平台的研发及技术支撑;主要研究方向和关注领域:电力系统通讯、大数据集群通讯。

马莉莉(1985-),女,河北保定人,东北农业大学,硕士研究生,工学硕士,系统构架师;工作业绩:负责OCP系统的开发;主要研究方向和关注领域:电力通讯、系统构架、大数据。

罗开明(1976-),男,高级工程师;工作业绩:负责OCP系统的开发;主要研究方向和关注领域:电力系统、调度自动化。

王建章(1984-),男,山东烟台人,北京理工大学,本科,工学学士,系统构架师;工作业绩:负责OCP系统的开发;主要研究方向和关注领域:电力通讯、系统构架、大数据。

余海溶(1988-),女,江苏南通人,北京林业大学,本科,工学学士,系统构架师;工作业绩:负责OCP系统的开发;主要研究方向和关注领域:电力通讯、系统构架、大数据。

于洋(1986-),女,河北保定人,河北工业大学,硕士研究生,现供职于许昌许继软件技术有限公司前瞻研究部;工作业绩:2011年6月-2012年4月,参与并完成海上风电机组的前期初步设计与概念设计;2012年5月-2012年5月,参与并完成分布式风电机组电气解决方案编制;2014年至今,负责并网型微电网能量管理系统的集成测试,为多个项目提供技术支持;主要研究方向和关注领域:微电网能量管理系统的集成和测试,包括SCADA系统、能量管理系统和微网统计等信息。