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

用于構件集成測試的分層元數據的設計與實現

2007-01-01 00:00:00馬良荔盧炎生劉孟仁
計算機應用研究 2007年2期

摘 要:在對構件元數據的基本思想進行概述的基礎上,提出了一種分層元數據的概念,并從構件使用方和構件開發方兩個角度分析了對構件的需求。設計了分層元數據對象的模型以及分層元數據的層次結構,并進一步給出了元數據的具體內容及其XML表示的實現思想。最后結合一個描述構件硬件運行環境的元數據實例,給出了相關的XML代碼。

關鍵詞:構件;構件軟件測試;構件元數據;UML

中圖法分類號:TP311文獻標識碼:A

文章編號:1001—3695(2007)02—0272—03

隨著軟件系統復雜性的增加,軟件工程將外部開發的軟件構件與特定應用程序集成在一起來構筑軟件系統,成為了目前軟件開發的趨勢[1]。在目前應用構件技術開發的大量實際應用中,雖然構件的使用提供了許多優點,但同時也帶來一些嚴重的問題。這些問題主要表現在構件的可靠性、安全性無法保證和可維護性難以實現[2,3]。因此提出一種使用描述構件信息的元數據[4]來解決這個問題,元數據作為連接開發人員和使用方之間的橋梁,構件開發方提供有關構件的細節信息而無須公開源代碼。但是由于相同的構件可能會應用于不同的應用環境,構件使用方對信息的需求并不相同,因此構件開發方所提供的元數據并不能滿足所有構件使用方的要求,特別是有些信息,諸如數據相依性或復雜性度量計算起來代價昂貴,還有一些信息,如文檔或與新版本對以前版本所作的修改就必須在代碼外提供。現有的構件標準和環境,包括DCOM,企業JavaBeans以及.NET,已經將元數據應用于構件,提供一些附加信息,但是目前可用的元數據還局限在編譯、運行、類型檢查(如構件類的名稱,其函數名以及函數參數的類型)以及設計用戶化(如圖形用戶界面構件的形狀和顏色,以及數據存儲構件內部緩沖區的大?。┑男畔ⅰ?蓪⑦@些信息進行擴展應用于特定任務中,但是不同的元數據目前僅僅解決有限范圍內的軟件工程問題[5,6]。

本文針對這些問題提出了對一種分層元數據結構,可針對不同的應用環境以及構件集成到應用程序中的集成測試,滿足構件使用方對第三方構件信息各個層次上的需求。構件使用方在實施集成測試時,可根據構件開發方提供的元數據進行集成測試,從而保證構件的可靠性和可測試性。

1 分層元數據

1.1 概念

基于構件系統由三部分組成:用戶應用程序、構件以及在用戶應用程序和構件之間提供通信通道的體系結構。用戶應用程序通過其接口與構件交互,通信體系結構將用戶應用程序使用的接口轉換至構件接口。構件提供了多個功能集合,每個功能集合可由一個配置項訪問。

元數據(Metadata)指的是描述數據的數據;用于描述構件信息的元數據指的是需要創建、構造和運行一個構件所需的任何信息,這些信息不在源代碼中或是二進制代碼中。

對一般的應用程序來說,構件開發方所提供的元數據包括簡單的數據(如構件中程序參數)及描述構件層次結構和大型應用程序中構件之間交互的復雜數據(可用圖的形式給出)。本文所構造的元數據的含義是:根據不同的應用環境對構件信息詳細程度的需求將所構造的元數據分成不同層次,進而構造成分層元數據系統,其中的元數據是動態的,可根據具體應用程序獲取運行時的配置信息、修改運行時的元數據,并訪問實時狀態變量。構件開發方在生成元數據時應根據構件使用方的具體要求來定,將這樣的元數據稱為分層元數據。

1.2 構件元數據的需求

存儲在每個構件中的元數據根據構件使用方所要求的分析和測試粒度進行區分。

從構件提供方的角度來看,元數據系統必須滿足如下基本需求:①構件在編譯和連接時、在構件導入時、構件執行期間以及在構件開發期間的任何時候可創建、訪問或修改與該構件相關的元數據;

②系統必須能進行擴展,使其能增加新的元數據;③系統必須與程序語言、硬件結構和中間具體實現無關;④當構件版本發生變化,從而修改元數據值時,必須通知相關的應用程序,這就需要建立合適的通知機制;⑤應用程序必須能通過適當的方式訪問當前的元數據值;⑥必須建立有適當的查詢機制滿足不同構件使用方對構件信息的需求;⑦必須提供標準的方法記錄和存儲不同的元數據。根據不同的構件類型可能還有其他的具體需求。從構件使用方的角度來看,元數據必須具有如下功能:

(1)方便的元數據訪問機制。由于源代碼對于構件使用方來說是未知的,因此在集成應用程序時所需的一些分析和測試數據必須能從元數據中獲取,如構件提供方提供的數據流分析結果以及代碼依賴和控制關系計算等。

(2)給出構件提供方對構件的測試結果。由于構件和用戶應用程序是以不同的語言實現的,因此基于用戶應用程序的實現語言的分析工具不能對所集成的構件進行測試和分析。

(3)元數據系統應提供特定的配置項,使得不同的應用程序可以根據元數據的信息來選擇構件的功能項。

2 分層元數據系統的設計

2.1 分層元數據對象

傳統的元數據模式強調標準格式和建立,并采用關系數據庫概念。每個元數據項表示為單個記錄或XML文檔但是在其實現中發現元數據格式的標準化是很困難的,因為單個標準對于應用范圍非常廣泛的構件可能不合適,如單個元數據標準無法同時描述可用于地理信息系統和通用信息系統的構件。

元數據應用在數據庫中,通常其數據庫模式是元數據與相關的數據分開,這樣當數據的應用環境發生變化時,說明該數據的元數據就無法應用,在分布式環境中這種情況表現得更為明顯。在地理信息系統中,由于數據對象經常變換位置,因此常常需要將元數據從一個位置復制到另一個位置。

考慮到上述原因,本文根據元數據的一般功能將其分為描述性元數據和操作性元數據,并封裝在一起構成一個元數據對象,如圖1所示。

圖1說明了元數據對象的框架, 描述性元數據包括對構件屬性的一般性描述,包含構件使用方在集成到應用環境中所需的靜態信息,描述或標志構件內容和外觀特征,由核心元素以及集成到本應用的核心元素組成。具體有構件使用方解釋說明的元數據信息,如數據描述、分布式信息和元數據引用等;操作性元數據包括構件集成到應用環境中可以直接運行的元數據,可方便地實現構件與應用環境的動態交互和集成,而且可以實現跨平臺交互。

2.2 分層元數據的層次結構

根據構件使用方和構件開發方的需求,本文設計的分層元數據有三個層次,分別是數據層、應用模型層和元模型層,如圖2所示。

圖2中的最高層元模型層為概念模式語言,用來描述元數據模式以及應用模型層上的應用模式。元數據模式在元數據集合中定義了元數據元素,元數據集合描述了數據層上數據集合的管理、組織和具體內容。該結構為元數據結構和編碼提供了語言級的實現框架。

2.3 元數據內容描述

分層元數據內容都可描述為對象及其這些對象的參數,參數為不同標量類型,還有一些對象引用其他對象及其參數的列表,這些元數據對象構成對象圖,其中包含具有任意復雜度的元數據。例如,可用對象Reference來描述元數據對象之間父子關系結構,另外一個對象可包含在另一個對象中,進行結構設計時要反映在元數據內容中。

對于每個元數據,使用圖、表和文本的混合方式描述適用于該構件中的具體數據內容,對于特定領域的構件,其框架不盡相同。

本文以一個描述某構件硬件應用環境的元數據為例,以UML的形式給出了元數據的具體內容,如圖3所示。圖3中,元數據對象以僅帶有屬性的類給出,使用類的屬性給出對象參數,引用其他對象的參數以類之間的關聯表示。對象引用的參數名用關聯的UML任務名表示,當關聯到多個引用時,就使用對象引用列表,且所有列表要進行排序,包含在另一個對象中的對象用組合關系的形式給出。

圖3所給出的元數據由四種類型的對象組成。Processor對象有三個參數,即字符串名字name,clock以及busref(對Bus對象的引用)。Memory對象有三個參數,即name,size和busref(對Bus對象的引用);Bus對象有四個參數,即name,process(對Processor對象的一個或多個引用列表),mems(對Memory對象的一個或多個引用列表)以及cfg,其類型為BusConfig,這里BusConfig為帶有兩個參數的對象,即bw和width;BusConfig對象唯一地使用一個或多個對象來包含描述全局元數據值的參數。

2.4 分層元數據的XML表示

由于構件所集成的應用程序環境不同,需要將元數據從一個應用程序到另一個應用程序進行轉換。要實現該轉換,縮小開發時間和程序資源的使用就必須將轉換格式標準化,即使用標準的文本操作工具創建和修改元數據,目前廣泛應用的是標準的文本格式XML。

本文所構造的元數據用XML格式來表示,使得構件使用方能方便地從XML中導出元數據,同時可用許多工具來操作與構件配套的元數據。

本文有一個高層元素,定義為,其后使用另一個子元素來確定構件元數據上下文(Context)。高層的元數據對象作為上下文元素中的元素出現,對象元素啟動標簽與上下文文檔中的對象類型名字一致,每個對象元素都具有稱為Ident的屬性,該屬性為一個字符串值,可唯一地確定該對象,并用來引用該對象。該屬性與XML文檔類型描述(DTD)格式和XML規范的ID/IDREF特性和有關。

在對象元素中,可使用帶有啟動標簽(與參數名一樣)的元素來描述每個對象參數。標量參數值作為元素內容中的文本給出,可以是字符串、整型和浮點數字型。對象引用為空,擁有一個帶有字符串值的屬性Objref,與被引用對象的Ident屬性一樣。另一個對象的參數(不是對象引用)用來表示嵌入在所包含的對象元素中的一個元素。參數可在對象中出現多次以指明值的可變列表,當讀寫元數據時對列表中的元素順序進行維護。圖4給出了元數據信息與XML文檔中的元素的對應關系。

3 一個元數據實例的XML表示

本文按圖3給出的元數據實例構造了該實例的XML表示,如下所示:

4 結論

隨著構件技術在應用上的深入和快速發展,如何在構件集成到應用環境時保證構件的實施有效地集成測試,進而保證整個軟件系統的質量和可靠性,是將構件開發技術進一步擴充應用范圍的前提。

目前使用元數據提供構件信息從而實施有效的集成測試是解決問題的方法之一。本文在以前研究工作的基礎上,提出了一種分層元數據的概念,并設計實現了其模型和層次結構,根據構件使用方的需求以及提供的元數據信息實施有效的集成測試,在此基礎上給出了一個說明構件運行環境的元數據實例及其XML表示。這項研究今后主要的研究方向包括元數據的接口、變化通知機制等相關方面的研究工作。

本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。

主站蜘蛛池模板: 日韩中文精品亚洲第三区| 无码福利日韩神码福利片| 国产拍揄自揄精品视频网站| 在线国产资源| 国产情侣一区二区三区| 在线免费观看AV| 久久不卡国产精品无码| 国产福利免费在线观看| 欧美午夜在线播放| 国产鲁鲁视频在线观看| 激情综合网址| 亚洲无码高清视频在线观看| 国产精品人人做人人爽人人添| 伊人蕉久影院| 中文成人在线视频| 久久人搡人人玩人妻精品 | 国产男女免费完整版视频| av在线无码浏览| 国产无码性爱一区二区三区| 亚洲人精品亚洲人成在线| 无码aaa视频| aaa国产一级毛片| 亚洲码一区二区三区| 免费又黄又爽又猛大片午夜| 香蕉视频国产精品人| 亚洲va欧美ⅴa国产va影院| 国产在线观看第二页| 免费一级α片在线观看| 国产成人在线无码免费视频| 国产成人免费| 国产欧美日韩18| 国产美女主播一级成人毛片| 亚洲精品手机在线| 青青草国产一区二区三区| 国产精品一区二区久久精品无码| 国产精品福利尤物youwu | 亚洲一区二区无码视频| 久久夜色撩人精品国产| 新SSS无码手机在线观看| 久久夜色撩人精品国产| 精品无码人妻一区二区| 国产成人AV综合久久| 国产欧美视频在线观看| 看看一级毛片| 国产成人你懂的在线观看| 国产欧美日韩精品第二区| 久热精品免费| 国产美女免费网站| 狂欢视频在线观看不卡| 国产成人亚洲无码淙合青草| 99精品热视频这里只有精品7 | 欧美一级黄片一区2区| 国产精选小视频在线观看| 色欲综合久久中文字幕网| 国产精品嫩草影院av| 91久久国产热精品免费| 97国产精品视频自在拍| 99re视频在线| 国产99精品视频| 亚洲欧美在线看片AI| 亚洲av成人无码网站在线观看| 国产精品亚洲综合久久小说| 国产亚洲视频播放9000| 国产极品美女在线观看| 精品国产免费观看| 97久久超碰极品视觉盛宴| 美女国产在线| 亚洲美女高潮久久久久久久| 曰韩免费无码AV一区二区| 国产成人91精品免费网址在线| 无码中文字幕乱码免费2| 日韩国产亚洲一区二区在线观看| 女同久久精品国产99国| 天天综合网在线| 久久久久国产一区二区| 久青草国产高清在线视频| 欧美午夜视频| 国产一级毛片yw| 精品三级网站| 天天色综合4| 午夜视频日本| 沈阳少妇高潮在线|