999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

軟件架構可靠性評估平臺組件庫的設計

2009-04-29 00:00:00陳未如
電腦知識與技術 2009年5期

摘要:簡單介紹了軟件架構和組件的概念以及軟件架構可靠性評估平臺的功能和設計思想。軟件架構可靠性評估平臺,用于對軟件架構的可靠性進行評估。軟件架構主要由組件和連接件組成,該文設計的組件庫就是用來存放組件,實現對組件進行維護,從而使系統結構層次更分明,使系統有更好的可擴展性。

關鍵詞:軟件架構;可靠性評估平臺;組件庫

中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2009)05-1121-03

The Design of Components Library in the Evaluation Platform of Software Architecture

YANG Cheng ,CHEN Wei-ru

(Department of Computer Science and Technology, Shenyang Institute of Chemical Technology, Shenyang 110142, China)

Abstract: A brief introduction of the software architecture and components as well as the function and design of Reliability evaluation platform of software architecture.Reliability evaluation platform of software architecture designed in this article is used to assess the reliability. It mainly composed by components and connector. components library is used to storage components,At the same time,it can implement the components maintenance, so that the system-level structure more clearly and a better system scalability.

Keywords: Software Architecture,Reliability evaluation platform of software architecture,components library

軟件架構是軟件開發早期設計階段的產物,是關于系統的抽象描述。軟件架構的正確設計和選擇,為以后的開發、集成、測試、維護各個階段的成功提供了保證[1]。基于架構的軟件系統是指由組件裝配、組合而成的軟件系統,它主要由組件和連接件組成。人們越來越關注軟件架構和組件技術,源于它所帶來的產品的穩定性、可靠性、可復用性和可擴展性等優勢。在架構描述語言、軟件架構分割和可靠性計算方法等研究基礎上,研究設計一個相應的軟件架構評估平臺,支持對架構的圖形化建模、ADL的自動生成和對架構的可靠性進行評估,是很有意義的。作為存放組件的容器,組件庫設計的好壞,直接影響到整個平臺的穩定性和效率。本文著重闡述架構評估平臺中組件庫的設計。

1 相關概念及架構平臺的功能

1.1 軟件架構的概念

軟件架構(Software Architecture,簡稱SA)是在1969 年的NATO 軟件工程會議上首次提出的[2],直到1995年SA 才被確立為軟件工程一個研究方向。雖然好的架構不一定能保證可以獲得高可靠性的軟件產品,但可以肯定是,建立在不良架構基礎上的軟件不可能獲得較高的可靠性[3]。

軟件架構就是系統的一個或多個結構,它包括軟件組件、這些組件的外部可見屬性以及組件之間的相互關系。軟件架構是由組件、連接件和配置組成[4];組件是架構中的功能單元;連接件是功能單元之間進行交互的通道;配置用來說明組件和連接件是如何結合在一起的,是對組件和連接件的約束;通過配置可以確定組件是否正確連接、接口是否匹配、連接件構成的通信是否正確等。組件、連接件和配置是軟件架構最基本的構造元素。此外,軟件架構還包括端口和角色兩種元素[5]。

1.2 組件的概念

組件是軟件架構不可缺少的一部分。一般認為,組件是提供某種功能的計算單元或用戶級的邏輯對象,如外部文件或共享數據等。組件也可以和一個微型應用程序類似,是已編譯、鏈接好的二進制代碼。組件是可獨立部署的單元,可以作為第三方的組裝單元。

組件可以是原子的,也可以是復合的。組件和連接件組合構成更為復雜的復合組件。復合組件的結構也可以被看作是一個軟件架構。組件通過接口與外部環境交互,而接口由一組端口組成,每個端口表示組件與外部環境的交互點。

這種基于組件的軟件系統實現了軟件“即插即用”的思想,通過組裝已存在的組件和連接件來搭建整個系統,使得軟件開發變得簡單有效。

1.3 架構平臺的功能和組成

面向可靠性評估的軟件架構設計平臺要求能對軟件架構進行開發、設計和描述,對所描述的軟件架構進行可靠性的評估。

