軟件工程課程實踐研究(3篇)

前言:尋找寫作靈感?中文期刊網用心挑選的軟件工程課程實踐研究(3篇),希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。

軟件工程課程實踐研究(3篇)

第一篇:軟件工程應用型課程建設與實踐

摘要:

應用型課程建設是應用型高校轉型發展的一種必要手段。文章根據計算機專業人才的需求,從軟件工程應用型課程建設的角度,分析當前教學中存在的典型問題,對課程建設的具體方案與實踐措施進行研究,以推進高校對應用型人才的培養。

關鍵詞:

軟件工程;應用型;課程建設

1課程教學存在的問題

軟件工程是計算機科學與技術專業的核心專業課,教學內容涉及軟件開發的方法論,教學重點是軟件開發的需求分析、系統設計、技術實踐等環節的方法與技術。在軟件工程應用型課程教學中,傳統教學內容不能與技術現狀或工程案例相結合,容易導致教學內容枯燥、術語概念抽象、教學效果不理想[1]。具體問題有:①在軟件分析建模中,傳統的數據流程圖不能提供很好的數據環境,無法引導學生利用數據關聯降低數據冗余,克服數據流的不足;②在軟件設計建模中,傳統的系統設計就是模塊設計,不能滿足分布式多層架構和開發環境的需求;③任何軟件工程的方法論都需要工具的支持,脫離工具只談方法會顯得枯燥乏味。

2應用型課程建設方案與實踐

2.1課程內容組織

1)分析建模應用型拓展。傳統的分析建模采用數據流程圖的方法,數據流程圖的模型是數據流的模型,只有在需求清晰的情況下比較實用,但繪制數據流程圖容易讓學生產生畏難心理,導致其需要什么數據文件就創建什么數據文件,需要什么數據表格就創建什么數據表格。這種情況下,學生對于系統的數據需求不清晰,導致數據來源不唯一,并出現數據冗余、數據存儲異常等問題。改進后的分析建模應用型拓展方案依然將數據流程圖作為軟件工程課程分析建模階段的主要內容,但從功能分析和數據分析的角度對分析建模進行相關拓展。功能分析是用數據流程圖的頂層圖形和第一層圖,抽象出子系統的劃分及其子系統功能單元的組成。數據分析是采用數據庫概念模型方法,區分實體、屬性以及實體之間的聯系,最終引導學生對基本信息類和聯系信息類的信息結構建立系統所需的E-R模型。調整后的方案通俗易懂,非常適合應用型教學方式。

2)設計建模應用型擴展。傳統的設計建模就是要確定系統中每個程序是由哪些模塊組成的,這對于面向過程的開發環境是適合的,但對于面向對象的、可視化的、基于事件驅動的程序環境則需要進行改進。改進后的設計建模應用型拓展方案依然保留模塊設計為軟件工程課程設計建模階段的主要內容,但需要對設計建模的主要內容進行改進和創新,圍繞結構設計、數據設計、界面設計的內容展開。系統結構設計是從軟件體系結構的角度,考慮采用集中式結構、分布-集中式結構、分布式結構中的哪一種,從而確定系統采用C/S模式或者B/S模式。數據設計是根據數據集及其數據集聯系,從邏輯設計角度將數據的關系模式進行規范化處理,從物理設計角度對數據的對象進行命名和編碼。界面設計就是由界面組織業務功能的輸入、處理以及輸出,再為這些界面中的各種事件設置流程。調整后的方案可以同時適用于面向過程和面向對象的程序開發環境。

3)實現建模應用型擴展。傳統的實現建模,就是將軟件設計的結構、數據庫、開發環境下的功能界面以及相關事件翻譯成某種程序設計語言書寫的程序,這容易導致事件流程混亂,甚至出現重復操作的界面等問題。改進后的實現建模應用型拓展方案,圍繞系統的總體實現、數據庫實現、界面及其功能實現3個層次展開,可以使學生學會應用建模方法,變抽象為形象,具備分析建模、設計建模和實現建模的能力。

2.2教學方式改革

