資源描述:
《基于svn的軟件工程團隊協作模式》由會員上傳分享,免費在線閱讀,更多相關內容在學術論文-天天文庫。
1、基于SVN的軟件工程團隊協作模式 摘要:從當前較為成熟的版本控制與團隊協作技術出發(fā),結合自身教學實踐,提出了一種以SVN技術為基礎的新型高校軟件工程團隊協作模式,并給出了相應的課程教學實踐,驗證了該模式的有效性。 關鍵詞:團隊協作;版本控制;軟件工程;SVN DiscussionontheSVN-basedteamcooperationmodeofsoftwareengineeringteachingpracticeincollege SuiXin HenanUniversityofScienceandTech
2、nology,Luoyang,471003,China Abstract:Basedonthestudyonrevisioncontrolandteamcooperation,thispaperintroducesanewSVN-basedteamcooperationmodeofsoftwareengineeringincollegeandpresentsanexampletoshowthevalidityofthemode. Keywords:teamcooperation;revisioncontrol;sof
3、twareengineering;SVN 高校普遍認為,軟件工程學是研究將計算機科學理論和技術以及工程管理原則和方法進行綜合,在用戶需求、生產預算和開發(fā)進度約束下進行軟件產品開發(fā)、部署和維護工程的一個學科。由此可以看出,軟件工程學對綜合性和實踐性要求很高。但是,筆者通過對相關教學改革論文研究分析后發(fā)現,現有高校中軟件工程課程由于指導思想僵化落后、認識不足、經驗缺乏等原因,仍存在如下一些問題:(1)重理論而輕實踐,軟件工程方面的教材著重介紹多種軟件開發(fā)模式、管理技術等抽象過程,學生無法真正領會理解。所授理論與實際應用的脫
4、節(jié)則進一步影響了學生對軟件工程的掌握。(2)重個人開發(fā)而輕團隊協作。高校學生軟件開發(fā)能力參差不齊,在進行團隊分組時往往由少數能力較強的學生擔任項目負責人,容易形成該學生對項目全權負責而其他學生袖手旁觀、放棄參與的情況,團隊設置形同虛設。(3)團隊協作層次不夠深入,團隊成員之間的溝通僅僅停留在口頭交流過程中,對于軟件設計、開發(fā)維護等方面的意見無法滲入到軟件研發(fā)的實際過程中?! ∩鲜鰡栴}的出現,導致團隊協作機制的欠缺,開發(fā)進度緩慢,版本更迭錯誤,成員開發(fā)沖突等問題不斷涌現,甚至逐漸惡化成為影響項目進展的主要矛盾,軟件質量與課
5、程實踐的效果均大打折扣。解決上述問題行之有效的辦法是引入版本控制、團隊協作等相關技術?! ?版本控制及SVN技術 1.1版本控制技術簡介 版本控制(RevisionControl)是一種在軟件工程中使用的軟件文檔、源代碼同步控制技術,用于多人同時參與開發(fā)的過程,確保不同成員的開發(fā)能夠協調統(tǒng)一。在國外,已經有多所大學嘗試將版本控制技術引入軟件工程教學中,例如:加拿大Ontario大學計算機科學系的KarenL.Reid等人利用版本控制管理學生作業(yè),美國Montana大學計算機科學與技術系的LouisGlassy在教學中
6、應用版本控制工具后發(fā)現該工具可以有效地控制學生作業(yè)的進度,印度Rose-Hulman技術學院計算機科學與軟件工程系的CurtisClifton等人使用版本控制工具改善課程管理,等等。 在實際使用中,版本控制工具會按照遞增順序自動給提交至版本倉庫中的軟件代碼修訂編號(如最初加入的版本號指定為1),軟件開發(fā)人員可以將當前工作目錄回溯到版本倉庫中的任何一個狀態(tài)。為達到存儲效率和空間利用率的平衡,版本控制軟件大部分采用里程碑節(jié)點結合差分編碼方式進行存儲,即只將版本倉庫中的某幾個大版本記錄完整版本,作為里程碑節(jié)點,而同時記錄每個
7、版本存儲文件與前一版本之間的差異部分,以更方便地對比不同版本之間的差異?! ‖F在常用的版本控制軟件按照版本倉庫存儲方式的不同可以劃分為集中式和分布式兩種:集中式版本控制系統(tǒng)由中央服務器控制版本庫維護與控制,每個成員只在本地目錄中保存一個工作副本,需要升級、查看或獲取其他版本的數據時需同中央服務器通訊。集中式版本控制系統(tǒng)的代表是CVS(ConcurrentVersionSystem)和SVN(Subversion)。分布式版本控制系統(tǒng)沒有中央倉庫,每個成員都在本地維護自己的版本庫,向版本庫中提交代碼時無需連接遠程服務器,團
8、隊成員之間通過推送或拉取動作使版本庫的數據同步。分布式版本控制系統(tǒng)的代表是Mercurial和Git?! 〖惺桨姹究刂葡到y(tǒng)因具有客戶端軟件支持度高、學習曲線平滑、授權控制方便等優(yōu)點,尤其適合于高校環(huán)境下的小團隊使用。筆者首先簡要介紹SVN的技術特點,以便進一步探索高校環(huán)境下利用該技術的軟件開發(fā)團隊協作模式?! ?.