架構平臺提供必要的架構風格庫、組件庫和連接件庫,除基本元件之外,還可以根據需要對架構風格庫、組件庫和連接件庫中的元件進行增加、刪除和修改。

平臺使用架構描述語言ADL(Architecture Description Language)對軟件架構進行描述。作者所在的課題組研究了用于可靠性評估的架構描述語言RE/ADL[6],并提出了使用該描述語言進行可靠性分割的方法。

2 組件庫設計

2.1 組件庫組件的分類

在企業級的應用軟件系統中大多采用三層的應用框架:用戶界面層、業務邏輯層和數據層。在這種結構的軟件框架中,每一層為上一層提供服務(服務提供者),并作為下一層的客戶(服務消費者),從而提供了一個具有高度可移植性、可擴充性的兼容性平臺。本文設計的組件庫中對組件的分類就是以這種對軟件系統層次的劃分為基礎進行研究的,將組件庫細分為用戶界面組件、業務邏輯組件、通用操作組件、數據組件和商業組件。

用戶界面組件由界面對象(UI)對象)組成,是應用軟件的用戶接口部分,是人機進行交互的接口,對應于用戶的需求,并負責觸發業務事件以啟動業務邏輯組件或通用操作組件。用戶界面層組件包括窗體、命令按鈕、菜單項等。

業務邏輯組件是應用軟件系統的主體,負責處理所有與業務邏輯和業務規則直接相關的操作,是應用軟件系統的業務模型,表現為各種各樣的物流、資金流、信息流等。這些大小不定的組件分別完成不同的商業邏輯或商業規則,是為應用軟件系統業務邏輯設計開發的特定功能組件,如某行業軟件中的生產計劃表單等。這一類組件一般粒度比較大,復用性較弱。

在對應用軟件系統進行開發的過程中,不同的應用軟件系統之間存在一些通用的操作。這些操作可以很方便地從一個系統的開發移植到另一個系統的開發中。因此,為了提高軟件架構的開發效率和平臺的易用性,將這些通用的操作從業務邏輯層分離出來,單獨形成通用操作組件,如數據存取操作組件、打印操作組件、查詢操作組件、數據接口組件等,這一類組件復用性較強。

數據組件負責軟件系統基礎數據和商業數據的存放和管理,并對這些數據的完整性、一致性提供保證。它一般都是由一些主流的數據庫管理系統組成,如ORACLE、DB2、SQL Server、Sybase、MySQL等。

商業組件指被特定標準了的組件。這些標準為組件開發者提供了現成的應用程序架構。這一類組件包括Com組件、EJB組件和CORBA組件等。

2.2 組件庫結構

軟件復用是一種提高軟件質量和降低軟件成本的有效方法,隨著計算機軟件理論和技術的革新,組件技術受到了越來越多研究人員的矚目。作為軟件復用概念的具體化實現,已經有越來越多的研究機構和開發商投入到組建的研究和開發中,并且已經相當多地應用到了軟件的開發中。

本文研究設計的軟件架構可靠性評估平臺,要求能夠對要開發的軟件進行架構設計或描述,并且對其進行評估。組件是軟件架構的必要組成部分。為方便進行架構設計或描述,需要有一種機制來管理組件,即需要建立組件庫。

組件庫的搭建有利于架構平臺對組件進行管理,也方便對組件進行使用。除常規的組件庫維護功能外,組件庫還考慮了添加自定義組件的功能,可以將新組件或由多個已有組件的復合而成的組件添加到組件庫中,以便復用。組件庫的設計可以使整個平臺功能更加強大,結構可以得到優化,也可以使開發更加靈活。

架構平臺的組件庫主要由五部分組成:組件庫容器、組件基類、基本組件、原子組件、復合組件。

組件庫類是用來存放組件的容器,并提供增加、刪除、修改等方法對組件庫中的組件進行控制。另外,組件庫又是平臺生成具體組件的工廠。

組件類是其它組件的基類,是具體組件的一個原型,由它并不能夠生成具體的組件,但其它組件都由這個模型派生出來,它提供一種規范。這樣既增強了架構平臺結構的靈活性,也提高了編程效率。

