亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向領域的.NET應用系統(tǒng)開發(fā)架構研究

        2011-02-09 01:58:00雪,鹿旸,張
        制造業(yè)自動化 2011年10期
        關鍵詞:應用程序架構構件

        王 雪,鹿 旸,張 辛

        (中國地質大學(北京) 軟件學院,北京 100083)

        0 引言

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

        領域工程是基于可重用構件的,軟件產品中的通用功能嵌入在各種軟件構件之中,因此領域工程中一項很重要的工作就是生產和組織封裝性良好的和易于重用的軟件構件?;跇嫾能浖_發(fā)重在構件的集成而不是軟件的編程。近年來,軟件復用的研究結果表明基于體系結構、特定領域的重用能在軟件的質量和產量上有較大的改進。軟件的體系機構或者說架構是一組協(xié)同工作的類,它們?yōu)樘囟愋偷能浖嬛艘粋€可重用的設計。面向領域的軟件產品族架構同過去的單一軟件產品的體系架構不同之處就在于領域平臺提供了公共資產,包含領域框架、領域建模工具、公共構件庫等。

        1 平臺與架構

        1.1 .NET框架

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

        1.2 系統(tǒng)架構

        在軟件的體系架構中,分層式結構是最為常見也最為重要的一種結構[3]。如圖1所示是.NET中標準的B/S分層式結構。

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

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

        圖1 .NET中標準的B/S分層式結構

        2 面向領域的軟件架構

        2.1 領域工程

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

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

        2.2 面向領域的軟件架構

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

        圖2 面向領域的軟件產品架構

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

        3 面向領域的.NET應用系統(tǒng)架構

        3.1 面向領域的.NET應用系統(tǒng)架構

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

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

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

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

        圖4 面向領域的LEC應用系統(tǒng)架構

        3.2 案例分析

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

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

        4 結束語

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

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

        [2] 曾誠. 高性能ASP.NET應用程序的探討與研究[J]. 湖北大學學報, 2004:22-26.

        [3] 章利. 基于.NET的多層分布式企業(yè)應用架構的設計與實現(xiàn)[D]. 2007.

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

        [5] 黃玉坤. 軟件復用技術及領域工程綜述[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.

        猜你喜歡
        應用程序架構構件
        基于FPGA的RNN硬件加速架構
        功能架構在電子電氣架構開發(fā)中的應用和實踐
        汽車工程(2021年12期)2021-03-08 02:34:30
        刪除Win10中自帶的應用程序
        電腦報(2019年12期)2019-09-10 05:08:20
        LSN DCI EVPN VxLAN組網架構研究及實現(xiàn)
        電信科學(2017年6期)2017-07-01 15:45:17
        建筑構件
        建筑構件
        建筑構件
        建筑構件
        一種基于FPGA+ARM架構的μPMU實現(xiàn)
        關閉應用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        亚洲福利av一区二区| 亚洲va中文字幕无码| 在线播放a欧美专区一区| 亚洲熟伦在线视频| 丝袜av乱码字幕三级人妻| 成人试看120秒体验区| 国产精品福利自产拍久久 | 91网红福利精品区一区二| 国家一级内射高清视频| 亚洲a∨无码精品色午夜| 日本欧美视频在线观看| 精品视频专区| 日本在线无乱码中文字幕| 免费a级毛片无码a∨蜜芽试看| 人妻暴雨中被强制侵犯在线| 色窝窝无码一区二区三区2022| 亚洲一区二区视频免费看| av区无码字幕中文色| 99精产国品一二三产品香蕉| 亚洲中文字幕巨乳人妻| 99久久精品人妻一区| 久久国产成人精品国产成人亚洲| 后入内射欧美99二区视频| 亚洲AV成人无码天堂| 国产精品国产三级国产剧情| 女局长白白嫩嫩大屁股| 97无码人妻Va一区二区三区| 男女男在线精品免费观看| 人妻精品在线手机观看| 免费精品一区二区三区第35| 无码一区二区三区网站| 成人爽a毛片免费网站中国| 国产美女主播福利一区| 亚洲美女自拍偷拍视频| 四虎国产精品永久在线国在线 | а天堂8中文最新版在线官网| 午夜福利视频合集1000| 亚洲AV无码一区二区一二区教师| 免费观看国产激情视频在线观看| 成人麻豆日韩在无码视频| 亚洲国产高清在线一区二区三区 |