通過課程內容的優化,學生可以更好地掌握課程的重點與難點,但在畢業設計和工程實踐中,學生往往需要對上述課程內容進行創新性、批判性的使用。根據筆者在近3年教學過程中積累的經驗和成果以及教學大綱規定的目標,可將案例驅動法納入軟件工程的教學實踐中,采用自上而下、逐步細化的方法加以實施。對于軟件工程課程的教學案例,可以依據結構化方法和面向對象方法選擇一些綜合案例,例如采用結構化的方法來開發進銷存管理系統,研制出完整的結構化分析模型、結構化設計模型和結構化實現模型。在案例教學中,教師扮演著設計者和激勵者的角色,鼓勵學生參與討論,并通過案例展示來提高學生的學習興趣和動手能力,激發學生的探索精神。

2.2.1案例分析模型的實踐

對于進銷存管理的分析模型,應先確定系統的頂層數據流程圖。首先由倉庫管理員進行靜態數據的預處理,按照倉庫號進行數據基本整理;然后銷售人員再根據實際工作情況,進行入庫和出庫的動態數據管理;最后由庫管員對倉庫庫存量進行匯總等處理,生成所需的統計數據。進銷存管理系統的分析階段,主要圍繞功能分析和數據分析兩個模塊來工作。

(1)進銷存系統的功能分析,是根據進銷存系統的數據流程圖,反映出零件在入庫、出庫過程中的傳遞、存儲和處理,實現對倉庫庫存情況的快速管理。

(2)進銷存系統的數據分析,要根據該系統中涉及的實體對象、對象的相關屬性以及實體之間的關系,設計出滿足需要的E-R圖,將數據分成靜態數據(職工數據、項目數據、供應商數據)、動態數據(倉庫數據、零件數據)以及內部生成數據(庫存量)。

2.2.2案例設計模型的實踐

對于進銷存管理的設計模型,首先應確定系統建立在B/S模式下。隨著B/S結構系統的開發,工作人員主要涉及倉庫管理人員、銷售人員等。為了保證多部門工作人員使用,區分各自職責,需要為使用系統的不同人員分配不同的操作權限。進銷存管理系統的設計階段,主要圍繞數據設計和界面設計兩個模塊來工作。

1)數據設計。進銷存系統的數據設計,應考慮到該系統處理的主要關系模式是倉庫數據、零件數據、供應商數據、項目數據、職工數據、部門數據6部分。

2)界面設計。進銷存系統的界面設計應由職工管理界面、部門管理界面、入庫界面、出庫界面、盤庫界面以及基本數據界面等部分組成,系統所有的界面處理數據都存儲在進銷存管理系統數據庫中。

2.2.3案例實現模型的實踐

進銷存系統的實現,用于管理倉庫零件的庫存,完成每月庫存數據的變更、計算、入庫、出庫、打印庫存明細表等工作。具體實現模型主要圍繞4個模塊:①基本信息模塊,該模塊是系統其他界面數據來源的基礎,其中包括對職工基本信息、部門基本信息、供應商信息、零件信息、項目信息的增加、刪除、查詢;②倉庫管理模塊,該模塊包括庫存的批量移庫、入庫、出庫等功能,自動完成盤庫等操作,提供庫存數據的查詢、打?。虎劢y計查詢模塊,該模塊可以按照倉庫號、供應商號、零件號、項目號等不同的查找需要,對倉庫中的信息進行快速查找;④數據轉存模塊,這是為數據的安全性而設置的模塊,管理員可以實現對數據的維護,包括數據備份恢復及刪除、某月份的歷史數據生成等。為了更好地發揮案例教學法的重要作用,在軟件工程應用型課程建設中應注意以下方面:

(1)案例教學法與講授教學法相結合,使用不同的教學法,發揮最佳教學效果。

(2)在編寫案例的過程中,明確案例教學的目的;明確如何寫,根據教學內容可以使用不同的軟件開發方法,如從面向結構和面向對象兩個角度來設計同一案例,讓學生在學習中區分,強化知識點理解;明確寫什么內容,按照軟件工程生命周期各個階段的目標和任務來撰寫案例;明確為誰寫,根據學生的理解能力和層次來撰寫案例;明確何時完成,在授課之前完成案例的預研。

