方明清
[摘 要] 在高職院校開設(shè)軟件開發(fā)真實(shí)項(xiàng)目實(shí)踐課程后,將面臨真實(shí)軟件項(xiàng)目的來(lái)源、課程體系如何設(shè)計(jì)才能讓學(xué)生的理論基礎(chǔ)和軟件開發(fā)能力達(dá)到真實(shí)項(xiàng)目的要求、教學(xué)過(guò)程如何組織才能達(dá)到真實(shí)項(xiàng)目的業(yè)務(wù)要求、投入實(shí)際生產(chǎn)運(yùn)行后系統(tǒng)維護(hù)等多方面困難,對(duì)這些困難進(jìn)行分析,并給出化解的合理建議。
[關(guān) 鍵 詞] 軟件開發(fā);真實(shí)項(xiàng)目;實(shí)踐課程;高職
[中圖分類號(hào)] G712 [文獻(xiàn)標(biāo)志碼] A [文章編號(hào)] 2096-0603(2018)18-0142-02
一、高職開設(shè)軟件開發(fā)真實(shí)項(xiàng)目實(shí)踐課程的困難
軟件開發(fā)人員在人才市場(chǎng)上很受歡迎,薪酬也相對(duì)較高,但同時(shí)企業(yè)招聘時(shí)對(duì)軟件開發(fā)人員的職業(yè)崗位技能要求也高,既要求計(jì)算機(jī)軟件理論知識(shí),又要求一年以上的工作經(jīng)驗(yàn),這對(duì)高職在校學(xué)生來(lái)說(shuō)是一道入職軟件開發(fā)崗位的高門檻。如果高職院校開設(shè)軟件開發(fā)真實(shí)項(xiàng)目實(shí)踐課程,引進(jìn)真實(shí)的軟件開發(fā)項(xiàng)目,由教師帶領(lǐng)學(xué)生遵循軟件工程規(guī)范,基于企業(yè)真實(shí)工作過(guò)程,通過(guò)項(xiàng)目導(dǎo)向、任務(wù)驅(qū)動(dòng)來(lái)完成項(xiàng)目,將可以大大改善在校學(xué)生對(duì)軟件開發(fā)實(shí)際工作經(jīng)驗(yàn)的不足,滿足企業(yè)對(duì)該職業(yè)崗位的技能要求,甚至實(shí)現(xiàn)零距離就業(yè)上崗。
但是在高職院校開設(shè)軟件開發(fā)真實(shí)項(xiàng)目實(shí)踐課程面臨很多方面的困難:(1)真實(shí)軟件項(xiàng)目的來(lái)源有困難;(2)開發(fā)真實(shí)軟件項(xiàng)目對(duì)學(xué)生的理論基礎(chǔ)和實(shí)際動(dòng)手能力要求很高,課程體系如何設(shè)計(jì)安排才能達(dá)到真實(shí)項(xiàng)目實(shí)踐課程的要求有困難;(3)真實(shí)的軟件項(xiàng)目開發(fā)完成后是需要投入實(shí)際生產(chǎn)運(yùn)行的,教學(xué)過(guò)程如何組織才能達(dá)到真實(shí)項(xiàng)目要求的技術(shù)水平有困難;(4)投入實(shí)際生產(chǎn)運(yùn)行軟件項(xiàng)目由誰(shuí)來(lái)維護(hù)及如何維護(hù)有困難。
二、困難分析與化解
(一)真實(shí)軟件項(xiàng)目來(lái)源的困難分析與化解
市場(chǎng)上承接大中型軟件開發(fā)項(xiàng)目必須通過(guò)公開招標(biāo)才能獲得,小型項(xiàng)目通過(guò)在雙方互相比較了解或通過(guò)中間人介紹的情況下可以直接承接,在教學(xué)中通過(guò)承接真實(shí)軟件開發(fā)項(xiàng)目來(lái)進(jìn)行教學(xué)也不例外。與此同時(shí),項(xiàng)目建設(shè)單位必須在足夠信任承接方有能力的前提下才會(huì)將項(xiàng)目交給承接方來(lái)完成,在學(xué)校這種環(huán)境下,一方面要求教師有豐富的項(xiàng)目管理與開發(fā)經(jīng)驗(yàn),另一方面最好能提供成功的案例來(lái)印證。大中型軟件開發(fā)項(xiàng)目一般對(duì)技術(shù)和技能要求高、功能模塊多、業(yè)務(wù)邏輯復(fù)雜,開發(fā)周期也長(zhǎng),但是學(xué)校一門課程的學(xué)時(shí)數(shù)是有限的,所以應(yīng)該選擇小型軟件開發(fā)項(xiàng)目作為學(xué)校真實(shí)項(xiàng)目實(shí)踐課程完成目標(biāo)。
小型真實(shí)軟件項(xiàng)目來(lái)源可以多種多樣:從網(wǎng)上競(jìng)標(biāo);老師橫向承接企業(yè)真實(shí)項(xiàng)目;學(xué)生渠道對(duì)外承接來(lái)的企業(yè)真實(shí)項(xiàng)目;學(xué)校內(nèi)部項(xiàng)目,比如學(xué)校職能部門應(yīng)用系統(tǒng)、各個(gè)二級(jí)學(xué)院網(wǎng)站、個(gè)性化的精品課程網(wǎng)站、個(gè)性化的教學(xué)資源庫(kù)網(wǎng)站、各類教學(xué)科研實(shí)訓(xùn)管理系統(tǒng)等。這些外接的真實(shí)軟件項(xiàng)目,可按開設(shè)課程的成熟度來(lái)逐步增加承接項(xiàng)目的難度。在課程開設(shè)初期的時(shí)候,最好先承接學(xué)校內(nèi)部項(xiàng)目,這樣的項(xiàng)目前期溝通、需求調(diào)研都在校內(nèi),省時(shí)省力的同時(shí),學(xué)校軟件系統(tǒng)的業(yè)務(wù)需求對(duì)老師和學(xué)生來(lái)說(shuō)比較熟悉,容易上手;當(dāng)課程開設(shè)有幾個(gè)學(xué)期后,軟件開發(fā)管理流程與開發(fā)技術(shù)框架都逐漸成熟,可以考慮向校外橫向承接企業(yè)真實(shí)項(xiàng)目;最后課程非常成熟,既能夠保證開發(fā)時(shí)限,又能夠保證開發(fā)質(zhì)量的時(shí)候,就可以承接完全商業(yè)性質(zhì)的橫向軟件開發(fā)項(xiàng)目來(lái)實(shí)施教學(xué)。
(二)相關(guān)課程體系設(shè)計(jì)的困難分析與化解
高職院校的課程體系設(shè)計(jì)可遵循:企業(yè)調(diào)研→職業(yè)崗位群分析→核心崗位職業(yè)能力分析→典型工作任務(wù)分解→課程學(xué)習(xí)領(lǐng)域設(shè)計(jì)→學(xué)習(xí)情境設(shè)計(jì)→學(xué)習(xí)任務(wù)設(shè)計(jì)這樣的思路來(lái)進(jìn)行。通過(guò)企業(yè)調(diào)研以及核心崗位職業(yè)能力分析,可以發(fā)現(xiàn)軟件開發(fā)工程師至少有以下的任職要求:大?;蛞陨蠈W(xué)歷要求,熟練掌握一門或以上的程序設(shè)計(jì)開發(fā)語(yǔ)言,熟悉常用的設(shè)計(jì)模式,熟悉常用的開源框架,熟練掌握一門或以上的數(shù)據(jù)庫(kù)等。如果要承接真實(shí)軟件開發(fā)項(xiàng)目,對(duì)團(tuán)隊(duì)管理人員及項(xiàng)目成員的要求就更高了,除需要軟件開發(fā)工程師之外,還需要項(xiàng)目經(jīng)理、系統(tǒng)分析師、系統(tǒng)架構(gòu)設(shè)計(jì)師、軟件測(cè)試工程師等角色。在軟件真實(shí)項(xiàng)目實(shí)踐課程開設(shè)的初期,管理與技術(shù)均不很成熟,為保證真實(shí)項(xiàng)目能保質(zhì)保量如期完成,老師肩負(fù)著重大的責(zé)任,可能需要擔(dān)當(dāng)多種角色,老師的項(xiàng)目管理能力、系統(tǒng)分析能力、系統(tǒng)架構(gòu)設(shè)計(jì)能力對(duì)真實(shí)項(xiàng)目的成功起決定性的作用。
為保證真實(shí)項(xiàng)目實(shí)踐課程的順利開設(shè),應(yīng)設(shè)計(jì)好相關(guān)的課程體系,可按分析出來(lái)的軟件開發(fā)工程師的崗位職業(yè)能力要求,將軟件程序設(shè)計(jì)基礎(chǔ)、軟件程序設(shè)計(jì)進(jìn)階、數(shù)據(jù)庫(kù)原理與應(yīng)用、軟件開發(fā)模擬項(xiàng)目實(shí)踐、軟件開發(fā)真實(shí)項(xiàng)目實(shí)踐等課程打包成一個(gè)課程包讓學(xué)生選修或必修,并將課程分散到不同學(xué)期去完成,循序漸進(jìn)逐步深化教學(xué)目標(biāo)。其中軟件開發(fā)模擬項(xiàng)目實(shí)踐課程可將已經(jīng)開設(shè)的軟件開發(fā)真實(shí)項(xiàng)目實(shí)踐課程中完成的真實(shí)項(xiàng)目作為模擬項(xiàng)目來(lái)教學(xué),使學(xué)生在進(jìn)行真實(shí)項(xiàng)目軟件開發(fā)之前,就可以熟悉并掌握在真實(shí)項(xiàng)目開發(fā)所需要掌握的數(shù)據(jù)庫(kù)、開源框架以及設(shè)計(jì)模式等。對(duì)高職院校來(lái)說(shuō),真實(shí)項(xiàng)目實(shí)踐課程最好安排在第五學(xué)期進(jìn)行,因?yàn)閷I(yè)基礎(chǔ)課和大多數(shù)的專業(yè)核心課程都在前面四個(gè)學(xué)期開設(shè)了,這個(gè)時(shí)間點(diǎn)上學(xué)生的理論基礎(chǔ)和軟件開發(fā)技能都相對(duì)比較扎實(shí)了。
(三)教學(xué)組織的困難分析與化解
真實(shí)軟件項(xiàng)目實(shí)踐課程的教學(xué)組織與普通課程的教學(xué)完全不同,因?yàn)槭钦鎸?shí)項(xiàng)目,所以必須按照企業(yè)真實(shí)項(xiàng)目的軟件開發(fā)流程、完全基于真實(shí)工作過(guò)程來(lái)進(jìn)行組織和實(shí)施。在項(xiàng)目立項(xiàng)、項(xiàng)目小組的組建、項(xiàng)目調(diào)研、需求分析、系統(tǒng)設(shè)計(jì)、軟件開發(fā)編程、軟件測(cè)試、售后服務(wù)等方面按教學(xué)要求進(jìn)行重新設(shè)計(jì),并從真實(shí)的成本、質(zhì)量、時(shí)間、范圍、人力資源、采購(gòu)、溝通、風(fēng)險(xiǎn)等全方位考慮,根據(jù)軟件系統(tǒng)的特點(diǎn)選擇適合的開發(fā)模式。
常見(jiàn)的軟件開發(fā)模式有:瀑布模型、迭代模型、螺旋模型、噴泉模型、敏捷方法、原型化方法等,在課程開設(shè)初期各方面不夠成熟,承接項(xiàng)目規(guī)模小,需求可能多變,采用敏捷方法可以達(dá)成快速反饋、及時(shí)調(diào)整的目標(biāo),同時(shí)在系統(tǒng)開發(fā)初期結(jié)合原型化方法,根據(jù)用戶初步需求,利用系統(tǒng)開發(fā)工具,快速建立一個(gè)可以互動(dòng)操作的系統(tǒng)模型給用戶進(jìn)行演示,在此基礎(chǔ)上與用戶交流。原型法有以下幾個(gè)方面的優(yōu)點(diǎn):可以降低開發(fā)風(fēng)險(xiǎn),加快開發(fā)速度,獲得較高的綜合開發(fā)收益;提高用戶參與程度,增加用戶滿意程序,提高項(xiàng)目成功率;用戶參與了開發(fā)的設(shè)計(jì)過(guò)程,對(duì)系統(tǒng)功能和結(jié)構(gòu)比較了解,更容易接受,有利于系統(tǒng)后期運(yùn)行和維護(hù)。敏捷方法體現(xiàn)了以人為核心、迭代、循序漸進(jìn)的思想,針對(duì)傳統(tǒng)瀑布開發(fā)模式的缺點(diǎn)進(jìn)行了改進(jìn),將一個(gè)軟件系統(tǒng)項(xiàng)目分為多個(gè)相互聯(lián)系、獨(dú)立運(yùn)行的小項(xiàng)目,每天項(xiàng)目組開發(fā)完成后必須保證軟件一直處于可使用狀態(tài)。
在教學(xué)的組織上,根據(jù)承接的項(xiàng)目數(shù)量及項(xiàng)目規(guī)模大小,根據(jù)全班學(xué)生數(shù)量,將項(xiàng)目進(jìn)行分配,為了保證項(xiàng)目的質(zhì)量,同一個(gè)項(xiàng)目必須有兩個(gè)或以上的項(xiàng)目小組來(lái)同時(shí)進(jìn)行開發(fā),待項(xiàng)目完成后擇優(yōu)選擇進(jìn)行交付。同時(shí)需要安排學(xué)生擔(dān)任項(xiàng)目中的不同角色,如,項(xiàng)目經(jīng)理、系統(tǒng)分析師、系統(tǒng)架構(gòu)設(shè)計(jì)師、軟件測(cè)試工程師等,同時(shí)因?yàn)槭钦鎸?shí)項(xiàng)目,所以整個(gè)軟件開發(fā)項(xiàng)目的生命周期,授課教師必須全程參與,在項(xiàng)目進(jìn)行的各個(gè)階段指導(dǎo)學(xué)生,包含需求分析、系統(tǒng)設(shè)計(jì)在內(nèi),只有這樣才能做到對(duì)項(xiàng)目全過(guò)程的監(jiān)控,才能做到按質(zhì)按量如期完成。另外,由于課時(shí)數(shù)的限制,僅靠課堂上的一點(diǎn)點(diǎn)時(shí)間是完全不夠的,所以真實(shí)項(xiàng)目實(shí)踐課程幾乎絕大多數(shù)工作量只能通過(guò)學(xué)生課外完成,上課時(shí)間則由項(xiàng)目小組上臺(tái)演講、小組互評(píng)、教師點(diǎn)評(píng)和優(yōu)化指導(dǎo),全班學(xué)生共同探究、一起進(jìn)步。
(四)系統(tǒng)運(yùn)維的困難分析與化解
軟件開發(fā)完成后,經(jīng)過(guò)系統(tǒng)集成測(cè)試后沒(méi)有問(wèn)題就可以投入生產(chǎn)試運(yùn)行了,一套應(yīng)用軟件是否能用得好,一方面與軟件設(shè)計(jì)與開發(fā)的水平有關(guān)系,另一方面與售后服務(wù)和技術(shù)支持也有很大關(guān)系,特別是在學(xué)校正常教學(xué)過(guò)程中完成的真實(shí)軟件開發(fā)項(xiàng)目,售后服務(wù)被弱化或忽略,更加具有一定挑戰(zhàn)性。另外,軟件開發(fā)真實(shí)項(xiàng)目實(shí)踐課程一般都是安排在第五學(xué)期開設(shè),學(xué)生做完項(xiàng)目一般都去企業(yè)頂崗實(shí)習(xí)了,這樣一來(lái)項(xiàng)目的運(yùn)行維護(hù)就更困難了。任課教師每年開設(shè)這門課程的時(shí)候都會(huì)承接學(xué)校各部門的不同軟件項(xiàng)目來(lái)開發(fā),如果這么多項(xiàng)目開發(fā)并投入實(shí)際運(yùn)行后由任課教師來(lái)運(yùn)維,也是行不通的。
比較切實(shí)可行的辦法是:對(duì)承接的學(xué)校內(nèi)部項(xiàng)目,項(xiàng)目開發(fā)完成后可交給學(xué)校網(wǎng)絡(luò)信息中心來(lái)統(tǒng)一維護(hù),要求有源代碼、完善的開發(fā)設(shè)計(jì)文檔,相比開發(fā)的工作量而言,維護(hù)的工作量還是少很多的,有時(shí)不需要修改只是保障系統(tǒng)的正常運(yùn)行,有時(shí)稍作修改就可以滿足優(yōu)化需求;對(duì)承接的企業(yè)橫向真實(shí)校外項(xiàng)目,一般都比較正式,會(huì)簽訂軟件開發(fā)合同,開發(fā)費(fèi)與校內(nèi)項(xiàng)目相比較來(lái)說(shuō)會(huì)高出許多,這樣承接的校外項(xiàng)目則可以由承接教師或?qū)W生項(xiàng)目組負(fù)責(zé)維護(hù)。
三、結(jié)語(yǔ)
在高職院校開設(shè)軟件開發(fā)真實(shí)項(xiàng)目實(shí)踐課程雖然有多方面的困難,但在課程的初始起步階段,可通過(guò)承接學(xué)校內(nèi)部各個(gè)職能部門的應(yīng)用軟件系統(tǒng)、將課程設(shè)計(jì)在一個(gè)完整的系列化的課程包內(nèi)并安排第五學(xué)期進(jìn)行、選擇適合小型軟件項(xiàng)目的原型方法+敏捷方法的開發(fā)模式以及在系統(tǒng)投入試運(yùn)行后將系統(tǒng)交給學(xué)校網(wǎng)絡(luò)信息中心進(jìn)行專業(yè)運(yùn)維等手段進(jìn)行有效化解。
參考文獻(xiàn):
[1]羅振春.高職“主題+項(xiàng)目”教學(xué)模式研究[J].中國(guó)職業(yè)技術(shù)教育,2017(35):121-123.
[2]胡小平.基于技能工作室的技能教學(xué)模式創(chuàng)新[J].中國(guó)職業(yè)技術(shù)教育,2017(33):86-90.
[3]李金亮.基于企業(yè)真實(shí)項(xiàng)目的杰出技術(shù)技能人才培養(yǎng)的探索:以淄博職業(yè)學(xué)院機(jī)電一體化技術(shù)專業(yè)為例[J].北京工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報(bào),2017,4(16):84-87.