淺談基于構件的軟件開(kāi)發(fā)和技術

2018-07-24 14:12:09

随著(zhe)信息時代的來臨,計算機、手機等電子用品在人們的日常生活中逐漸的得到了普及,而軟件是這(zhè)些電子産品技術支持,對(duì)于這(zhè)些電子産品的運行性能(néng)和質量具有重要的作用。傳統的軟件開(kāi)發(fā)主要使用的是“面(miàn)向(xiàng)對(duì)象、面(miàn)向(xiàng)過(guò)程”的方法,這(zhè)種(zhǒng)方法具有明顯的缺點,并且軟件的生産效率和質量低下。随著(zhe)研究的深入,基于構件的軟件開(kāi)發(fā)技術則應運而生,這(zhè)種(zhǒng)方法不僅具有良好(hǎo)的靈活性、适應性和易維護性,還(hái)能(néng)較好(hǎo)的支持軟件複用,其具體的開(kāi)發(fā)方法與技術如下面(miàn)所述。 

1 基于構件的軟件開(kāi)發(fā)過(guò)程 

基于構件的軟件開(kāi)發(fā)的核心是構件級的可重用性,其主要是通過(guò)將(jiāng)已經(jīng)存在的構件進(jìn)行适當的整合來完成(chéng)大型軟件系統的開(kāi)發(fā)。這(zhè)種(zhǒng)方法不僅可以有效的降低大型軟件系統升級和維護的壓力,還(hái)可以更快速地整合系統,減少軟件開(kāi)發(fā)的費用。應用系統的軟件作爲軟件開(kāi)發(fā)中的一種(zhǒng),其主要建造過(guò)程包括構件的分析、設計、實現和組裝。

基于構件的軟件開(kāi)發(fā)過(guò)程的理論基礎是對(duì)于系統中重複出現的部分通過(guò)構件進(jìn)行組合,即通過(guò)書寫代碼的方式來指導構件系統對(duì)特定的内容來進(jìn)行整合與裝配系統。此外,不同于傳統軟件開(kāi)發(fā)方法的另一個地方時:在基于構件的軟件開(kāi)發(fā)技術當中,系統的整合在開(kāi)發(fā)過(guò)程中處于核心的地位,而在傳統的軟件開(kāi)發(fā)當中則僅僅是作爲軟件系統收尾的一個部分。基于此,決定構件的使用、重用和獲得的關鍵是其是否可以與其他的構件之間進(jìn)行很好(hǎo)地整合。

1.1 構件選取

構件的選取過(guò)程也可以看作是構件交易中購買合适構件的過(guò)程,即其主要是通過(guò)對(duì)原有的組件依據系統的要求來進(jìn)行選取的過(guò)程。這(zhè)個過(guò)程也可以擴展到維護構件和開(kāi)發(fā)構件的質量保證上來。就(jiù)構件的選取過(guò)程而言,其主要可以分爲兩(liǎng)個階段,即:發(fā)現和評估階段。

(1)發(fā)現階段。該階段主要是對(duì)各種(zhǒng)構件的屬性進(jìn)行明确,如構件的接口、功能(néng)、性質、特點等。此外,對(duì)于這(zhè)些構件的屬性不應該獨立的看待,還(hái)需要對(duì)其自身的一些特征進(jìn)行綜合的考慮與看待,如構件的可擴展性、可用性、可靠性。在某些特殊的情況下還(hái)需要對(duì)于構件的技術特性加以考慮,如構件開(kāi)發(fā)組織的成(chéng)熟度和過(guò)程、提供者的市場占有率等方面(miàn)。 

(2)評估階段。目前,我國(guó)對(duì)于構件的選取過(guò)程中的質量檢測具有很多種(zhǒng)比較成(chéng)熟的評估方法。例如,IEEE的特定域的構件評價技術、标準組織(Standards Organization)所設定的産品評估标準以及一些适用于特殊問題的評定技術和标準。這(zhè)些方法的一個共同特點就(jiù)是:它們都(dōu)是基于構件的相關理論所産生的解決構件質量評估的方法。但是,這(zhè)種(zhǒng)評價技術和方法具有不确定性,并且很難進(jìn)行相互之間的比較,不能(néng)對(duì)構件進(jìn)行快速修改和精确評價。

1.2 構件的調整  

單個構件爲了符合上下文的假設,完成(chéng)特定的功能(néng)和技術需求,必須要在新系統完成(chéng)之前進(jìn)行适當地調整。這(zhè)種(zhǒng)對(duì)構件進(jìn)行調整的手段與技術可以通過(guò)將(jiāng)構件之間的通用性進(jìn)行擴展,進(jìn)而將(jiāng)構件之間的沖突程度降低到最小。目前,我國(guó)比較常用的方法主要包括:白盒法、黑盒法以及灰盒法。

(1)白盒法。該方法主要是通過(guò)用戶對(duì)構件進(jìn)行相應的修改與控制達到構件調整的目的,但是這(zhè)種(zhǒng)方法由于對(duì)源碼進(jìn)行了修改,很容易造成(chéng)軟件升級及維護方面(miàn)的問題。

(2)黑盒法。該方法主要是通過(guò)用戶對(duì)構件進(jìn)行二進(jìn)制的編程修改,這(zhè)樣(yàng)可以在沒(méi)有API和擴展機制的條件下進(jìn)行。

