《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于XML和工作流的構(gòu)件化軟件框架研究
基于XML和工作流的構(gòu)件化軟件框架研究
來(lái)源:電子技術(shù)應(yīng)用2011年第4期
房 莉,,陳湘平,,程 敏,,涂文婕
空軍雷達(dá)學(xué)院 預(yù)警監(jiān)視情報(bào)系,,湖北 武漢430019
摘要: 基于XML技術(shù),,采用構(gòu)件化設(shè)計(jì)方式,,搭建了構(gòu)件組裝和運(yùn)行框架,,并研究了基于工作流控制方式的構(gòu)件動(dòng)態(tài)調(diào)度策略,。用戶可以在構(gòu)件組裝框架下集成應(yīng)用系統(tǒng),,并實(shí)現(xiàn)相應(yīng)的業(yè)務(wù)功能,。
中圖分類號(hào): TP311.5
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)04-0040-05
Research on frame of component-based software based on workflow and XML
Fang Li,Chen Xiangping,,Cheng Min,,Tu Wenjie
Department of Early Warning Surveillance Intelligence, Air Force Radar Academy, Wuhan 430019,China
Abstract: This paper built an assembling frame and a running frame for components based on XML, and studied components dynamic scheduling method. Application system can be assembled under the component assembling frame and then run under the running frame. The frame implemented components assembling like receptacle, and components can be assembled to sub modules, and then to function modules, and then to application system.
Key words : XML,;workflow,;component;interface testing


    現(xiàn)有的軟件系統(tǒng)多采用傳統(tǒng)開(kāi)發(fā)方法且只針對(duì)某個(gè)具體應(yīng)用開(kāi)發(fā),,軟件與設(shè)備及軟件內(nèi)部各模塊間耦合緊密,,軟件可復(fù)用性低、可擴(kuò)展性差,。
    基于構(gòu)件的軟件開(kāi)發(fā)方法[1],,其思想是使軟件能夠像硬件那樣,通過(guò)各部分的動(dòng)態(tài)組裝完成整個(gè)應(yīng)用系統(tǒng)的功能,?;跇?gòu)件的軟件工程CBSE(Component Based Software Engineering)逐漸成為軟件開(kāi)發(fā)的主流模式[2],已成為近幾年學(xué)術(shù)界和產(chǎn)業(yè)界共同關(guān)注和研究的熱點(diǎn),。
1 構(gòu)件模型
    相對(duì)于傳統(tǒng)對(duì)象而言,,構(gòu)件將抽象程度提到一個(gè)更高的層次,整個(gè)構(gòu)件隱藏了具體的實(shí)現(xiàn),,只用接口提供服務(wù),。這樣,,構(gòu)件可以將底層的多個(gè)邏輯組合成高層次上的粒度更大的新構(gòu)件,甚至直接封裝到一個(gè)系統(tǒng)中,,使模塊的重用從代碼級(jí),、對(duì)象級(jí)、架構(gòu)級(jí)到系統(tǒng)級(jí)都可能實(shí)現(xiàn)[3-5],。
