文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)04-0040-05
現(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ì)隨之不斷更新,,得到“最新”的調(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
{
……
}
…
}
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.