工程項目管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 工程項目管理軟件 | 裝飾管理系統(tǒng) | 簽約案例 | 購買價格 | 在線試用 | 手機APP | 產(chǎn)品資料
X 關(guān)閉
項目管理系統(tǒng)

當前位置:工程項目OA系統(tǒng) > 建筑OA系統(tǒng) > 項目管理系統(tǒng)

綜合電子設(shè)備管理系統(tǒng)的可維護性設(shè)計

申請免費試用、咨詢電話:400-8352-114

摘  要: 綜合電子設(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部隊,研究方向:指揮自動化。
發(fā)布:2007-07-30 10:27    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:

泛普項目管理系統(tǒng)其他應用

項目管理工具 禪道項目管理軟件 夢龍項目管理軟件 微軟項目管理軟件 裝飾管理系統(tǒng) 裝修預算軟件 項目計劃軟件 項目進度管理軟件 軟件項目管理工具 材料管理軟件 工程項目管理軟件系統(tǒng) 項目管理系統(tǒng) 施工管理軟件 建筑工程項目管理軟件 工程管理軟件