1.1 構(gòu)件模型
    為了在后期使用構(gòu)件時(shí)能夠快速檢索到需要的構(gòu)件,,必須對(duì)構(gòu)件進(jìn)行分類。構(gòu)件可以使用多種分類方法,。本系統(tǒng)先將構(gòu)件分為原子構(gòu)件Ca和復(fù)合構(gòu)件Cc兩大類,,原子構(gòu)件是不能再分的構(gòu)件,復(fù)合構(gòu)件是由原子構(gòu)件或復(fù)合構(gòu)件組成的構(gòu)件,。
    原子構(gòu)件可表示為Ca=(IDa,,Na,Ta,,Ia,,Oa,Ma,,Da),,其中,IDa為原子構(gòu)件唯一標(biāo)識(shí),;Na為原子構(gòu)件名稱,;Ta為原子構(gòu)件類型集合(包括子類型集合),父類型和子類型用樹(shù)形結(jié)構(gòu)表示,;Ia為原子構(gòu)件輸入接口集合(包括各接口的名稱,、參數(shù)、參數(shù)類型),;Oa為原子構(gòu)件輸出接口集合(包括各接口的名稱,、參數(shù)、參數(shù)類型),;Ma為原子構(gòu)件消息集合,;Da為原子構(gòu)件描述信息(包括構(gòu)件存儲(chǔ)路徑,、索引關(guān)鍵字,、功能描述、編寫語(yǔ)言,、作者,、制作日期、版本),。
    復(fù)合構(gòu)件可表示為Cc=(IDc,,Nc,,Tc,Ic,,Oc,,Mc,Dc,,IDas,,Ras),其中,,IDc為復(fù)合構(gòu)件唯一標(biāo)識(shí),;Nc為復(fù)合構(gòu)件名稱;Tc為復(fù)合構(gòu)件類型集合(包括子類型集合),,父類型和子類用樹(shù)形結(jié)構(gòu)表示,;Ic為復(fù)合構(gòu)件輸入接口指針集合,該指針指向組成復(fù)合構(gòu)件的原子構(gòu)件對(duì)應(yīng)輸入接口,;Oc為復(fù)合構(gòu)件輸出接口指針集合,,該指針指向組成復(fù)合構(gòu)件的原子構(gòu)件對(duì)應(yīng)輸出接口;Mc為復(fù)合構(gòu)件消息集合,;Dc為復(fù)合構(gòu)件描述信息(包括構(gòu)件存儲(chǔ)路徑,、索引關(guān)鍵字、功能描述,、編寫語(yǔ)言,、作者、制作日期,、版本),;IDas為組成復(fù)合構(gòu)件的原子構(gòu)件IDa集合;Ras為組成復(fù)合構(gòu)件的原子構(gòu)件的連接關(guān)系,。
    原子構(gòu)件和復(fù)合構(gòu)件又可以根據(jù)功能劃分為界面構(gòu)件,、通信構(gòu)件、數(shù)據(jù)庫(kù)構(gòu)件,、業(yè)務(wù)構(gòu)件等,。其中,每一類構(gòu)件又可細(xì)分為很多子類,。構(gòu)件粒度越小,,復(fù)用度越高,構(gòu)件耦合度越低,,但構(gòu)件庫(kù)中構(gòu)件的數(shù)量也會(huì)隨著粒度的變小而劇增,,這會(huì)給構(gòu)件的檢索帶來(lái)不便。因此,,應(yīng)根據(jù)具體需求,,把握好構(gòu)件的粒度,。可參考式(1)[6]:
 
1.2 基于構(gòu)件的軟件開(kāi)發(fā)過(guò)程
    面向構(gòu)件的軟件開(kāi)發(fā)過(guò)程如圖1所示,。具體描述如下:

    (1)總體設(shè)計(jì)者對(duì)業(yè)務(wù)系統(tǒng)進(jìn)行需求分析后得到功能需求和框架需求,。
    (2)構(gòu)件分析者根據(jù)功能需求進(jìn)行構(gòu)件需求分析后得到構(gòu)件需求;同時(shí)框架實(shí)現(xiàn)者根據(jù)框架需求對(duì)系統(tǒng)框架進(jìn)行實(shí)現(xiàn),。
    (3)構(gòu)件實(shí)現(xiàn)者根據(jù)構(gòu)件需求對(duì)構(gòu)件進(jìn)行實(shí)現(xiàn),,并經(jīng)過(guò)嚴(yán)格測(cè)試和修改后得到合格的構(gòu)件。
    (4)構(gòu)件庫(kù)管理者可以將新制作的構(gòu)件注冊(cè)入庫(kù),,為了能快速檢索到構(gòu)件,,構(gòu)件入庫(kù)時(shí)必須對(duì)其信息進(jìn)行精確全面的描述。本文使用XML描述構(gòu)件信息,,并使用XML Schema對(duì)構(gòu)件描述文檔進(jìn)行合法性檢驗(yàn),,只有描述合法的構(gòu)件才可以入庫(kù),從而確保構(gòu)件描述信息的一致性和完整性,。構(gòu)件庫(kù)管理者可以對(duì)構(gòu)件庫(kù)中的構(gòu)件進(jìn)行刪除,、注銷、檢索等操作,。
    (5)構(gòu)件組裝者根據(jù)具體需要從構(gòu)件庫(kù)中檢索需要的構(gòu)件,,并在系統(tǒng)框架下進(jìn)行組裝后形成應(yīng)用系統(tǒng),構(gòu)件組裝者還負(fù)責(zé)對(duì)應(yīng)用系統(tǒng)的測(cè)試與維護(hù),。
    (6)應(yīng)用系統(tǒng)交付用戶使用并提出修改意見(jiàn)與建議,,構(gòu)件組裝者再根據(jù)用戶需求進(jìn)行修改。
