公務員期刊網 論文中心 正文

軟件工程多模式融合教學路徑分析

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了軟件工程多模式融合教學路徑分析范文,希望能給你帶來靈感和參考,敬請閱讀。

軟件工程多模式融合教學路徑分析

摘要:針對軟件工程課程的特點和軟件人才培養(yǎng)的要求,融合多種先進的教學模式和理念,開展多模式課堂教學策略研究,以Workshop&Teamwork教學法為學生開展學習活動的基礎。實行任務驅動下的案例項目主線教學,在課堂中引入情境教學方式,并借鑒翻轉課堂的做法提高課內學時的效率,文章詳細介紹了教學的總體規(guī)劃、教學過程的實施策略和評價手段,以推動軟件工程教學改革。

關鍵詞:多模式融合;軟件工程;翻轉課堂

1本項教學改革背景

軟件技術和產業(yè)的飛速發(fā)展進步,為我國經濟注入了強大的推動力量,信息產業(yè)的人才需求量也在逐年擴大。據有關部門統(tǒng)計,未來五年,我國信息化人才總需求量高達1500—2000萬人,其中“軟件開發(fā)”、“網絡工程”等人才的缺口最為突出[1]。以軟件開發(fā)為例,職位數排名前五的職位依次是:軟件工程師,高級軟件工程師,網頁設計,互聯(lián)網軟件開發(fā)工程師和網絡推廣專員。高校作為社會所需人才的培養(yǎng)基地,承擔著培養(yǎng)大批合格軟件人才的職責,滿足軟件產業(yè)發(fā)展和市場需求。為此,很多高校開設了多門軟件技術方法課程,其中的核心課程包括軟件工程,這門課程訓練學生從工程化的角度認識軟件開發(fā)和維護,通過實踐理解和運用工程化的軟件開發(fā)原理、技術和方法,在軟件課程體系中具有重要地位。軟件工程課程的特點是知識體系龐大,內容豐富,同時又與產業(yè)和應用聯(lián)系密切,實踐性很強。目前,大部分高校采用理論講授上機練習的形式開展該課程,課程結構設置傾向于教師講授,未給實踐教學以足夠的重視,學生參與軟件工程項目機會很少[2]。即便是課堂講授,有限的學時也難以展開或深入。大部分學生雖然學習過幾門程序語言和一些軟件專業(yè)課程,但基本上都沒有經歷過軟件項目開發(fā),普遍感到軟件工程籠統(tǒng)抽象,很難真正理解其中的精髓。因此,如何改變軟件工程課程的教學模式教學方法,提高教學水平和質量,切實培養(yǎng)學生的工程設計開發(fā)軟件系統(tǒng)的能力,已經成為高校軟件專業(yè)教改的重點熱點之一。在多年的教學實踐探索中,我們學習借鑒了多種新型教學方法的優(yōu)點,包括Workshop&Teamwork教學法[3]、任務驅動的項目案例教學法[4,5]、情境教學法[6]、翻轉課堂法[7]等,展開深入研究,將它們進行融合和合理改進,應用到軟件工程教學中,提出了多模式融合的軟件工程教學策略,結果表明,該教學模式收到了好的效果。

2多模式融合的軟件工程教學策略

2.1多種新型教學方法融合應用

2.1.1Workshop&TeamworkWorkshop直譯為工作坊、創(chuàng)作室、專題研討會或實驗班,是一種由幾個人組成小組(Teamwork),進行密集討論的集會,運用群體壓力和有效的指導來完成復雜而具有挑戰(zhàn)性的工作[2]。Workshop&Teamwork教學法以教師引領啟發(fā)、學生分組學習和共同探討問題為核心,通過充分的溝通交流實現(xiàn)思維能力、自學能力的培養(yǎng),對于理解、領悟軟件工程中抽象的理論及框架等概念模型具有一定的應用價值。它偏重于短期強化的專業(yè)訓練,適合軟件工程這樣的短學制理論課程部分,通過充分調動參與者的積極性,在短期內高效率地完成教學任務。