(3)結合案例,設置討論環節讓學生參與,既要解答學生疑問,也不過多占用教學時間。在每個章節的教學活動中,分組對案例進行討論,將學生分成不同小組,并采用輪流制原則指派組長。各組適時討論后,由組長提出本組的觀點和看法,也可以對他組提出疑問和建議。這樣不僅能讓學生在教學中積累項目開發經驗,同時也培養了他們的團隊合作意識和組織協調能力。

(4)對案例進行總結。一般由教師本人來完成,鼓勵學生指出其案例分析中的錯誤與不足,最后教師進行歸納總結。在總結的過程中,支持學生保留自己的獨到見解。

2.3其他方面建設

(1)教材的選擇。教材是教學思想、培養目標、教學內容和課程體系的載體,是高校課程改革得以實施的重要保證。軟件工程教材的選擇,應結合目前市場上軟件應用的新趨勢,將包含.NET架構、J2EE架構等新技術的教材作為首選。同時,在教學中引入實際應用和工程案例,做到企業需要什么,教學就培養什么,提前完成企業的崗前培訓,讓學生具備軟件協同開發和組織管理的能力,實現從校園到職場的輕松過渡。

(2)考核方式亟待完善。傳統的考核方式局限于教材和課堂筆記,應用型課程的考核過程中應體現學生動手能力、實踐能力、應用能力和創新能力等。從考核方式上看,應改變“期末一張卷定成績”的傳統做法,多類別加強過程性考核,強化學生課外學習。從考核主體上看,應逐步推進教考分離,邀請實習單位進行質量評價,實現評價主體的多元化[2-3]。

3結語

應用型人才培養是社會和經濟發展的需求,也是我國高等教育迎接挑戰的必然選擇。軟件工程是軟件類技術人才必修的核心課程之一,對應用型計算機人才的培養起著至關重要的作用[4]。通過軟件工程應用課程建設,學生的主動性和創造力有了很大提高,有利于教學互助、教學互動、教學互進的良性循環。應用課程建設提供了新型的教學模式,但還需要在教學實踐中不斷地探索和創新,以培養出更高質量的計算機專業應用型人才。

作者:杭婷婷 郭學俊 單位:河海大學文天學院 河海大學計算機與信息學院

參考文獻:

[1]韓俊波,鄭尚志,王維.地方院校軟件工程專業應用型課程體系研究[J].巢湖學院學報,2014(6):162-164.

[2]馬睿,張玉英,邵蘭潔,等.基于CDIO模式的軟件工程專業培養模式的探索[J].內蒙古師范大學學報:教育科學版,2013(9):83-85.

[3]楊瑞.面向應用型人才培養的操作系統課程教學改革探討[J].內蒙古師范大學學報:教育科學版,2015(3):151-152.

[4]張曉龍.面向應用型人才培養的軟件工程課程改革與實踐[J].計算機教育,2010(5):10-13.

第二篇:軟件工程校企合作實踐教學改革實踐

【摘要】

通過分析軟件工程專業實踐教學的現狀,發現無法滿足學生實踐能力提升和應用型人才培養的需要。針對這一情況,提出了通過校企合作選擇企業實際開發項目作為實踐項目,提高實踐教學的質量。實踐效果表明,這樣的改革對應用型人才培養質量的提高有較好的促進作用,也受到了學生們的好評。

【關鍵詞】

校企合作;實踐教學;項目案例教學;應用型人才

1軟件工程專業的實踐教學現狀和不足

