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

面向領(lǐng)域的.NET應(yīng)用系統(tǒng)開發(fā)架構(gòu)研究

2011-02-09 01:58:00雪,鹿旸,張
制造業(yè)自動(dòng)化 2011年10期
關(guān)鍵詞:模型系統(tǒng)

王 雪,鹿 旸,張 辛

(中國(guó)地質(zhì)大學(xué)(北京) 軟件學(xué)院,北京 100083)

0 引言

領(lǐng)域是指一組具有相似或相近軟件需求的應(yīng)用系統(tǒng)所覆蓋的功能區(qū)域[1]。在傳統(tǒng)的軟件開發(fā)中,從對(duì)軟件系統(tǒng)最初的概念到可操作實(shí)現(xiàn)的過程,有多個(gè)環(huán)節(jié)多種工作是重復(fù)勞動(dòng)的。軟件工程中軟件復(fù)用的思想就是為了避免重復(fù)勞動(dòng)的解決方案,其出發(fā)點(diǎn)就是應(yīng)用系統(tǒng)的開發(fā)不再采用一切“從零開始”的模式,而是充分利用過去應(yīng)用系統(tǒng)開發(fā)過程中積累的知識(shí)和經(jīng)驗(yàn),從而使軟件工作者著重于新系統(tǒng)中的新問題和新需求。領(lǐng)域工程就是以軟件復(fù)用為目的,解決可復(fù)用信息的識(shí)別、組織和利用問題。它是軟件開發(fā)者用于為相應(yīng)領(lǐng)域定義范圍、指定結(jié)構(gòu)和創(chuàng)建可復(fù)用資產(chǎn)的過程和實(shí)踐,涵蓋界定、分類及創(chuàng)建可復(fù)用構(gòu)件的所有活動(dòng)。

領(lǐng)域工程是基于可重用構(gòu)件的,軟件產(chǎn)品中的通用功能嵌入在各種軟件構(gòu)件之中,因此領(lǐng)域工程中一項(xiàng)很重要的工作就是生產(chǎn)和組織封裝性良好的和易于重用的軟件構(gòu)件。基于構(gòu)件的軟件開發(fā)重在構(gòu)件的集成而不是軟件的編程。近年來,軟件復(fù)用的研究結(jié)果表明基于體系結(jié)構(gòu)、特定領(lǐng)域的重用能在軟件的質(zhì)量和產(chǎn)量上有較大的改進(jìn)。軟件的體系機(jī)構(gòu)或者說架構(gòu)是一組協(xié)同工作的類,它們?yōu)樘囟愋偷能浖?gòu)筑了一個(gè)可重用的設(shè)計(jì)。面向領(lǐng)域的軟件產(chǎn)品族架構(gòu)同過去的單一軟件產(chǎn)品的體系架構(gòu)不同之處就在于領(lǐng)域平臺(tái)提供了公共資產(chǎn),包含領(lǐng)域框架、領(lǐng)域建模工具、公共構(gòu)件庫(kù)等。

1 平臺(tái)與架構(gòu)

1.1 .NET框架

.NET Framework在底層的執(zhí)行引擎源于托管的虛擬機(jī)概念,其通用語(yǔ)言運(yùn)行時(shí)不僅支持內(nèi)存回收機(jī)制和異常處理機(jī)制,并且實(shí)現(xiàn)了跨語(yǔ)言承諾和組件自描述等特性。其次,.NET Framework為面向?qū)ο蟪绦蛟O(shè)計(jì)提供了單根繼承、多接口實(shí)現(xiàn)等直接的支持,提供了繪圖、網(wǎng)絡(luò)、線程、ADO.NET等一系列的API,可以說對(duì)現(xiàn)代組件編程從設(shè)計(jì)、編碼、配置到運(yùn)行都給予了很好的支持。作為新一代應(yīng)用程序的開發(fā)平臺(tái),其平臺(tái)構(gòu)造對(duì)其代碼的生產(chǎn)性與移植性是高效的[2]。

1.2 系統(tǒng)架構(gòu)

