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

利用反射技術(shù)實(shí)現(xiàn)一種新型軟件系統(tǒng)維護(hù)模型

2012-11-27 01:46:08詹澤東藏文亞李正民
關(guān)鍵詞:信息模型系統(tǒng)

詹澤東 ,謝 爽 ,藏文亞 ,陸 華 ,李正民

(1.成都理工大學(xué),四川 成都 610059;2.中國(guó)石油化工集團(tuán) 西北分公司,新疆 阿克蘇 842017)

隨著計(jì)算機(jī)技術(shù)不斷更新和發(fā)展,大型復(fù)雜系統(tǒng)的開發(fā)層出不窮,但系統(tǒng)的復(fù)雜性為后期系統(tǒng)的維護(hù)帶來了極大不便。軟件工程的提出和軟件測(cè)試的規(guī)范化為后期維護(hù)提供了大量的文檔資料,從宏觀上解決了后期系統(tǒng)維護(hù)工作任務(wù)。但是軟件系統(tǒng)開發(fā)作為一項(xiàng)復(fù)雜的腦力活動(dòng),不可避免地會(huì)出現(xiàn)一些問題,尤其是復(fù)雜的大型系統(tǒng)。于是運(yùn)行時(shí)出錯(cuò)的定位成為了一大難題,往往需要消耗大量的人力、物力和財(cái)力,甚至影響到企業(yè)的正常運(yùn)作,造成巨大損失。本文對(duì)于大型系統(tǒng)運(yùn)行時(shí)出錯(cuò)的定位問題,針對(duì).NET框架平臺(tái)(目前系統(tǒng)開發(fā)的最大平臺(tái)之一,也是大型系統(tǒng)的構(gòu)架平臺(tái))提供的特性技術(shù)和反射技術(shù),從系統(tǒng)的安全性和經(jīng)濟(jì)可行性出發(fā),從資源整合的角度出發(fā),研究并實(shí)現(xiàn)了一種新型的軟件維護(hù)模型,從而彌補(bǔ)了軟件工程思想對(duì)于系統(tǒng)維護(hù)在微觀上的定位的不足。

1 相關(guān)技術(shù)簡(jiǎn)介

新型軟件系統(tǒng)的維護(hù)模型的技術(shù)實(shí)現(xiàn)主要涉及.NET Framework提供的特性技術(shù)、反射技術(shù)以及資源整合思想中郵件服務(wù)。

1.1 特性技術(shù)

公共語(yǔ)言運(yùn)行時(shí)允許添加類似關(guān)鍵字的描述聲明,叫做特性[1](Attributes), 它對(duì)程序中的元素進(jìn)行標(biāo)注,如類型、字段、方法和屬性等。Attributes和Microsoft.NET Framework文件的元數(shù)據(jù)保存在一起,可以用來向運(yùn)行時(shí)描述代碼,或者在程序運(yùn)行的時(shí)候影響應(yīng)用程序的行為;特性分為定制特性(.NET平臺(tái)已經(jīng)封裝實(shí)現(xiàn))和自定義特性,新型軟件系統(tǒng)維護(hù)模型使用自定義特性,用于系統(tǒng)運(yùn)行時(shí)異常定位。

1.2 反射技術(shù)

在.NET平臺(tái)中,軟件是以程序集的方式存在的,它包含模塊,而模塊包含類,類又包含成員。

.NET中的程序集是自描述的,反射則提供了封裝程序集、模塊和類的對(duì)象。使用反射隱藏一些不想公開的方法,并在軟件設(shè)計(jì)中進(jìn)行了類設(shè)計(jì)及部分的核心編碼[2],動(dòng)態(tài)地創(chuàng)建類的實(shí)例,將類綁定到現(xiàn)有對(duì)象,或從現(xiàn)有對(duì)象中獲取類,然后調(diào)用類的方法或訪問其字段和屬性。反射通常具有以下用途[3]:

(1)使用 Assembly定義和加載程序集,加載在程序集清單中列出的模塊,并從此程序集中找類型并創(chuàng)建該類型的實(shí)例。

(2)使用Module了解模塊的程序集以及模塊中的類等信息。

(3)使用ConstructorInfo了解構(gòu)造函數(shù)的名稱、參數(shù)、訪問修飾符(如 public或 private)和實(shí)現(xiàn)(如 abstrcat或virtual)等信息。

(4)使用 MethodInfo了解方法的名稱、返回類型、參數(shù)、訪問修飾符(如 public或 private)和實(shí)現(xiàn)(如 abstrcat或 virtual)等信息。

(5)一個(gè) FieldInfo可了解字段的名稱、訪問修飾符(如 public或 private)和實(shí)現(xiàn)(如 static)等信息,并獲取或設(shè)置字段值。

(6)使用 EventInfo了解事件的名稱、事件處理程序數(shù)據(jù)類型、自定義屬性、生命類型和反射類型等信息,并獲取或設(shè)置屬性值。

(7)使用PropertyInfo了解屬性的名稱、數(shù)據(jù)類型、聲明類型、反射類型和只讀或可寫狀態(tài)等信息,并獲取或設(shè)置屬性值。