2.1.2任務驅動的案例項目任務驅動教學法將以往以傳授知識為主的傳統(tǒng)教學理念,轉變?yōu)橐越鉀Q問題、完成任務為主的多維互動式的教學理念;將再現(xiàn)式教學轉變?yōu)樘骄渴綄W習,使學生處于積極的學習狀態(tài)[3]。任務驅動法中的任務可以表現(xiàn)為案例(Case)或項目(Project)的形式。案例通常是能夠突出體現(xiàn)一個或多個知識點、技能點的范例,在例子中設置問題或困難的情境,沒有特定的解決之道,教師扮演設計者和激勵者的角色,鼓勵學生積極參與討論,以求得解決方案。項目往往是綜合性的案例,涉及本課程的大量知識技能點甚至融合了多門課程的知識。學生在老師的指導下獨立處理項目,自我組織信息收集、方案的設計、項目實施、過程管理和最終評價,了解并把握整個過程。

2.1.3情境教學情境教學法的主要理論依據是情感和認知相互作用和認識的直觀原理,通過在教學過程中引起學生積極的、健康的情感體驗,直接提高學生對學習的積極性,使學習活動成為學生主動進行的、快樂的事情[6]。在教學過程中,教師有目的地引入或創(chuàng)設具有一定情緒色彩的、以形象為主體的生動具體的場景,以引起學生一定的態(tài)度體驗,幫助學生理解學習內容,并使學生的心理機能得到發(fā)展。

2.1.4翻轉課堂法翻轉課堂是指重新調整課堂內外的時間,將學習的決定權從教師轉移給學生。教師不再占用課堂的時間來講授信息,這些信息學生在課后通過觀看課程視頻、電子書、與他人討論、查閱參考資料等自主學習活動來掌握。課堂內的寶貴時間,學生能夠更專注于主動的基于項目的學習,共同研究解決面臨的問題,從而獲得更深層次的理解。教師也能有更多的時間與每個學生交流,掌握學生的進度和缺欠,以便更有針對性地對學生指導和輔導[7]。

2.2課程規(guī)劃

軟件工程課程系統(tǒng)地介紹軟件開發(fā)的過程、方法和工具的基本概念及需求分析、軟件設計、編碼風格、軟件測試的工程化方法,涉及計算機科學、數學、經濟學、法學、管理學、心理學等多學科,具有理論深、涉及面廣、實踐性強的特點。針對這些特點,我們設計了以Workshop&Teamwork為基本組織形式,采取翻轉課堂的部分做法,將學習內容分解為課外自學部分和課內學習部分,課前由學生獨立或以小組為單位進行知識的自我獲取和掌握,課堂上開展任務驅動下的案例/項目的互動分析討論,經常引入模擬工作場景的情境學習,課后學生在教師的指導下進行總結歸納提高,答疑解惑,并開展綜合實驗。在課程開始時即規(guī)定考核方式,最終成績由四部分組成:課前自學+練習占20%,課堂學習占30%,綜合項目(含開展過程和最終答辯)占20%,期末筆試占30%。前三項均為過程性評價,占最終成績的70%,體現(xiàn)了對實踐環(huán)節(jié)和參與度的重視。在過程性評價中采取個人自評(20%)、小組互評(20%)和教師評分(60%),含多個評估項目如學習態(tài)度、參與積極度、任務完成程度、創(chuàng)新性等,能夠較為全面和充分地反映學生的個體能力、合作能力和整體表現(xiàn)情況,激勵和督促學生平時積極學習,避免了以往僅考筆試的臨時沖刺,或者團隊中的平均主義現(xiàn)象,真正達到了學習過程就是學習結果的目的。

2.3小組活動的組織和實施