實踐教學是軟件工程應用型人才培養的重要環節,是學生實踐能力培養和鍛煉的主要途徑。通過實踐教學可以促進學生對理論知識的理解,分析和解決問題能力的提高,軟件分析、設計和開發等項目技能與經驗的培養和積累。因此參考企業不同崗位對專業技能的需求,結合應用型人才的培養特點,考慮軟件工程專業的培養能力要求和課程知識體系,構建完整的實踐教學體系是軟件人才培養的主要內容。軟件工程專業現有的實踐教學體系存在的不足:①缺乏完整的實踐教學體系,特別是實踐教學的過程管理和考核機制。②不重視工程化思想的培養,沒有很好利用先進的實踐管理平臺跟蹤管理學生實踐項目。③大多數從事實踐教學的教師不具備軟件行業工程領域背景和實際項目開發經驗。這些不足導致學生無法將項目開發所需與所學知識有機融合,不能深入理解軟件開發的流程,沒有機會參與實際工程項目的開發,等工作以后,很難快速融入企業的開發氛圍和環境中。再加上學校實驗課時、實驗環境等客觀條件的制約,很多專業課程的實驗教學效果不盡如人意,學生的主動性、積極性、創新性得到有效的培養和鍛煉。造成的結果就是學生的編程實踐能力、學習能力和解決實際問題能力達不到企業的崗位需求,影響人才培養質量和學生的就業能力。

2國內外基于校企合作的實踐教學改革嘗試

國內高校在圍繞軟件人才培養目標,針對實踐教學體系的建立進行了大量的嘗試。其中比較有代表性的有:

(1)北京交通大學建立了課程實訓、項目實訓、企業實習、畢業設計四個不同層次實踐教學體系,實現對專題技能、工程項目能力、創新/創業能力、產品/系統能力等不同能力培養的目標,從而全面提高學生的工程實踐能力。

(2)江西理工大學建立的“教學理念+中心+層次”的實踐教學體系,從知識驗證、應用和創新的層次進行教學,增強學生的工程實踐能力和對企業崗位需求的適應能力。

(3)南京大學軟件工程專業推行“一個教學理念、兩個培養階段、三項保障措施和四門實踐課程”的工程化實踐教學體系。

(4)重慶大學引入工程教育理念,以“能力培養”為核心,以“項目實踐”為載體,建立了相應的實踐教學體系。這些嘗試基本都以學校作為主體,企業僅參與其中的部分環節,如企業實習實訓,并不是與企業的深度合作,不能達到卓越工程師的培養要求“行業企業深度參與培養過程”。校企合作的概念源自于歐洲,是歐美等發達國家為了高效地培養技能人才而進行教育改革,制定相關的法律規章制度,明確校企雙方共同承擔培養技能人才的法律責任,強調學校與企業充分利用對方的優勢資源進行多方位的合作,以保證人才培養的規格和質量。其本質是把職業教育與經濟社會發展緊密地聯系在一起;其核心是產學合作、工學結合、雙向參與;其目標是增強學校的辦學效益和企業的人才競爭優勢,促進社會經濟技術的發展。國內外的經驗表明,在校企合作的基礎上,創建了一整套與企業需求相結合的實踐教學體系,使學校的實踐教學能夠滿足企業需求,培養學生工程實踐能力,改革傳統的實踐教學方式,廣泛采用項目式教學,將合適的企業實際開發項目進行選擇和分解作為實踐教學內容,搭建真實的企業軟件開發環境,讓學生接受規范的軟件開發過程管理是可行的,完全適合軟件工程人才培養的改革要求。

3校企合作實踐教學改革措施

(1)軟件專業人才的培養高度重視學生動手實踐能力的培養,加強與軟件企業的聯系。本專業先后與省內外IT企業柳 州奔騰軟件、桂林安信以及區外中軟國際、深圳達內、上海杰普、深圳達內、深圳華清等簽訂了校企合作實習實訓合作協議,也安排了幾個年級學生到這些公司進行實習實訓,學生們反饋收獲很大。

(2)為強化工程實踐能力和外語溝通能力的培養,首先在培養方案和課程設置上,不僅大量引入需求分析、軟件開發規范、軟件質量保障與測試等工程實踐性很強和外語溝通類的課程,對于每門專業和專業基礎課的實踐課時所占的比例均不小于1/2。實踐課程貫穿整個培養計劃,包括從程序設計實訓、數據庫實訓到包括軟件工程、項目管理等多門課程的軟件開發綜合實訓。