2 基于構(gòu)件的軟件框架
    面向構(gòu)件的軟件開(kāi)發(fā)過(guò)程中,,構(gòu)件組裝和運(yùn)行需要特殊的環(huán)境,,這種特殊的運(yùn)行環(huán)境稱為框架。一個(gè)框架由一些規(guī)則,、建議和習(xí)慣組成,,它們從構(gòu)件的角度定義了一個(gè)系統(tǒng)結(jié)構(gòu),并定義了系統(tǒng)的各組成部分之間是如何通信和實(shí)現(xiàn)互操作的,。因此,,設(shè)計(jì)框架時(shí),必須自己定義構(gòu)件及框架的規(guī)范,,使用者只有遵循這些規(guī)范,,才能將構(gòu)件集成到框架中。本系統(tǒng)框架包括構(gòu)件組裝框架和構(gòu)件運(yùn)行框架兩部分,,這兩個(gè)框架由系統(tǒng)框架管理器管理,,以確保系統(tǒng)在某一時(shí)刻,,只能處于其中一個(gè)框架下,。系統(tǒng)處于構(gòu)件組裝框架時(shí),,可實(shí)現(xiàn)構(gòu)件組裝、功能模塊組裝,、應(yīng)用系統(tǒng)集成,、應(yīng)用系統(tǒng)修改、應(yīng)用系統(tǒng)功能擴(kuò)展等功能,。系統(tǒng)處于運(yùn)行框架時(shí),,能夠完成相應(yīng)的業(yè)務(wù)處理功能,但不能對(duì)其進(jìn)行配置,?;跇?gòu)件的軟件框架結(jié)構(gòu)如圖2所示。
