郭睿志+陳玉茹+侯攀+歐陽曉鳳+趙順愷



摘要:為確保部隊信息化建設的可持續發展,針對部隊現有各系統之間公用數據不統一、不同步,以及數據庫版本和開發環境不一致等問題,建立統一的開發模式和數據庫設計標準勢在必行。通過使用.NET N層架構和團隊開發模式,完成軍事訓練綜合信息管理系統、軍事實力動態統計系統、裝備電子檔案系統和全資產生命周期系統開發,構成部隊信息化平臺的重要組成部分,較好地解決了數據不同步、開發平臺不統一、管理維護難等問題。
關鍵詞:C#;SQL Server;.NET N層構架;團隊開發模式;信息化平臺
中圖分類號:TP319
文獻標識碼:A
文章編號:16727800(2017)004010003
0引言
隨著信息技術的不斷發展,全軍信息化建設如火如荼。部隊的信息化建設雖已展開,但現有的官方網站、營區一體化平臺、信息管理系統,數據庫和開發平臺不一致,現有各系統之間的公用數據不統一、不同步,存在協調不一致等問題,不利于部隊信息化建設的可持續發展。為此,有必要對該部隊信息化建設進行統一規劃、統一部署,規范數據庫設計流程,及時收集各部門的需求,對于通用的數據要規范數據庫的建立,對于不同的業務系統單獨建立不同的數據庫,明確開發模式,開發出一系列符合單位實際需求的信息管理系統,構成信息化平臺。
1功能構架設計
針對已有的和即將開發的各類信息系統,根據各部門職能劃分,信息化平臺的功能構架設計如圖1所示。 司令部門包括訓練和戰備兩大子平臺。訓練子平臺包括軍事訓練綜合信息管理系統、辦公自動化系統、各類模擬訓練系統和主戰裝備作戰運用輔助決策軟件等;戰備子平臺包括軍事實力動態統計管理系統、戰備物資管理系統、值班管理系統和情報資料庫等。政治工作方面,主要在政工網的平臺上增添數字化史館、圖書館、精品課堂和法律咨詢等板塊,以靜態信息為主,不斷實時更新,對數據庫的依賴較小。 綜合保障工作是為保障部服務的子平臺,主要包括全資產生命周期管理系統、智能倉庫管理系統、裝備電子檔案管理系統等。
2技術構架設計
2.1開發環境及運行環境
開發平臺:Visual Studio 2012;編程語言:Visual C#;數據庫管理系統軟件:SQL Server 2012;數據庫設計軟件:Power Designer 16;運行平臺:服務器使用Windows Server 2008 R2;客戶端即終端用戶使用Windows 7/Windows XP;網絡環境:依托單位現有三層交換網絡,在局域網內劃分不同VLAN用于區分開發環境網絡、部署網絡和用戶網絡。
2.2N層開發架構
部隊信息化平臺技術構架采用基于.NET Framework的N層架構進行開發[1]。與傳統ASP.NET中所用到的三層構架不同,.NET N層架構進行了更有效的劃分,各層之間既有交互又相對獨立,可以更好地提高開發效率[2]。各層包含內容和其它層之間的關系如圖2所示。(1)底層數據庫采用SQL Server 2012關系數據庫作為數據存儲的介質。 (2)數據訪問層包括數據實體模型和數據訪問組件,使用Entity Framework技術與底層數據庫交互,所有基于數據庫的操作都是由Entity Framework來完成,配合LINQ to Entities技術可直接對數據表、視圖和存儲過程等實體模型進行復雜的查詢、排序、修改等操作[3],開發人員不必編寫大量的復雜代碼用來處理數據訪問,大大提升了開發效率。
(3)數據訪問層之上是業務邏輯層,邏輯與數據的分離,便于更好地把握業務邏輯,而不需要關心業務邏輯與底層數據間的交互。業務邏輯層主要包括:業務對象模型、對象管理組建和數據請求。 (4)用戶表現層即與用戶交互的Web界面,交互界面采用ASP.NET技術,以HTML格式輸出,通過瀏覽器呈現界面元素和樣式。用戶通過訪問Web頁面獲取相應信息,并進行相關業務操作。 (5)外部接口實現與其它系統的通信及數據集成,可以對已有的組件進行復用或二次開發。 (6)通用組件包括通用方法庫、全局枚舉庫和系統常量庫[4],用于全局的開發調用,可以為數據訪問層、業務邏輯層和用戶表現層提供公用的類、枚舉和數據結構及相關操作。
3數據庫設計
3.1數據庫工具
為滿足信息化平臺建設需求,數據庫軟件應使用滿足海量數據存儲需求的大型分布式關系數據庫。因此部隊信息化平臺數據庫軟件選用微軟公司的SQL Server 2012,可以提供更好的性能,提高開發效率和系統可用性[5]。
3.2數據庫構架
數據庫包括通用數據庫和業務數據庫。通用數據庫用于存儲各系統公用的數據信息,如人員信息、單位信息等會在多個業務系統中反復使用,將這些數據統一存放在通用數據庫可以避免不同業務數據庫的重復建立并確保數據的準確性、唯一性。業務數據庫是針對不同的業務系統(信息管理系統)建立的數據庫。在信息集成平臺建設初期,由于數據量相對較小,可以采用單一的服務器作為數據庫服務器,以周為單位進行增量備份;隨著數據庫數據量不斷增多,需將數據庫遷移到采用Failover模式的數據庫服務器集群中,當一臺服務器出現故障后,其它服務器能夠自動切換,從而確保數據的一致、穩定和可靠。
4團隊開發模式及部署
4.1團隊開發模型
總體設計采用帶有信息反饋環的瀑布模型,在搜集總體需求后依次進行構架設計、可行性分析和數據庫設計。構架分析過程中可以對總體需求形成反饋,從而對總體需求進行適當變更。可行性分析和數據庫設計也包含相應的反饋和調整。在項目開發時,采用螺旋模型,一周的圓弧作為一個開發周期,通常在完成2~3次迭代后完成具體項目開發,如圖3所示。
4.2團隊開發工具
團隊開發工具選取微軟公司的Team Foundation Server 2012,配合Visual Studio 2012可以輕松實現源代碼管理、代碼的版本控制、數據收集和項目跟蹤[6]。
4.3團隊開發及網絡部署
開發團隊需組建小型局域網,在單位三層交換網絡下,通過劃分單獨的VLAN,使開發環境處在相對隔離的網絡內(VLAN 100),部署時通過路由發布到指定Web服務器上(VLAN 1內)。開發團隊進行開發和部署的網絡環境如圖4所示。
5結語
基于.NET N層構架和團隊開發模式,本文完成了軍事訓練綜合信息管理系統[7]、軍事實力動態統計系統、裝備電子檔案系統[8]和全資產生命周期管理系統的開發,并部署在應用服務器上,成為部隊信息化平臺的重要組成部分。各系統開發使用統一的開發模式并調用公共數據,確保了數據的準確性、一致性,便于日常管理和維護。
參考文獻:[1]DINO ESPRESSO. Microsoft .NET企業應用構架設計[M].陳黎夫,譯.北京:人民郵電出版社,2010.
[2]汪洋..NET應用構架設計原則模式與實踐[M].北京:機械工業出版社,2012.
[3]郭睿志,邊力,譚龍丹,等.數據庫查詢中LINQ to Entities應用研究[J].軟件導刊,2014(1):122124.
[4]杜威.車輛武器裝備信息管理系統設計與實現[D].長春:吉林大學,2012:1517.
[5]ADAM JORGENSEN. SQL Server 2012高級管理教程[M].宋沄劍,曹仰杰,譯.北京:清華大學出版社,2011.
[6]MICKEY GOUSSET. Visual Studio 2010軟件生命周期管理高級教程[M].竇朝暉,司倩然,譯.北京:清華大學出版社,2011.
[7]譚龍丹,郭睿志,王帥,等.基于SQL Server 2012的軍事訓練綜合信息管理系統設計與實現[J].軟件導刊,2014(9):8789.
[8]譚龍丹,郭睿志,王帥,等.基于C#與SQL Server的裝備電子檔案系統的設計與實現[J].現代電子技術,2014(14):4042.
(責任編輯:孫娟)