面向構件軟體工程

CBSE是指用裝配可重用軟體組件的方法來構造應用程式。 (4)CBSE開發的系統的維護十分方便 由此可見,CBSE開發的系統的維護和升級都十分方便。

如何更好地實現軟體重用一直是軟體工程的重要研究課題。OO技術的出現是軟體開發技術的巨大進步,但怎樣實現大粒度的重用以提高軟體的可維護性和可擴展性仍是一個難題,CBSE的發展從根本上解決這一問題:由於COM/DCOM、JavaBeans/EJB等組件標準的出現,CBSE趨向實用。1990年開始在基於面向對象技術的基礎上發展了組件技術,它豐富了重用手段和方法,逐漸成為研究的熱點。組件(Component)是可用來構成軟體系統的即插即用(plug and play)的軟體成分,是可以獨立地製造、分發、銷售、裝配的二進制軟體單元。CBSE是指用裝配可重用軟體組件的方法來構造應用程式。它包含了系統分析、構造、維護和擴展的各個方面,在這些方面中都是以組件方法為核心的。
與傳統的軟體重用方法比較,CBSE有以下特點[4]:
1)即插即用。組件可以方便地集成於框架中,不用修改代碼,也不用重新編譯。
2)以接口為核心。組件的接口和實現是分離的。組件通過接口實現與其他組件的框架的互動,組件的具體實現被封裝在內部,組裝者只關心接口,不必知道其實現細節。
3)標準化。組件的接口必須嚴格地標準化,這是組件技術成熟的標誌之一,目前主要的組件標準有Microsoft的COM/DCOM,Java的JavaBeans和EJB,OMG組織的COR-BA。可以說,計算機界很久以前就有用組件來裝配成套用軟體的想法,但始終未能成為現實,其中的一個主要原因是組件標準的缺乏。正是由於出現了以上較為成熟的組件標準,才使得CBSE由夢想走向現實。
4)組件通過市場銷售和分發。大量成熟的組件可以通過市場購得,市場的競爭機制也可以保證組件生產的質量的提高、種類的增加和價格的降低。
CBSE的意義[5]:
(1)CBSE從根本上改變了軟體生產方式
正是福特創造了汽車的流水線製造法,才開創了工業化大規範生產的新紀元。而福特製造的精髓就是將汽車生產的重點從製造每一個零件轉到裝配,汽車製造者不必自己設計製造每一個零件。大部分零件由外購而來。過去的軟體生產方式與舊的汽車生產方式十分相似,開發者往往要編寫程式中的絕大多數代碼。因此,如果能實現像組裝汽車或機器一樣地進行軟體開發,將是軟體工程的巨大進步。
(2)CBSE提高了軟體重用率,保護了已有的投資
生產好的組件可以分發銷售給多個其他用戶,一方面大大降低單個組件的成本,另一方面大大降低軟體開發中的重複勞動。目前在各家企事業單位中存在著許多舊的計算機軟體系統,可以將這些系統分成模組後通過組件技術封裝起來,成為新系統的組成部分。這種通過標準的接口將舊的程式代碼隱藏起來的做法,巧妙地保護了已有的軟體投資。
(3)CBSE使開發者將更多的注意力放到業務流程和業務規則上去
由於開發者的主要工作是構造框架和裝配組件,使他們可以擺脫編程的細節問題,將更多的精力投入到與用戶交流。另外,一切業務管理者也可以在更高的層次上,用偏近於業務而不是偏近於計算機的語言進行討論。
(4)CBSE開發的系統的維護十分方便
由於CBSE是模組化開發,如果某個模組需要修改,只需用修改好的模組替換掉以前的模組,不用重新編譯整個系統。若想擴展系統的功能,也只需將符合框架的約束條件的接口要求的擴展模組直接加入到該系統即可。由此可見,CBSE開發的系統的維護和升級都十分方便。
(5)CBSE降低了對系統開發者的要求
儘管CBSE沒有消除系統開發者和使用者之間的分界線,但卻移動了這條分界線。這是因為CBSE的開發者主要任務是裝配已有模組,不需要有很高的編程技巧。從而使更多的人可以構造適用於自己的系統。在開發環境中,僅僅在構造組件時才需要對程式語言的熟悉和高超的技巧。

熱門詞條

聯絡我們