软件复用技术在电力企业信息系统开发中的应用

2013-11-12 04:54左晓军刘鹤灵
河北电力技术 2013年1期
关键词:复用技术控件代码

左晓军,刘鹤灵

(河北省电力公司电力科学研究院,石家庄 050021)

20世纪60年代的“软件危机”使软件开发管理者意识到利用传统方式开发的软件,其规模持续扩展时总体维护的成本很高,即使投入昂贵的成本也很难生产出合格的产品,解决这种问题的重要方法之一就是使用软件复用技术。

1 软件复用技术概述

软件复用是将已经存在的软件和软件的构成要素分别用于软件或者系统的再次构造中。软件复用是对软件程序和软件生产过程中相关劳动成果的复用,其本质是为了在软件开发中避免重复编写已经完成的代码,提高工作效率。软件复用可以体现在系统开发的任何环节,如,需求复用、设计复用、代码复用、测试复用等。

软件复用的基础和关键因素是软件构件(component)技术。软件构件技术的基本思想是创建可复用的构件并将其组合,生成新的软件系统。通过使用软件构件技术可以达到复用和简化开发过程等目的。构件也称为组件,是一个功能相对独立的、具有可复用价值的软件单元,通常封装其实现细节,仅向外部提供接口,是可复用的用以构造其它软件的软件单元。通过组装已有的构件来开发新的应用系统,从而达到软件复用的目的。

在基于构件的软件开发中,获取可复用的构件是有效使用复用技术的前提[1],一般通过从现有构件中获得符合要求的构件,直接使用或者适应性修改得到可复用的构件,或者从市场购买现成的商业构件,或者开发新的符合要求的构件。软件开发管理者需要根据具体情况选择适合自身开发特点的方式。以下所介绍的系统在开发过程中,现有类库未能找到符合应用需求的构件,市面购置的构件受软件版权、后期维护等因素限制也无法与系统其他功能相匹配,经过多次对比,最终选择了自行开发新构件的方式。

2 软件复用技术的应用

某电力企业管理信息系统使用.NET C#这种成熟的支持面向对象技术的开发工具,在系统的开发过程中,运用面向对象的继承、封装等特性,使用软件复用技术开发适合应用需求的构件,通过构件技术实现代码复用,提高了系统开发质量和效率。

2.1 页面复用

为便于创建风格统一的用户界面,.NET开发平台提供了母版页功能,该功能非常方便开发者使用软件复用技术进行页面复用的开发。母版页包含Web应用程序中各页面的导航信息、界面布局、侧边栏、背景色等公共部分,扩展名为.master。内容页包含除母版页之外的其他非公共部分(如,需要显示的数据内容),文件扩展名为.aspx。在运行过程中,.NET引擎将2种页面内容合并执行,最后将结果发给客户机端浏览器,展现给用户一个完整的页面[2]。当用户需要改变界面风格时,只需要修改母版页中的图片、颜色等信息,所有继承和复用母版页的内容页的界面会自动改变。

根据.NET母版页这种特性,在系统开发时将查询界面的页面颜色、导航信息、侧边栏等基本信息划分至母版页。母版页主要用于控制页面风格和布局,内容页仅负责数据加工和显示。实际操作时,首先创建母版页demo.master文件,然后,在创建所有内容页时,均选择“使用母版页的Web窗体”,即可实现母版页公共元素的复用。这种复用技术的应用不仅提高了页面复用率,还从整体上提高了系统的稳定性与灵活性,实现了整个系统界面展现风格统一和权限的完整控制,如图1所示。

图1 统一的用户界面

利用.NET母版页特性应用页面复用后,内容页只负责用户数据的加工和显示,代码维护量大大减少。

2.2 查询构件复用

信息查询是系统运行时最为常用的一个功能,查询功能设计的好坏直接影响系统的可用性和实用性。常规查询功能的设计方法是按照指定的某一关键字或某几个关键字编写与之相匹配的查询代码,但由于系统中各模块的功能存在差异,经常需要对查询代码进行修改来适应变化,因此,通过这种方式开发的查询功能缺乏灵活性,可复用性较差。

为进一步提高系统开发效率,充分利用软件复用技术,统一构造整个系统的查询功能,系统在设计之初首先根据系统需求,将所需要的查询功能进行汇总和分类,将共性的需求进行提炼,设计了统一的查询功能。利用软件复用技术开发了通用查询控件和跳转控件,经过严格测试后存放在用户自定义控件区内(见图2),每个查询页面均使用这2个自定义控件,不需要随着模块功能的变化进行改造。

以下以查询控件的高级查询功能为例进行简要介绍,如图3所示。

图2 用户自定义通用控件的存储位置

图3 构件的高级查询界面

高级查询的数据库“字段”是控件根据自身所处模块功能,自动从数据库中提取到交互界面,“匹配条件”均通过下拉列表的形式进行选择,用户可以任意选择“匹配条件”和“合并条件”逐个添加到条件列表中进行组合查询,在“查询内容”处输入已知的任意属性信息,如果需要结果排序,还可以在排序页选择排序关键字段。查询控件则根据用户最终设置的查询信息触发控件客户端和服务器端代码进行数据处理和查询,将查询结果传递给页面进行数据显示,这种控件设计大大方便了用户使用,提高了查询性能。

3 结束语

在信息系统开发过程中引入软件复用技术,能够有效提高开发速度和代码复用率,避免开发过程中的重复劳动,对整个系统软件的稳定性、通用性和灵活性有很好的促进作用,同时也为用户提供了统一的操作风格。使用该技术开发的电力企业信息管理系统投运后,整体运行情况稳定,应用效果良好,有效地推动了电力企业信息化工作。将软件复用技术应用于信息系统开发不仅需要注意影响复用技术应用的技术类因素,还应该注意管理制度、法律等非技术类因素对技术实施的影响。

参考文献:

[1] 张友生.系统分析师教程[M].北京:清华大学出版社,2010.

[2] 郝 刚,袁永刚,严志国.ASP.NET 2.0开发指南[M]. 北京:人民邮电出版社,2006.

猜你喜欢
复用技术控件代码
电动汽车电机驱动系统零转矩充电复用技术简介
创世代码
创世代码
创世代码
创世代码
关于.net控件数组的探讨
软件工程领域应用复用技术的分析
“猎鹰”9号的复用技术与展望
第5代移动通信基本要求与新型多址复用技术
ASP.NET服务器端验证控件的使用