根據Workshop&Teamwork教學法中對案例及情境的需要,我們對軟件工程課程教學計劃進行總體規(guī)劃和任務分解。通過收集整理具有代表性軟件工程實例,創(chuàng)建若干對應課程相關章節(jié)內容的相應工程教學項目及工作情境,內容包括任務的名稱、目的、需要解決的問題、項目需求的背景等相關資料。這些工作資料的收集和準備,是實現(xiàn)小組學習的關鍵。課堂任務的設計與選取強調以下幾點:任務的相對獨立性和開放性;任務是某項知識的學習和應用;將各子任務的完成貫穿到教學的各個階段;每個具體任務既要覆蓋一定范圍的相關知識的運用,題目又不應過大,應相對獨立,便于項目學習的實施。將學生分成小組,每個團隊5-7人,選出一名團隊負責人,教學活動將以小組形式,在負責人的主持下,在課內外展開和完成。每名學生在團隊中有明確分工,不再是一個旁觀者,而是分別擔任客戶、項目經理、系統(tǒng)分析員、程序員、測試員和評審人員角色等不同角色,完成特定任務,在不同的任務中,實行角色輪換,保證每個成員對所有角色有所體驗。小組學習的基本流程是:呈現(xiàn)任務→分析任務→完成任務→總結評價,四個步驟所包含的具體環(huán)節(jié)如下:呈現(xiàn)任務:創(chuàng)設情節(jié)、引起注意、提出任務;分析任務:針對問題、明確思路、提示重點;完成任務:自主探索、領會意圖、解決任務;總結評價:檢查結果、發(fā)現(xiàn)不足、總結經驗。在課堂上,教師提出一個待解決的案例問題,每個團隊獨立提出問題解決方案,各團隊對多種解決途徑進行討論,改進不足。在課外,每個團隊自由選擇或由教師給出一個要開發(fā)的實際項目作為案例。團隊成員分別扮演各種角色分工,討論問題解決方案。以案例為核心,圍繞需解決的問題展開討論及工作。小組中的每個人都應當暢所欲言,充分交流,團隊負責人負責活動的開展,人員的組織和激勵,要求每個成員認真努力,主動參與,及時糾正和避免“南郭先生”現(xiàn)象。教師對學員的實際表現(xiàn)進行考察、點評以便有針對性地提供咨詢意見。

2.4案例項目的開展

近年來,軟件工程學科發(fā)生了巨大變化,從傳統(tǒng)的結構化技術到面向對象技術,繼而發(fā)展到基于構件和面向服務的技術;出現(xiàn)了平臺網絡化、方法對象化、系統(tǒng)構件化、開發(fā)工程化、過程規(guī)范化、生產規(guī)?;膽B(tài)勢;軟件開發(fā)過程、工具和方法等方面有了重要的發(fā)展。為了及時反映技術和理論的進展,在案例和項目的來源方面,我們改變了以往主要由教師設計的做法,通過學院與廣州、深圳、佛山等多家技術企業(yè)和技術機構的校企合作機制,從企業(yè)引入了大量的實際產品和項目,根據課程內容和進度,分解和改變成多個小案例和小、中、大型實訓項目。為順應移動互聯(lián)網發(fā)展潮流,我們精選了移動互聯(lián)網和游戲開發(fā)技術中的軟件工程實踐案例,在課程中介紹這些項目的設計和開發(fā)經驗,鼓勵學生探索;精準醫(yī)療是目前醫(yī)療發(fā)展的新方向,精準軟件的設計和開發(fā)與云計算、大數據分析等新興技術密切相關,我們就把紛繁的資源整理成較為系統(tǒng)的格式,提供給學生課外學習,從而使得課程內容緊緊貼合蓬勃發(fā)展的醫(yī)療應用實際。這些做法不僅解決了案例項目來源單一、數量不足的問題,而且避免了閉門造車,使得學生能夠接觸到一手的軟件產品的分析、設計中的問題,具有很強的實用價值和崗位情境價值,激發(fā)了學生的探索欲和表現(xiàn)欲。軟件工程中的案例為小例子,較容易為學生接受和理解,能夠在15分鐘左右的時段內獲得結果,不僅在流程上相對完整,而且在課時上便于掌控。項目則更加復雜,綜合性更強,往往在學習完軟件工程的一個獨立階段之后提出,檢驗學生綜合運用原理和方法的能力,涉及的時間段也比較長,教師在課堂出提出項目要求,學生開展分析,獲得初步的需求規(guī)格說明,而項目的設計、分工實現(xiàn)和測試、維護等主要放在課外展開,以獲得充分的時間保證。在課程結束時,學生課內外產生的設計和分析成果就構成一個完整的項目工程,利于總結、比較和提高。隨著軟件工程的案例項目數量不斷增加,內容不斷豐富,為了便于管理、檢索和更新,目前已經建立了教學案例項目庫,包括課堂案例50多個,各類實踐項目30多個,使得課堂內容和訓練內容得到大大充實,訓練素材和學習過程的質量也明顯提高。