2.1 構(gòu)件組裝框架
     傳統(tǒng)的構(gòu)件組裝大多使用代碼方式調(diào)用構(gòu)件接口,,此方式比較復(fù)雜,。本框架提供一種圖形化的構(gòu)件組裝界面,開(kāi)發(fā)者可以輕松高效地集成新的應(yīng)用系統(tǒng)或?qū)σ延邢到y(tǒng)進(jìn)行擴(kuò)展,。
    如圖2所示,,構(gòu)件組裝框架主要包括構(gòu)件制作工具、構(gòu)件測(cè)試工具,、構(gòu)件庫(kù)管理工具,、構(gòu)件組裝工具、模塊管理工具,、模塊組裝工具,。其中,制作工具,、構(gòu)件測(cè)試工具只提供簡(jiǎn)單的構(gòu)件制作和測(cè)試功能,,構(gòu)件實(shí)現(xiàn)者可以選擇市場(chǎng)上其他工具進(jìn)行構(gòu)件制作及測(cè)試;構(gòu)件庫(kù)管理工具具有構(gòu)件注冊(cè),、注銷,、刪除、檢索等功能,,模塊管理工具具有模塊注冊(cè),、修改、刪除,、檢索等功能,,這兩個(gè)工具實(shí)現(xiàn)起來(lái)相對(duì)簡(jiǎn)單;構(gòu)件組裝和模塊組裝時(shí)生成對(duì)應(yīng)的XML配置文檔,,通過(guò)這些XML配置文檔將構(gòu)件粘合成應(yīng)用系統(tǒng),。本文使用的XML配置文檔主要包括:(1)構(gòu)件描述文檔:對(duì)構(gòu)件信息進(jìn)行描述,以便使用構(gòu)件時(shí)能方便獲取構(gòu)件信息;(2)構(gòu)件適配文檔:對(duì)構(gòu)件接口連接關(guān)系進(jìn)行描述,;(3)模塊適配文檔:對(duì)模塊之間以及構(gòu)件和模塊之間連接關(guān)系的描述,;(4)菜單適配文檔:將菜單與對(duì)應(yīng)業(yè)務(wù)模塊綁定,以便用戶點(diǎn)擊對(duì)應(yīng)的菜單時(shí),,觸發(fā)該功能模塊運(yùn)行,。組裝時(shí),通過(guò)這些XML配置文檔,,將構(gòu)件組裝成子模塊,、功能模塊直至整個(gè)綜合測(cè)試系統(tǒng),需要時(shí)查找模型中相應(yīng)的標(biāo)簽位置并靈活插入,,這樣在對(duì)系統(tǒng)修改時(shí),,只需要修改相應(yīng)的構(gòu)件,其他部分不受影響,。此方法支持系統(tǒng)的快速開(kāi)發(fā)和修改,,具有較高的靈活性和較好的可擴(kuò)展性,達(dá)到了令人滿意的伸縮性,。


    在組裝時(shí),,構(gòu)件組裝者根據(jù)應(yīng)用系統(tǒng)的需求檢索相關(guān)構(gòu)件,如果構(gòu)件庫(kù)中無(wú)此構(gòu)件,,則必須制作相關(guān)構(gòu)件并放入構(gòu)件庫(kù)中,,再將檢索到的構(gòu)件通過(guò)構(gòu)件組裝工具進(jìn)行組裝。為了不使應(yīng)用系統(tǒng)在組裝過(guò)程中太復(fù)雜,,先將構(gòu)件組裝成業(yè)務(wù)構(gòu)件,,再將業(yè)務(wù)構(gòu)件組裝成功能模塊,最后將功能模塊組裝成應(yīng)用系統(tǒng),。
2.1.1 構(gòu)件組裝
    構(gòu)件組裝工具的核心是解決構(gòu)件適配問(wèn)題,。大多數(shù)情況下,使用不同語(yǔ)言制作的構(gòu)件都需要做某種方式的修改以便與其他構(gòu)件相匹配,,這個(gè)過(guò)程稱為構(gòu)件適配,,適配方法有白盒法、黑盒法和灰盒法,。文獻(xiàn)[7]對(duì)三種方法的技術(shù),、特點(diǎn)和實(shí)現(xiàn)的難易程度進(jìn)行了分析,結(jié)論是采用灰盒法既可以實(shí)現(xiàn)構(gòu)件組裝的靈活性,,又不至于使適配技術(shù)過(guò)于復(fù)雜,。本文在對(duì)各種灰盒法的適配技術(shù)進(jìn)行比較后,采用基于連接器的適配技術(shù),。此方法將構(gòu)件功能的實(shí)現(xiàn)與其交互作用的實(shí)現(xiàn)相分離,,從而增加構(gòu)件組裝的可配置性,,在現(xiàn)有技術(shù)條件下,它是實(shí)現(xiàn)構(gòu)件動(dòng)態(tài)組裝的有效途徑之一,。
    構(gòu)件連接器可以表示為CL=(IDcl,,Ncl,Rcls),,其中,IDcl為連接器唯一標(biāo)識(shí),;Ncl為連接器名稱,;Rcls為連接關(guān)系集合,包含有多個(gè)接口連接關(guān)系,,每個(gè)連接關(guān)系Rcl可表示為Rcl=(IDsc,,IDdc,DTc,,Dc,,MSc),其中,,IDsc表示源構(gòu)件唯一標(biāo)識(shí),,IDdc表示目標(biāo)構(gòu)件唯一標(biāo)識(shí),DTc表示數(shù)據(jù)類型,,Dc為數(shù)據(jù)的值,,MSc表示消息。
