藺一帥,李青山,鮑 亮,鄧 岳,王 璐,王徐華
(西安電子科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,陜西西安 710071)
在20 世紀(jì)90 年代,美國卡耐基梅隆大學(xué)(CMU)等國際知名高校首先開設(shè)軟件體系結(jié)構(gòu)相關(guān)課程[1-2]。隨后,清華大學(xué)、北京大學(xué)、國防科技大學(xué)、東南大學(xué)、西安電子大學(xué)等國內(nèi)知名高校也將軟件體系結(jié)構(gòu)相關(guān)課程學(xué)習(xí)列入了軟件工程人才培養(yǎng)計(jì)劃中[3-8]。
軟件體系結(jié)構(gòu)教學(xué)內(nèi)容主要包括軟件體系結(jié)構(gòu)基礎(chǔ)知識(shí),常見的軟件體系結(jié)構(gòu)風(fēng)格和模式,設(shè)計(jì)、分析、評(píng)估與構(gòu)建軟件體系結(jié)構(gòu)的基本方法和策略,軟件體系結(jié)構(gòu)演化過程及最新研究進(jìn)展等[6,9-10]。因此,課程教學(xué)中容易出現(xiàn)知識(shí)高深抽象、教學(xué)內(nèi)容不切實(shí)際等問題,導(dǎo)致學(xué)生難以應(yīng)用專業(yè)知識(shí)提升實(shí)際的軟件架構(gòu)設(shè)計(jì)工程能力。針對(duì)該學(xué)情,孫耀等[4]將真實(shí)項(xiàng)目案例引入軟件體系結(jié)構(gòu)課程建設(shè)中,旨在通過真實(shí)項(xiàng)目案例輔助課程知識(shí)講解;覃征等[8]針對(duì)課程教學(xué)中知識(shí)抽象的問題,通過特定的實(shí)踐教學(xué)環(huán)節(jié)設(shè)計(jì),輔助對(duì)抽象知識(shí)的理解與應(yīng)用;丁智國[11]從教學(xué)組織方式上進(jìn)行改革,在課堂教學(xué)中引入翻轉(zhuǎn)教學(xué),以加深學(xué)生對(duì)課程知識(shí)的理解;劉瑋[12]從課程內(nèi)容與教學(xué)方法兩方面進(jìn)行探索和嘗試,以期達(dá)到卓越工程師的培養(yǎng)目標(biāo)。此外,各高校課程組都在不斷進(jìn)行課程教學(xué)模式的探索與實(shí)踐,旨在通過教學(xué)改革消除知識(shí)學(xué)習(xí)與工程應(yīng)用之間的巨大鴻溝,提升學(xué)生的實(shí)際工程能力[13-16]。
在綜合分析現(xiàn)有軟件架構(gòu)課程教學(xué)方法的基礎(chǔ)上,經(jīng)過10 多年的教學(xué)實(shí)踐,本文提出學(xué)用互助的課程教學(xué)創(chuàng)新體系,從教學(xué)方式、課程組織、考核評(píng)價(jià)、教學(xué)反饋等方面實(shí)現(xiàn)教學(xué)創(chuàng)新。
如圖1 所示,圍繞學(xué)用互助,課程教學(xué)創(chuàng)新體系設(shè)計(jì)如下:教學(xué)方法采用“以面引點(diǎn)、任務(wù)導(dǎo)向、案例驅(qū)動(dòng)、體驗(yàn)探究、立體思政”的特色課程教學(xué)方式;課程組織方式采用由教師課堂引導(dǎo)式互動(dòng)講授、學(xué)習(xí)效果自主實(shí)時(shí)檢測、學(xué)生互動(dòng)討論和學(xué)生自主項(xiàng)目實(shí)踐組成的混合方式;課程考核評(píng)價(jià)機(jī)制為基于學(xué)習(xí)數(shù)據(jù)的多階段全過程式多維考核,以獲得更實(shí)時(shí)的“教與學(xué)”效果監(jiān)測,對(duì)學(xué)生進(jìn)行理論知識(shí)、工程能力和綜合素養(yǎng)的多維評(píng)價(jià)。同時(shí),在校內(nèi)外建立跨高校聯(lián)動(dòng)的教學(xué)效果研討機(jī)制,使課程創(chuàng)新改革獲得更大范圍的教學(xué)效果反饋,輔助課程持續(xù)改進(jìn)。
Fig.1 Curriculum innovation teaching system design圖1 課程創(chuàng)新教學(xué)體系設(shè)計(jì)
本文采用“以面引點(diǎn)、任務(wù)導(dǎo)向、案例驅(qū)動(dòng)、體驗(yàn)探究、立體思政”的特色課程教學(xué)方式。其中,“以面引點(diǎn)”即從軟件整個(gè)生命周期出發(fā),引出體系結(jié)構(gòu)風(fēng)格、建模、質(zhì)量屬性及策略等體系結(jié)構(gòu)課程的每一章節(jié)知識(shí)點(diǎn),以軟件全生命周期映射知識(shí)點(diǎn)的方式代替對(duì)知識(shí)點(diǎn)的孤立講解;“任務(wù)導(dǎo)向”即在授課過程中,始終以軟件項(xiàng)目實(shí)際任務(wù)引導(dǎo)學(xué)生運(yùn)用理論知識(shí)主動(dòng)思考項(xiàng)目架構(gòu)設(shè)計(jì)方案,應(yīng)用輔助設(shè)計(jì)工具完成系統(tǒng)架構(gòu)的建模、評(píng)估與實(shí)現(xiàn);“案例驅(qū)動(dòng)”即通過“知識(shí)點(diǎn)案例+綜合案例”的多種案例模式解決體系結(jié)構(gòu)教學(xué)中理論知識(shí)抽象、概念定義朦朧、高深而不切實(shí)際的問題;“體驗(yàn)探究”即通過任務(wù)案例引導(dǎo)學(xué)生在學(xué)習(xí)過程中體驗(yàn)軟件架構(gòu)師在軟件項(xiàng)目研發(fā)中的任務(wù)、角色,搭建課程“學(xué)與用”的橋梁;“立體思政”即將案例與討論相結(jié)合的立體化課程思政方式。通過西電“農(nóng)掌門”科技扶貧、嫦娥四號(hào)探測器高可用性軟件設(shè)計(jì)、美團(tuán)外賣解決貧困人口就業(yè)等自主軟件研發(fā)案例,將課程思政以潤物細(xì)無聲的方式引入在線課堂知識(shí)點(diǎn)教學(xué)中,增強(qiáng)學(xué)生的民族自豪感和社會(huì)責(zé)任感。同時(shí),基于學(xué)習(xí)系統(tǒng),創(chuàng)建以“軟件如何服務(wù)于國家,軟件人如何做對(duì)社會(huì)有益的事”為主題的討論區(qū),結(jié)合課程知識(shí)內(nèi)容,基于科研項(xiàng)目中遇到的卡脖子問題,定期發(fā)布相關(guān)討論貼,培養(yǎng)學(xué)生積極向上的學(xué)習(xí)態(tài)度,引導(dǎo)學(xué)生做有知識(shí)、有溫度的軟件人,達(dá)到軟件工程專業(yè)人才德智雙向發(fā)展的培養(yǎng)目標(biāo)。
課程組織方式為教師課堂引導(dǎo)式互動(dòng)講授、學(xué)生互動(dòng)討論、學(xué)習(xí)效果自主實(shí)時(shí)檢測和學(xué)生自主項(xiàng)目實(shí)踐組成的線上線下混合式方式,實(shí)時(shí)獲取“教”與“學(xué)”效果,形成課程教學(xué)閉環(huán)。
其中,課堂引導(dǎo)式互動(dòng)講授即在每一章節(jié)知識(shí)點(diǎn)講解中,授課教師首先向?qū)W生提出軟件項(xiàng)目案例在軟件全生命周期某階段的實(shí)際任務(wù),通過任務(wù)引導(dǎo),學(xué)生跟隨授課教師對(duì)課堂知識(shí)點(diǎn)的講解,主動(dòng)思考該軟件任務(wù)的解決方案,在聽課過程中體驗(yàn)軟件架構(gòu)師在完成軟件架構(gòu)設(shè)計(jì)相關(guān)任務(wù)中的角色;學(xué)生互動(dòng)討論即基于課程知識(shí)內(nèi)容,在線下課堂和學(xué)習(xí)平臺(tái)線上討論區(qū)中讓學(xué)生面向架構(gòu)設(shè)計(jì)相關(guān)任務(wù)展開架構(gòu)設(shè)計(jì)方案、架構(gòu)評(píng)審等互動(dòng)討論,體驗(yàn)架構(gòu)師的角色,激發(fā)學(xué)生的學(xué)習(xí)動(dòng)力和熱情;學(xué)習(xí)效果自主實(shí)時(shí)檢測即在每一節(jié)課堂授課結(jié)束后,學(xué)生通過課程組建設(shè)的知識(shí)點(diǎn)自測題庫自主檢測學(xué)習(xí)效果。通過學(xué)習(xí)平臺(tái)對(duì)學(xué)生測試結(jié)果數(shù)據(jù)的統(tǒng)計(jì)分析,授課教師在每一次授課后即可掌握學(xué)生對(duì)該節(jié)課程知識(shí)點(diǎn)的學(xué)習(xí)效果。針對(duì)學(xué)生在學(xué)習(xí)中存在的普遍性問題,授課教師可安排在后續(xù)課程中進(jìn)行二次講解,針對(duì)個(gè)性化問題,則做好單獨(dú)溝通交流和個(gè)性化輔導(dǎo)工作;學(xué)生自主項(xiàng)目實(shí)踐即在掌握相關(guān)理論知識(shí)的基礎(chǔ)上組建項(xiàng)目團(tuán)隊(duì),逐步完成中等規(guī)模的軟件系統(tǒng)需求分析、軟件架構(gòu)設(shè)計(jì)和建模表示、架構(gòu)設(shè)計(jì)方案評(píng)估,最后基于評(píng)估改進(jìn)后的架構(gòu)設(shè)計(jì)決策完成編碼實(shí)現(xiàn)與系統(tǒng)測試,并以項(xiàng)目報(bào)告和現(xiàn)場驗(yàn)收答辯的方式進(jìn)行評(píng)審。如圖2 所示,通過設(shè)計(jì)從需求分析、架構(gòu)設(shè)計(jì)、架構(gòu)建模到架構(gòu)評(píng)估、代碼實(shí)現(xiàn)與測試的軟件開發(fā)全生命周期項(xiàng)目實(shí)踐任務(wù),覆蓋課程理論知識(shí)點(diǎn)的全面綜合應(yīng)用,以培養(yǎng)學(xué)生的工程實(shí)踐能力與綜合素養(yǎng)。
Fig.2 Project practice design圖2 項(xiàng)目實(shí)踐環(huán)節(jié)設(shè)計(jì)
課程考核采用基于學(xué)習(xí)數(shù)據(jù)的多階段全過程多維考核方式,在課程教學(xué)過程中實(shí)時(shí)檢測教學(xué)效果和學(xué)習(xí)效果,對(duì)學(xué)生進(jìn)行理論知識(shí)、工程能力和綜合素養(yǎng)的多維評(píng)價(jià)。在評(píng)價(jià)機(jī)制中,各部分所占比例和計(jì)算依據(jù)如下:學(xué)生課程總成績=課堂單元考核4%+討論單元考核5% +自測單元考核5% +項(xiàng)目實(shí)踐單元考核30% +期末單元考核56%。
(1)課堂單元考核?;趯W(xué)生的課程知識(shí)學(xué)習(xí)完成度(線下課堂參與度/在線課程視頻學(xué)習(xí)時(shí)長)計(jì)算得出。
(2)討論單元考核。由學(xué)生在案例分析、架構(gòu)設(shè)計(jì)、架構(gòu)評(píng)估評(píng)審等課堂討論和線上學(xué)習(xí)平臺(tái)討論區(qū)中的參與度與活躍度計(jì)算得出,以獎(jiǎng)勵(lì)課程中積極主動(dòng)進(jìn)行思考與探究的學(xué)生。
(3)自測單元考核。由章節(jié)知識(shí)點(diǎn)測驗(yàn)成績計(jì)算得出,章節(jié)測驗(yàn)與章節(jié)知識(shí)點(diǎn)對(duì)應(yīng),在學(xué)生完成每節(jié)課程學(xué)習(xí)后,通過完成以客觀題為主的知識(shí)點(diǎn)自測題,實(shí)時(shí)檢測學(xué)習(xí)效果。
(4)項(xiàng)目實(shí)踐單元考核。學(xué)生以項(xiàng)目團(tuán)隊(duì)為單位,根據(jù)課程進(jìn)度,面向中等難度的軟件系統(tǒng)需求,完成從需求分析、架構(gòu)設(shè)計(jì)、架構(gòu)建模到架構(gòu)評(píng)估、代碼實(shí)現(xiàn)和測試的軟件開發(fā)全生命周期的項(xiàng)目實(shí)踐任務(wù),并以項(xiàng)目報(bào)告和現(xiàn)場驗(yàn)收答辯的方式進(jìn)行評(píng)審,考核學(xué)生發(fā)現(xiàn)、分析、解決問題的能力,溝通合作能力及語言文字表達(dá)能力。
(5)期末單元考核。通過線下閉卷考試形式進(jìn)行,命題標(biāo)準(zhǔn)為30%知識(shí)點(diǎn)+70%案例應(yīng)用,主要考核軟件體系結(jié)構(gòu)定義、軟件體系結(jié)構(gòu)風(fēng)格、軟件體系結(jié)構(gòu)設(shè)計(jì)與評(píng)估等知識(shí)的掌握情況。
本課程組在國家級(jí)在線課程開放平臺(tái)“學(xué)堂在線”發(fā)布了國內(nèi)首門軟件體系結(jié)構(gòu)MOOC 課程,該在線課程不僅支持了西安電子科技大學(xué)的線下/線下混合教學(xué)工作,而且支持了多所高校的混合教學(xué)工作。因此,本課程組與其他高校軟件體系結(jié)構(gòu)課程組授課教師建立了跨高校聯(lián)動(dòng)的教學(xué)效果反饋與改進(jìn)機(jī)制,統(tǒng)計(jì)分析多所高校學(xué)生的課堂反饋情況,不斷優(yōu)化該課程的教學(xué)方式以及測試題庫、教學(xué)案例等,實(shí)時(shí)更新維護(hù)學(xué)習(xí)平臺(tái)中關(guān)于“典型問題及其解答思路“的課程討論區(qū)。通過跨高校聯(lián)動(dòng)的方式獲得更大范圍的教學(xué)效果反饋,從而輔助本課程組更好地進(jìn)行教育教學(xué)改革與創(chuàng)新實(shí)踐。
本課程組對(duì)上述創(chuàng)新的教學(xué)方式進(jìn)行了實(shí)踐與應(yīng)用。在線下教學(xué)方面,在西安電子科技大學(xué)本科生、研究生課程體系中,軟件體系結(jié)構(gòu)課程平均線下授課人數(shù)為500 人/學(xué)年。教學(xué)評(píng)價(jià)數(shù)據(jù)顯示,在近3 年的教學(xué)評(píng)價(jià)中,學(xué)生滿意度名列前茅,尤其在“課程知識(shí)是否能夠提升學(xué)生實(shí)際應(yīng)用能力”方面,獲得了較高的滿意度評(píng)價(jià)。在線上教學(xué)方面,西安電子科技大學(xué)面向社會(huì)學(xué)員開設(shè)的軟件體系結(jié)構(gòu)在線開放課程以授課視頻、課程思政討論等方式為33 個(gè)省級(jí)行政單位以及臺(tái)灣和香港特別行政區(qū),累計(jì)近1.7 萬學(xué)生提供了教學(xué)服務(wù),并通過用戶問卷調(diào)查、社交網(wǎng)絡(luò)群學(xué)生代表訪談等方式對(duì)線上教學(xué)實(shí)施效果進(jìn)行持續(xù)的調(diào)查跟蹤。在調(diào)查樣本中,有近65%的學(xué)生認(rèn)為課程案例對(duì)于增強(qiáng)其對(duì)理論知識(shí)的理解與應(yīng)用起到了非常有效的作用。此外,該課程的特色創(chuàng)新實(shí)踐也多次獲得軟件工程教學(xué)領(lǐng)域?qū)<业目隙?,曾榮獲軟件工程實(shí)踐教學(xué)案例全國一等獎(jiǎng),并多次在計(jì)算機(jī)、軟件工程教學(xué)研討會(huì)上進(jìn)行分享。
作為計(jì)算機(jī)類軟件工程專業(yè)課程,軟件體系結(jié)構(gòu)課程聚焦軟件生命周期中的軟件設(shè)計(jì)階段,以期提升我國軟件工程專業(yè)人才的軟件設(shè)計(jì)能力。本文提出“學(xué)用互助,做有情懷、有溫度的軟件人”的軟件體系結(jié)構(gòu)課程教學(xué)核心理念,創(chuàng)新設(shè)計(jì)了“任務(wù)導(dǎo)向、案例驅(qū)動(dòng)、以面引點(diǎn)、體驗(yàn)探究,立體思政”的特色教學(xué)方式并在實(shí)踐中進(jìn)行了應(yīng)用。結(jié)果表明,該課程在線下教學(xué)和線上教學(xué)中均取得了較好效果。