2.5真實情境的教學運用

在軟件工程課堂上,我們組織學生以小組(Teamwork)形式討論案例和項目中的疑難,提出案例和項目的解決之道并加以迭代修正,獲得最終解決方案,組織軟件開發(fā)和實施過程,就是對軟件工程崗位的情境模擬,在其中引入了討論情境、辯論情境、商議情境、多種媒體表現(xiàn)情境等,給學生以耳目一新的感受,活躍的課堂氣氛,競爭與合作并存,使得學生全力投入,有效地促進學生思維的活動。例如,在開展學校醫(yī)藥費管理系統(tǒng)項目的需求分析時,教師提出問題:哪些干系人參與該項目的需求獲???學生小組經過討論,給出了各自的結果。大多數小組認為,編程人員應當作為干系人參加需求分析活動,只有編寫程序的人才知道某些功能是否能夠實現(xiàn)。而實際情況則是,技術團隊在前面的可行性分析中就已經證實了技術可行性,不必重復可行性分析。經過比較討論,同學們強化了需求分析重要性的意識。又如,在軟件測試環(huán)節(jié),很多學生認為單元測試是編程者個人的事情,無需其他技術人員測試。為了驗證同學們的想法,我們設置了如下情境:編寫一個方法A,輸入任意日期,輸出該日期所對應的星期幾,然后分別由編寫團隊和其他團隊來測試代碼有無bug;在學生已經完成的學校醫(yī)藥費管理系統(tǒng)1.0版本中隨機選出了幾個模塊(編號為B1-B4),分別由編寫團隊和其他團隊來進行測試。經過20分鐘的測試,所獲得結果如下表。雖然以上只是小樣本實驗結果,但學生已經在情境學習中深刻認識到了單元測試中其他技術人員介入的必要性,同時還驗證了一個測試原理:檢出錯誤的代碼段比其他代碼段更容易發(fā)現(xiàn)新的錯誤。學生對相關內容有了更深的領悟。

2.6翻轉課堂向課外延伸

軟件工程教學要想充分利用課內時間,使得學生在有限的學時中消化案例,理解項目,很有必要借用翻轉課堂的課前自學普及型知識、課上討論關鍵性要點、課后自我訓練升華提高的策略。

2.6.1課前布置任務:教師鋪路學生自學要實現(xiàn)學生的課前自學,前提是教師充分重視課前準備工作。教師首先根據課程總體教學目標劃分一系列的單元子目標,再根據子目標細化成具體任務。具體任務要適應學習者的水平,符合其課外自主學習的特點,任務難度適中,學生能夠獨立完成,或以小組形式自學完成。教師根據細化的任務和學習者的實際情況,制作相應的學習資料,以滿足學習者的基礎知識儲備。例如,在總體設計環(huán)節(jié),我們將學習內容分解為5個小單元,包括軟件總體設計的概念和目標、軟件體系結構與風格、總體設計的原則、總體設計的方法和工具、總體設計的應用,每個小單元里包括PPT、案例、思考題、閱讀鏈接。學生在完成了這5個小單元的自學后,初步掌握了總體設計的基原理方法,未能解決的疑問將作為上課時集中討論的主題。

2.6.2課堂教學活動:解決疑難重點問題教師在課堂上組織學生進行任務完成情況的匯報、測評以及后續(xù)任務的布置等教學活動。通過組內交流和組間答疑,盡量使更多的問題由學生自行解決。例如,在總體設計學習中,A小組提出,設計軟件時沒有必要先確定體系結構風格,應當順其自然。B小組發(fā)表了反對的意見,認為很多項目開發(fā)符合特定類型,事先設計好體系風格,有助于采用成熟的方案進行設計,少走彎路。通過討論大家認識到:復雜系統(tǒng)采用面向對象方式設計比傳統(tǒng)結構能夠更準備地表示數據之間的關系,提高重用性和可維護性;過濾器類型的軟件不必考慮交互性,可以采用管道風格設計;如果業(yè)務處理以數據為中心,則可以采用倉庫體系結構,等等。教師對學生課堂表現(xiàn)進行考評,綜合前期任務的實施情況,制定后續(xù)任務。

