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

鐵路概預算軟件系統的體系結構設計

2018-09-10 07:25:14張弛
現代信息科技 2018年2期

摘 要:本文結合鐵路工程概預算軟件項目的實例,闡述了對N層體系架構技術的理解,并通過分析具體的項目特點,詳細地表述了如何設計一個可以靈活部署為單臺計算機應用模式、企業局域網應用模式、Internet應用模式的分布式應用系統的體系結構設計方案。

關鍵詞:鐵路概預算;軟件系統設計;N層體系結構;Web服務;分布式應用程序;應用程序部署

中圖分類號:TP311.52;U215.1 文獻標識碼:A 文章編號: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

引 言

隨著計算機科學技術的不斷發展,軟件的規模和應用領域迅速擴大,造成了軟件程度的復雜度不斷加大,所以高效地開發出高質量的軟件產品越來越困難,于是軟件開發人員開始關注如何找到理解軟件的更好途徑和探討是否存在更好的途徑來構造復雜的大型軟件系統。為此,作為基層的計算機技術人員,我們對手頭的工作項目進行了深入的思考。下面,結合我們在鐵路概預算軟件開發過程中的體會,就如何用N層體系結構來設計該項目的系統結構,進行簡單介紹。

1 N層體系結構簡介

設計和數據庫相關的軟件系統,總逃不開在如何確定系統的體系結構的問題上做出選擇。隨著網絡技術的不斷發展,體系結構已經從當年的不分層,發展到今天的N層體系結構。軟件的設計實現也從當年無規矩可循的泥沼中,走到今天規范的高速路上來。

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

隨著組件技術的不斷發展,N層架構出現了,這給上文的提問以多樣的解決方式。N層架構還是以三層架構為基礎的,只是業務邏輯層被劃分得更細,如表示層和業務邏輯的接口被從業務邏輯層單獨分離出來,業務邏輯和數據庫的接口也被從業務邏輯層單獨分離出來,數據實體層被單獨定義,這樣每層的邏輯更單一,層與層的接口更清晰,而這一切帶來的就是更容易地升級、更簡單地維護、更靈活地部署。

總結了這么多的分層方式,可以看出,給出一個設計方案是有多種選擇的。采用何種方案的標準是:哪種體系結構的設計方案更適合我們的具體項目;適合的標準是:體量合適、效率滿足需要、易于升級、易于維護、可以靈活部署。

下面以我們的項目為案例,闡述我們的解決方案。

2 鐵路概算軟件的項目特點

設計鐵路概算軟件體系結構時,以下方面是必須考慮到的:

2.1 多專業配合工作

一個工程項目一般包含多個子工程,每個子工程需要多個專業配合設計。比如一個房建工程就涉及房屋、水暖、電力、裝飾、機械等專業;更大的工程如一個秦沈客運專線,就需要多個車站多個區間的線路工程、橋梁工程、房建工程、信號工程、通信工程等。如此說來,我們面臨這樣一個事務模型:它是由許多相互關聯的子事務構成的,這些子事務模型共享基礎資源,共享設計標準,彼此有時序關聯,互為約束條件。

2.2 多人協作工作

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

2.3 異地并行工作

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

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

2.4 多變的部署規模

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

對于這種種需求,在今天飛速發展的計算機技術面前,其有效實現都已經成為可能。

3 采用的軟件技術

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

4 我們的鐵路概算軟件的體系結構

基于以上種種考慮,我們的鐵路概預算軟件的體系結構設計共分為六層,如圖1所示,箭頭代表調用關系。

4.1 客戶端表示層

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

4.2 業務邏輯接口層

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

4.3 業務邏輯層

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

4.4 數據接口層

該層的功能很單一,是內存中的數據集和數據庫之間的接口。它只負責定額、概算數據和數據庫之間的交換。它是業務邏輯層對數據庫的調用的一種歸納和抽象,能夠大幅度地降低冗余代碼。

4.5 數據實體層

數據實體層是數據庫中的實體在組件中的再定義。為什么要把它單獨分離出來呢?這是因為其他各層從本質上說都要和數據庫對話,業務邏輯操縱的業務實體就是數據庫中的實體,而在N層結構中,只有數據接口層才能和數據庫交流,為此我們創建了數據實體層。從上圖中可以看出,其他各層都要對本層進行訪問。同時帶來的好處是,它是數據庫中的實體的所有信息在組件中的映象,它對所有數據實體在組建中建立了強制類型的約束。

4.6 數據庫層

數據庫層負責定額、規則、概算數據的存取。把所有業務邏輯從數據庫層剔除,當然是理想化的,但同時也會使我們不得不放棄數據庫管理軟件的強大功能所帶來的好處。為此我們還是利用了數據庫提供的關聯、索引、約束等手段,同時設計了簡明的存儲過程和觸發器,在提供和數據接口層交流的同時,降低業務邏輯層的工作量。