(3)通過走訪了IT行業的一些相關企業,如柳州靚點科技有限公司,柳州工程機械有限公司IT部等企業,討論了基于校企合作的實踐教學的可行性和必要性,以及企業提供有豐富項目經驗的工程師,真實的項目和場地,給學生提供實習實訓甚至就業崗位的機會。在校企合作的基礎上,對軟件工程專業實踐教學體系進行研究和實踐,圍繞不同崗位能力需求,按照不同學習階段設置不同的實踐教學內容,構建有利于學生實踐能力和創新能力培養的實踐教學體系,培養出更多滿足企業需求的軟件工程人才。

(4)在專業教學中,對一些課程和實踐環節進行教學改革嘗試,比如《高級語言程序設計實驗》、《高級語言程序設計實訓》中強調程序分析與設計能力的培養,要求學生在完成基本功能的基礎上,自己設計一些功能。在《項目開發實訓一》、《項目開發實訓二》,增加部分真實項目的開發,如基于不同手機平臺的選課系統,實訓管理平臺等,要求開發成功后,上線運行,學生負責實施和維護。

4實踐教學改革成效

對軟件工程2011級227名同學的《項目實訓二》的實踐教學過程中,通過校企合作,學生參與企業真實項目的開發過程。實訓結束后,通過用學生調查問卷評教的形式,統計分析校企合作實踐教學的效果。通過評教結果,可以發現大部分同學對校企合作的實踐教學效果是比較滿意,但也反映出了部分的問題,一些企業的得分較低,說明這些企業在教學方法、教學內容和教學效果上令學生不是十分滿意。評教的結果為今后選取實踐教學合作企業提供一個重要的參考依據。

作者:李威龍 朱亞超 徐奕奕 鄧向姣 單位:廣西科技大學計通學院

教改項目:

廣西科技大學2013年本科教育教學改革研究項目(教發[2013]10號),廣西高等教育教學改革工程重點項目(2014JGZ133)。

參考文獻

[1]邵雪航,宋龍賓.基于應用型本科院校的校企合作實踐教學模式的實踐[J].科技創新導報,2014(04):158.

[2]賈弦.校企合作實踐教學的管理機制探索[J].教育教學論壇,2014(41):37~40.

[3]吳清海.校企合作實踐教學模式探討[J].職業與教育,2010(6):75.

[4]吳金星,等.校企合作實踐教學為培養應用型人才打開一扇窗.大學教育,2014(2):99~101.

[5]武永成.計算機專業校企合作實踐教學模式研究.教育教學論壇,2014(4):225~227.

[6]王愛民,谷川.軟件工程專業校企合作實踐教學模式研究[J].實驗技術與管理,2012,29(1):143~145

第三篇:開放模式軟件工程實踐教學探索

摘要:

針對目前部分高校軟件工程實踐授課方式的現狀與不足,介紹開放模式的軟件工程實踐教學的開展方式,提出開放模式下的實踐教學模式,并闡述探索過程,最后通過學生的產出評價分析說明教學效果。

關鍵詞:

軟件工程實踐;軟件過程;教學改革;開放模式;構建之法

0引言

軟件工程與實踐課程,是計算機科學與技術和軟件工程兩個專業的核心課程,與偏計算機理論的其他核心課程不同,軟件工程對于實踐應用有著很高的要求。傳統軟件的工程實踐教學模式重理論輕實踐。由于課程教材與行業發展脫節等原因,導致了學生對軟件工程實踐感到乏味空洞、難以理解。本文借鑒鄒欣在《構建之法》中提倡的“Learningbydoing”的教學模式,引入企業助教、開設博客、作業開放點評互動、校際間學生網上交流等方式,在分析面向產出的學生評價基礎上,討論開放模式對于軟件工程專業實踐課程探索的意義。

1軟件工程傳統教學模式現狀與不足

