劉麗 成麗君 王堃

本文針對(duì)軟件工程專業(yè)課程分散授課、知識(shí)不連貫的弊端,提出“案例貫穿”式模塊教學(xué)的方法。該方法將軟件工程部分課程分三個(gè)模塊集中在一個(gè)學(xué)期完成,并采用多種信息化手段將真實(shí)案例貫穿其中,既能提高學(xué)生整體工程意識(shí),又能落實(shí)對(duì)理論知識(shí)的理解。實(shí)踐證明,該方法不僅獲得了好的教學(xué)效果,也提高了學(xué)生的綜合工程素養(yǎng)和工程實(shí)踐能力。
日益增長(zhǎng)的互聯(lián)網(wǎng)需求表明,軟件開(kāi)發(fā)的技術(shù)性人才固然重要,但熟悉軟件開(kāi)發(fā)流程和軟件項(xiàng)目管理的復(fù)合型人才也非常重要。重技術(shù)、輕工程的思想要有所轉(zhuǎn)變。這是對(duì)軟件工程專業(yè)的考驗(yàn),也是以往教學(xué)過(guò)程中所忽略的。
軟件工程專業(yè)培養(yǎng)具有高尚職業(yè)道德和社會(huì)責(zé)任、基礎(chǔ)扎實(shí)、理工農(nóng)結(jié)合、素質(zhì)全面、工程實(shí)踐能力的工程型和應(yīng)用型人才。在傳統(tǒng)教學(xué)過(guò)程中,教師只強(qiáng)調(diào)掌握各種軟件開(kāi)發(fā)工具和語(yǔ)言,忽視培養(yǎng)項(xiàng)目管理、團(tuán)隊(duì)合作溝通、文檔編寫(xiě)和軟件測(cè)試等工程方面的能力,同時(shí)將軟件工程系列核心課程分散在多個(gè)學(xué)期,造成學(xué)生知識(shí)脫節(jié),不能很好掌握軟件開(kāi)發(fā)的理論概念及流程。部分教師沒(méi)有軟件開(kāi)發(fā)經(jīng)驗(yàn),教學(xué)過(guò)程中喜歡照搬課本,不會(huì)旁征博引,導(dǎo)致學(xué)生拘泥于課本,沒(méi)有完整成形的開(kāi)發(fā)思路。
故軟件學(xué)院將軟件工程核心課程集中放在一個(gè)學(xué)期上完,一方面能確保課程的同步性,讓學(xué)生有一個(gè)連貫的知識(shí)脈絡(luò);另一方面保證課程的時(shí)效性,學(xué)生短時(shí)間內(nèi)不會(huì)忘記前面的知識(shí)。除此之外,教師通過(guò)多種信息化手段將案例貫穿其中,將實(shí)踐與理論相結(jié)合,實(shí)現(xiàn)了多元化的教學(xué)方式。這一方面調(diào)動(dòng)了學(xué)生的積極性,另一方面也讓學(xué)生能夠更好地消化知識(shí)。
(一)軟件工程核心課程介紹
軟件工程核心課程包括軟件需求分析、軟件項(xiàng)目管理、軟件體系結(jié)構(gòu)與設(shè)計(jì)、團(tuán)隊(duì)激勵(lì)與溝通、軟件質(zhì)量保證與測(cè)試、人機(jī)交互軟件工程方法等,這六門課程集中在一學(xué)期完成,讓學(xué)生更好地掌握軟件開(kāi)發(fā)的流程,也更容易形成清晰的知識(shí)脈絡(luò)。
(二)案例的選取
好的案例是軟件工程核心課程實(shí)施的主線。案例太大太難,不便于學(xué)生理解;案例太簡(jiǎn)單,又無(wú)法讓學(xué)生全面地掌握知識(shí)點(diǎn)。軟件工程教研室選取了學(xué)院某畢業(yè)生的畢業(yè)設(shè)計(jì)項(xiàng)目“寵物寄養(yǎng)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)”作為授課案例。該項(xiàng)目文檔詳細(xì),有軟件可行性分析報(bào)告、軟件需求規(guī)格說(shuō)明書(shū)、軟件概要和詳細(xì)設(shè)計(jì)、軟件測(cè)試過(guò)程、操作手冊(cè)等。該項(xiàng)目功能完善,有完整代碼可實(shí)際操作演練,趣味性和系統(tǒng)性強(qiáng)。通過(guò)該項(xiàng)目的具體實(shí)施,可幫助學(xué)生更好地熟悉軟件開(kāi)發(fā)一整套流程,并對(duì)軟件開(kāi)發(fā)有新的認(rèn)識(shí)。這也說(shuō)明,各種開(kāi)發(fā)技術(shù)與語(yǔ)言固然重要,但用戶的溝通能力、團(tuán)隊(duì)合作精神、文檔編寫(xiě)的能力也很重要。
(三)模塊化集中教學(xué)
模塊化集中教學(xué)圍繞“一集中,二線路,三模塊”,并結(jié)合兩個(gè)信息化平臺(tái)開(kāi)展,具體如圖1。
軟件學(xué)院軟件工程教研室將6門核心課程統(tǒng)一集中在大三下學(xué)期完成,且分成兩條路線。一條路線是從軟件開(kāi)發(fā)的角度,按軟件開(kāi)發(fā)的流程,學(xué)生依次學(xué)習(xí)軟件需求分析、軟件設(shè)計(jì)與體系結(jié)構(gòu)、軟件質(zhì)量保證與測(cè)試這三門課程,并且貫穿真實(shí)案例,確保學(xué)生學(xué)完對(duì)軟件開(kāi)發(fā)的基本流程加深理解;另一條路線是從軟件管理的角度,學(xué)生依次學(xué)習(xí)軟件項(xiàng)目管理、團(tuán)隊(duì)激勵(lì)與溝通、人機(jī)交互軟件工程方法。從項(xiàng)目管理的角度,讓學(xué)生掌握如何管理項(xiàng)目遇到的問(wèn)題,如何與整個(gè)團(tuán)隊(duì)合作溝通,最后如何確保開(kāi)發(fā)一款交互性好的軟件。
這兩條路線的課程又分三個(gè)模塊完成,第一個(gè)模塊是在1~4周開(kāi)設(shè)《軟件需求分析》《軟件項(xiàng)目管理》課程,第5周進(jìn)行相應(yīng)的實(shí)驗(yàn)課;第二個(gè)模塊在第6~9周開(kāi)設(shè)《軟件設(shè)計(jì)與體系結(jié)構(gòu)》《團(tuán)隊(duì)激勵(lì)與溝通》課程;第三個(gè)模塊在第11~14周開(kāi)設(shè)《軟件質(zhì)量保證與測(cè)試》《人機(jī)交互軟件工程方法》等課程;在第15周進(jìn)行相應(yīng)的實(shí)驗(yàn)課。完全實(shí)現(xiàn)了一月一結(jié)的效果,并將真實(shí)案例貫穿到軟件工程系列課程中,讓學(xué)生從頭到尾地體驗(yàn)了一遍畢業(yè)設(shè)計(jì)文檔的編寫(xiě)過(guò)程。信息化平臺(tái)“智慧教室和超星學(xué)習(xí)通”也滿足了線上和線下學(xué)生的需求,在幫助學(xué)生理解理論知識(shí)的同時(shí),加深了學(xué)生對(duì)軟件開(kāi)發(fā)流程的理解,為將來(lái)工作打下了堅(jiān)實(shí)的基礎(chǔ)。不得不說(shuō)“案例貫穿”式教學(xué)是軟件工程課程的一次突破,真正激勵(lì)了軟工教研室教師不斷創(chuàng)新。
(一)第一模塊課程的實(shí)施
根據(jù)軟件開(kāi)發(fā)的流程,第一步要進(jìn)行軟件需求分析,故第一模塊要開(kāi)設(shè)《軟件需求分析》課程,項(xiàng)目一啟動(dòng),我們就要進(jìn)行項(xiàng)目的管理,所以《軟件項(xiàng)目管理》也開(kāi)課。故第一模塊(1~4周)開(kāi)設(shè)《軟件需求分析》《軟件項(xiàng)目管理》兩門課。
《軟件需求分析》《軟件項(xiàng)目管理》都是軟件工程課程中的基礎(chǔ)性課程,俗話說(shuō)好的開(kāi)始是成功的一半,學(xué)好這兩門課程,對(duì)后續(xù)課程的掌握很有幫助。
信息化技術(shù)的融合也促進(jìn)了課堂教學(xué)的順利實(shí)施,利用學(xué)校提供的智慧教室,將“寵物寄養(yǎng)”中需求的獲取,需求規(guī)格說(shuō)明書(shū)的編寫(xiě)和項(xiàng)目管理形象直觀地講解給線下學(xué)生;對(duì)于部分因疫情無(wú)法線下上課的學(xué)生,采用“超星學(xué)習(xí)通”平臺(tái)實(shí)時(shí)直播,讓學(xué)生熟練掌握編寫(xiě)需求規(guī)格說(shuō)明書(shū)的方法,自主選擇熟悉軟件,完成一份需求規(guī)格說(shuō)明書(shū)的編寫(xiě),并深入理解一個(gè)項(xiàng)目的準(zhǔn)備和計(jì)劃過(guò)程,學(xué)會(huì)項(xiàng)目管理的方法。通過(guò)采用翻轉(zhuǎn)課堂的方式,線下學(xué)生利用智慧教室演示整個(gè)需求規(guī)格說(shuō)明書(shū)的完成,線上學(xué)生通過(guò)直播介紹自己的思路,讓學(xué)生充分認(rèn)識(shí)到與用戶溝通,獲取用戶的需求非常重要,學(xué)會(huì)管理項(xiàng)目也非常重要。
在教會(huì)學(xué)生掌握理論知識(shí)的同時(shí),我們也要在潛移默化中對(duì)學(xué)生實(shí)施思想政治教育,不斷提高學(xué)生思想覺(jué)悟和軟件素養(yǎng),成為適應(yīng)社會(huì)需求變化的高素質(zhì)軟件工程技術(shù)、管理個(gè)服務(wù)人才。如通過(guò)第一模塊的課程就可以告訴學(xué)生軟件開(kāi)發(fā)的第一個(gè)階段的重要性。“千里之行,始于足下”。只有打好基礎(chǔ),才能為后續(xù)課程做鋪墊。
(二)第二模塊課程的實(shí)施
按照軟件開(kāi)發(fā)流程確認(rèn)了需求之后,從第6周開(kāi)始,學(xué)生開(kāi)始上《軟件設(shè)計(jì)與體系結(jié)構(gòu)》課程,并且這時(shí)候團(tuán)隊(duì)合作越發(fā)緊密,實(shí)施過(guò)程中也需要給團(tuán)隊(duì)加油打氣,故《團(tuán)隊(duì)激勵(lì)和溝通》也同步上線。通過(guò)學(xué)習(xí)讓學(xué)生明白團(tuán)隊(duì)的作用。

