項 琛 上海鐵路局信息技術所
目前,路局調度所掌握管內所有客車運行情況以及晚點信息,但是缺少一套高效、快捷的信息系統為路局各處室、管內各車站、車務段、客運段等單位提供相關客車晚點信息。
通過構建上海鐵路局客車正晚點信息管理系統,可以提供路局范圍內所有晚點客車的預告和分析匯總情況。通過使用該軟件,路局客服中心及各相關處室、客運站以及客運段等客運部門可以有效地掌握旅客列車正晚點信息,提高應急處置能力;通過與廣播電臺合作,進行廣告冠名,增強經濟效益;為出發旅客及接送客戶服務,樹立鐵路形象。路局調度所能夠對客車晚點情況進行分析匯總,生成每日客車統計報表,從而有效地指揮生產運輸。
在軟件體系架構設計中,分層式結構是最常見,也是最重要的一種結構。微軟推薦的分層式結構一般分為三層,從下至上分別為:數據訪問層、業務邏輯層(又或稱為領域層)、表示層(見圖1)。

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