本站小編為你精心準備了開發編程的軟件工程畢業策劃研討參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
以AD和XP為指導的畢業設計過程
1組織方式
實際上,上述選題機制是將分散的畢業設計引導形成基于團隊的角色學習環境,學生在教師的統一帶領下,對項目進行設計并劃分模塊,獨立負責不同模塊的開發,并且在教師的指導下,充分體驗不同模塊之間的溝通和集成問題,使學生能夠貼近企業項目開發的實際情境,體會到實際項目身臨其境的感覺,從而提高畢業設計對于畢業生的鍛煉價值和質量。
敏捷宣言認為人和交互勝過過程和工具。以此原則為指導,在畢業設計實施過程中,要求學生組內成員和小組之間加強交流溝通,對于畢業設計過程中產生的文檔,要求學生著重記錄交流過程,而非交流結果。敏捷宣言認為客戶合作勝過合同談判,意義在于業務人員應該參與到項目開發的整體過程中,達到整個項目開發團隊能夠把握項目開發方向。對于軟件工程畢業設計來說,意味著在選擇畢業設計所涉及到的項目原型時,應盡量貼近學生實際,例如選擇教務管理系統、教學管理系統、圖書管理系統等學生經常接觸和使用的應用系統,或是指導教學正在從事的橫向或縱向課題。要求選擇指導教學或學生自己能夠扮演客戶的角色,學生對于所開發的系統的需求了然于胸。
2管理方式
敏捷宣言認為可以工作的軟件勝過面面俱到的文檔,可以工作的軟件是進度主要的度量標準。以此原則為指導,對畢業設計過程中要求撰寫的文檔可適當弱化,而是要求將項目程序代碼保存到統一版本庫,并保持版本庫中的代碼是可部署和運行的。極限編程的推薦實踐方式認為對于項目開發應該盡早測試、經常測試、自動測試。在畢業設計的實施過程中,要求學生對于測試計劃、測試用例及測試驅動開發(TestDrivenDevelopment,TDD)都有所了解,使用由學生指導教學編寫的自動測試來監控開發進度,支持系統的演化,并盡早發現缺陷。上述管理方式就現階段軟件工程專業的畢業設計來看,實施比較困難,但應盡力發展,從而彌補現有人才培養方案中對于軟件測試不夠重視的缺陷。
極限編程推薦增量設計、開發和頻繁重構。這也是畢業設計過程中應采納的做法。對于一個指定的項目,要貫穿整個畢業設計過程,以各個階段時間點為標志,要求學生以增量的方式來完善項目開發,在畢業設計過程中,要體現項目的漸進式開發,各個時間點都要求學生完成項目的相應部分,并且要求項目代碼的主版本隨時處于可部署、可運行狀態,對于系統架構和代碼結構等方面,可通過重構來優化。對于代碼重構的的粒度和頻率,可由指導老師根據實際情況具體把握,以模塊化和符合軟件設計模式等特征為參考依據。
3考核方式
鑒于以上組織和管理方式,在進行畢業設計(論文)考核時,應在傳統的畢業答辯環節考核基礎上,考慮以下因素:一是在畢業答辯考核時,要注重考查學生所寫代碼的功能,而不是形式上的開發文檔。二是極限編程推崇結隊編程(PairProgramming),因此,在畢業設計進行過程中要求學生不要局限于自己的畢業設計課題,而應該是兩個人一起完成兩個課題,雙方都參與到對方的項目中去。在畢業答辯考核時,也應采取相應的考核辦法,交叉檢查學生的編碼工作量。三是極限編程提倡短周期。也就是說,畢業設計過程中,應該交付多個可運行的系統版本(功能是遞增的,但指定功能的版本是可用的)。因此,在畢業答辯過程中,要求學生就系統的多個可運行版本進行演示。總而言之,軟件工程專業的畢業設計(論文)的考核,除了依據傳統的畢業答辯考核標準之外,還需結合敏捷開發和極限編程的特點,綜合考查編碼協作、增量設計、測試驅動開發、持續集成等特征是否體現在學生畢業設計(論文)中。
典型過程及相關支撐工具
在確定指導老師和設計課題后,學生將展開畢業設計的具體過程,根據以AD和XP為指導思想的典型畢業設計過程,具體過程如圖1所示。以上典型過程中的具體步驟,都有成熟的支撐工具可選用,使整個畢業設計過程實現信息化管理,其中項目管理工具可使用PivotalTracker,測試管理工具可使用MercuryQualityCenter,自動測試可使用開源集成測試環境,如Jenkins,代碼管理工具可使用VisualSVN(服務器端)和TortoiseSVN(獨立客戶端)及SubclipseSVN(IDE集成客戶端)。
軟件項目管理工具PivotalTracker是由公認的敏捷軟件開發老大PivotalLabs開發的基于故事、簡單、有效、敏捷的軟件項目管理工具,適用于各類型的項目,并通過敏捷項目管理的理念讓項目能夠有條不紊的進行,使項目的開發效率大大提高。操作界面如圖2所示。
測試管理工具MercuryQualityCenter提供了基于Web的,可在廣泛的應用環境下自動執行軟件質量測試和管理的功能,使IT團隊能夠在開發流程完成前就參與應用程序測試。這樣將縮短時間表,同時確保最高水平的質量。操作界面如圖3所示。版本庫管理工具SVN是用于實現對代碼、文 件等的修改、刪除、增加等操作進行記錄,并且可以追溯每個修改細節的通用工具,它基于C/S架構,需要服務器和客戶端軟件,其中SVN服務器可以使用VisualSVN,獨立客戶端可使用ToitorseSVN,而IDE集成客戶端可使用Subclipse。
結語
軟件工程專業畢業設計具有鮮明的實踐特征,需要具體的實踐原則做為指導來提升畢業設計(論文)的質量。我們引入敏捷開發和極限編程的相關原則,構造軟件工程專業畢業設計的具體實施過程,并將其應用于實際教學過程中。下一步工作將對于這一全新的探索和嘗試,在實踐過程中針對具體出現的問題進行改進和完善,使這一畢業設計模式更加適用于軟件工程專業,并在條件成熟時向計算機相關專業推廣。
作者:曾志浩肖小克單位:湖南工業大學計算機與通信學院