摘要:闡述了配置管理在軟件項目開發中的重要性,對配置管理工具的選擇進行了分析。論述了高??蒲泄芾硐到y開發過程中,Visual Source Safe在設計和測試等階段的使用。
關鍵詞:配置管理;科研管理;VSS
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2009)26-7566-02
Application of Configuration Management in Developing Management System for Scientific Research at College
LI Ai-dong
(Zhenjiang College, Zhenjiang 212003, China)
Abstract: Expounds the importance of the software configuration management in the project, the choice of SCM tools are analyzed. Discusses the use of Visual Source Safe in the design stage and test phase to the development of scientific research management system.
Key words: configuration management; scientific research management; VSS
高校科研管理信息系統對提升校科研管理水平和工作效率,促進高??蒲泄芾砉ぷ鞯拈_展,更好地為高??萍紕撔路沼袠O其重要的作用。它能為科研管理人員提供學校全面、實時、準確地科研信息。
開發高校科研管理信息系統必然會經歷軟件需求分析、系統設計、編碼實現、集成測試、部署、交付、維護和支持的過程。高校的開發資助經費有限,開發周期較短,凡是參加過軟件開發的人都清楚,現在的軟件項目完全由一個人來完成是難以想象的,通常是有一個研發小組來共同分析、設計、編碼和維護,并有專門的測試小組對已完成編碼調試的軟件進行全面的測試。因此為了提高開發效率和軟件質量,節約開發成本,必須采用團隊協作開發方式。
在軟件開發這個龐大而復雜的過程中,團隊每個人將生成各種各樣不同的數據,包括文檔、源程序、可執行代碼,而且軟件的修改是不可避免的,小到對某個源文件中的某個變量的定義改動,大到重新設計程序模塊甚至可能是整個需求分析變動。如何使其有序、高效地存放、查找和利用就成為了一個突出的問題。而最早的開發人員嘗試過的手工解決辦法,顯然已無法應對這一問題。軟件配置管理能很好解決這個問題。
軟件配置管理是CMMI可重復級的一個關鍵過程域,其目的是在整個項目的軟件生命周期中,保持軟件產品的完整性和可追蹤性,這包含了對改變的控制和所有能影響到改變的軟件因素的管理,軟件配置管理的重要性已被大多數軟件及相關企業所認識,是軟件項目管理中最有效的工具之一,而配置管理工具的使用是實施配置管理的重要
部分。
1 配置管理工具選擇
配置管理工具有很多種,它們適用于不同環境。要所以在選擇工具,既要考慮工具時,既要考慮工具本身的特點,又要考慮開發項目的特點。
ClearCase、StarTeam等配置工具軟件功能完善,安全性好,可以支持復雜的管理,但成本較高,相關人員需要培訓,屬于收費軟件,比較適合大型的團隊開發和建立組織級的配置管理體系。CVS是開發源代碼的配置管理工具,其源代碼和安裝文件都可以免費下載。適合中小型項目開發,缺點是沒有生產廠家為其提供技術的支持。如發現問題,通常只能靠自己查找網上的資料進行解決。
鑒于高??蒲泄芾硇畔⑾到y屬于小型軟件項目,而且人員、經費、時間都有限,經過比較分析,決定選擇Visual Source Safe(簡稱VSS)作為配置管理工具。首先VSS具備了配置管理所需的基本功能,對于團隊開發,VSS提供share(共享)、branch(分支)和合并(merge)的功能。提供文件的版本跟蹤功能,對于build和基線的管理,VSS的打標簽的功能可以提供支持。在安全性能上,可對文件夾設置不可讀,可讀,可讀/寫,可完全控制等四級權限。其次VSS操作使用簡單;全部操作都可以通過GUI完成,如Check In/Check Out操作、Get Latest等基本操作;Label、Share、Branch、Merge等高級操作; VSS備份/恢復非常簡單;只需要通過拷貝——覆蓋就能完成;還有很重要一點,是 VSS對硬件配置要求不高,普通一臺P4 PC服務器就能作為配置服務器。
當然最主要的關鍵是它能解決高??蒲泄芾硇畔⑾到y開發過程中面臨的以下幾個問題:
1) 隨時將程序恢復到以前某一時間點;
2) 實現程序修改的有效管理;
3) 將開發環境與測試環境、運行環境進行有效的隔離;
4) 評估軟件開發人員編寫的程序質量,控制軟件開發的進度;
5) 管理開發文檔。
2 配置管理的應用
配置管理貫穿軟件開發全過程,下面以開發高??蒲泄芾硇畔⑾到y為例介紹對其的應用。
2.1 項目準備階段
首先需要建立一個SourceSafe Database的數據庫,存放所有被VSS管理的文件。將VSS集成到開發環境(Microsoft Access、 Visual Basic、 Visual C++等)中,建立新的項目,項目是用戶存儲在VSS數據庫中的所有文件(file)的集合,它支持文件合并、歷史和版本控制。
然后明確與配置管理相關的角色及其相關活動。由于人手有限,在開發過程中,每個人可能身兼數職,如他可能既是軟件開發人員,又是配置管理員。但一項任務中同一時刻只能由一個角色來執行。定義軟件配置庫,配置管理的存儲庫分為開發庫、受控庫、產品庫。最后制定項目計劃以及進度,明確開發工具以及確定需要的控件,定義和標識配置項,配置項可以包括代碼、文檔、操作系統、支撐軟件等等。
2.2 需求分析階段
需求分析主要包括信息收集、分析和評價、文檔編寫、評審等一系列步驟,
需求分析的結果是系統開發的基礎,關系到開發的成敗和軟件產品的質量,必須高度重視。對于小型軟件項目,編寫需求文檔和提供解決方案的往往是同一部門,更要注重對用戶需求的理解。
項目負責人根據需求分析前期成果提交軟件的詳細數據流圖,數據字典和簡明算法描述到VSS服務器;開發人員了解全局需求后,就自己負責部分,提出自己的理解,提交新的版本供項目負責人修改,交互幾次,直至兩者看法一致,確保需求完整、準確、清晰、具體,至此,正式需求文檔形成,以此為基線,并提交到VSS服務器,任何改變將屬于需求變更。牢固樹立產品需求文檔的建立是項目開發過程中進行控制的最首要環節,對達成一致的需求文檔的嚴格變更控制有助于對整個項目的控制。
2.3 設計和編碼階段
軟件開發人員有個通病,就是喜歡將想法直接付諸到代碼上,而不愿意花時間去編寫文檔,這是很大隱患。所以文檔管理很重要,設計文檔包括整個項目的框架設計文檔,各個模塊的詳細設計文檔,以及各種接口的設置要求。
權限的分配要合理,在高??蒲泄芾硇畔⑾到y開發過程中,采用管理員創建權限,項目所有文件組內成員都有讀的權限,寫的權限只針對自己負責開發的部分。
VSS數據庫文件建立在服務器上,開發組的成員不能對該數據庫中的文件進行直接的修改,而是由該版本管理器將該項目的源程序或是子項目的源程序拷貝到各個成員自己的工作目錄下進行調試和修改,在一般情況下,確保在任何時刻都只有一個成員對某個特定的文件進行修改,這樣可以防止文件被其他成員的修改意外更新。當然,VSS管理員可以改變此缺省設置以允許對單個文件同時有多個Checkout,并且仍禁止對他人的修改進行覆蓋。修改完后的項目文件作Checkin提交給VSS,VSS再將它從用戶的工作目錄拷回到VSS的數據庫中,其他人又可以對此文件進行編輯了,這樣很好解決了協同編碼的問題。在用戶作Checkout時,VSS將會自動管理他的工作目錄,諸如創建必要的子目錄。而且工作目錄可以隨時創建或修改,進行綜合更新。
當某個成員向VSS中添加文件時,該文件將會被備份到數據庫中,以便所有的成員都能共享該文件。而且每個成員對所有的項目文件所作的修改都將被記錄到數據庫中,從而使得修改的恢復和撤銷在任何時刻,任何位置都成為可能。小組的成員可能得到該項目的最新版本,對它進行修改,并保存一個新的版本。
2.4 測試階段
軟件測試是軟件開發過程的重要組成部分,是用來確認一個程序的品質或性能是否符合開發之前所提出的一些要求??偟哪繕耸?確保軟件的質量。 軟件測試的相關文檔,測試代碼、自動化測試程序代碼均需要作為配置項,納入到配置管理庫中。
由于配置管理覆蓋整個軟件開發的生命周期,因此測試用例的主要來源,如需求相關文檔、概要設計、詳細設計等資料都能在配置庫中獲得,測試人員可以通過閱讀這些文檔來細化測試用例,找出測試的重點,分解出若干小的“功能點”,編寫相應的測試用例。
需求和設計的變更勢必引起測試用例的變更,用例跟蹤的問題由于VSS的引入,而得到解決,從配置庫能得到最新的資料和信息,當需求和設計發生變化時,只需要跟蹤“功能點”是否變化,是否增加了新的功能點。
3 結論
用VSS來組織管理項目,使得項目組間的溝通與合作更簡易而且直觀。由此可見,配置管理的引入是非常有必要的,它直接解決了開發團隊所面臨的一些難以處理的問題,縮短了開發周期,不僅對軟件的版本進行了控制,還能夠協調多個開發人員的工作,并且實現了資源重用,規范了軟件開發過程,使軟件產品更加可靠。在軟件項目管理過程中,配置管理的合理運用極大的提高了項目組的工作效率,減少了工作差錯,降低項目風險,同時使整個軟件項目管理水平得到了有效提高。
參考文獻:
[1] 王珍英.配置管理在軟件項目管理中的應用[J].計算機系統應用,2008(6):101-104.
[2] 賈宗宣,龔曉峰.基于CVS的軟件項目管理的研究[J].微計算機信息,2006,22(2-3):222-224.
[3] 侍作先,高杰.軟件配置管理中的數據分析應用[J].江蘇科技信息,2008(2):47-48.
[4] Bon J.解析配置管理[J].章斌,譯.中國計算機用戶,2009(2):45-47.
[5] 尼爾·懷特.管理軟件開發項目——通向成功的最佳實踐[M].2版.北京:電子工業出版社,2002.