基于复用的自适应软部件技术研究
2016-01-05叶品菊叶冉冉
叶品菊++叶冉冉
摘要:论文主要研究一种基于pb软部件技术的自适应软件开发方法。该软部件可以即插即用,使用时不须再编写程序便可实现对多张表任意多个由任意字段构成的条件综合查询。该部件可快速实现适应用户需求,可通用于不同应用系统,能适应于不同数据库系统与不同数据表结构,为MIS系统节约了开发时间,提高了软件开发的效率。
关键词:复用;自适应;软部件;MIS系统
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)29-0041-02
1 引言
要实现软件的工业化生产方式,保证软件生产的高效率和高质量,首先要做的就是实现软件复用。设计符合标准的构件和基于标准构件的产品是软件产业工业化必须要完成的过程,是实现软件复用的重要途径。
论文主要研究一种基于pb软部件技术的自适应软件开发方法。该部件可快速实现适应用户需求,可通用于不同应用系统,能适应于不同数据库系统与不同数据表结构,而且可以即插即用,使用时不须再编写程序便可实现对多张表任意多个由任意字段构成的条件综合查询,为MIS系统节约了开发时间,提高了软件开发的效率。
2软件复用与软部件技术
软件复用是指同一软件组织可以不作修改或稍加修改就可在其他地方使用,包括代码重用、设计文档重用和分析结果重用。
构件库作为软件复用的基础设施,是近十几年来软件复用的研究热点,当前出现了不少的构件库系统,主要有青鸟构件库、REBOOT构件库、Agora构件搜索引擎,和CodeBroker[1]。也出现了许多产业构件标准,如Microsoft的OLE-COM、OMG的CORBA/OM等。
目前存在的问题是,软件体系结构、构件模型,均只能解决程序之间的接口、实现互操作问题,绝大多数属于界面设计控件、中间件、支撑件及系统件等,如果使用它们开发应用系统,要最终形成实用系统必须另外编程实现,由于这些中间件功能单一、接口复杂、数量众多,设计的难度大,适应性不强,后期维护工作量也没有减少,因此,软件复用的目标并未完全达到,要设计直接组装式的生成应用软件所需要的构件,还需要做很大的努力。
软部件是具有复用性的代码类软件,相对构件及其他软件复用产品而言,具有许多特殊的特性。表现以下几个方面[2]:
(1)软部件是一种系统级构件,它可以将构件的粒度放大到可以完成一定功能的程度,实现对复杂多变信息系统通用功能的抽象和归纳;
(2)每个部件都是一组运行时可独立进行配置的产品,它们可不依赖其它部件而存在,也可被另一部件所代替,从而实现真正意义上的即插即用;
(3)是最终系统的一个系统级模块,能自适应环境的需要,以即插即用的形式一次性构造系统。
3 PB平台简介
PowerBuilder是美国Powersoft公司于90年代初推出的基于C/S体系结构的面向对象的数据库开发工具。所开发的应用程序已广泛地应用于邮电、金融、证券、商业等各个领域,并发挥着巨大的作用[3]。PB的特点包括:
(1)跨平台开发。
(2)开放的数据库连结系统。
PowerBuilder是完全可视化的数据库开发工具,它提供了大量的控件,大大加快了项目的开发速度,也使开发者更容易掌握数据库的开发。
(3)图形用户接口(GUI)。你可以用一种可视的直观的方式来创建应用程序的用户界面和数据库接口。
(4)事件驱动的应用程序。
(5)功能强大的编程语言与函数。
(6)面向对象的编程。
4 PB软部件研究与设计
MIS系统开发中,查询是使用数据最主要的方面,占的模块也最大。深入研究各类管理信息系统的查询模块的功能、界面组成、操作特点、程序构成,经抽取与归纳,从中总结出基本部件库所需要的部件数量、种类、各自功能与性能、适应环境与场合,设计出可供复用的查询软部件[4]。
下面我们重点介绍多表查询软部件的设计思路。多表查询软部件实现对任意张表任意字段做查询操作。
4.1 程序主窗体
操作时通过借口参数选择主表和从表,输入表的关联字段,就可以把要使用的字段全部添加进来。
以对表student和grade进行查询为例,输入外关键字snumber.
图1 程序主窗体
4.2多表查询软部件的设计与实现
在open事件中定义游标从系统表中取出表名,用additem函数分别添加主表名和从表名。当我们选中某个数据表,selectionchanged事件将表名存放在全局变量中。把存放主表名,从表名和外关键字的变量都设为全局变量,通过全局变量把数据都传进数据窗口中。
进入“多表组合查询窗口”,查找“计算机1班”中“grade>55”的所以学生的情况,其中字段“计算机1班”是表student中的字段,而是“grade”表grade中的字段,所以要用到多表组合查询。查询条件设置如下:
查询结果如图3所示。可以将查询结果打印出来,有TXT,HTML,EXECEL打印格式。
4.3主要程序代码
多表组合查询查询部件的添加条件和添加符号的事件代码如下:
cb_add(添加条件)按钮的clicked事件代码如下:
any is_val
is_val= sle_val.text
if dl_rel.text = "like"
then
m_1.text = m_1.text + " " +dl_col.text+" "+dl_rel.text+"ˊ%"+ is_val +"% ˊ"+" "+ddlb_1.text
else
//如果关系符不是like,择直接把内容放到文本框中
m_1.text = m_1.text + " " +dl_col.text+" "+ dl_rel.text+ "ˊ"+ is_val + "ˊ"+" "+dl_1.text
end if
bt_kh(左括号)按钮的clicked事件代码如下:
if bt_kh.value= "("
then
m_1.text = m_1.text + " "+bt_kh.value+" "
end if
5 小结
本系统基于可复用软部构件技术与结构模型法开发方法,成功地开发了管理信息系统需要的各个模块。在实际应用中,部件技术可应用于绝大部分MIS系统开发和设计,可以直接组装,只要修改少量的代码就可快速搭建管理系统,为系统开发节约了大量的时间,降低了软件开发费用和维护费用,具有很重要的推广价值。
参考文献:
[1] 高浩.软件复用与软件构件技术探讨[J].电子技术与软件工程,2015(9).
[2]张华新.软件复用与软件构件技术探讨[J].信息通信.2013:22(6):175-175.
[3] 殷红先. PowerBuilder实用教程(第4版)[M].电子工业出版社.2014(12).
[4] 张伟,梅宏.面向特征的软件复用技术——发展与现状[J].中国科学,2014(59).