2.1.2 模塊組裝
    通過(guò)模塊組裝工具可以將業(yè)務(wù)模塊組裝成功能模塊,。本文使用類似連接器的方法設(shè)計(jì)模塊連接器,。
    模塊連接器可以表示為:ML=(IDml,Nml,,Rmls),,其中,IDml為模塊連接器唯一標(biāo)識(shí),;Nml為模塊連接器名稱,;Rmls為連接關(guān)系集合,包含有多個(gè)模塊接口連接關(guān)系,,每個(gè)連接關(guān)系Rml可表示為Rml=(IDsm,,IDdm,DTm,,Dm,,MSm),其中,IDsm表示源模塊唯一標(biāo)識(shí),,IDdm表示目標(biāo)模塊唯一標(biāo)識(shí),,DTm表示數(shù)據(jù)類型,Dm為數(shù)據(jù)的值,MSm表示消息,。
    模塊連接器信息用XML適配文檔進(jìn)行描述,,其XML schema源碼如下:
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XML
Schema">
<xsd:element name=" IDml " type="xsd:string"/>
<xsd:element name=" Nml ">
<xsd:complexType>
<xsd:sequence maxOccurs="unbounded">
   <xsd:element name="Rml"type="xsd:string" maxOccurs=
"unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
2.1.3 菜單配置
    菜單描述工具的主要功能是將菜單與對(duì)應(yīng)功能的模塊進(jìn)行綁定,生成菜單適配文檔,。本系統(tǒng)菜單嵌套最多為三級(jí),,菜單適配文檔可表示為FL=(IDm,IDf1,,IDf2,,IDf3),其中IDm表示功能模塊ID,,IDfi為第i級(jí)菜單ID,,i=1,2,,3,。其源碼可參考前文給出的模塊適配文檔XML schema源碼。
2.2 構(gòu)件運(yùn)行框架
    構(gòu)件運(yùn)行框架主要包括:構(gòu)件調(diào)度器,、構(gòu)件實(shí)例化工具以及各種XML配置文檔解析器,。其中,配置文檔解析器的功能是解析對(duì)應(yīng)的XML配置文檔,,其實(shí)現(xiàn)相對(duì)簡(jiǎn)單,,在此不作介紹。下面重點(diǎn)介紹構(gòu)件調(diào)度器和構(gòu)件實(shí)例化工具,。
2.2.1 基于工作流控制的構(gòu)件調(diào)度模型
    構(gòu)件調(diào)度是一個(gè)動(dòng)態(tài)過(guò)程,,調(diào)度之前難以知道構(gòu)件運(yùn)行所需要的全部信息,因此很難一次性建立構(gòu)件調(diào)度模型,。即使建立了模型,,隨著構(gòu)件調(diào)度的執(zhí)行,各種因素發(fā)生變化,,也會(huì)使模型不能反應(yīng)信息的動(dòng)態(tài)變化而導(dǎo)致構(gòu)件調(diào)度失敗,。
    工作流技術(shù)[7,8]最初被廣泛應(yīng)用于解決企業(yè)的項(xiàng)目調(diào)度問(wèn)題,,現(xiàn)已逐漸擴(kuò)展到許多領(lǐng)域,。工作流技術(shù)可以全面描述過(guò)程的信息,在運(yùn)行時(shí)能夠動(dòng)態(tài)監(jiān)視業(yè)務(wù)過(guò)程的執(zhí)行情況,,因此可得到過(guò)程執(zhí)行的實(shí)時(shí)信息,,如:過(guò)程執(zhí)行、資源利用,、時(shí)間計(jì)劃情況等,,并能根據(jù)這些信息生成新的調(diào)度方案,。因此,工作流技術(shù)可以應(yīng)用于解決構(gòu)件調(diào)度問(wèn)題,。
    本文提出一種基于工作流技術(shù)的構(gòu)件調(diào)度模型,,模塊包括:過(guò)程控制模型、公共資源服務(wù)模型,、消息處理模型,、工作流數(shù)據(jù)模型。各模型之間的調(diào)用關(guān)系如圖3所示,。

    過(guò)程控制模型是構(gòu)件調(diào)度模型的核心和骨架,,定義應(yīng)用系統(tǒng)所有構(gòu)件的處理流程,描述構(gòu)件調(diào)度問(wèn)題的約束,,包括模塊之間以及組成模塊的構(gòu)件之間的邏輯關(guān)系,、詳細(xì)描述(執(zhí)行所需的信息,、資源)等,。這些信息可以在構(gòu)件調(diào)度過(guò)程中通過(guò)各種XML配置文檔解析器解析對(duì)應(yīng)的XML配置文檔獲取。利用這些信息可以預(yù)測(cè)并找出工作流所管理的全部過(guò)程實(shí)例之間存在的資源沖突情況,。通過(guò)把產(chǎn)生資源沖突的過(guò)程實(shí)例按照一定的規(guī)則抽取出來(lái)就可以得到項(xiàng)目調(diào)度的動(dòng)態(tài)模型,。由于過(guò)程實(shí)例的執(zhí)行情況不斷變化,如某些過(guò)程實(shí)例執(zhí)行結(jié)束,、某些實(shí)例被終止,、某些活動(dòng)被掛起、某些異常出現(xiàn)等,,因此按照一定的周期動(dòng)態(tài)地從這些過(guò)程實(shí)例中所得到的過(guò)程模型也會(huì)隨之不斷更新,,得到&ldquo;最新&rdquo;的調(diào)度模型,這解決了調(diào)度模型不能反映信息動(dòng)態(tài)變化的問(wèn)題,。
    公共資源服務(wù)模型定義構(gòu)件調(diào)度過(guò)程中需要的公共服務(wù)資源,,如數(shù)據(jù)庫(kù)服務(wù)、打印服務(wù)等,。
    消息處理模型定義構(gòu)件調(diào)度過(guò)程中的事件屬性,,它是一個(gè)構(gòu)件向另一個(gè)構(gòu)件發(fā)出的某種通知。
    工作流數(shù)據(jù)模型定義了與構(gòu)件調(diào)度模型執(zhí)行密切相關(guān)的數(shù)據(jù),。從某種意義上講,,它確定構(gòu)件執(zhí)行過(guò)程狀態(tài)轉(zhuǎn)換的條件。