1)課程教材與業界快速發展實際的脫節。部分高校采用傳統的軟件工程課程教材,偏向瀑布模式的軟件工程理論教學。雖然任課教師對瀑布模式的應用具有豐富的任課經驗,但軟件工程專業又要求學生能夠掌握現代工具和技術思想。脫節的教材可能會導致學生了解業界現在普遍應用或流行的工具和技術思想時缺少相應的指引,畢業時達不到企業期望。

2)教師缺乏豐富的項目實踐經驗。部分任課教師由于長期從事教學工作缺乏相關項目的實踐經驗。因此部分教師在授課時,不能提供相應的實踐指導,在驗收學生作品時也無法給出工程實際建議。而學生的項目也大多只是虛擬項目、模擬作品,只能夠用于課程驗收,作品本身卻沒有真實價值。

3)重理論輕實踐。常規的教學模式更偏重理論,教師會在理論課上詳細講解軟件工程思想,但在實踐課上卻更多的是布置相應任務,無法促進實踐教學相融合。學生往往在理論課上一知半解,在實踐課上又體會不到軟件工程的思想,多數學生對于軟件工程理論課的印象就是一堆需要背誦的概念,而對于實踐課則是趕工完成應付驗收的代碼。

4)師生單向交流,作業封閉評價。傳統的軟件工程實踐的學生作業提交和老師驗收點評是封閉的單向傳遞。學生只和教師在有限的機會內互動,這往往會消減學生對于實踐作業的持續熱情。在作業評價方面,傳統教學模式更為封閉,缺少開放的點評及建議,導致學生不重視作業的過程,出現抄襲、應付等情況。

2開放模式的軟件工程實踐教學

針對傳統軟件工程實踐教學模式的不足,許多高校都在不斷地探索軟件工程教學模式的改革,倡導以學生為中心的“Learningbydoing”教學理念,提倡合作式學習團隊方式。在軟件工程中,“Learningbydoing”教學的一個重要特點是學生以項目為驅動組成團隊進行軟件工程的全過程實踐,并通過團隊的合作式學習提高能力、培養學生的素質[1]。在軟件工程教學改革中,不能在某個點或面上進行,應根據軟件工程用于解決軟件開發項目這一目的出發,通過對具體的項目開發進行講解和實踐,使軟件工程中抽象的概念、原理、技術和方法能具體、生動地呈現給學生[2]。開放模式的軟件工程實踐教學模式,是借鑒鄒欣在《構建之法》一書中提倡的理念,通過以下方式展開:

1)引入企業助教,協助任課教師開展軟件工程實踐。企業助教的項目經驗應結合教師的授課經驗,保證理論與實踐都重視的情況下,能夠給予學生所需的幫助,并且能夠引起多數學生對于企業項目的關注度。企業助教帶來的IT行業的新思想、多元觀念、規范編碼、技術分享等,都對軟件工程實踐帶來助益。同時,開放式平臺的教學模式,有利于企業助教不受時空限制,遠程協助教學,通過在博客中的互動作業點評、Github代碼查驗、即時通訊軟件交流等方式完成。

2)開設博客,作業開放點評。采用博客的方式來完成作業的提交和點評,讓學生能通過網絡平臺,分享自己的成果,接受來自IT業內專業人員的檢視、點評及指導建議,同時還能讓學生參考優秀作業,反思自己作業的不足,鍛煉和培養學生持續寫作的能力。

3)采用階段作業,個人、結隊、團隊項目循序漸進。軟件工程是一門強調實踐能力的課程,而實踐能力只能不斷地通過完成實踐作業來積累。軟件工程實踐課程的作業模式決定著學生是否具有很好的培養實踐能力。傳統的教學模式只要求學生期末上交作品,上課時匯報進展,但學生往往都會有拖延癥經常出現期末趕工的情況。讓學生在充足作業訓練量的基礎上,保持每周一定量的實踐工作?!稑嫿ㄖā分芯吞峁┝舜罅康木毩暎趯嶋H教學中,個人、結隊、團隊作業可以依次進行,也可以交叉執行,采用每周作業具體化,保證學生每周都有具體任務。

