王建勛
【摘 要】從集成模式的供應鏈軟件中,抽象出普遍性的軟件開發原理。這種原理,包含了面向構件的開發流程、開發途徑等。在探討具體的開發模式時,首先構建一個過程性質的開發模型,敘述過程思路下的開發階段和建模的方式。在這樣的基礎上,研究面向構件的基本構造模型,注重框架的設置和建模措施的現實應用。構件的模型,應當具備軟件系統的構造風格,并可以用形式化的手段予以描述。在設計了開發的具體模型后,還要探討典型性強的開發實例。
【關鍵詞】面向構件;軟件開發;具體方式
一、新式的開發手段概述
開發信息體系的措施,經過了跨越性的進展階段。運用軟件建模的策略,可以設計出面向過程和面向對象兩類方法。前者面對的分別是功能和數據流,而后者的原則是結合功能與抽象的方法。
20世紀末以來,分布對象的策略開始結合起重構軟件體系的策略,這樣的整合,推動了面向構件類型開發措施的產生。面向構件的策略,可以簡稱為COM,它與傳統類型的面向方法有著實質上的差別:面向對象的構建過程,通常針對單獨的應用體系,對于對象的抽象,針對的是問題領域,這種建模方式趨向于靜態;而構件類型的模型,通常采納動態屬性的生成方法,側重軟件的組合。
在領域應用的層面上,構件類型的開發措施,集合了多個單獨的通用和重用軟件,解答的領域屬于問題領域的深化。在這樣的基礎上,構件集合并實現了具體的對象。由此可見,兩種開發手段在探究范圍、探討對象與研究的途徑上,都是差別化的。在軟件開發模式進步的前提下,面向構件類型的開發策略,成為了軟件方法的主導。我們有必要整合過程與開發措施,用這樣的視角來探究軟件的具體開發。
二、一般性的開發流程
2.1 建立過程性的模型
開發軟件中的構件化,指的是重新組合軟件系統,以及重新運用軟件組成部分的一種措施,屬于系統性的開發途徑。這種構件化的內涵為:用領域來表述運用中的需求;用框架的模式來表述結構;用構建來描述軟件中的元素;用實例來描述運用的原型。
站在過程監管與工程的角度,可以將開發的體系分成分析階段、安排階段、實現階段與評析階段。這樣的階段設置,不是流水式的模型,而是整合了過程與增量的工作模式。開發軟件遇到的誤區之一,就是混淆了階段性控制與建模的方式,或者混淆了原型塑造的方法與面向過程的策略。信息體系,屬于開放式的周期系統。因此,構件化的措施與傳統的開發措施一樣,都需要遵照周期性的軟件規律。
然而,構件化的措施,傾向于淡化階段的含義,側重并行方式和重新構造過程。在這樣的方法中,可以增添并行性質的設計思維,以及代表能力成熟階段的模型,來調整局部性的過程,以便提高開發軟件的實效、維持優良的開發效果。可以采納領域的思維和對象性的模式,來完善建模的流程,增添開發環節的操作性。
2.2 維持建模的措施
通常選取的建模途徑,包含了面向對象的途徑與描述的途徑。其中的描述措施,又分為UML、框架式描述、規則的描述等。用來支撐以上建模途徑的措施,包括抽象的措施、元模式、分布對象的措施、協作與代理的措施、參數框架的措施、導航的措施等。
UML的措施,可以供應動態或靜態的建模策略。如果選取了靜態方式,則需要描繪示例圖,來反映領域的功能需要;用對象圖等形式,來描繪面向對象類型的構造;用配置圖的形式,來描繪實現軟件的途徑。如果選取了動態方式,則需要采納交互圖形、狀態圖形和活動圖形的措施,來表達軟件體系的行為規則。這樣的模型,應當包含不同對象的協作、周期或者狀態的更換、事項的處理,以及同步性質的過程監管等。
從框架到原則、再到例子的描述措施,屬于智能性質建模的進一步擴大。在這個系統內,框架構成了敘述問題的外部體系,集合了實體、聯系途徑和約束的規則;原則是用來界定實體與例子的組裝方法的,屬于構造內部元素的映射與互動模型;例子是描繪解決途徑的一種模板,由結構與元素的特定種類構成。因此,從框架到原則、再到例子的描述措施,對于設置軟件架構和軟件生成方式是非常適用的。
三、設置構件的措施
在軟件的體系中,軟件的系統結構叫做構架。這種構架,屬于可以重新構造和預制的骨架,能夠將問題領域轉變成解決領域。構架是指用于化解問題的軟件本身,而框架是指用來表述體系構造的途徑。例如:建立在抽象層次與交互層次基礎上的構造、建立在樹狀或者網絡狀框架基礎上的節點關系、具備共享數據和控制狀態功能的中央資源構造、具備了抽象與驅動功能的對象形態,都被歸為構架的范圍。依據軟件的實際要求,可以把單獨的結構組合成不同體系的分布式計算結構。這樣的軟件,包含了集成類型的構造,如B/S的構造。
框架用來表示總體性的方法與設計規則,是一種方法論的系統。例如:用于描繪某個概念的構造、用類圖來描繪對象的邏輯構造、用ADL來描繪文本的方式、用樹狀或者網絡狀來代表圖形的方式,等等。由此可見,框架是用來探討構架的一種機制,構架則是詳細表述框架的一種結構。
依據分布式的計算系統,應用類型軟件的實際構架,可以分成界面表示、事務整理與數據約束幾種邏輯,它們分別用來關聯用戶、展示核心性功能,以及處理后端的數據服務。依據領域運用的層次與體系平臺能力的差別,還可以細致劃分事務邏輯,構造一個層次較多的系統框架。
然而,無論劃分出多少層次,這種體系在實質上還是三層類型的構架。這種劃分的思維,能夠確保用戶、程序和信息彼此獨立,以便提升整個軟件的執行實效和重新組合的性能。同時,這樣的思維與領域的三種要素相吻合,可以利用界面的實際邏輯,來覆蓋住環境層面的需要;用事務整理的邏輯,覆蓋住流程的需要;用數據信息的邏輯,覆蓋住資源的需要。
四、總結
雖然目前構件重用還沒有在軟件設計領域得到全面推廣,真正的軟件工廠還未形成。仍然存在一些問題,如大的構件庫的建設,構件的分類和檢索,構件的裝配與集成等,使得構件的重用仍處在較低的水平。但構件由于其本身的諸多特性,正在成為軟件開發的一個熱點,基于構件的軟件開發方法被視為解決軟件危機,提高軟件生產效率和質量的一條現實可行的途徑。構件重用的目標是達到需求、分析、設計、編碼、測試的重用。在不同層次上,構件均可以將底層的多個邏輯組合成高層次上的粒度更大的新構件,甚至直接封裝到一個系統,使模塊的重用從代碼級、對象級、架構級到系統級都可能實現,從而使軟件像硬件一樣,能任人裝配定制而成。
【參考文獻】
[1]萬麟瑞,胡宏,孫紅星.面向構件的軟件開發方法學研究[J].小型微型計算機系統,2003(03).
[2]馬永杰,蔣兆遠,張燕.基于功能構件的軟件復用方法[J].計算機應用與軟件,2009(08).
[3]劉建勛,王積鵬,吳浩.面向服務的構件開發方法研究[J].中國電子科學研究院學報,2009(05).
[4]]裴慶裕.J2EE框架下基于構件的軟件復用技術研究[D].山東輕工業學院,2008.