在軟件的體系架構(gòu)中,分層式結(jié)構(gòu)是最為常見也最為重要的一種結(jié)構(gòu)[3]。如圖1所示是.NET中標(biāo)準(zhǔn)的B/S分層式結(jié)構(gòu)。

基于.NET Framework的應(yīng)用程序一般屬于如上的三層式結(jié)構(gòu):數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和表示層。數(shù)據(jù)訪問層主要負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)的操作;業(yè)務(wù)邏輯層是整個(gè)系統(tǒng)的核心,涉及到系統(tǒng)相關(guān)的業(yè)務(wù);表示層主要負(fù)責(zé)使用者與系統(tǒng)的交互,側(cè)重用戶的體驗(yàn)。分層式結(jié)構(gòu)降低了層與層之間的依賴,有利用各層模塊的修改與復(fù)用,使開發(fā)人員可以只關(guān)注其整個(gè)結(jié)構(gòu)中的某一層。概括來說,分層式設(shè)計(jì)可以達(dá)到如下目的:分散關(guān)注、松散耦合、邏輯復(fù)用和標(biāo)準(zhǔn)定義的目的,從而提高了開發(fā)效率。

一般而言,應(yīng)用系統(tǒng)的架構(gòu)包含兩個(gè)因素:首先,它是一個(gè)應(yīng)用系統(tǒng)從整體到部分的最高層次的劃分,包括架構(gòu)元素、連接器和任務(wù)流;其次,它是開發(fā)一個(gè)應(yīng)用系統(tǒng)所做出的最高層次的、以后難以更改的商業(yè)的和技術(shù)的決定,因此,軟件架構(gòu)是系統(tǒng)成敗的重要決定。軟件架構(gòu)是一個(gè)應(yīng)用系統(tǒng)的草圖,描述的對(duì)象是直接構(gòu)成應(yīng)用系統(tǒng)的抽象組件,各個(gè)組件之間的連接明確和相對(duì)細(xì)致地描述了組件間的通訊。因此,一個(gè)好的應(yīng)用程序架構(gòu)需要滿足安全性、可靠性、可擴(kuò)展性、可維護(hù)性以及可定制化這些要求。

圖1 .NET中標(biāo)準(zhǔn)的B/S分層式結(jié)構(gòu)

2 面向領(lǐng)域的軟件架構(gòu)

2.1 領(lǐng)域工程

過去軟件工程中關(guān)注的軟件開發(fā)大多是針對(duì)一個(gè)單獨(dú)的應(yīng)用系統(tǒng),即針對(duì)特定的用戶需求和背景給予分析、設(shè)計(jì)和實(shí)現(xiàn)。隨著軟件工程領(lǐng)域的不斷發(fā)展,這種高成本、長(zhǎng)周期的開發(fā)模式已經(jīng)不適用現(xiàn)在日益激烈的市場(chǎng)競(jìng)爭(zhēng)和多變的軟件需求。軟件產(chǎn)品需要進(jìn)化,軟件的生產(chǎn)模式同樣需要進(jìn)化。領(lǐng)域工程便是實(shí)現(xiàn)這種軟件生產(chǎn)模式進(jìn)化的重要手段,使軟件生產(chǎn)由“單一模式”走向“工廠模式”。

領(lǐng)域工程包括:領(lǐng)域分析、領(lǐng)域設(shè)計(jì)與領(lǐng)域?qū)崿F(xiàn)。領(lǐng)域分析定義領(lǐng)域范圍,識(shí)別領(lǐng)域中應(yīng)用的共同特征和可變特征,從而建立領(lǐng)域模型。領(lǐng)域分析基于兩個(gè)概念:抽象和求精。抽象是一種處理復(fù)雜性的有效手段,領(lǐng)域分析使用抽象原則降低復(fù)雜性,有效地從領(lǐng)域的一系列應(yīng)用中抽取特征,創(chuàng)建領(lǐng)域分析產(chǎn)品;對(duì)領(lǐng)域分析產(chǎn)品進(jìn)行求精就可以開發(fā)領(lǐng)域中的特定應(yīng)用。領(lǐng)域設(shè)計(jì)和領(lǐng)域?qū)崿F(xiàn)分別根據(jù)領(lǐng)域模型給出設(shè)計(jì)與實(shí)現(xiàn)。因此說,領(lǐng)域分析是面向領(lǐng)域的軟件工程中開發(fā)經(jīng)驗(yàn)的系統(tǒng)的和正、逆向的整合。