5 多層的優點

有的讀者可能會問,這么簡單的一個輸入定額、費率、再計算、輸出報表的過程用得著設計這么多層嗎?那么,拋下邏輯清晰、便于升級、便于維護等優點不講,下面介紹幾種部署方案,來簡單了解一下N層體系結構設計帶來的其他益處。

5.1 簡單的個人版的部署

這類用戶可能只有一臺電腦,需要我們將所有組件都部署在同一臺機器上。數據庫可以安裝SQL Server MSDE,同時簡化用戶管理模塊,使該用戶擁有所有權限。這樣,該用戶會覺得和使用一個單機版的軟件沒有區別。

5.2 一個中大型企業的部署

圖2是各種組件在一個企業局域網內部的部署:

豎虛線左面的是網絡拓撲結構,右面的是各層部署的組件。服務器集群的作用是均衡網絡負載,那么客戶的個數將只會受到集群的大小的限制。一般情況下,幾百人的企業有一臺電腦也足夠了。

5.3 面向Internet用戶的部署

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

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

這樣,通過組件的部署與配置,我們的軟件系統已經發展為一個可以在Internet級別上應用的大型系統,可以為廣大的客戶提供鐵路工程概預算服務。

6 結 論

以上是我們對鐵路概預算軟件項目設計的簡單介紹。通過對N層體系架構的理解、對具體項目的分析,闡述了在本項目中,我們對層次的劃分,以及它所帶來的益處。

我們希望能夠將工作中的切身體會進行歸納總結,并試圖得出超出具體軟件項目之外的規律性的東西。希望同行們批評指正,讓我們工程技術人員一起努力,把最新的計算機軟件技術應用到生產實踐中,讓新興的軟件信息技術為鐵路建設事業服務。

參考文獻:

[1] 李準,王曉剛.鐵路工程概預算工程數量自動套用定額系統研究 [J].鐵道標準設計,2014,58(3):141-145.

[2] 陳瑜.基于專家系統的鐵路工程單項概算編制研究 [J].鐵道標準設計,2017,61(1):154-158.

[3] 金強.新版鐵路工程概預算編制辦法與費用定額的特點及應用 [J].鐵路工程技術與經濟,2017,32(4):13-16.

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

主站蜘蛛池模板: 亚洲区第一页| 成人无码一区二区三区视频在线观看 | 亚洲中文在线视频| a级毛片免费在线观看| 99精品热视频这里只有精品7| 精品国产www| 91小视频在线播放| 无码一区18禁| 欧美人人干| 亚洲国产欧美国产综合久久 | 美女被操黄色视频网站| 国产成人亚洲毛片| 伊人久热这里只有精品视频99| 在线日韩日本国产亚洲| 国产情侣一区| 亚洲自拍另类| 99久久99视频| 爱做久久久久久| 91在线视频福利| 国产午夜看片| 久久久久亚洲Av片无码观看| 国产精品第一区在线观看| 国产麻豆aⅴ精品无码| 高清色本在线www| 国产无码精品在线| 亚洲人成网站观看在线观看| 日本国产精品一区久久久| 热99re99首页精品亚洲五月天| 亚洲人精品亚洲人成在线| 一区二区三区国产| 伊人五月丁香综合AⅤ| 91色国产在线| 黄色网页在线观看| 免费aa毛片| 久久人与动人物A级毛片| 无码电影在线观看| 精品国产欧美精品v| 波多野结衣爽到高潮漏水大喷| 亚洲 欧美 日韩综合一区| 亚洲天堂精品视频| 黄色网在线| 99热6这里只有精品| 亚洲伊人天堂| 91九色视频网| 四虎综合网| 国产精品美女网站| 毛片免费试看| 欧洲av毛片| 午夜啪啪福利| 国产不卡在线看| 极品国产一区二区三区| 一级片一区| 99热国产在线精品99| 囯产av无码片毛片一级| 69视频国产| 2021国产精品自产拍在线| 伊人久久大线影院首页| 亚洲码一区二区三区| 久久久久无码国产精品不卡| 日本高清免费不卡视频| 免费人成黄页在线观看国产| 波多野结衣AV无码久久一区| h网站在线播放| 日韩欧美一区在线观看| 亚洲av成人无码网站在线观看| 九九热精品视频在线| 国产91全国探花系列在线播放| 毛片在线看网站| 亚洲黄色成人| 国产午夜在线观看视频| 91精品啪在线观看国产| 国模私拍一区二区| 亚洲国产成人超福利久久精品| 亚洲人成影院在线观看| 久久久久亚洲AV成人网站软件| 久久久久人妻精品一区三寸蜜桃| 一级爆乳无码av| 久久公开视频| 97人人模人人爽人人喊小说| 成人亚洲国产| 亚洲欧洲日韩综合| 永久免费无码成人网站|