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