劉詩(shī)源 趙海燕 申海偉 胡正坤 王廷梅
(北京聯(lián)合大學(xué)應(yīng)用科技學(xué)院 北京 100101)
隨著計(jì)算機(jī)軟件技術(shù)教育的理念逐漸趨于成熟,對(duì)軟件開(kāi)發(fā)人員的人才培養(yǎng)模式和課程教學(xué)模式都有了更加深刻的認(rèn)識(shí)。項(xiàng)目化教學(xué)在我國(guó)不是新生事物,基于工作過(guò)程的行動(dòng)導(dǎo)向的教學(xué)模式逐漸被各高等所院校采納。尤其是近幾年,專業(yè)教材或輔導(dǎo)資料陸續(xù)進(jìn)行了“項(xiàng)目化”改造,為項(xiàng)目化教學(xué)在我國(guó)全面推廣奠定了基礎(chǔ)。
北京聯(lián)合大學(xué)應(yīng)用科技學(xué)院電子信息系計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的最重要的培養(yǎng)目標(biāo)崗位是 WEB開(kāi)發(fā)工程師,本專業(yè)在2020年為了將教學(xué)方式從傳統(tǒng)的記憶性知識(shí)為導(dǎo)向轉(zhuǎn)變?yōu)橐皂?xiàng)目應(yīng)用能力為導(dǎo)向,嘗試性的進(jìn)行了項(xiàng)目化教學(xué)的探索工作,注重提高學(xué)生的自學(xué)能力和動(dòng)手能力,培養(yǎng)學(xué)生的大國(guó)工匠精神,使學(xué)生成為具有良好的團(tuán)隊(duì)協(xié)作意識(shí)、自學(xué)意識(shí)和創(chuàng)新意識(shí)的高素質(zhì)應(yīng)用型人才。
該研究中參加項(xiàng)目化教學(xué)改革的課程包括《WEB應(yīng)用設(shè)計(jì)》《軟件工程》《基于框架的應(yīng)用開(kāi)發(fā)》三門專業(yè)課程,以下為各門課程的介紹。
《WEB應(yīng)用設(shè)計(jì)》課程的教學(xué)內(nèi)容是讓學(xué)生掌握WEB應(yīng)用設(shè)計(jì)過(guò)程中的原型設(shè)計(jì)、界面設(shè)計(jì)、架構(gòu)設(shè)計(jì)、接口設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)、開(kāi)發(fā)流程設(shè)計(jì)、項(xiàng)目配置設(shè)計(jì)等環(huán)節(jié)的工作流程和普遍原則。如果不結(jié)合實(shí)際的項(xiàng)目,本課程的教學(xué)內(nèi)容也只是一些枯燥的記憶性知識(shí),難以引起學(xué)生的興趣。
《軟件工程》課程的教學(xué)內(nèi)容主要以教師課堂講解工程化的方法(開(kāi)發(fā)方法)、工具(支持方法的工具)和過(guò)程(管理過(guò)程),課程內(nèi)容比較抽象、學(xué)生因缺乏工程實(shí)踐難以理解和接受。
《基于框架的應(yīng)用開(kāi)發(fā)》課程的教學(xué)內(nèi)容是講解使用框架技術(shù)實(shí)現(xiàn)WEB信息系統(tǒng)的原理,并教授一種業(yè)界常用的框架技術(shù),同時(shí)圍繞這種框架技術(shù)的相關(guān)知識(shí)點(diǎn)講解一些小型案例的制作過(guò)程。通過(guò)課程的學(xué)習(xí),學(xué)生能夠?qū)W會(huì)WEB應(yīng)用開(kāi)發(fā)的基本知識(shí)點(diǎn),但是對(duì)于企業(yè)實(shí)際開(kāi)發(fā)流程、應(yīng)用程序設(shè)計(jì)思想、團(tuán)隊(duì)協(xié)作工具等企業(yè)關(guān)注的技能卻完全沒(méi)有了解。
項(xiàng)目直接影響著教學(xué)效果。首先,項(xiàng)目的確定是根據(jù)教學(xué)計(jì)劃設(shè)計(jì)項(xiàng)目?jī)?nèi)容。利用信息化手段對(duì)軟件公司的項(xiàng)目?jī)?nèi)容進(jìn)行調(diào)研,選取其中具有代表性的實(shí)戰(zhàn)項(xiàng)目劃分成小項(xiàng)目,結(jié)合歷屆畢業(yè)設(shè)計(jì)的題目等作為學(xué)生所選題目。項(xiàng)目編排要突出其實(shí)踐性,按照任務(wù)驅(qū)動(dòng)的思想,從實(shí)踐中來(lái),到實(shí)踐中去。最后,項(xiàng)目的設(shè)計(jì)應(yīng)采用結(jié)構(gòu)化的方法,項(xiàng)目的選擇應(yīng)循序漸進(jìn),難度及標(biāo)準(zhǔn)應(yīng)與學(xué)生的掌握能力保持平衡。
項(xiàng)目化教學(xué)中,學(xué)習(xí)過(guò)程為一個(gè)人人參與的創(chuàng)造性實(shí)踐活動(dòng),注重的不是最終結(jié)果,而是完成項(xiàng)目的過(guò)程。學(xué)生分組完成項(xiàng)目的開(kāi)發(fā),每位學(xué)生除了參與整個(gè)項(xiàng)目的開(kāi)發(fā),也側(cè)重不同的角色,從而感受項(xiàng)目開(kāi)發(fā)的真實(shí)情境。每個(gè)角色都有各自所負(fù)責(zé)的工作,由項(xiàng)目經(jīng)理在開(kāi)發(fā)平臺(tái)上對(duì)任務(wù)進(jìn)行發(fā)布,成員領(lǐng)取相應(yīng)任務(wù),并按照進(jìn)度在平臺(tái)上進(jìn)行任務(wù)完成情況的發(fā)布。學(xué)生共同合作,培養(yǎng)大家的團(tuán)隊(duì)合作能力。
項(xiàng)目教學(xué)法的重點(diǎn)在學(xué)習(xí)過(guò)程,而不是項(xiàng)目完成的結(jié)果。傳統(tǒng)的教學(xué)評(píng)估方法與項(xiàng)目教學(xué)的評(píng)估方法有較大的差別。項(xiàng)目評(píng)價(jià)采用學(xué)生互評(píng)、老師評(píng)價(jià)相結(jié)合的方式,以學(xué)生在整個(gè)項(xiàng)目完成中起到的作用和遇到困難時(shí)找到解決辦法來(lái)綜合評(píng)定成績(jī)。在交流過(guò)程中教師應(yīng)重點(diǎn)關(guān)注學(xué)生本人自評(píng)以及小組成員間的互評(píng),注重對(duì)學(xué)生的項(xiàng)目完成情況作出總結(jié)性評(píng)價(jià),幫助學(xué)生發(fā)現(xiàn)項(xiàng)目過(guò)程中出現(xiàn)的錯(cuò)誤和不足并盡快完善。
從通過(guò)分析各課程教學(xué)現(xiàn)狀可知,教學(xué)效果不如預(yù)期的原因在于學(xué)生缺乏軟件開(kāi)發(fā)的經(jīng)驗(yàn),難以理解與體會(huì)到學(xué)習(xí)課程知識(shí)的意義。項(xiàng)目化教學(xué)方法能夠?yàn)檫@種情況提供解決方案,就是制造學(xué)生開(kāi)發(fā)項(xiàng)目的環(huán)境,模擬企業(yè)軟件開(kāi)發(fā)工作崗位任務(wù),改變學(xué)生的角色,學(xué)生按照職業(yè)崗位的要求將課程知識(shí)應(yīng)用于軟件項(xiàng)目的設(shè)計(jì)與開(kāi)發(fā)過(guò)程中,體驗(yàn)崗位工作并完成項(xiàng)目的開(kāi)發(fā),整個(gè)開(kāi)發(fā)的過(guò)程也是收獲知識(shí)、提升職業(yè)能力的過(guò)程。
基本的設(shè)計(jì)思路是以培養(yǎng)職業(yè)能力為核心,提高學(xué)生職業(yè)綜合素養(yǎng)為目標(biāo),基于職業(yè)崗位任務(wù)的項(xiàng)目化教學(xué)融合課程內(nèi)容與企業(yè)工作任務(wù),突出課程的職業(yè)性、實(shí)踐性和開(kāi)放性的特點(diǎn)。本次實(shí)踐根據(jù)職業(yè)崗位工作任務(wù),結(jié)合信息化教學(xué)手段、方法,參照企業(yè)軟件開(kāi)發(fā)流程,任課教師在研讀教材的基礎(chǔ)上將課程內(nèi)容按照項(xiàng)目進(jìn)行重構(gòu)與知識(shí)點(diǎn)的序化,并設(shè)計(jì)學(xué)習(xí)任務(wù)。
本次項(xiàng)目化教學(xué)改革首先是選取合適的項(xiàng)目,以軟件開(kāi)發(fā)流程為主線,圍繞企業(yè)級(jí)項(xiàng)目開(kāi)發(fā)的各個(gè)階段,實(shí)現(xiàn)教師與學(xué)生在教學(xué)與學(xué)習(xí)過(guò)程中角色的轉(zhuǎn)變,使學(xué)生身臨其境,在角色體驗(yàn)過(guò)程中激發(fā)學(xué)生求知欲,充分發(fā)揮學(xué)生的學(xué)習(xí)自主性,體現(xiàn)職業(yè)適應(yīng)力和職業(yè)遷移力結(jié)合的職業(yè)能力培養(yǎng)。實(shí)踐證明,這是一種成效顯著的教學(xué)改革方法。以下為教學(xué)活動(dòng)的各個(gè)階段:
(1)選擇項(xiàng)目:利用大數(shù)據(jù)技術(shù)對(duì)網(wǎng)絡(luò)公司所開(kāi)發(fā)的經(jīng)典項(xiàng)目進(jìn)行調(diào)研,并結(jié)合從歷年畢業(yè)設(shè)計(jì)題目中選取合適的題目,依次作為學(xué)生的實(shí)訓(xùn)項(xiàng)目,要求每個(gè)項(xiàng)目能將理論知識(shí)和實(shí)踐技能結(jié)合在一起,具有綜合性,項(xiàng)目實(shí)施需要學(xué)習(xí)新知識(shí)、技能,解決過(guò)去未遇到的實(shí)際問(wèn)題。本次教學(xué)活動(dòng)共選擇了42個(gè)題目作為備選,并為每個(gè)題目完善了項(xiàng)目任務(wù)書。
(2)發(fā)布任務(wù):教師通過(guò)項(xiàng)目開(kāi)發(fā)平臺(tái)把項(xiàng)目任務(wù)書分發(fā)給學(xué)生,讓學(xué)生自由分組并領(lǐng)取任務(wù)及所對(duì)應(yīng)的項(xiàng)目經(jīng)理賬號(hào),最終在與教師協(xié)商之后確定各組成員和角色。為了模擬實(shí)際的開(kāi)發(fā)工作流程,每個(gè)學(xué)生會(huì)在項(xiàng)目過(guò)程中擔(dān)當(dāng)不同的角色,使得學(xué)生需要通過(guò)共同合作來(lái)完成項(xiàng)目。整個(gè)開(kāi)發(fā)過(guò)程培養(yǎng)了大家的團(tuán)隊(duì)合作能力,不僅有益于學(xué)生特長(zhǎng)的發(fā)揮,而且有助于學(xué)生的責(zé)任感和協(xié)作精神的形成,體驗(yàn)到個(gè)人與集體共同成長(zhǎng)的快樂(lè)。
(3)需求分析:教師在《軟件工程》課堂上講授做需求訪談、需求分析的過(guò)程和要點(diǎn),學(xué)生就各自模塊形成需求訪談表,由產(chǎn)品經(jīng)理匯總并訪問(wèn)客戶,形成訪談?dòng)涗洝K械墓δ芪臋n、會(huì)議記錄等都需要有專門負(fù)責(zé)該角色的學(xué)生在開(kāi)發(fā)平臺(tái)上進(jìn)行上傳。學(xué)生再按照所學(xué)知識(shí),建立需求分析模型和相關(guān)圖表如數(shù)據(jù)流圖、用例圖、流程圖等,形成需求分析說(shuō)明書。在需求分析說(shuō)明書的基礎(chǔ)上,學(xué)生提取各模塊的功能點(diǎn),完成各功能點(diǎn)的功能描述,最后匯總為需求規(guī)格說(shuō)明書。
(4)原型設(shè)計(jì):教師在《軟件工程》課堂上講授使用Azure等工具做系統(tǒng)原則設(shè)計(jì)的過(guò)程和要點(diǎn),學(xué)生就各自模塊設(shè)計(jì)各模塊的原型頁(yè)面,由產(chǎn)品經(jīng)理設(shè)計(jì)首頁(yè)、菜單等將各模塊結(jié)合在一起形成系統(tǒng)原型。在《WEB應(yīng)用設(shè)計(jì)》課堂上,各組演示系統(tǒng)原型,由教師對(duì)系統(tǒng)原型進(jìn)行審評(píng),指出其中的問(wèn)題,并要求學(xué)生完善需求分析說(shuō)明書、需求規(guī)格說(shuō)明書、系統(tǒng)原型等各重要文檔。完善需求的過(guò)程,也是學(xué)生加深對(duì)系統(tǒng)理解的過(guò)程。
(5)測(cè)試案例設(shè)計(jì):教師在《軟件工程》課堂上講授軟件測(cè)試的過(guò)程和要點(diǎn),以及測(cè)試案例的書寫規(guī)范。學(xué)生根據(jù)所學(xué)知識(shí)完成各模塊的功能測(cè)試案例,并在《WEB應(yīng)用設(shè)計(jì)》課堂上通過(guò)開(kāi)發(fā)平臺(tái)完成測(cè)試案例審評(píng),包括小組自評(píng)和互評(píng)。通過(guò)審評(píng)環(huán)節(jié),學(xué)生將明確系統(tǒng)將要達(dá)成的質(zhì)量標(biāo)準(zhǔn)。
(6)界面設(shè)計(jì)階段:教師在《基于框架的應(yīng)用開(kāi)發(fā)》課堂上講授界面設(shè)計(jì)的設(shè)計(jì)要點(diǎn)和所需工具。學(xué)生運(yùn)用所學(xué)知識(shí)將系統(tǒng)原型轉(zhuǎn)化為靜態(tài)頁(yè)面。
(7)接口設(shè)計(jì)階段:教師在《WEB應(yīng)用設(shè)計(jì)》課堂上講授軟件接口設(shè)計(jì)的過(guò)程和要點(diǎn)。學(xué)生運(yùn)用所學(xué)知識(shí)確定前后端接口和各模塊間接口,并完成系統(tǒng)接口設(shè)計(jì)說(shuō)明書。在《WEB應(yīng)用設(shè)計(jì)》課堂上教師將和學(xué)生一起完成接口設(shè)計(jì)審評(píng)。通過(guò)審評(píng)環(huán)節(jié),學(xué)生將明確各模塊的接口功能。
(8)數(shù)據(jù)庫(kù)設(shè)計(jì)階段:教師在《WEB應(yīng)用設(shè)計(jì)》課堂上講授數(shù)據(jù)庫(kù)設(shè)計(jì)的過(guò)程和要點(diǎn)。學(xué)生運(yùn)用所學(xué)知識(shí)完成各模塊的表及字段,并組合成系統(tǒng)ER圖,完成數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書,最終生成數(shù)據(jù)庫(kù)。
(9)架構(gòu)設(shè)計(jì)階段:在《軟件工程》課堂上,教師講授如何做軟件的架構(gòu)設(shè)計(jì)和關(guān)于設(shè)計(jì)模式方面的知識(shí)。學(xué)生需將之前所完成的各項(xiàng)設(shè)計(jì)工作綜合在一起形成系統(tǒng)簡(jiǎn)要設(shè)計(jì)說(shuō)明書。
(10)代碼設(shè)計(jì)階段:教師在《基于框架的應(yīng)用開(kāi)發(fā)》課上講授如何使用框架技術(shù)做前后端程序編寫,在《軟件工程》講授面向?qū)ο蟮拇a設(shè)計(jì)思路、軟件開(kāi)發(fā)流程和代碼的編碼規(guī)范。學(xué)生按照所學(xué)知識(shí)完成各模塊的代碼結(jié)構(gòu),同時(shí)給代碼寫注釋。此階段項(xiàng)目組需完成系統(tǒng)詳細(xì)設(shè)計(jì)說(shuō)明書,并在《WEB應(yīng)用設(shè)計(jì)》課堂上和教師一起完成詳細(xì)設(shè)計(jì)審評(píng)。
(11)代碼填充階段:學(xué)生完成代碼、實(shí)現(xiàn)功能,并進(jìn)行單元測(cè)試。
(12)功能測(cè)試階段:各組的測(cè)試工程師按照功能測(cè)試案例對(duì)系統(tǒng)進(jìn)行測(cè)試,并向產(chǎn)品經(jīng)理報(bào)告測(cè)試結(jié)果;產(chǎn)品經(jīng)理督促代碼開(kāi)發(fā)者修改bug。
(13)系統(tǒng)驗(yàn)收階段:各項(xiàng)目組向老師提交并演示系統(tǒng),同時(shí)提交所有項(xiàng)目文檔和會(huì)議記錄。各項(xiàng)目組對(duì)其他項(xiàng)目組的系統(tǒng)進(jìn)行交叉測(cè)試,尋找是否有bug。
三門課程并行進(jìn)行,具體課程內(nèi)容安排如下表1所示:

