祖弦 范慶春 程敏 程舒慧
關(guān)鍵詞: 軟件工程;教學(xué)改革;系統(tǒng)能力培養(yǎng);實(shí)踐能力;應(yīng)用型人才
0 引言
隨著大數(shù)據(jù)時(shí)代的到來(lái),新工科及“雙一流”高校建設(shè)對(duì)計(jì)算機(jī)類人才培養(yǎng)提出了更深層次的需求,要求學(xué)生從具備“基本的程序開(kāi)發(fā)設(shè)計(jì)能力”上升為“強(qiáng)調(diào)系統(tǒng)能力的綜合能力”[1]。系統(tǒng)能力重點(diǎn)包括系統(tǒng)分析、設(shè)計(jì)、驗(yàn)證三方面能力,相輔相成,以達(dá)到綜合解決系統(tǒng)問(wèn)題的目的[2]。計(jì)算機(jī)系統(tǒng)能力旨在通過(guò)系統(tǒng)化方法,提高對(duì)計(jì)算機(jī)系統(tǒng)層面的整體認(rèn)知[3],從而培養(yǎng)學(xué)生從計(jì)算機(jī)系統(tǒng)的角度來(lái)設(shè)計(jì)開(kāi)發(fā)并解決問(wèn)題的能力。截至2021年的統(tǒng)計(jì)結(jié)果顯示,教育部計(jì)算機(jī)類專業(yè)教學(xué)指導(dǎo)委員會(huì)(以下簡(jiǎn)稱“教指委”) 已分批在80所高校內(nèi)推廣系統(tǒng)能力培養(yǎng)試點(diǎn)和研究課題。
目前,結(jié)合各類軟硬件上下游產(chǎn)業(yè)鏈的現(xiàn)狀及需求,各類高校在建設(shè)應(yīng)用型本科的同時(shí),以學(xué)生能力培養(yǎng)為導(dǎo)向,積極響應(yīng)系統(tǒng)能力培養(yǎng)相關(guān)課程建設(shè)。以合肥師范學(xué)院為例,自2017年學(xué)校成功申報(bào)教指委開(kāi)設(shè)的第二批系統(tǒng)能力培養(yǎng)試點(diǎn)高等院校以來(lái),以計(jì)算機(jī)學(xué)院牽頭成立的“系統(tǒng)能力培養(yǎng)”教學(xué)團(tuán)隊(duì)在近幾年的計(jì)算機(jī)本科教學(xué)及教改工作中,通過(guò)以提高學(xué)生工程應(yīng)用能力為導(dǎo)向的課程群建設(shè),積極探索軟件類課程體系新模式,旨在使計(jì)算機(jī)類畢業(yè)生不僅能具備系統(tǒng)的專業(yè)知識(shí)素養(yǎng),還能具備企業(yè)需求的工程實(shí)踐及創(chuàng)新能力,從而滿足為安徽省級(jí)區(qū)域經(jīng)濟(jì)發(fā)展貢獻(xiàn)大量軟件人才的需求。
1 目前課程教學(xué)問(wèn)題分析
本文重點(diǎn)對(duì)軟件工程課程教學(xué)現(xiàn)狀進(jìn)行闡述及分析,并提出面向系統(tǒng)能力培養(yǎng)的軟件工程課程改革思路,從而提升教學(xué)效果,提高學(xué)生計(jì)算機(jī)系統(tǒng)能力。
1.1 學(xué)科層面,知識(shí)體系缺乏系統(tǒng)性
軟件工程課程作為普通高校軟件工程專業(yè)的專業(yè)核心課,正常于大三上學(xué)期開(kāi)設(shè),學(xué)生已學(xué)完其先修課程如數(shù)據(jù)庫(kù)理論與技術(shù)、數(shù)據(jù)結(jié)構(gòu)、C語(yǔ)言等偏軟件類課程,而任務(wù)管理類等偏后端硬件類課程均未開(kāi)設(shè)或者未在本專業(yè)開(kāi)設(shè),但完整的計(jì)算機(jī)系統(tǒng)包括了計(jì)算機(jī)硬件和軟件,缺一不可。學(xué)生在對(duì)軟件系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)時(shí),無(wú)法理解一些與系統(tǒng)有關(guān)的任務(wù)管理模塊,如事件驅(qū)動(dòng)型任務(wù)、時(shí)鐘驅(qū)動(dòng)型任務(wù),這類任務(wù)之間優(yōu)先級(jí)如何設(shè)定等與軟件系統(tǒng)實(shí)際開(kāi)發(fā)密切相關(guān)的問(wèn)題,此時(shí)學(xué)生會(huì)出現(xiàn)不同程度的知識(shí)脫節(jié),影響課程教學(xué)效果及學(xué)生未來(lái)的實(shí)際開(kāi)發(fā)能力。因此,亟待加強(qiáng)知識(shí)點(diǎn)連貫的課程群建設(shè),提高學(xué)生對(duì)計(jì)算機(jī)系統(tǒng)整體的理解程度,使學(xué)生具備從計(jì)算機(jī)系統(tǒng)層面去思考如何設(shè)計(jì)開(kāi)發(fā)一個(gè)完整軟件系統(tǒng)的能力。
1.2 教學(xué)方法層面,模式陳舊,方法單一
隨著慕課、智慧課堂等多模態(tài)教學(xué)形式的興起,傳統(tǒng)的以教師為主體的教學(xué)模式弊端日益突出。目前多數(shù)軟件工程課堂仍以教師課件教學(xué)為主,學(xué)生被動(dòng)地接受大量理論知識(shí)點(diǎn)。在課堂教學(xué)中,忽略培養(yǎng)學(xué)生動(dòng)手能力,教師重在講解理論方法,缺乏軟件系統(tǒng)項(xiàng)目的課內(nèi)課程設(shè)計(jì)融合。另外,統(tǒng)一的上機(jī)實(shí)踐環(huán)節(jié),均設(shè)置一些驗(yàn)證性實(shí)驗(yàn),如熟悉軟件分析與設(shè)計(jì)工具Visio的使用、面向?qū)ο蠼9ぞ逺ational Rose 的使用、軟件配置管理工具VSS的使用、軟件項(xiàng)目管理工具Project的使用等,缺乏開(kāi)放性、綜合性實(shí)驗(yàn),無(wú)法提高學(xué)生的綜合能力。軟件工程本質(zhì)上是采用工程的概念原理及技術(shù)方法來(lái)提高計(jì)算機(jī)軟件的生產(chǎn)力,課程開(kāi)設(shè)初衷在于提高學(xué)生解決軟件實(shí)際問(wèn)題的工程能力。而上述這種重理論輕實(shí)踐的教學(xué)模式,很難調(diào)動(dòng)學(xué)生上課積極性,從而失去學(xué)習(xí)興趣。
1.3 教學(xué)資源層面,儲(chǔ)備不足,影響教學(xué)效果。
對(duì)于教學(xué)資源,本文從課程資源和師資隊(duì)伍兩個(gè)方面進(jìn)行詳細(xì)剖析。首先,教學(xué)資源缺乏,目前學(xué)生教材選擇的是2013年修訂的第四版張海藩主編的《軟件工程》,軟件更新速度較快,教材內(nèi)容的老舊已跟不上軟件工程快速發(fā)展的步伐,另外課程組缺乏有關(guān)軟件項(xiàng)目電子資源的儲(chǔ)備,教學(xué)中的項(xiàng)目實(shí)例無(wú)法更直觀地展現(xiàn)給學(xué)生,使課堂效果達(dá)不到教學(xué)目的。其次,課程組師資隊(duì)伍方面,部分教師缺乏企業(yè)實(shí)習(xí)實(shí)訓(xùn)的經(jīng)驗(yàn),由于各類知識(shí)的儲(chǔ)備不足,無(wú)法在課堂上貫徹落實(shí)理論聯(lián)系實(shí)踐,因此提高課程組教師教學(xué)素養(yǎng)迫在眉睫。
1.4 考核層面,缺乏個(gè)性化考評(píng)標(biāo)準(zhǔn)
課程考核上,評(píng)價(jià)標(biāo)準(zhǔn)缺乏個(gè)性化設(shè)置,導(dǎo)致評(píng)價(jià)目標(biāo)不明確。目前軟件工程仍采用統(tǒng)一的理論課試卷來(lái)評(píng)估學(xué)生對(duì)知識(shí)點(diǎn)的掌握情況,但缺乏對(duì)工程應(yīng)用能力的考核,一些動(dòng)手能力強(qiáng)的學(xué)生也可能卷面成績(jī)不高,缺乏對(duì)學(xué)生個(gè)體的個(gè)性化考量標(biāo)準(zhǔn)。沒(méi)有個(gè)性化且針對(duì)性的評(píng)估,就無(wú)法做到因材施教及個(gè)性化培養(yǎng)。
2 面向系統(tǒng)能力培養(yǎng)的軟件工程課程改革新思路
面向系統(tǒng)能力培養(yǎng)的軟件工程課程改革,堅(jiān)持以學(xué)生為主體,厘清新工科背景下的計(jì)算機(jī)類學(xué)科培養(yǎng)目標(biāo),以應(yīng)用型成果為導(dǎo)向,探索教學(xué)改革新模式。培養(yǎng)學(xué)生的計(jì)算機(jī)系統(tǒng)能力,本質(zhì)上要引導(dǎo)學(xué)生從多維度去理解計(jì)算機(jī)系統(tǒng),從而培養(yǎng)學(xué)生在計(jì)算機(jī)系統(tǒng)各層級(jí)組件上均具備設(shè)計(jì)及工程實(shí)現(xiàn)能力[4]。
2.1 軟硬件課程深度融合,參與特色課程群建設(shè)
對(duì)軟件相關(guān)專業(yè)學(xué)生而言,計(jì)算機(jī)系統(tǒng)能力的培養(yǎng)需要為學(xué)生構(gòu)建更全面、更系統(tǒng)、更連貫的課程體系,從而使學(xué)生在未來(lái)實(shí)際軟件項(xiàng)目開(kāi)發(fā)中,能從多角度去思考。具體思路如下:首先,軟件工程課程組應(yīng)重新組織知識(shí)架構(gòu),嘗試與其他上下游課程建立完整的計(jì)算機(jī)系統(tǒng)課程群。本文嘗試對(duì)課程群設(shè)置進(jìn)行重組改進(jìn),如圖1所示。對(duì)于課程群的重組設(shè)定應(yīng)嚴(yán)格遵循軟件工程中功能模塊知識(shí)分解的脈絡(luò),設(shè)計(jì)開(kāi)發(fā)一個(gè)完整的軟件系統(tǒng)應(yīng)該分解為四個(gè)部分:人機(jī)交互部分、問(wèn)題域部分、任務(wù)管理部分和后臺(tái)數(shù)據(jù)管理部分,在圖1中系統(tǒng)每一部分均對(duì)應(yīng)了相關(guān)聯(lián)課程,相關(guān)程度較大的課程嘗試設(shè)置在同一學(xué)期開(kāi)設(shè),如軟件工程和操作系統(tǒng),學(xué)生對(duì)操作系統(tǒng)中任務(wù)管理概念的理解,直接決定了在設(shè)計(jì)軟件動(dòng)態(tài)模型時(shí),對(duì)于并發(fā)任務(wù)優(yōu)先級(jí)的分配策略。另外,類似計(jì)算機(jī)組成原理這些計(jì)算機(jī)功能部件類硬件課程的先導(dǎo)學(xué)習(xí),可以加深學(xué)生在開(kāi)發(fā)人機(jī)交互系統(tǒng)時(shí),能更好地契合軟硬件系統(tǒng)。當(dāng)課程結(jié)束后,為了鞏固所學(xué)知識(shí),在后續(xù)學(xué)期的課程設(shè)置中,繼續(xù)設(shè)置了軟件工程運(yùn)維及管理活動(dòng)的后續(xù)課程,從而有利于增加軟件的生命周期。通過(guò)上述與知識(shí)關(guān)聯(lián)較密切的課程建立協(xié)同教學(xué),使學(xué)生對(duì)知識(shí)點(diǎn)的前因后果能達(dá)到更深層次的理解,最終達(dá)到能提升和促進(jìn)學(xué)生對(duì)計(jì)算機(jī)系統(tǒng)不同角度認(rèn)知的目的。
其次,借助綜合性教學(xué)平臺(tái),通過(guò)數(shù)據(jù)分析促進(jìn)教學(xué)改革。如引入浙江大學(xué)的拼題A平臺(tái)、超星學(xué)習(xí)通等平臺(tái)輔助教學(xué),與教學(xué)同步,還能實(shí)時(shí)通過(guò)大數(shù)據(jù)實(shí)現(xiàn)學(xué)情分析,并能根據(jù)不同班級(jí)的教學(xué)情況對(duì)教學(xué)進(jìn)度做出動(dòng)態(tài)調(diào)整。最后,邀請(qǐng)高新企業(yè)人才及專家技術(shù)團(tuán)隊(duì),共同參與軟件工程課程標(biāo)準(zhǔn)和培養(yǎng)方案的制定工作,明確軟件工程應(yīng)用型人才培養(yǎng)目標(biāo),將工程能力培養(yǎng)融入課程教學(xué)的各個(gè)階段。
2.2 結(jié)合項(xiàng)目實(shí)踐,變更課堂主體
軟件工程課程屬于實(shí)踐性綜合性較強(qiáng)的一門課,更應(yīng)強(qiáng)調(diào)通過(guò)實(shí)驗(yàn)實(shí)訓(xùn)促進(jìn)知識(shí)內(nèi)化。首先,教師在教學(xué)過(guò)程中需以學(xué)生為中心,開(kāi)展知識(shí)傳授活動(dòng)。教師在課堂教學(xué)中則扮演引導(dǎo)和參與的角色。其次,以項(xiàng)目驅(qū)動(dòng)教學(xué)進(jìn)度,具體來(lái)說(shuō),軟件的生命周期大體上由軟件定義、軟件開(kāi)發(fā)、運(yùn)行維護(hù)這三個(gè)階段構(gòu)成,因此,課程組嘗試以軟件生命周期為主線,配合每個(gè)階段對(duì)應(yīng)的項(xiàng)目開(kāi)發(fā),推進(jìn)教學(xué)進(jìn)度。最后,上述過(guò)程具體實(shí)施由學(xué)生為主體進(jìn)行,每位學(xué)生選擇一個(gè)信息管理系統(tǒng),模擬項(xiàng)目管理人員、項(xiàng)目開(kāi)發(fā)人員、項(xiàng)目測(cè)試人員等角色,積極參與每個(gè)章節(jié)對(duì)應(yīng)的系統(tǒng)開(kāi)發(fā)進(jìn)程,邊學(xué)邊實(shí)踐,以教促學(xué),以學(xué)促教,逐步構(gòu)成以學(xué)生為主體的良性教學(xué)過(guò)程。比如在需求分析這一章節(jié),當(dāng)教師對(duì)本章節(jié)知識(shí)點(diǎn)講解結(jié)束后,組織每一個(gè)項(xiàng)目小組的學(xué)生,以課堂PPT演講的方式,將各組的可行性分析(經(jīng)濟(jì)、技術(shù)、法律或社會(huì)認(rèn)同感)和需求分析(功能性需求+非功能性需求)逐一在課堂上向教師及其他同學(xué)詳細(xì)闡述,不僅鍛煉了個(gè)人表現(xiàn)能力,還能增加其他同學(xué)對(duì)各類型項(xiàng)目知識(shí)的認(rèn)知和學(xué)習(xí)。相較于傳統(tǒng)的填鴨式教學(xué),經(jīng)實(shí)踐教學(xué)中的學(xué)生反饋,學(xué)生對(duì)于這種新型教學(xué)方式更感興趣,更能提高自身主動(dòng)學(xué)習(xí)及主動(dòng)解決問(wèn)題的能力。
2.3 豐富教學(xué)資源,加強(qiáng)雙能型師資隊(duì)伍建設(shè)
教學(xué)資源方面,嘗試搭建產(chǎn)學(xué)研一體化教研平臺(tái),將教學(xué)研究、工程實(shí)踐、學(xué)生實(shí)驗(yàn)平臺(tái)貫通,融合各類專業(yè)課程實(shí)踐實(shí)驗(yàn)項(xiàng)目,預(yù)先設(shè)定課程群,豐富各類電子教學(xué)資源的同時(shí),也能匯總課程群各科目的教學(xué)成果,為后續(xù)教學(xué)提供項(xiàng)目資源支撐。例如多數(shù)教師在承擔(dān)校級(jí)或者省級(jí)質(zhì)量工程項(xiàng)目的教研活動(dòng)中,會(huì)積累一些新的教學(xué)想法或改進(jìn)措施,及時(shí)將這些新思想總結(jié)至一體化教研平臺(tái),能高效促進(jìn)與其他教師之間的交流溝通和學(xué)習(xí)。
師資隊(duì)伍建設(shè)方面,教師水平和教師知識(shí)素養(yǎng)的提高,對(duì)提升課程教學(xué)效果起到了不可或缺的作用。為積極響應(yīng)普通高校推進(jìn)各類專業(yè)認(rèn)證和新工科建設(shè)需求,課程組教師以提高工程實(shí)踐能力為目的,開(kāi)展各類師資培訓(xùn)活動(dòng)和企業(yè)輪崗任務(wù)。一方面教師利用寒暑假積極參與各類軟件公司的設(shè)計(jì)研發(fā)工作,如講授面向?qū)ο蟪绦蛟O(shè)計(jì)類課程的教師,可以利用假期積極去軟件公司的開(kāi)發(fā)技術(shù)崗進(jìn)行實(shí)習(xí)研發(fā)工作,講授軟件測(cè)試類課程的教師,可以利用業(yè)余時(shí)間去公司進(jìn)行軟件測(cè)試類工作,而講授軟件項(xiàng)目管理類課程的教師可以多與軟件管理人員之間進(jìn)行溝通學(xué)習(xí);另一方面,還可以考慮聘請(qǐng)企業(yè)高工來(lái)院系兼職授課,共同參與教學(xué)過(guò)程??傊?,提高教師隊(duì)伍中雙能型教師配比,可更好地服務(wù)和促進(jìn)學(xué)校辦學(xué)向應(yīng)用深度轉(zhuǎn)變。
2.4 培養(yǎng)應(yīng)用型人才,建立個(gè)性化評(píng)估標(biāo)準(zhǔn)
個(gè)性化評(píng)估標(biāo)準(zhǔn)與2.2小節(jié)介紹的項(xiàng)目實(shí)踐緊密聯(lián)系,形成教學(xué)及考核閉環(huán)。具體來(lái)說(shuō),對(duì)課程的期末考核不再局限于閉卷筆試,替之以項(xiàng)目各環(huán)節(jié)成果打分為主,對(duì)不同個(gè)體進(jìn)行個(gè)性化考核。依照軟件工程中對(duì)軟件生命周期的定義,可將每位學(xué)生的項(xiàng)目階段與生命周期對(duì)應(yīng),每一個(gè)階段需提供相應(yīng)的里程碑成果,并以文檔進(jìn)行記錄,作為學(xué)生對(duì)當(dāng)前階段知識(shí)點(diǎn)掌握程度的考量依據(jù),具體評(píng)分細(xì)則如圖2所示。教師可根據(jù)每位學(xué)生的實(shí)際進(jìn)度、答辯情況和完成程度進(jìn)行個(gè)性化打分。在軟件工程實(shí)際教學(xué)中,由于教學(xué)脈絡(luò)緊跟軟件工程生命周期的幾個(gè)階段,因此在每一階段課程講授結(jié)束后,均會(huì)設(shè)置相應(yīng)的階段性驗(yàn)收考核,如需求分析階段,會(huì)對(duì)學(xué)生的課堂演講PPT和課后所交的需求規(guī)格說(shuō)明書(shū)進(jìn)行一一打分,在詳細(xì)設(shè)計(jì)階段,會(huì)對(duì)學(xué)生的課堂表現(xiàn)和提交的詳細(xì)設(shè)計(jì)說(shuō)明書(shū)進(jìn)行一一打分,最終當(dāng)所有階段均結(jié)束后,將匯總每一階段的打分情況作為最終的綜合分?jǐn)?shù)。階段性多維度的考核打分,相較于傳統(tǒng)的紙質(zhì)試卷,更能體現(xiàn)和驗(yàn)收每位學(xué)生的學(xué)習(xí)能力和學(xué)習(xí)效果。
3 結(jié)束語(yǔ)
本文詳細(xì)闡述了一種面向系統(tǒng)能力培養(yǎng)的軟件工程課程改革模式,從學(xué)科建設(shè)、教學(xué)方法、教學(xué)資源及教學(xué)考核四個(gè)角度剖析了現(xiàn)有課程教學(xué)中存在的問(wèn)題,并以計(jì)算機(jī)系統(tǒng)能力培養(yǎng)為目標(biāo),分別從以上四個(gè)方面提出改革創(chuàng)新,旨在提高軟件工程教學(xué)質(zhì)量,也為軟件工程專業(yè)的新工科人才培養(yǎng)提供了一種新思路。