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