2.2 面向領(lǐng)域的軟件架構(gòu)

面向領(lǐng)域的軟件架構(gòu)與單一的軟件架構(gòu)不同之處在于增加了領(lǐng)域平臺(tái),如圖2所示,應(yīng)用系統(tǒng)層主要指基于領(lǐng)域工程的特定的軟件應(yīng)用;領(lǐng)域平臺(tái)層主要包括領(lǐng)域框架、領(lǐng)域建模及相應(yīng)的軟件資源庫(kù);基礎(chǔ)設(shè)施層包括各種服務(wù)器、數(shù)據(jù)庫(kù)及操作系統(tǒng)。一個(gè)應(yīng)用系統(tǒng)可以根據(jù)用戶的具體需求對(duì)領(lǐng)域平臺(tái)中的資源進(jìn)行整合,包括選擇、裁剪和添加。

圖2 面向領(lǐng)域的軟件產(chǎn)品架構(gòu)

基于領(lǐng)域的軟件工程過程模型可簡(jiǎn)化為如圖3所示形式。其中需求分析、系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)現(xiàn)三個(gè)階段均可以有領(lǐng)域工程的參與,這樣軟件工作者能夠快速并高效地建立一個(gè)應(yīng)用系統(tǒng)。具體來說,任何一個(gè)應(yīng)用程序都可以從領(lǐng)域平臺(tái)中復(fù)用領(lǐng)域通用功能及其相應(yīng)構(gòu)件,同時(shí)把差異功能及其構(gòu)件提供給領(lǐng)域平臺(tái)。

3 面向領(lǐng)域的.NET應(yīng)用系統(tǒng)架構(gòu)

3.1 面向領(lǐng)域的.NET應(yīng)用系統(tǒng)架構(gòu)

面向領(lǐng)域的. NET應(yīng)用系統(tǒng)架構(gòu)就是指借助于.NET開發(fā)平臺(tái)對(duì)某一領(lǐng)域問題所建立的通用的軟件架構(gòu),它的功能在于能夠把握許多相似應(yīng)用程序的結(jié)構(gòu),為運(yùn)行一批對(duì)象提供了一個(gè)有組織的環(huán)境。基于該思想應(yīng)用系統(tǒng)開發(fā)轉(zhuǎn)變成以構(gòu)件庫(kù)為中心的開發(fā),實(shí)現(xiàn)動(dòng)態(tài)地組裝構(gòu)件從而完成軟件的即插即用。構(gòu)件資源庫(kù)可以是任何已有的或待開發(fā)的構(gòu)件,是對(duì)領(lǐng)域中某種功能的實(shí)現(xiàn),可以是共性的資源,也可以是特性的資源。

.NET中構(gòu)件是包含描述源碼中定義和引用類型和成員數(shù)據(jù)的程序集,面向.NET Framework的編譯器向所有的模塊和程序集嵌入元數(shù)據(jù),使.NET構(gòu)件成為自描述構(gòu)件,這種方式有助于構(gòu)件的無(wú)縫集成。.NET的開發(fā)環(huán)境可以根據(jù)服務(wù)器構(gòu)件程序集中的元數(shù)據(jù)了解服務(wù)器構(gòu)件里的類及其方法、屬性、接口及事件等信息,構(gòu)件的交互只依賴于.NET的基礎(chǔ)機(jī)制。.NET構(gòu)件支持語(yǔ)言互用性,在程序編碼時(shí)允許使用另一種語(yǔ)言所開發(fā)的構(gòu)件。