表1:項(xiàng)目化教學(xué)課程內(nèi)容安排
所有環(huán)節(jié)所產(chǎn)生的文檔、代碼等都需要在開(kāi)發(fā)平臺(tái)上上傳,教師可以看到每個(gè)小組上傳的所有內(nèi)容,對(duì)項(xiàng)目不同階段的完成時(shí)間、完成程度等可以隨時(shí)進(jìn)行考量,并以客戶的身份隨時(shí)對(duì)項(xiàng)目?jī)?nèi)容進(jìn)行修正。
項(xiàng)目化教學(xué)需要把各項(xiàng)目的所有實(shí)踐環(huán)節(jié)進(jìn)行組合設(shè)計(jì),把思想、理論、資源調(diào)配到各項(xiàng)目中,把關(guān)注點(diǎn)聚焦到解決問(wèn)題上,把評(píng)價(jià)標(biāo)準(zhǔn)著力到能力提升上。教研組堅(jiān)持以學(xué)生為中心、成果為導(dǎo)向、過(guò)程為抓手、項(xiàng)目為載體,實(shí)現(xiàn)“做中學(xué)、學(xué)中做,教中練、練中教”、以賽促學(xué)、促練、促教,教學(xué)相長(zhǎng),最終形成項(xiàng)目化育人環(huán)境,達(dá)成應(yīng)用型人才培養(yǎng)目標(biāo)。具體到本次探索實(shí)踐中,學(xué)生的能力素質(zhì)是主要的評(píng)分標(biāo)準(zhǔn),主要包括綜合設(shè)計(jì)能力、文檔寫作能力、代碼寫作能力、團(tuán)隊(duì)協(xié)作能力、組織管理能力和責(zé)任心、紀(jì)律素質(zhì)。
《WEB應(yīng)用設(shè)計(jì)》的團(tuán)隊(duì)成績(jī)由在各次審評(píng)活動(dòng)中所得分?jǐn)?shù)相加而成,而個(gè)人成績(jī)則由團(tuán)隊(duì)成員間互評(píng)得到,體現(xiàn)了學(xué)生的綜合設(shè)計(jì)能力和團(tuán)隊(duì)協(xié)作能力;
《軟件工程》課程的團(tuán)隊(duì)成績(jī)由整個(gè)項(xiàng)目組的各文檔的所得分?jǐn)?shù)相加而成,而個(gè)人成績(jī)則由文檔中個(gè)人任務(wù)得完成質(zhì)量和完成時(shí)間決定,體現(xiàn)了學(xué)生的文檔寫作能力;
《基于框架的應(yīng)用開(kāi)發(fā)》課程的團(tuán)隊(duì)成績(jī)由整個(gè)系統(tǒng)的完成程度及在系統(tǒng)驗(yàn)收階段被檢測(cè)出的 bug數(shù)目和程度決定,而個(gè)人成績(jī)由各自負(fù)責(zé)的部分的代碼風(fēng)格、設(shè)計(jì)思路、書寫規(guī)范程度以及bug數(shù)目和程度決定,體現(xiàn)了學(xué)生的代碼寫作能力和責(zé)任心。
在各項(xiàng)目組都有四位學(xué)生擔(dān)任了特殊角色,他們的工作體現(xiàn)了其組織管理能力。在本次實(shí)踐中,教師會(huì)根據(jù)他們的特殊任務(wù)的完成程度和質(zhì)量給予加分或者減分。
信息化項(xiàng)目教學(xué)的應(yīng)用實(shí)踐表明,結(jié)合信息化相關(guān)教學(xué)手段,采用項(xiàng)目化教學(xué)強(qiáng)調(diào)培養(yǎng)學(xué)生實(shí)踐能力為目標(biāo),將學(xué)科知識(shí)融入項(xiàng)目中,以選取的項(xiàng)目作為載體,將項(xiàng)目分解為各個(gè)任務(wù),實(shí)現(xiàn)理論和實(shí)踐相結(jié)合,教學(xué)過(guò)程中以任務(wù)驅(qū)動(dòng),學(xué)生通過(guò)團(tuán)隊(duì)協(xié)作在完成任務(wù)的過(guò)程中鍛煉自己的分析思考解決問(wèn)題能力、培養(yǎng)團(tuán)隊(duì)協(xié)作精神與提高團(tuán)隊(duì)溝通能力。課堂教學(xué)不再枯燥無(wú)味、擺脫理論灌輸,充分發(fā)揮學(xué)生的學(xué)習(xí)自主性,促使學(xué)生從學(xué)習(xí)者到職業(yè)人的角色變換,突出學(xué)生職業(yè)能力的培養(yǎng)。