4)基于真實、有價值用戶的項目驅動。項目驅動教學法的主要特點是“以項目為主線、教師為主導、學生為主體、注重實踐”[3]。讓學生通過開發實際項目來加深對軟件生命周期理論及各個階段的理解。傳統的軟件工程實踐教學模式往往會出現學生團隊既充當客戶角色又充當開發者角色,自己給自己提需求,自己開發的情況。這種虛擬項目、虛擬作品大多只能提高學生編程開發的能力,達不到學生學習軟件開發不同周期不同需求的學習目的?;谡鎸?、有價值用戶的項目驅動則能很好地彌補這個問題,讓學生團隊自主地跟客戶打交道,了解如何引導需求、分析及整理客戶需求以及最終得到的客戶驗收。客戶不再是老師或者學生團隊,而是真實的客戶,所需要的產品不再是學生團隊自己想當然的產品,這種模式能夠更有效的讓學生體驗軟件開發生命周期中的各個階段,培養學生自主學習、分析問題、解決問題的能力。

5)基于文檔的項目評價、驗收。傳統的軟件工程實踐教學模式的驗收注重學生團隊最終開發出的軟件產品,這往往導致學生最終提交一個可以編譯運行的系統,而出現“重程序、輕文檔”的現象。文檔是軟件產品的組成部分,是一種交流的工具,是開發與管理的依據,也是評審的內容[4]。在軟件開發前需要用相應的文檔來記錄以及規定軟件產品的各功能定義,客戶的需求整理等;在開發過程中則需要有相應文檔來定義團隊間的規范;在開發完成產品交付客戶時需要有相應的使用說明文檔等??梢姡臋n貫穿著軟件開發的整個生命周期。基于博客文檔的項目評價、驗收可以提高學生對于文檔的重視程度,培養學生的文檔能力。

6)結合團隊分工、開發流程的分數評價體系。傳統的軟件工程實踐教學模式,由于課時緊張或其他原因,往往會產生“重技術、輕管理”,“重個人,輕團隊”的現象[5]。事實上,軟件項目的成功開發,離不開團隊協作,離不開團隊負責人的管理能力?;陂_發平臺的軟件工程教學模式采用結合團隊分工及團隊開發流程進行打分,團隊的開發模式,PM的管理將占據最終成績的一部分,讓學生體驗團隊管理的經歷,培養學生規范團隊、調整及安排隊員的工作以及合理安排時間進行軟件開發等能力。

3開放模式的實踐教學模式探索

鄒欣在《構建之法》一書中倡導的軟件工程實踐教學模式已經在部分高校推行,并取得顯著成果。福州大學于2015年在數學與計算機科學學院中首次開設以“Learningbydoing”為教學理念,基于開放模式的軟件工程實踐教學模式的課程,實施的對象為計算機類本科生。它的目的在于探索開放模式的實踐教學對軟件工程實踐課程的意義,并與傳統教學模式作比較。在這次的探索實踐中,借鑒鄒欣在《構建之法》中關于課程安排[6]的建議,并根據實際情況進行調整,最終要求參與實踐課的學生要分別經歷個人、結隊以及團隊3次項目。其中,團隊項目要求Alpha版本以及Beta版本產品,并邀請真實用戶進行試用及反饋,同時通過要求團隊使用代碼Github托管、版本控制工具、持續兩周的每日會議以及燃盡圖等方式,最大程度上讓學生體驗企業實際項目的開發過程。在評分方面由企業助教嚴格評分,并設立截止日期,未完成的學生則倒扣成績。最終建立一個公正、及時、有效的評價機制[1]。但實際教學中由于法定長假、其他課程實習等原因,個人項目穿插于結隊項目和團隊項目期間,保證了學生每周都有一定量的作業。同時不提倡學生提前選擇組隊對象,模擬企業的真實開發團隊很少可以自主選擇。團隊人數限制在4~5人,較少規模的團隊便于學生自主管理和掌控。團隊分工方面強制性要求所有成員必須參與編程,一旦發現獨干現象將給予零分。傳統的教學模式中常會出現學生“打醬油、抱大腿”現象,為了避免或者盡量減少該種現象發生,強制性要求學生使用Github托管團隊項目,每個人的貢獻日志記錄,提交代碼塊均可以查看。本次實踐中,結合具體的一個用戶“痛點”項目,給學生提供一個真實的客戶需求。教師安排學生與主要用戶會面,會面期間由學生與客戶自主談話,讓學生體驗如何引導客戶需求,以及如何理解客戶的需求。過后對學生表現稍作點評,之后讓學生自主發揮。最終驗收時要求學生邀請客戶進行試用、反饋、改進、使用,并選擇完成較好的團隊產品,投入實際上線使用,讓學生繼續體驗軟件維護過程。

