李 韜(天津中德應用技術大學 經貿管理學院,天津 300350)
?
關于構件的軟件開發(fā)技術分析
李 韜
(天津中德應用技術大學 經貿管理學院,天津 300350)
摘 要:關于構件的軟件開發(fā)最根本的目的就是提高軟件構件的可復用率,簡化軟件開發(fā)的過程,減小開發(fā)成本,縮短軟件開發(fā)時間,同時還能將提高軟件開發(fā)的質量。本文將對關于構件的軟件開發(fā)開發(fā)方法和技術進行深入分析研究。
關鍵詞:構件;軟件開發(fā);技術分析
軟件作為一種信息時代下的高科技產品,是非常重要的基本設施。隨著科學技術在快速的發(fā)展過程,對軟件的性能要求也越來越高。尤其當前人們的日常生活已普及應用到諸如智能手機、電腦等電子產品,軟件是電子產品的重要技術支持,也勢必引起人們的普遍關注,人們對軟件的質量及性能提出了更高的要求。以往的軟件開發(fā)主要采取“面向對象、面向過程”的方法,這樣的方法具有極其明顯的缺陷,諸如適應性差,不靈活性,很難維護,造成軟件的生產效率低下,質量不高。隨著科學研究地不斷深入,基于構件的軟件開發(fā)技術被應用到軟件開發(fā)中來。該技術改進了傳統(tǒng)的軟件生產方法,更好的利用構件技術的功能,能夠繼承與發(fā)展面向對象軟件的工程,使其軟件開發(fā)的成本有效的降低,而且提高了軟件質量,同時軟件的系統(tǒng)的安全性、靈活性,便于升級和維護性都得到了明顯提高。關于構件的軟件開發(fā)技術和他具有的很多優(yōu)良特性,使其成為了軟件開發(fā)中的一個熱點。本文將對關于構件的軟件開發(fā)開發(fā)方法和技術進行深入分析研究。
關于構件的軟件工程(Component-based software engineering CBSE)是一種新型的軟件開發(fā)模式,是用能即插即用的構件在軟件構架下組裝成一個應用程序,達到實現(xiàn)軟件復用的目的。而構件實際上是一種存在于軟件系統(tǒng)中的物品,其作用是對客觀事物實際形態(tài)進行描述。構件可以單獨進行制造、分配、裝配工作,可以即插即用。一個構件往往是由一個或是多個對象包裝組合而成,其構成一般具備四個要素,即名稱、屬性、實現(xiàn)和接口,主要是通過接口為用戶提供服務。在構件化軟件開發(fā)這一模式當中,構件模型處于核心部位,并隨著該技術的不斷深入發(fā)展而表現(xiàn)出多種形式。
首先是構件的軟件具有復用性高的特點。就是在軟件開發(fā)中避免重復勞動的解決方案,提高構件的通用化性,通用化程度越高,那么可復用性也越高,他們兩者之間是成正比關系。因此在構件的軟件設計中要避免構件的開發(fā)泛濫化,將開發(fā)的重點集中于應用的特有構成成分,讓等待開發(fā)的軟件在過程中就被復用。一方面減輕了工作量,避免重新開發(fā)可能引入錯誤,還大大提高了軟件的可復用度。其次是構件的軟件具有可靠性高的特點??煽啃詮娬{的是在規(guī)定的時間內和在一些特殊的環(huán)境下使構件軟件不失效的概率。在基于敏捷開發(fā)的構件化軟件實踐環(huán)境下,對于每個新的軟件版本都以構件測試為基礎,用戶需要對每個構件采取使用性測試以發(fā)現(xiàn)軟件失效。同時構建容易使用的話可以方便構件的開發(fā)人員選擇,也同時提高了構件的可靠性和易理解性。最后構件的軟件具有易組裝性特點。構件里的實現(xiàn)語言與運行的環(huán)境是由不同人開發(fā)而存在不同。怎么樣挑選合適的構件來組裝構件,需要把構件在實例化過程之后再做組裝,然后實際應用到需要開發(fā)的軟件或者系統(tǒng)上面,因此構件組裝的簡單與否直接影響到軟件的復用性。如果構件間表現(xiàn)出松散的偶合度和十分方便的組裝機制,這樣就會使得構件的組裝容易。
基于構件的軟件開發(fā)的核心就是構件級的可重用性,其工作的原理是整合現(xiàn)成的軟件構件,并在此基礎上構造一個大型的軟件系統(tǒng)。這種方法不僅可以快速組裝系統(tǒng),減少軟件開發(fā)的費用。還能有效的降低大型軟件系統(tǒng)升級和維護的壓力,提高軟件系統(tǒng)靈活性,使軟件系統(tǒng)更便于維護。而這一軟件構造的過程則涵蓋了設計、分析、實現(xiàn)并組裝構建這一系列過程。系統(tǒng)的構建是以寫代碼的形式得以實現(xiàn),采用已有的構件來裝配與整合系統(tǒng),因此構建能否與其他構件有效進行整合,是決定其能否被獲得并使用的關鍵。
3.1構件的選取
為切合新系統(tǒng)的要求,選取以前開發(fā)的組件,或是重新購買合適構件,即為構件的選取過程。這一過程包括發(fā)現(xiàn)階段及評估階段,不論是何種階段,均是為了保證構建及開發(fā)構建的質量。在構件選取的發(fā)現(xiàn)階段,需要明確各種構建的屬性,諸如性質、接口、特點、功能等,并在綜合性的考慮其安全性、可靠性、可用性、可擴展性等各類屬性的基礎上,充分考慮構件的技術特性,包括構件的市場占有率,以及技術的成熟度等。當前互聯(lián)網中存在許多專門的構件庫,許多Web站點也會提供相關的構件鏈接,但這些構件庫及鏈接也并非那么容易獲取。因為不同類型的構件庫具有各自不同的訪問方式及組織,在很大程度上加大了其訪問的難度,而Web站點中的構件鏈接也難以通過傳統(tǒng)的搜索引擎檢索到?;诖?,需要將網絡上的這些構件資源整合利用到構件系統(tǒng)的開發(fā)中來,不僅解決網絡構件資源難以被獲取的問題,還能節(jié)省軟件開發(fā)的時間,提高軟件的質量及實效。對于領域工程師來說,要獲得所需構建,可通過商業(yè)購買、領域分析、逆向工程或自行開發(fā)等途徑。在評估階段中,主要運用EEE的特定域的構件評價技術、標準組織所設定的產品評估標準等方法,進行構建選取中的質量檢測及評估,這些評估主要是集中在質量評估,對技術和方法還是不確定性。
3.2構件的調整
構件的調整主要是讓構件間的沖突降低到最小,單個的構件是為了完成特定的功能需求,是在新系統(tǒng)完成之前為了符合前后文的假設進行適當?shù)卣{整。當前最常用的方式主要有白盒法、黑盒法和灰盒法。白盒法主要是為實現(xiàn)構件調整的效果,進行適當?shù)脑创a修改與控制。黑盒法是通過用戶在沒有API和擴展機制的條件下對構件進行二進制的編程修改。灰盒法具有提供構件自身的API或擴展機制,但是源碼不可以修改。
3.3設置構件的措施
軟件的系統(tǒng)結構稱構架,構架是指用于化解問題的軟件本身,屬于可以重新構造和預制的骨架,能夠將問題領域轉變成解決領域。如構架的范圍可以是建立在樹狀或者網絡狀框架基礎上的節(jié)點關系、建立在抽象層次與交互層次基礎上的構造,以及具備共享數(shù)據和控制狀態(tài)功能的中央資源構造或者是具備了抽象與驅動功能的對象形態(tài)。而框架是強調表述體系構造的途徑,以體現(xiàn)總體性的方法和設計規(guī)則,是一類方法論的系統(tǒng)。如:用ADL來描繪文本的方法、用于描繪某個概念的構造和用樹狀或者網絡狀來代表圖形的方法等方面,可以說框架是用來探討構架的一種機制,構架則是詳細表述框架的一種結構。架構的設計就是用戶實際需要,對系統(tǒng)進行規(guī)范化設計之后再選擇適當?shù)募軜嬙O計方案,對整個系統(tǒng)的各項實際實施的環(huán)節(jié)需要充分明確,因此構架的設計好壞,尤其是是否進行十分系統(tǒng)的架構設計就成為對構件的軟件系統(tǒng)有非常重要的作用。
[參考文獻]
[1] 劉舒寧.支持復用的軟構件管理技術與系統(tǒng)研究[D].浙江大學,2015
[2] 謝 丹.基于圖文處理的軟構件檢索技術研究[D].南京財經大學,2013
[3] 劉 崇.基于融合業(yè)務支撐環(huán)境的業(yè)務構件的設計與實現(xiàn)[D].北京郵電大學,2011
[4] 嚴魯明.基于構件相關性的構件交互沖突檢測研究[D].合肥工業(yè)大學,2009
[5] 郭東建.嵌入式分布計算環(huán)境下的高效軟件構件化框架初探[J].科技致富向導,2013(33)
[6] 王 琦,曾廣平,楊傾生.基于構件的服務模板研究[J].計算機工程與設計.2013(07)
[7] 王震東.領域化業(yè)務構件的描述體系研究和實現(xiàn)[D].南京航空航天大學,2012
Software Development Technology Analysis of Component
Li Tao
(Tianjin Institute of Applied Technology, Tianjin 300350, China)
Abstract:The most fundamental purpose of component-based development is improve the reuse rate of software component, simplify developing process,reduce development costs, shorten the time of software development, but also improve the quality of software development. In this paper, the methods and techniques of software development based on component are analyzed deeply.
key words:component; software development; technical analysis
作者簡介:李韜(1980-),男,天津人。