崔 霄 崔建濤 胡春暉 曹 潔 張靜靜
(鄭州輕工業(yè)學(xué)院軟件學(xué)院,河南 鄭州 450001)
基于極限編程理論的項目驅(qū)動沉浸式教學(xué)模式研究
崔 霄 崔建濤 胡春暉 曹 潔 張靜靜
(鄭州輕工業(yè)學(xué)院軟件學(xué)院,河南 鄭州 450001)
針對高校軟件學(xué)院基于項目驅(qū)動教學(xué)方法中存在的問題,本文探討了基于企業(yè)實際項目驅(qū)動的教學(xué)模式,提出了一種貫穿軟件工程專業(yè)教學(xué)全過程、基于極限編程理論的沉浸式教學(xué)模式。實踐證明,這種教學(xué)模式減少了項目實施前期文檔工作量,使學(xué)生盡快看到項目實施結(jié)果,可以大幅提高學(xué)生學(xué)習(xí)主動性,更好地理解軟件工程專業(yè)課程體系。
沉浸式教學(xué);極限編程;項目驅(qū)動;軟件工程
近年來,國家以信息化帶動工業(yè)化的產(chǎn)業(yè)結(jié)構(gòu)戰(zhàn)略調(diào)整,對軟件工程專業(yè)人才培養(yǎng)提出了更高的要求。國內(nèi)高校各軟件學(xué)院當(dāng)前的發(fā)展方向主要是加強(qiáng)校企聯(lián)合,探索產(chǎn)學(xué)合作培養(yǎng)應(yīng)用型軟件人才,并積極推進(jìn)基于項目案例的軟件工程類專業(yè)教學(xué)實踐。但是,從企業(yè)反饋的情況來看,國內(nèi)大部分軟件學(xué)院畢業(yè)的學(xué)生,其知識和能力與企業(yè)的實際需求,還存在一定的距離。
當(dāng)前基于項目驅(qū)動案例教學(xué),主要存在三個問題:第一,軟件工程專業(yè)教學(xué)過程中,文字性、說明性和理論性的內(nèi)容較多,教學(xué)過程枯燥導(dǎo)致學(xué)生學(xué)習(xí)興趣下降;第二,教學(xué)過程脫離應(yīng)用,學(xué)生能夠理解并基本掌握所學(xué)理論知識,但工程實踐中遇到實際問題,卻無所適從;第三,學(xué)生對不同課程之間的關(guān)聯(lián)理解不深,因此,學(xué)生看重具體的程序設(shè)計類課程,輕視軟件工程、算法設(shè)計等理論指導(dǎo)性課程。以項目設(shè)計為例,學(xué)生無法將軟件工程課程中的需求分析與設(shè)計知識,同具體的編程階段相互關(guān)聯(lián),造成學(xué)生學(xué)習(xí)缺乏整體感和層次感。
針對以上問題,本文分別提出了解決方案。首先,針對問題一,采用基于極限編程的教學(xué)模式,可以減少項目實施過程中前期文檔工作量,快速得到項目結(jié)果,提高學(xué)生學(xué)習(xí)積極性;針對問題二,項目案例的選擇需要使用企業(yè)在生成環(huán)境中,實際應(yīng)用的具體項目案例;針對問題三,本文提出沉浸式教學(xué),可以讓學(xué)生在學(xué)習(xí)理論知識的同時,知道如何靈活運(yùn)用這些理論知識來解決具體的工程問題,貫穿軟件工程專業(yè)學(xué)生的不同課程知識,讓學(xué)生建立起系統(tǒng)、整體的知識結(jié)構(gòu)體系。
項目驅(qū)動教學(xué)模式是一種以學(xué)生為中心的、基于任務(wù)驅(qū)動的、基于建構(gòu)主義學(xué)習(xí)理論的一種教學(xué)方式。基于項目驅(qū)動的教學(xué)模式,進(jìn)一步可以把一個完整項目劃分成若干個子項目,每個子項目都與這個項目有著密切的關(guān)聯(lián),然后把相關(guān)的知識點融入到這些子項目中去,如圖1所示。實際教學(xué)中將理論與實踐緊密結(jié)合,會起到事半功倍的效果。
圖1 項目驅(qū)動軟件工程過程模型
沉浸式教學(xué),即在語言類教學(xué)中,將學(xué)生“浸泡”在目的語言環(huán)境中。本文借用了“沉浸式”的概念,讓軟件工程專業(yè)的學(xué)生在學(xué)習(xí)中始終“沉浸”在一個具體的項目工程中。學(xué)生在課程學(xué)習(xí)之初、學(xué)習(xí)過程中和學(xué)習(xí)結(jié)束后,始終貫穿著以下幾個問題:本課程在項目開發(fā)之中,能做什么、能解決什么問題、本課程在項目整體中的位置和本課程在實際應(yīng)用中的體系結(jié)構(gòu)等。
本文提出的沉浸式教學(xué)基本思路是貫穿課程教學(xué)始終,從課程學(xué)習(xí)的初期開始進(jìn)行沉浸式教學(xué)。教學(xué)過程可以劃分為三種類型:早期浸入式、中期浸入式和晚期浸入式三種。一般而言,早期浸入式是在本課程開始時,從實際項目中的應(yīng)用開始導(dǎo)入課程的基本概念,闡述項目開發(fā)遇到的問題和本課程所能解決的問題;中期浸入式是指在教學(xué)過程中,以問題驅(qū)動模式來逐漸講解課程章節(jié)內(nèi)容,并逐次解決項目中遇到的問題;晚期浸入是指在課程結(jié)束時,把項目總結(jié)和課程復(fù)習(xí)相結(jié)合,使學(xué)生對本課程建立起相對完整的概念,解決學(xué)生對知識應(yīng)用缺乏整體感的困惑。
極限編程(Extreme Programming,簡稱XP)是由Kent Beck在1996年提出的一種螺旋式、迭代程序開發(fā)方法。與傳統(tǒng)的軟件工程項目開發(fā)流程相比,極限編程是輕量級的、靈巧的軟件開發(fā)方法。在開發(fā)過程中,將任務(wù)、系統(tǒng)細(xì)分為可以在較短周期解決的一個個子任務(wù)、子系統(tǒng)和子模塊,并且強(qiáng)調(diào)立即測試、高代碼質(zhì)量和及早發(fā)現(xiàn)問題。它將復(fù)雜的開發(fā)過程分解為一個個相對比較簡單的小周期。
傳統(tǒng)的軟件工程項目實施過程中,一般都遵循“可行性分析、系統(tǒng)設(shè)計、詳細(xì)設(shè)計、項目編碼、系統(tǒng)測試”等一系列步驟,由于最終實現(xiàn)需要長時間分析、建立文檔,而前期的文檔類工作冗長、枯燥,學(xué)生的積極性逐漸降低并失去主動性。XP這種“短周期,常發(fā)布”的開發(fā)方式,能在較短時間內(nèi)做出系統(tǒng)原型,使得學(xué)生很快看到項目開發(fā)的“成果”,從而提高學(xué)習(xí)積極性,進(jìn)而主動產(chǎn)生學(xué)習(xí)、開發(fā)、完善項目的興趣。
一個完整、基于實際應(yīng)用的良好軟件工程項目案例,應(yīng)該能夠解決企業(yè)實際需求,并基本涵蓋軟件工程類專業(yè)學(xué)科絕大部分知識點。項目的設(shè)置應(yīng)遵循如下原則:
(1)完整性:項目內(nèi)容應(yīng)基本涵蓋軟件工程課程體系的絕大部分知識點;
(2)實用性:選擇的項目應(yīng)有一定的綜合性、實踐性,即項目選擇應(yīng)基于實際應(yīng)用的項目;
(3)系統(tǒng)性:項目選擇在實施過程中,應(yīng)該符合軟件工程基本流程,從易到難,逐次推進(jìn),項目完成應(yīng)能看到具體的效果。
良好的項目案例選擇應(yīng)在項目實施的各個階段,涵蓋軟件工程教學(xué)課程體系的大部分重要知識點,本文以一個具體的企業(yè)ERP項目,進(jìn)一步詳述ERP項目案例與軟件工程課程體系的知識映射關(guān)系,案例原型如圖2所示。
圖2 企業(yè)ERP項目原型
項目ERP客戶需要將企業(yè)資源,如客戶、外協(xié)商、業(yè)務(wù)、出入庫、賬務(wù)、車間制作、員工信息、業(yè)務(wù)溝通和基礎(chǔ)信息統(tǒng)一管理,用戶需要分別使用瀏覽器和移動端訪問系統(tǒng)。
表1 基于極限編程、項目驅(qū)動沉浸式教學(xué)與學(xué)科課程知識的映射
本文所示的企業(yè)ERP對應(yīng)傳統(tǒng)項目驅(qū)動的教學(xué)方法,分為項目選擇、需求分析、概要和詳細(xì)設(shè)計等。對于基于極限編程的、項目驅(qū)動、沉浸式教學(xué)模型來說,省略了前期冗長的文檔階段,直接開始項目分析和實施,其具體描述如表1所示,本表省略了項目編碼和測試階段。
在項目實施的每個階段,都需要軟件工程不同課程的相關(guān)知識,因此,可以將完整的項目分解成多個子項目,每一個子項目對應(yīng)軟件工程不同課程中的不同知識點,因此,完整項目可以貫穿軟件工程專業(yè)的大部分科目。教師根據(jù)教學(xué)科目,選擇其中的一個子項目來進(jìn)行教學(xué)、演示和實訓(xùn)。教學(xué)過程中,將學(xué)生分組實施具體的子項目。將項目展示給學(xué)生后,接下來要引導(dǎo)學(xué)生一步步分析項目。弄清在完成項目的過程中,哪些可以運(yùn)用已有知識解決,哪些是未知的,并進(jìn)一步導(dǎo)入下一階段課程。
當(dāng)學(xué)生完成本課程體系中的大部分課程時,整個項目也順利完成。由于具體課程教學(xué)需要較為全面的子項目,因此基于實際應(yīng)用的完整項目選擇尤其重要。
本文提出了基于極限編程理論下的項目驅(qū)動、沉浸式教學(xué)模型,通過選取貫穿全課程體系的、基于企業(yè)實際應(yīng)用的完整項目案例,忽略冗長、枯燥的項目文檔編寫,忽略部分細(xì)節(jié),采用極限編程的思想,讓學(xué)生聚焦主要問題,課后做大量資料準(zhǔn)備工作,迅速對計算機(jī)軟件項目形成整體思想。
通過建立課程群知識點與項目之間的映射關(guān)系,把完整項目分解成不同的子項目,建立不同的子目標(biāo),來講解、演示每一個子目標(biāo)的具體知識點。促進(jìn)學(xué)生學(xué)習(xí)知識向提高能力的轉(zhuǎn)化,發(fā)揮學(xué)生創(chuàng)造潛能,提高學(xué)生學(xué)習(xí)主動性,促進(jìn)學(xué)生團(tuán)隊合作能力。
[1]蔡琴,張凱.項目驅(qū)動教學(xué)模式在軟件工程教學(xué)中的應(yīng)用[J].實驗科學(xué)與技術(shù),2014,12(4):175-178.
[2]殷海明,魏遠(yuǎn)旺.極限編程和項目驅(qū)動相結(jié)合的軟件工程教學(xué)方法探究[J].新余學(xué)院學(xué)報,2012,17(3):121-122.
[3]唐成華,張瑞霞,張凈.基于認(rèn)知曲線的項目案例實踐教學(xué)法研究[J].實驗科學(xué)與技術(shù),2016,14(6):98-101.
[4]蘇統(tǒng)華,李全龍,涂志瑩,等.校企共建模式的創(chuàng)新實驗課程建設(shè)體系[J].計算機(jī)教育,2017(8):173-177.
Research on Project-driven Immersion Teaching Model Based on Extreme Programming Theory
Cui Xiao Cui Jiantao Hu ChunhuiCao Jie Zhang Jingjing
(Zhengzhou University of Light Industry,Zhengzhou 450001,Henan)
Aiming at the existing problems in the software engineering teaching,this paper intends to construct an immersion teaching model based on extreme programming theory.This model uses practical application projects,throughout the whole teaching process.Practice has proved that this teaching model allows students to reduce the workload of the document,improve the learning initiative,and understand the curriculum theory better.
immersion teaching;immersion teaching model;project-driven;software engineering
G434
A
1008-6609(2017)10-0078-03
崔霄(1974-),男,河南項城人,博士,講師,研究方向為計算機(jī)仿真、物聯(lián)網(wǎng)與傳感器件。