計算機的應用已經從過去單純的科學計算滲透到政務管理、商品交易、金融證券、軍事指揮、航天航空、通訊導航、生物工程、醫療服務等多個領域。隨著計算機技術的發展和應用范圍的不斷延伸,作為計算機靈魂的軟件系統,其規模也在不斷擴大,結構越來越復雜,代碼越來越長、維護越來越困難,從過去幾百行代碼擴大到幾萬甚至幾十萬、幾百萬行代碼的軟件系統俯首皆是。因此,設計一個功能完善、結構優良,開發效率高,穩定性和安全性強,擴展方便,維護簡單,易于復用,生命周期長,投資成本低的軟件系統,一直是系統管理、設計和開發者所追求的目標之一。遺憾的是,現實生活中,被拋棄的軟件系統隨處可見,造成極大的投資浪費。原因之一是系統開發倉促編碼,結構拙劣,功能擴展困難,稍有修改,便錯誤百出,無法維護,唯有棄之不用。
軟件發展的實踐證明,模塊化的分層設計模型是提高系統可用性和可維護性的主要途徑。分層模型設計,既將整個軟件系統劃分為若干個相互獨立的層次進行描述,層與層之間通過事先約定的接口相互通訊。某個層只負責一個或多個功能,各負其則,不越俎代庖。分層設計把一個復雜的問題分而治之,降低了復雜性,功能清晰、易于實現、修改和維護。
分層設計可以分為面向過程、面向對象、面向組件等設計模式。面向過程的設計使用結構化的面向過程的計算機語言來編碼;面向對象的設計則使用面向對象的計算機語言來實現,而面向組件的設計則既可用面向過程,也可用面向對象的語言來實現。由于面向組件的設計,系統的耦合度低、復用性強、維護容易,已經成為軟件系統設計和開發的主流技術。
組件軟件技術的基本思想是:將大而復雜的軟件應用分成一系列可先行實現、易于開發、理解和調整的軟件單元組件。每個組件功能確定,單獨設計,分開編碼,最后用組件組裝應用,完成系統開發和部署。因此,以組件為基礎的軟件系統解決方案,開發效率高,投資少,維護成本低,復用能力強,軟件升級簡單。
1、組件技術的發展現狀
目前常用的組件框架模型,一類是與某一計算機操作系統密切相關,而另一類是跨計算機操作系統平臺的。前者的典型代表是COM組件對象模型,以及在此基礎上發展起來的ActiveX、DCOM、COM+、MTS和.NET等技術。COM組件具有二進制一級的兼容性,基本上與計算機編程語言無關,其缺點是目前只能運行在Windows 操作系統平臺上,而不能在Linux 和Unix 系統中運行。COM并不只是面向對象的組件對象模型,它既可用面向過程,也可用面向對象的語言編碼。但多采用的編碼語言是VC ++、VB和Delphi,性能要求高的場合也可用C語言來編碼。COM已經廣泛使用在Windows 操作系統中,瀏覽器、郵件收發系統,Web服務器、字處理軟件中都廣泛使用COM組件?缬嬎銠C操作系統平臺的組件模型其典型代表是CORBA,CORBA主要使用在Unix 類型的操作系統中,但它也可在Windows平臺上運行。
從計算機語言來講,組件模型有以Java語言為代表的框架和以C語言為基礎的框架。前者在理論上可以跨平臺運行,底層平臺支持是JVM 技術,而后者則與虛擬機無關,直接在操作系統中運行,因此,速度快,運行效率高。從應用系統的角度來講,目前市場上,主要是J2EE和.NET的競爭,兩者理論上沒有本質的區別,都是采用虛擬機技術。但J2EE可以跨平臺運行,而.NET 則基本不行。在企業級的應用系統中,以Java 技術為基礎的J2EE似乎更占優勢。Java和. NET技術各有特長,因此,在信息系統建設中,應該允許兩種技術存在,取長補短,協同發展,最大限度地提高系統開發的性價比和穩定性。
2、組件框架的體系結構
2.1、描述組件的要素
組件是事先定義了編程接口和功能、相互獨立的軟件單元。一個組件一般有組件標識符、接口、創建方法和功能等要素組成。組件標識符也就是組件的名字,在整個體系結構中必須是唯一的,它是客戶程序使用組件的唯一標識。如在COM規范中,組件用一個128位的clsid,通過注冊表將clsid與組件真實的物理文件名關聯,實現組件的位置無關性。而J2EE框架中的組件則多使用名稱服務和事先約定的特殊字符串表示。組件接口是組件與客戶程序、容器交互和通訊的API。具體包括函數名稱、參數和參數類型等內容。如在Java 語言中可用接口表示,在C語言中用相互有關系的一組函數表示,在C++中則可用虛函數描述。組件多有組件工廠創建,組件工廠也是組件,其創建一般由組件框架提供的系統函數來生成。組件的功能定義了組件需要完成的事情。通常情況下,組件標識符、組件接口、創建方法是組件對用戶程序的契約和承諾,設計好后不能輕易改變,但組件的功能可以修改,體現多態性。
2.2、組件體系結構圖
圖1 |
文章來源于領測軟件測試網 http://www.kjueaiud.com/
版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
技術支持和業務聯系:info@testage.com.cn 電話:010-51297073