項(xiàng) 琛 上海鐵路局信息技術(shù)所
目前,路局調(diào)度所掌握管內(nèi)所有客車運(yùn)行情況以及晚點(diǎn)信息,但是缺少一套高效、快捷的信息系統(tǒng)為路局各處室、管內(nèi)各車站、車務(wù)段、客運(yùn)段等單位提供相關(guān)客車晚點(diǎn)信息。
通過(guò)構(gòu)建上海鐵路局客車正晚點(diǎn)信息管理系統(tǒng),可以提供路局范圍內(nèi)所有晚點(diǎn)客車的預(yù)告和分析匯總情況。通過(guò)使用該軟件,路局客服中心及各相關(guān)處室、客運(yùn)站以及客運(yùn)段等客運(yùn)部門可以有效地掌握旅客列車正晚點(diǎn)信息,提高應(yīng)急處置能力;通過(guò)與廣播電臺(tái)合作,進(jìn)行廣告冠名,增強(qiáng)經(jīng)濟(jì)效益;為出發(fā)旅客及接送客戶服務(wù),樹立鐵路形象。路局調(diào)度所能夠?qū)蛙囃睃c(diǎn)情況進(jìn)行分析匯總,生成每日客車統(tǒng)計(jì)報(bào)表,從而有效地指揮生產(chǎn)運(yùn)輸。
在軟件體系架構(gòu)設(shè)計(jì)中,分層式結(jié)構(gòu)是最常見,也是最重要的一種結(jié)構(gòu)。微軟推薦的分層式結(jié)構(gòu)一般分為三層,從下至上分別為:數(shù)據(jù)訪問(wèn)層、業(yè)務(wù)邏輯層(又或稱為領(lǐng)域?qū)樱⒈硎緦樱ㄒ妶D1)。
圖1 三層結(jié)構(gòu)原理
三個(gè)層次中,系統(tǒng)主要功能和業(yè)務(wù)邏輯都在業(yè)務(wù)邏輯層進(jìn)行處理。
所謂三層體系結(jié)構(gòu),是在客戶端與數(shù)據(jù)庫(kù)之間加入了一個(gè)“中間層”,也叫組件層。這里所說(shuō)的三層體系,不是指物理上的三層,不是簡(jiǎn)單地放置三臺(tái)機(jī)器就是三層體系結(jié)構(gòu),也不僅僅有B/S應(yīng)用才是三層體系結(jié)構(gòu),三層是指邏輯上的三層,即使這三個(gè)層放置到一臺(tái)機(jī)器上。
三層體系的應(yīng)用程序?qū)I(yè)務(wù)規(guī)則、數(shù)據(jù)訪問(wèn)、合法性校驗(yàn)等工作放到了中間層進(jìn)行處理。通常情況下,客戶端不直接與數(shù)據(jù)庫(kù)進(jìn)行交互,而是通過(guò)COM/DCOM通訊與中間層建立連接,再經(jīng)由中間層與數(shù)據(jù)庫(kù)進(jìn)行交互。
(1)開放性、通用性和擴(kuò)展性
采用當(dāng)今先進(jìn)的、成熟的系統(tǒng)軟硬件,降低系統(tǒng)建設(shè)成本。采用面向未來(lái)的標(biāo)準(zhǔn)化技術(shù),面向?qū)ο蟮脑O(shè)計(jì)方法,B/S應(yīng)用體系結(jié)構(gòu),包括計(jì)算機(jī)、服務(wù)器、操作系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)在內(nèi)的軟硬件能兼容市場(chǎng)主流硬件和軟件系統(tǒng),保證方便地進(jìn)行擴(kuò)充和升級(jí)。同時(shí),考慮到將來(lái)信息系統(tǒng)的拓展對(duì)該項(xiàng)目的遠(yuǎn)期建設(shè)所提出的更高要求,所以系統(tǒng)結(jié)構(gòu)應(yīng)采用模塊化設(shè)計(jì),在服務(wù)器處理能力、存儲(chǔ)設(shè)備容量、網(wǎng)絡(luò)通道帶寬等方面留有拓展能力。
(2)安全性和可靠性
鐵路部門是國(guó)民經(jīng)濟(jì)的運(yùn)輸大動(dòng)脈,安全問(wèn)題是項(xiàng)目成功的關(guān)鍵,因此要有安全體系的完整考慮。通過(guò)建立嚴(yán)格的系統(tǒng)操作權(quán)限機(jī)制、網(wǎng)絡(luò)安全機(jī)制和嚴(yán)格的系統(tǒng)使用規(guī)章制度,來(lái)提高系統(tǒng)的安全性;通過(guò)規(guī)范業(yè)務(wù)操作流程和降低服務(wù)器故障率,從軟件和硬件兩方面來(lái)提高系統(tǒng)的可靠性。
(3)易操作性和可用性
信息系統(tǒng)應(yīng)實(shí)用可靠,界面友好。其維護(hù)界面設(shè)計(jì)和操作設(shè)計(jì)方面,應(yīng)直觀醒目,保證操作界面清晰、操作方式簡(jiǎn)便、操作流程順暢,使信息顯示和查詢準(zhǔn)確、方便、快捷,全力保障系統(tǒng)的高可用性。
(4)統(tǒng)一規(guī)范,形成標(biāo)準(zhǔn)
隨著鐵路信息化建設(shè)的不斷完善和鐵路改革工作的不斷深入,必然會(huì)對(duì)系統(tǒng)提出更高的要求。因此,系統(tǒng)設(shè)計(jì)之初應(yīng)當(dāng)充分考慮系統(tǒng)的可維護(hù)性和可擴(kuò)充性,形成統(tǒng)一規(guī)范,其網(wǎng)絡(luò)規(guī)劃和信息安全建設(shè)應(yīng)符合鐵道部關(guān)于計(jì)算機(jī)網(wǎng)絡(luò)建設(shè)的總體規(guī)劃。
在傳統(tǒng)的結(jié)構(gòu)化軟件的實(shí)際中,基于業(yè)務(wù)流程的描述大多采用數(shù)據(jù)流圖。在新一代NET框架下,這種方法已經(jīng)不適合面向?qū)ο蟮姆治鲈O(shè)計(jì)和實(shí)現(xiàn)。統(tǒng)一建模語(yǔ)言(UML)中的活動(dòng)圖用來(lái)在面向?qū)ο蟮南到y(tǒng)中不同組件之間建立工作流程模型,能使用戶快速和深刻地理解意思,從而形成用戶和開發(fā)人員之間對(duì)系統(tǒng)功能和流程共同的基礎(chǔ)性文檔。
系統(tǒng)設(shè)計(jì)采用模塊化的設(shè)計(jì)思想。
2.3.1 數(shù)據(jù)交換模塊
數(shù)據(jù)交換功能負(fù)責(zé)把晚點(diǎn)數(shù)據(jù)從調(diào)度數(shù)據(jù)庫(kù)中抽取到晚點(diǎn)數(shù)據(jù)庫(kù)中,進(jìn)行篩選和推算,生成晚點(diǎn)數(shù)據(jù);同時(shí)匯總生成每趟車的晚點(diǎn)數(shù)據(jù),從而推算出最少晚點(diǎn)時(shí)間;根據(jù)到達(dá)車次查找出折返車次,計(jì)算客車是否因晚點(diǎn)到達(dá)而產(chǎn)生延遲始發(fā),從而為調(diào)度及車站指揮運(yùn)行調(diào)度提供數(shù)據(jù)基礎(chǔ)。
2.3.2 數(shù)據(jù)維護(hù)模塊
數(shù)據(jù)維護(hù)模塊分為定時(shí)維護(hù)和手動(dòng)維護(hù)。
定時(shí)維護(hù)是指每天通過(guò)WEB Service技術(shù)訪問(wèn)客運(yùn)數(shù)據(jù),實(shí)時(shí)更新本地的時(shí)刻表數(shù)據(jù),從而減輕維護(hù)人員的工作壓力。
手動(dòng)維護(hù)是指用戶通過(guò)維護(hù)程序來(lái)更新時(shí)刻表和其他基礎(chǔ)數(shù)據(jù),一般適用于時(shí)刻表新舊交替的特殊情況。
2.3.3 數(shù)據(jù)查詢模塊
授權(quán)用戶可以通過(guò)路局辦公網(wǎng),使用Web端軟件查詢客車晚點(diǎn)情況。
2.3.4 數(shù)據(jù)分析模塊
授權(quán)用戶可以通過(guò)路局辦公網(wǎng),使用Web端,按照分界口接入交出、主要客運(yùn)站的到達(dá)出發(fā)、客車分類等條件,對(duì)以往客車晚點(diǎn)情況進(jìn)行分析匯總。例如分界口晚點(diǎn)分析、主要客運(yùn)站晚點(diǎn)分析、慣性晚點(diǎn)列車分析、客車正點(diǎn)率統(tǒng)計(jì)分析等內(nèi)容。
授權(quán)用戶通過(guò)對(duì)客車站點(diǎn)情況的分析匯總,能夠生成各類報(bào)表數(shù)據(jù),為領(lǐng)導(dǎo)決策提供依據(jù);也能作為對(duì)調(diào)度所和客運(yùn)站的客運(yùn)指揮作業(yè)進(jìn)行考核的依據(jù)。
主要表示為WEB方式,也可以表示成WINFORM方式,如果邏輯層相當(dāng)強(qiáng)大和完善,無(wú)論表現(xiàn)層如何定義和更改,邏輯層都能完善地提供服務(wù)。
例如:各用戶使用系統(tǒng)前,必須擁有相應(yīng)的權(quán)限;當(dāng)每個(gè)用戶登錄系統(tǒng)之后,根據(jù)用戶的權(quán)限,顯示不同的界面,從而保證了系統(tǒng)的安全性和統(tǒng)一性。
主要是針對(duì)具體問(wèn)題的操作,也可以理解成對(duì)數(shù)據(jù)層的操作,對(duì)數(shù)據(jù)業(yè)務(wù)邏輯處理,如果說(shuō)數(shù)據(jù)層是積木,那邏輯層就是對(duì)這些積木的搭建。
利用UML對(duì)系統(tǒng)分析的類圖可以方便地生成應(yīng)用程序類框架。在本系統(tǒng)中,BaseDAL.cs是邏輯層的基類,基類已經(jīng)包括了增刪改查的基本操作方法,一些常用的屬性和常用的方法。例如,DALUser.cs和DALLine.cs都是BaseDAL.cs的子類,繼承了BaseDAL.cs的方法,分別添加了自己的屬性,擴(kuò)展了自己的方法和事件,DALUser.cs負(fù)責(zé)處理和用戶相關(guān)的操作,DALLine.cs則負(fù)責(zé)處理線路方面的工作。
主要是對(duì)原始數(shù)據(jù)(數(shù)據(jù)庫(kù)或者文本文件等存放數(shù)據(jù)的形式)的操作層,而不是指原始數(shù)據(jù),也就是說(shuō),是對(duì)數(shù)據(jù)的操作,而不是數(shù)據(jù)庫(kù),具體為業(yè)務(wù)邏輯層或表示層提供數(shù)據(jù)服務(wù)。
本系統(tǒng)數(shù)據(jù)庫(kù)采用Oracle,在數(shù)據(jù)層的訪問(wèn)的具體實(shí)現(xiàn)方式上,采用第三方通用的數(shù)據(jù)訪問(wèn)類DbHelperOra.cs。該類支持對(duì)數(shù)據(jù)庫(kù)的讀寫操作方式,存儲(chǔ)過(guò)程的執(zhí)行等內(nèi)容。
在Net中,該類可以用于任何層,因此無(wú)需重復(fù)處理和數(shù)據(jù)相關(guān)的工作,體現(xiàn)了Net框架下代碼常用的優(yōu)越性。
本系統(tǒng)已經(jīng)在上海局、濟(jì)南局開始使用,路局管理部門和使用單位(部門)通過(guò)本系統(tǒng),能有效掌握客車正晚點(diǎn)情況,提高客運(yùn)部門應(yīng)急處置能力;客服中心和廣播電臺(tái)進(jìn)行合作,提供相關(guān)信息,能產(chǎn)生較大的社會(huì)效益,樹立鐵路良好形象。