.NET應(yīng)用程序和應(yīng)用程序域通過消息進(jìn)行彼此的通信,.NET信道服務(wù)為此通信提供了基礎(chǔ)傳輸機(jī)制。.NET應(yīng)用程序配置文件相當(dāng)于COM中系統(tǒng)注冊(cè)表的作用,登記構(gòu)件的位置、構(gòu)件對(duì)象的激活類型和通信的信道配置等。.NET模型支持web服務(wù),其底層細(xì)節(jié)均由.NET框架完成,減少了對(duì)操作系統(tǒng)的依賴性。因此,.NET構(gòu)件之間的交互更簡(jiǎn)便,給程序開發(fā)帶來了便利。作為構(gòu)件技術(shù)的.NET簡(jiǎn)化了構(gòu)件軟件的開發(fā)和軟件構(gòu)件的部署,.NET構(gòu)件模型是一種更理想的軟件構(gòu)件模型。這些也就是在開發(fā)大型而復(fù)雜的應(yīng)用系統(tǒng)時(shí)建議使用.NET平臺(tái)的理由。

圖3 基于領(lǐng)域的應(yīng)用系統(tǒng)開發(fā)模型

圖4 面向領(lǐng)域的LEC應(yīng)用系統(tǒng)架構(gòu)

3.2 案例分析

比如對(duì)于微軟推出的基于ASP.NET的PetShop以及現(xiàn)在具有廣泛應(yīng)用的圖書銷售系統(tǒng)、電子訂餐系統(tǒng)等電子商務(wù)類的應(yīng)用程序,他們?cè)谙到y(tǒng)架構(gòu)上和功能上存在極大的相似性,如果逐一開發(fā),就會(huì)導(dǎo)致重復(fù)工作和效率低下。借助于.NET框架及其優(yōu)良的構(gòu)件模型,搭建一個(gè)面向領(lǐng)域的輕量級(jí)電子商務(wù)應(yīng)用系統(tǒng)(Lightweight Electronic Commerce, LEC)架構(gòu)。一般來說,該類應(yīng)用程序包括以下基本功能:用戶管理模塊、購(gòu)物車模塊、訂單結(jié)算模塊、商品瀏覽模塊、商品管理模塊。對(duì)應(yīng)的LEC架構(gòu)如圖4所示。

其中,功能構(gòu)件庫(kù)中的構(gòu)件是可定制的,對(duì)于電子商務(wù)類門戶系統(tǒng),可以根據(jù)用戶的具體需求,應(yīng)用定制工具選取相應(yīng)的構(gòu)件。當(dāng)某個(gè)用戶的需求沒有相應(yīng)的構(gòu)件在構(gòu)件庫(kù)中存在時(shí),可以向構(gòu)件庫(kù)中添加相應(yīng)構(gòu)件,因此構(gòu)件庫(kù)是可擴(kuò)充的。采用定制工具這種可配置的體系結(jié)構(gòu),可以快速滿足用戶的需求,開發(fā)出滿足用戶的新系統(tǒng)。

4 結(jié)束語(yǔ)

良好的系統(tǒng)架構(gòu)和領(lǐng)域工程的思想可有效地提高軟件的可重用性和可維護(hù)性。本文通過對(duì).NET框架多層系統(tǒng)架構(gòu)及構(gòu)件開發(fā)模型的分析,給出了面向領(lǐng)域的輕量級(jí)電子商務(wù)類應(yīng)用系統(tǒng)的構(gòu)件式開發(fā)架構(gòu),雖然不同領(lǐng)域有不同的特點(diǎn),但是基于.NET多層架構(gòu)領(lǐng)域模型的應(yīng)用系統(tǒng)開發(fā)的思路同樣適用于其它領(lǐng)域。

[1] 焦金丹, 胡金柱, 等. 基于軟件復(fù)用的領(lǐng)域分析和建模技術(shù)[J]. 微電子學(xué)與計(jì)算機(jī). 2006, 23(增刊):143-145.