(8)使用 ParameterInfo了解參數(shù)的名稱、數(shù)據(jù)類型、是輸入?yún)?shù)還是輸出參數(shù)。以及參數(shù)在方法簽名中的位置等信息。

1.3 資源整合

與企業(yè)優(yōu)化資源配置不同,隨著Internet的推廣使用,網(wǎng)絡(luò)服務(wù)資源日益增多,資源共享和合理利用免費(fèi)資源也成為企業(yè)的一個(gè)重要的戰(zhàn)略目標(biāo)。大型系統(tǒng)的維護(hù)借助于免費(fèi)資源的使用可以大大降低成本,而郵件服務(wù)是一個(gè)重要的免費(fèi)資源。本文在研究新型軟件系統(tǒng)維護(hù)模型時(shí),將系統(tǒng)軟件運(yùn)行時(shí)出錯(cuò)(或者異常)信息以郵件的形式將追蹤到的系統(tǒng)運(yùn)行出錯(cuò)定位信息發(fā)送到指定維護(hù)人員的郵箱,維護(hù)人員借助此信息可以及時(shí)、高效地完成維護(hù)工作,提高了維護(hù)的靈活性和及時(shí)性。

2 新型軟件系統(tǒng)維護(hù)模型的提出

由于大型系統(tǒng)的復(fù)雜性或多或少會(huì)導(dǎo)致系統(tǒng)運(yùn)行時(shí)出錯(cuò)或者發(fā)生異常,利用.NET Framework框架提供的特性與反射技術(shù)相互結(jié)合,可以準(zhǔn)確地定位異常發(fā)生的具體位置,同時(shí)反射出出錯(cuò)信息處的代碼相關(guān)信息,保證了系統(tǒng)的維護(hù)的快捷性和方便性,如圖1所示。

3 新型軟件系統(tǒng)維護(hù)模型的實(shí)現(xiàn)

3.1 特性類的實(shí)現(xiàn)

在系統(tǒng)運(yùn)行時(shí)出錯(cuò)定位,必須使用自定義特性,所有自定義特性都繼承于System.Attribute這個(gè)類[1],為了在系統(tǒng)運(yùn)行發(fā)生異常時(shí)獲取異常信息(這里只獲取系統(tǒng)代碼所在行的定位信息,其他信息可以根據(jù)實(shí)際需要獲取),并將異常信息通過郵件的形式發(fā)送出去,需要為自定義特性定義如下數(shù)據(jù)成員,如表1所示。

圖1 新型軟件系統(tǒng)維護(hù)模型

表1 自定義特性字段描述

其中在表1中的郵件用戶名和郵件密碼指的是發(fā)送郵件方的用戶名和密碼,自定義特性類的成員函數(shù)主要包括構(gòu)造函數(shù),各個(gè)數(shù)據(jù)成員的屬性方法。具體使用時(shí)在每個(gè)模塊的定義部分使用自定義特性類構(gòu)造對(duì)象,給相關(guān)的模塊代碼添加附加信息進(jìn)行關(guān)聯(lián),本文主要是代碼所在的模塊名。使用BS結(jié)構(gòu)的母版頁(yè)作為實(shí)例,具體形式如下:

其中myClassAttribute為自定義特性的類名,實(shí)際實(shí)例化時(shí)使用實(shí)際參數(shù),這樣就建立起了一個(gè)信息關(guān)聯(lián)。

3.2 反射技術(shù)的實(shí)現(xiàn)

反射技術(shù)的實(shí)現(xiàn)在本實(shí)例中主要分為三個(gè)步驟(可以根據(jù)實(shí)際情況做相關(guān)的改變):

(1)使用 C#的 typeof運(yùn)算符、所有類從 System.Object類繼承的GetType方法或者System.Type類的靜態(tài)GetType方法獲取System.Type類的引用。

(2)創(chuàng)建反射實(shí)例,根據(jù)實(shí)際需要可以選擇ConstructorInfo、EventInfo、FieldInfo、InterfaceInfo、MemberInfo、MethodInfo、PropertyInfo,本文實(shí)例中選擇構(gòu)造 MemberInfo實(shí)例。

(3)使用 Attribute類的 GetCustomAttribute靜態(tài)方法構(gòu)造自定義特性對(duì)象,其中所包含的本模塊的關(guān)聯(lián)的信息就可以獲取出來。

3.3 捕獲異常

C#專門提供了處理異常機(jī)制,可以使用.NET提供的預(yù)定義異常類,也可以使用自定義異常類,本文主要是使用 try{…….}catch{……}finally{……}結(jié)構(gòu)捕獲異常。

3.4 資源整合的實(shí)現(xiàn)

