仇麗青+張峰+溫彥
摘要:針對目前Java實訓中存在的“偏理論、輕實踐”問題,將軟件工程思想融入Java實訓中。將實訓與課堂教學內(nèi)容、實驗內(nèi)容相結(jié)合,全面采取項目驅(qū)動教學法,強調(diào)“邊學邊做,融軟件工程于實訓,從實踐中獲取知識”的教學思路,從教學目標及內(nèi)容、教學模式及方法、實訓分組和考核辦法4個方面進行改革探索。實踐證明,融入軟件工程思想的Java實訓改革,激發(fā)了學生的學習興趣,學生動手實踐能力顯著提高,取得了良好教學效果。
關(guān)鍵詞:Java實訓;軟件工程;Java程序設(shè)計
DOIDOI:10.11907/rjdk.172200
中圖分類號:G433
文獻標識碼:A 文章編號:1672-7800(2017)012-0232-03
Abstract:In view of the problem of partial theory and light practice existing in Java training, the idea of software engineering is integrated into Java training. The training is incorporated with the teaching and experiments, takes the project driven teaching method, emphasizes “l(fā)earning by doing, melting in software engineering practice,obtaining knowledge from practice”, and explores the reform from four aspects:objectives and content, mode and method, training grouping and assessment methods. Practice has proved that the reform with the idea of software engineering has achieved good teaching results, which has aroused the students' interest in learning, and greatly improved the students practical ability.
Key Words:Java training; software engineering; Java programming
0 引言
Java程序設(shè)計課程作為高校計算機專業(yè)本科生的專業(yè)必修課,具有很強的實踐性?,F(xiàn)有教學模式以理論教學為主、上機實踐為輔,側(cè)重講解語法知識和小型基礎(chǔ)編程,忽略了從軟件工程角度培養(yǎng)學生實際動手能力,缺乏全局性思維和軟件后期可擴展性、可維護性考慮,實際教學效果欠佳[1-3]。學生除了掌握一些簡單的語法知識,具備一些簡單的編程基礎(chǔ)外,面對比較復雜的實際項目,仍然無從下手,從軟件工程全生命周期角度進行項目開發(fā)維護更是無從談起。
為了適應(yīng)高校教育改革需要,山東科技大學在大三下半學期開設(shè)Java實訓課程,以培養(yǎng)學生實際動手能力為目標,采用以學生實踐為主、教師講解為輔的教學模式,將軟件工程重要設(shè)計思想引入實訓中,加深學生從軟件工程角度對Java程序設(shè)計的理解,進而達到學以致用的教學目的。經(jīng)過6年的實踐,取得了良好效果。
1 Java實訓改革背景
一般高校計算機類相關(guān)專業(yè)獨立地設(shè)置《Java程序設(shè)計》和《軟件工程》兩門重要課程,由不同的任課教師進行講解?!禞ava程序設(shè)計》課程以培養(yǎng)面向?qū)ο蟪绦蛟O(shè)計思想為目標,側(cè)重講解Java語言的編程知識點,采用以代碼閱讀講解為主、學生上機實踐為輔的教學方式。這種被動接受的教學方式使得學生無法真正理解這些編程知識點的應(yīng)用場景,無法在實際項目中靈活應(yīng)用,學生也感覺枯燥乏味,對編程失去興趣。以山東科技大學為例,《Java程序設(shè)計》安排為48個上課學時和24個實驗學時,這種學時安排不足以支持實際項目應(yīng)用開發(fā)。
《軟件工程》涉及復雜的工程性問題,以講解軟件工程的基本原則和方法為主,強調(diào)大型軟件的設(shè)計和管理過程,由于課時安排所限,學生的親身體會并不深刻,而且很容易產(chǎn)生厭學心理。因此,引入實際工程項目進行分析,從真實項目中強化理解軟件工程思想,是對《軟件工程》課程的有益補充[4-6]。
基于以上考慮,在山東科技大學計算機學院開展Java實訓課程,安排48個學時。在實訓中,教師明確要求學生必須按照軟件工程的全生命周期開發(fā)管理項目,主要由學生動手完成具體實踐項目。學生將學到的知識加以梳理鞏固,同時重點掌握之前沒有弄清楚的知識點,為進一步學習打好基礎(chǔ)。
2 Java實訓改革
為了更深刻地理解《Java程序設(shè)計》和《軟件工程》課程理論知識,進一步提高學生實踐動手能力,將實踐與課堂教學內(nèi)容、實驗內(nèi)容相結(jié)合,全面采取項目驅(qū)動教學法,強調(diào)“邊學邊做,融軟件工程于實訓,從實踐中獲取知識”的教學思路,從教學目標及內(nèi)容、教學模式及方法、實訓分組和考核辦法4個方面進行改革探索。
2.1 教學目標及內(nèi)容
Java實訓教學目標是用分階段的軟件生命周期計劃嚴格管理Java程序設(shè)計實訓項目。軟件生命周期包括需求分析、總體設(shè)計、詳細設(shè)計、調(diào)試測試、驗收運行、維護升級等階段。這種按時間分層的思想方法是軟件工程中的一種思想原則,即按部就班、逐步推進,每個階段都要有定義、工作、審查并形成文檔以供交流或備查,以提高軟件質(zhì)量。按照軟件生命周期的定義,制定實訓步驟如表1所示。
第一階段:項目理解階段,包括兩個子階段的需求理解和設(shè)計理解。在需求理解子階段要求學生使用用例圖等描述角色用例,并分別詳細描述各功能的內(nèi)容。在設(shè)計理解子階段要求進行系統(tǒng)的總體架構(gòu)和數(shù)據(jù)庫設(shè)計。階段結(jié)束后需撰寫項目理解報告。該階段一般安排8個學時。endprint
第二階段:項目設(shè)計與編碼階段。這是最為核心的階段。在項目理解階段的基礎(chǔ)上,進行項目開發(fā)與編碼。該階段主要包括:系統(tǒng)物理結(jié)構(gòu)、物理部署、主要類的實現(xiàn)、主要功能實現(xiàn),并總結(jié)實際編碼中遇到的問題和解決辦法。該階段一般安排32個學時。
第三階段:項目測試階段。要求學生進行白盒測試和黑盒測試,并撰寫項目測試報告。該階段一般安排4個學時。
第四階段:項目檢查階段。學生提交項目和最終報告,由教師對學生平時表現(xiàn)、項目、報告等進行考核評價,并給出最終成績。該階段一般安排4個學時。
在項目開發(fā)過程中,借鑒軟件工程中自頂向下、逐步細化、模塊化等思想,并強調(diào)軟件過程管理,包括階段性檢查、版本管理等[7]。采用項目案例的形式,將這些軟件工程基本思想和原則貫穿于整個實訓中,一方面使得學生開發(fā)工作更加規(guī)范化、系統(tǒng)化和工程化,另一方面又使得軟件工程中抽象的思想和原則具體化,進一步加深了學生對《Java程序設(shè)計》和《軟件工程》兩門課程的理解。
2.2 教學模式及方法
不同于以前的一些實訓課程分散安排在各周,將Java實訓集中安排在大三暑假的小學期。該時期,學生已經(jīng)完成了大部分專業(yè)課程,儲備了足夠的專業(yè)知識,也沒有其它課程負擔,能夠?qū)⑷烤ν度氲綄嵱栔?。Java實訓地點選擇在機房,不再明確劃分理論課和上機課,教師可以在學生上機實踐過程中穿插講解理論知識,便于教師發(fā)現(xiàn)學生中出現(xiàn)的問題并及時糾正。這種“邊學邊做”的方式進一步突出了學生實踐的主體地位,強化了學生的實際動手能力。
與傳統(tǒng)教學模式不同,學生是整個實訓過程中的主要參與者,學生們既可以在小組內(nèi)討論,也可以小組間交流。教師可以在實驗室巡視,對學生項目開發(fā)中遇到的問題給予個別輔導,也可以針對學生在實訓中碰到的共性問題進行集中講解。由此可見,教師角色變?yōu)轫椖堪l(fā)包方、監(jiān)理方和指導方,因而對教師的項目組織能力、實踐能力提出了新的要求。
2.3 實訓分組
將全班學生進行分組,每4人一組,各自完成一個項目開發(fā)[8-9]。在組隊時,要求優(yōu)劣搭配,以期成績好的學生帶動成績差的學生,達到共同進步的教學目的。每組中挑選一名優(yōu)秀的學生當組長,實行組長負責制,統(tǒng)籌安排組內(nèi)人員分工和團隊協(xié)作。每組都要撰寫需求理解報告,考查學生對項目的理解程度;還需要撰寫項目測試報告,重點考察學生對軟件測試的理解應(yīng)用程度。最后按照項目考核辦法對每組分別進行驗收,每個學生都要參與答辯,敘述自己完成的工作,并完成實訓報告。
這種實訓分組的方式,培養(yǎng)了學生的自主學習能力和團隊協(xié)作能力,可以經(jīng)??吹綄W生們熱烈討論的場景。從檢查結(jié)果和問卷調(diào)查看,這種方式提高了學生責任感,激發(fā)了學生參與積極性,提升了學生編程興趣,教學效果良好。
2.4 考核辦法
課程考核一般采用30%(實踐)+70%(考試)的方式。Java實訓是一門強調(diào)實踐的課程,傳統(tǒng)考核辦法很難反映學生的真實水平[10]。鑒于此,明確了Java實訓考核思想:重視實訓過程,重視編程能力提高。采用復合考核方式,最后成績由平時表現(xiàn)(占20%)、實訓成績(占60%)和報告成績(占20%)組成。平時表現(xiàn)側(cè)重于考察學生在實訓期間的紀律表現(xiàn),對于實訓期間玩游戲、玩手機、缺勤、遲到、早退等進行記錄,并采取一定扣分措施;實訓成績側(cè)重于考查學生實際動手能力以及獨立解決問題的能力,主要包括程序設(shè)計的正確性、實用性、完整性、創(chuàng)新性等;報告成績側(cè)重于考查學生完成的需求理解報告、軟件測試報告和最終實訓報告,主要包括內(nèi)容是否正確完整、是否存在抄襲現(xiàn)象等。
3 Java實訓改革效果
Java實訓已開設(shè)6年,實踐證明,將軟件工程思想融入Java程序?qū)嵱栔?,激發(fā)了學生的學習興趣,顯著提高了學生動手實踐能力,取得了良好教學效果。以2013級軟件工程一班和二班學生為例進行調(diào)研分析,其中一班共有42名學生,采用傳統(tǒng)Java實訓模式;二班共有40名學生,采用融入軟件工程思想的Java實訓模式。問卷調(diào)查結(jié)果如表2所示。
調(diào)查結(jié)果表明,與傳統(tǒng)Java實訓教學模式相比,學生們普遍認為融入軟件工程思想后,Java實訓教學效果明顯提升,學習效果、動手能力和自主學習能力得到大幅提高,并且?guī)熒g的交流互動明顯增多。
4 結(jié)語
Java實訓課程是目前高校計算機類專業(yè)開設(shè)的一門重要實踐課程,在人才培養(yǎng)方案中占有十分重要的地位。融入軟件工程思想的Java實訓改革,通過項目案例形式,用分階段的軟件生命周期計劃嚴格管理Java程序設(shè)計實訓項目,將軟件工程基本思想和原則貫穿于整個實訓中,一方面使得開發(fā)工作更加規(guī)范化、系統(tǒng)化和工程化,另一方面也使得軟件工程中抽象的思想和原則具體化,進一步加深了學生對《Java程序設(shè)計》和《軟件工程》兩門課的理解。實踐證明,融入軟件工程思想的Java實訓改革取得了良好教學效果。
參考文獻:
[1] 趙麗娜.基于實訓項目的Java程序設(shè)計實驗教學模式改革與實踐[J].電腦知識與技術(shù),2016,12(26):181-182.
[2] 張璞.“案例驅(qū)動+項目導向”的Java程序設(shè)計課程教學模式研究[J].計算機教育,2017(2):58-67.
[3] 湯海蓉,李錫輝.基于項目驅(qū)動的JAVA程序設(shè)計教學改革[J].教育與職業(yè),2017,6(718):140-142.
[4] 杜小坤,涂韜,徐勝舟.《Java程序設(shè)計》與《軟件工程》綜合教學改革初探[J].現(xiàn)代計算機:專業(yè)版,2016(11):57-60.
[5] 李小榮,疏志年,陳麗萍,等.用軟件工程指導Java程序設(shè)計[J].福建電腦,2015(12):66,150.
[6] 唐光義,劉勝輝,張淑麗.以工程應(yīng)用為導向的JAVA教學方法探索[J].計算機教育,2013(5):86-89.
[7] 袁鳳玲.軟件工程思想在程序設(shè)計公共課教學中的應(yīng)用[J].遼寧科技學院學報,2015,1(14):44-45.
[8] 薛嵐.構(gòu)建以“分級遞進、逐步提高、綜合應(yīng)用”為實訓核心的JAVA實踐教學體系[J].山東工業(yè)技術(shù),2014(13):194.
[9] 王江濤.基于項目實訓的JAVA教學改革[J].福建電腦,2015(3):71-72.
[10] 劉爽,陳鵬.計算機類項目實訓考核方法探索與實踐——以Java項目實訓考核為例[J].大連民族學院學報,2015,1(17):90-93.
(責任編輯:孫 娟)endprint