- 相關推薦
敏捷軟件開發模式對計算機語言的應用論文
摘要:計算機語言課程設計是自動化及相關專業的一門重要的實踐課,旨在培養學生的創新能力和軟件開發能力。針對該實踐環節在教學過程中存在的問題,借鑒敏捷軟件開發模式的思路,在教學方法中引入突出團隊合作的結隊編程實訓新模式。實踐證明,該編程模式既調動了學生的積極性,又培養了學生的軟技能。
關鍵詞:敏捷軟件開發;計算機語言課程設計;團隊合作
計算機語言課程設計是各大工科院校自動化及相關專業的必修實踐環節,一般安排在計算機語言類課程之后開設。學生通過2~3周的編程集訓,完成一個小規模的軟件設計,體驗軟件的開發周期,從而獲得軟件開發綜合能力的提高,為后續專業課程的學習奠定編程基礎。近年來,企業對本科畢業生的要求越來越高,畢業生不僅要有扎實的專業功底,而且要具備較強的計算機應用、軟件開發、創新和團隊合作等綜合能力。而且,團隊合作能力越來越受到企業的重視。因此,高校應根據現代企業和社會的需求進行人才的全面培養。作為計算機語言課程設計的帶隊教師,應在教學過程中不斷探索新的教學方法,尋求新的編程訓練模式。
1計算機語言課程設計的教學現狀
目前,我校開設的計算機語言課程設計實踐課歷時兩周,主要訓練學生進行Windows程序的開發,編程語言由學生根據自己的情況自選。課程設計的題目分為兩類:一類由帶隊教師自己擬定;另一類由學生自己擬定。教師擬定的題目大多結合生活實際,且帶有難度系數,最終以題目庫的形式呈現給學生,學生可根據自己的情況進行選題;考慮到有的學生對題目庫中的設計題目都不感興趣,影響編程的積極性,允許學生根據自己的興趣取向自擬題目,但是要得到教師的許可。這樣,學生才能真正體驗到開發程序帶來的快樂,計算機綜合能力也會得到相應的提高。經過多年的教學實踐探索,計算機語言課程設計實踐雖然取得了一定的成績,也得到了學生的認可,但是還存在一些不足之處需要進一步改進。(1)每個設計題目均指定單個學生獨立完成,學生從查閱資料到完成程序設計的整個實踐過程中同學間的交流、合作機會少。(2)帶隊教師很重視計算機編程能力的培養,但是忽視了社會實踐、團隊合作之類的軟技能[1]培養。分析上述的不足之處,可以看出以往的教學模式不利于學生團隊合作綜合能力的提高。因此,為了進一步提高教學質量,令學生既能體驗最流行的編程模式,同時又能在實踐過程中培養創新探索能力、團隊合作能力,在本課程設計的教學方法改革中引入敏捷軟件開發模式[2],給學生創造溝通的機會,增強學生的團隊意識,讓學生在團隊互動的實踐過程中得到最好的編程鍛煉,使得軟件開發能力和軟技能綜合能力得到最大的提升。
2敏捷軟件開發模式
2.1敏捷軟件開發模式
敏捷軟件開發模式[2]是從2001年2月開始興起的軟件開發模式,屬于輕載軟件模式。因為它的開發效率高于重載軟件開發模式,已成為全球流行的軟件開發模式。2010年12月10日,中國敏捷軟件開發聯盟正式成立[3],從此,國內的軟件界也加入了敏捷軟件開發模式的行列。敏捷開發模式有一個突出的優點——非常重視團隊合作。該開發模式有很多子方法[2]:如極限編程(ExtremeProgrammin)、特性驅動開發(FeatureDrivenDevelopmen)、水晶方(CrystalMethodologie)、Scrum方法、動態系統開發(DynamicSystemsDevelopmentMethodolog)等,每個子方法中都內含了團隊編程。和傳統的軟件開發方法不同,敏捷軟件開發的團隊成員在每天開始工作前,都要進行一次集體的面對面的討論與交流[2]。所以,為了保證整個開發過程的順利進行,團隊的每個成員必須要學會主動和他人交流。
2.2敏捷軟件開發子模式的選擇
在所有敏捷開發的子模式中,開發團隊一般為5~6人。如果在計算機語言課程設計中規定5~6名學生組建一個編程團隊,那么肯定有些學生會變得不主動。仔細研究敏捷開發的子模式,發現極限編程中的結對編程方法非常適合小規模團隊的編程訓練。這種編程模式通常由兩個學生組成一個編程小組,在同一臺計算機前共同完成一個軟件的開發。具體分工是:一個學生負責寫代碼,另一個學生負責檢查代碼的正確性。在開發過程中,負責輸入代碼和檢查代碼的角色可以根據需要靈活地調換。在整個編程過程中,一旦發現語法和運行錯誤,須及時討論并調試。在計算機語言課程設計的實踐過程中采用結對編程這種敏捷方法,相對于以往的訓練方式,是一種新的教學方法。這種結對方式既可以提高程序的開發效率、縮短代碼的開發周期,又有利于建立起良好的團隊合作和學習氛圍。這也符合現在的以CDIO(ConceiveDesignImplementOperat)理念[4]培養工程技術人員的要求。
3敏捷軟件模式在計算機語言課程設計的實踐應用
3.1組建團隊
在課程設計開始之前,首先要進行團隊組建,即結對。敏捷宣言的原則中提到[3]:“最好的架構、需求和設計出于自組織團隊”。所以,組建團隊時,教師從不強行指定,而是讓學生本著自愿結對的原則,這樣形成的小團隊才是最有潛力的團隊。在接下來的兩周時間內,結對的學生將在整個課程設計過程共同完成軟件的前期調研、設計開發、調試和成果答辯匯報等。學生將在所選項目的開發過程中通過親身體驗團隊合作學會如何發現問題、共同分析問題和解決問題,同時提高自身的項目分析能力、創新思維能力和合作交流能力。
3.2選題與構思
結對以后,小組成員要通過初步討論進行選題和方案構思。如果對題目庫中的題目不太感興趣,允許學生根據自己的興趣自擬題目。待題目確定后,繼續進行查閱資料、調研,并設計出初步的方案。如果兩個人對設計方案意見不一致,需要進一步進行溝通交流。必要時請老師參與討論,最終的設計方案必須是通過結對的兩人討論一致好方案。在整個選題構思過程中,學生都處于主動地位。
3.3具體實踐
這一階段,結對的學生要根據第二步的設計方案開始編程。按照經典的結對編程流程,兩個學生須在同一臺計算機前一起編程。由于在本課程設計開設之前學生從沒有經過系統的軟件開發訓練,所以在課程設計的過程中,不能照搬經典的結對編程流程。我們為每個結對組配備兩臺計算機,結對的雙方要合理地利用兩臺計算機:一臺用來顯示資料和代碼實例;另一臺主要用來結對編程實現。這樣整個代碼的開發仍在一臺計算機上完成,負責輸入代碼的學生要保證代碼輸入的快速性,負責校驗代碼的學生要保證代碼的正確性。編程中如果遇到了不懂的地方,可以利用另外一臺計算機隨時進行資料查閱和代碼實例的比照。在整個編程實現的過程中,結對編程的兩個人要相互信任、互相督促,共同學習編程的技能,這樣編程能力弱的學生也能在結對過程中學到編程的方法,共同完成團隊的任務。在整個實踐階段,為了掌握學生編程的進度,帶隊教師將以客戶的身份全程參與到每個結對小組的實訓中。建議每個小組在開始一天的工作前,必須開會決定當天的任務,并做成計劃文檔;每天的工作完成后,需將當天的編程結果給帶隊教師看,教師會根據每天的進展對每個結對小組當天的結果提出反饋的意見和改進的要求。
3.4檢查與提交
具體實踐完成后,結對小組邀請教師來檢查已完成的軟件。通常,帶隊教師先檢查代碼的正確性,保證程序能順利運行;然后,從使用者的角度來檢查軟件是否符合設計要求。如果發現問題,則再次討論修改,直到通過教師的認可方可提交代碼。
3.5考核
作為一門實踐課,成績考核是非常重要的,不能光靠最后提交的程序評定成績,這樣就會造成成績的不公平。采用了敏捷軟件的結對開發模式后,由于帶隊教師全程參與了各個小團隊的開發過程,掌握了每個團隊成員的平時表現,設計成績由程序運行情況(40%)、答辯情況(10%)、平時表現(30%)和報告文檔(20%)四部分組成,每一部分又分為五個等級,具體評分標準見表1。
4結束語
面對用人單位對人才的高要求,高校對程序設計之類的實訓課應不斷探索新的教學方法。將敏捷軟件開發模式應用到計算機語言課程設計的教學中,已在我校自動化12級、13級的學生中進行了兩年的實踐。從兩年的教學效果來看,在新的教學模式要求下,學生學會了相互間的交流、相互間的合作,學會和別人一起分享成功。從小團隊的組建到課題的選擇,從方案的設計再到實現,均通過結對的兩人合作完成,給學生提供了很大的自主空間。相對于以前的教學模式,學生在課程實踐中獲得計算編程能力的極速提升,軟技能也得到了培養,極大地提高了學生的積極性和創新性。后續專業課的任課教師也反饋:學生經過本教學模式的編程訓練,在專業課需要編程的實驗環節表現出了很強的程序開發能力和組織能力。
參考文獻
[1]袁華,張凌.網絡工程設計實踐課程能力培養初探[J].計算機工程與科學,2014,36(A2):242-245.
[2][美]RobertC.Martin.敏捷軟件開發:原則、模式與實踐[M].北京:清華大學出版社,2003.
[3]張志麗.軟件開發生命周期法比較之敏捷與傳統[J].電腦開發與應用,2013,26(12):32-37.
[4]顧佩華,包能勝,康全禮.CDIO在中國[J].高等工程教育研究.2012(3):24-40.
[5]鐘揚,劉業政,馬向輝.小團隊結對編程實踐研究和重構[J].計算機技術與發展,2007,17(11):160-163.
【敏捷軟件開發模式對計算機語言的應用論文】相關文章:
淺談基于NetMeeting的計算機語言教學模式論文08-20
制造生產模式的演變與敏捷制造05-26
敏捷供應鏈協作模式比較08-31
基于敏捷供應鏈的物流運作模式分析09-19
項目教學模式的中職市場營銷應用的論文09-06
體驗式學習模式在地理教學的應用論文08-30
工程管理信息化應用模式探究論文06-18
高職院;旌蠈W習模式設計與應用探究論文05-20
激光加工庫存管理軟件開發應用論文07-22
高中物理翻轉教學課堂模式的應用探析論文07-06