4學生的產出評價分析

這種“Learningbydoing”的教學模式,可以激發出多數學生的興趣與熱情。許多學生反映“從沒想過在學生時代還能經歷一次如此正規的開發過程”。事實上,學生缺少的是一個能夠發揮他們熱情與興趣的平臺。在理論課上講授相應軟件工程思想時,常常也有學生表示感慨,比如講授團隊管理及分工方面的知識點時,多個項目經理忍不住在課上各抒己見。這是一種可以把理論與實踐結合在一起的教學模式,能夠讓學生通過實踐去消化、應用理論課上學習的思想。反過來,也可以通過理論課上講授的思想去反思自己實踐上的行為。在課程結束時,對學生進行問卷調查,收集反饋信息,整理、分析學生學完軟件工程課程后的收獲。問卷主要內容應為調查學生評價每周花在該課程上的時間和在該項目上編寫的代碼量,同時讓學生對自己的軟件工程各種技能能力進行自我評估。未參與實踐課的學生多數表示,對于開發軟件的概念更多的是停留在敲代碼上,至于其他團隊管理、分工、文檔等方面都不夠重視。參與實踐課的學生多數反映,按照實踐課程要求進行的軟件開發,花在代碼上的時間反而比花在文檔,團隊開會、管理、分工上還要少。收集到的反饋數據也表明,采用新教學模式下的學生更愿意花費更多的時間在該課程上,多數學生反映這種教學模式比較有興趣,更能讓學生自主投入進去。2014年以傳統教學模式進行授課的軟件工程實踐課程的學生問卷調查的匯總和2015年以基于開放模式的軟件工程實踐教學模式進行授課的學生問卷調查匯總。傳統教學模式下往往會出現“重個人,輕團隊”“重技術,輕管理”“重理論,輕實踐”等現象,學生們經常會以為軟件開發就等同于編程,因此導致了學生在實踐過程中只注重編程能力,而忽略了團隊的管理、協作等方面。表中數據也顯示,采用“Learningbydoing”教學理念,基于開放模式的軟件工程教學模式下的學生,在項目管理、代碼復審以及軟件工程工具的使用上的能力提升都很顯著。

5結語

實踐表明,開放模式的軟件工程實踐教學模式相比傳統教學模式更能引起學生學習的興趣,也能更好地彌補傳統教學模式中的不足之處。“Learningbydoing”的教學理念,強調理論與實踐的結合,培養學生快速入手,自主學習的能力。下一步,將計劃在計算機專業的實踐課程中運用這種教學模式,盡可能讓學生從大一時就能適應以“Learningbydoing”為教學理念。

作者:張棟 蘇曉強 單位:福州大學數學與計算機科學學院

參考文獻:

[1]邊耐政,凌小寧,林亞平.“做中學”教學平臺之合作式學習團隊管理和評價[J].計算機教育,2008(2):92-94.

[2]蔡勇,李菁芳.以“項目教學法”促進“軟件工程”教學[J].計算機教育,2007(16):13-15.

[3]李偉波.項目驅動式的“軟件工程”教學模式研究與實踐[J].中國電力教育,2009(12):45-46.

[4]劉煒.淺析文檔在軟件項目開發中的作用[J].價值工程,2010(26):151.

[5]吳國棟,涂立靜.軟件工程一體化教學模式探討與實踐[J].計算機教育,2010(16):95-98.

[6]鄒欣.構建之法[M].北京:人民郵電出版社,2014:17-18.

亚洲精品一二三区-久久