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