構件技術在軟件系統開發中的應用

發表于:2008-02-21來源:作者:點擊數: 標簽:構件技術
構件技術發展情況 不斷變化的 需求 、復雜的業務流程、領域知識的缺乏等許多不可避免的因素都會導致軟件變化的發生,演化性是軟件的基本特征之一。同一類型軟件的重復 開發 不僅僅浪費了人力物力,也會導致開發效率降低、開發水平提高緩慢等不良情況。軟件開
構件技術發展情況

    不斷變化的需求、復雜的業務流程、領域知識的缺乏等許多不可避免的因素都會導致軟件變化的發生,演化性是軟件的基本特征之一。同一類型軟件的重復開發不僅僅浪費了人力物力,也會導致開發效率降低、開發水平提高緩慢等不良情況。軟件開發中如何適應軟件不斷變化的需求并提高軟件產品的復用程度成為了軟件開發過程中關注的焦點問題。實踐表明軟件中穩定度從高到低依次為數據、功能、對象、接口,由此可以知道定義與實現分離,實現軟件的高內聚、低耦合是適應軟件演化性,提高軟件復用度的指導原則。面向對象方法方法、面向構件的開發方法都是在這個原則下產生的。

    ◇ 結構化設計,軟件系統的行為與數據分離


    ◇ 面向對象設計,數據和操作的封裝,行為和屬性的隱藏


    ◇ 當復用占據了應用開發的主導地位時,則構造方法有時被稱為基于構件的開發或構件軟件?;跇嫿ǖ拈_發,耦合度更低,適合快速創建更加復雜的系統


    構件分類

    按功能分,分為三層:底層構件為基本數據類構件和系統支撐構件,包括數據庫構件、代碼表構件;中間層為各種通用的構件包括消息中間件、數據交換中間件等;頂層為針對各種領域的專用構件或子系統構件,例如統計構件,查詢構件等。

    傳統的軟件體系結構、開發過程、組織形式

    ◇ 自底向上法和自頂向下法

    自底向上法出現于早期的計算機應用系統,即在進行系統分析和設計時自下而上,先從底層模塊做起,然后逐步完成整個系統。自底向上法使得系統的開發易于適應組織機構真正的需要;有助于發現系統的增長需要,所獲得的經驗有助于下一階段的開發,易于控制和管理。但由于方法的演變性質,自底向上法使系統難以實現其整體性;同時由于系統未進行全局規劃,數據一致性和完整性難以保證;而且為了保證系統性能的需求,往往要重新調整,甚至重新設計系統。

    隨著系統規劃的擴大和對開發經驗的總結與歸納,自頂向下的系統分析方法論逐步得到了發展和完善。自頂向下法要求開發者首先制定系統的總體規劃,然后逐步分離出高度結構化的子系統,從上至下實現整個系統。運用這類方法可以為企業或機構系統的中期或長期發展規劃奠定基礎,同時支持系統的整體性,為系統的總體規劃、子系統的協調和通信提供保證。但它同樣也存在缺點:對系統分析、設計人員要求較高,在大系統中,對下層系統的實施往往缺乏約束力,開發的周期長,系統復雜,成本較高。

    ◇ 快速原型法

    原型法的核心是原型,即模型,是系統的早期可運行版本。隨著用戶或開發者對系統理解的加深,不斷地對原型進行補充和細化。系統的定義是在逐步發現的過程中進行,這就是快速原型法的基本出發點??焖僭头ǖ拈_發過程體現了不斷迭代的快速修改過程,是一種動態定義技術。

    快速原型法的最大優點是能夠大大減少軟件系統的后期維護費用,使系統功能能正確反映用戶的需求。原型本身及這種方法的不足之處在于,如果原型本身功能設置不齊全、性能不好,會導致原型的設計和使用超出預期的花費和時間。另一個關鍵不足是原型法需要一個合適的軟件開發環境,以便原型能直接轉換成現實的系統。

    以上方法各有其優缺點。"自底向上"法只重局部而忽視了對整體的把握;"自頂向下"法開發周期長、見效慢、缺乏靈活性和適應性;快速原型法雖然具有很明顯的優越性,但因其依賴于快速開發工具的支持,又不能不令許多系統開發者望而卻步。

    基于軟構件技術的軟件體系結構、開發過程、組織形式

    ◇ 系統體系結構


    ◇ 組織形式

    在這種新的軟件開發方式下,軟件公司以開發軟部件為主要業務,提供規格化的軟部件。系統集成商則匯總部件,組合成能完成不同功能的軟構件,將自己的核心技術構件化。正是這兩者之間分工的涇渭分明,將軟件行業工業化逐漸推向成功。

    目前,采用軟構件思想開發的軟件產品相繼出臺,而主流是以美、日大公司為首的產品。由于采用其思想的開發工具推出的時間還不足五年。因此,真正使用軟構件的用戶還屈指可數。盡管軟構件技術還存在著很多不成熟之處,但人們都相信軟構件帶來的好處是不可估量的,它代表了新一代軟件技術的發展方向。

    對于本公司內部的組織機構要采取矩陣式的組織形式,以不同的構件分類方向來確定不同的組,在做項目時,在每個組中選擇合適的人員組成項目組


    ◇ 系統開發過程

    基于構件的軟件開發與其他開發過程不同之處在于它在分析、設計、實現等各個階段中所充實的工作不再是從零開始,在每個階段開發人員首先要通過構件庫管理系統在已有的構件庫中檢索需要的構件,如果:


    對于新增、修改的構件要根據構件庫的標準加入到構件中去,豐富系統構建苦,為以后的系統開發提供好的支持?;跇嫾能浖_發需要含有非常豐富的構件的構件庫做支持,構件庫中應含有大量各種類型的構件,還要對構建進行分類、描述、檢索、維護等。為此,需要設計軟構件庫的管理程序來完成這些工作,軟構件庫的管理程序主要完成以下幾個功能:

    構件檢索:在軟構件中查找到所要求的構件;

    構件擴充:加入一個構件到構件庫中;

    構件刪除:刪除一個已存在的構件;

    構件修改:修改一個已存在的構件。

    構件集成:利用已有的軟構件集成軟件系統;

    基于構件的開發將復雜的問題空間映射成了解決構件分析、提取、開發和構件的集成機制問題。構件的集成機制也稱作構架技術,涉及到構件的描述、體系結構、消息通信等多種技術。構件的分析、提取工作需要對領域具有豐富的經驗,通過不斷分析領域內的共性、個性的特征來完成的,其方法主要有面向領域的特征分析方法等,構件的實現與系統所要采用的體系結構和集成機制有關。形象地說,結構化的開發方法就是用泥土、草來壘房子,面向對象的開發方法就是用磚頭、鋼筋等原料來間房子,基于構件的開發方法就時用混凝土澆筑房子,其中做好的架子就是所謂的構架,或者成為集成機制?;跇嫾拈_發,一般是先構筑系統的總體框架,然后構造各個構件,并依次把構件安裝到系統中去。

    面向構件的開發方法克服了快速原型法需要快速工具支持的不足,取而代之以軟件構件化技術來構造系統。大部分領域中的系統,在功能上有類似之處,因而利用軟件構件技術可以加大軟件復用的粒度,提高復用率,大大簡化開發過程,提高開發效率?;跇嫾拈_發在確定系統總體框架、構筑總體框架、修改總體框架、構造構件以及修改構件等階段,都同一個構件庫打交道,豐富的構件庫是提高系統開發效率,保證系統成功的關鍵所在,因此對于剛剛使用基于構件開發的開發小組來說,不要過于追求系統的構件化程度,尤其不要過分的考慮復用問題,要采取循序漸進的方法,不斷的提高軟件的構件化程度和復用的程度,不斷的完善構件庫的方式來實施面向構件的開發方法,否則可能就喪失了其優越性,就好比想用混凝土澆筑的方法建一間豬舍一樣。

    基于構件開發的未來

    構件技術的出現,極大地滿足了多個應用領域的要求,使得各種技術形成的軟構件可以最大程度地進行重用。同時引出了大規模軟件開發所面臨的一系列問題,如何建造面向對象的軟構件庫結構,并有效地組織和管理;如何分析、提取可復用構件;如何設計適合構建集成的環境等。

    工業化的生產,帶給人們生活翻天覆地的變化;軟件的工業化生產,會帶給人們更多的方便與舒適,但這條道路還很漫長,不過隨著構件、構架技術、產品線技術等新技術的產生,我們有理由相信,軟件工業化的軟件發展的必然,構件化開發也是軟件工業化發展的必然。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97