[2] 曾誠(chéng). 高性能ASP.NET應(yīng)用程序的探討與研究[J]. 湖北大學(xué)學(xué)報(bào), 2004:22-26.

[3] 章利. 基于.NET的多層分布式企業(yè)應(yīng)用架構(gòu)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 2007.

[4] 惠長(zhǎng)江, 吳江. 軟件進(jìn)化研究綜述[J]. 計(jì)算機(jī)技術(shù)與發(fā)展, 2007, 17(4):196-200.

[5] 黃玉坤. 軟件復(fù)用技術(shù)及領(lǐng)域工程綜述[J]. 計(jì)算機(jī)與現(xiàn)代化, 2007(11):43-48.

[6] Jesse Liberty, Dan Hurwitz. Programming in ASP.NET[M].Wrox,2004.

[7] Jeffrey. Applied Microsoft.NET Framework programming[M]. Wintellect, 2003.

[8 ] Xuehong Dui, Jianxin Jiao, MitchellM Tseng. Architecture of Product Family for Mass Custiomization[J]. ICMIT,2000:437-443.

[9] BJOINER D.Software engineering 3 domains, requirements and software design[M]. Berlin: Springer, 2006.

猜你喜歡
模型系統(tǒng)
一半模型
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
3D打印中的模型分割與打包
主站蜘蛛池模板: 人人艹人人爽| 性激烈欧美三级在线播放| 亚洲综合第一页| 免费可以看的无遮挡av无码| 国产另类视频| 国产精品手机在线观看你懂的| 久久不卡精品| 国产精品99一区不卡| 国产一级无码不卡视频| 99热这里只有精品久久免费| 欧美视频在线观看第一页| 国产欧美在线观看一区| 日韩毛片免费视频| 亚洲无码高清一区| 91年精品国产福利线观看久久 | 22sihu国产精品视频影视资讯| 亚洲精品视频免费观看| 欧美中文一区| 免费观看无遮挡www的小视频| 国产日韩欧美在线视频免费观看| 欧美一级高清片久久99| 在线不卡免费视频| 一区二区三区国产精品视频| 蜜桃视频一区二区| 国产精品va免费视频| 欧美成人一级| 欧美一级高清片欧美国产欧美| 青青草原国产av福利网站| 欧美中出一区二区| 亚洲视频色图| 精品国产Av电影无码久久久| 热思思久久免费视频| 韩国v欧美v亚洲v日本v| 亚洲aaa视频| 欧美午夜视频在线| jizz在线免费播放| 日本在线免费网站| 色哟哟精品无码网站在线播放视频| 天天爽免费视频| 好吊色妇女免费视频免费| 亚洲日本韩在线观看| 狠狠色婷婷丁香综合久久韩国| 欧美日韩精品综合在线一区| 激情亚洲天堂| 福利在线不卡一区| 丰满人妻一区二区三区视频| 午夜视频在线观看免费网站| a级毛片在线免费| 特级毛片8级毛片免费观看| 精品综合久久久久久97| 国产一级在线播放| 亚洲一区无码在线| 九九视频免费看| 五月激情婷婷综合| 国产视频资源在线观看| 免费在线国产一区二区三区精品| 欧美福利在线| 理论片一区| 亚洲第一成年网| 欧美中文字幕无线码视频| 国产区福利小视频在线观看尤物| 国模视频一区二区| 2020亚洲精品无码| 国产尤物jk自慰制服喷水| 欧美综合区自拍亚洲综合天堂| 日韩欧美色综合| 婷婷开心中文字幕| 中文国产成人精品久久| 成人午夜天| 国产成人AV综合久久| 国产精品欧美日本韩免费一区二区三区不卡 | 精品成人一区二区三区电影 | 狠狠色丁香婷婷| 欧美不卡二区| 亚洲成人网在线观看| 国产不卡国语在线| 无码国内精品人妻少妇蜜桃视频| 一本色道久久88亚洲综合| 日韩美毛片| 波多野结衣一区二区三区四区视频| 免费 国产 无码久久久| 国产美女人喷水在线观看|