聶 磊
[摘要]基于構件的軟件開發是以構件為組裝藍圖,以可復用軟件構件為組裝模塊,支持組裝式復用,以提高軟件生產效率和軟件產品質量的有效途徑。對軟件構件技術、基于構件的軟件開發方法進行較深入的研究,并在此基礎上將構件技術引入到軟件項目設計中來,探討如何利用軟件構件技術開發軟件項目。
[關鍵詞]軟件開發構件技術應用研究
中圖分類號:TP3文獻標識碼:A文章編號:1671—7597(2009)1020093--01
一、引言
隨著軟件開發規模和復雜性、社會對軟件開發速度和數質量要求的不斷提高,“軟件危機”現象愈加明顯,提高軟件生產率成為軟件產業當務之急。為此,人們提出了軟件復用思想,而構件技術是軟件復用技術的最新發展趨勢。基于構件的軟件開發技術近年來取得了突飛猛進的發展,這不僅對軟件產業的技術革新影響深遠,還將為許多其它領域帶來巨大的效益。構件化技術對軟件開發工廠化是非常重要的。有了構件才能通過構件的組裝、互連,實現軟件的工程化開發。
二、軟件構件技術
(一)軟件工程概念
軟件工程的概念主要是針對20世紀60年代“軟件危機”而提出的。它首次出現在1968年NATO(北大西洋公約組織)會議上。自這一概念提出以來,圍繞軟件項目,人們開展了有關開發模型、方法以及支持工具的研究。其主要成果有:提出了瀑布模型,開發了一些結構化程序設計語言、結構化方法等。并且圍繞項目管理提出了費用估算、文檔復審等方法和工具。
(二)軟件構件技術
構件最早由Meliroy在1968年NATO軟件工程會議上提出。構件是可復用的軟件組成成份,可被用來構造其他軟件。它可以是被封裝的對象類、類樹、一些功能模塊、軟件框架、軟件構架(或體系結構)、文檔、分析件、設計模式等。構件分為構件類和構件實例,通過給出構件類的參數,生成實例,通過實例的組裝和控制來構造相應的應用軟件。例如,如果有一個開發人員創建了一個能讓一個客戶進入公司的數據庫的構件,那么其他程序員就不必重新編寫這個功能,而是從公司的構件庫中直接提取這個構件,并將其應用在新程序中。
基于構件的軟件開發(cBSD,Component Based software Development)是以構件為組裝藍圖,以可復用軟件構件為組裝模塊,支持組裝式復用,以提高軟件生產效率和軟件產品質量的有效途徑。它包含了系統分析、構造、維護和擴展的各個方面,這些方面都是以構件方法為核心的。
軟件構件技術以及基于構件的軟件開發方法,與傳統軟件工程方法有所不同,它不僅僅針對某個具體的工程項目,而更多地是針對某一行業領域的共性需求,利用領域工程方法,將多年積累的行業經驗進行總結,提煉出業務模型、特定領域的系統架構、構件庫等,這樣開發出來的架構和構件封裝了業務的個性和變化性,具有此領域的共同特點,在此領域有很高的可復用性。有了這樣的積累之后,整個應用軟件的生產方式將發生很大的改變,將不再是從頭做起。而是以“構件組裝”的方式生產出軟件應用系統。軟件系統的質量、復用率和開發效率都得到大幅提高。
軟件構件技術要想在實際工作得到有效利用,需要有一些平臺軟件來支撐,這就是我們所說的軟件構件技術的支撐平臺四要素,即構件運行支撐環境、構件開發/組裝環境、構件管理環境和基于構件的開發方法和過程。
三、構件化開發實踐——基于構件的院校辦公系統
在深入研究基于構件的軟件開發方法的基礎上,將其運用在院校辦公系統中,在較好實現系統功能的基礎上,更能充分發揮基于構件的軟件開發方法的優點,使該系統更易于升級和維護,使系統的安全性、可擴展性、復用性、可定制性和適應性均得到大大提高。
(一)構件體系結構與接口的設計
目前支持構件體系結構開發較成熟的模型有CORBA、COM/DCOM及J2EE三大技術體系。其中J2BE具有平臺無關性、可一次開發多處運行等特點,因此我們選用J2EE技術。
J2EE技術提供了一個基于構件的開發方法來設計、開發、裝配和部署企業級應用程序。J2EE平臺提供了一個多層結構的分布式的應用程序模型,該模型具有重用組件的能力、基于擴展標記語言(XML)的數據交換、統一的安全模式和靈活的事務控制。
在CBSD中,系統是依靠各種構件協同工作完成系統功能。為了實現各構件間信息交換就需定義一組接口。業務構件接口設計包括邏輯控制構件接口(Session EJB接口)和業務對象構件接口(Entity EJB接口)。
在該系統中采用一組服務來完成,上層或需用方通過以XML定義的服務接口向提供者請求服務,系統中各構件也利用該接口發布和請求服務。
(二)應用系統的部署
在構件實現、裝配和測試成功以后,構件就可以被部署在應用程序中了。在這一步需要連接客戶端應用程序和服務器端構件。
例如,在構建運用JsP/Servlet技術基于Web的應用系統中,組裝過程就是連接web服務器和應用服務器(包含EJB構件容器)。在web端JsP或Java Servlet根據業務要求調用EJB構件相應服務(接口操作)。
在開發過程中任務的分配采用全局開發采用分層模式,局部開發采用分模塊方式。相應地軟件開發人員分為構件生產者和構件使用者兩類,構件生產者可以將主要精力放到業務邏輯部分。而構件使用人員將得到可復用構件裝配到系統中,可以全身心關注與用戶交互部分。全局分層模式的運用將與用戶交互部分與后臺邏輯處理部分嚴格分離,實現了真正的軟件松耦合目的,另外也實現了構件的“一次編寫,處處運行”目的。
四、結語
基于構件的軟件開發方法極大地利用了復用技術,可以減少軟件開發活動中大量的重復性工作,提高軟件生產效率,降低開發成本,縮短開發周期。同時,由于可復用構件大都經過嚴格的測試,并在實際運行環境中得到進一步檢驗,因此,利用可復用構件進行軟件開發有助于改善軟件質量。此外,大量使用可復用構件,軟件的靈活性和標準化程度也可望得到提高。
本文對軟件構件技術、基于構件的軟件開發方法進行了較深入的研究,并在此基礎上將構件技術引入到軟件項目設計中來,探討了如何利用軟件構件技術開發軟件項目。關于基于構件的軟件開發方法的研究,以后還需要結合更多實際項目尤其是大規模項目進行更深入的研究和探討。在大型軟構件庫的支持下,利用現有的、質量好、可靠性強的軟構件,按照大規模軟件開發的工程規范進行開發,是滿足大型系統要求的捷徑。