2.2.2 構(gòu)件實(shí)例化
    構(gòu)件是動(dòng)態(tài)調(diào)用的,,即應(yīng)用系統(tǒng)運(yùn)行前構(gòu)件都沒(méi)有實(shí)例化,,只有在執(zhí)行過(guò)程中調(diào)用時(shí)才實(shí)例化??梢越柚瓷錂C(jī)制實(shí)現(xiàn)構(gòu)件動(dòng)態(tài)實(shí)例化,。本文的構(gòu)件實(shí)例化工具是在.NET平臺(tái)下用C#語(yǔ)言實(shí)現(xiàn),,其關(guān)鍵代碼如下:
private void CreateInstanceAndInvoke()
{
    ParseXML();//解析相關(guān)XML文檔
    SourceComXMLPath=COMSchedule(),;//構(gòu)件調(diào)度器
    Assembly curAssm=Assembly.LoadFile(SourceComXMLPath),;
    Type[] types=curAssm.GetTypes();
    if (isInterface)
    {
        foreach (Type type in types)
        {
            MethodInfo[] methodInfos=type.GetMethods(),;
            foreach (MethodInfo methodInfo in methodInfos)
            {
                ParameterInfo[] paras=
methodInfo.GetParameters();
                object[] objSourceParas=
new object[paras.Length];
                object[] objTargetParas;
                if (methodInfo.Name==strSourceComInter-
faceName)
                {
objTargetParas=methodInfo.Invoke(curAssm.CreateInstance
(type.FullName),
out objSourceParas);
                    InvokeTarget(),;//調(diào)用目標(biāo)構(gòu)件的接口
                }
            }
        }
    }
    else
    {
        &hellip;&hellip;
    }
    &hellip;
}
3 應(yīng)用實(shí)例
    本文設(shè)計(jì)的基于工作流控制的構(gòu)件化軟件框架已經(jīng)在某型設(shè)備接口測(cè)試系統(tǒng)中得到應(yīng)用。某型設(shè)備有多種待測(cè)接口,,下面以其A/D接口測(cè)試為例說(shuō)明本系統(tǒng)的有效性,。
    圖4為對(duì)某型設(shè)備A/D、D/A接口構(gòu)件劃分結(jié)果圖,。構(gòu)件通過(guò)構(gòu)件連接器組裝成業(yè)務(wù)模塊,,業(yè)務(wù)模塊通過(guò)模塊連接器組裝成功能模塊。組裝后的某型設(shè)備接口測(cè)試系統(tǒng)對(duì)A/D接口測(cè)試結(jié)果如圖5所示,。測(cè)試中,,A/D接口的通道13測(cè)試誤差大于設(shè)定誤差的最大值,未通過(guò)測(cè)試,;其他接口各通道的測(cè)試誤差均小于其最大誤差要求,,通過(guò)測(cè)試。

    實(shí)踐應(yīng)用證明,,該軟件框架可以實(shí)現(xiàn)基于構(gòu)件的應(yīng)用系統(tǒng)的插座式組裝,,使其能從原子構(gòu)件集成子模塊、功能模塊直至整個(gè)應(yīng)用系統(tǒng),。此方法支持系統(tǒng)的快速開(kāi)發(fā)和修改,,具有較高的靈活性和較好的可擴(kuò)展性,達(dá)到了令人滿意的伸縮性,。
    針對(duì)目前大多數(shù)軟件模塊間耦合緊密,、軟件可復(fù)用性低、可擴(kuò)展性差等問(wèn)題,。將XML,、工作流和構(gòu)件技術(shù)相結(jié)合,設(shè)計(jì)了圖形化方式構(gòu)件組裝框架和構(gòu)件運(yùn)行框架,。用戶可以在構(gòu)件組裝框架下集成應(yīng)用系統(tǒng),,在構(gòu)件運(yùn)行框架下運(yùn)行組裝的系統(tǒng)可以實(shí)現(xiàn)相應(yīng)的業(yè)務(wù)功能。實(shí)踐證明,,該軟件框架可以實(shí)現(xiàn)基于構(gòu)件的應(yīng)用系統(tǒng)的插座式組裝,,使其能從原子構(gòu)件集成子模塊、功能模塊直至整個(gè)應(yīng)用系統(tǒng),。此方法支持系統(tǒng)的快速開(kāi)發(fā)和修改,,具有較高的靈活性和較好的可擴(kuò)展性,,避免了軟件的重復(fù)開(kāi)發(fā),節(jié)省了大量費(fèi)用,,達(dá)到了令人滿意的伸縮性效果,。