2.6.3課后自我訓練:鞏固歸納升華提高教師根據本堂課的學習目標和知識要點,設計課后小練習,交給學生個人獨立完成,設計課后綜合性練習,交給學生以小組形式獨立完成。學生可以將自己的練習結果和思路到網絡群組中共享,分享經驗,共享發(fā)現(xiàn)的新工具、新技術,互相幫助攻克困難。需要教師及時關注跟進,了解學生的練習情況,并及時進行輔導、提示和解答,從而保證學生在課后能夠及時進行鞏固練習,復習歸納。另一方面,學生中涌現(xiàn)的新點子、新材料,產出的優(yōu)秀作品,教師可以及時收入素材庫,作為今后教學的輔助材料。

3結語

近幾年來,我們不斷摸索嘗試以小組為單位的任務驅動下的案例/項目教學新模式,在合適的環(huán)節(jié)開展情境教學,吸收翻轉課堂的優(yōu)點做法,以實際案例和項目為主題,以實現(xiàn)任務為模塊學習目標,學生課外自學、開展小組活動、探索解決問題的方案、團隊合作與競爭等,完全改變了傳統(tǒng)的以教師為主體的講授方式,使抽象的概念和工程原理經過學生的主動學習和實踐而變得實際起來,取得了很好的教學效果,主要表現(xiàn)在:充分調動了學生的主動性和積極性,課程由原來干癟無味變得鮮活生動,學生們戲稱“軟工課堂熱,發(fā)言搶答忙”,學習觀念得以改變,學生的自學能力、查閱文獻的能力、分析軟件系統(tǒng)和設計系統(tǒng)的能力、編程和測試的實戰(zhàn)能力都得到了較大提高。學生通過大量案例和項目的實踐學習,感受到了軟件工程課程的指導意義和實用價值,提高了運用軟件工程先進思想和方法設計開發(fā)軟件項目的信心和愿望。對于教師來說,開發(fā)具有新技術、新思想的教學案例,才可能教好學生,因此,新的教學模式既給予了教師適度的壓力,又提高了教師學習運用軟件工程思想方法和技術的動力。運用新教學模式時我們也看到了存在的一些問題:隨著軟件工程技術和思想的發(fā)展,學習內容越來越龐大,如何在保留經典和引入新潮之間做好平衡,如何有效地過濾相對過時的內容,尚未有一個明確的原則和解決思路;軟件類部分課程具有一定的重疊性,相關的課程是否可以合并,減少重復環(huán)節(jié)?我們將不斷學習,不斷實踐,改進和完善軟件工程教學模式,切實培養(yǎng)學生的思考能力、動手能力,為社會培養(yǎng)更多合格的軟件工程人才。

參考文獻:

[1]全面解析我國2015年IT行業(yè)發(fā)展與就業(yè)前景.

[2]毛燕琴.軟件工程專業(yè)案例啟發(fā)式教學實踐框架研究[J].計算機教育,2015(7):22-24.

[3]吳建斌,陳中育,葉榮華,等.軟件工程類課程教學模式改革探索[J].中國信息技術教育,2013(5):119-121.

[4]熊祥光.項目驅動的校企合作及做中學教改實踐[J].計算機教育,2015(14):49-51.

[5]王文發(fā),武忠遠,許淳.地方高校軟件工程專業(yè)校企合作實踐教學的探索與實踐——以延安大學為例[J].高等理科教育,2016(12):114-119.

[6]陳經優(yōu).芻議情境教學在軟件開發(fā)教學中的實施方式及作用[J].網絡安全技術與應用,2014(8):204-205.

作者:楊誼 單位:南方醫(yī)科大學醫(yī)工學院