陸公正 牛麗 尚鮮連

[摘要]針對高職軟件專業現有教學模式存在的問題,依據新工科建設中對“新工科”人才培養的要求,提出以軟件工程為核心,對高職軟件專業的多門課程進行整合的教學模式,提高學生的工程實踐能力、創新能力,解決工程教育和職業崗位需求脫節的問題。
[關鍵詞] 新工科;軟件工程;軟件專業;多課程整合
[中圖分類號]? G712????? ?? ??????? [文獻標志碼]? A???????? ????????????? [文章編號]? 2096-0603(2018)34-0237-03
目前,高職軟件專業現有的教學模式存在較多問題,各課程實行獨立教學的方式,使得理論課程和實踐課程之間脫鉤,實踐課程之間的關聯度不夠,課程之間的知識點存在重疊,學生的專業技能和職業崗位需求存在巨大的“鴻溝”。所以,結合職業崗位需求和實際教學實踐,我們提出了一種“以軟件工程為核心的多課程整合教學模式”,以“軟件工程導論”課程為核心,依據軟件生命周期,探討和分析了把“軟件工程導論”“UML系統分析與設計”“Web系統開發”和“軟件測試及工具應用”多門課程進行整合的必要性、整合的具體實施過程以及在整合過程中可能遇到的挑戰及解決措施。
一、課程整合的必要性
(一)理論課程和實踐課程存在脫鉤
“軟件工程導論”課程是軟件專業的一門專業理論課,主要按照軟件生命周期的順序講述軟件工程的基本原理、概念和技術方法,它用于指導軟件開發實踐。但是它的內容過于理論,由于課時安排很少以實際的綜合性案例貫穿整個教學過程,或者只是整個課程最后給出一個綜合性案例,這樣使得學生很難理解軟件工程的各種技術是如何應用在實際軟件開發過程中并如何對它們進行指導的,課后的一個綜合性案例通常篇幅較短,很難真正體現出完整的軟件開發過程和流程。再者,在軟件專業的實踐性課程中,如程序開發類課程中,老師在講授過程中只注重程序開發語言的講解,很少涉及如系統設計、編碼風格等軟件工程理論知識的講解。現有軟件專業的教學模式中,理論課程和實踐課程存在嚴重的脫鉤,導致學生對專業知識的綜合性存在缺失,知識結構存在缺陷。
(二)各實踐課程之間關聯度不夠
“Web系統開發”課程和“軟件測試及工具應用”課程是軟件專業的兩門專業實踐課。“Web系統開發”課程主要培養學生開發Web系統的能力,并且,在軟件行業的職業崗位需求中,程序員除了具備嫻熟的軟件開發能力之外,還需具備一定的軟件測試能力。但是,在現有軟件專業的教學模式中,軟件測試課程的實際教學中各個知識點講解過程都是由不同的小案例組成的,Web系統的測試僅在性能測試時才有些許提及,丟失了這兩門實踐課程之間的關聯性,學生很難理解如何應用各種測試方法和測試工具對Web系統進行完整測試的流程,難以適應職業崗位需求。
(三)各課程之間的知識點存在重疊
軟件專業的現有教學模式是各門課程由多位老師獨立授課,一門課程的授課老師不清楚另外幾門相關課程授課老師的教學內容,往往造成各課程之間的知識點存在重疊。根據圖1中三門課程的授課內容可知,各課程之間的知識點存在重疊。“UML系統分析與設計”中第3章節到第5章節中的需求分析基本概念和方法、設計的原則和方法等內容在“軟件工程導論”中的第2章節到第4章節都會有所講解,“軟件測試及工具應用”中第1章節到第4章節中軟件測試基本概念、軟件測試流程、測試用例的設計方法等內容會在“軟件工程導論”的軟件測試章節中進行簡單的講解。這種知識點的重疊是客觀的,體現了同一專業課程間的內在聯系。
(四)學生專業技能與職業崗位需求存在巨大“鴻溝”
通過分析軟件行業的職業崗位需求,可知軟件行業的從業人員必須具備以下核心技能:(1)熟練或精通多門開發語言;(2)熟悉流行的網絡編程技術;(3)具有良好的系統和設計能力,掌握軟件對象分析、設計方法;(4)熟悉UML建模技術和工具;(5)熟悉軟件測試流程,能夠熟練編寫自動化測試腳本和使用自動化測試工具等。而高職軟件專業現有教學模式存在的問題導致各門專業課程之間的知識點脈絡不清晰,學生難以透徹理解授課內容,難以把各課程的內容融會貫通,進而不能很好地應用到自己的職業崗位中去,造成學生掌握的專業技能與職業崗位需求之間存在巨大的“鴻溝”。
二、課程整合的具體實施
為了解決高職軟件專業現有教學模式中存在的問題,我們提出以軟件工程為核心的多門課程整合的教學模式。圖2給出了我們提出的教學模式的總體框架,圖3—圖7給出了按照軟件生命周期的順序對多課程內容進行整合的具體實施過程。
圖4是整合后的可行性與需求分析的主要內容,其中融合了“UML系統分析與設計”中與需求分析相關的內容,不僅避免了原先兩門課程在此知識點之間存在重疊的問題,而且平滑過渡到面向對象的需求建模技術,同時把所學內容直接應用到Web系統的需求分析和建模,解決了理論課程與實踐課程脫鉤的問題。圖4—圖6分別是整合后的概要設計、詳細設計和系統實現的內容,它們同樣解決了知識點重疊、理論課程與實踐課程脫鉤的問題。此外,圖6把Web系統的開發語言和編碼整體內嵌到系統實現部分,解決了“軟件工程導論”和“Web系統開發”兩門課程的關聯度不夠的問題。圖7是整合后軟件測試部分的內容,它把軟件測試的理論、方法和技術與Web系統的測試進行了有機融合,形成了實際的職業情境,解決了“Web系統開發”和“軟件測試及工具應用”兩門課程關聯度不夠的問題,同時也解決了學生專業技能與職業崗位需求存在“鴻溝”的問題。我們的教學模式以軟件生命周期為主線,以Web系統作為貫徹始終的項目案例,模擬軟件職業崗位的具體工作場景,既能幫助學生通過實際案例理解軟件工程中的基本理論、方法和技術,又能幫助學生了解軟件工程理論、方法和技術在實際中如何應用,實現了理論知識到實踐技能的平滑過渡。我們的教學模式注重學生綜合能力的培養,通過學習學生可以具備軟件工程的理論知識、文檔寫作能力、系統分析與設計能力、UML建模能力、編碼實現能力、軟件測試技術,這些都是軟件職業崗位的核心能力,課程的培養目標符合職業崗位需求。
三、課程整合的挑戰及解決措施
(一)課程內容組織
現有教學模式各門課程之間都是獨立授課,每門都有單獨的教材和教學目標。課程整合后,如何對四門課程的內容進行合理、科學的編排,保證內容不重疊、不遺漏、理論和實踐之間過渡平滑、體現職業崗位情境,這是面臨的重要挑戰。
可以按照以下思路應對這一挑戰。通過認真研讀軟件行業崗位需求,制定系統、全面的教學目標,把控課程整合的總體方向。授課教師依據各門課程的教學大綱、教學計劃,梳理各門課程的知識點,去除重疊的知識點,重新編排課程教學內容,以“大課程”的形式按照我們的整合框架重新編寫教材,開發課程網站,建設網絡教學資源庫。
(二)授課教師要求
課程整合中最大的考驗是針對教師的,提出的新教學模式中,理論課程和實踐課程、實踐課程和實踐課程之間進行了有機結合、平滑過渡,這無疑對授課教師提出了更高的要求。
可以按照以下思路應對這一挑戰。由一位教師承擔整合后“大課程”的授課任務不太現實,對教師個人的要求太高,所以建議多位教師協作完成“大課程”的授課任務。教師進行分模塊集體備課,相互之間進行探討,解決各章節中理論、實踐部分的過渡問題,避免知識點重疊或遺漏。各授課教師可以在課程網站通過MOOC等形式提供教學視頻資源,不僅給學生自主學習提供參考,而且能夠為“大課程”其他內容的授課教師合理組織授課內容、選擇授課方式提供參考。
(三)課程考核機制
現有的教學模式中,各課程獨立考核,考核的側重點也有所不同,而且每門課程的內容量比較適合傳統的考核方式,如試卷或大作業方式。在課程整合后,“大課程”包含理論知識、編程語言、工具應用,課程的內容量龐大而繁雜,很難再利用單一的方式進行考核。
可以按照以下思路應對這一挑戰。可以進行分階段考核。第一階段,針對整合后的第1—第6部分內容,可以由授課教師進行共同命題進行試卷和大作業考核,試卷主要考核軟件工程、UML系統分析方面的理論知識,大作業以小組為單位考核編寫項目文檔、UML工具使用等情況,最后由授課教師共同評價。第二階段,針對整合后的第7和第8部分的內容,即軟件系統實現和軟件測試,這部分側重實踐能力的考核,可以以項目的形式,分小組進行項目開發和測試,通過課程網站提交項目開發文檔、源代碼和測試文檔,最后由“大課程”的授課教師進行共同評價。第三階段,針對整合后的第9和第10部分,這部分內容知識點較少,且不是課程考核重點,可以進行隨堂測驗。
四、結語
針對高職軟件專業現有教學模式存在的理論課程和實踐課程存在“脫鉤”、各課程之間的關聯度不夠等問題,依據新工科人才培養要求,提出了以軟件工程為核心的多課程整合的教學模式,介紹了課程整合的具體實施過程,對整合過程中可能存在的挑戰給出了相應的應對措施。提出的教學模式更有利于形成良好的教學效果,使得學生能夠更清晰地理解各個知識點之間的脈絡,平滑地實現從理論過渡到實踐,滿足職業崗位的需求。
參考文獻:
[1]吳愛華,侯永峰,楊秋波,等.加快發展和建設新工科,主動適應和引領新經濟[J].高等工程教育研究,2017(1):1-9.
[2]劉學東.新思維,新課程:斯坦福大學通識教育改革[J].清華大學教育研究,2014(5):96-102.
[3]周運.軟件工程專業課程整合及其教學模式轉變探索[J].中國科技信息,2011(16):134.
[4]郭勇,馬培軍,范國祥,等.軟件工程核心課程內容重疊交叉的解決[J].計算機教育,2013(23):50-54.
[5]郭晨,彭碩,廖萍.基于“大課程”的課程交叉體系教學體系的研究[J].大家,2012(8):302.
◎編輯 馬燕萍