胡煒,羅來(lái)俊
(江西理工大學(xué)軟件學(xué)院,江西南昌 330013)
基于項(xiàng)目驅(qū)動(dòng)的軟件工程實(shí)踐教學(xué)研究
胡煒,羅來(lái)俊
(江西理工大學(xué)軟件學(xué)院,江西南昌 330013)
項(xiàng)目驅(qū)動(dòng)教學(xué)是一種將項(xiàng)目貫穿到實(shí)踐教學(xué)當(dāng)中的教學(xué)方法,該方法能充分鍛煉學(xué)生的綜合能力,讓學(xué)生將來(lái)更好地適應(yīng)企業(yè)的需求.本文提出了基于項(xiàng)目驅(qū)動(dòng)的軟件工程實(shí)踐教學(xué)方法,并對(duì)其中的項(xiàng)目選擇、項(xiàng)目執(zhí)行規(guī)劃、項(xiàng)目實(shí)施與項(xiàng)目教學(xué)評(píng)價(jià)等關(guān)鍵環(huán)節(jié)進(jìn)行了詳細(xì)的闡述.實(shí)踐證明該項(xiàng)目教學(xué)方法取得了良好的效果.
項(xiàng)目驅(qū)動(dòng);軟件工程;實(shí)踐教學(xué)
軟件工程專業(yè)是實(shí)踐性極強(qiáng)的專業(yè),實(shí)踐教學(xué)在整個(gè)教學(xué)過(guò)程中具有十分重要的作用.當(dāng)前國(guó)內(nèi)高?;径奸_設(shè)了軟件工程實(shí)踐教學(xué)課程,但不少高校的實(shí)踐教學(xué)效果并不理想,其主要原因是實(shí)踐教學(xué)的系統(tǒng)性和深度不夠,實(shí)踐教學(xué)的內(nèi)容主要以軟件工程專業(yè)課程知識(shí)點(diǎn)驗(yàn)證為主,且各學(xué)期間的實(shí)踐教學(xué)內(nèi)容連貫性不夠,不能持續(xù)深入地培養(yǎng)學(xué)生某方面的軟件開發(fā)能力.經(jīng)過(guò)實(shí)踐教學(xué)后學(xué)生僅能對(duì)單個(gè)的知識(shí)點(diǎn)有所理解,對(duì)于綜合性的軟件工程項(xiàng)目依舊十分茫然、難以上手.而軟件企業(yè)對(duì)于畢業(yè)生的工程實(shí)踐能力要求較高,通常企業(yè)希望招到實(shí)踐動(dòng)手能力強(qiáng)、具有一定項(xiàng)目經(jīng)驗(yàn)的畢業(yè)生.從人才培養(yǎng)與企業(yè)需求的角度出發(fā),有必要將特定的軟件工程開發(fā)項(xiàng)目與實(shí)踐教學(xué)相互結(jié)合,讓學(xué)生在實(shí)踐教學(xué)過(guò)程當(dāng)中逐步培養(yǎng)自己的項(xiàng)目實(shí)踐能力.據(jù)此,本文提出了基于項(xiàng)目驅(qū)動(dòng)的軟件工程專業(yè)實(shí)踐教學(xué)方法.
項(xiàng)目教學(xué)法由美國(guó)教育家凱茲教授與加拿大教育家查德教授共同創(chuàng)建,20世紀(jì)末期以來(lái)在高等教育中得到了廣泛的應(yīng)用,并在實(shí)踐教學(xué)中取得了良好的效果.實(shí)踐教學(xué)中的項(xiàng)目來(lái)源于工程實(shí)踐,有一定應(yīng)用價(jià)值,難度適宜.項(xiàng)目驅(qū)動(dòng)教學(xué)將項(xiàng)目實(shí)現(xiàn)的全過(guò)程貫穿到實(shí)踐教學(xué)中,能較好地挖掘?qū)W生的學(xué)習(xí)潛能,調(diào)動(dòng)學(xué)生的學(xué)習(xí)熱情,改觀傳統(tǒng)教學(xué)中學(xué)生基本處于被動(dòng)的學(xué)習(xí)局面;能把學(xué)生在課堂上遇到的抽象、難以理解的知識(shí)點(diǎn)與工程項(xiàng)目有機(jī)聯(lián)系在一起,從而能讓學(xué)生更加形象、直觀地理解并加以掌握;能真正達(dá)到學(xué)以致用,學(xué)有所用的效果,讓學(xué)生在完成項(xiàng)目的過(guò)程中鞏固所學(xué)的知識(shí)點(diǎn)并做到融會(huì)貫通;能有效地將社會(huì)需求與學(xué)校教育融為一體,使學(xué)生提前獲得就業(yè)中所需的工程實(shí)踐能力、獨(dú)立分析能力、溝通交流能力、團(tuán)隊(duì)合作等能力,為學(xué)生以后快速融入工作崗位打下堅(jiān)實(shí)的基礎(chǔ).
科學(xué)地選擇軟件工程實(shí)踐項(xiàng)目是保證實(shí)踐教學(xué)取得成功的關(guān)鍵.因此在選擇實(shí)踐項(xiàng)目時(shí)要綜合考慮各方面的因素,其中的關(guān)鍵是所選擇的項(xiàng)目要與學(xué)生本學(xué)期所學(xué)的理論知識(shí)相匹配.如果項(xiàng)目選擇不恰當(dāng),教學(xué)效果肯定不好.有些學(xué)校實(shí)踐教學(xué)外請(qǐng)企業(yè)的人員來(lái)上課,如果企業(yè)人員安排的實(shí)踐項(xiàng)目與學(xué)生所掌握的理論脫節(jié),則學(xué)生在學(xué)習(xí)基本理論的同時(shí)還要及時(shí)完成項(xiàng)目,而實(shí)踐教學(xué)的時(shí)間通常不會(huì)很長(zhǎng),學(xué)生在較短的時(shí)間內(nèi)往往很難完成項(xiàng)目任務(wù),導(dǎo)致實(shí)踐教學(xué)的效果很不理想,甚至?xí)绊憣W(xué)生今后學(xué)習(xí)的信心.
通常應(yīng)該將實(shí)踐教學(xué)的項(xiàng)目分為基礎(chǔ)項(xiàng)目與綜合項(xiàng)目:基礎(chǔ)項(xiàng)目主要面向低年級(jí)學(xué)生,其難度和深度需要控制;綜合項(xiàng)目主要面向高年級(jí)學(xué)生,其難度和深度應(yīng)該貼近真實(shí)項(xiàng)目需求.基礎(chǔ)項(xiàng)目與綜合項(xiàng)目有難度和深度的差別,但在選題類型上應(yīng)該注意連貫性與漸進(jìn)性,要能按年級(jí)持續(xù)地培養(yǎng)學(xué)生某方面的核心能力.比如針對(duì)大一的學(xué)生通常會(huì)進(jìn)行C語(yǔ)言的實(shí)踐教學(xué),其實(shí)踐教學(xué)項(xiàng)目可以選擇利用C語(yǔ)言來(lái)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的人事信息管理系統(tǒng)或?qū)W生成績(jī)管理系統(tǒng)等.學(xué)生進(jìn)入高年級(jí)后還將學(xué)習(xí)JAVA、JSP、C#、ASP.NET等更高級(jí)的程序設(shè)計(jì)技術(shù),利用新技術(shù)可以去開發(fā)更高級(jí)的人事信息管理系統(tǒng)、學(xué)生成績(jī)管理系統(tǒng)等.學(xué)生在有了前期的實(shí)踐基礎(chǔ)后,后面高年級(jí)的實(shí)踐項(xiàng)目就更容易完成,也更能激發(fā)他們的學(xué)習(xí)興趣.綜合項(xiàng)目的完成可以參照企業(yè)流程來(lái)完成,通過(guò)綜合項(xiàng)目的實(shí)踐訓(xùn)練,能讓學(xué)生提前熟悉軟件企業(yè)的研發(fā)流程與工作環(huán)境.
在實(shí)踐項(xiàng)目實(shí)施前,科學(xué)地制定項(xiàng)目執(zhí)行計(jì)劃是保證實(shí)踐教學(xué)取得成功的重要前提.一個(gè)好的項(xiàng)目執(zhí)行計(jì)劃能讓項(xiàng)目的實(shí)施更加合理、流暢與高效.項(xiàng)目執(zhí)行計(jì)劃中通常包括項(xiàng)目需求、任務(wù)分解、技術(shù)路線以及組織分工等.項(xiàng)目計(jì)劃制定前先要將班級(jí)學(xué)生進(jìn)行合理分組,再由每個(gè)分組單獨(dú)制定項(xiàng)目執(zhí)行計(jì)劃.在項(xiàng)目執(zhí)行計(jì)劃的制定過(guò)程中要以學(xué)生為主,教師只做相應(yīng)的引導(dǎo)工作,并適當(dāng)提供一些參考資料和方向性的建議.制定項(xiàng)目計(jì)劃能很好地鍛煉學(xué)生對(duì)于軟件項(xiàng)目的總體把握能力和分析解決問題的能力.為了確保各個(gè)項(xiàng)目小組的計(jì)劃可行與高效,在各小組完成本組項(xiàng)目執(zhí)行計(jì)劃的制定后,教師可以組織所有學(xué)生對(duì)各項(xiàng)目小組的執(zhí)行計(jì)劃進(jìn)行比較,通過(guò)比較可以讓各小組看到別人的優(yōu)點(diǎn)和本組項(xiàng)目計(jì)劃的不足,教師作適當(dāng)點(diǎn)評(píng)并幫助學(xué)生對(duì)執(zhí)行計(jì)劃進(jìn)行優(yōu)化.項(xiàng)目執(zhí)行計(jì)劃的對(duì)比與優(yōu)化過(guò)程十分必要,可以有效避免某些小組在計(jì)劃執(zhí)行后期才發(fā)現(xiàn)本組執(zhí)行計(jì)劃的問題,后期發(fā)現(xiàn)問題再重新修改計(jì)劃將是十分被動(dòng)的,將導(dǎo)致該組最終難以按時(shí)完成任務(wù).項(xiàng)目執(zhí)行計(jì)劃的制定過(guò)程如下圖所示.
圖1 項(xiàng)目執(zhí)行計(jì)劃的制定過(guò)程
在項(xiàng)目執(zhí)行計(jì)劃的指引下,本階段的任務(wù)是對(duì)軟件項(xiàng)目進(jìn)行具體實(shí)現(xiàn),將前期的規(guī)劃設(shè)計(jì)變成真實(shí)軟件.在該過(guò)程中學(xué)生將遇到許多挑戰(zhàn)與困擾,尤其是綜合性的項(xiàng)目完成難度更大,也將給學(xué)生帶來(lái)不小的壓力.因此在該過(guò)程中教師一定要做好技術(shù)與心理方面的引導(dǎo)工作,讓學(xué)生逐步掌握軟件開發(fā)的規(guī)律,使學(xué)生的技術(shù)與心理都走向成熟.
項(xiàng)目的實(shí)施不僅僅是要實(shí)現(xiàn)軟件項(xiàng)目的相應(yīng)功能,還要注重軟件研發(fā)的規(guī)范性與科學(xué)性,具體包括軟件研發(fā)步驟、程序代碼規(guī)范以及項(xiàng)目管理等是否符合軟件行業(yè)標(biāo)準(zhǔn).當(dāng)然,這對(duì)于指導(dǎo)教師也提出了更高的要求,需要教師有一定的軟件企業(yè)研發(fā)經(jīng)驗(yàn).在項(xiàng)目的實(shí)施過(guò)程中,教師應(yīng)該對(duì)各項(xiàng)目小組的研發(fā)進(jìn)展及時(shí)追蹤,出現(xiàn)問題應(yīng)及時(shí)與學(xué)生進(jìn)行溝通,引導(dǎo)各小組順利完成項(xiàng)目.
在項(xiàng)目任務(wù)完成之后,對(duì)各小組進(jìn)行科學(xué)、合理、客觀的評(píng)價(jià)是十分必要的,這樣可以讓學(xué)生發(fā)現(xiàn)自己的不足,從中吸取教訓(xùn),從而進(jìn)一步提升實(shí)踐能力.在項(xiàng)目完成后,首先由各項(xiàng)目小組提交項(xiàng)目工作技術(shù)報(bào)告、軟件開發(fā)文檔以及工作小結(jié),并由組長(zhǎng)對(duì)開發(fā)系統(tǒng)進(jìn)行演示說(shuō)明,然后以項(xiàng)目組答辯的形式回答教師或者其他項(xiàng)目組成員的提問,最后針對(duì)每個(gè)學(xué)生的開發(fā)能力、學(xué)習(xí)態(tài)度、組織協(xié)調(diào)及團(tuán)隊(duì)協(xié)作等方面表現(xiàn)進(jìn)行單項(xiàng)成績(jī)?cè)u(píng)定.在項(xiàng)目評(píng)價(jià)中應(yīng)注意不要以某個(gè)小組的總體成績(jī)作為某個(gè)組成員的成績(jī),這樣很容易導(dǎo)致“吃大鍋飯”的局面,項(xiàng)目任務(wù)僅僅由組長(zhǎng)或幾個(gè)能力較強(qiáng)的學(xué)生完成,好生越好,差生越差,不利于學(xué)生的共同進(jìn)步.對(duì)于每個(gè)學(xué)生的最終成績(jī)?cè)u(píng)定可以結(jié)合項(xiàng)目的總體成績(jī)以及學(xué)生的個(gè)人單項(xiàng)成績(jī)來(lái)評(píng)定,這樣既有利于團(tuán)隊(duì)合作意識(shí)的培養(yǎng),又能促進(jìn)每位學(xué)生都認(rèn)真完成自己所承擔(dān)的任務(wù).
項(xiàng)目驅(qū)動(dòng)教學(xué)引入軟件工程實(shí)踐教學(xué),實(shí)現(xiàn)了理論知識(shí)與實(shí)踐技能有機(jī)結(jié)合的目的,讓學(xué)生較早地體驗(yàn)到相對(duì)規(guī)范的軟件開發(fā)流程,增強(qiáng)了學(xué)生的實(shí)踐動(dòng)手能力,提升了學(xué)生的團(tuán)隊(duì)協(xié)作精神.以學(xué)生為主體的教學(xué)過(guò)程能讓學(xué)生的綜合能力得到充分鍛煉,充分體現(xiàn)了實(shí)踐教學(xué)以能力為本、以職業(yè)素質(zhì)培養(yǎng)為導(dǎo)向的教學(xué)理念,使軟件工程的實(shí)踐教學(xué)質(zhì)量得到了穩(wěn)步提升.
〔1〕王志兵,李長(zhǎng)云,鄧曉軍,等.計(jì)算機(jī)類專業(yè)創(chuàng)業(yè)人才培養(yǎng)探索與實(shí)踐[J].現(xiàn)代企業(yè)教育,2012(19):158-159.
〔2〕王立娟,劉瑞杰,何丹丹.軟件工程專業(yè)實(shí)踐教學(xué)體系改革的研究與探索[J].價(jià)值工程,2013(32):211-212.
〔3〕馬燕,張根耀,王文發(fā).軟件工程實(shí)驗(yàn)教學(xué)模式改革與實(shí)踐研究[J].教育與職業(yè),2006(36):149-150.
〔4〕劉建生,孫彥武.基于多目標(biāo)優(yōu)化的大型項(xiàng)目任務(wù)分配模型[J].江西理工大學(xué)學(xué)報(bào),2013(1):90-95.
〔5〕余久久,張佑生,傅廷亮等.《軟件工程》項(xiàng)目教學(xué)思考與探索[J].赤峰學(xué)院學(xué)報(bào)(自然科學(xué)版),2013(29):238-239.
G642.0
A
1673-260X(2015)04-0226-02
江西省高等學(xué)校教學(xué)改革研究課題(JXJG-14-7-21)