當前位置:工程項目OA系統(tǒng) > 建筑OA系統(tǒng) > 項目管理系統(tǒng)
綜合電子設(shè)備管理系統(tǒng)的可維護性設(shè)計
摘 要: 綜合電子設(shè)備管理系統(tǒng)是我單位自主研發(fā)的基于.net平臺的分布式應用程序,系統(tǒng)一期建設(shè)已經(jīng)完成,其二期建設(shè)的主要內(nèi)容是“數(shù)據(jù)安全訪問”的問題,目標是建立數(shù)據(jù)統(tǒng)一訪問接口及其使用規(guī)范,約束和審計數(shù)據(jù)應用訪問數(shù)據(jù)庫的行為,對數(shù)據(jù)應用提供強制審計的技術(shù)手段,結(jié)合作者實踐,討論從注重可維護性的開發(fā)過程和注重軟件管理兩方面提高系統(tǒng)的可維護性,最后分析采用方法的效果。
關(guān)鍵詞: 可維護性;模塊化;可測試性 0 引言 隨著軟件大型化,復雜化的發(fā)展,軟件維護所耗費的資源越來越多,軟件可維護性設(shè)計日益得到重視。我單位自行研制的綜合電子設(shè)備管理系統(tǒng)的一期建設(shè)已經(jīng)完成,在一期建設(shè)中已建成數(shù)據(jù)的統(tǒng)一存儲和統(tǒng)一分發(fā)框架。但主要存在以下問題:無法獲得應用用戶對數(shù)據(jù)庫的操作日志;開發(fā)人員對數(shù)據(jù)庫的使用不規(guī)范,查詢的結(jié)果集過大,導致數(shù)據(jù)庫的性能大幅下降;應用直接使用數(shù)據(jù)的登錄數(shù)據(jù)庫,存在著一定的安全隱患。這些問題出現(xiàn)的原因,一是在軟件開發(fā)過程中對可維護性設(shè)計考慮欠缺,導致軟件從根本上忽視了可維護性的重要性,二是軟件文檔不規(guī)范,內(nèi)容不一致。在維護階段出現(xiàn)問題,根據(jù)文檔不易得到有幫助的信息,難以定位錯誤的類型和根源。因此,系統(tǒng)二期建設(shè)的主要目標是注重軟件可維護性的開發(fā)過程,規(guī)范文檔管理,建立數(shù)據(jù)統(tǒng)一訪問接口及其使用規(guī)范,約束和審計數(shù)據(jù)應用訪問數(shù)據(jù)庫的行為,對數(shù)據(jù)應用提供強制審計的技術(shù)手段。 1 注重可維護性的開發(fā)過程 綜合電子設(shè)備管理系統(tǒng)分為五個子系統(tǒng),包括ado.net驅(qū)動封裝子系統(tǒng)[1]、webservice接口子系統(tǒng)、管理配置網(wǎng)站、存儲子系統(tǒng)(sql server2008數(shù)據(jù)庫)和監(jiān)控子系統(tǒng)(數(shù)據(jù)庫網(wǎng)絡協(xié)議分析與連接控制)。由于系統(tǒng)交付后,存在較長維護期,同時系統(tǒng)存在升級與擴展的情況,因此對系統(tǒng)的可維護性設(shè)計要求較高。 1.1 系統(tǒng)的可維護性需求 系統(tǒng)具有較高的可維護性需求。首先,系統(tǒng)作為數(shù)據(jù)中心應用的基礎(chǔ)平臺,數(shù)據(jù)中心的新建應用系統(tǒng)必須依賴于本系統(tǒng),系統(tǒng)的可靠性和性能直接影響到應用系統(tǒng)的正常運行,系統(tǒng)具有較長的生命周期。其次,本項目中的接口子系統(tǒng)是基于ado.net2.0實現(xiàn)的,隨著ado.net的升級,接口子系統(tǒng)也需要升級。監(jiān)控子系統(tǒng)對sql server數(shù)據(jù)庫的網(wǎng)絡包進行解析,由于網(wǎng)絡包格式不公開,解析時會有遺漏,而且用戶需求是當發(fā)現(xiàn)未能解析的數(shù)據(jù)包時,應及時添加到監(jiān)控子系統(tǒng)中。 為了增加系統(tǒng)的可維護性,減少維護人員理解和修改系統(tǒng)的難度,我們在系統(tǒng)的設(shè)計上,不僅僅關(guān)注系統(tǒng)的功能需求實現(xiàn),而且重視系統(tǒng)的可維護性需求。在系統(tǒng)開發(fā)過程中,從軟件易于理解、易于測試和易于修改的角度出發(fā),提高系統(tǒng)的可維護性。 1.2 改善軟件的可理解性 本系統(tǒng)涉及的問題域有一定的復雜性,如果將整個問題域的復雜性完全暴露給維護人員,維護人員很難理解整個系統(tǒng)。因此,首先,我們將整個系統(tǒng)分為功能獨立的五個子系統(tǒng);其次,在各個子系統(tǒng)設(shè)計時,我們都采用了模塊化的方法,即內(nèi)聚性高的業(yè)務邏輯合并封裝成獨立的模塊;最后,重視設(shè)計文檔質(zhì)量,對設(shè)計文檔做了內(nèi)部審核,確保文檔清晰準確的描述了設(shè)計。 一期系統(tǒng)中,各模塊之間相互依賴;一個源代碼包含多個相關(guān)功能代碼。在二期系統(tǒng)中,我們改善了子系統(tǒng)的設(shè)計,增強各個模塊的內(nèi)聚性,降低模塊之間的耦合性。首先,各個功能的相關(guān)代碼處于不同的代碼目錄;其次,各模塊都做成了單獨的靜態(tài)庫,總控模塊負責調(diào)度各個庫,并且明確各個模塊對外提供的接口,模塊之間的調(diào)用都通過接口完成。 通過這種方式將系統(tǒng)進行清晰的劃分,維護人員可通過對模塊接口的學習快速了解子系統(tǒng)的運行流程,當需要時再對某模塊進一步分析。 1.3 改善軟件的可測試性 維護人員對代碼進行修改后,必須進行測試,才能保證軟件的質(zhì)量[4]。并且,用戶對系統(tǒng)的可靠性要求很高。因此,在軟件設(shè)計的整個過程中,我們都考慮了測試的問題。 首先,各個子系統(tǒng)的內(nèi)部模塊必須是單向依賴,對出現(xiàn)循環(huán)依賴的模塊,我們采用調(diào)整功能分布,抽取公共模塊等方面消除循環(huán)依賴。其次,對于接口子系統(tǒng),我們需要對某些模塊內(nèi)部進行深入的測試,而由于模塊接口的封裝性,無法直接訪問內(nèi)部數(shù)據(jù);對于這樣的情況,我們在設(shè)計這樣的模塊時,專門提供了測試接口。最后,開發(fā)中采用了cppunit、nunit和junit測試框架,通過測試框架來組織測試程序。 在測試階段,我們根據(jù)測試報告,對照測試大綱和用例設(shè)計,對當前的測試進行總結(jié),比如,何種測試用例發(fā)現(xiàn)何種錯誤,最常見的錯誤,如何從測試結(jié)果判斷是哪種錯誤,該錯誤所在的模塊是什么。在相關(guān)人員修改錯誤時,記錄排錯時的思路和過程。根據(jù)這些總結(jié),編寫了相應文檔備查,事實證明,這些文檔在系統(tǒng)維護階段發(fā)揮了很大作用。 1.4 改善軟件的可擴展性 監(jiān)控子系統(tǒng)采用網(wǎng)絡監(jiān)聽的方式獲取數(shù)據(jù)庫訪問的信息,這種方式的優(yōu)點是不給業(yè)務系統(tǒng)增加性能負擔,缺點是由于數(shù)據(jù)庫協(xié)議不公開,雖然我們進行了大量測試,但肯定仍有遺漏之處。 為了當發(fā)現(xiàn)未能解析的數(shù)據(jù)包時,及時添加監(jiān)控子系統(tǒng),同時不重新編譯系統(tǒng),我們進行了可擴展性設(shè)計。我們采用了動態(tài)庫加載和針對接口編程的方法。監(jiān)控子系統(tǒng)啟動后,會加載指定目錄下的動態(tài)庫,這些動態(tài)庫都實現(xiàn)了規(guī)定的接口。 2 注重軟件管理 2.1 規(guī)范文檔 系統(tǒng)交付使用后,除了在培訓時所了解的內(nèi)容之外,為了讓用戶對系統(tǒng)更好的理解和使用,向用戶提供了多種隨機文檔,包括功能說明,用戶使用手冊,參考手冊,管理員指南等。在文檔編寫的過程中,我們編寫了“綜合電子設(shè)備管理系統(tǒng)編寫規(guī)范”,對文檔格式和一些必要內(nèi)容進行了規(guī)范,保證各文檔的風格一致,內(nèi)容一致。對于一些用戶使用中容易出錯的地方,在用戶使用手冊中示例說明。在具體編寫文檔時,根據(jù)設(shè)計人員的反饋信息,也及時調(diào)整了文檔編寫規(guī)范。 在設(shè)計開發(fā)過程中,對某個問題進行修改,或者功能增刪,要充分考慮到問題所涉及的不同文檔,保證前后文檔在該問題的一致性。對于所修改的部分,要填寫“更改單”,寫明更改人,更改理由,更改所影響的程序和文檔,更改日期,批準人。采用case工具在這方面起到了事半功倍的作用。 2.2 使用case工具管理軟件版本 在軟件的設(shè)計編碼過程中,尤其在調(diào)試階段,會不斷的生成新的程序版本。為了有效的管理版本問題,采用ration公司的clearcase工具[5],由專人負責進行管理,從而保證軟件版本的一致性。 3 結(jié)束語 在整個系統(tǒng)的開發(fā)過程中,采用不同的設(shè)計和措施對系統(tǒng)的可維護性影響是很大的。由于在系統(tǒng)設(shè)計上重視可維護性,軟件進行模塊化設(shè)計,提供了完備的軟件文檔,維護人員可以較快的定位與解決問題;回歸測試集的提供使維護人員可以運行回歸測試驗證軟件質(zhì)量;監(jiān)控子系統(tǒng)的擴展性設(shè)計使得維護人員可以及時增加新的協(xié)議包解析功能;這些設(shè)計在很大程度上提高了系統(tǒng)的可維護性。然而,由于初次在軟件開發(fā)過程中進行可維護性設(shè)計,因此,還有許多需要改進的地方,軟件可維護性設(shè)計領(lǐng)域還有很多知識點需要研究,在后續(xù)的開發(fā)過程中將對此繼續(xù)學習和實踐,開發(fā)具有高可維護性的軟件系統(tǒng)。 參考文獻: [1]soumyasch,file:dotnet.svg, http://en.wikipedia.org/wiki/file: dotnet.svg.2009.3.28. [2]james martin、carma mcclure,軟件維護-問題解答[m].北京:機械工業(yè)出版社,1990:34-36. 作者簡介: 楊薇(1975-),女,碩士,高級工程師,91550部隊,研究方向:指揮自動化;吳小欣(1976-),女,本科,高級工程師,91550部隊,研究方向:指揮控制;袁野(1982-),女,碩士,工程師,91550部隊,研究方向:指揮自動化。- 1保溫砂漿裂縫的原因和對策
- 22015年監(jiān)理工程師《建設(shè)工程合同管理》測試題(5)
- 32009年二級建造師《法規(guī)及相關(guān)知識》習題四十四
- 4工程材料檢測人員培訓講義匯編1254頁(PPT 檢測中心編制)
- 5法國FRCC鋼纖維碾壓混凝土
- 62015年咨詢工程師:項目的方案要合理利用和節(jié)約能源的方針
- 7某市政排水系統(tǒng)改造施工組織設(shè)計239p
- 8招標師考試法律法規(guī):不得擔任評標委員會機電產(chǎn)品
- 909年咨詢工程師《項目決策分析與評價》考點解析(八)
- 102015造價員《工程造價基礎(chǔ)知識》:閱讀施工圖步驟
- 11對鋼結(jié)構(gòu)造成影響的3隱患
- 122015二級建造師知識點:工程質(zhì)量事故分類
- 13大鋼模板施工技術(shù)在高層住宅工程中的應用
- 142015年注冊咨詢工程師《工程咨詢概論》考點解析(103)
- 15國內(nèi)首座鐵路斜拉橋鋼混結(jié)合段制造技術(shù)取得突破
- 162015全國監(jiān)理工程師考試《三控》備考練習題(6)
- 17咨詢工程師考試《項目決策分析與評價》考點歸納(五十五)
- 18造價員基礎(chǔ)知識復習:成本在價格形成中的地位
- 19塔吊安裝、拆卸操作工藝
- 20橋梁承臺作業(yè)指導書(承臺施工)
- 21宏觀經(jīng)濟政策與發(fā)展規(guī)劃考點解析:規(guī)劃評估相關(guān)知識
- 222015年二級建造師《公路工程》考試知識點(2)
- 23安全工程師考試輔導:高處作業(yè)的基本類型
- 242015年咨詢工程師考試《組織與管理》第九章(2)
- 25施工承包合同文件:費用控制的主要條款內(nèi)容
- 262015年咨詢工程師:咨詢項目過程控制
- 27我國民營企業(yè)投資規(guī)模最大公路項目竣工
- 28新疆明年開建兩條鐵路
- 29[甘肅]鐵路工程橋梁施工測量作業(yè)指導書
- 30全國造價員考試《工程造價基礎(chǔ)知識》:工程造價的控制與調(diào)整
成都公司:成都市成華區(qū)建設(shè)南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