軟構件技術(shù)概述
軟件行業(yè)的工業(yè)化趨勢導致了軟構件的產(chǎn)生。能夠像硬件系統那樣,將部分軟件組合起來(lái)構建軟件系統,一直是軟件行業(yè)多年來(lái)追求的目標。特別是對于象很多應用軟件的開(kāi)發(fā)(例如很多行業(yè)和單位的MIS系統),若能結合系統的實(shí)際情況充分利用已有的軟件構件,將會(huì )大大提高生產(chǎn)效率,減少大量的重復勞動(dòng)??梢哉f(shuō),軟構件技術(shù)的出現是對傳統軟件開(kāi)發(fā)過(guò)程的一次變革。構件(Component)是可復用的軟件組成成分,可被用來(lái)構造其它軟件。它可以是被封裝的對象類(lèi)、類(lèi)樹(shù)、一些功能模塊、軟件框架、軟件構架(或體系結構)、文檔、分析件、設計模式等。從廣義上講,軟構件技術(shù)是基于面向對象的,以嵌入后馬上可以使用的即插即用型軟構件概念為中心,通過(guò)構件的組合來(lái)建立應用的技術(shù)體系。狹義上講,它是通過(guò)構件組合支持應用的開(kāi)發(fā)環(huán)境和系統的總稱(chēng)。我們可以按多個(gè)側面對構件進(jìn)行分類(lèi):
按開(kāi)發(fā)過(guò)程構件可分為分析件、設計件、程序件和數據件。
按功能分,分為三層:基礎層為基本數據類(lèi)構件和系統支撐構件;中間層為各種通用的中間件;頂層為針對各種領(lǐng)域的專(zhuān)用構件或子系統構件。從粒度上看通常底層的粒度為較小,而頂層的粒度為較大。
按使用方式分為動(dòng)態(tài)和靜態(tài)兩種。
按構件的結構分為原子構件及由多個(gè)構件聚集的組合構件。
在這種新的軟件開(kāi)發(fā)方式下,軟件公司以開(kāi)發(fā)軟部件為主要業(yè)務(wù),提供規格化的軟部件。系統集成商則匯總部件,組合成能完成不同功能的軟構件,將自己的核心技術(shù)構件化。正是這兩者之間分工的涇渭分明,將軟件行業(yè)工業(yè)化逐漸推向成功。
目前,采用軟構件思想開(kāi)發(fā)的軟件產(chǎn)品相繼出臺,而主流是以美、日大公司為首的產(chǎn)品。由于采用其思想的開(kāi)發(fā)工具推出的時(shí)間還不足五年。因此,真正使用軟構件的用戶(hù)還屈指可數。盡管軟構件技術(shù)還存在著(zhù)很多不成熟之處,但人們都相信軟構件帶來(lái)的好處是不可估量的,它代表了新一代軟件技術(shù)的發(fā)展方向。
傳統的MIS開(kāi)發(fā)方法
自底向上法和自頂向下法
自底向上法出現于早期的計算機管理應用系統,即在進(jìn)行系統分析和設計時(shí)自下而上,先從底層模塊做起,然后逐步完成整個(gè)系統。自底向上法使得MIS的開(kāi)發(fā)易于適應組織機構真正的需要;有助于發(fā)現系統的增長(cháng)需要,所獲得的經(jīng)驗有助于下一階段的開(kāi)發(fā),易于控制和管理。但由于方法的演變性質(zhì),自底向上法使MIS難以實(shí)現其整體性;同時(shí)由于系統未進(jìn)行全局規劃,數據一致性和完整性難以保證;而且為了保證系統性能的需求,往往要重新調整,甚至重新設計系統。
隨著(zhù)MIS規劃的擴大和對開(kāi)發(fā)經(jīng)驗的總結與歸納,自頂向下的系統分析方法論逐步得到了發(fā)展和完善。自頂向下法要求開(kāi)發(fā)者首先制定系統的總體規劃,然后逐步分離出高度結構化的子系統,從上至下實(shí)現整個(gè)系統。運用這類(lèi)方法可以為企業(yè)或機構MIS的中期或長(cháng)期發(fā)展規劃奠定基礎,同時(shí)支持MIS的整體性,為系統的總體規劃、子系統的協(xié)調和通信提供保證。但它同樣也存在缺點(diǎn):對系統分析、設計人員要求較高,在大系統中,對下層系統的實(shí)施往往缺乏約束力,開(kāi)發(fā)的周期長(cháng),系統復雜,成本較高。
快速原型法
原型法的核心是原型,即模型,是系統的早期可運行版本。隨著(zhù)用戶(hù)或開(kāi)發(fā)者對系統理解的加深,不斷地對原型進(jìn)行補充和細化。系統的定義是在逐步發(fā)現的過(guò)程中進(jìn)行,這就是快速原型法的基本出發(fā)點(diǎn)??焖僭头ǖ拈_(kāi)發(fā)過(guò)程體現了不斷迭代的快速修改過(guò)程,是一種動(dòng)態(tài)定義技術(shù)。
快速原型法的最大優(yōu)點(diǎn)是能夠大大減少軟件系統的后期維護費用,使系統功能能正確反映用戶(hù)的需求。原型本身及這種方法的不足之處在于,如果原型本身功能設置不齊全、性能不好,會(huì )導致原型的設計和使用超出預期的花費和時(shí)間。另一個(gè)關(guān)鍵不足是原型法需要一個(gè)合適的軟件開(kāi)發(fā)環(huán)境,以便原型能直接轉換成現實(shí)的系統。
以上方法各有其優(yōu)缺點(diǎn)。“自底向上”法只重局部而忽視了對整體的把握;“自頂向下”法開(kāi)發(fā)周期長(cháng)、見(jiàn)效慢、缺乏靈活性和適應性;快速原型法雖然具有很明顯的優(yōu)越性,但因其依賴(lài)于快速開(kāi)發(fā)工具的支持,又不能不令許多系統開(kāi)發(fā)者望而卻步。因此通過(guò)對軟構件技術(shù)的研究,我們提出一種新的開(kāi)發(fā)方法——積木法。
利用軟構件技術(shù)開(kāi)發(fā)MIS系統
采用積木法開(kāi)發(fā)MIS系統的過(guò)程與搭積木的過(guò)程很類(lèi)似,一般是先構筑系統的總體框架,然后構造各個(gè)構件,并依次把構件安裝到系統中去。 積木法克服了快速原型法需要快速工具支持的不足,取而代之以軟件構件化技術(shù)來(lái)構造系統。大部分MIS系統,在功能上有類(lèi)似之處,因而利用軟件的重用技術(shù)就可以把開(kāi)發(fā)過(guò)程大大簡(jiǎn)化。積木法的提出正是基于這種設想。積木法在確定系統總體框架、構筑總體框架、修改總體框架、構造構件以及修改構件等階段,都同一個(gè)叫做“軟構件集合”的實(shí)體打交道,這個(gè)軟構件集合也被稱(chēng)為“軟構件庫”。在開(kāi)發(fā)MIS系統之初就應該著(zhù)手準備這個(gè)軟構件集合,比如可以搜集一些已經(jīng)開(kāi)發(fā)出的MIS系統的總體設計、規范、局部流程以及某些人機界面、通用功能模塊、簡(jiǎn)單開(kāi)發(fā)工具。開(kāi)發(fā)MIS系統的大部分工作都集中在構造軟件階段。這一階段的工作特點(diǎn)是盡量使開(kāi)發(fā)出的積木塊具有較大的靈活性和變通性,為重用作好準備。每開(kāi)發(fā)出一個(gè)積木塊,都要把該積木塊及其功能、調用接口等信息放入軟構件集合。采用積木法的關(guān)鍵就是要借助對積木構件的重用組合技術(shù),系統開(kāi)發(fā)人員絕不能忽視對軟構件集合的管理。如果缺少了這一點(diǎn),積木法就喪失了優(yōu)越性,自頂向下法及快速原型法所暴露出的缺陷也會(huì )接踵而至。
系統總體設計與實(shí)現
MIS構件的定義、分類(lèi)和生成流程
MIS構件是具有一定處理功能的程序框架,其邏輯結構已定,且軟構件體的程序框架由固定部分——程序框架、可變部分——宏結點(diǎn)(產(chǎn)生替代該宏結點(diǎn)的規則序列)組成。
由上述軟構件定義可知,軟構件并不是簡(jiǎn)單的一段程序,生成應用功能構件的過(guò)程是執行規則、產(chǎn)生代碼替換宏結點(diǎn)的過(guò)程。
通用MIS構件可分為以下兩類(lèi):
用戶(hù)軟構件
它又可分為通用處理軟構件和專(zhuān)用處理軟構件。其中用戶(hù)引用前者時(shí),通過(guò)給出適當的參數,系統將生成相應的功能構件。后者是用戶(hù)自己使用的軟構件,相當于固定功能構件。
控制軟構件
指標準的控制功能構件及界面構件等。
MIS構件的生成流程可抽象成幾個(gè)公共操作過(guò)程,作為生成的規則,MIS構件生成過(guò)程就是根據軟構件宏結點(diǎn)提供的信息(規則)采取的生成動(dòng)作,即讀取用戶(hù)輸入的參數并生成相應的程序段,然后用該生成的程序段代替宏結點(diǎn)的過(guò)程。
系統生成方案
采用軟構件技術(shù)開(kāi)發(fā)MIS系統的設計目標是以積木組合開(kāi)放式結構構造MIS集成一體化的環(huán)境。根據MIS系統的一般結構,完整的MIS系統應具有以下主要生成功能:數據庫文件、功能菜單、數據庫維護、查詢(xún)、索引排序、統計計算、圖形生成與分析、報表生成、打印、數據一致性檢驗、數據一致性維護及應用系統文檔信息。
MIS系統生成是建立在一個(gè)個(gè)積木塊——軟構件的基礎之上的。MIS系統的生成過(guò)程也就是從軟構件庫中提取軟構件,并將它們按照集成算法組合的過(guò)程。
為了適應多種MIS系統開(kāi)發(fā)的需要,軟構件庫中應含有大量的各類(lèi)軟構件,但若軟構件很多,又會(huì )帶來(lái)軟構件的查找、使用和維護的困難。為此,需要設計軟構件庫的管理程序。
軟構件庫的管理程序主要完成以下幾個(gè)功能:
軟構件查找:在軟構件中查找到所要求的軟構件;
軟構件擴充:加入一個(gè)軟構件到軟構件庫中;
軟構件集成:利用已有的軟構件集成軟件系統;
軟構件刪除:刪除一個(gè)已存在的軟構件;
軟構件修改:修改一個(gè)已存在的軟構件。
MIS系統采用軟構件設計方法,把應用系統劃分為若干積木塊,把程序生成問(wèn)題轉化為軟構件的設計、處理問(wèn)題。對于不同的應用系統,通過(guò)分析發(fā)現它們之間的共性與個(gè)性,把共性部分作成標準軟構件,把用戶(hù)要求存入規則庫。根據軟構件集成算法,將軟構件連接成完整的系統。
總結與展望
軟構件技術(shù)的出現,極大地滿(mǎn)足了多個(gè)應用領(lǐng)域的要求,使得各種技術(shù)形成的軟構件可以最大程度地進(jìn)行重用。這就引出了大規模軟件開(kāi)發(fā)所面臨的另一個(gè)問(wèn)題:如何建造面向對象的軟構件庫結構,并有效地組織和管理。在大型軟構件庫的支持下,利用現有的、質(zhì)量好、可靠性強的軟構件,按照大規模軟件開(kāi)發(fā)的工程規范進(jìn)行開(kāi)發(fā),是滿(mǎn)足這些大型系統要求的良好途徑。 現在人們越來(lái)越多地寄希望于具有分散和聯(lián)合處理能力的開(kāi)放性分布式軟構件技術(shù)。分布式軟構件技術(shù)的目標是實(shí)現開(kāi)放的軟構件產(chǎn)品,使應用程序能相互操作,降低開(kāi)發(fā)與管理費用。到目前為止,還沒(méi)有出現一個(gè)完整的開(kāi)放式軟構件系統的實(shí)施方案。但我們相信,軟構件化是軟件工業(yè)化的必然。
聯(lián)系客服