基本組件類是幾個基本組件的基類,這個類派生出來的組件都是一般架構設計中常用的組件,并且在組件庫中不能被用戶修改或刪除。基本組件又分為用戶界面組件、業務邏輯組件、通用操作組件、數據組件、商業組件。在基本組件類派生的這五種詳細劃分的組件類中存放用于生成用戶使用的組件的模型。如用戶界面組件包括窗體、菜單等。

原子組件類是一個可以根據用戶要求生成自定義組件的類。這種組件可以進行版本替換,根據用戶需要對原組件修改或添加新功能。

復合組件是由若干個組件和連接件組合,把它們封裝成一個組件實體。在軟件的架構中,某些組件和連接件的組合經常被使用,復合組件可以提高開發效率,也可以使整個架構層次更分明,開發更簡便。復合組件的結構同時也可以被看作是一個軟件架構(或稱為子架構)。

確切地說,組件庫所管理的不是各個組件對象本身,而是不同組件的類,或者說是組件框架。根據架構平臺的需要,組件庫負責管理各類組件,同時生成具體組件對象供平臺使用。

更確切地說,本架構平臺組件庫所管理的組件并不是真正可運行的組件,其為平臺生成的也只是組件框架或組件說明,即組件設計實例。根據組件設計實例,軟件開發人員可以進行組件開發。

3 組件庫實現

以組件類為基類,產生基本組件、原子組件、復合組件三個派生類。組件類是三個派生組件類的模型,為它們提供必要的屬性和方法,但本身并不能生成平臺架構中用戶使用的組件實例。在構架平臺中只能由基本組件派生的模塊、數據庫、數據文件、由原子組件類生成的自定義組件以及復合組件類生成用戶要使用的組件實例。

組件庫類(CcompLibrary)的設計要求簡單有效,清晰明了。主要包括組件列表和添加組件、修改組件、刪除組件等方法。ComponentList用來存放組件信息。ComponentGList用來存放組件的圖形信息,與ComponnetList中的組件信息是通過組件類型號CTypeID一一對應的,使用中點擊組件庫中的組件圖形,在內存中就生成一個相應的組件。AddComponent、EditComponent、RemoveComponent方法控制組件庫中組件的添加、修改和刪除。

Class CcompLibrary

{

private ArrayList ComponentList = new ArrayList();//組件列表

private ArrayList ComponentGList = new ArrayList();//組件圖形

public int AddComponent(CComponent ACmp)//添加組件方法

public int EditComponent(Cccomponent ECmp)//修改組件

public int RemoveComponent(CComponent RCmp)//移除組件方法

……

}

以組件類為基類,產生基本組件、原子組件、復合組件三個派生類。組件類是三個派生組件類的模型,為它們提供必要的屬性和方法,但本身并不能生成平臺架構中用戶使用的組件實例。在構架平臺中只能由基本組件派生的具體的組件類、自定義的組件類以及復合組件類生成用戶要使用的組件實例,而該實例也只是設計實例。組件的模型存放在二進制文件中,生成實例時調用相應的文件。

架構平臺生成的包括組件設計實例的軟件架構以二進制文件的形式儲存,存儲組件必要的設計信息,如組件的ID、名稱、功能的描述、位置、大小、可靠性值或可靠性描述等。還應存儲一個端口列表,用來存放向內傳遞組件處理所需要的內容或控制信息和向外傳遞組件處理后的結果或控制信息。圖2是組件的圖形化表示。

CTypeName是組件類型的名稱,CTypeID是與CTypeName一一對應的組件類型號,在ComponentList中存放的就是組件類型號;Cname和CID是由組件類生成具體組件的名稱和組件號;MpDependence是組件的可靠性值;CPositionX和CpositionY是組件的位置信息。CPList是組件的端口列表;組件類中還包括大小、顏色、可見性等信息。

public class CComponent

{

private int CTypeID;//組件類型號

private float CTypeName;//組件類型名

private float MpDependence;//可靠性值

privat int CID;//組件號

private string CName;//組件名

private int CPositionX;//位置信息

private int CPositionY;

private ArrayList CPList = new ArrayList();//端口列表

… …

}

4 結論

