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



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