陳靜嫻 李亞崗 林加論 張錦
摘要:目前,高等學(xué)校的編程實踐類課程考核方式存在一定的弊端,為全面評價學(xué)生掌握知識的深度和廣度,考核學(xué)生綜合能力和素質(zhì),提高學(xué)生的編程實踐能力,本課題開展計算機編程實踐類課程中綜合實踐項目考核方式改革,將企業(yè)軟件項目考核的方式和方法引進編程實踐類課程,基于軟件開發(fā)流程進行過程評價,嚴(yán)格把控各階段的學(xué)生小組產(chǎn)出物,需求階段考核《軟件需求說明書》、設(shè)計階段考核《軟件設(shè)計說明書》、開發(fā)階段考核學(xué)生小組的代碼質(zhì)量、運行階段考核綜合實踐項目完成情況并進行學(xué)生小組答辯。通過基于過程的監(jiān)督和管理,達到課程目標(biāo)。
關(guān)鍵詞:過程考核;企業(yè)項目考核辦法;學(xué)生小組;綜合實踐項目
中圖分類號:G434 ?文獻標(biāo)識碼:A ?論文編號:1674-2117(2022)01-0105-04
隨著我國計算機軟件產(chǎn)業(yè)的迅速發(fā)展,軟件開發(fā)人員的需求量日益增加,高校編程實踐類課程的重要性不言而喻。然而編程實踐類課程的考核是一個難點,本文探索將企業(yè)項目的考核辦法運用于軟件實踐類課程,以提高學(xué)生綜合實踐項目的完成率,提高學(xué)生的編程能力,為社會輸入更多優(yōu)秀的技術(shù)人才。[1]
● 目前編程實踐類課程考核現(xiàn)狀分析
“Java Web應(yīng)用開發(fā)”“數(shù)據(jù)庫綜合實訓(xùn)課”課程具有較強的實踐性、實用性和綜合性,課程目標(biāo)是提高學(xué)生的個人編程技術(shù)能力、團隊合作能力,以及能夠運用Java的相關(guān)知識完成基于Web的項目開發(fā)。[2-3]課程的考查內(nèi)容是學(xué)生小組的綜合實踐項目,綜合實踐項目是課程考核的核心內(nèi)容,而以往的考核形式存在以下弊端。
1.基于筆試的考核形式不能適應(yīng)實踐類課程
一個綜合實踐項目包含項目的需求分析、系統(tǒng)設(shè)計、代碼開發(fā)、測試以及部署運行,這是知識點綜合運用的過程,考查的重點是實踐和操作。如何通過Web頁面添加一個用戶、修改一個用戶、刪除一個用戶等,這些實踐內(nèi)容需要運行并演示,所以無法通過筆試評價學(xué)生的掌握程度,以及衡量學(xué)生編程能力的高低。[4-5]
2.基于結(jié)果的考核無法達到課程目標(biāo)
在以往的考核中,教師僅僅評價學(xué)生的綜合實踐項目,針對項目的運行情況提出問題,并根據(jù)綜合實踐項目的完成情況及復(fù)雜度打分,[6-7]并沒有進行基于過程的考核,導(dǎo)致綜合實踐項目的完成率不高。
3.基于分工的考核方法中個人貢獻難以界定
為了提高學(xué)生的團隊協(xié)作能力,本門課程按照學(xué)生的意愿自由組合,以小組為單位進行綜合實踐項目的開發(fā)工作。[8-9]但筆者在以往的教學(xué)實踐中發(fā)現(xiàn),當(dāng)學(xué)生小組大于或者等于三人時,就存在分工難以平衡的現(xiàn)象,影響學(xué)生參與的積極性,從而無法達到預(yù)期的課程目標(biāo)。
● 基于過程的企業(yè)項目考核辦法
在企業(yè)中,為了項目能夠順利開展,常常采取基于過程的監(jiān)督和管理,如表1所示。在企業(yè)中,開發(fā)團隊需要設(shè)定詳細(xì)的計劃,每個階段會設(shè)置一個里程碑,通過基于過程的管理,保證項目順利開展直到最終的交付。
在企業(yè)中,一個開發(fā)團隊包括項目經(jīng)理、架構(gòu)師、開發(fā)工程師、界面工程師、測試工程師和運維工程師,每個角色的職責(zé)如右圖所示。本課程將企業(yè)的項目管理經(jīng)驗運用于實踐類課程的考核中,綜合實踐項目同樣采用基于過程的考核,確保學(xué)生小組綜合實踐項目得以順利開展并完成開發(fā)任務(wù),提高學(xué)生的編程能力,達到課程目標(biāo)。
● 企業(yè)項目考核辦法在綜合實踐類課程中的運用
1.學(xué)生自由組合環(huán)節(jié)
本課程遵循學(xué)生自由組合的原則,學(xué)生按照個人意愿組成小組,人數(shù)為兩人。小組成員共同分擔(dān)綜合實踐項目的開發(fā)任務(wù),共享信息和資源,有利于增強學(xué)生的團隊協(xié)作意識。小組分工合作還可以彌補教學(xué)資源不足的情況,通過小組成員互幫互助,能真正實現(xiàn)每個學(xué)生的開發(fā)能力有所提高的教學(xué)目標(biāo)。
2.學(xué)生小組任務(wù)分工
本門課程中考查的綜合實踐項目,不涉及運維工程師,只需要在本地服務(wù)器上運行即可。學(xué)生小組需要設(shè)定一個項目經(jīng)理,以及時解決小組遇到的問題,確保項目可以按照預(yù)定計劃進行。
為了達到課程目標(biāo),學(xué)生小組中的每位成員都需要負(fù)責(zé)獨立的功能點,如添加用戶功能、修改用戶信息功能、刪除用戶信息功能或者查找用戶信息功能等。每個學(xué)生擔(dān)任的角色包括界面工程師、開發(fā)工程師、架構(gòu)設(shè)計師以及測試工程師,角色涵蓋設(shè)計頁面、框架設(shè)計、具體的代碼開發(fā)和最終的測試這樣一個完整項目的開發(fā)流程。最后,學(xué)生小組需要將各自開發(fā)的功能點整合,這個過程可以鍛煉學(xué)生的團隊協(xié)作能力,以此達到課程目標(biāo)。
3.基于過程的考核方案
以往的教學(xué)實踐過程中,僅僅考查學(xué)生小組綜合實踐項目的最終完成情況,而沒有過程的監(jiān)督和測評。借鑒企業(yè)中軟件項目管理的相關(guān)經(jīng)驗,筆者提出針對綜合實踐項目采用基于過程的考核形式,即將綜合實踐項目的開發(fā)流程分為需求分析、設(shè)計階段、開發(fā)編碼、測試和運行,并考核每個階段的產(chǎn)出物,如表2所示。表3所示是各項考核指標(biāo)的細(xì)化,從文檔方面、代碼質(zhì)量、計劃與進度以及項目完成情況四個維度評估綜合實踐項目完成情況。
①需求分析階段。該階段學(xué)生小組明確要做什么?!俄椖啃枨笳f明書》中明確了項目包含的功能模塊,以及功能模塊中的功能點。原型是整個項目開發(fā)之前的框架設(shè)計,根據(jù)項目的功能模塊,利用HTML或者專門的原型設(shè)計工具Axure將項目要實現(xiàn)的功能呈現(xiàn)出來,讓開發(fā)團隊、用戶更加直觀地了解需要開發(fā)的項目。由于學(xué)生綜合實踐項目沒有最終用戶,所以每個學(xué)生小組的綜合實踐項目所對應(yīng)的最終用戶都是任課教師。任課教師需要評審每一個學(xué)生小組的《項目需求說明書》以及原型,并提出相應(yīng)的修改意見,在學(xué)生小組整改后,任課教師再次評審,直到評審?fù)ㄟ^。
②設(shè)計階段。該階段學(xué)生小組明確要怎么做?!俄椖吭O(shè)計說明書》中需要明確代碼的架構(gòu)和數(shù)據(jù)庫設(shè)計方案,數(shù)據(jù)庫設(shè)計包括ER圖、邏輯結(jié)構(gòu)設(shè)計和物理結(jié)構(gòu)設(shè)計。綜合實踐項目是基于Jsp&Servlet技術(shù)開發(fā),所以軟件架構(gòu)圖包括了顯示層(由Jsp頁面編寫)、邏輯控制層(用Servlet技術(shù)編寫)、實體層(利用了DAO層,實現(xiàn)對數(shù)據(jù)庫的存取操作),從而提高了代碼的可讀性、可復(fù)用性。企業(yè)中的《項目設(shè)計說明書》需要經(jīng)過評審,在課程實踐中,由任課教師擔(dān)當(dāng)項目經(jīng)理的角色對每一個學(xué)生小組的《項目設(shè)計說明書》進行評審,直到評審?fù)ㄟ^,學(xué)生小組才能開始開發(fā)工作。
③開發(fā)編碼階段。該階段學(xué)生小組開始開發(fā)工作。這個階段是軟件開發(fā)流程中占據(jù)時間最長的階段,課程如何做到對學(xué)生小組有效的監(jiān)管至關(guān)重要。在設(shè)計階段,《項目設(shè)計說明書》中要求寫明小組中學(xué)生的分工以及開發(fā)計劃,即什么時間點完成什么任務(wù)。任課教師基于學(xué)生小組的開發(fā)計劃,進行階段檢查,盡早發(fā)現(xiàn)問題并解決問題,從而保證開發(fā)工作的順利開展。
④測試和運行階段。經(jīng)過代碼整合以及測試,該階段學(xué)生小組已經(jīng)完成所有開發(fā)工作并可以順利運行。進入最后的答辯環(huán)節(jié),每個學(xué)生小組答辯平均需要10分鐘,答辯內(nèi)容包括學(xué)生小組演示綜合實踐項目、學(xué)生提問和教師提問三個環(huán)節(jié)。任課教師檢查各個學(xué)生小組是否實現(xiàn)了《項目需求說明書》中的功能點;任課教師根據(jù)《項目設(shè)計說明書》中成員任務(wù)分工進行提問,通過答辯檢驗學(xué)生是否真正參與開發(fā)工作;通過公開答辯,學(xué)生之間互相學(xué)習(xí)、互相借鑒、取長補短。
● 效果評估
本課題分別于2019年和2020年對“Java WEB開發(fā)”和“數(shù)據(jù)庫綜合實訓(xùn)課”兩門課程進行基于過程的考核改革,這兩門課程的考查內(nèi)容都是檢查學(xué)生小組的綜合實踐項目完成情況。在進行考核改革之后,學(xué)生小組的綜合實踐項目的完成率明顯提高,優(yōu)秀率也大幅提升?;谶^程的監(jiān)督和管理,學(xué)生小組明確要做什么、要怎么做,在項目開展的過程中能及時發(fā)現(xiàn)問題并解決問題,從而保證綜合實踐項目能夠順利開展。將企業(yè)項目管理的理念運用到編程實踐類課程中,使學(xué)生建立軟件工程的理論知識體系,熟悉企業(yè)項目管理流程和方法,為他們今后的學(xué)習(xí)工作奠定了堅實的基礎(chǔ)。
參考文獻:
[1][8]林菲,馬虹,龔曉君.“程序設(shè)計綜合實踐”六元融合實驗教學(xué)改革探索[J].實驗技術(shù)與管理,2020,37(01):149-154+158.
[2]李永飛,李芙玲.《Java Web應(yīng)用開發(fā)》課堂教學(xué)方案的設(shè)計[J].教育教學(xué)論壇,2018,370(28):215-217.
[3]萬爛軍,羅海霞.企業(yè)項目實戰(zhàn)教學(xué)法在Java Web程序設(shè)計課程中的應(yīng)用[J].電腦知識與技術(shù):學(xué)術(shù)交流,2016(10):146-147.
[4]陳昕,王興芬,焦健,等.注重編程能力培養(yǎng)的C語言過程化考核教學(xué)改革[J].實驗技術(shù)與管理,2016(09):155-158.
[5]黃俊蓮,趙冬巖,馮花平.高校計算機編程語言類課程過程考核的研究及實踐[J].教育現(xiàn)代化,2019,6(32):155-157.
[6]王嘯楠.面向?qū)嵺`類課程的在線平臺過程化考核評價體系探究[J].黑河學(xué)院學(xué)報,2020,79(01):153-155.
[7]翟艷男,張暉,宋暖.基于混合式教學(xué)的過程性考核實踐研究——以《電工電子技術(shù)》課程為例[J].電子測試,2020(10):115-116+72.
[9]吳建軍.基于過程考核的工科課堂教學(xué)質(zhì)量提升方法研究——以無錫商業(yè)職業(yè)技術(shù)學(xué)院為例[J].科技通報,2019(05).
作者簡介:陳靜嫻,碩士,講師,工作單位為海南醫(yī)學(xué)院,研究方向為Java教學(xué)研究,Java應(yīng)用系統(tǒng)研發(fā)。李亞崗(通訊作者),男,本科,河南許昌人,副教授,工作單位為海南醫(yī)學(xué)院,研究方向為分布式計算,軟件工程。
本文系海南省教育科學(xué)“十三五”規(guī)劃2020年度課題“任務(wù)驅(qū)動下的《Java Web開發(fā)》雙線混融教學(xué)研究與探索(編號:QJY20201015)”的研究成果。