軟件架構關注系統的全局組織形式,是對系統結構高層抽象的描述。對于大型軟件系統而言,好的架構的設計已經成為系統成功的關鍵因素。本文介紹了軟件架構、基于風格的軟件架構可靠性評估平臺的概念、平臺組件庫的概念、結構和設計方法。組件庫的設計能起到對架構平臺系統結構層次更分明,使系統開發更靈活。組件庫設計中對組件的分類還不夠細致,隨著應用環境中新組件和新技術的不斷演化,還需要進一步細化、完善,如何融合軟件架構描述語言也應該著手研究。目前軟件架構可靠性評估平臺正在開發中。

參考文獻:

[1] Land R.A Brief Survey of Software Architecture[R].Malardalen Real-Time Research Center (MRTC) Report,2002.

[2] Kruchten P,Obbink H, Stafford J.The Past,Present,and future of software architecture[J].IEEE Software,2006,23(2):22-30.

[3] 周欣,黃璜,孫家輔等.軟件體系結構質量評價概述[J].計算機科學,2003,30(1):49-52.

[4] Len Bass.軟件構架實踐[M].北京:清華大學出版社,2002:15-16.

[5] 梅宏,申峻嶸.軟件體系結構研究進展[J].軟件學報,2006,17(6):1257-1275.

[6] 王璐.基于軟件架構可靠性評估描述語言的研究[D].沈陽:沈陽化工學院,2007:23-35.

主站蜘蛛池模板: 久久综合结合久久狠狠狠97色| AV在线天堂进入| 麻豆国产在线观看一区二区| 欧美伊人色综合久久天天| 日韩成人午夜| 中文字幕调教一区二区视频| 亚洲精品久综合蜜| a毛片基地免费大全| 粉嫩国产白浆在线观看| 国产簧片免费在线播放| 欧美成人免费午夜全| 亚洲欧洲一区二区三区| 亚洲精品片911| 国产一区二区三区夜色| 免费午夜无码18禁无码影院| 精品人妻无码中字系列| 国产丝袜精品| 无码aⅴ精品一区二区三区| 中文字幕永久在线看| 国产日韩欧美中文| 99久久性生片| 亚洲av无码牛牛影视在线二区| 色老二精品视频在线观看| 久久影院一区二区h| 久久综合色天堂av| 天堂av高清一区二区三区| 国产视频自拍一区| 免费精品一区二区h| 日韩天堂视频| www.国产福利| 国产在线观看精品| 婷婷亚洲视频| 婷婷丁香色| 亚洲av无码久久无遮挡| 亚洲二区视频| 一级全免费视频播放| 欧美a在线看| 国产精品亚欧美一区二区三区| 丁香五月激情图片| 在线国产三级| 波多野结衣的av一区二区三区| 91精品久久久久久无码人妻| 天天色综网| 久久亚洲美女精品国产精品| 熟妇人妻无乱码中文字幕真矢织江| 在线观看欧美国产| 亚洲动漫h| av一区二区三区高清久久| 亚洲成网777777国产精品| 亚洲三级影院| 国产日韩欧美精品区性色| 国产丝袜无码一区二区视频| 欧美一区二区自偷自拍视频| 亚洲欧美成aⅴ人在线观看| h视频在线播放| 欧美激情视频二区| 久久青草免费91线频观看不卡| 国产精品免费p区| 色哟哟国产成人精品| 国产在线观看精品| www.亚洲一区二区三区| 久久精品国产精品青草app| 波多野一区| 在线亚洲小视频| 波多野一区| 丰满少妇αⅴ无码区| 亚洲精品日产精品乱码不卡| 国产精品夜夜嗨视频免费视频| 伊人久久福利中文字幕| 一区二区在线视频免费观看| yy6080理论大片一级久久| 亚洲国产欧美目韩成人综合| 男女性色大片免费网站| 日韩av在线直播| 亚洲精品成人7777在线观看| 浮力影院国产第一页| 国产精品私拍在线爆乳| 亚洲AV无码不卡无码| 亚洲中文制服丝袜欧美精品| 亚洲国产精品日韩专区AV| 欧美yw精品日本国产精品| 自慰网址在线观看|