李 莉
(1.南京郵電大學(xué) 計(jì)算機(jī)學(xué)院、軟件學(xué)院、網(wǎng)絡(luò)空間安全學(xué)院,南京 江蘇 210023;2.南京郵電大學(xué) 通達(dá)學(xué)院,揚(yáng)州 江蘇 225127)
軟件工程(與NIIT合作嵌入式培養(yǎng))專業(yè)是江蘇省“十二五”重點(diǎn)專業(yè)(計(jì)算機(jī)類)和江蘇省軟件服務(wù)外包類專業(yè)嵌入式人才培養(yǎng)項(xiàng)目,培養(yǎng)具有優(yōu)良綜合素質(zhì)和較強(qiáng)實(shí)踐能力的國際化軟件工程人才。學(xué)生的綜合實(shí)踐能力是衡量教學(xué)水平的重要指標(biāo),該專業(yè)引進(jìn)實(shí)踐性很強(qiáng)的NIIT國際化課程,突出實(shí)踐教學(xué)環(huán)節(jié)。軟件項(xiàng)目實(shí)訓(xùn)是貫穿整個(gè)專業(yè)培養(yǎng)全過程的系列課程,其培養(yǎng)方案如表1所示。
表1 軟件項(xiàng)目實(shí)訓(xùn)培養(yǎng)方案
其中,大四上學(xué)期開設(shè)的軟件項(xiàng)目實(shí)訓(xùn)IV處于一個(gè)關(guān)鍵節(jié)點(diǎn)。此時(shí),所有軟件工程理論和開發(fā)技能已學(xué)習(xí)完畢,一定比例的學(xué)生會進(jìn)入企業(yè)實(shí)習(xí),下學(xué)期的畢業(yè)設(shè)計(jì)以工程設(shè)計(jì)類課題為主。如何訓(xùn)練學(xué)生的綜合實(shí)踐能力,實(shí)現(xiàn)學(xué)生就業(yè)與企業(yè)需求的平滑對接是該課程肩負(fù)的重任。本研究主要針對這一階段的實(shí)踐教學(xué)展開。
軟件項(xiàng)目實(shí)訓(xùn)IV要求學(xué)生通過完整的軟件項(xiàng)目的開發(fā)實(shí)踐活動理解軟件開發(fā)過程的基本模型,掌握軟件需求分析、軟件設(shè)計(jì)、軟件測試的基本理論和方法,能夠運(yùn)用先進(jìn)的工程化方法從事軟件分析設(shè)計(jì)與開發(fā)工作,同時(shí)具備一定的工程項(xiàng)目組織管理與團(tuán)隊(duì)協(xié)作能力。在為期兩周的實(shí)訓(xùn)環(huán)節(jié)中,學(xué)生分為3~4人一組的開發(fā)團(tuán)隊(duì),由教師指定或自行選取實(shí)訓(xùn)課題。實(shí)訓(xùn)結(jié)束后,教師根據(jù)每個(gè)小組的軟件演示和實(shí)訓(xùn)報(bào)告評定成績。經(jīng)過幾輪教學(xué)實(shí)踐,本研究發(fā)現(xiàn)現(xiàn)有教學(xué)方案存在以下問題:
(1)學(xué)生容易出現(xiàn)掉隊(duì)情況。軟件項(xiàng)目實(shí)訓(xùn)依賴前期理論知識和開發(fā)技能。有些同學(xué)專業(yè)基礎(chǔ)不佳、自學(xué)能力弱,無法跟上組內(nèi)其他同學(xué)的實(shí)踐進(jìn)度,進(jìn)而產(chǎn)生消極態(tài)度和依賴心理;整個(gè)小組都對實(shí)訓(xùn)產(chǎn)生排斥,無法完成實(shí)訓(xùn)內(nèi)容。
(2)教師對實(shí)訓(xùn)過程把控度不足。軟件項(xiàng)目實(shí)訓(xùn)注重學(xué)生對所學(xué)知識的靈活應(yīng)用以及團(tuán)隊(duì)內(nèi)的有效協(xié)作。學(xué)生擁有大部分的自主決策權(quán),這在另一方面也讓教師難以把控整個(gè)實(shí)訓(xùn)過程,無法提供有效引導(dǎo)。例如,學(xué)生向教師請教的多為瑣碎的開發(fā)細(xì)節(jié)問題,這讓教師難以得到實(shí)訓(xùn)整體過程的有效反饋,無法給予系統(tǒng)性的指導(dǎo),難以對課程設(shè)置進(jìn)行改進(jìn)。
(3)評價(jià)體系不夠完善。學(xué)生提交的軟件項(xiàng)目和實(shí)訓(xùn)報(bào)告無法全面反映實(shí)訓(xùn)過程中學(xué)生的學(xué)習(xí)態(tài)度、解決問題的方法步驟等內(nèi)容。例如,開發(fā)與設(shè)計(jì)倒置的問題就難以從實(shí)訓(xùn)報(bào)告中察覺。學(xué)生為了趕項(xiàng)目進(jìn)度,沒經(jīng)過嚴(yán)謹(jǐn)?shù)脑O(shè)計(jì)階段便進(jìn)入編碼實(shí)現(xiàn),最后再根據(jù)實(shí)現(xiàn)方案補(bǔ)上各種UML設(shè)計(jì)圖。這種操作往往導(dǎo)致項(xiàng)目質(zhì)量不佳,后期容易出現(xiàn)難以糾正的低級設(shè)計(jì)缺陷。
上述問題阻礙了實(shí)訓(xùn)目的的達(dá)成,有必要從教學(xué)模式、內(nèi)容設(shè)置和評價(jià)體系等方面開展新的教學(xué)探索。王志敏等[1]提出企業(yè)化實(shí)施方案,通過校企合作方式將企業(yè)人員引入實(shí)訓(xùn)課程,將企業(yè)項(xiàng)目裁剪后用于課程。該方案較為真實(shí)地再現(xiàn)了企業(yè)需求和工作流程,但實(shí)訓(xùn)周期較長,在一個(gè)月左右。另外,跟軟件工程不斷擴(kuò)大的招生規(guī)模相比,具有優(yōu)質(zhì)教學(xué)資源的企業(yè)相對不足。文獻(xiàn)[2]探討如何利用信息化的管理平臺提高實(shí)訓(xùn)效率。本研究將實(shí)訓(xùn)過程可控、學(xué)生參與度高、評價(jià)體系完整作為課程教學(xué)改革的方向,嘗試將情境模擬教學(xué)法應(yīng)用于軟件項(xiàng)目實(shí)訓(xùn)。
情境模擬教學(xué)指教師根據(jù)教學(xué)內(nèi)容和教學(xué)目標(biāo),創(chuàng)設(shè)高度仿真的工作或生活場景,讓學(xué)習(xí)者參與其中,在高度仿真的情景中應(yīng)用所學(xué)知識、鍛煉職業(yè)技能、增進(jìn)情感體驗(yàn)的一種教學(xué)方法[3]。該教學(xué)法建立在建構(gòu)主義、情境認(rèn)知等理論基礎(chǔ)之上。建構(gòu)主義認(rèn)為知識不單是由教師簡單地灌輸給學(xué)生,而是學(xué)生主動地構(gòu)建知識。建構(gòu)主義提倡情境式教學(xué),認(rèn)為應(yīng)使學(xué)習(xí)在與現(xiàn)實(shí)情境相類似的情境中發(fā)生,以解決學(xué)生在現(xiàn)實(shí)生活中遇到的問題為目標(biāo);學(xué)習(xí)的內(nèi)容要選擇真實(shí)性任務(wù),不能對其做過于簡單化的處理,使其遠(yuǎn)離現(xiàn)實(shí)的問題情境[4]。情境認(rèn)知理論認(rèn)為實(shí)踐與學(xué)習(xí)相互依存,意義通過實(shí)踐和情境的協(xié)商得以體現(xiàn)[5]。
情境模擬教學(xué)法具有以下特點(diǎn):
(1)仿真性。情境模擬教學(xué)法跟情境教學(xué)法的區(qū)別在于所提供的是經(jīng)過處理的仿真情境。仿真情境與真實(shí)場景密切相關(guān)又有所差異。相關(guān)之處在于學(xué)生進(jìn)入該情境是為了解決真實(shí)問題。差異之處在于仿真情境對真實(shí)場景進(jìn)行了改編、簡化,使得成本更低、更具可控性。
(2)不確定性。情境教學(xué)不同于案例教學(xué)。案例是由教師根據(jù)教學(xué)目標(biāo),參考工程實(shí)際設(shè)計(jì)出的典型問題和解決方案,供學(xué)生進(jìn)行思考和判斷。案例設(shè)計(jì)不需要學(xué)生參與,因此無法充分發(fā)揮學(xué)生的主動性。情境教學(xué)中,學(xué)生是學(xué)習(xí)的主體,教師是活動的組織者、引導(dǎo)者和點(diǎn)評者。為給予學(xué)生足夠的主動選擇權(quán),情境設(shè)置必須具有充分的不確定性。
(3)探究性。不確定性激發(fā)了學(xué)生的探究性。不論何種教學(xué)法都是為了激發(fā)學(xué)生的求知欲,達(dá)成教學(xué)目標(biāo)。所設(shè)計(jì)的情境不能僅提供一些浮于表面的選擇權(quán),而要讓學(xué)生感受到知識探索的體驗(yàn)。
由此可見,情境模擬教學(xué)法讓學(xué)生面對跟自己切身相關(guān)的真實(shí)問題,這樣學(xué)生才會深刻認(rèn)識到所學(xué)知識的價(jià)值和意義,從而突顯學(xué)生的學(xué)習(xí)主體性。目前,情境模擬學(xué)習(xí)法的應(yīng)用多集中于醫(yī)學(xué)、法律、警察等應(yīng)用性較強(qiáng)的專業(yè)學(xué)科。軟件項(xiàng)目實(shí)訓(xùn)的目的是提升學(xué)生的綜合工程實(shí)踐能力,適合使用情境模擬教學(xué)法。由于實(shí)訓(xùn)條件的限制,將情境模擬教學(xué)法應(yīng)用于軟件項(xiàng)目實(shí)訓(xùn)的難點(diǎn)在于如何創(chuàng)造出以學(xué)生為主體且貼合實(shí)際的模擬情境,以及如何在實(shí)施過程中有效組織教學(xué)。這對教師提出了更高要求,要求教師有更廣的知識面、更充分的教學(xué)準(zhǔn)備、更強(qiáng)的組織與應(yīng)變能力。
系統(tǒng)開發(fā)生命周期(System Development Life Cycle,SDLC)是軟件工程的一項(xiàng)重要原則。它將軟件項(xiàng)目分為準(zhǔn)備、分析、設(shè)計(jì)和實(shí)現(xiàn)四個(gè)階段。遵循這一原則,本研究設(shè)計(jì)了四個(gè)情境,每個(gè)情境下設(shè)有若干相關(guān)場景,充分體現(xiàn)了系統(tǒng)化的軟件開發(fā)流程。針對每個(gè)場景,羅列需要用到的理論知識、可供選擇的開發(fā)技術(shù)以及分配的實(shí)訓(xùn)時(shí)間。教學(xué)情境設(shè)置如表2所示。
表2 軟件項(xiàng)目實(shí)訓(xùn)情境設(shè)置
整個(gè)教學(xué)的實(shí)施分成四個(gè)階段:
第一階段:開課前,教師應(yīng)從現(xiàn)實(shí)素材中篩選出符合教學(xué)需求的軟件項(xiàng)目,在充分理解項(xiàng)目需求的基礎(chǔ)上進(jìn)行恰當(dāng)改編。例如,將項(xiàng)目規(guī)模裁剪到適合實(shí)訓(xùn)周期的大小,去除一些非核心且學(xué)生難以理解的需求。將這些項(xiàng)目放置于模擬情境中提前加以演練,找出學(xué)生在整個(gè)流程中容易碰到的問題。這樣,教師更能夠掌控整個(gè)實(shí)訓(xùn)流程。
第二階段:課程開始,教師向?qū)W生介紹整個(gè)實(shí)訓(xùn)的流程以及具體環(huán)節(jié),組織學(xué)生分組并布置課題任務(wù)。教師需充分尊重學(xué)生的意見,適當(dāng)加以引導(dǎo)。例如自由分組是學(xué)生樂意采用的方式,但有時(shí)容易出現(xiàn)小組間能力差異過大的情況。這時(shí),教師需根據(jù)學(xué)生的意愿和能力給出調(diào)整建議。這樣既不損害學(xué)生的積極性,又讓每一位學(xué)生都發(fā)揮所長、有所收益。
第三階段:學(xué)生進(jìn)入模擬情境。教師需密切關(guān)注每一小組的實(shí)訓(xùn)進(jìn)展。針對模擬情景中的每個(gè)場景,教師提供一份詳細(xì)的過程評價(jià)量表。學(xué)生根據(jù)評價(jià)表詳細(xì)記錄任務(wù)完成的過程,并給出自我評價(jià)。在每個(gè)情境結(jié)束時(shí),小組內(nèi)部舉行討論,組員之間相互評價(jià)。由于設(shè)定了統(tǒng)一的情境和場景,教師更容易參與到每個(gè)小組的實(shí)訓(xùn)工作中,給予指導(dǎo)和建議。過程評價(jià)量表和學(xué)生的日志記錄給予教師充足的反饋信息,可用于進(jìn)一步優(yōu)化課程設(shè)置。
第四階段:實(shí)訓(xùn)結(jié)束,教師在每一組自評和互評的基礎(chǔ)上,對小組工作進(jìn)行點(diǎn)評。教師點(diǎn)評不能簡單地停留在最終產(chǎn)出的項(xiàng)目結(jié)果,而應(yīng)該涵蓋整個(gè)實(shí)訓(xùn)過程。教師需對學(xué)生在實(shí)訓(xùn)過程中積極的學(xué)習(xí)態(tài)度、正確的決策、新穎的思維加以肯定;同時(shí)對于一些缺陷和問題,幫助學(xué)生進(jìn)行分析總結(jié),引導(dǎo)學(xué)生進(jìn)行更深入的思考,讓失敗也轉(zhuǎn)換成寶貴經(jīng)驗(yàn)。
實(shí)訓(xùn)題庫是情境模擬教學(xué)法的重要組成部分。沒有實(shí)訓(xùn)題庫的支持,所設(shè)置的情境便無法落實(shí)。實(shí)訓(xùn)課題一方面需貼合企業(yè)、社會當(dāng)下的實(shí)際需求,另一方面需容易被學(xué)生理解消化。本研究從開源軟件篩選實(shí)訓(xùn)課題素材。開源軟件是一類用戶有權(quán)學(xué)習(xí)、修改、發(fā)布其軟件源碼的計(jì)算機(jī)軟件,是一項(xiàng)寶貴的社會資源,遍布全世界的專業(yè)人員和機(jī)構(gòu)組織在其中貢獻(xiàn)了自己的力量[6]。對于在校教師和學(xué)生來說,它提供了一個(gè)直接與產(chǎn)業(yè)對話的平臺,讓大家有機(jī)會接觸到實(shí)際的應(yīng)用需求、先進(jìn)的開發(fā)技術(shù)。同時(shí),也需意識到開源軟件的質(zhì)量良莠不齊,需仔細(xì)篩選。
本研究從GitHub和SourceForge兩個(gè)平臺篩選實(shí)訓(xùn)課題。GitHub是一個(gè)面向開源項(xiàng)目的托管平臺,其托管的開源項(xiàng)目數(shù)量非常龐大[7]。SourceForge是一個(gè)老牌的開源項(xiàng)目發(fā)布平臺,擁有大量用戶和開源軟件[8]。這兩個(gè)平臺提供的開源項(xiàng)目排名和推薦服務(wù)可以用于課題篩選。表3列出了實(shí)訓(xùn)采用的部分開源軟件。
表3 實(shí)訓(xùn)題庫素材
現(xiàn)有教學(xué)采用總結(jié)性評價(jià),根據(jù)項(xiàng)目最終完成情況進(jìn)行評分。優(yōu)點(diǎn)是可操作性強(qiáng),缺點(diǎn)是忽視了實(shí)訓(xùn)過程中的學(xué)習(xí)態(tài)度、學(xué)習(xí)方法等因素,無法全面綜合、多角度地評價(jià)學(xué)生。情境模擬教學(xué)法將教學(xué)活動的主體轉(zhuǎn)向?qū)W生,更加注重學(xué)生的全面發(fā)展。本研究在原有總結(jié)性評價(jià)的基礎(chǔ)上引入過程性評價(jià)。過程性評價(jià)不僅評價(jià)學(xué)生的學(xué)習(xí)結(jié)果,更加評價(jià)學(xué)生的學(xué)習(xí)過程,能夠全面綜合、多角度地評價(jià)學(xué)生[9]。
整個(gè)課程的成績由總結(jié)性評價(jià)和過程性評價(jià)兩部分組成。總結(jié)性評價(jià)由軟件和實(shí)訓(xùn)報(bào)告兩部分組成,分別占總成績的30%和20%,主要從完成質(zhì)量進(jìn)行考核。過程性評價(jià)占總成績50%,由每個(gè)情境的過程性評價(jià)成績組成。每個(gè)情境的過程性評價(jià)量表由評價(jià)內(nèi)容、分值和評價(jià)級別三部分組成。評價(jià)內(nèi)容主要從學(xué)習(xí)過程、方法、態(tài)度三方面選取。評價(jià)等級分為自評、互評和教師點(diǎn)評。自評是學(xué)生對自己所負(fù)責(zé)工作的評價(jià),互評是小組其他成員對這部分工作的評價(jià)。
軟件項(xiàng)目實(shí)訓(xùn)以軟件企業(yè)的實(shí)際需求為導(dǎo)向,以提高學(xué)生的綜合實(shí)踐能力為目標(biāo),是高等人才培養(yǎng)的一項(xiàng)重要環(huán)節(jié)。為克服軟件項(xiàng)目實(shí)訓(xùn)現(xiàn)有教學(xué)中存在的問題,本文從教學(xué)方法、教學(xué)內(nèi)容和評價(jià)體系三個(gè)方面對課程進(jìn)行改進(jìn)。首先,將情境模擬教學(xué)法應(yīng)用于實(shí)踐教學(xué),設(shè)置系統(tǒng)化的模擬情境和工作場景;其次,依托豐富的開源軟件建設(shè)實(shí)訓(xùn)題庫,讓理論得以聯(lián)系實(shí)際;最后,提出一種綜合了總結(jié)性評價(jià)和過程性評價(jià)的課程評價(jià)體系,達(dá)到以評促學(xué)、以評促教的效果。該方案已進(jìn)行了小規(guī)模的教學(xué)實(shí)踐,學(xué)生反饋及提交的軟件項(xiàng)目質(zhì)量表明學(xué)生參與課程的積極性有明顯提高。下一步,將根據(jù)收集到的教學(xué)反饋進(jìn)一步改進(jìn)方案。