葉品菊++葉冉冉
摘要:論文主要研究一種基于pb軟部件技術(shù)的自適應(yīng)軟件開發(fā)方法。該軟部件可以即插即用,使用時不須再編寫程序便可實(shí)現(xiàn)對多張表任意多個由任意字段構(gòu)成的條件綜合查詢。該部件可快速實(shí)現(xiàn)適應(yīng)用戶需求,可通用于不同應(yīng)用系統(tǒng),能適應(yīng)于不同數(shù)據(jù)庫系統(tǒng)與不同數(shù)據(jù)表結(jié)構(gòu),為MIS系統(tǒng)節(jié)約了開發(fā)時間,提高了軟件開發(fā)的效率。
關(guān)鍵詞:復(fù)用;自適應(yīng);軟部件;MIS系統(tǒng)
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2015)29-0041-02
1 引言
要實(shí)現(xiàn)軟件的工業(yè)化生產(chǎn)方式,保證軟件生產(chǎn)的高效率和高質(zhì)量,首先要做的就是實(shí)現(xiàn)軟件復(fù)用。設(shè)計(jì)符合標(biāo)準(zhǔn)的構(gòu)件和基于標(biāo)準(zhǔn)構(gòu)件的產(chǎn)品是軟件產(chǎn)業(yè)工業(yè)化必須要完成的過程,是實(shí)現(xiàn)軟件復(fù)用的重要途徑。
論文主要研究一種基于pb軟部件技術(shù)的自適應(yīng)軟件開發(fā)方法。該部件可快速實(shí)現(xiàn)適應(yīng)用戶需求,可通用于不同應(yīng)用系統(tǒng),能適應(yīng)于不同數(shù)據(jù)庫系統(tǒng)與不同數(shù)據(jù)表結(jié)構(gòu),而且可以即插即用,使用時不須再編寫程序便可實(shí)現(xiàn)對多張表任意多個由任意字段構(gòu)成的條件綜合查詢,為MIS系統(tǒng)節(jié)約了開發(fā)時間,提高了軟件開發(fā)的效率。
2軟件復(fù)用與軟部件技術(shù)
軟件復(fù)用是指同一軟件組織可以不作修改或稍加修改就可在其他地方使用,包括代碼重用、設(shè)計(jì)文檔重用和分析結(jié)果重用。
構(gòu)件庫作為軟件復(fù)用的基礎(chǔ)設(shè)施,是近十幾年來軟件復(fù)用的研究熱點(diǎn),當(dāng)前出現(xiàn)了不少的構(gòu)件庫系統(tǒng),主要有青鳥構(gòu)件庫、REBOOT構(gòu)件庫、Agora構(gòu)件搜索引擎,和CodeBroker[1]。也出現(xiàn)了許多產(chǎn)業(yè)構(gòu)件標(biāo)準(zhǔn),如Microsoft的OLE-COM、OMG的CORBA/OM等。
目前存在的問題是,軟件體系結(jié)構(gòu)、構(gòu)件模型,均只能解決程序之間的接口、實(shí)現(xiàn)互操作問題,絕大多數(shù)屬于界面設(shè)計(jì)控件、中間件、支撐件及系統(tǒng)件等,如果使用它們開發(fā)應(yīng)用系統(tǒng),要最終形成實(shí)用系統(tǒng)必須另外編程實(shí)現(xiàn),由于這些中間件功能單一、接口復(fù)雜、數(shù)量眾多,設(shè)計(jì)的難度大,適應(yīng)性不強(qiáng),后期維護(hù)工作量也沒有減少,因此,軟件復(fù)用的目標(biāo)并未完全達(dá)到,要設(shè)計(jì)直接組裝式的生成應(yīng)用軟件所需要的構(gòu)件,還需要做很大的努力。
軟部件是具有復(fù)用性的代碼類軟件,相對構(gòu)件及其他軟件復(fù)用產(chǎn)品而言,具有許多特殊的特性。表現(xiàn)以下幾個方面[2]:
(1)軟部件是一種系統(tǒng)級構(gòu)件,它可以將構(gòu)件的粒度放大到可以完成一定功能的程度,實(shí)現(xiàn)對復(fù)雜多變信息系統(tǒng)通用功能的抽象和歸納;
(2)每個部件都是一組運(yùn)行時可獨(dú)立進(jìn)行配置的產(chǎn)品,它們可不依賴其它部件而存在,也可被另一部件所代替,從而實(shí)現(xiàn)真正意義上的即插即用;
(3)是最終系統(tǒng)的一個系統(tǒng)級模塊,能自適應(yīng)環(huán)境的需要,以即插即用的形式一次性構(gòu)造系統(tǒng)。
3 PB平臺簡介
PowerBuilder是美國Powersoft公司于90年代初推出的基于C/S體系結(jié)構(gòu)的面向?qū)ο蟮臄?shù)據(jù)庫開發(fā)工具。所開發(fā)的應(yīng)用程序已廣泛地應(yīng)用于郵電、金融、證券、商業(yè)等各個領(lǐng)域,并發(fā)揮著巨大的作用[3]。PB的特點(diǎn)包括:
(1)跨平臺開發(fā)。
(2)開放的數(shù)據(jù)庫連結(jié)系統(tǒng)。
PowerBuilder是完全可視化的數(shù)據(jù)庫開發(fā)工具,它提供了大量的控件,大大加快了項(xiàng)目的開發(fā)速度,也使開發(fā)者更容易掌握數(shù)據(jù)庫的開發(fā)。
(3)圖形用戶接口(GUI)。你可以用一種可視的直觀的方式來創(chuàng)建應(yīng)用程序的用戶界面和數(shù)據(jù)庫接口。
(4)事件驅(qū)動的應(yīng)用程序。
(5)功能強(qiáng)大的編程語言與函數(shù)。
(6)面向?qū)ο蟮木幊獭?/p>
4 PB軟部件研究與設(shè)計(jì)
MIS系統(tǒng)開發(fā)中,查詢是使用數(shù)據(jù)最主要的方面,占的模塊也最大。深入研究各類管理信息系統(tǒng)的查詢模塊的功能、界面組成、操作特點(diǎn)、程序構(gòu)成,經(jīng)抽取與歸納,從中總結(jié)出基本部件庫所需要的部件數(shù)量、種類、各自功能與性能、適應(yīng)環(huán)境與場合,設(shè)計(jì)出可供復(fù)用的查詢軟部件[4]。
下面我們重點(diǎn)介紹多表查詢軟部件的設(shè)計(jì)思路。多表查詢軟部件實(shí)現(xiàn)對任意張表任意字段做查詢操作。
4.1 程序主窗體
操作時通過借口參數(shù)選擇主表和從表,輸入表的關(guān)聯(lián)字段,就可以把要使用的字段全部添加進(jìn)來。
以對表student和grade進(jìn)行查詢?yōu)槔?,輸入外關(guān)鍵字snumber.
圖1 程序主窗體
4.2多表查詢軟部件的設(shè)計(jì)與實(shí)現(xiàn)
在open事件中定義游標(biāo)從系統(tǒng)表中取出表名,用additem函數(shù)分別添加主表名和從表名。當(dāng)我們選中某個數(shù)據(jù)表,selectionchanged事件將表名存放在全局變量中。把存放主表名,從表名和外關(guān)鍵字的變量都設(shè)為全局變量,通過全局變量把數(shù)據(jù)都傳進(jìn)數(shù)據(jù)窗口中。
進(jìn)入“多表組合查詢窗口”,查找“計(jì)算機(jī)1班”中“grade>55”的所以學(xué)生的情況,其中字段“計(jì)算機(jī)1班”是表student中的字段,而是“grade”表grade中的字段,所以要用到多表組合查詢。查詢條件設(shè)置如下:
查詢結(jié)果如圖3所示。可以將查詢結(jié)果打印出來,有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
//如果關(guān)系符不是like,擇直接把內(nèi)容放到文本框中
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 小結(jié)
本系統(tǒng)基于可復(fù)用軟部構(gòu)件技術(shù)與結(jié)構(gòu)模型法開發(fā)方法,成功地開發(fā)了管理信息系統(tǒng)需要的各個模塊。在實(shí)際應(yīng)用中,部件技術(shù)可應(yīng)用于絕大部分MIS系統(tǒng)開發(fā)和設(shè)計(jì),可以直接組裝,只要修改少量的代碼就可快速搭建管理系統(tǒng),為系統(tǒng)開發(fā)節(jié)約了大量的時間,降低了軟件開發(fā)費(fèi)用和維護(hù)費(fèi)用,具有很重要的推廣價值。
參考文獻(xiàn):
[1] 高浩.軟件復(fù)用與軟件構(gòu)件技術(shù)探討[J].電子技術(shù)與軟件工程,2015(9).
[2]張華新.軟件復(fù)用與軟件構(gòu)件技術(shù)探討[J].信息通信.2013:22(6):175-175.
[3] 殷紅先. PowerBuilder實(shí)用教程(第4版)[M].電子工業(yè)出版社.2014(12).
[4] 張偉,梅宏.面向特征的軟件復(fù)用技術(shù)——發(fā)展與現(xiàn)狀[J].中國科學(xué),2014(59).