譚龍丹+郭睿志+王帥+游志剛+王洪娟
摘 要: 為了解決裝備全壽命管理工作中數(shù)據(jù)變更頻繁、管理復(fù)雜等問(wèn)題,設(shè)計(jì)并實(shí)現(xiàn)了裝備電子檔案系統(tǒng)。該系統(tǒng)使用C#語(yǔ)言,以SQL Sever 2008作為底層數(shù)據(jù)庫(kù),采用LINQ to Entities進(jìn)行數(shù)據(jù)查詢與綁定,并用MS Chart實(shí)現(xiàn)數(shù)據(jù)可視化。實(shí)現(xiàn)了對(duì)裝備從生產(chǎn)、列裝、使用到退役報(bào)廢全過(guò)程信息的采集、管理與分析,對(duì)于掌握部隊(duì)裝備技術(shù)狀況,開(kāi)展裝備維護(hù)和維修管理、輔助決策具有重要的指導(dǎo)作用。
關(guān)鍵詞: C#; SQL Server; 裝備電子檔案系統(tǒng); LINQ to Entities; MS Chart
中圖分類號(hào): TN911?34; TP311.1 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2014)14?0040?03
Design and implementation of equipments′ electronic archive system based on C# and SQL Server
TAN Long?dan, GUO Rui?zhi, WANG Shuai, YOU Zhi?gang, WANG Hong?juan
(Unit 61251 of PLA, Qinghuangdao 066102, China)
Abstract: In order to solve the problems about frequently data changing and complicated management in full lifetime management for equipments, an equipment electronic archive system was designed and implemented. In this system, C# is used as its programming language, SQL Server 2008 is adopted as its bottom layer database, LINQ to Entities technology is chosen for database query and binding, and MS Chart is employed for data visualization. Information acquisition, management and analysis in the whole process of production, entrance to army, daily usage and retirement of equipments can be implemented by the system, which has an important guiding function in grasping the equipment technical status, maintaining the equipment maintenance and making the decision assistantly.
Keywords: C#; SQL Server; equipment electronic archive system; LINQ to Entities; MS Chart
0 引 言
裝備從生產(chǎn)、列裝、使用到退役報(bào)廢全過(guò)程的管理及質(zhì)量信息,為裝備全系統(tǒng)、全壽命管理提供了重要基礎(chǔ)和依據(jù),為部隊(duì)掌握裝備技術(shù)狀況,開(kāi)展裝備維護(hù)和維修管理、輔助決策提供重要的指導(dǎo)作用。裝備的管理越來(lái)越復(fù)雜,如何對(duì)裝備信息進(jìn)行科學(xué)高效的管理,已成為亟待解決的問(wèn)題,為實(shí)現(xiàn)這一目標(biāo),本文設(shè)計(jì)了一種基于C#和SQL Server的對(duì)裝備全壽命進(jìn)行管理的裝備電子檔案系統(tǒng)。
1 系統(tǒng)總體設(shè)計(jì)
1.1 系統(tǒng)需求
隨著基層部隊(duì)列裝裝備的增多,裝備信息的維護(hù)與管理的工作量與日俱增,傳統(tǒng)的以紙筆記錄的裝備檔案耗費(fèi)了巨大的人力物力,借用計(jì)算機(jī)技術(shù),為裝備建立電子檔案已經(jīng)成為了一個(gè)必然趨勢(shì)。因此開(kāi)發(fā)適合于基層部隊(duì)的裝備電子檔案系統(tǒng)是十分有必要的。同時(shí),各基層部隊(duì)局域網(wǎng)技術(shù)已經(jīng)相當(dāng)完備,硬件設(shè)施也相對(duì)齊全,裝備電子檔案系統(tǒng)的開(kāi)發(fā)與使用也是可行的。
1.2 編程語(yǔ)言選擇
1.2.1 C#語(yǔ)言簡(jiǎn)介
C#是一種簡(jiǎn)單、現(xiàn)代、面向?qū)ο?、類型非常安全、派生于C和C++的編程語(yǔ)言,可以用于編寫ASP.NET動(dòng)態(tài)Web頁(yè)面和XML Web服務(wù),同時(shí)以Visual Basic的風(fēng)格支持屬性和事件。C#是專門為與.NET Framework一起使用而設(shè)計(jì)的,對(duì).NET特性的支持不僅是完整的,而且提供了比其他語(yǔ)言更合適的語(yǔ)法,而.NET具有平臺(tái)無(wú)關(guān)性和數(shù)據(jù)的高效訪問(wèn)等優(yōu)點(diǎn),因此,C#語(yǔ)言是一個(gè)相對(duì)較好的選擇[1]。
1.2.2 SQL Server 2008簡(jiǎn)介
系統(tǒng)的數(shù)據(jù)庫(kù)采用Microsoft公司最新版本的SQL Server 2008關(guān)系數(shù)據(jù)庫(kù)。SQL Server 2008具有安全性、高效性和智能性等三大特性。SQL Server 2008在不改動(dòng)應(yīng)用程序的情況下可以完成數(shù)據(jù)庫(kù)、數(shù)據(jù)和日志的加密,還可以通過(guò)為每個(gè)數(shù)據(jù)庫(kù)定義審查規(guī)范,使得數(shù)據(jù)庫(kù)之間相對(duì)獨(dú)立。SQL Server 2008的高效性在于其對(duì)服務(wù)聲明周期進(jìn)行了明顯的升級(jí)和改進(jìn),為其安裝配置構(gòu)架過(guò)程進(jìn)行了重新設(shè)計(jì),開(kāi)發(fā)人員可以使用Entity Framework設(shè)計(jì)關(guān)系數(shù)據(jù)。
1.3 系統(tǒng)主要功能結(jié)構(gòu)
裝備電子檔案系統(tǒng)主要包括信息采集與管理,信息統(tǒng)計(jì)與分析,系統(tǒng)設(shè)置等功能,每個(gè)功能模塊的子模塊如圖1所示。
圖1 功能結(jié)構(gòu)圖
(1) 信息采集與管理子模塊,其用途是將裝備從生產(chǎn)、列裝、使用、維護(hù)、交接、以及退役的全系統(tǒng)、全壽命管理信息進(jìn)行信息錄入和管理,從而實(shí)現(xiàn)與裝備電子檔案中其他模塊的關(guān)聯(lián)。主要包括裝備基本信息、主要履歷信息、日常管理信息、維修信息、任務(wù)信息5個(gè)模塊:
① 基本信息包括裝備名稱、編號(hào)、生產(chǎn)廠家以及裝備組成、結(jié)構(gòu)、主要指標(biāo)以及功能描述等;
② 主要履歷信息包括裝備列裝、換裝與調(diào)整、裝備交接與責(zé)任人變更、裝備改造、技術(shù)革新、退役與報(bào)廢等;
③ 日常管理信息包括裝備技術(shù)狀態(tài)、日常動(dòng)用使用,維護(hù)保養(yǎng)、封存啟封等;
④ 維修信息包括故障信息、維修管理信息、維修結(jié)論等;
⑤ 任務(wù)信息包括演習(xí)、研練、基地化訓(xùn)練以及部隊(duì)試驗(yàn)等。
(2) 根據(jù)各級(jí)裝備管理人員的需求,信息統(tǒng)計(jì)與分析子模塊分為單裝、類裝(同型號(hào)裝備)和全裝(部隊(duì)所有裝備)三種情況:
① 對(duì)于單裝的信息統(tǒng)計(jì)分析主要有:主要指標(biāo)技術(shù)狀態(tài)變化情況統(tǒng)計(jì)分析、主要維護(hù)項(xiàng)及維護(hù)情況統(tǒng)計(jì)分析、維修信息(故障部位、故障數(shù)量)與故障率統(tǒng)計(jì)分析。
② 對(duì)于類裝的信息統(tǒng)計(jì)分析主要有:主要指標(biāo)技術(shù)狀態(tài)變化情況統(tǒng)計(jì)分析、維修信息(故障部位、故障數(shù)量)與故障率統(tǒng)計(jì)分析、易損件統(tǒng)計(jì)分析、重大任務(wù)信息統(tǒng)計(jì)分析。
③ 對(duì)于全裝的信息統(tǒng)計(jì)分析主要有:故障數(shù)量統(tǒng)計(jì)分析、重大任務(wù)信息統(tǒng)計(jì)分析等。
(3) 系統(tǒng)設(shè)置。系統(tǒng)設(shè)置主要包括用戶管理、權(quán)限管理、數(shù)據(jù)庫(kù)還原備份等功能。
2 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)
2.1 數(shù)據(jù)庫(kù)設(shè)計(jì)
裝備電子檔案系統(tǒng)數(shù)據(jù)庫(kù)物理模型如圖2所示。
裝備電子檔案系統(tǒng)數(shù)據(jù)庫(kù)包括裝備基本信息表、裝備指標(biāo)表、維護(hù)計(jì)劃表和裝備維護(hù)表等13張表:
(1) 裝備基本信息表用于記錄裝備名稱、功能描述等基本信息。
(2) 裝備的詳細(xì)信息表用于記錄裝備型號(hào)、所屬單位、裝備識(shí)別碼、裝備編號(hào)、裝備名稱等裝備的詳細(xì)信息。
(3) 裝備指標(biāo)表用于記錄裝備指標(biāo)名稱、指標(biāo)內(nèi)容、是否為主要指標(biāo)、當(dāng)前是否達(dá)標(biāo)、裝備名稱等裝備的指標(biāo)信息。
(4) 裝備指標(biāo)測(cè)試表用于記錄裝備的指標(biāo)的測(cè)試信息,包括測(cè)試時(shí)間、測(cè)試地點(diǎn)、測(cè)試結(jié)果、計(jì)量單位、測(cè)試單位、測(cè)試人等指標(biāo)測(cè)試信息。
(5) 任務(wù)表用于記錄任務(wù)名稱、開(kāi)始時(shí)間、結(jié)束時(shí)間、地點(diǎn)、參與人員等任務(wù)信息。
(6) 裝備任務(wù)表用于記錄裝備識(shí)別碼、對(duì)設(shè)備的影響等裝備任務(wù)信息。
(7) 裝備組成表用于記錄裝備組成、主要分機(jī)、生產(chǎn)廠家等裝備組成信息。
(8) 裝備交接表用于記錄裝備識(shí)別碼、監(jiān)交人、備件情況、交接時(shí)計(jì)數(shù)狀態(tài)等裝備交接表。
(9) 裝備動(dòng)用使用表用于記錄裝備識(shí)別碼、使用開(kāi)始時(shí)間、使用結(jié)束時(shí)間、地點(diǎn)、使用內(nèi)容、批準(zhǔn)人等裝備動(dòng)用使用表。
(10) 裝備封存啟封表用于記錄裝備識(shí)別碼、時(shí)間、是否封存等裝備封存啟封信息。
(11) 維護(hù)計(jì)劃表用于記錄維護(hù)的開(kāi)始時(shí)間、結(jié)束時(shí)間、地點(diǎn)、參與人員、維護(hù)內(nèi)容等維護(hù)計(jì)劃信息。
(12) 裝備維護(hù)表用于記錄裝備的維護(hù)計(jì)劃信息。
(13) 用戶權(quán)限表用于劃分不同用戶的權(quán)限。
圖2 數(shù)據(jù)庫(kù)物理模型圖
2.2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
2.2.1 模塊功能設(shè)計(jì)
根據(jù)圖1系統(tǒng)功能結(jié)構(gòu)劃分方式,系統(tǒng)設(shè)計(jì)時(shí)劃分為信息采集與管理、裝備統(tǒng)計(jì)與分析、系統(tǒng)設(shè)置三大功能模塊。圖3為信息采集與管理模塊中任務(wù)信息的采集與管理界面,左側(cè)可折疊菜單則顯示系統(tǒng)的三大功能。
2.2.2 系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)中的關(guān)鍵技術(shù)
(1) LINQ to Entities技術(shù)。語(yǔ)言集成查詢(Language Integreated Query,LINQ)是一組語(yǔ)言特性和API,使得開(kāi)發(fā)人員可以使用統(tǒng)一的方式來(lái)編寫各種數(shù)據(jù)的查詢[2]。LINQ to Entities提供了查詢關(guān)系數(shù)據(jù)庫(kù)中的實(shí)體模型的方式。實(shí)體模型可以把數(shù)據(jù)庫(kù)中的表、視圖和存儲(chǔ)過(guò)程等數(shù)據(jù)庫(kù)對(duì)象同步到實(shí)體模型中,使用LINQ to Entities可以直接對(duì)這些實(shí)體模型進(jìn)行查詢,開(kāi)發(fā)人員只需要著眼于對(duì)象模型的開(kāi)發(fā),而不需要考慮它們與數(shù)據(jù)庫(kù)如何進(jìn)行交互[3]。使用LINQ to Entities技術(shù)在進(jìn)行數(shù)據(jù)庫(kù)數(shù)據(jù)查詢與綁定時(shí)相對(duì)于傳統(tǒng)的ADO.NET具有更少的代碼量,靈活的查詢能力,變更追蹤以及批量更新等優(yōu)點(diǎn)[4]。例如在獲取裝備任務(wù)信息時(shí)采用了如下代碼:
///
/// 獲取所有任務(wù)列表
///
public List
{
List
return result.OrderByDescending(o=>o.BeginTime).ToList();}
圖3 信息管理與采集頁(yè)面
(2) MS Chart控件。裝備統(tǒng)計(jì)與分析模塊使用MS Chart控件實(shí)現(xiàn)了本系統(tǒng)的可視化開(kāi)發(fā)。MS Chart控件功能強(qiáng)大且完善,具有實(shí)時(shí)的圖表處理功能、支持AJAX交互式功能、支持?jǐn)?shù)據(jù)導(dǎo)出、完整的外觀自定義和數(shù)據(jù)的復(fù)制、合并、分割、排序、搜素與篩選等優(yōu)點(diǎn)[5]。例如本文中裝備易損性在統(tǒng)計(jì)與分析時(shí)使用了MS Chart控件,其界面效果如圖4。
圖4 裝備易損性統(tǒng)計(jì)與分析界面
3 結(jié) 語(yǔ)
本文所設(shè)計(jì)的裝備電子檔案系統(tǒng)實(shí)現(xiàn)了裝備全壽命過(guò)程中的信息采集與管理、相關(guān)數(shù)據(jù)的統(tǒng)計(jì)與分析。友好的界面方便了基層部隊(duì)官兵的使用,合理的數(shù)據(jù)庫(kù)設(shè)計(jì)提高了裝備信息采集、統(tǒng)計(jì)分析的效率,齊全的功能增強(qiáng)了裝備管理的效果。
參考文獻(xiàn)
[1] NAGEL Christian.C#高級(jí)編程[M].李銘,譯.7版.北京:清華大學(xué)出版社,2010.
[2] 李明彧.LINQ技術(shù)在軟件開(kāi)發(fā)中的應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用,2010(11):136.
[3] 韋軍,帥勇.運(yùn)用LINQ to Entity快速構(gòu)建信息系統(tǒng)結(jié)構(gòu)[J].科技世界,2012(24):42?43.
[4] MACDONALD Matthew, FREEMAN Adam, SZPUSZTA Mario. ASP.NET 4高級(jí)程序設(shè)計(jì)[M].博思工作室,譯.4版.北京:人民郵電出版社,2011.
[5] 章立民.Asp.NET開(kāi)發(fā)實(shí)戰(zhàn)范例寶典(使用C#)[M].北京:科學(xué)出版社,2010.
[6] 章濤,張立新,劉衛(wèi)東,等.基于電子履歷的車輛管理電子檔案系統(tǒng)研究[J].現(xiàn)代電子技術(shù),2011,34(19):198?200.
圖1 功能結(jié)構(gòu)圖
(1) 信息采集與管理子模塊,其用途是將裝備從生產(chǎn)、列裝、使用、維護(hù)、交接、以及退役的全系統(tǒng)、全壽命管理信息進(jìn)行信息錄入和管理,從而實(shí)現(xiàn)與裝備電子檔案中其他模塊的關(guān)聯(lián)。主要包括裝備基本信息、主要履歷信息、日常管理信息、維修信息、任務(wù)信息5個(gè)模塊:
① 基本信息包括裝備名稱、編號(hào)、生產(chǎn)廠家以及裝備組成、結(jié)構(gòu)、主要指標(biāo)以及功能描述等;
② 主要履歷信息包括裝備列裝、換裝與調(diào)整、裝備交接與責(zé)任人變更、裝備改造、技術(shù)革新、退役與報(bào)廢等;
③ 日常管理信息包括裝備技術(shù)狀態(tài)、日常動(dòng)用使用,維護(hù)保養(yǎng)、封存啟封等;
④ 維修信息包括故障信息、維修管理信息、維修結(jié)論等;
⑤ 任務(wù)信息包括演習(xí)、研練、基地化訓(xùn)練以及部隊(duì)試驗(yàn)等。
(2) 根據(jù)各級(jí)裝備管理人員的需求,信息統(tǒng)計(jì)與分析子模塊分為單裝、類裝(同型號(hào)裝備)和全裝(部隊(duì)所有裝備)三種情況:
① 對(duì)于單裝的信息統(tǒng)計(jì)分析主要有:主要指標(biāo)技術(shù)狀態(tài)變化情況統(tǒng)計(jì)分析、主要維護(hù)項(xiàng)及維護(hù)情況統(tǒng)計(jì)分析、維修信息(故障部位、故障數(shù)量)與故障率統(tǒng)計(jì)分析。
② 對(duì)于類裝的信息統(tǒng)計(jì)分析主要有:主要指標(biāo)技術(shù)狀態(tài)變化情況統(tǒng)計(jì)分析、維修信息(故障部位、故障數(shù)量)與故障率統(tǒng)計(jì)分析、易損件統(tǒng)計(jì)分析、重大任務(wù)信息統(tǒng)計(jì)分析。
③ 對(duì)于全裝的信息統(tǒng)計(jì)分析主要有:故障數(shù)量統(tǒng)計(jì)分析、重大任務(wù)信息統(tǒng)計(jì)分析等。
(3) 系統(tǒng)設(shè)置。系統(tǒng)設(shè)置主要包括用戶管理、權(quán)限管理、數(shù)據(jù)庫(kù)還原備份等功能。
2 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)
2.1 數(shù)據(jù)庫(kù)設(shè)計(jì)
裝備電子檔案系統(tǒng)數(shù)據(jù)庫(kù)物理模型如圖2所示。
裝備電子檔案系統(tǒng)數(shù)據(jù)庫(kù)包括裝備基本信息表、裝備指標(biāo)表、維護(hù)計(jì)劃表和裝備維護(hù)表等13張表:
(1) 裝備基本信息表用于記錄裝備名稱、功能描述等基本信息。
(2) 裝備的詳細(xì)信息表用于記錄裝備型號(hào)、所屬單位、裝備識(shí)別碼、裝備編號(hào)、裝備名稱等裝備的詳細(xì)信息。
(3) 裝備指標(biāo)表用于記錄裝備指標(biāo)名稱、指標(biāo)內(nèi)容、是否為主要指標(biāo)、當(dāng)前是否達(dá)標(biāo)、裝備名稱等裝備的指標(biāo)信息。
(4) 裝備指標(biāo)測(cè)試表用于記錄裝備的指標(biāo)的測(cè)試信息,包括測(cè)試時(shí)間、測(cè)試地點(diǎn)、測(cè)試結(jié)果、計(jì)量單位、測(cè)試單位、測(cè)試人等指標(biāo)測(cè)試信息。
(5) 任務(wù)表用于記錄任務(wù)名稱、開(kāi)始時(shí)間、結(jié)束時(shí)間、地點(diǎn)、參與人員等任務(wù)信息。
(6) 裝備任務(wù)表用于記錄裝備識(shí)別碼、對(duì)設(shè)備的影響等裝備任務(wù)信息。
(7) 裝備組成表用于記錄裝備組成、主要分機(jī)、生產(chǎn)廠家等裝備組成信息。
(8) 裝備交接表用于記錄裝備識(shí)別碼、監(jiān)交人、備件情況、交接時(shí)計(jì)數(shù)狀態(tài)等裝備交接表。
(9) 裝備動(dòng)用使用表用于記錄裝備識(shí)別碼、使用開(kāi)始時(shí)間、使用結(jié)束時(shí)間、地點(diǎn)、使用內(nèi)容、批準(zhǔn)人等裝備動(dòng)用使用表。
(10) 裝備封存啟封表用于記錄裝備識(shí)別碼、時(shí)間、是否封存等裝備封存啟封信息。
(11) 維護(hù)計(jì)劃表用于記錄維護(hù)的開(kāi)始時(shí)間、結(jié)束時(shí)間、地點(diǎn)、參與人員、維護(hù)內(nèi)容等維護(hù)計(jì)劃信息。
(12) 裝備維護(hù)表用于記錄裝備的維護(hù)計(jì)劃信息。
(13) 用戶權(quán)限表用于劃分不同用戶的權(quán)限。
圖2 數(shù)據(jù)庫(kù)物理模型圖
2.2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
2.2.1 模塊功能設(shè)計(jì)
根據(jù)圖1系統(tǒng)功能結(jié)構(gòu)劃分方式,系統(tǒng)設(shè)計(jì)時(shí)劃分為信息采集與管理、裝備統(tǒng)計(jì)與分析、系統(tǒng)設(shè)置三大功能模塊。圖3為信息采集與管理模塊中任務(wù)信息的采集與管理界面,左側(cè)可折疊菜單則顯示系統(tǒng)的三大功能。
2.2.2 系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)中的關(guān)鍵技術(shù)
(1) LINQ to Entities技術(shù)。語(yǔ)言集成查詢(Language Integreated Query,LINQ)是一組語(yǔ)言特性和API,使得開(kāi)發(fā)人員可以使用統(tǒng)一的方式來(lái)編寫各種數(shù)據(jù)的查詢[2]。LINQ to Entities提供了查詢關(guān)系數(shù)據(jù)庫(kù)中的實(shí)體模型的方式。實(shí)體模型可以把數(shù)據(jù)庫(kù)中的表、視圖和存儲(chǔ)過(guò)程等數(shù)據(jù)庫(kù)對(duì)象同步到實(shí)體模型中,使用LINQ to Entities可以直接對(duì)這些實(shí)體模型進(jìn)行查詢,開(kāi)發(fā)人員只需要著眼于對(duì)象模型的開(kāi)發(fā),而不需要考慮它們與數(shù)據(jù)庫(kù)如何進(jìn)行交互[3]。使用LINQ to Entities技術(shù)在進(jìn)行數(shù)據(jù)庫(kù)數(shù)據(jù)查詢與綁定時(shí)相對(duì)于傳統(tǒng)的ADO.NET具有更少的代碼量,靈活的查詢能力,變更追蹤以及批量更新等優(yōu)點(diǎn)[4]。例如在獲取裝備任務(wù)信息時(shí)采用了如下代碼:
///
/// 獲取所有任務(wù)列表
///
public List
{
List
return result.OrderByDescending(o=>o.BeginTime).ToList();}
圖3 信息管理與采集頁(yè)面
(2) MS Chart控件。裝備統(tǒng)計(jì)與分析模塊使用MS Chart控件實(shí)現(xiàn)了本系統(tǒng)的可視化開(kāi)發(fā)。MS Chart控件功能強(qiáng)大且完善,具有實(shí)時(shí)的圖表處理功能、支持AJAX交互式功能、支持?jǐn)?shù)據(jù)導(dǎo)出、完整的外觀自定義和數(shù)據(jù)的復(fù)制、合并、分割、排序、搜素與篩選等優(yōu)點(diǎn)[5]。例如本文中裝備易損性在統(tǒng)計(jì)與分析時(shí)使用了MS Chart控件,其界面效果如圖4。
圖4 裝備易損性統(tǒng)計(jì)與分析界面
3 結(jié) 語(yǔ)
本文所設(shè)計(jì)的裝備電子檔案系統(tǒng)實(shí)現(xiàn)了裝備全壽命過(guò)程中的信息采集與管理、相關(guān)數(shù)據(jù)的統(tǒng)計(jì)與分析。友好的界面方便了基層部隊(duì)官兵的使用,合理的數(shù)據(jù)庫(kù)設(shè)計(jì)提高了裝備信息采集、統(tǒng)計(jì)分析的效率,齊全的功能增強(qiáng)了裝備管理的效果。
參考文獻(xiàn)
[1] NAGEL Christian.C#高級(jí)編程[M].李銘,譯.7版.北京:清華大學(xué)出版社,2010.
[2] 李明彧.LINQ技術(shù)在軟件開(kāi)發(fā)中的應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用,2010(11):136.
[3] 韋軍,帥勇.運(yùn)用LINQ to Entity快速構(gòu)建信息系統(tǒng)結(jié)構(gòu)[J].科技世界,2012(24):42?43.
[4] MACDONALD Matthew, FREEMAN Adam, SZPUSZTA Mario. ASP.NET 4高級(jí)程序設(shè)計(jì)[M].博思工作室,譯.4版.北京:人民郵電出版社,2011.
[5] 章立民.Asp.NET開(kāi)發(fā)實(shí)戰(zhàn)范例寶典(使用C#)[M].北京:科學(xué)出版社,2010.
[6] 章濤,張立新,劉衛(wèi)東,等.基于電子履歷的車輛管理電子檔案系統(tǒng)研究[J].現(xiàn)代電子技術(shù),2011,34(19):198?200.
圖1 功能結(jié)構(gòu)圖
(1) 信息采集與管理子模塊,其用途是將裝備從生產(chǎn)、列裝、使用、維護(hù)、交接、以及退役的全系統(tǒng)、全壽命管理信息進(jìn)行信息錄入和管理,從而實(shí)現(xiàn)與裝備電子檔案中其他模塊的關(guān)聯(lián)。主要包括裝備基本信息、主要履歷信息、日常管理信息、維修信息、任務(wù)信息5個(gè)模塊:
① 基本信息包括裝備名稱、編號(hào)、生產(chǎn)廠家以及裝備組成、結(jié)構(gòu)、主要指標(biāo)以及功能描述等;
② 主要履歷信息包括裝備列裝、換裝與調(diào)整、裝備交接與責(zé)任人變更、裝備改造、技術(shù)革新、退役與報(bào)廢等;
③ 日常管理信息包括裝備技術(shù)狀態(tài)、日常動(dòng)用使用,維護(hù)保養(yǎng)、封存啟封等;
④ 維修信息包括故障信息、維修管理信息、維修結(jié)論等;
⑤ 任務(wù)信息包括演習(xí)、研練、基地化訓(xùn)練以及部隊(duì)試驗(yàn)等。
(2) 根據(jù)各級(jí)裝備管理人員的需求,信息統(tǒng)計(jì)與分析子模塊分為單裝、類裝(同型號(hào)裝備)和全裝(部隊(duì)所有裝備)三種情況:
① 對(duì)于單裝的信息統(tǒng)計(jì)分析主要有:主要指標(biāo)技術(shù)狀態(tài)變化情況統(tǒng)計(jì)分析、主要維護(hù)項(xiàng)及維護(hù)情況統(tǒng)計(jì)分析、維修信息(故障部位、故障數(shù)量)與故障率統(tǒng)計(jì)分析。
② 對(duì)于類裝的信息統(tǒng)計(jì)分析主要有:主要指標(biāo)技術(shù)狀態(tài)變化情況統(tǒng)計(jì)分析、維修信息(故障部位、故障數(shù)量)與故障率統(tǒng)計(jì)分析、易損件統(tǒng)計(jì)分析、重大任務(wù)信息統(tǒng)計(jì)分析。
③ 對(duì)于全裝的信息統(tǒng)計(jì)分析主要有:故障數(shù)量統(tǒng)計(jì)分析、重大任務(wù)信息統(tǒng)計(jì)分析等。
(3) 系統(tǒng)設(shè)置。系統(tǒng)設(shè)置主要包括用戶管理、權(quán)限管理、數(shù)據(jù)庫(kù)還原備份等功能。
2 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)
2.1 數(shù)據(jù)庫(kù)設(shè)計(jì)
裝備電子檔案系統(tǒng)數(shù)據(jù)庫(kù)物理模型如圖2所示。
裝備電子檔案系統(tǒng)數(shù)據(jù)庫(kù)包括裝備基本信息表、裝備指標(biāo)表、維護(hù)計(jì)劃表和裝備維護(hù)表等13張表:
(1) 裝備基本信息表用于記錄裝備名稱、功能描述等基本信息。
(2) 裝備的詳細(xì)信息表用于記錄裝備型號(hào)、所屬單位、裝備識(shí)別碼、裝備編號(hào)、裝備名稱等裝備的詳細(xì)信息。
(3) 裝備指標(biāo)表用于記錄裝備指標(biāo)名稱、指標(biāo)內(nèi)容、是否為主要指標(biāo)、當(dāng)前是否達(dá)標(biāo)、裝備名稱等裝備的指標(biāo)信息。
(4) 裝備指標(biāo)測(cè)試表用于記錄裝備的指標(biāo)的測(cè)試信息,包括測(cè)試時(shí)間、測(cè)試地點(diǎn)、測(cè)試結(jié)果、計(jì)量單位、測(cè)試單位、測(cè)試人等指標(biāo)測(cè)試信息。
(5) 任務(wù)表用于記錄任務(wù)名稱、開(kāi)始時(shí)間、結(jié)束時(shí)間、地點(diǎn)、參與人員等任務(wù)信息。
(6) 裝備任務(wù)表用于記錄裝備識(shí)別碼、對(duì)設(shè)備的影響等裝備任務(wù)信息。
(7) 裝備組成表用于記錄裝備組成、主要分機(jī)、生產(chǎn)廠家等裝備組成信息。
(8) 裝備交接表用于記錄裝備識(shí)別碼、監(jiān)交人、備件情況、交接時(shí)計(jì)數(shù)狀態(tài)等裝備交接表。
(9) 裝備動(dòng)用使用表用于記錄裝備識(shí)別碼、使用開(kāi)始時(shí)間、使用結(jié)束時(shí)間、地點(diǎn)、使用內(nèi)容、批準(zhǔn)人等裝備動(dòng)用使用表。
(10) 裝備封存啟封表用于記錄裝備識(shí)別碼、時(shí)間、是否封存等裝備封存啟封信息。
(11) 維護(hù)計(jì)劃表用于記錄維護(hù)的開(kāi)始時(shí)間、結(jié)束時(shí)間、地點(diǎn)、參與人員、維護(hù)內(nèi)容等維護(hù)計(jì)劃信息。
(12) 裝備維護(hù)表用于記錄裝備的維護(hù)計(jì)劃信息。
(13) 用戶權(quán)限表用于劃分不同用戶的權(quán)限。
圖2 數(shù)據(jù)庫(kù)物理模型圖
2.2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
2.2.1 模塊功能設(shè)計(jì)
根據(jù)圖1系統(tǒng)功能結(jié)構(gòu)劃分方式,系統(tǒng)設(shè)計(jì)時(shí)劃分為信息采集與管理、裝備統(tǒng)計(jì)與分析、系統(tǒng)設(shè)置三大功能模塊。圖3為信息采集與管理模塊中任務(wù)信息的采集與管理界面,左側(cè)可折疊菜單則顯示系統(tǒng)的三大功能。
2.2.2 系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)中的關(guān)鍵技術(shù)
(1) LINQ to Entities技術(shù)。語(yǔ)言集成查詢(Language Integreated Query,LINQ)是一組語(yǔ)言特性和API,使得開(kāi)發(fā)人員可以使用統(tǒng)一的方式來(lái)編寫各種數(shù)據(jù)的查詢[2]。LINQ to Entities提供了查詢關(guān)系數(shù)據(jù)庫(kù)中的實(shí)體模型的方式。實(shí)體模型可以把數(shù)據(jù)庫(kù)中的表、視圖和存儲(chǔ)過(guò)程等數(shù)據(jù)庫(kù)對(duì)象同步到實(shí)體模型中,使用LINQ to Entities可以直接對(duì)這些實(shí)體模型進(jìn)行查詢,開(kāi)發(fā)人員只需要著眼于對(duì)象模型的開(kāi)發(fā),而不需要考慮它們與數(shù)據(jù)庫(kù)如何進(jìn)行交互[3]。使用LINQ to Entities技術(shù)在進(jìn)行數(shù)據(jù)庫(kù)數(shù)據(jù)查詢與綁定時(shí)相對(duì)于傳統(tǒng)的ADO.NET具有更少的代碼量,靈活的查詢能力,變更追蹤以及批量更新等優(yōu)點(diǎn)[4]。例如在獲取裝備任務(wù)信息時(shí)采用了如下代碼:
///
/// 獲取所有任務(wù)列表
///
public List
{
List
return result.OrderByDescending(o=>o.BeginTime).ToList();}
圖3 信息管理與采集頁(yè)面
(2) MS Chart控件。裝備統(tǒng)計(jì)與分析模塊使用MS Chart控件實(shí)現(xiàn)了本系統(tǒng)的可視化開(kāi)發(fā)。MS Chart控件功能強(qiáng)大且完善,具有實(shí)時(shí)的圖表處理功能、支持AJAX交互式功能、支持?jǐn)?shù)據(jù)導(dǎo)出、完整的外觀自定義和數(shù)據(jù)的復(fù)制、合并、分割、排序、搜素與篩選等優(yōu)點(diǎn)[5]。例如本文中裝備易損性在統(tǒng)計(jì)與分析時(shí)使用了MS Chart控件,其界面效果如圖4。
圖4 裝備易損性統(tǒng)計(jì)與分析界面
3 結(jié) 語(yǔ)
本文所設(shè)計(jì)的裝備電子檔案系統(tǒng)實(shí)現(xiàn)了裝備全壽命過(guò)程中的信息采集與管理、相關(guān)數(shù)據(jù)的統(tǒng)計(jì)與分析。友好的界面方便了基層部隊(duì)官兵的使用,合理的數(shù)據(jù)庫(kù)設(shè)計(jì)提高了裝備信息采集、統(tǒng)計(jì)分析的效率,齊全的功能增強(qiáng)了裝備管理的效果。
參考文獻(xiàn)
[1] NAGEL Christian.C#高級(jí)編程[M].李銘,譯.7版.北京:清華大學(xué)出版社,2010.
[2] 李明彧.LINQ技術(shù)在軟件開(kāi)發(fā)中的應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用,2010(11):136.
[3] 韋軍,帥勇.運(yùn)用LINQ to Entity快速構(gòu)建信息系統(tǒng)結(jié)構(gòu)[J].科技世界,2012(24):42?43.
[4] MACDONALD Matthew, FREEMAN Adam, SZPUSZTA Mario. ASP.NET 4高級(jí)程序設(shè)計(jì)[M].博思工作室,譯.4版.北京:人民郵電出版社,2011.
[5] 章立民.Asp.NET開(kāi)發(fā)實(shí)戰(zhàn)范例寶典(使用C#)[M].北京:科學(xué)出版社,2010.
[6] 章濤,張立新,劉衛(wèi)東,等.基于電子履歷的車輛管理電子檔案系統(tǒng)研究[J].現(xiàn)代電子技術(shù),2011,34(19):198?200.