張程,劉慧君,古平
摘要:《軟件工程》是計(jì)算機(jī)專業(yè)核心課程,但目前教學(xué)模式上還有很多值得探索的地方,尤其是如何讓學(xué)生將理論與開(kāi)發(fā)實(shí)踐結(jié)合方法上還有待提高。文章提出了項(xiàng)目驅(qū)動(dòng)的團(tuán)隊(duì)開(kāi)發(fā)體驗(yàn)式符合教學(xué)模式,將教學(xué)內(nèi)容與項(xiàng)目開(kāi)發(fā)結(jié)合,通過(guò)Sakai平臺(tái)實(shí)現(xiàn)團(tuán)隊(duì)開(kāi)發(fā)體驗(yàn)和進(jìn)度跟蹤,不僅使學(xué)生加深了對(duì)理論知識(shí)的學(xué)習(xí)體會(huì),還培養(yǎng)了學(xué)生的實(shí)際開(kāi)發(fā)能力和真實(shí)項(xiàng)目團(tuán)隊(duì)體驗(yàn)。
關(guān)鍵詞:軟件工程教學(xué);Sakai平臺(tái);復(fù)合教學(xué)模式
中圖分類號(hào):G642.0???? 文獻(xiàn)標(biāo)志碼:A???? 文章編號(hào):1674-9324(2014)41-0165-03
一、引言
《軟件工程》是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)開(kāi)設(shè)的一門(mén)核心專業(yè)課程,是學(xué)生掌握軟件開(kāi)發(fā)過(guò)程和主流的軟件開(kāi)發(fā)方法的重要途徑。同時(shí),由于該課程偏重于系統(tǒng)設(shè)計(jì)理論與方法學(xué)的講解,抽象概念和理論較多,對(duì)于項(xiàng)目經(jīng)驗(yàn)缺乏、系統(tǒng)知識(shí)零散的學(xué)生而言,學(xué)習(xí)難度相對(duì)較大,不易抓住重點(diǎn),容易造成學(xué)生的抵觸和怠慢情緒。因此,從2012年開(kāi)始,我們?cè)凇盾浖こ獭返慕虒W(xué)過(guò)程中,引入了項(xiàng)目式的教學(xué)方式,并結(jié)合Sakai平臺(tái)作為教學(xué)手段,提出了基于Sakai平臺(tái)的項(xiàng)目驅(qū)動(dòng)教學(xué)改革探索。由于軟件工程是實(shí)踐性很強(qiáng)的技術(shù)方法類課程,其重點(diǎn)在于培養(yǎng)學(xué)生對(duì)于軟件開(kāi)發(fā)過(guò)程的認(rèn)識(shí)和軟件開(kāi)發(fā)方法的掌握,強(qiáng)調(diào)學(xué)生對(duì)于分析、設(shè)計(jì)、編碼實(shí)現(xiàn)、測(cè)試軟件以及撰寫(xiě)配套文檔的理解和實(shí)戰(zhàn)能力。同時(shí),由于現(xiàn)在軟件的普遍復(fù)雜性,軟件開(kāi)發(fā)主要以團(tuán)隊(duì)開(kāi)發(fā)為主,而不再是個(gè)體單打獨(dú)斗的時(shí)代。因此,多給學(xué)生動(dòng)手的機(jī)會(huì),以團(tuán)隊(duì)方式組織開(kāi)發(fā),以提高學(xué)生實(shí)踐動(dòng)手能力,加強(qiáng)團(tuán)隊(duì)協(xié)同的體驗(yàn),是《軟件工程》課程改革必須重視和優(yōu)先解決的問(wèn)題。但是,考慮到軟件工程本身的理論深度和豐富內(nèi)容,課堂的理論教學(xué)量也不能放棄。如何在理論教學(xué)的同時(shí),強(qiáng)化團(tuán)隊(duì)項(xiàng)目開(kāi)發(fā)體驗(yàn)與實(shí)踐,是《軟件工程》教學(xué)改革的一個(gè)重要內(nèi)容和方向。Sakai是一項(xiàng)致力于為高等教育機(jī)構(gòu)設(shè)計(jì)、構(gòu)建和開(kāi)展新型協(xié)作與學(xué)校環(huán)境(CLE)的合作型開(kāi)源軟件開(kāi)發(fā)項(xiàng)目,其目標(biāo)是開(kāi)發(fā)一個(gè)開(kāi)放性資源的合作與學(xué)習(xí)環(huán)境平臺(tái),適合于各級(jí)學(xué)校使用的基于網(wǎng)絡(luò)的基礎(chǔ)性系統(tǒng)架構(gòu),與各高校已有的各種工具模塊和組件整合為一體,形成一套適用于泛在學(xué)習(xí)環(huán)境下高校教學(xué)的新一代網(wǎng)上課程教學(xué)、管理平臺(tái)。Sakai協(xié)作和學(xué)習(xí)環(huán)境是一個(gè)支持教學(xué)、學(xué)習(xí)和學(xué)術(shù)協(xié)作的靈活的、企業(yè)級(jí)的應(yīng)用,它支持全部和部分在線學(xué)習(xí)。目前,世界上有350多個(gè)教育機(jī)構(gòu)采用Sakai作為在線教學(xué)平臺(tái),其中包括耶魯大學(xué)等世界知名大學(xué);Sakai服務(wù)的用戶數(shù)量超過(guò)20萬(wàn),并且其應(yīng)用范圍和參與的人數(shù)還在不斷擴(kuò)大。Sakai項(xiàng)目近年來(lái)在我國(guó)迅速推廣,國(guó)內(nèi)學(xué)者研究將Sakai作為智能協(xié)作平臺(tái)、中小學(xué)教師遠(yuǎn)程培訓(xùn)系統(tǒng)、混合學(xué)習(xí)模式下學(xué)習(xí)平臺(tái)、制作網(wǎng)絡(luò)課程的平臺(tái)等,復(fù)旦大學(xué)、北京郵電大學(xué)、重慶大學(xué)等都進(jìn)行了功能模塊研發(fā)及應(yīng)用實(shí)驗(yàn)。重慶大學(xué)于2012年開(kāi)始在大學(xué)本科教學(xué)中試用Sakai平臺(tái)作為課堂教學(xué)的有力補(bǔ)充,《軟件工程》作為計(jì)算機(jī)專業(yè)的核心專業(yè)課程,第一時(shí)間成為了Sakai平臺(tái)試點(diǎn)的首選課程之一。經(jīng)過(guò)近2年的課程改革與實(shí)踐體驗(yàn),通過(guò)Sakai平臺(tái)可以更好地解決《軟件工程》課堂教學(xué)與實(shí)踐環(huán)節(jié)相融合的集成過(guò)程,更為《軟件工程》的團(tuán)隊(duì)體驗(yàn)式項(xiàng)目開(kāi)發(fā)提供了有效手段和方法。
二、項(xiàng)目團(tuán)隊(duì)開(kāi)發(fā)體驗(yàn)式復(fù)合教學(xué)模式
復(fù)合教學(xué)模式是以科學(xué)的教學(xué)理論為指導(dǎo),依托分組教學(xué)、研討、協(xié)作、活動(dòng)參與等多種教學(xué)模式的相互交叉、相互滲透,并融合多元化的教學(xué)內(nèi)容、多樣化的教學(xué)形式、現(xiàn)代化的教學(xué)方法而形成的綜合性、立體性的教學(xué)模式。結(jié)合《軟件工程》的課程特點(diǎn),提出“項(xiàng)目團(tuán)隊(duì)開(kāi)發(fā)體驗(yàn)式復(fù)合教學(xué)模式”,以項(xiàng)目為主體,以項(xiàng)目團(tuán)隊(duì)為組織形式,進(jìn)行軟件項(xiàng)目分析、設(shè)計(jì)、實(shí)現(xiàn)和管理,在項(xiàng)目實(shí)施過(guò)程中,激勵(lì)學(xué)生自我認(rèn)識(shí),引導(dǎo)學(xué)生獨(dú)立思考與創(chuàng)新,營(yíng)造交叉討論的氛圍,鼓勵(lì)學(xué)生主動(dòng)表達(dá)各自的觀點(diǎn)和思想,從而積極主動(dòng)地參與分析、評(píng)價(jià)等活動(dòng),將軟件工程的分析、設(shè)計(jì)、實(shí)現(xiàn)、管理等知識(shí)點(diǎn)融合到項(xiàng)目實(shí)施的各個(gè)階段。其主要方法包括以下幾種。
1.學(xué)生分組。根據(jù)學(xué)生個(gè)人能力的不同,結(jié)合男、女生組合搭配的考慮,在進(jìn)行學(xué)生分組時(shí),教師會(huì)提出相關(guān)建議,以鼓勵(lì)學(xué)生組織的團(tuán)隊(duì)具有較強(qiáng)的分析、設(shè)計(jì)、開(kāi)發(fā)能力,同時(shí)也具備良好的協(xié)同配合能力和外部溝通能力。建議一:學(xué)生分組時(shí)應(yīng)考慮到軟件項(xiàng)目可開(kāi)發(fā)涉及的系統(tǒng)分析、設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試環(huán)節(jié),而不能簡(jiǎn)單理解為“程序開(kāi)發(fā)=編程”,不要只追求開(kāi)發(fā)能力強(qiáng),而應(yīng)該更廣泛地組織團(tuán)隊(duì)成員。建議二:建議男、女生組合搭配,提高項(xiàng)目團(tuán)隊(duì)的配合溝通能力。建議三:項(xiàng)目組長(zhǎng)不一定必須是開(kāi)發(fā)能力最強(qiáng)的學(xué)生,而應(yīng)該是具有一定的組織協(xié)調(diào)能力和團(tuán)隊(duì)凝聚力,與項(xiàng)目團(tuán)隊(duì)成員之間關(guān)系密切并能夠保持與成員間良好溝通,具備管理能力的同學(xué)。建議四:項(xiàng)目團(tuán)隊(duì)人員應(yīng)限制到4~5人,不允許有2人或以下的開(kāi)發(fā)團(tuán)隊(duì),適當(dāng)允許2~3組的團(tuán)隊(duì)成員為5~6人,以確保教學(xué)班的每個(gè)同學(xué)都能夠進(jìn)入到一個(gè)開(kāi)發(fā)團(tuán)隊(duì)中。
2.項(xiàng)目確定。最初的項(xiàng)目確定,采取各項(xiàng)目團(tuán)隊(duì)自主設(shè)置題目的方式,但發(fā)現(xiàn)存在一定的問(wèn)題,主要有:學(xué)生設(shè)置的題目過(guò)于零散,多數(shù)偏向簡(jiǎn)單化,不利于應(yīng)用和展現(xiàn)軟件開(kāi)發(fā)的過(guò)程和方法;題目過(guò)多,不利于教師的引導(dǎo)和講解,千奇百怪的諸多題目,讓教師很難在課堂上結(jié)合軟件工程的方法對(duì)所有項(xiàng)目進(jìn)行指導(dǎo);學(xué)生自主選擇的題目可能涉及多種編程語(yǔ)言,不易在學(xué)校提供的實(shí)驗(yàn)環(huán)境中實(shí)現(xiàn)。因此,后期及時(shí)對(duì)各項(xiàng)目團(tuán)隊(duì)的開(kāi)發(fā)題目進(jìn)行了控制,指定了諸如“校園餐飲管理系統(tǒng)”、“校園一卡通管理系統(tǒng)”、“學(xué)生選課系統(tǒng)”、“學(xué)生考勤管理系統(tǒng)”等貼近學(xué)生生活,能夠日常感知并對(duì)其有所體會(huì)和想法的題目,更好地讓學(xué)生能夠真正參與到項(xiàng)目開(kāi)發(fā)中。
3.團(tuán)隊(duì)管理跟蹤。傳統(tǒng)的《軟件工程》課程項(xiàng)目的團(tuán)隊(duì)管理,主要是以書(shū)面報(bào)告的方式進(jìn)行跟蹤。但一學(xué)期的《軟件工程》課程,能夠讓各開(kāi)發(fā)團(tuán)隊(duì)提交書(shū)面報(bào)告的次數(shù)畢竟很少,這樣并不能夠緊密跟蹤了解各軟件開(kāi)發(fā)團(tuán)隊(duì)的項(xiàng)目進(jìn)展,也無(wú)法確保每個(gè)團(tuán)隊(duì)成員的參與程度。而Sakai平臺(tái)恰恰解決了這個(gè)問(wèn)題。Sakai平臺(tái)提供了分組功能,允許學(xué)生進(jìn)行分組,并以分組方式提交作業(yè)、參與討論等。由于每個(gè)學(xué)生都有自己的賬號(hào)登陸Sakai系統(tǒng),而系統(tǒng)會(huì)記錄每個(gè)學(xué)生在平臺(tái)中的操作,發(fā)表的貼子,提交的作業(yè)等?!盾浖こ獭氛n程教師為每個(gè)分組提供了“討論區(qū)”,各個(gè)項(xiàng)目團(tuán)隊(duì)可以針對(duì)自己項(xiàng)目的每個(gè)階段內(nèi)容分別建立“討論版面”,提交討論主題,并用項(xiàng)目成員各自的賬號(hào)展開(kāi)討論。教師可以瀏覽討論區(qū),了解每個(gè)項(xiàng)目團(tuán)隊(duì)的討論主題以及每個(gè)項(xiàng)目成員的參與情況,對(duì)每個(gè)項(xiàng)目成員的參與程度和承擔(dān)的工作量有直觀的量化了解。
4.過(guò)程管理。由于項(xiàng)目開(kāi)發(fā)題目都是以學(xué)生在學(xué)校環(huán)境中能夠感知和體會(huì)到的內(nèi)容為主,因此,學(xué)生應(yīng)能夠從用戶的角度和開(kāi)發(fā)人員的角度對(duì)項(xiàng)目進(jìn)行需求分析和設(shè)計(jì),并提交相關(guān)文檔。而教師以需求方與技術(shù)顧問(wèn)的雙重身份參與其中。作為需求方,教師針對(duì)演練項(xiàng)目提供大致的功能需求,鼓勵(lì)學(xué)生通過(guò)分析問(wèn)題、調(diào)查研究、分析需求和管理需求等活動(dòng),學(xué)習(xí)軟件需求工程的基礎(chǔ)知識(shí)和基本技能。作為技術(shù)顧問(wèn),教師為學(xué)生提供相應(yīng)的學(xué)習(xí)資源和解決問(wèn)題的方法及手段的建議,引導(dǎo)學(xué)生獨(dú)立思考和討論。項(xiàng)目開(kāi)發(fā)以迭代方式進(jìn)行,使用敏捷開(kāi)發(fā)方法,可以確保學(xué)生能夠在較短的時(shí)間內(nèi)做出可運(yùn)行的系統(tǒng),并不斷演化完善。這樣,能夠激發(fā)學(xué)生對(duì)于《軟件工程》的學(xué)習(xí)興趣,提高他們的學(xué)習(xí)積極性和主動(dòng)性。Sakai平臺(tái)提供的“作業(yè)”和“資源”模塊,可以有效地幫助教師進(jìn)行過(guò)程管理。教師可以以“作業(yè)”方式要求各項(xiàng)目團(tuán)隊(duì)提交里程碑文檔或階段性文檔,在“作業(yè)”中設(shè)置“作業(yè)截止時(shí)間”和“最晚提交時(shí)間”,可以限制項(xiàng)目團(tuán)隊(duì)的進(jìn)度安排,增加項(xiàng)目團(tuán)隊(duì)的時(shí)間緊迫感和對(duì)于項(xiàng)目進(jìn)度的現(xiàn)實(shí)體會(huì)。同時(shí),由于允許“反復(fù)提交”,可以比較項(xiàng)目團(tuán)隊(duì)對(duì)于同一個(gè)問(wèn)題的不同方案版本,掌握他們對(duì)于項(xiàng)目開(kāi)發(fā)問(wèn)題的認(rèn)知過(guò)程,為課堂教學(xué)內(nèi)容調(diào)整提供依據(jù)和參考。
5.項(xiàng)目驗(yàn)收。在完成演練項(xiàng)目的開(kāi)發(fā)任務(wù)后,由教師組織項(xiàng)目驗(yàn)收討論會(huì),要求每個(gè)小組演示項(xiàng)目成果,從系統(tǒng)背景、團(tuán)隊(duì)介紹、采用的技術(shù)、系統(tǒng)優(yōu)勢(shì)及存在問(wèn)題等方面匯報(bào),演示系統(tǒng)的各項(xiàng)功能,回答教師和同學(xué)的提問(wèn),以團(tuán)隊(duì)的形式提交軟件需求規(guī)格說(shuō)明書(shū)、軟件設(shè)計(jì)文檔、項(xiàng)目代碼、軟件測(cè)試文檔、軟件過(guò)程管理文檔、每周工作報(bào)告以及任務(wù)跟蹤表等材料。
6.成果考核。由于項(xiàng)目開(kāi)發(fā)以團(tuán)隊(duì)方式進(jìn)行,因此,成果考核以及成績(jī)核定,也同樣以團(tuán)隊(duì)方式進(jìn)行。項(xiàng)目成果的評(píng)定成績(jī)和等級(jí)決定了該項(xiàng)目團(tuán)隊(duì)所有成員的成績(jī)和等級(jí)上限。然后由項(xiàng)目組組長(zhǎng)依據(jù)該項(xiàng)目成果成績(jī),以及項(xiàng)目團(tuán)隊(duì)各成員在該項(xiàng)目開(kāi)發(fā)中發(fā)揮的作用和參與的工作量以及效果給出推薦成績(jī),并最終由教師根據(jù)各個(gè)成員在sakai上體現(xiàn)出的項(xiàng)目參與度進(jìn)行綜合評(píng)價(jià)和最終評(píng)分。
隨著國(guó)內(nèi)軟件產(chǎn)業(yè)的發(fā)展,軟件企業(yè)對(duì)軟件人才的需求無(wú)論從數(shù)量上還是從質(zhì)量上都在不斷提升,這也使得高校不斷地嘗試和探索進(jìn)行各種課程教學(xué)模式的改革,從而真正培養(yǎng)出具有實(shí)踐開(kāi)發(fā)能力的軟件人才。筆者正是基于這一背景而提出的軟件工程課程體驗(yàn)實(shí)踐復(fù)合教學(xué)模式方案,以Sakai開(kāi)放性資源的合作與學(xué)習(xí)環(huán)境平臺(tái)為依托,通過(guò)團(tuán)隊(duì)項(xiàng)目開(kāi)發(fā)方式來(lái)切實(shí)提高學(xué)生的軟件工程實(shí)踐能力。該方案從2012年提出并開(kāi)始實(shí)施,并對(duì)2010級(jí)和2011級(jí)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的學(xué)生進(jìn)行了實(shí)踐教學(xué)改革的嘗試,取得了良好的教學(xué)效果。
參考文獻(xiàn):
[1]江麗君,謝新就,騰艷楊.開(kāi)源Sakai的特色及應(yīng)用分析[J].現(xiàn)代教育技術(shù),2011,(10):10-13.
[2]Sakai Project.[DB/OL].
http://www.sakaiproject.org.
[3]張丹,王建華.基于Sakai的智能協(xié)作教學(xué)平臺(tái)的研究[J].黑龍江科技信息,2011,(04):75-76.
[4]張屹,許哲,張帆,等.基于Sakai平臺(tái)的村鎮(zhèn)中小學(xué)教師遠(yuǎn)程培訓(xùn)應(yīng)用模式初探[J].中國(guó)電化教育,2010,(05):51-55.
[5]茍超群,刁永鋒,周茂麗.Sakai平臺(tái)在混合式教學(xué)中的應(yīng)用[J].電化教育研究,2010,(08):73-76.
[6]梁明,趙蔚,劉紅霞.Sakai平臺(tái)上基于知識(shí)管理的網(wǎng)絡(luò)課程創(chuàng)建探析[J].現(xiàn)代教育技術(shù),2010,(04):95-98.
[7]江興軍.運(yùn)用“體驗(yàn)式學(xué)習(xí)”方法解決高校體育教學(xué)中的幾個(gè)問(wèn)題[J].中國(guó)科教創(chuàng)新導(dǎo)刊,2010,(14).
[8]董亞珍.體驗(yàn)式教學(xué)模式理論思想及教學(xué)理念[J].吉林省教育學(xué)院學(xué)報(bào),2008,(10).
基金項(xiàng)目:重慶市教學(xué)改革重發(fā)票點(diǎn)項(xiàng)目(132025)
作者簡(jiǎn)介:張程(1977-),男,講師,研究方向?yàn)檐浖_(kāi)發(fā)技術(shù),移動(dòng)智能;劉慧君(1975-),男,副教授,研究方向?yàn)檐浖_(kāi)發(fā)技術(shù),個(gè)性化推薦;古平(1976-),男,副教授,研究方向?yàn)橛?jì)算機(jī)軟件與理論。