“寵物寄養(yǎng)”項(xiàng)目可以讓學(xué)生深入理解一個(gè)項(xiàng)目的概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)具體如何開(kāi)展。體系結(jié)構(gòu)的設(shè)計(jì),給了軟件實(shí)現(xiàn)的平臺(tái),也展示了不同風(fēng)格結(jié)構(gòu)的不同特點(diǎn),這是軟件開(kāi)發(fā)早期決策的體現(xiàn)。學(xué)生可以應(yīng)用輔助工具完成系統(tǒng)架構(gòu)設(shè)計(jì),并結(jié)合智慧教室演示與講解自己設(shè)計(jì)的架構(gòu);教師也可以通過(guò)“超星學(xué)習(xí)通”上傳分享自己的架構(gòu),學(xué)生們可以從中體會(huì)不同風(fēng)格的優(yōu)缺點(diǎn),發(fā)表意見(jiàn)和建議。這種將想法通過(guò)信息化、數(shù)字化手段進(jìn)行共享的方式,讓更多學(xué)生有發(fā)言的機(jī)會(huì)和勇氣,也讓學(xué)生明白過(guò)程的重要性,只有經(jīng)歷了選擇和比較這個(gè)過(guò)程,才知道哪個(gè)更適合。正如:天空沒(méi)有翅膀的痕跡,而我已飛過(guò)。學(xué)生一定要熟悉體系結(jié)構(gòu)選擇這個(gè)過(guò)程,選擇的過(guò)程體現(xiàn)了早期決策以及對(duì)業(yè)務(wù)流程的熟悉度,也告訴我們軟件開(kāi)發(fā)不是一時(shí)興起。“羅馬不是一天建成的”,一定要注重平時(shí)的積累。
“寵物寄養(yǎng)”項(xiàng)目也可以讓學(xué)生明白團(tuán)隊(duì)成員間如何鼓舞士氣。通過(guò)超星學(xué)習(xí)通上的“搖號(hào)選人”功能,選中學(xué)生進(jìn)行分享溝通的技巧,也可以選一組學(xué)生進(jìn)行情景體驗(yàn),演示團(tuán)隊(duì)激勵(lì)與溝通,優(yōu)秀的情景體驗(yàn)可以上傳至學(xué)習(xí)通供學(xué)生學(xué)習(xí)討論。通過(guò)這種新穎的信息化技術(shù),讓學(xué)生愉悅地學(xué)懂學(xué)會(huì)知識(shí)。自古以來(lái),我們就知道團(tuán)結(jié)就是力量,合作才有成效,在團(tuán)隊(duì)工作中,需要互相溝通,互相激勵(lì),才能有效完成任務(wù)。
所以,第二個(gè)模塊的課程起到承上啟下的作用,它既檢驗(yàn)了早期的成果,也是對(duì)后期軟件實(shí)現(xiàn)的考驗(yàn),學(xué)生要知道它的重要性。
(三)第三模塊課程的實(shí)施
第三模塊從第10周開(kāi)始,這周需要對(duì)前期工作進(jìn)行驗(yàn)收,故學(xué)生開(kāi)始學(xué)習(xí)《軟件質(zhì)量保證與測(cè)試》《人機(jī)交互軟件工程方法》兩門課程。前期體系結(jié)構(gòu)設(shè)計(jì)好,這周開(kāi)始進(jìn)入測(cè)試階段,通過(guò)數(shù)字化多媒體技術(shù),讓學(xué)生觀看各種高科技產(chǎn)品,如:北斗導(dǎo)航系統(tǒng)、天河—2超級(jí)計(jì)算機(jī)、中國(guó)高鐵、超級(jí)鋼技術(shù)等,是如何經(jīng)過(guò)嚴(yán)密和專業(yè)的測(cè)試才投入使用的,從而讓學(xué)生掌握測(cè)試的概念,方法和流程,并向?qū)W生傳達(dá)測(cè)試的重要性。這也堅(jiān)定學(xué)生的自信,激發(fā)學(xué)生的愛(ài)國(guó)熱情,提高專業(yè)課學(xué)習(xí)的積極性。通過(guò)“寵物寄養(yǎng)”讓學(xué)生感受項(xiàng)目的單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試及性能測(cè)試具體是如何執(zhí)行的,掌握軟件測(cè)試計(jì)劃書(shū)和報(bào)告的編寫(xiě)方法,并自選題目,寫(xiě)一款軟件的測(cè)試計(jì)劃書(shū),通過(guò)線上線下結(jié)合進(jìn)行演示。
《人機(jī)交互軟件工程方法》從用戶和機(jī)器交流的角度測(cè)試軟件的可用性,注重用戶的體驗(yàn)感,學(xué)生可親身體驗(yàn)學(xué)院實(shí)驗(yàn)室的一些智能機(jī)器,感受信息化時(shí)代。這與第一階段開(kāi)設(shè)的軟件需求分析呼應(yīng)起來(lái),既說(shuō)明用戶的需求和體驗(yàn)是非常重要的,也表明了開(kāi)發(fā)軟件的嚴(yán)謹(jǐn)性。我們要從方方面面考慮到用戶的感受,在準(zhǔn)確實(shí)現(xiàn)各種功能需求的基礎(chǔ)上,努力讓用戶有好的體驗(yàn)。通過(guò)“寵物寄養(yǎng)”案例,讓學(xué)生切實(shí)體會(huì)提高用戶體驗(yàn)的各種方法。
最終,通過(guò)一個(gè)項(xiàng)目的貫穿,各課程不再相互獨(dú)立,而是無(wú)縫銜接,緊密聯(lián)系的,這對(duì)達(dá)成整個(gè)學(xué)科的目標(biāo)很有幫助。
教學(xué)效果的評(píng)估是評(píng)判教學(xué)質(zhì)量的重要環(huán)節(jié),也是檢驗(yàn)學(xué)生學(xué)習(xí)情況的重要標(biāo)準(zhǔn),軟件學(xué)院采用過(guò)程化考核的方法進(jìn)行教學(xué)效果評(píng)估,即考核貫穿教學(xué)的全過(guò)程。
軟件工程的六門核心課程采用線上線下結(jié)合的過(guò)程化考核方式,考核過(guò)程由平時(shí)成績(jī)+作業(yè)成績(jī)+實(shí)驗(yàn)成績(jī)(有實(shí)驗(yàn)課的)+階段性測(cè)驗(yàn)+期末考試等5部分組成。平時(shí)成績(jī)包括考勤和課堂互動(dòng),具體實(shí)施辦法由各任課教師決定,重點(diǎn)讓學(xué)生意識(shí)到出勤和互動(dòng)的重要性,教師可利用 “超星學(xué)習(xí)通”,每節(jié)課輪流選人進(jìn)行互動(dòng),互動(dòng)成績(jī)自動(dòng)記錄在平臺(tái)上。學(xué)生可隨時(shí)查看自己的成績(jī),也可課堂上隨機(jī)提問(wèn)進(jìn)行互動(dòng),紙質(zhì)記錄成績(jī)。作業(yè)形式多樣化,可以是在超星學(xué)習(xí)通平臺(tái)上以練習(xí)題的方式讓學(xué)生線上答題,也可以是小組作業(yè),作業(yè)頻率一般一章一次,讓學(xué)生及時(shí)鞏固上節(jié)所學(xué)內(nèi)容,小組作業(yè)也可以提高學(xué)生的團(tuán)隊(duì)合作意識(shí),增強(qiáng)動(dòng)手能力;在《軟件需求分析》,《軟件質(zhì)量保證與測(cè)試》,《人機(jī)交互軟件工程方法》等三門課程中安排實(shí)驗(yàn)環(huán)節(jié),這三門課程相對(duì)實(shí)踐性強(qiáng)一些,一定的實(shí)驗(yàn)可以更好幫助你學(xué)生鞏固知識(shí),實(shí)驗(yàn)結(jié)果上傳至學(xué)習(xí)通平臺(tái),教師進(jìn)行線上批閱和反饋。階段性測(cè)試是對(duì)學(xué)生短期學(xué)習(xí)效果的檢查,因這六門課程都是開(kāi)卷課程,階段性測(cè)驗(yàn)也是開(kāi)放形式,如《軟件需求分析》的階段性測(cè)驗(yàn)的題目是讓學(xué)生編寫(xiě)軟件需求規(guī)格說(shuō)明書(shū),其他各課程也是以這種項(xiàng)目報(bào)告或多媒體技術(shù)匯報(bào)的方式考察學(xué)生,既給足學(xué)生空間,讓學(xué)生充分發(fā)揮自己的想象力和創(chuàng)造力,又鍛煉學(xué)生獨(dú)立思考及搜索資料的能力;期末考試也是開(kāi)放性考試,由四種題型的題目組成,如選擇、判斷、簡(jiǎn)答、資料分析等,根據(jù)實(shí)際情況來(lái)決定線上還是線下考試。期末測(cè)驗(yàn)是從細(xì)節(jié)考察學(xué)生平時(shí)積累的情況,以多種形式考察學(xué)生掌握的能力。
經(jīng)過(guò)過(guò)程化考核檢測(cè),“案例貫穿”結(jié)合多種信息化手段的教學(xué)方法,確實(shí)較以往效果要好很多。通過(guò)“案例貫穿”,學(xué)生理解得更透徹,作業(yè)正確率更高,較以往純理論授課的提問(wèn)率也要高很多,實(shí)驗(yàn)項(xiàng)目做起來(lái)也更加得心應(yīng)手;通過(guò)多種信息化手段,培養(yǎng)學(xué)生情景創(chuàng)設(shè)、獨(dú)立思考、資源共享、協(xié)作交互的能力;通過(guò)階段性測(cè)驗(yàn),學(xué)生的報(bào)告從文檔排版和內(nèi)容質(zhì)量方面都有所提高,期末各題型得分率也較高。部分學(xué)生在模塊學(xué)習(xí)時(shí),已經(jīng)有了畢業(yè)設(shè)計(jì)的初稿,可見(jiàn)“案例貫穿”著實(shí)對(duì)學(xué)生的理解有幫助,課程模塊化對(duì)學(xué)生撰寫(xiě)畢業(yè)設(shè)計(jì)文檔有很大幫助。
總而言之,軟件學(xué)院采用的“案例貫穿式”模塊教學(xué)法,在提高教學(xué)效果的同時(shí),也激發(fā)和促進(jìn)全新的教學(xué)模式誕生,讓教師教得更靈活,學(xué)生學(xué)得更愉悅,更能適應(yīng)多變的教學(xué)環(huán)境。
作者單位:山西農(nóng)業(yè)大學(xué) 軟件學(xué)院
基金項(xiàng)目:青年科技創(chuàng)新基金資助項(xiàng)目(2020QC25);線上線下混合式數(shù)據(jù)挖掘課程教學(xué)改革(PY-202025)。