余員琴 張弘華 彭姣麗 李晨 韋榮堂
摘? 要:現(xiàn)已進入知識密集型軟件開發(fā)時代,“軟件工程”課程教學效果優(yōu)劣對軟件工程本科學生從事IT工作及軟件開發(fā)質(zhì)量有著重要的影響。依據(jù)軟件工程本科專業(yè)人才培養(yǎng)方案、學科前沿發(fā)展和學生就業(yè)去向,結(jié)合長期一線教學實踐經(jīng)驗和現(xiàn)代化教學技術(shù)手段,從優(yōu)選教材、優(yōu)編課程內(nèi)容、精設(shè)教學過程、精用教學方法、構(gòu)建網(wǎng)絡(luò)課程教學平臺、嘗試雙語教學等多視角探討該課程資源和教學方法。實踐證明其教學效果較佳,以供其他課程教學借鑒。
關(guān)鍵詞:創(chuàng)新教育;軟件工程;教學內(nèi)容;教學方法
Abstract:Now it has entered the era of knowledge intensive software development. The teaching effect of “Software Engineering” course has an important influence on IT work and software development quality of software engineering undergraduates. According to the software engineering undergraduate professional talent training plan,the forward development of the discipline and the orientation of studentsemployment,combined with long-term experience of first-line teaching practice and modern teaching techniques,the course resources and teaching methods are explored from multiple perspectives,such as optimizing teaching materials,optimizing course content,refining the teaching process,intensive use of teaching methods,building a network course teaching platform,and trying bilingual teaching. Practice has proved that its teaching effect is better,for other courses as teaching reference.
Keywords:innovative education;software engineering;teaching content;teaching method
0? 引? 言
近年來,各高校逐步實施創(chuàng)新教育。以首都師范大學為例,該校全面制定和實施了“大學生科研創(chuàng)新能力培育計劃”,以《本科生科研創(chuàng)新工作管理辦法》《校內(nèi)創(chuàng)新實踐訓練基地建設(shè)管理辦法》《創(chuàng)新學分認定辦法》等一系列管理制度為保障,部門協(xié)同、層次遞進,緊密圍繞學生實踐創(chuàng)新能力訓練環(huán)節(jié),形成了“實踐動手能力和科研創(chuàng)新能力雙融合”機制。
近年來,計算機技術(shù)快速發(fā)展及應用多元化,軟件數(shù)量、規(guī)模和復雜度成指數(shù)倍增長,因此,為了促進軟件產(chǎn)業(yè)的健康發(fā)展,必須有一套科學、合理的軟件管理和技術(shù)手段來保障軟件項目的順利實施,保障軟件客戶權(quán)益最大,使得軟件更好地服務(wù)于社會,基于上述需求,“軟件工程”課程順應應時代要求出現(xiàn)了。
湖南交通工程學院(下文簡稱交工學院)2016年申報軟件工程本科專業(yè)成功至今,“軟件工程”課程成為該專業(yè)的核心課程之一,也是相近工程專業(yè)學生學習和了解工程項目開發(fā)知識的主要課程,也是我國很多高校計算機科學及相關(guān)專業(yè)碩士、博士學位入學考試的主要專業(yè)科目,也是我國軟件工程師中級、高級考試重要的考點,更是IT行業(yè)確保軟件質(zhì)量、數(shù)量的必備技術(shù)支持。AI時代的到來,隨著軟件智能化、個性化、規(guī)?;l(fā)展,進行“軟件工程”教學內(nèi)容的優(yōu)化和教學方法的改革是大勢所趨。
1? “軟件工程”課程的特點
“軟件工程”課程內(nèi)容抽象難懂,更新快,是集理論性、專業(yè)性、工程性、實踐性的一門專業(yè)核心課。其內(nèi)容涵蓋數(shù)據(jù)科學、工程學、認識學、人工智能、社會學等多學科交叉技術(shù)領(lǐng)域。與計算機語言類課程有很大不同,語言類課程主要與“機器”交互,而“軟件工程”課程是與“機器”和“人”一起交互作業(yè)。由于學生前幾學期只是學習和操作過語言、算法課程的理論、實踐、課程設(shè)計,難以將編程思維向項目思維轉(zhuǎn)變,再加上缺乏實戰(zhàn)項目經(jīng)驗,導致學生學習起來有一定難度。因傳統(tǒng)方法學和面向?qū)ο蠓椒ㄊ乾F(xiàn)今使用最廣泛的兩種軟件工程方法學,在這兩種開發(fā)方法學中,每一個開發(fā)階段都包括大量的原理、方法、技術(shù)、工具,其課程內(nèi)容繁雜交替,理論與技術(shù)方法繁多,相關(guān)概念抽象,學習起來較難。
2? “軟件工程”課程教學的優(yōu)化
2.1? 優(yōu)選教材和優(yōu)編教學內(nèi)容
優(yōu)選教材影響著教學質(zhì)量和教學效果,教材是教學資料和精設(shè)教學內(nèi)容的主要來源,至今,“軟件工程”的教材有幾十種,五花八門。研究分析我國近五年來軟考中、高級考試大綱要求,依據(jù)交工學院軟件工程本科專業(yè)人才培養(yǎng)方案和對比研究其教材的內(nèi)容體系、教學目標及市場對軟件工程人才的培養(yǎng)要求,選呂云翔主編的普通高等教育軟件工程“十二五”規(guī)劃教材《軟件工程——理論與實踐(附微課視頻 第2版)》,作為我校軟件工程本科專業(yè)課程教材,另優(yōu)選4本參考教材供學生課外自主學習?;趦?yōu)選的課程教材提供的教學內(nèi)容體系,優(yōu)編教學內(nèi)容由以下“10+1”個教學模塊組成:軟件工程導論(2課時)、面向?qū)ο筌浖こ蹋?課時)、軟件設(shè)計模式(10課時)、軟件分析與建模(10課時)、軟件質(zhì)量保證與測試(10課時)、軟件項目管理(10課時)、軟件形式化方法(10課時)、小組軟件項目實踐(10課時)、創(chuàng)新創(chuàng)業(yè)計劃訓練(10課時)、企業(yè)軟件項目實踐(16課時),另加一個課程設(shè)計(16課時),共設(shè)5學分(4學分理論+1學分實踐)。
2.2? 優(yōu)化教學內(nèi)容模塊
交工學院以培養(yǎng)應用型人才為特色,圍繞AI、大數(shù)據(jù)、物聯(lián)網(wǎng)等學科發(fā)展動態(tài),優(yōu)化課程內(nèi)容:
(1)軟件工程導論教學模塊。以開發(fā)“小型網(wǎng)上書店系統(tǒng)”案例為切入點,軟件、軟件危機、軟件工程的概念、軟件過程模型、項目開發(fā)計劃由學生自主學習,以軟件工程研究內(nèi)容、目標、原則、知識體系、可行性研究為本教學模塊主要講授內(nèi)容?!敖Y(jié)構(gòu)化分析”“結(jié)構(gòu)化設(shè)計”被傳統(tǒng)軟件工程學方法刪減掉,增加“需求管理”的教學內(nèi)容。
(2)面向?qū)ο蟮能浖こ探虒W模塊。面向?qū)ο蠓椒ǖ某霭l(fā)點和基本原則,是盡可能模擬人類習慣的思維方式,使開發(fā)軟件的方法與過程盡可能接近人類認識世界、解決問題的方法與過程,也就是使描述問題的問題空間(也稱為問題域)與實現(xiàn)解法的解空間(也稱為求解域)在結(jié)構(gòu)上盡可能一致。其開發(fā)的軟件系統(tǒng)具有穩(wěn)定性、可重用性、可修改性的特點。面向?qū)ο蟮幕靖拍睢⒎治鲞^程、分析原則由學生自主學習,統(tǒng)一建模語言(UML)、UML“4+1”視圖、面向?qū)ο竽P蜑楸菊陆虒W主講內(nèi)容。在開發(fā)知識密集型軟件時,如計算機輔助自動駕駛、人工智能、大數(shù)據(jù)處理等需要引入介紹“MATLAB數(shù)學計算機軟件”知識,增強本專業(yè)學生解決專業(yè)問題的能力。
(3)軟件設(shè)計模式教學模塊。軟件設(shè)計模式是大多數(shù)IT人了解并能常態(tài)化使用的分類編目的代碼設(shè)計經(jīng)驗的總結(jié)。代碼的重用性、可靠性、易讀性是影響軟件質(zhì)量重要的三個因素。軟件設(shè)計模式中的基礎(chǔ)模式、委托模式、代理模式、單例模式、原型模式等由學生自主課外學習完成,創(chuàng)建型模式和適配器模式由學生主講完成,抽象工廠模式、工廠方法模式、接口模式、生成器模式及設(shè)計模式的五種原則為本教學模塊主講內(nèi)容。
(4)軟件分析與建模教學模塊。高度連續(xù)性、唯一性等特性的面向?qū)ο蟮能浖こ碳夹g(shù)集成到軟件分析、設(shè)計和編程等生存周期的相應階段。從模型概念到數(shù)學模型、描述模型引入圖形模型,并以“校園導覽服務(wù)”小程序為案例,用UML的用例圖、類圖、對象圖、狀態(tài)圖、順序圖來建模。
(5)軟件質(zhì)量保證與測試教學模塊。項目質(zhì)量體現(xiàn)在其性能或者使用價值上,增設(shè)“項目質(zhì)量管理過程”“項目質(zhì)量管理的技術(shù)和工具”。軟件測試是與軟件開發(fā)緊密相關(guān)的一系列有計劃、系統(tǒng)性的活動。軟件測試的原則、模型、分類,并以“校園導覽服務(wù)”小程序軟件測試實例貫徹本教學模塊,將測試報告加以分析,來完善測試用例的設(shè)計和測試方法的調(diào)優(yōu)。增設(shè)“軟件測試技術(shù)”和“項目測試管理”以拓寬學生軟考的知識面。
(6)軟件項目管理教學模塊。軟件項目管理是現(xiàn)代管理學科中一個地位日顯突出的新分支。從基本概念、定義、特征、理論、技術(shù)、方法和工具進行較為系統(tǒng)地探討,對項目的九大知識域和過程管理等環(huán)節(jié)進行全面闡述,重點以項目管理實踐部分為主。
(7)軟件形式化方法教學模塊。是基于數(shù)學嚴格性、計算機軟硬件系統(tǒng)進行描述、開發(fā)和驗證的技術(shù)。增加軟件形式化的理論、方法、工具和應用的現(xiàn)狀,擴展與人工智能、網(wǎng)絡(luò)空間安全、量子計算、生物計算等領(lǐng)域交叉融合的知識,以拓寬學生的前沿科學的知識面。
(8)軟件項目開發(fā)實踐教學模塊。以小組軟件項目實踐、創(chuàng)新創(chuàng)業(yè)計劃訓練、軟件企業(yè)項目實踐豐富學生開發(fā)項目的經(jīng)驗、增強開發(fā)技術(shù)能力及項目管理能力。如“校園導覽服務(wù)”小程序是一組學生實踐訓練開發(fā)的項目,“校園導覽服務(wù)”界面源代碼如下:
3? “軟件工程”課程教學方法的改革
3.1? 精建師資精設(shè)教學
“軟件工程”課程“教”的質(zhì)量取決于教學過程的設(shè)計,任課教師的專業(yè)素養(yǎng)和教學水平。交工學院“軟件工程”課程的學科帶頭人為交工學院電氣與信息工程院軟件工程教研室主任,學校的“優(yōu)秀”教師,具有軟件工程師(二級)和信息項目管理師資質(zhì)?;I備及計劃組建一支責任心強、教學能手和具有豐富的項目開發(fā)經(jīng)驗的教學團隊。依據(jù)教學三綱、教材及學生差異,并以課時、課題為教學單位,從教學內(nèi)容、教學步驟、教學方法等精心設(shè)計一種實用性、科學性、創(chuàng)新性、藝術(shù)性、可操作性及擴展性強的教學文本開展教學。
3.2? 定位課程
在上“軟件工程”課程時,尤其是第一堂課就強調(diào)該課程的地位。該課程是集計算機編程語言、算法和結(jié)構(gòu)、數(shù)據(jù)庫等相關(guān)內(nèi)容學習后的綜合運用的核心課程;是軟考中、高級考試必考的內(nèi)容之一;是大多數(shù)高校碩士、博士研究生入學考試的主要專業(yè)知識考點。提醒學生要深刻意識到此課程的重要性、實用性,重塑學生的學習態(tài)度,引發(fā)他們的學習興趣。
3.3? 比賽項目驅(qū)動教學
好的教學效果除了與任教老師有關(guān)外,其關(guān)鍵是要讓學生對課程產(chǎn)生濃厚的興趣并認識到課程的重要性。以“互聯(lián)網(wǎng)+”大學生創(chuàng)新創(chuàng)業(yè)比賽、“軟件杯”比賽、“物聯(lián)網(wǎng)”比賽和“北斗——智能導航”比賽等項目驅(qū)動“軟件工程”的教學,使學生能夠接觸到更前沿的科學技術(shù),以此來引導各組選定項目、明確項目目標并引導各組學生運用軟件工程學分析項目中的各種問題,進而利用自己身邊的資源找到相應的解決方案。從而培養(yǎng)他們發(fā)現(xiàn)和解決問題的能力,鍛煉學生自主的、有目的的去聽、去看、去儲備自己所需要的知識和技能,同時,迫使他們深入市場進行調(diào)查,根據(jù)調(diào)查結(jié)果優(yōu)化項目,這種集思考、實踐、教學、競賽于一體的教學模式,使得學生學習的目的性更強,讓他們對知識的渴望度更高,能夠現(xiàn)學現(xiàn)用,在知識的掌握程度上也會更加熟練突出。
3.4? 構(gòu)建課程網(wǎng)絡(luò)教學平臺
近幾年來,嘗試利用現(xiàn)代教育技術(shù)、云集國內(nèi)外相關(guān)高?!败浖こ獭闭n程教學資料,總結(jié)本課程以往教學經(jīng)驗,編集教學素材,從教學三綱、教案、課件、項目案例、圖書資源、參與資料、試題庫、交流討論平臺和網(wǎng)絡(luò)鏈接資源等構(gòu)建網(wǎng)絡(luò)課程教學平臺,如圖2所示。
3.5? 嘗試“雙語”教學
專業(yè)課程實現(xiàn)雙語教學是大勢所趨,為大四學生學習專業(yè)英語打下良好的基礎(chǔ)。與國際接軌是我國高等教育改革發(fā)展的重點及熱點問題。軟件項目開發(fā)的領(lǐng)頭軍還是西方國家,“軟件工程”課程嘗試雙語教學是非常有必要的,一方面緊跟學科前沿,優(yōu)化“軟件工程”課程雙語教學內(nèi)容,另一方面營造互動交流的環(huán)境氛圍,實現(xiàn)新概念、新理論和新技術(shù)?!败浖こ獭闭n程雙語教學近年來逐漸進入了課堂,成為培養(yǎng)國際化人才最有效的途徑,同時也為其他專業(yè)課程教學的改革打基礎(chǔ)。
4? 結(jié)? 論
“軟件工程”課程是集合了其他軟件工程專業(yè)課程的綜合運用課程,也是軟件項目開發(fā)的必備儲備知識。為了實現(xiàn)良好的授課效果,必須利用先進的教學理念和現(xiàn)代教育技術(shù)手段,以課程教學內(nèi)容和教學方法改革為抓手,通過實踐探索合適“軟件工程”課程的教學方法和教學內(nèi)容,讓學生在項目中學,在快樂中學,并學以致用,為我國經(jīng)濟快速發(fā)展和培養(yǎng)社會所需軟件工程類人才提供有利條件。
參考文獻:
[1] 張秋余,張其文,顧群.以軟件工程為主線的課程群體系建設(shè) [J].西部素質(zhì)教育,2019,5(2):10-12.
[2] 余員琴,陳海文,崔靜茹,等.“互聯(lián)網(wǎng)+”背景下基于大學生創(chuàng)新創(chuàng)業(yè)項目驅(qū)動的軟件工程課程教學模式研究 [J].計算機產(chǎn)品與流通,2018(9):241-242.
[3] 劉霞,李海濤,梁霏霏,等.應用型民辦本科高校的課程專項教學改革研究——以山東華宇工學院試點課程改革為例 [J].文教資料,2019(4):172-175.
[4] 謝慧.應用型本科院校計算機軟件工程課程改革的探究 [J].通訊世界,2017(9):297.
[5] 梁寶華,鄭尚志,邢慧芬.基于校企聯(lián)動平臺的軟件工程實踐教學改革與創(chuàng)新 [J].巢湖學院學報,2016,18(6):106-110.
[6] 于仁師,許海洋.面向應用型人才培養(yǎng)的軟件工程教學模式的改革與實踐——以青島農(nóng)業(yè)大學為例 [J].高等農(nóng)業(yè)教育,2016(3):73-76.
作者簡介:余員琴(1983—),女,漢族,江西九江人,副教授,碩士,研究方向:智能安全監(jiān)測與無線網(wǎng)絡(luò)。