倪 康,陳 志
(南京郵電大學(xué) 計算機學(xué)院、軟件學(xué)院、網(wǎng)絡(luò)空間安全學(xué)院,江蘇 南京 210023)
目前,將工程教育理念融入大學(xué)課堂教學(xué)得到了廣泛推廣和應(yīng)用[1-3]。在課堂教學(xué)過程中,有針對性地培養(yǎng)學(xué)生處理復(fù)雜工程問題的實踐能力,能夠更好地滿足各用人單位的需求[4-6]。統(tǒng)一建模語言(Unified Modeling Language,UML)作為軟件工程行業(yè)標準化的建模語言,對較為復(fù)雜的大型軟件系統(tǒng)進行系統(tǒng)、全面的分析與設(shè)計,且課程理念貫穿于軟件設(shè)計、開發(fā)、測試、維護等各方面,在軟件工程領(lǐng)域占據(jù)重要地位。此外,該課程與面向?qū)ο蟪绦蛟O(shè)計、數(shù)據(jù)庫原理等課程相輔相成,有利于計算機科學(xué)與技術(shù)、軟件工程等課程體系知識的鏈接[7]。
傳統(tǒng)UML 課程教學(xué)重概念和各種模型知識講解,易造成整個課堂學(xué)習(xí)枯燥乏味,且不能與實際應(yīng)用緊密聯(lián)系,學(xué)生學(xué)習(xí)積極性不高,存在以教師講授為主、授課方式單一、實踐環(huán)節(jié)薄弱、課程考核方式單一等問題。近年來,CDIO 理念以其較強的實踐經(jīng)驗、先進的工程教育理念、較全面的課程體系,使其在不同專業(yè)不同課程的授課中得以廣泛推廣和應(yīng)用[8-9]。例如:穆磊等[10]將CDIO 理念應(yīng)用于RFID 原理與應(yīng)用課程中,江帆[11]提出基于CDIO 理念的物聯(lián)網(wǎng)課程教學(xué)改革方法,李彤等[12]構(gòu)建了SE-CDIO 軟件工程國家精品課程理論課程架構(gòu)。上述研究將CDIO、SECDIO 理念中的構(gòu)思、設(shè)計、實現(xiàn)和運作合理地應(yīng)用于課程設(shè)計,但缺少對案例啟發(fā)、教學(xué)輔助等機制的嵌入。
案例驅(qū)動教學(xué)是一種基于建構(gòu)主義理論設(shè)計的教學(xué)模式,能夠激發(fā)學(xué)生學(xué)習(xí)興趣,提升學(xué)習(xí)效果。近年來,學(xué)者們提出了與案例相結(jié)合的UML 課程改革方法,以著力解決UML 理論與實踐不能緊密聯(lián)系的問題,提高課程教學(xué)效果。例如,郭艷燕等[13]提出一種混合式的UML 課程教學(xué)改革方案,綜合使用大規(guī)模開放在線課程(Massive Open Online Course,MOOC)、小規(guī)模限制性在線課程(Small Private Online Course,SPOC)、雨課堂及QQ 課程群,并以類圖為例,詳細闡述了具體教學(xué)改革內(nèi)容。鄔卓恒等[14]以用例圖為例,通過案例教學(xué)將學(xué)生從枯燥的理論知識中脫離出來,實現(xiàn)學(xué)生對UML 基礎(chǔ)理論知識的認識、掌握和應(yīng)用。雖然上述方法利用多種教學(xué)方式,以提升利用UML 理論解決實際工程問題的能力[15],但對軟件工程專業(yè)學(xué)生所擅長的軟件編程能力欠缺考慮;同時,針對不同專業(yè)與基礎(chǔ)的學(xué)生而言,課堂教學(xué)效果如何與任課教師的主觀判斷有極大關(guān)系,不能全面且實時地對課程教學(xué)中存在的問題作出及時改進。
針對上述問題,本文結(jié)合軟件工程專業(yè)學(xué)生所擅長的軟件編程能力,探究一種基于“SE-CDIO-CA”的UML 課程教學(xué)改革方法,該方法從軟件工程專業(yè)培養(yǎng)目標與畢業(yè)要求出發(fā),將課程分為項目需求分析與建模、項目設(shè)計與優(yōu)化、項目實現(xiàn)與優(yōu)化,項目維護與發(fā)布4 個部分,同時將IBM-RSA 和PlantUML 命令行建模、案例啟發(fā)、在線教學(xué)輔助融入各環(huán)節(jié):課堂導(dǎo)入、分組討論、知識講解與課堂總結(jié)等。該方法還可以實時掌握學(xué)生課堂學(xué)習(xí)情況,并給出任課教師后續(xù)教學(xué)改進建議,不斷提升學(xué)生利用UML 相關(guān)理論知識解決實際工程問題的能力。
基于“SE-CDIO-CA”的UML 課程教學(xué)整體方案如圖1所示,該方案在全面適應(yīng)國家社會發(fā)展并滿足軟件工程人才培養(yǎng)需求的前提下,以軟件工程專業(yè)學(xué)生畢業(yè)要求為指導(dǎo),綜合設(shè)計UML 課程培養(yǎng)目標,通過“SE-CDIO-CA”UML 課程改革方法,融入工程教育理念,形成基于“SECDIO-CA”的UML 課程教學(xué)整體方案。
Fig.1 Overall teaching scheme of UML course based on "SE-CDIO-CA"圖1 基于“SE-CDIO-CA”的UML課程教學(xué)整體方案
基于“SE-CDIO-CA”的UML 課程教學(xué)方法將案例啟發(fā)和建模工具(PlantUML、IBM RSA)有機融入課堂教學(xué)各方面,并從4 個方面構(gòu)建課程體系:需求分析與建模、項目分析與設(shè)計、項目實現(xiàn)與優(yōu)化、項目維護與發(fā)布。這4 個方面完全與CDIO 思想中的構(gòu)思、設(shè)計、實現(xiàn)與運作緊密結(jié)合,均對應(yīng)著不同的授課內(nèi)容。此外,通過教學(xué)(實踐)目標、教學(xué)(實踐)評價和教學(xué)(實踐)反思反哺整個教學(xué)過程,并利用在線輔助教學(xué)系統(tǒng)實時關(guān)注學(xué)生課堂學(xué)習(xí)情況,及時調(diào)整課堂教學(xué)策略,已達到更優(yōu)的課堂教學(xué)效果。
培養(yǎng)目標主要包括3 個方面:思想素質(zhì)教育目標、知識教學(xué)目標和能力教學(xué)目標。思想素質(zhì)教育目標方面,培養(yǎng)具有愛國情懷、民族自豪感、良好的職業(yè)操守和人文素養(yǎng)的軟件工程專業(yè)人才,增強學(xué)生在軟件工程相關(guān)領(lǐng)域的法律意識和安全意識,樹立正確的道德觀;在知識教學(xué)目標方面,需培養(yǎng)學(xué)生掌握UML 及相關(guān)領(lǐng)域?qū)I(yè)知識和開發(fā)工具,并具備利用UML 分析和解決軟件工程領(lǐng)域復(fù)雜工程問題的能力。引入OBE 教育模式,能力教學(xué)目標與畢業(yè)要求存在映射關(guān)系,具體表述如圖2所示。
Fig.2 Mapping relationship between teaching objectives and graduation requirements圖2 教學(xué)目標與畢業(yè)要求映射關(guān)系
在多樣化軟件工程問題中,學(xué)生能夠理解和設(shè)計UML模型驅(qū)動的多樣化軟件工程領(lǐng)域復(fù)雜工程解決方案,并通過對比分析和研究獲得可替代的解決方案,該培養(yǎng)目標對應(yīng)軟件工程畢業(yè)要求中對學(xué)生問題分析能力的具體要求;在軟件設(shè)計基本方法和技術(shù)中,學(xué)生需要理解軟件產(chǎn)品設(shè)計和開發(fā)相關(guān)方法,并能夠針對復(fù)雜工程問題,給出特定需求的軟件架構(gòu)和系統(tǒng)設(shè)計方案,該培養(yǎng)目標較好地貼合畢業(yè)要求中對設(shè)計和開發(fā)解決方案的相關(guān)要求;在全周期全流程軟件設(shè)計中,要求學(xué)生理解全周期和全流程開發(fā)的基本方法和技術(shù),培養(yǎng)溝通表達能力,理解其中所涉及到的經(jīng)濟決策和工程管理問題,此培養(yǎng)目標與畢業(yè)要求對項目管理的相關(guān)要求保持一致。畢業(yè)要求支撐教學(xué)目標,并可達成相關(guān)教學(xué)目標。
PlantUML&IBM RSA 案例啟發(fā)式教學(xué)方法充分考慮軟件工程學(xué)生對編程的敏感性,將建模工具(PlantUML、IBM RSA)引入課堂教學(xué)中,促使理論和實踐相融合,并培養(yǎng)學(xué)生UML 標準化建模思維能力。此外,該方法利用實際工程案例,結(jié)合UML 課程基礎(chǔ)知識,以問題驅(qū)動的方式,將案例融入課堂教學(xué)各方面。圖3 給出了PlantUML&IBM RSA 案例啟發(fā)式教學(xué)方法教學(xué)活動示意圖。
Fig.3 Schematic diagram of teaching activities of PlantUML&IBM RSA case heuristic teaching method圖3 PlantUML&IBM RSA 案例啟發(fā)式教學(xué)方法教學(xué)活動
Fig.4 Schematic diagram of three-level case teaching method圖4 三級案例教學(xué)法
該方法主要分為以下步驟:提出問題、討論案例、結(jié)合案例講解知識點、分組給出解決方案、總結(jié)案例、升華案例并給出課后思考問題,各步驟所占課時長如圖3 所示。討論案例、解決方案和總結(jié)案例均會與在線教學(xué)輔助系統(tǒng)進行交互。在知識點講解部分,利用代碼化UML 建模工具(PlantUML)和UML 建模軟件(IBM RSA),結(jié)合具體的案例分析,全面講解課程知識點,并討論給出具體的解決方案(包括參考模型圖)。教學(xué)評價主要包括混合式教學(xué)評價和實踐評價,各評價機制能夠從多角度對學(xué)生的學(xué)習(xí)效果進行有效評價,反哺教學(xué)過程各方面,以達到更好的課堂授課效果。
該方法中,案例啟發(fā)式教學(xué)采用三級教學(xué)法,主要包括知識初識、專業(yè)應(yīng)用和實踐提升3 個階段。三級教學(xué)法呈“階梯”狀,通過案例逐層深入,將課堂教學(xué)與實際應(yīng)用緊密結(jié)合,真正達到“學(xué)以致用”的目標。
每一級教學(xué)法對應(yīng)著整個PlantUML&IBM RSA 案例啟發(fā)式教學(xué)過程的不同階段:知識初識對應(yīng)著提出問題和討論案例階段;專業(yè)應(yīng)用對應(yīng)著分組給出解決方案和總結(jié)案例階段;實踐提升與升華案例、課后思考階段緊密結(jié)合。本部分以用例圖為例,給出PlantUML&IBM RSA 案例啟發(fā)式教學(xué)方法的全過程,如表1所示。
Table 1 Process of PlantUML&IBM RSA case heuristic teaching——taking use case diagram as an example表1 PlantUML&IBM RSA 案例啟發(fā)式教學(xué)全過程——以用例圖為例
在提出問題環(huán)節(jié),需全面考慮課程教學(xué)目標,并針對具體教學(xué)內(nèi)容,結(jié)合學(xué)生日常生活中經(jīng)常接觸到的實例,抽取關(guān)鍵信息,構(gòu)成待講解實例,并層次性地給出該實例思考題。在討論案例環(huán)節(jié),學(xué)生需根據(jù)具體案例描述和思考題,以分組的形式開展討論,教師在該環(huán)節(jié)需起到引導(dǎo)作用,時刻關(guān)注學(xué)生的討論情況,特別鼓勵學(xué)生結(jié)合與本實例相關(guān)的實際生活經(jīng)驗,擴展本實例相關(guān)功能需求,并展開討論,最后將討論結(jié)果以文字形式上傳至在線教學(xué)輔助系統(tǒng),為教師講解知識點提供參考。在知識點講解環(huán)節(jié),教師根據(jù)學(xué)生分組討論結(jié)果及案例,詳細講解所涉及到的知識點,并給出較為具象的知識體系,使得學(xué)生能夠更加清晰地了解課程知識點在實際案例中的具體體現(xiàn)。
在分組給出解決方案環(huán)節(jié),學(xué)生根據(jù)教師知識點講解,進行具體建模,并將建模結(jié)果上傳至在線教學(xué)輔助系統(tǒng),該系統(tǒng)會自動評判每組建模結(jié)果。在總結(jié)案例環(huán)節(jié),教師可根據(jù)系統(tǒng)全面分析結(jié)果,了解學(xué)生課堂學(xué)習(xí)效果,對各小組建模過程中遇到的問題進行針對性解答,對掌握程度欠佳和重要知識點作進一步強調(diào)。最后,在升華案例和課后思考環(huán)節(jié),要求學(xué)生針對本案例的功能需求進行擴展訓(xùn)練,可根據(jù)實際應(yīng)用中較為全面的需求進行建模補充,在完善本案例的同時,提升學(xué)生思維能力,在進一步鞏固課堂所學(xué)的同時,培養(yǎng)學(xué)生以實際需求為導(dǎo)向的實踐能力。
UML 課程在線教學(xué)輔助系統(tǒng)通過搜集大量學(xué)生討論結(jié)果,形成訓(xùn)練數(shù)據(jù)庫,利用神經(jīng)主題模型,對學(xué)生課堂學(xué)習(xí)情況進行建模,并據(jù)此給出不同階段課堂教學(xué)指導(dǎo)性建議,以供授課教師參考。特別地,該系統(tǒng)可根據(jù)學(xué)生課堂討論結(jié)果,實時給出更為具體且貼合學(xué)生實際學(xué)習(xí)情況的指導(dǎo)性建議。該在線教學(xué)輔助系統(tǒng)示意圖如圖5所示。
Fig.5 Schematic diagram of UML course online teaching auxiliary system圖5 UML課程在線教學(xué)輔助系統(tǒng)
在線教學(xué)輔助系統(tǒng)中的題型包括:客觀題、簡答題和分析設(shè)計題,其中以分析設(shè)計題為主。對于客觀題部分,每道題目對應(yīng)不同的知識點,根據(jù)學(xué)生在線提交結(jié)果,統(tǒng)計出學(xué)生對各知識點的掌握情況;對于簡答題部分,將學(xué)生提交結(jié)果輸入到主題模型,例如:隱狄利克雷模型(Latent Dirichlet Allocation,LDA),詳細分析文本信息的核心思想或者關(guān)鍵詞,將學(xué)生提交結(jié)果中的核心思想或關(guān)鍵詞與該題所設(shè)置的標準答案進行對比,給出學(xué)生針對該簡答題回答的統(tǒng)計結(jié)果,其中主要包括對應(yīng)知識點的掌握情況、語言邏輯能力等方面;對于分析設(shè)計題,以案例分析題為主,該系統(tǒng)會將該類題型嵌入課堂教學(xué)的“討論案例”“分組給出解決方案”及“升華案例及課后思考”等階段。針對不同類型的UML 模型圖,根據(jù)學(xué)生在線提交結(jié)果分離出建模基本元素和基本元素關(guān)系,將其結(jié)果與參考答案進行對比,可得出對應(yīng)的統(tǒng)計建模分析結(jié)果。在線教學(xué)輔助系統(tǒng)所包含的分析設(shè)計題部分,可以根據(jù)學(xué)生不同階段不同課時的在線提交結(jié)果實時給出相應(yīng)分析結(jié)果。最后,匯總客觀題知識點掌握情況、簡答題核心思想(摘要)及建模分析結(jié)果,形成最終的課堂授課指導(dǎo)性建議。
為了驗證在線教學(xué)輔助系統(tǒng)的有效性,本文將90 組關(guān)于用例圖知識點的模擬數(shù)據(jù)(包括客觀題、簡答題和分析設(shè)計題)隨機分為3 組,進行5 次實驗驗證,具體實驗結(jié)果如表2所示。
從表2 可以看出,在客觀題評價方面,系統(tǒng)可給出平均準確率及易錯知識點等相關(guān)信息;在簡單題方面,通過抽取簡答題核心思想,與基準核心思想對比,并給出綜合性評價;在分析設(shè)計題方面,通過分離用例圖基本元素及其關(guān)系,綜合判定結(jié)果,并給出易錯點;在綜合客觀題、簡答題和分析設(shè)計題系統(tǒng)分析之后,給出最終的課堂授課指導(dǎo)性建議。該系統(tǒng)可實時觀測教師課堂授課情況,并指導(dǎo)授課教師對某個知識點進行著重講解,以提高學(xué)生課堂學(xué)習(xí)效果。
根據(jù)本文UML 課程設(shè)計,期末考察方式也將更加貼合工程教育認證理念與和新時代人才需求。期末考察擬采用兩種方式:開卷考察和專業(yè)綜合大作業(yè)。對于開卷考察方式,為了更好地貼合工程教育認證理念,課程摒棄了傳統(tǒng)的選擇、填空等客觀題,主要以分析(40%)、設(shè)計(40%)和綜合題(20%)作為主要考察題型。分析題主要根據(jù)題干要求,分析UML 模型,并回答相應(yīng)問題,包括用例圖分析、狀態(tài)圖分析等。設(shè)計題主要根據(jù)題干描述,繪制不同的UML 模型,比如:用例圖建模、類圖建模、順序圖建模等,該類題型學(xué)生可根據(jù)題干要求,結(jié)合實際生產(chǎn)生活,進行一定程度的擴展,以考察學(xué)生分析設(shè)計能力。綜合題主要針對現(xiàn)實生活中廣泛應(yīng)用的軟件、Web 網(wǎng)頁等,進行UML 全流程建模,該類題型可擴展性強,更能有效地考察學(xué)生解決實際復(fù)雜工程問題的能力,該類題目不會設(shè)置具體參考答案,教師可根據(jù)學(xué)生具體建模結(jié)果及其思維擴展能力,給出相應(yīng)的參考得分。
專業(yè)綜合大作業(yè)考察方式與常規(guī)大作業(yè)考場方式不同,其采用限時開卷的方式進行,學(xué)生可攜帶任意相關(guān)學(xué)習(xí)資料,在統(tǒng)一時間段完成專業(yè)綜合大作業(yè)。專業(yè)綜合大作業(yè)包括5 道左右專業(yè)相關(guān)的課程綜合題目(4 道設(shè)計題和1 道專業(yè)綜合題),題目設(shè)置對應(yīng)課程知識點,著重考察學(xué)生解決實際復(fù)雜工程問題的能力,且符合工程教育專業(yè)認證要求,評分可進行達成計算。
本文在工程教育認證與新時代人才需求的驅(qū)動之下,進行基于“SE-CDIO-CA”的UML 課程教學(xué)改革。以SECDIO 工程教育理念為指導(dǎo),將IBM-RSA 和PlantUML 命令行建模、案例啟發(fā)、在線教學(xué)輔助有機融合到SE-CDIO 方法中。該方法從項目需求分析與建模、項目設(shè)計與優(yōu)化、項目實現(xiàn)與優(yōu)化,項目維護與發(fā)布4 個部分對課程體系進行調(diào)整,符合CDIO 理念和軟件生命周期。對在線教學(xué)輔助系統(tǒng)的效果進行驗證,結(jié)果表明了該方法的有效性。但在具體實施過程中,還存在以下待改進之處:①進一步明確教學(xué)方法,針對不同年級不同基礎(chǔ)的學(xué)生,微調(diào)教學(xué)方法,以適應(yīng)其需求;②強化課程中的價值目標,將思政元素有機融入基于“SE-CDIO-CA”的UML 課程教學(xué)各方面;③有效改善課堂教學(xué)與實驗教學(xué),進一步培養(yǎng)學(xué)生解決復(fù)雜軟件工程問題的能力。