(3)灰盒法。該法可以提供構件自身的API或者擴展機制,但是不可以對(duì)其源碼進(jìn)行修改。  

2 系統的實現 

2.1 系統中的構件實現  

軟件工程網絡課堂教學(xué)系統的開(kāi)發(fā)所依據的構件模型主要是通過(guò)B/S架構的三層體系結構來實現的,其開(kāi)發(fā)所依據的前後(hòu)台分别采用ASP和SOL Server 2000數據庫。對(duì)于一個構件中的業務邏輯層/功能(néng)、表示層/用戶界面(miàn)和數據訪問層的實現方法可以通過(guò)課件構件的開(kāi)發(fā)過(guò)程來加以說明。 

(1)用戶界面(miàn)層實現。課件上傳構件的表示層用戶界面(miàn)可以分爲動态和靜态兩(liǎng)種(zhǒng)形式。其主要借助Dream weaver的模闆來實現靜态界面(miàn)功能(néng),而通過(guò)ASP技術來實現動态頁面(miàn)地生産。在設計的過(guò)程中,動态界面(miàn)中常見的動作是:生成(chéng)和傳送下一個視圖給用戶、選擇下一個顯示視圖、分發(fā)這(zhè)些請求到相應的業務邏輯、解釋用戶請求。

(2)業務邏輯、功能(néng)層的實現。課件上傳的業務邏輯層的作用是將(jiāng)所上傳的文件的相關說明在用戶界面(miàn)顯示出來,并將(jiāng)文件錄入到相應的數據庫當中。爲了保證數據的安全與可靠性,在構件進(jìn)行設計的時候,特意對(duì)上傳文件的格式進(jìn)行了特殊的性質,即隻能(néng)上傳RAR壓縮文件,并且爲了有效地避免造成(chéng)文件重名的現象,對(duì)于上傳的文件以上傳的時間爲新的文件名進(jìn)行重新的命名。

(3)數據訪問層的實現。課件上傳構件數據訪問層主要是用于數據及文件的存儲功能(néng),通過(guò)將(jiāng)具體的功能(néng)(如插入、查詢等操作)封裝到特定的構件當中,以方便今後(hòu)數據庫的重用與維護。

2.2 基于構件的系統組裝 

(1)原子構件的組裝。原子構件組裝的核心思想是:將(jiāng)上述的三個層次(即:用戶界面(miàn)層、業務邏輯、功能(néng)層及數據訪問層)組裝成(chéng)構件。其原理爲:通過(guò)借助原子構件的組裝,將(jiāng)用戶界面(miàn)、業務、功能(néng)和數據訪問層這(zhè)三個層次進(jìn)行很好(hǎo)地整合,以使其構成(chéng)一個完善的整合體,進(jìn)而達到原子組裝的目的。

上述的三個層次構件的排列順序爲,用戶界面(miàn)層在最上,其次是業務/功能(néng)層,最後(hòu)是數據訪問層。基于此,作爲中介的業務/功能(néng)層構件是原子組裝的基礎。其具體的原子組裝流程爲:將(jiāng)用戶界面(miàn)層構件module.asp通過(guò)使用VBScipt腳本來加以引用。而作爲其中一部分的數據訪問層則是通過(guò)采取面(miàn)向(xiàng)對(duì)象的方式,首先將(jiāng)功能(néng)構件ADD.ASP與外部接口連接,然後(hòu)再類UPLOSD_FILE和類fileinfo内部的接口與類ke jian接口進(jìn)行連接,以組裝出一個低耦合、高内聚的原子構件。

(2)複合構件的組裝。複合構件是通過(guò)多個原子構件組裝在一起(qǐ)而形成(chéng)的獨立構件。這(zhè)些組裝所使用的構件分裝在特定的文件當中,切各構件之間沒(méi)有行爲和數據上的耦合,因此可以通過(guò)采用黑盒方法對(duì)其進(jìn)行組裝。在組裝的過(guò)程中,通過(guò)將(jiāng)各種(zhǒng)不同地連接構件之間進(jìn)行連接,并通過(guò)接口之間綁定的方式來對(duì)内、外部的接口進(jìn)行組裝,以得到所需要的複合構件。此外,鑒于擴展連接件具有可擴展的特性,對(duì)于複合構件的外部接口可以采用擴展連接件進(jìn)行适當的連接,這(zhè)樣(yàng)所得到的複合構件也將(jiāng)具備可擴展的特性,并且内部接口也可以進(jìn)行信息的傳遞,所組裝出來的構件也具有很好(hǎo)地動态性質。

總之,21世紀是信息化社會(huì),計算機、手機等電子産品遍布在人們的生活中,軟件作爲這(zhè)些電子産品的技術和功能(néng)支持,對(duì)于其具有重大的影響。因此,這(zhè)必將(jiāng)導緻軟件的需求及其複雜程度的迅猛增加。基于此,人們必須不斷探索軟件開(kāi)發(fā)新技術來滿足軟件發(fā)展的需要。随著(zhe)研究的深入,構件以其本身諸多的優良特性,正在逐漸成(chéng)爲軟件開(kāi)發(fā)的一個熱點,基于構件的軟件開(kāi)發(fā)方法被(bèi)視爲解決軟件危機,提高軟件生産效率和質量的一條現實可行的途徑。