陳靜嫻 李亞崗 林加論 張錦


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