為了降低開發(fā)和維護(hù)成本,本文中使用免費(fèi)郵件服務(wù)器接受系統(tǒng)運(yùn)行時(shí)出錯(cuò)或者異常信息,將該信息以郵件[4]的形式轉(zhuǎn)發(fā)給系統(tǒng)開發(fā)者或維護(hù)人員,這一過程可以借助于.NET提供的命名空間web.mail來實(shí)現(xiàn)。它提供了 SmtpMail、MailMessage和 MailAttachment三個(gè)類,分別用于提供屬性和方法來創(chuàng)建一個(gè)郵件消息對(duì)象、提供屬性和方法來創(chuàng)建一個(gè)郵件附件對(duì)象、提供屬性和方法通過使用windows2000 CDOSYS的消息組件的聯(lián)合數(shù)據(jù)對(duì)象來發(fā)送郵件消息。同時(shí)使用免費(fèi)發(fā)送郵件服務(wù),在設(shè)置好各個(gè)類的屬性后還需加上這三句(省略號(hào)表示根據(jù)實(shí)際參數(shù)填寫參數(shù)):

4 新型軟件系統(tǒng)維護(hù)模型的測(cè)試

本文在采用BS結(jié)構(gòu)的模板頁(yè)中故意設(shè)置一個(gè)異常點(diǎn),依次按上述3.1~3.4的步驟實(shí)現(xiàn),將系統(tǒng)進(jìn)行運(yùn)行得到運(yùn)行結(jié)果,如圖2所示。

圖2 新型軟件系統(tǒng)維護(hù)模型測(cè)試圖

利用.NET平臺(tái)下的特性技術(shù)和反射技術(shù)相互結(jié)合進(jìn)行異常信息的定位,為系統(tǒng)的維護(hù)探索性提出了新型模型,可以有效地提高維護(hù)高效性、靈活性,同時(shí)融合資源整合的思想,降低了開發(fā)和維護(hù)的成本,為系統(tǒng)的維護(hù)和開發(fā)起了指導(dǎo)的作用。隨著遠(yuǎn)程控制的普及,該模型與遠(yuǎn)程控制相互結(jié)合將取得更好的效果。

[1]NAGEL C, EVJEN B, GLYNN J,等.C#高級(jí)編程(第四版)[M].北京:清華大學(xué)出版社,2006.

[2]李天平,亮劍.NET:.NET深入體驗(yàn)與實(shí)戰(zhàn)精要 [M].北京:電子工業(yè)出版社,2009.

[3]葉樹華,高志紅.網(wǎng)絡(luò)編程實(shí)用教材[M].北京:人民郵電出版社,2006.

[4]梅元昭.基于反射的WEB SERVICE的設(shè)計(jì)與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2010,9(1):3-5.

猜你喜歡
信息模型系統(tǒng)
一半模型
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
3D打印中的模型分割與打包
展會(huì)信息
主站蜘蛛池模板: 欧美日韩精品一区二区视频| 国产精品不卡片视频免费观看| 亚洲欧洲自拍拍偷午夜色| 青草视频网站在线观看| 国产微拍一区| 国产综合色在线视频播放线视| 婷婷色丁香综合激情| 亚洲色大成网站www国产| 伊人激情综合网| 亚洲人在线| 青青操视频在线| 国产无码高清视频不卡| 成人av专区精品无码国产| 青草国产在线视频| 草草线在成年免费视频2| 久草网视频在线| 91视频青青草| 99手机在线视频| 日韩精品专区免费无码aⅴ| 国产va视频| 久久熟女AV| 精品少妇人妻无码久久| 国产又爽又黄无遮挡免费观看| 伊伊人成亚洲综合人网7777| 有专无码视频| 日韩小视频在线观看| 天天视频在线91频| 色婷婷亚洲综合五月| 欧美第九页| 国产欧美专区在线观看| 露脸国产精品自产在线播| 免费毛片a| 国产日韩欧美精品区性色| 日韩欧美国产另类| 国产精品yjizz视频网一二区| 成人蜜桃网| 麻豆精品在线视频| 亚洲无码日韩一区| 波多野衣结在线精品二区| 精品国产aⅴ一区二区三区| 午夜激情婷婷| 一本久道久综合久久鬼色| 亚洲色婷婷一区二区| 中文字幕无线码一区| 最新国产成人剧情在线播放| 欧美视频在线第一页| 无码中文AⅤ在线观看| 国产高清无码第一十页在线观看| 色欲国产一区二区日韩欧美| 国产精品丝袜视频| aaa国产一级毛片| 国产免费怡红院视频| 91无码视频在线观看| 欧美国产日韩在线观看| 五月婷婷丁香色| 欧美高清日韩| 18黑白丝水手服自慰喷水网站| 亚洲色成人www在线观看| 亚洲人成网站色7799在线播放| 欧美日韩另类国产| 国产美女精品在线| 日韩中文无码av超清| 女人毛片a级大学毛片免费| 亚洲国产成人超福利久久精品| 不卡国产视频第一页| 精品成人一区二区| 国产男女XX00免费观看| 国产成人做受免费视频| 在线观看亚洲国产| 欧美日韩国产在线人成app| 九色综合视频网| 91亚瑟视频| 2020国产精品视频| 亚洲精品视频在线观看视频| 91精品免费高清在线| 国内精品九九久久久精品| 国产精品网拍在线| 超碰精品无码一区二区| 日本爱爱精品一区二区| 亚洲v日韩v欧美在线观看| 精品伊人久久久香线蕉| 久青草国产高清在线视频|