參考文獻(xiàn)
[1] 楊芙清,王千祥,,梅宏,,等.基于復(fù)用的軟件生產(chǎn)技術(shù)[J].中國(guó)科學(xué),2001,,31(4):363-371.
[2] 任洪敏,,錢樂(lè)秋.構(gòu)件組裝及其形式化推導(dǎo)研究[JJ.軟件學(xué)報(bào),2003,,l4(6):1066-1074.
[3] 王強(qiáng),,何克清,李兵,,等.基于MMF的互操作性軟構(gòu)件庫(kù)管理模型的研究[J].計(jì)算機(jī)工程,,2005,31(16):57-58.
[4] 吳信永,,宋東,,劉飛.基于構(gòu)件技術(shù)的通用ATS框架設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,,2008,,16(2):141-143.
[5] 王忠杰,徐曉飛,,戰(zhàn)德臣.基于特征的構(gòu)件模型及其規(guī)范化設(shè)計(jì)過(guò)程[J].軟件學(xué)報(bào),,2006,17(1):39-47.
[6] 徐瑋,,保林,,李昭原.企業(yè)信息系統(tǒng)業(yè)務(wù)構(gòu)件研究[J]. 軟件學(xué)報(bào),2003,,14(7):1213-1220.
[7] 王志堅(jiān),,費(fèi)玉奎,婁淵清.軟件構(gòu)件技術(shù)及其應(yīng)用[M]. 北京:科學(xué)出版社,,2005.
[8] 李偉平,,范玉順.基于工作流的資源受限項(xiàng)目調(diào)度研 究[J].清華大學(xué)學(xué)報(bào)(自然科學(xué)版),2004,,44(10):
1384-138.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。