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

        ?

        鐵路概預(yù)算軟件系統(tǒng)的體系結(jié)構(gòu)設(shè)計(jì)

        2018-09-10 07:25:14張弛
        現(xiàn)代信息科技 2018年2期

        摘 要:本文結(jié)合鐵路工程概預(yù)算軟件項(xiàng)目的實(shí)例,闡述了對(duì)N層體系架構(gòu)技術(shù)的理解,并通過分析具體的項(xiàng)目特點(diǎn),詳細(xì)地表述了如何設(shè)計(jì)一個(gè)可以靈活部署為單臺(tái)計(jì)算機(jī)應(yīng)用模式、企業(yè)局域網(wǎng)應(yīng)用模式、Internet應(yīng)用模式的分布式應(yīng)用系統(tǒng)的體系結(jié)構(gòu)設(shè)計(jì)方案。

        關(guān)鍵詞:鐵路概預(yù)算;軟件系統(tǒng)設(shè)計(jì);N層體系結(jié)構(gòu);Web服務(wù);分布式應(yīng)用程序;應(yīng)用程序部署

        中圖分類號(hào):TP311.52;U215.1 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2018)02-0022-03

        The Application Architecture Design of Budgetary Estimation of Railway Engineering

        ZHANG Chi

        (Dalian JiYi Logistics Co.,Ltd.,Dalian 116601,China)

        Abstract:In this article,via a software project of budgetary estimation of railway engineering,the author describes the understanding of the technique of N-tire architecture. By analyzing the characteristic of the concrete project,the author illustrates how to make a system architecture design plan of a distributed software application,in which explained that the application can be deployed flexibly by a single desktop mode,or by an enterprise intranet mode,or by the internet mode.

        Keywords:budgetary estimation of railway engineering;software system design;N-Tier;Web service;distributed application;application deployment

        引 言

        隨著計(jì)算機(jī)科學(xué)技術(shù)的不斷發(fā)展,軟件的規(guī)模和應(yīng)用領(lǐng)域迅速擴(kuò)大,造成了軟件程度的復(fù)雜度不斷加大,所以高效地開發(fā)出高質(zhì)量的軟件產(chǎn)品越來越困難,于是軟件開發(fā)人員開始關(guān)注如何找到理解軟件的更好途徑和探討是否存在更好的途徑來構(gòu)造復(fù)雜的大型軟件系統(tǒng)。為此,作為基層的計(jì)算機(jī)技術(shù)人員,我們對(duì)手頭的工作項(xiàng)目進(jìn)行了深入的思考。下面,結(jié)合我們?cè)阼F路概預(yù)算軟件開發(fā)過程中的體會(huì),就如何用N層體系結(jié)構(gòu)來設(shè)計(jì)該項(xiàng)目的系統(tǒng)結(jié)構(gòu),進(jìn)行簡單介紹。

        1 N層體系結(jié)構(gòu)簡介

        設(shè)計(jì)和數(shù)據(jù)庫相關(guān)的軟件系統(tǒng),總逃不開在如何確定系統(tǒng)的體系結(jié)構(gòu)的問題上做出選擇。隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,體系結(jié)構(gòu)已經(jīng)從當(dāng)年的不分層,發(fā)展到今天的N層體系結(jié)構(gòu)。軟件的設(shè)計(jì)實(shí)現(xiàn)也從當(dāng)年無規(guī)矩可循的泥沼中,走到今天規(guī)范的高速路上來。

        最初的解決方案是不分“層”的,隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,數(shù)據(jù)層被分離出來,這樣就形成了一個(gè)典型的兩層結(jié)構(gòu)的系統(tǒng)設(shè)計(jì)。在這種架構(gòu)中,數(shù)據(jù)庫系統(tǒng)在后臺(tái)存儲(chǔ)和管理數(shù)據(jù),在用戶界面層里,負(fù)責(zé)進(jìn)行業(yè)務(wù)邏輯的處理和表示。雖然在大多數(shù)情況下,這些已經(jīng)足夠解決問題了,但仍存在著一些缺陷,如由于客戶端包含了業(yè)務(wù)邏輯,業(yè)務(wù)邏輯一改,所有客戶端都要升級(jí)等。由此,三層架構(gòu)出現(xiàn)了,業(yè)務(wù)邏輯層被從客戶端分離出來,并被部署在一臺(tái)服務(wù)器上,客戶端簡單到只是IE瀏覽器。這樣,便彌補(bǔ)了兩層架構(gòu)的缺陷。但對(duì)于需要在復(fù)雜客戶端操作的軟件系統(tǒng),這么“瘦”的客戶端顯然是不能滿足需求的,所以客戶端必須是復(fù)雜的應(yīng)用程序界面,那么,業(yè)務(wù)邏輯又應(yīng)該放到哪里呢?

        隨著組件技術(shù)的不斷發(fā)展,N層架構(gòu)出現(xiàn)了,這給上文的提問以多樣的解決方式。N層架構(gòu)還是以三層架構(gòu)為基礎(chǔ)的,只是業(yè)務(wù)邏輯層被劃分得更細(xì),如表示層和業(yè)務(wù)邏輯的接口被從業(yè)務(wù)邏輯層單獨(dú)分離出來,業(yè)務(wù)邏輯和數(shù)據(jù)庫的接口也被從業(yè)務(wù)邏輯層單獨(dú)分離出來,數(shù)據(jù)實(shí)體層被單獨(dú)定義,這樣每層的邏輯更單一,層與層的接口更清晰,而這一切帶來的就是更容易地升級(jí)、更簡單地維護(hù)、更靈活地部署。

        總結(jié)了這么多的分層方式,可以看出,給出一個(gè)設(shè)計(jì)方案是有多種選擇的。采用何種方案的標(biāo)準(zhǔn)是:哪種體系結(jié)構(gòu)的設(shè)計(jì)方案更適合我們的具體項(xiàng)目;適合的標(biāo)準(zhǔn)是:體量合適、效率滿足需要、易于升級(jí)、易于維護(hù)、可以靈活部署。

        下面以我們的項(xiàng)目為案例,闡述我們的解決方案。

        2 鐵路概算軟件的項(xiàng)目特點(diǎn)

        設(shè)計(jì)鐵路概算軟件體系結(jié)構(gòu)時(shí),以下方面是必須考慮到的:

        2.1 多專業(yè)配合工作

        一個(gè)工程項(xiàng)目一般包含多個(gè)子工程,每個(gè)子工程需要多個(gè)專業(yè)配合設(shè)計(jì)。比如一個(gè)房建工程就涉及房屋、水暖、電力、裝飾、機(jī)械等專業(yè);更大的工程如一個(gè)秦沈客運(yùn)專線,就需要多個(gè)車站多個(gè)區(qū)間的線路工程、橋梁工程、房建工程、信號(hào)工程、通信工程等。如此說來,我們面臨這樣一個(gè)事務(wù)模型:它是由許多相互關(guān)聯(lián)的子事務(wù)構(gòu)成的,這些子事務(wù)模型共享基礎(chǔ)資源,共享設(shè)計(jì)標(biāo)準(zhǔn),彼此有時(shí)序關(guān)聯(lián),互為約束條件。

        2.2 多人協(xié)作工作

        用戶是軟件設(shè)計(jì)時(shí)要考慮的第一要素。一個(gè)復(fù)雜的概算項(xiàng)目是由許多角色共同參與、彼此配合來完成的。這在本項(xiàng)目中表現(xiàn)得尤為突出。如,一種典型概算編制的工作模式就是:具體設(shè)計(jì)者完成自己負(fù)責(zé)的個(gè)別概算;概算科負(fù)責(zé)配置定額標(biāo)準(zhǔn),設(shè)計(jì)標(biāo)準(zhǔn),并進(jìn)行統(tǒng)計(jì)匯總;項(xiàng)目總負(fù)責(zé)人或總工程師負(fù)責(zé)審核,以及責(zé)令修改。在這種模式中,要由許多有特定權(quán)限的角色共同協(xié)作來完成工作。

        2.3 異地并行工作

        隨著Internet接入的不斷普及,異地(非公司局域網(wǎng)范圍內(nèi))并行工作成為可能,而這也正符合大型勘查設(shè)計(jì)工作的特點(diǎn)。另一種情況是,概算審查單位(比如上級(jí)主管部門、建設(shè)單位)也都處于本單位局域網(wǎng)之外,他們也有要求通過Internet訪問某特定概算的需求。

        這些情況,帶來了通過Internet訪問本系統(tǒng)的需求。

        2.4 多變的部署規(guī)模

        大的設(shè)計(jì)院,一般有幾百個(gè)設(shè)計(jì)人員,有幾十個(gè)人的工經(jīng)處;中型的設(shè)計(jì)院,有近百個(gè)設(shè)計(jì)人員,有十余人的概算科;而眾多小型設(shè)計(jì)所、施工單位,有可能只有一個(gè)人,需要在一臺(tái)電腦上完成所有操作。

        對(duì)于這種種需求,在今天飛速發(fā)展的計(jì)算機(jī)技術(shù)面前,其有效實(shí)現(xiàn)都已經(jīng)成為可能。

        3 采用的軟件技術(shù)

        (1)數(shù)據(jù)庫系統(tǒng)采用了MS SQL Server2008。(2)客戶端采用了MS.Net Windows Application和IE配合使用。(3)服務(wù)端組件的設(shè)計(jì)采用了.Net Managed Component和ASP.NET。(4)Web服務(wù)器采用MS IIS。(5)數(shù)據(jù)交換技術(shù),采用了兩種技術(shù),一是基于SAOP協(xié)議的XML Web Service,它可以穿透防火墻,適于Internet應(yīng)用;二是基于TCP或HTTP協(xié)議,傳送Binary Stream的.Net Remoting,它交換速度更快,適于局域網(wǎng)內(nèi)部應(yīng)用。由于這些技術(shù)不在本文的討論范圍之內(nèi),故不展開討論。

        4 我們的鐵路概算軟件的體系結(jié)構(gòu)

        基于以上種種考慮,我們的鐵路概預(yù)算軟件的體系結(jié)構(gòu)設(shè)計(jì)共分為六層,如圖1所示,箭頭代表調(diào)用關(guān)系。

        4.1 客戶端表示層

        該層采用有著豐富表現(xiàn)形式的Windows應(yīng)用程序作為客戶端程序,通過這個(gè)界面,可以實(shí)現(xiàn)復(fù)雜的輸入和處理方式,也能更好地利用客戶端的資源,這是IE插件所難以辦到的。

        4.2 業(yè)務(wù)邏輯接口層

        該層用來將客戶端表示層和業(yè)務(wù)邏輯層隔離。在該層中,主要完成用戶權(quán)限管理工作,只有有權(quán)限的用戶才能存取相應(yīng)的業(yè)務(wù)。同時(shí),在該層中完成界面表示層和業(yè)務(wù)邏輯層之間數(shù)據(jù)格式的轉(zhuǎn)換。該層也為之后靈活地部署提供了條件。

        4.3 業(yè)務(wù)邏輯層

        該層的功能是比較好理解的——在該層中處理所有定額的管理邏輯、規(guī)則的定義邏輯、概算的計(jì)算邏輯,以及所有數(shù)據(jù)格式的合理性檢查。同時(shí),它又是對(duì)多種來自業(yè)務(wù)邏輯接口層的一種歸納抽象,可以降低冗余業(yè)務(wù)邏輯,提高代碼的內(nèi)聚性。

        4.4 數(shù)據(jù)接口層

        該層的功能很單一,是內(nèi)存中的數(shù)據(jù)集和數(shù)據(jù)庫之間的接口。它只負(fù)責(zé)定額、概算數(shù)據(jù)和數(shù)據(jù)庫之間的交換。它是業(yè)務(wù)邏輯層對(duì)數(shù)據(jù)庫的調(diào)用的一種歸納和抽象,能夠大幅度地降低冗余代碼。

        4.5 數(shù)據(jù)實(shí)體層

        數(shù)據(jù)實(shí)體層是數(shù)據(jù)庫中的實(shí)體在組件中的再定義。為什么要把它單獨(dú)分離出來呢?這是因?yàn)槠渌鲗訌谋举|(zhì)上說都要和數(shù)據(jù)庫對(duì)話,業(yè)務(wù)邏輯操縱的業(yè)務(wù)實(shí)體就是數(shù)據(jù)庫中的實(shí)體,而在N層結(jié)構(gòu)中,只有數(shù)據(jù)接口層才能和數(shù)據(jù)庫交流,為此我們創(chuàng)建了數(shù)據(jù)實(shí)體層。從上圖中可以看出,其他各層都要對(duì)本層進(jìn)行訪問。同時(shí)帶來的好處是,它是數(shù)據(jù)庫中的實(shí)體的所有信息在組件中的映象,它對(duì)所有數(shù)據(jù)實(shí)體在組建中建立了強(qiáng)制類型的約束。

        4.6 數(shù)據(jù)庫層

        數(shù)據(jù)庫層負(fù)責(zé)定額、規(guī)則、概算數(shù)據(jù)的存取。把所有業(yè)務(wù)邏輯從數(shù)據(jù)庫層剔除,當(dāng)然是理想化的,但同時(shí)也會(huì)使我們不得不放棄數(shù)據(jù)庫管理軟件的強(qiáng)大功能所帶來的好處。為此我們還是利用了數(shù)據(jù)庫提供的關(guān)聯(lián)、索引、約束等手段,同時(shí)設(shè)計(jì)了簡明的存儲(chǔ)過程和觸發(fā)器,在提供和數(shù)據(jù)接口層交流的同時(shí),降低業(yè)務(wù)邏輯層的工作量。

        5 多層的優(yōu)點(diǎn)

        有的讀者可能會(huì)問,這么簡單的一個(gè)輸入定額、費(fèi)率、再計(jì)算、輸出報(bào)表的過程用得著設(shè)計(jì)這么多層嗎?那么,拋下邏輯清晰、便于升級(jí)、便于維護(hù)等優(yōu)點(diǎn)不講,下面介紹幾種部署方案,來簡單了解一下N層體系結(jié)構(gòu)設(shè)計(jì)帶來的其他益處。

        5.1 簡單的個(gè)人版的部署

        這類用戶可能只有一臺(tái)電腦,需要我們將所有組件都部署在同一臺(tái)機(jī)器上。數(shù)據(jù)庫可以安裝SQL Server MSDE,同時(shí)簡化用戶管理模塊,使該用戶擁有所有權(quán)限。這樣,該用戶會(huì)覺得和使用一個(gè)單機(jī)版的軟件沒有區(qū)別。

        5.2 一個(gè)中大型企業(yè)的部署

        圖2是各種組件在一個(gè)企業(yè)局域網(wǎng)內(nèi)部的部署:

        豎虛線左面的是網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),右面的是各層部署的組件。服務(wù)器集群的作用是均衡網(wǎng)絡(luò)負(fù)載,那么客戶的個(gè)數(shù)將只會(huì)受到集群的大小的限制。一般情況下,幾百人的企業(yè)有一臺(tái)電腦也足夠了。

        5.3 面向Internet用戶的部署

        圖3是各種組件在一個(gè)Internet解決方案中的部署:

        從這張圖中可以看出,客戶端可以通過調(diào)用Web Service,在Internet上訪問本系統(tǒng),同樣為了降低海量用戶訪問的壓力,可以設(shè)計(jì)兩個(gè)服務(wù)器集群,一個(gè)是web服務(wù)器集群,它是一個(gè)橋梁,溝通外部世界;另一個(gè)集群是組件服務(wù)器集群,用以完成業(yè)務(wù)邏輯處理。兩個(gè)集群之間用.Net Remoting連接。

        這樣,通過組件的部署與配置,我們的軟件系統(tǒng)已經(jīng)發(fā)展為一個(gè)可以在Internet級(jí)別上應(yīng)用的大型系統(tǒng),可以為廣大的客戶提供鐵路工程概預(yù)算服務(wù)。

        6 結(jié) 論

        以上是我們對(duì)鐵路概預(yù)算軟件項(xiàng)目設(shè)計(jì)的簡單介紹。通過對(duì)N層體系架構(gòu)的理解、對(duì)具體項(xiàng)目的分析,闡述了在本項(xiàng)目中,我們對(duì)層次的劃分,以及它所帶來的益處。

        我們希望能夠?qū)⒐ぷ髦械那猩眢w會(huì)進(jìn)行歸納總結(jié),并試圖得出超出具體軟件項(xiàng)目之外的規(guī)律性的東西。希望同行們批評(píng)指正,讓我們工程技術(shù)人員一起努力,把最新的計(jì)算機(jī)軟件技術(shù)應(yīng)用到生產(chǎn)實(shí)踐中,讓新興的軟件信息技術(shù)為鐵路建設(shè)事業(yè)服務(wù)。

        參考文獻(xiàn):

        [1] 李準(zhǔn),王曉剛.鐵路工程概預(yù)算工程數(shù)量自動(dòng)套用定額系統(tǒng)研究 [J].鐵道標(biāo)準(zhǔn)設(shè)計(jì),2014,58(3):141-145.

        [2] 陳瑜.基于專家系統(tǒng)的鐵路工程單項(xiàng)概算編制研究 [J].鐵道標(biāo)準(zhǔn)設(shè)計(jì),2017,61(1):154-158.

        [3] 金強(qiáng).新版鐵路工程概預(yù)算編制辦法與費(fèi)用定額的特點(diǎn)及應(yīng)用 [J].鐵路工程技術(shù)與經(jīng)濟(jì),2017,32(4):13-16.

        作者簡介:張弛(1988.03-),男,漢族,遼寧錦州人,本科,助理工程師。主要從事計(jì)算機(jī)應(yīng)用相關(guān)研究。

        日韩人妻av不卡一区二区三区| 日本阿v网站在线观看中文 | 国产精品99久久精品女同| 国产精品亚洲av高清二区| 久久久久亚洲精品无码蜜桃| 在线观看国产成人av片| 日韩av一区二区毛片| 视频国产一区二区在线| 狠狠色丁香婷婷综合潮喷| 国产又滑又嫩又白| 亚洲va在线va天堂va四虎| 久久精品视频日本免费| 国产精品亚洲片在线观看不卡| 制服丝袜人妻中文字幕在线| 激情 一区二区| 中文字幕有码在线人妻| 性饥渴的农村熟妇| 中文字幕av在线一二三区| 男人的av天堂狠狠操| 富婆猛男一区二区三区| 精品国产一二三产品区别在哪 | 日本高清一区在线你懂得| 亚洲国产精品成人天堂| 伊人色综合视频一区二区三区| 成人日韩av不卡在线观看| 精品精品国产一区二区性色av| 无码人妻h动漫中文字幕| 人妻无码人妻有码中文字幕| 精品视频在线观看一区二区有 | 男女高潮免费观看无遮挡| 女人18毛片aa毛片免费| 娇妻在交换中哭喊着高潮| 亚洲自偷自拍另类图片小说| 日本一区二区精品色超碰| 亚洲精品乱码久久久久久| 性欧美暴力猛交69hd| 国产精品乱子伦一区二区三区 | 伊伊人成亚洲综合人网7777| 亚洲精品国产主播一区二区 | 国产毛片三区二区一区| 国产一区亚洲二区三区|