摘?要:“軟件工程”課程旨在培養(yǎng)學(xué)生運(yùn)用工程化的方法和思維進(jìn)行軟件的開發(fā)、運(yùn)行和維護(hù),以高效地開發(fā)高質(zhì)量的軟件。針對(duì)該課程的特點(diǎn)及培養(yǎng)目標(biāo),以培養(yǎng)工程思維能力為導(dǎo)向進(jìn)行課程教學(xué)改革,綜合運(yùn)用多種教學(xué)方法,將創(chuàng)新意識(shí)和解決復(fù)雜工程實(shí)踐問題的能力培養(yǎng)融入教學(xué)環(huán)節(jié)中。通過教學(xué)改革,學(xué)生的創(chuàng)新實(shí)踐能力和工程思維能力得以提升。
關(guān)鍵詞:軟件工程;工程思維;創(chuàng)新意識(shí)
中圖分類號(hào):TP3??文獻(xiàn)標(biāo)識(shí)碼:A
The?Teaching?Reform?of?"Software?Engineering"?Course?Derived
by?Cultivating?Engineering?Thinking?Ability
Wang?Rongcun
School?of?Computer?Science?and?Technology,China?University?of?Mining?and?Technology?JiangsuXuzhou?221006
Abstract:The?purpose?of?software?engineering?course?aims?at?training?students?to?develop,function?and?maintenance?of?the?software?with?engineering?methods?and?thinking,so?as?to?improve?the?quality?of?software?and?reduce?the?cost?of?software?development.According?to?the?characteristics?and?training?objectives?of?the?course,the?course?teaching?reform?is?guided?by?the?training?of?engineering?thinking?ability.A?variety?of?teaching?methods?are?comprehensively?used?to?integrate?the?cultivation?of?innovation?consciousness?and?the?ability?to?solve?complex?engineering?practical?problems?into?the?teaching?process.Through?the?teaching?reform,the?students'?innovative?practice?ability?and?the?construction?of?engineering?thinking?were?improved.
Keywords:Software?engineering;Engineering?thinking;Innovation?consciousness
“軟件工程”課程是一門從技術(shù)(如數(shù)據(jù)庫、操作系統(tǒng))到語言(如語法和語義),再到社會(huì)和心理學(xué)等[1]跨學(xué)科的課程。該課程旨在培養(yǎng)學(xué)生運(yùn)用工程化的方法、思維進(jìn)行軟件的開發(fā)、運(yùn)行和維護(hù),從而高效地開發(fā)高質(zhì)量的軟件[2]。該課程對(duì)學(xué)生面向復(fù)雜工程問題求解的工程思維構(gòu)建與實(shí)踐創(chuàng)新能力的培養(yǎng)至關(guān)重要。為此,需要更深入地探索更有效的教學(xué)模式,將創(chuàng)新意識(shí)和解決復(fù)雜工程實(shí)踐問題的能力融入教學(xué)環(huán)節(jié)中。這對(duì)學(xué)生創(chuàng)新能力的培養(yǎng)與工程思維的構(gòu)建,特別是,通過課程改革為持續(xù)提升計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)內(nèi)涵,并充分發(fā)揮該一流專業(yè)在人才培養(yǎng)和專業(yè)建設(shè)中的示范作用具有重要的現(xiàn)實(shí)意義。
STEAM教育理念[3]源于美國,強(qiáng)調(diào)了跨學(xué)科融合的教育理念。其中,工程思維是該理念的核心。通過工程設(shè)計(jì)、研究和工程實(shí)踐培養(yǎng)工程思維,以綜合運(yùn)用多門學(xué)科相關(guān)的知識(shí)解決現(xiàn)實(shí)中的復(fù)雜問題[4]。在“中國制造2025”背景下,教育部2016年發(fā)布的《中國學(xué)生發(fā)展核心素養(yǎng)》強(qiáng)調(diào)了實(shí)踐創(chuàng)新的本質(zhì)是工程思維[5]。以實(shí)踐問題為驅(qū)動(dòng),以項(xiàng)目形式融入教學(xué)活動(dòng)中,從而培養(yǎng)學(xué)生的實(shí)踐創(chuàng)新能力。鑒于“軟件工程”課程的特點(diǎn),采用STEAM教學(xué)理念改革該課程是切實(shí)可行的。
1?“軟件工程”課程教學(xué)現(xiàn)狀
在實(shí)際教學(xué)過程中,存在過于偏重理論知識(shí)的講授,而忽略了實(shí)踐能力的培養(yǎng)[6]的問題。以教師講授為主的教學(xué)模式,學(xué)生的課堂參與度較低,導(dǎo)致學(xué)生學(xué)習(xí)積極性不高[7]。結(jié)合多年的“軟件工程”課程教學(xué)經(jīng)驗(yàn),課程主要存在以下問題。
1.1?課程涉及知識(shí)面廣
“軟件工程”課程既包含分析(如需求分析)、設(shè)計(jì)(如界面設(shè)計(jì)、算法設(shè)計(jì)),又包含具體方法(如測(cè)試方法)與工具,課程內(nèi)容眾多。課程知識(shí)之間存在一定的鴻溝,例如,如何從分析階段轉(zhuǎn)換到設(shè)計(jì)階段。另外,授課內(nèi)容較為陳舊,當(dāng)前新技術(shù),比如微服務(wù)、低代碼開發(fā)等相關(guān)內(nèi)容介紹得較少。
1.2?學(xué)生缺乏主動(dòng)思考
以教師為中心的課堂教學(xué)模式使學(xué)生的課堂教學(xué)參與度較低,單向的、互動(dòng)度較低的知識(shí)傳輸模式使學(xué)生長期處于被動(dòng)狀態(tài),缺乏批判性和創(chuàng)新性思維,致使教學(xué)效果不夠理想。
1.3?文檔書寫能力不足
學(xué)生對(duì)軟件開發(fā)過程中的相關(guān)文檔的撰寫與組織能力非常薄弱,缺乏專業(yè)文檔的認(rèn)知和書寫能力。然而,這些文檔對(duì)軟件的開發(fā)、維護(hù)和不同人員之間的交流是不可或缺的。
1.4?項(xiàng)目案例庫建設(shè)力度不夠
當(dāng)前項(xiàng)目案例類型單一、案例較少且比較簡單,為此,應(yīng)該加強(qiáng)案例庫的建設(shè),尤其結(jié)合當(dāng)前流行技術(shù)和應(yīng)用趨勢(shì),加強(qiáng)業(yè)內(nèi)關(guān)注度高和流行的項(xiàng)目案例庫建設(shè)。
1.5?考核方式單一
以筆試?yán)碚撝R(shí)為導(dǎo)向的課程考核方式導(dǎo)致學(xué)生重理論、輕實(shí)踐,重理論、輕實(shí)踐的考核方式既不利于學(xué)生綜合能力的培養(yǎng),也不能客觀、全面地評(píng)價(jià)學(xué)生的能力。
2?教學(xué)改革思路
針對(duì)上述問題,確定從以下三個(gè)方面進(jìn)行教學(xué)改革:
2.1?課堂教學(xué)內(nèi)容與方法改革
以培養(yǎng)學(xué)生實(shí)踐創(chuàng)新能力與工程思維為目標(biāo),重構(gòu)教學(xué)內(nèi)容。同時(shí),課堂教學(xué)內(nèi)容應(yīng)緊扣軟件開發(fā)技術(shù)發(fā)展的脈搏,適時(shí)地引入當(dāng)前流行的軟件開發(fā)新技術(shù)涉及的相關(guān)知識(shí)。以提高學(xué)生工程思維與創(chuàng)新能力培養(yǎng)為目標(biāo),采取靈活多樣的多種教學(xué)方式,讓學(xué)生積極主動(dòng)地參與課堂教學(xué),從而提高學(xué)生學(xué)習(xí)的主動(dòng)性與積極性。
2.2?案例庫的建設(shè)
案例庫的建設(shè)有助于讓學(xué)生全方位地、深入地理解軟件開發(fā)中的每一項(xiàng)活動(dòng)具體含義。案例庫的建設(shè)既要緊跟當(dāng)前技術(shù)發(fā)展和業(yè)界應(yīng)用趨勢(shì),還要考慮學(xué)生個(gè)性化的需求。以案例作為軟件開發(fā)的知識(shí)載體,通過案例分析與實(shí)踐將枯燥、抽象的“軟件工程”基礎(chǔ)知識(shí)進(jìn)行實(shí)例化、具體化。案例庫的建設(shè)需要高度體現(xiàn)統(tǒng)一過程這一思想,即以某個(gè)具體的項(xiàng)目為例,貫穿軟件開發(fā)的全生命周期。同時(shí),還需要根據(jù)授課內(nèi)容提供更加多元化的、類型豐富的教學(xué)案例。
2.3?課程考核方式的改革
傳統(tǒng)的考核方式中,課堂及課下作業(yè)的完成情況占30%;期末閉卷考試情況占70%。平時(shí)成績的評(píng)定沒有充分考慮學(xué)生的溝通、交流、創(chuàng)新實(shí)踐等多方面能力表現(xiàn),也沒有考慮學(xué)生成績?cè)u(píng)定的參與度。在課程成績?cè)u(píng)定中需要體現(xiàn)出學(xué)生創(chuàng)新能力與課堂參與的成績,以客觀、全面地反映出學(xué)生的綜合能力。
通過上述三個(gè)方面的改革,最終形成以軟件開發(fā)任務(wù)為主線,問題為導(dǎo)向,案例分析為手段,通過PREPAID方法的實(shí)踐,逐步培養(yǎng)學(xué)生的工程思維和實(shí)踐創(chuàng)新能力。
3?教學(xué)改革具體實(shí)施措施
3.1?課堂教學(xué)內(nèi)容與方法改革實(shí)施措施
以教學(xué)大綱與工程教育認(rèn)證能力要求為指導(dǎo),將課程目標(biāo)進(jìn)行分解。采用文獻(xiàn)調(diào)研、實(shí)地調(diào)研與學(xué)生訪談相結(jié)合的方法重構(gòu)“軟件工程”課程教學(xué)內(nèi)容,將原有的授課內(nèi)容中的結(jié)構(gòu)化分析相關(guān)的授課內(nèi)容進(jìn)行壓縮,同時(shí)增加軟件項(xiàng)目計(jì)劃與軟件新技術(shù)相關(guān)內(nèi)容。教學(xué)方法上采用PREPAID方法[8]進(jìn)行實(shí)踐,鼓勵(lì)學(xué)生參與課堂討論,在教學(xué)中過程中強(qiáng)調(diào)創(chuàng)新思維、工程思維和批判思維的培養(yǎng),逐步形成獨(dú)立思考和相互協(xié)作相結(jié)合的教學(xué)模式。
3.1.1?建立課程學(xué)習(xí)小組
課前,提供3~5個(gè)候選項(xiàng)目,并根據(jù)學(xué)生人數(shù)進(jìn)行隨機(jī)分組?;陧?xiàng)目的背景知識(shí)和個(gè)人興趣,每組選定一個(gè)軟件項(xiàng)目,以項(xiàng)目開發(fā)為目標(biāo)驅(qū)動(dòng)課程教學(xué)。
3.1.2?成果答辯
采用軟件項(xiàng)目管理的方式組織教學(xué),每個(gè)階段完成后以學(xué)習(xí)小組為單位展示階段性成果,以此推動(dòng)項(xiàng)目的順利實(shí)施。最終,以成果答辯的形式分享項(xiàng)目成果。
3.1.3?產(chǎn)學(xué)、研學(xué)協(xié)同,賽教融合
采用產(chǎn)學(xué)、研學(xué)相結(jié)合的教學(xué)模式。一方面,與華為公司進(jìn)行深度合作,在實(shí)踐環(huán)節(jié),引入了華為公司敏捷開發(fā)的項(xiàng)目案例。通過校企深度合作的項(xiàng)目實(shí)踐,讓學(xué)生全面深入地理解敏捷開發(fā)模型;另一方面,結(jié)合筆者在“軟件工程”方向的研究進(jìn)行教學(xué),拓寬學(xué)生的視野,激發(fā)學(xué)生的學(xué)習(xí)興趣。
3.2?項(xiàng)目案例建設(shè)的實(shí)施措施
3.2.1?引發(fā)軟件危機(jī)的案例庫
收集各種引起軟件危機(jī)現(xiàn)象的軟件項(xiàng)目案例,讓學(xué)生從失敗案例中汲取教訓(xùn),充分認(rèn)識(shí)引起軟件危機(jī)的根源及其危害。
3.2.2?軟件開發(fā)模型庫
全面總結(jié)當(dāng)前的軟件開發(fā)模型,并對(duì)其優(yōu)缺點(diǎn)及使用場景進(jìn)行分析,以便讓學(xué)生了解并熟悉在不同開發(fā)過程模型下軟件項(xiàng)目管理的區(qū)別和管理的重點(diǎn)。
3.2.3?軟件項(xiàng)目管理文檔模板庫
軟件開發(fā)涉及多個(gè)開發(fā)活動(dòng),每個(gè)活動(dòng)的階段性成果都是通過各種文檔體現(xiàn)的。通過提供全面文檔模板庫,進(jìn)一步提高并規(guī)范使用文檔的能力。
3.2.4?軟件項(xiàng)目工具庫
“軟件工程”涉及軟件開發(fā)的全生命周期,在每個(gè)階段都有一些流行的自動(dòng)化或者半自動(dòng)化工具,收集當(dāng)前流行的、與每個(gè)階段相關(guān)的工具,如原型設(shè)計(jì)工具Aux?Pro;需求分析工具Visio;測(cè)試工具Load?Runer、Test?Manager;代碼管理相關(guān)工具SVN、Git;面向?qū)ο蠓治雠c設(shè)計(jì)工具Star?UML與Rational?Rose等。
3.3?課程考核方式實(shí)施措施
針對(duì)“軟件工程”課程的特點(diǎn)及其培養(yǎng)目標(biāo),進(jìn)一步提高平時(shí)成績的考核力度,豐富平時(shí)成績的考核方式,期末試卷增加綜合應(yīng)用能力的考核,強(qiáng)化學(xué)生工程意識(shí)和實(shí)踐能力的培養(yǎng)和考核。平時(shí)成績與期末成績各占50%,平時(shí)成績包括課程作業(yè)、課堂討論與課堂小組答辯等。課堂討論與課堂小組答辯兩部分的成績由教師與學(xué)生打分綜合計(jì)算,分別占60%與40%,學(xué)生打分是通過組間打分完成的。
4?教學(xué)改革效果評(píng)價(jià)
從教學(xué)的內(nèi)容、效果、考核方式和方法四個(gè)維度設(shè)計(jì)了問卷,以評(píng)價(jià)教學(xué)改革的效果。針對(duì)授課的班級(jí)共發(fā)放問卷66份,有效回收問卷62份。問卷分析的統(tǒng)計(jì)結(jié)果如下圖所示。
觀察上圖所示的問卷調(diào)查評(píng)價(jià)結(jié)果可以發(fā)現(xiàn),圍繞四個(gè)維度開展的教學(xué)效果的滿意度較高。另外,在第十一屆中國軟件杯大學(xué)生軟件設(shè)計(jì)大賽中所指導(dǎo)的學(xué)生獲得二等獎(jiǎng)、三等獎(jiǎng)各一項(xiàng)。這進(jìn)一步表明,面向工程思維能力培養(yǎng)的課程教學(xué)改革取得了較好的結(jié)果。
結(jié)語
首先分析了現(xiàn)階段“軟件工程”課程教學(xué)中存在的主要問題,闡述了教學(xué)改革的必要性,進(jìn)一步明確了以培養(yǎng)工程思維為導(dǎo)向的課程教學(xué)改革思路,并從教學(xué)內(nèi)容與方法、案例庫的建設(shè)、課程考核方式三個(gè)方面進(jìn)行了教學(xué)改革。最后,針對(duì)教學(xué)改革的效果進(jìn)行了問卷調(diào)查。結(jié)果表明,面向工程思維能力培養(yǎng)的“軟件工程”課程教學(xué)改革取得了較好的結(jié)果。
參考文獻(xiàn):
[1]Claes?W,Per?R,Martin?H,et?al.Experimentation?in?Software?Engineering[M].Springer?Heidelberg?New?York?Dordrecht?London,2014.
[2]Naur?P,Randell?B.Software?engineering:report?on?a?conference?sponsored?by?the?NATO?Science?Committee[J].Scientific?Affairs?Division,NATO,1969(1):231232.
[3]Connor?A,M,Karmokar?S,Whittington?C.From?STEM?to?STEAM:strategies?for?enhancing?engineering?&?technology?education[J].International?Journal?of?Engineering?Pedagogy,2015,5(20):3747.
[4]周光發(fā),盧天鳴.實(shí)踐性研究的工程思維方法[J].實(shí)驗(yàn)室研究與探索,2018,37(4):254257.
[5]核心素養(yǎng)研究課題組.中國學(xué)生發(fā)展核心素養(yǎng)[J].中國教育學(xué)刊,2016(10):13.
[6]胡勁松,張亮,黃海軍.項(xiàng)目驅(qū)動(dòng)的啟發(fā)式教學(xué)在軟件工程課程中的應(yīng)用[J].計(jì)算機(jī)工程與科學(xué),2016,38(1):228231.
[7]楊楠,李童.案例教學(xué)視域下軟件工程“一體兩翼”教學(xué)模式的構(gòu)建與實(shí)踐[J].高等工程教育研究,2020(01):177181.
[8]田文洪,祝峰,向艷萍.計(jì)算機(jī)專業(yè)英文教學(xué)PREPAID方法探討[J].計(jì)算機(jī)教育,2009(17):115116+107.
基金項(xiàng)目:中國礦業(yè)大學(xué)教學(xué)改革一般項(xiàng)目(2020?YB34)
作者簡介:王榮存(1979—?),男,博士,中國礦業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院副教授,碩士生導(dǎo)師,研究方向:軟件測(cè)試、軟件維護(hù)與軟件安全。