時(shí)間:2023-03-13 11:04:45
導(dǎo)語:在軟件工程課程設(shè)計(jì)總結(jié)的撰寫旅程中,學(xué)習(xí)并吸收他人佳作的精髓是一條寶貴的路徑,好期刊匯集了九篇優(yōu)秀范文,愿這些內(nèi)容能夠啟發(fā)您的創(chuàng)作靈感,引領(lǐng)您探索更多的創(chuàng)作可能。

關(guān)鍵詞:CDIO;翻轉(zhuǎn)課堂;軟件工程
中圖分類號:G642 文獻(xiàn)標(biāo)志碼:A 文章編號:1673-8454(2017)08-0050-03
一、引言
《軟件工程》是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科。軟件人才所需要掌握的系統(tǒng)理論和方法,所需要具備的軟件項(xiàng)目的理解與掌控能力、全面的實(shí)踐開發(fā)能力以及良好的溝通協(xié)調(diào)能力都與《軟件工程》課程的教學(xué)內(nèi)容和教學(xué)目標(biāo)緊密相關(guān),因此《軟件工程》課程在軟件工程專業(yè)人才的培養(yǎng)上具有重要地位。
《軟件工程》教學(xué)內(nèi)容理論性強(qiáng),表面上一看就懂,實(shí)際上很難掌握。近年來,該課程的教學(xué)方法和手段不斷改進(jìn),在教學(xué)效果上有了明顯提高,但仍然存在諸多問題。例如,將基礎(chǔ)理論和方法的學(xué)習(xí)與軟件開發(fā)實(shí)踐割裂開來;在教學(xué)方法上以教師講授為主,忽視了對學(xué)生積極性、主動性、創(chuàng)新性的培養(yǎng);強(qiáng)調(diào)學(xué)生個(gè)人軟件開發(fā)能力的發(fā)展,忽視了團(tuán)隊(duì)協(xié)作精神的培養(yǎng)等。
CDIO[1-3]教育模式是近年來國際工程教育改革的最新成果,CDIO代表構(gòu)思(Conceive)、設(shè)計(jì)(Design)、實(shí)現(xiàn)(Implement)和運(yùn)作(Operate),注重通過實(shí)做來加深對理論知識的理解和掌握,培養(yǎng)學(xué)生的創(chuàng)新意識、項(xiàng)目開發(fā)能力和團(tuán)隊(duì)協(xié)作精神?!盾浖こ獭愤@門課程對于沒有開發(fā)經(jīng)驗(yàn)的學(xué)生來說枯燥抽象,無法產(chǎn)生共鳴。學(xué)生只有通過實(shí)踐才能理解并掌握其理論知識,才能熟練運(yùn)用相關(guān)工具完成軟件建模和軟件開發(fā)。其次,隨著軟件規(guī)模越來越大,軟件開發(fā)工作必須以團(tuán)隊(duì)形式進(jìn)行,但是很多大學(xué)生都缺乏良好的溝通能力和團(tuán)隊(duì)精神。采用CDIO的教學(xué)模式,學(xué)生以小組形式共同完成軟件開發(fā)任務(wù),必然會提高學(xué)生的溝通協(xié)調(diào)能力。因此,將CDIO模式引入《軟件工程》課程教學(xué)勢在必行。
翻轉(zhuǎn)課堂[4-6]是一種新型的教學(xué)模式。傳統(tǒng)情況下,學(xué)生的學(xué)習(xí)過程分為兩個(gè)階段:第一階段是“知識傳授”,通過教師在課堂上的講解來實(shí)現(xiàn);第二個(gè)階段是“吸收內(nèi)化”,在課后由學(xué)生通過復(fù)習(xí)、寫作業(yè)等形式來實(shí)現(xiàn)?!拔諆?nèi)化”的過程需要靈活運(yùn)用所學(xué)知識解決問題,相對于“知識傳授”階段來講難度更大,但此時(shí)卻缺乏教師的支持和輔導(dǎo),學(xué)生常常感到挫敗,漸漸失去了學(xué)習(xí)動力,作業(yè)抄襲成了普遍現(xiàn)象?!胺D(zhuǎn)課堂”對學(xué)生學(xué)習(xí)過程進(jìn)行了重構(gòu),“知識傳授”在課前由學(xué)生自主進(jìn)行;“吸收內(nèi)化”是在課堂上通過教師講解和師生互動來完成。在學(xué)習(xí)《軟件工程》課程時(shí),學(xué)生普遍感到看書時(shí)仿佛理解了,合上書本后卻什么也沒有留下,說明學(xué)生并沒有掌握軟件工程思想的精髓,知識的吸收與內(nèi)化沒有做好,需要教師在這一過程中提供及時(shí)的幫助。
因此,在CDIO模式下融入翻轉(zhuǎn)課堂的思想,要求學(xué)生課前完成知識的了解,課堂上對學(xué)生理解不了的難點(diǎn)問題重點(diǎn)講解、討論,同時(shí)利用先進(jìn)的實(shí)踐環(huán)境進(jìn)行實(shí)操訓(xùn)練,一定能夠有效提高課程的教學(xué)效果。
二、CDIO教育模式在《軟件工程》課程教學(xué)中的實(shí)施
在以往的教學(xué)中,理論教學(xué)在前十二周進(jìn)行,然后到學(xué)期末尾進(jìn)行軟件工程的課程設(shè)計(jì),為期兩周,這兩部分完全脫節(jié)。在理論教學(xué)中,由于沒有實(shí)踐環(huán)節(jié),學(xué)生單純學(xué)習(xí)理論知識,感覺枯燥乏味,不知所云,學(xué)習(xí)效果差。到了課程設(shè)計(jì)環(huán)節(jié),由于前期沒有打下堅(jiān)實(shí)的理論基礎(chǔ),學(xué)生只是重視代碼的編寫,對分析和設(shè)計(jì)往往是在課程設(shè)計(jì)驗(yàn)收時(shí)才匆忙寫一寫,應(yīng)付了事,并沒有得到應(yīng)有的訓(xùn)練,沒有領(lǐng)會軟件工程的思想精髓。
采用CDIO教學(xué)模式后,將《軟件工程》的理論教學(xué)和實(shí)踐教學(xué)有機(jī)地融合在一起,同步M行。
1.學(xué)生組建若干個(gè)軟件項(xiàng)目開發(fā)小組
授課之初,將學(xué)生以自愿為原則分成若干組,每組3~5人,確定一名負(fù)責(zé)人,然后大家共同選定一個(gè)軟件開發(fā)項(xiàng)目,這些項(xiàng)目可以由教師指定,也可以由各組同學(xué)按興趣自行選定,教師給出指導(dǎo)意見,確定項(xiàng)目范圍。
2.隨著理論教學(xué)的推進(jìn),同步開展項(xiàng)目實(shí)踐活動
軟件開發(fā)分為需求分析、軟件設(shè)計(jì)、編碼和測試等階段。按照這些階段的先后順序安排教學(xué)內(nèi)容,并同步開展實(shí)踐活動。例如,學(xué)習(xí)需求分析時(shí),要求學(xué)生圍繞自己的項(xiàng)目進(jìn)行充分的需求分析,包括查閱資料、實(shí)地調(diào)研和分析建模,并撰寫需求分析文檔。學(xué)習(xí)軟件設(shè)計(jì)時(shí),要求學(xué)生進(jìn)行項(xiàng)目的概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)和設(shè)計(jì)建模,撰寫軟件設(shè)計(jì)文檔。
在開展軟件工程各個(gè)階段的工作時(shí),要求學(xué)生采用業(yè)界常用的軟件建模和開發(fā)工具,例如Enterprise Architect、MyEclipse、Visual Studio等。
3.充分利用課堂教學(xué)和課程設(shè)計(jì)之間的空檔時(shí)間進(jìn)行軟件編碼
軟件工程理論教學(xué)結(jié)束后和課程設(shè)計(jì)開始前的這段時(shí)間是編碼階段的工作時(shí)間,每個(gè)項(xiàng)目組根據(jù)之前的分析和設(shè)計(jì)結(jié)果,選擇程序設(shè)計(jì)語言和開發(fā)工具進(jìn)行編碼工作,實(shí)現(xiàn)系統(tǒng)的核心部分。
4.在課程設(shè)計(jì)時(shí)間段進(jìn)行軟件測試,編寫課設(shè)報(bào)告
在軟件工程課程設(shè)計(jì)的兩周時(shí)間里,采用人工測試和機(jī)器測試相結(jié)合的方法進(jìn)行軟件測試,記錄整個(gè)測試過程,包括測試用例和測試結(jié)果,形成測試報(bào)告。最后,根據(jù)課程設(shè)計(jì)文檔的要求撰寫課程設(shè)計(jì)報(bào)告。
采用這種教學(xué)模式,在理論教學(xué)中采用案例教學(xué)方式,讓學(xué)生直觀地感受軟件工程的基本原理與方法;在課程設(shè)計(jì)中,通過動手實(shí)踐使學(xué)生深入理解和掌握軟件工程的基本原理與方法;通過研究性和探索性學(xué)習(xí)進(jìn)行課題研究等形式,培養(yǎng)學(xué)生的研究能力和創(chuàng)新精神。
在實(shí)施CDIO教學(xué)模式時(shí)應(yīng)該注意的是,學(xué)生的實(shí)踐活動不應(yīng)該著眼于一個(gè)個(gè)孤立的小任務(wù),而應(yīng)該定位在一個(gè)完整的項(xiàng)目上,隨著課程內(nèi)容的進(jìn)展,一步步地完成軟件項(xiàng)目的各個(gè)階段任務(wù)。這部分的難點(diǎn)在于項(xiàng)目規(guī)模的控制,項(xiàng)目過小學(xué)生無法體會軟件工程的重要性,項(xiàng)目過大會占用學(xué)生過多的時(shí)間。可行的方法是將一個(gè)規(guī)模較大的軟件項(xiàng)目劃分成若干個(gè)子系統(tǒng),每個(gè)小組負(fù)責(zé)一個(gè)子系統(tǒng)的研發(fā),各個(gè)小組之間分工合作、協(xié)調(diào)配合。在實(shí)踐過程中,一定會遇到各種各樣的問題甚至是失敗,正是這些問題和失敗使學(xué)生充分認(rèn)識到軟件工程方法的重要作用。
三、翻轉(zhuǎn)課堂在《軟件工程》課程教學(xué)中的應(yīng)用
1.翻轉(zhuǎn)課堂網(wǎng)絡(luò)教學(xué)系統(tǒng)
實(shí)行翻轉(zhuǎn)課堂教學(xué)需要一個(gè)教學(xué)軟件系統(tǒng)的支持,現(xiàn)在有很多軟件公司都提供了功能豐富、使用方便的教學(xué)系統(tǒng)。如果要實(shí)現(xiàn)特定的要求,可以自行開發(fā)。軟件工程教學(xué)系統(tǒng)運(yùn)用Java Web技術(shù)基于SSH框架開發(fā),分為數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和表示層,其體系結(jié)構(gòu)如圖1所示。使用本系統(tǒng),學(xué)生可以方便地查看教師的任務(wù)單、觀看視頻、與教師進(jìn)行交互和提交文檔和作業(yè)等,教師可以任務(wù)單、上傳視頻、及時(shí)了解和掌握學(xué)生學(xué)習(xí)的情況以調(diào)整授課策略。
2.確定適合翻轉(zhuǎn)課堂教學(xué)模式的教學(xué)內(nèi)容
本科的《軟件工程》教學(xué)主要講述傳統(tǒng)的軟件開發(fā)方法和面向?qū)ο蟮能浖_發(fā)方法,適合翻轉(zhuǎn)課堂模式的教學(xué)內(nèi)容比較多,如結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)、面向?qū)ο蠓治龊兔嫦驅(qū)ο笤O(shè)計(jì)等。這些內(nèi)容都包含了建模技術(shù)的學(xué)習(xí),如UML等,這些技術(shù)及其工具都比較簡單,容易掌握,難的是如何將這些技術(shù)應(yīng)用到具體的軟件項(xiàng)目分析與設(shè)計(jì)中。因此,將建模技術(shù)的學(xué)習(xí)放在課前通過觀看視頻進(jìn)行,將較難掌握的分析和設(shè)計(jì)方法結(jié)合具體項(xiàng)目在課堂教學(xué)中展開,通過師生之間的交流討論,使學(xué)生能夠?qū)@些理論和方法有更深刻的理解和掌握。
3.制作教學(xué)視頻
教學(xué)視頻是實(shí)現(xiàn)翻轉(zhuǎn)課堂的基礎(chǔ)和前提。教學(xué)視頻的制作,需要一個(gè)功能強(qiáng)大的視頻制作軟件,例如Camtasia Studio、OBS Studio等。視頻內(nèi)容要求體現(xiàn)重點(diǎn)和難點(diǎn),將時(shí)間控制在20分鐘以內(nèi)。可以恰當(dāng)使用背景音樂來營造良好的學(xué)習(xí)氛圍。視頻畫面要求簡潔清晰,富于變化。在視頻中最好有一些分析和推導(dǎo)過程,教師通過手寫板等工具對重點(diǎn)內(nèi)容進(jìn)行勾畫并配以細(xì)致的講解,吸引學(xué)生的注意力。教師的影像可以出現(xiàn)在畫面中,增強(qiáng)面對面進(jìn)行交互的感覺。在視頻中放置一些問題,學(xué)生回答后才可繼續(xù)觀看視頻,這一方面能夠引導(dǎo)學(xué)生總結(jié)和思考,另一方面能使教師了解學(xué)生對知識的理解和掌握程度,從而更好地安排后續(xù)的課堂教學(xué)內(nèi)容。
4.課堂教學(xué)
在課堂教學(xué)中,教師首先針對學(xué)生課前提出的問題和學(xué)習(xí)任務(wù)單完成的情況,有針對性地講解相關(guān)知識點(diǎn)。然后以一個(gè)實(shí)際的軟件開發(fā)項(xiàng)目的分析或設(shè)計(jì)為目標(biāo)組織學(xué)生分組討論。在此過程中,教師可以參加各組的討論并進(jìn)行答疑,對存在的共性問題統(tǒng)一講解[7]。最后,隨機(jī)抽取2~3組學(xué)生匯報(bào)其工作成果,并請其他組的同學(xué)發(fā)現(xiàn)存在的問題,然后教師再對這些問題進(jìn)行點(diǎn)評,提供更多有針對性的幫助。
5.反饋與評價(jià)
教師根據(jù)學(xué)生掌握知識的情況以及反饋的各種意見,總結(jié)教學(xué)環(huán)節(jié)存在的不足,以此調(diào)整教學(xué)內(nèi)容和教學(xué)方式。教師在評價(jià)學(xué)生時(shí)主要考慮兩方面,一是根據(jù)學(xué)生觀看視頻、回答問題的情況以及在網(wǎng)上交流的情況;二是根據(jù)學(xué)生在課堂上的表現(xiàn),包括學(xué)生所負(fù)責(zé)工作的難度和工作量,在組里的參與程度,和教師、其他學(xué)生的互動情況等。教師將評估結(jié)果及時(shí)反饋給學(xué)生,促使學(xué)生發(fā)現(xiàn)自身存在的問題,不斷進(jìn)步。
四、結(jié)束語
通過在《軟件工程》課程中實(shí)施CDIO和翻轉(zhuǎn)課堂相結(jié)合的教學(xué)模式,解決了傳統(tǒng)教學(xué)模式的缺點(diǎn),使學(xué)生成為主動的參與者,激發(fā)了學(xué)生的學(xué)習(xí)興趣,發(fā)揮了學(xué)生的主觀能動性,更有效的促進(jìn)學(xué)生對知識的內(nèi)化,教學(xué)效果得到了顯著提高。不過,翻轉(zhuǎn)課堂教學(xué)模式要求學(xué)生必須進(jìn)行課前自學(xué),否則教學(xué)效果很差,如何保證學(xué)生能夠自覺地學(xué)習(xí)需要進(jìn)一步探索。
參考文獻(xiàn):
[1]李彤,趙娜.基于CDIO的軟件工程國家精品課程建設(shè)[J].計(jì)算機(jī)教育,2012(1):14-19.
[2]n智,張振虹,李興娟.基于CDIO 理念的軟件工程課程教學(xué)改革[J].計(jì)算機(jī)教育,2010(11):56-59.
[3]汪軍,強(qiáng)俊.基于CDIO理念的軟件工程專業(yè)人才培養(yǎng)模式的研究[J].重慶工商大學(xué)學(xué)報(bào)(自然科學(xué)版),2015(6):70-74.
[4]宋朝霞,俞啟定.基于翻轉(zhuǎn)課堂的項(xiàng)目式教學(xué)模式研究[J].遠(yuǎn)程教育雜志,2014(1):96-104.
關(guān)鍵詞:軟件工程;實(shí)踐教學(xué);課程設(shè)計(jì);案例庫;可復(fù)用
課程設(shè)計(jì)是一門課程結(jié)束之后安排一周或者兩周綜合實(shí)訓(xùn),讓學(xué)生完成一個(gè)實(shí)際的課題鞏固理論知識,對課程知識體系獲得更深刻全面的理解,是提高學(xué)生實(shí)踐能力的重要環(huán)節(jié)[1]。目前,學(xué)院軟件工程專業(yè)從第4、5學(xué)期陸續(xù)開設(shè)專業(yè)基礎(chǔ)課和專業(yè)課,如《C#面向?qū)ο蟮某绦蛟O(shè)計(jì)》、《Java程序設(shè)計(jì)》、《軟件需求分析》、《數(shù)據(jù)庫原理及應(yīng)用》、《軟件工程》、《UML技術(shù)》、《軟件測試》等,這些課程均安排了為期一周的課程設(shè)計(jì)。但大四畢業(yè)設(shè)計(jì)時(shí)發(fā)現(xiàn)部分學(xué)生實(shí)踐能力達(dá)不到專業(yè)培養(yǎng)要求,原因主要在于專業(yè)類課程實(shí)踐環(huán)節(jié)沒能夠達(dá)到理想的教學(xué)效果。經(jīng)調(diào)研發(fā)現(xiàn),這些課程設(shè)計(jì)周是由各科授課老師布置一個(gè)相關(guān)課題,明確課題要求,給一周時(shí)間讓學(xué)生自主完成,最后提交一個(gè)小的系統(tǒng)與課程設(shè)計(jì)報(bào)告。這種課程設(shè)計(jì)存在以下問題:(1)課程設(shè)計(jì)教學(xué)內(nèi)容方面。老師未能提供系統(tǒng)、綜合的課程知識相關(guān)案例,導(dǎo)致學(xué)生對題目理解不足,對課題認(rèn)知模糊,無從下手,降低了學(xué)習(xí)主動性。(2)教學(xué)手段陳舊?;具€是停留在老師講、學(xué)生聽的階段。師生互動較少,學(xué)生沒有足夠時(shí)間思考,即使在某個(gè)環(huán)節(jié)出現(xiàn)問題也不能及時(shí)解決,課后問題可能不了了之。(3)課程設(shè)計(jì)考核體系不完善。實(shí)踐環(huán)節(jié)大多為考察,導(dǎo)致學(xué)生不夠重視,提交一個(gè)報(bào)告了事。由于缺乏完整監(jiān)管機(jī)制,學(xué)生對整個(gè)課題的開發(fā)過程認(rèn)識不清,沒有收獲。另外,老師憑提交的報(bào)告給出成績,區(qū)分度不明顯,不夠合理公平。針對目前存在問題,本文提出軟件工程類課程設(shè)計(jì)實(shí)踐教學(xué)改進(jìn)方案。首先,建設(shè)一個(gè)可復(fù)用的軟件工程實(shí)踐教學(xué)案例庫,案例庫中的教學(xué)案例運(yùn)用主流開發(fā)技術(shù)、管理技術(shù)及開發(fā)環(huán)境?!翱蓮?fù)用”是指同一案例根據(jù)不同課程分割出不同的知識單元,軟件工程類課程之間本來就緊密聯(lián)系,相互承接,案例庫可供多門專業(yè)課在實(shí)踐環(huán)節(jié)教學(xué)中使用。其次,推行案例同時(shí)更新教學(xué)手段,采用注重學(xué)生參與及師生交流的分段式教學(xué)模式。最后,制定明確的課程設(shè)計(jì)監(jiān)管與考核方案,對整個(gè)課程設(shè)計(jì)過程嚴(yán)格把控,培養(yǎng)學(xué)生綜合應(yīng)用知識能力與實(shí)踐動手能力,提高課程設(shè)計(jì)環(huán)節(jié)教學(xué)效果。
1案例庫建設(shè)
案例庫中的項(xiàng)目不僅要考慮案例庫的可復(fù)用性,能夠服務(wù)多門課程,還需體現(xiàn)軟件工程專業(yè)能力培養(yǎng)需求,并考慮開發(fā)難度與學(xué)生接受程度。因此應(yīng)選擇學(xué)生熟悉的業(yè)務(wù)系統(tǒng),采用主流開發(fā)工具來實(shí)現(xiàn)輕量級工程化系統(tǒng)。系統(tǒng)功能盡量有代表性,同類系統(tǒng)可以仿照實(shí)現(xiàn),并根據(jù)課程知識結(jié)構(gòu)需要進(jìn)行功能定制。如案例庫中的項(xiàng)目:《學(xué)生成績管理系統(tǒng)》用C#與SQLServer2008開發(fā)。該系統(tǒng)是典型的小型MIS系統(tǒng),主要實(shí)現(xiàn)了學(xué)生、教師、管理員3類用戶對學(xué)生信息、課程信息及成績信息不同程度的增、刪、改、查。該案例可以服務(wù)于《C#面向?qū)ο蟮某绦蛟O(shè)計(jì)》、《數(shù)據(jù)庫原理及應(yīng)用》、《UML技術(shù)》、《軟件工程》、《軟件測試》等課程的設(shè)計(jì)教學(xué)。案例庫項(xiàng)目開發(fā)融合了軟件工程很多專業(yè)課程知識,在不同課程中使用,學(xué)生可以明確各門課程學(xué)習(xí)目標(biāo),從不同視角體驗(yàn)軟件開發(fā)流程,提高對軟件工程整體把握的能力,建立軟件工程的思想。
2知識結(jié)構(gòu)劃分與整理
案例實(shí)現(xiàn)之后,為了服務(wù)于不同課程,不同授課教師需要重新組織教學(xué)資源,梳理課程大綱、劃分教學(xué)內(nèi)容、整理教學(xué)素材、制作教學(xué)課件,這一步至關(guān)重要也最為核心。想要通過一個(gè)完整教學(xué)案例,使學(xué)生建立起課程知識結(jié)構(gòu)網(wǎng)絡(luò),授課教師不僅要基于案例將課程相關(guān)基本知識點(diǎn)及聯(lián)系貫穿其中,還要對知識進(jìn)行高度提煉,體現(xiàn)課程內(nèi)容有機(jī)聯(lián)系。這樣學(xué)生通過案例講解,不僅對理論知識理解更加透徹,對課程體系也會有更深刻的把握,學(xué)習(xí)效果取得質(zhì)的飛躍。下面以《學(xué)生成績管理系統(tǒng)》的實(shí)現(xiàn)為例,按不同課程知識側(cè)重點(diǎn)進(jìn)行概要劃分,在課程設(shè)計(jì)環(huán)節(jié)中,授課教師結(jié)合案例針對本門課程側(cè)重講授知識結(jié)構(gòu)。(1)《面向?qū)ο蟮某绦蛟O(shè)計(jì)C?!?,講授如何利用C#語言進(jìn)行系統(tǒng)開發(fā)。利用常用控件來搭建設(shè)計(jì)學(xué)生成績管理系統(tǒng)界面、實(shí)現(xiàn)窗口間跳轉(zhuǎn)、消息傳遞;利用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法實(shí)現(xiàn)系統(tǒng)業(yè)務(wù)邏輯與主要功能;利用ADO組件訪問數(shù)據(jù)庫,完成對系統(tǒng)數(shù)據(jù)的基本操作。(2)《數(shù)據(jù)庫原理及應(yīng)用》,講授如何進(jìn)行學(xué)生成績管理系統(tǒng)后臺數(shù)據(jù)庫設(shè)計(jì)。數(shù)據(jù)流圖,數(shù)據(jù)字典的創(chuàng)建;概念結(jié)構(gòu)設(shè)計(jì)(E-R圖的繪制)邏輯結(jié)構(gòu)設(shè)計(jì),將E-R圖轉(zhuǎn)換為關(guān)系模式,如何考察關(guān)系模式、規(guī)范化程度、規(guī)范化理論、視圖機(jī)制、安全性及完整性設(shè)計(jì);數(shù)據(jù)庫的實(shí)施:SQL的應(yīng)用,建庫、建表、錄入數(shù)據(jù)等。(3)《軟件工程》,以學(xué)生成績管理系統(tǒng)為例,按照軟件工程流程,講解每一階段任務(wù)及涉及方法,結(jié)合案例從可行性分析、需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)及系統(tǒng)測試幾個(gè)步驟進(jìn)行。(4)《UML面向?qū)ο笤O(shè)計(jì)與分析》,對應(yīng)學(xué)生成績管理系統(tǒng)開發(fā)各階段從建模的角度講解UML的9種圖,主要包括在需求階段如何識別參與者與用例,建立用例模型;在分析設(shè)計(jì)階段靜態(tài)結(jié)構(gòu)模型的建立(類圖、對象圖)及動態(tài)行為模型的建立(順序圖、狀態(tài)圖、活動圖);系統(tǒng)實(shí)現(xiàn)階段物理模型的建立(組件圖、系統(tǒng)部署圖),及將UML自動轉(zhuǎn)換為面向?qū)ο笤O(shè)計(jì)語言的實(shí)現(xiàn)??梢钥吹?,不同課程使用《學(xué)生成績管理系統(tǒng)》案例側(cè)重于不同知識體系。
3案例推行與考核模式建立
授課教師在課程設(shè)計(jì)環(huán)節(jié)中推行案例,按照案例教學(xué)、任務(wù)驅(qū)動模式來進(jìn)行,課堂講授仍然是不可或缺的[2]。首先通過分析案例程序引導(dǎo)學(xué)生學(xué)習(xí),由案例的講解分析,深入淺出地引出知識點(diǎn),引導(dǎo)學(xué)生逐步理解課程重點(diǎn)、難點(diǎn),深化理論知識學(xué)習(xí)[3]。其次提出本次課程設(shè)計(jì)任務(wù)要求,老師詳細(xì)分解設(shè)計(jì)題目內(nèi)容與步驟,給出參照與示范。案例講解與任務(wù)分解交叉進(jìn)行,課程差異性使得案例教學(xué)不必拘泥于固定模式與時(shí)間,講授案例時(shí)間大概是6~10學(xué)時(shí),老師可以自行調(diào)整授課進(jìn)度與節(jié)奏。在案例教學(xué)中,為了充分調(diào)動學(xué)生主動性,并及時(shí)發(fā)現(xiàn)問題、解決問題,采用了“教師提出課題—學(xué)生分組討論—教師演示案例—學(xué)生實(shí)踐—學(xué)生總結(jié)、師生交流”分段方式進(jìn)行,并且在以學(xué)生為主體的階段進(jìn)行考核。在案例講解、任務(wù)驅(qū)動教學(xué)方式下,建立完整考核機(jī)制,教師監(jiān)控整個(gè)實(shí)踐過程,激勵學(xué)生參與到每一個(gè)階段中,學(xué)生遇到問題也可以反饋給老師,及時(shí)得到幫助,提高學(xué)生主動性。成績考評是根據(jù)學(xué)生每一階段任務(wù)完成情況,從分析解決問題、團(tuán)隊(duì)合作、語言表達(dá)及文檔書寫能力表現(xiàn)作綜合評定,不僅保證了評價(jià)結(jié)果客觀性,也引導(dǎo)了學(xué)生加強(qiáng)這些方面的能力培養(yǎng)。
4結(jié)語
針對學(xué)院現(xiàn)在軟件工程類多門課程在課程設(shè)計(jì)環(huán)節(jié)存在問題,提出了建設(shè)可復(fù)用的案例庫,并根據(jù)不同課程教學(xué)需要對案例進(jìn)行知識結(jié)構(gòu)劃分與整理,在實(shí)踐中采用分段式教學(xué)推行案例,加以完整考評方式,現(xiàn)已收到較好教學(xué)效果。基于案例庫的實(shí)踐教學(xué)改進(jìn)方案還可以應(yīng)用在軟件工程綜合實(shí)訓(xùn)環(huán)節(jié),為了達(dá)到更高教學(xué)要求,培養(yǎng)高質(zhì)量人才,案例庫還需要不斷更新與完善。
參考文獻(xiàn):
[1]吳金秀.課程設(shè)計(jì)在高職實(shí)踐教學(xué)中的應(yīng)用與探索[J].網(wǎng)絡(luò)與信息,2008(10):78.
1.課程定位不明確
在信管專業(yè)中,軟件工程主要指導(dǎo)學(xué)生進(jìn)行管理信息系統(tǒng)的分析、設(shè)計(jì)、實(shí)施及維護(hù),側(cè)重系統(tǒng)的研發(fā)和維護(hù)的原理和方法。管理信息系統(tǒng)課程則是讓學(xué)生全面認(rèn)識管理信息系統(tǒng),涉及的知識面廣,但內(nèi)容淺顯。兩者在系統(tǒng)開發(fā)和維護(hù)部分的內(nèi)容上存在交集,部分院校因此未將軟件工程加入專業(yè)培養(yǎng)計(jì)劃。另外一些院校為強(qiáng)化學(xué)生的系統(tǒng)開發(fā)能力,將“軟件工程”與“信息系統(tǒng)分析與設(shè)計(jì)”課程同時(shí)開設(shè),出現(xiàn)課程重復(fù)的現(xiàn)象。這些都是軟件工程定位不清晰的結(jié)果。
2.課程時(shí)間安排不合理
信管專業(yè)中的軟件工程與諸多信管專業(yè)基礎(chǔ)課程聯(lián)系密切,需要較強(qiáng)的專業(yè)基礎(chǔ)知識,但目前部分院校的課程體系將軟件工程與管理學(xué)、程序設(shè)計(jì)等專業(yè)基礎(chǔ)課程安排在同一學(xué)期顯然不合適,教學(xué)安排缺乏層次性。
3.師資力量存短板
信管專業(yè)教授軟件工程的教師幾乎都畢業(yè)于計(jì)算機(jī)專業(yè),不僅缺乏管理學(xué)相關(guān)知識且在教學(xué)思想上沿襲了理工科的風(fēng)格,偏重程序研發(fā)流程,忽略管理信息系統(tǒng)開發(fā)過程的多學(xué)科交叉特點(diǎn),導(dǎo)致學(xué)生把管理信息系統(tǒng)等同于一般的計(jì)算機(jī)軟件,使得學(xué)生對管理信息系統(tǒng)的內(nèi)涵認(rèn)識不足,甚至產(chǎn)生誤解。此外,大多數(shù)教師并沒有實(shí)際參與大型管理信息系統(tǒng)項(xiàng)目的開發(fā),缺乏實(shí)際的研發(fā)經(jīng)驗(yàn),故難以全面、深入地介紹管理信息系統(tǒng)研發(fā)過程和特點(diǎn)。
4.適用教材缺乏
一方面現(xiàn)有信管專業(yè)軟件工程的教材大都沿用自計(jì)算機(jī)專業(yè),著重從理論方面介紹各種經(jīng)典分析和設(shè)計(jì)方法,所選案例也缺乏與管理學(xué)等其他相關(guān)學(xué)科結(jié)合,且很少結(jié)合最新的設(shè)計(jì)方法和工具進(jìn)行介紹。這種教材選擇方式難以和信管專業(yè)內(nèi)的其他課程有機(jī)結(jié)合,自身形成知識孤島,無法體現(xiàn)信管專業(yè)管理為主、計(jì)算機(jī)為輔,多學(xué)科交叉的特點(diǎn),同時(shí)也不能反映信管專業(yè)與計(jì)算機(jī)專業(yè)的本質(zhì)區(qū)別。
5.教學(xué)方法古板,實(shí)踐不足
軟件工程的教學(xué)內(nèi)容多為以往研發(fā)經(jīng)驗(yàn)的概括和總結(jié),知識點(diǎn)多以各種概念、原則、規(guī)則和要點(diǎn)等形式出現(xiàn),缺乏完整案例,內(nèi)容抽象晦澀,教師多采用單向注入和強(qiáng)行灌輸?shù)慕虒W(xué)方式,不利學(xué)生的理解和應(yīng)用。此外,信管專業(yè)課程體系龐雜,無法為軟件工程分配足夠的實(shí)踐課時(shí)。其他系統(tǒng)開發(fā)相關(guān)課程,或因項(xiàng)目過小而無需使用軟件工程思想,或因課時(shí)限制而側(cè)重系統(tǒng)的實(shí)現(xiàn)和測試方面。這些問題導(dǎo)致軟件工程思想難以完全付諸實(shí)踐,使學(xué)生缺乏系統(tǒng)性和全面性的訓(xùn)練。
6.學(xué)生評價(jià)機(jī)制不合理
成績評定是評估學(xué)生學(xué)習(xí)效果的重要依據(jù),也是反映教師教學(xué)能力的參考指標(biāo)。本校統(tǒng)一采用“平時(shí)表現(xiàn)+期末筆試”的考核機(jī)制,比例為3:7。其中,平時(shí)表現(xiàn)包含期中考試成績、日常考勤、課后作業(yè)和實(shí)驗(yàn)成績等。這種成績評定機(jī)制存在諸多問題:(1)期末考試比例過大,不能全面客觀反映學(xué)生的表現(xiàn)。(2)閉卷理論筆試不利于擴(kuò)展學(xué)生的知識面,難以考查知識的實(shí)際綜合運(yùn)用能力。(3)筆試為主的考核機(jī)制容易誘使學(xué)生產(chǎn)生應(yīng)試教育的傾向。
二、《軟件工程》課程教學(xué)的若干對策
針對信管專業(yè)軟件工程課程的問題,結(jié)合本校教師的教學(xué)經(jīng)驗(yàn)提出相關(guān)的應(yīng)對措施。
1.明晰教學(xué)定位
信管專業(yè)的定位是計(jì)算機(jī)和管理的交叉學(xué)科,管理信息系統(tǒng)是信管專業(yè)關(guān)系最為密切的信息系統(tǒng)。軟件工程在信管專業(yè)中的主要任務(wù)是為了培養(yǎng)學(xué)生使用軟件工程的思想分析、設(shè)計(jì)和開發(fā)管理信息系統(tǒng)。鑒于學(xué)生培養(yǎng)目標(biāo)的不同,信息系統(tǒng)開發(fā)能力并非所有學(xué)生所必須掌握的。因此,軟件工程在信管專業(yè)中的定位不能搞一刀切,必須因方向而異。系統(tǒng)開發(fā)方向的學(xué)生應(yīng)把軟件工程作為專業(yè)必修課,而信息管理方向的學(xué)生則作為專業(yè)選修課選修。
2.優(yōu)化課程安排
軟件工程的目的是指導(dǎo)管理信息系統(tǒng)開發(fā),學(xué)生選修前需具備基本的編程能力和數(shù)據(jù)庫知識。而且,管理信息系統(tǒng)的開發(fā)需要結(jié)合管理、會計(jì)和運(yùn)籌等課程的相關(guān)知識。因此,軟件工程的安排應(yīng)置于數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫、程序設(shè)計(jì)、管理學(xué)和運(yùn)籌學(xué)等課程之后,信息系統(tǒng)課程設(shè)計(jì)之前。在課程設(shè)置上,軟件工程與面向?qū)ο蟪绦蛟O(shè)計(jì)、管理信息系統(tǒng)、信息系統(tǒng)課程設(shè)計(jì)等相關(guān)課程組成課程群,相關(guān)任課教師以團(tuán)隊(duì)方式備課。每學(xué)期期初和期末,同一課程群的教師互相交流教學(xué)效果和存在的問題,根據(jù)學(xué)生的情況各自調(diào)整后序教學(xué)內(nèi)容,有針對性地開展教學(xué)。課程群方式可以有效加強(qiáng)課程間的平滑銜接,強(qiáng)化教師間的團(tuán)隊(duì)合作,實(shí)現(xiàn)知識的有機(jī)結(jié)合,提高課程安排的層次性與合理性。
3.建立合理的教師培養(yǎng)機(jī)制
教師培養(yǎng)采用“走出去,引進(jìn)來”的方針,加強(qiáng)與兄弟院校和相關(guān)企業(yè)的交流。圍繞構(gòu)建應(yīng)用型本科院校的目標(biāo),引入高職院校中的“雙師型”培養(yǎng)機(jī)制,將科學(xué)研究和實(shí)際應(yīng)用相結(jié)合,組織軟件工程及相關(guān)課程組構(gòu)成的開發(fā)團(tuán)隊(duì),積極參與校內(nèi)外的合作項(xiàng)目的研發(fā),如校內(nèi)各部門的信息系統(tǒng)開發(fā)項(xiàng)目、校外實(shí)習(xí)基地的合作開發(fā)項(xiàng)目、科研項(xiàng)目的系統(tǒng)實(shí)現(xiàn)等。在教學(xué)任務(wù)之外,學(xué)校應(yīng)鼓勵任課教師定期到實(shí)習(xí)單位參加項(xiàng)目見習(xí),甚至直接參與項(xiàng)目研發(fā),提高教師的研發(fā)能力,更新知識儲備。同時(shí),教師的考核體系應(yīng)根據(jù)教師的授課內(nèi)容進(jìn)行分類評價(jià),軟件工程等應(yīng)用性課程的考核機(jī)制應(yīng)加大對實(shí)踐的要求,鼓勵科研與知識應(yīng)用的結(jié)合,真正實(shí)現(xiàn)應(yīng)用型培養(yǎng)的發(fā)展方向
4.改進(jìn)教學(xué)方法,強(qiáng)化實(shí)踐教學(xué)
根據(jù)軟件工程理論和實(shí)踐要求都較強(qiáng)的特點(diǎn),采用案例驅(qū)動的方法開展教學(xué),將理論知識融入到具體案例當(dāng)中,通過“學(xué)中練、練中學(xué)”的模式將抽象的知識通過具體的項(xiàng)目展示,方便理解和消化吸收。此外,單純的理論知識學(xué)習(xí)是不夠的,需要通過實(shí)際的項(xiàng)目訓(xùn)練進(jìn)行提高,進(jìn)而達(dá)到鞏固所學(xué)知識,靈活應(yīng)用的目的。項(xiàng)目訓(xùn)練以學(xué)生分組的方式進(jìn)行,在學(xué)習(xí)的同時(shí)培養(yǎng)學(xué)生的團(tuán)隊(duì)意識和協(xié)作精神。項(xiàng)目類型以中型管理信息系統(tǒng)為宜,來源可出自教師自身的項(xiàng)目或者協(xié)作單位項(xiàng)目中的子系統(tǒng),也可以學(xué)生提出由任課教師審核通過。項(xiàng)目結(jié)束時(shí),學(xué)生必須能夠提交可正確執(zhí)行的程序,同時(shí)提交相關(guān)的系統(tǒng)開發(fā)文檔,文檔要求嚴(yán)格按照國標(biāo)GB-T8567-2006編寫。在實(shí)踐過程中,教師應(yīng)以項(xiàng)目管理人的角色監(jiān)督項(xiàng)目的進(jìn)度,及時(shí)發(fā)現(xiàn)并糾正存在的錯(cuò)誤,同時(shí)回答學(xué)生在實(shí)踐中遇到問題。這種方式既讓學(xué)生清楚了解課程開設(shè)的目的和意義,也強(qiáng)化學(xué)生對所學(xué)知識的理解和應(yīng)用。
5.完善教學(xué)資源
信管專業(yè)軟件工程課程的教學(xué)資源(如教材、輔導(dǎo)資料、教學(xué)案例等)的安排和設(shè)計(jì)應(yīng)按本專業(yè)的需求進(jìn)行改進(jìn)和完善。首先,調(diào)整教材內(nèi)容的編排。軟件開發(fā)技術(shù)知識點(diǎn)需要與時(shí)俱進(jìn),已被淘汰的知識點(diǎn)應(yīng)予以刪除或以概述的形式介紹,同時(shí)增加近年出現(xiàn)的新技術(shù)和新方法,并對其中的典型方法進(jìn)行重點(diǎn)介紹,并配上相應(yīng)的案例進(jìn)行講解。其次,修改教材內(nèi)容的編寫方式。采用案例驅(qū)動的教學(xué)模式,將以往逐條羅列的抽象理論融合到具體的教學(xué)案例中,讓學(xué)生通過分析案例提取出知識要點(diǎn)。該方法既有利于對枯燥知識的理解和吸收,也為進(jìn)一步的知識應(yīng)用提供極好的參考素材。第三,修改配套案例。案例選擇中等規(guī)模的管理信息系統(tǒng)的完整研發(fā)過程較為合適。案例規(guī)模不宜過大的案例,否則不適宜初學(xué)者學(xué)習(xí);規(guī)模太小則細(xì)節(jié)不足。案例可以取自教學(xué)參考書,也可以是教師自身的項(xiàng)目研發(fā)經(jīng)歷,還可以源自合作單位的項(xiàng)目。第四,建立信息化教學(xué)實(shí)驗(yàn)平臺。通過云計(jì)算等先進(jìn)技術(shù)構(gòu)建的軟件工程教學(xué)實(shí)驗(yàn)平臺,師生能夠無時(shí)間、地域限制地實(shí)現(xiàn)教學(xué)課件和視頻等資源的共享、作業(yè)和課程實(shí)踐的實(shí)時(shí)監(jiān)控和學(xué)生疑難問題的解答,極大方便了師生間的交流,對提高教學(xué)效果具有重大現(xiàn)實(shí)意義。
6.改革學(xué)生評價(jià)機(jī)制
課程成績對學(xué)生在課程學(xué)習(xí)過程中的表現(xiàn)和效果的綜合評價(jià),對學(xué)生學(xué)習(xí)起指向性作用,必須秉承公正、全面、客觀的態(tài)度。第一、全面考慮學(xué)生評價(jià)要素。在教學(xué)過程中,除考勤情況、期中成績、期末成績等常規(guī)項(xiàng)目外,學(xué)生的課堂表現(xiàn)、作業(yè)完成質(zhì)量和上交情況,實(shí)踐項(xiàng)目的完成情況等也是衡量學(xué)生的學(xué)習(xí)成績的重要依據(jù)。因此,軟件工程的考核體系可綜合為以下三方面:(1)平時(shí)表現(xiàn),包含出勤情況、課堂提問和作業(yè)完成情況等;(2)實(shí)踐成績,包含課程設(shè)計(jì)和實(shí)驗(yàn)的質(zhì)量和文檔的編寫情況;(3)卷面成績,包含期中和期末考試的筆試成績。第二、合理分配評價(jià)要素的比重。評價(jià)要素的比重定量反映了課程各教學(xué)環(huán)節(jié)的重要性,能夠?qū)W(xué)生的學(xué)習(xí)起導(dǎo)向作用。為了突出軟件工程以“理論為基礎(chǔ),重在實(shí)踐應(yīng)用”的特點(diǎn),實(shí)踐成績的比重應(yīng)與卷面成績相當(dāng),也可以考慮使用課程實(shí)踐成績代替期末筆試。第三、客觀評定評價(jià)要素。學(xué)生的評價(jià)要素通常分為定性和定量兩種。其中,各種考試成績和作業(yè)成績、考勤情況等定量評價(jià)易于給定。相對而言,平時(shí)表現(xiàn)等定性指標(biāo)需教師主觀評定,易受到教師個(gè)人情感的影響,需要教師秉持公正客觀的態(tài)度。對學(xué)生的主觀評價(jià)一般以良為基礎(chǔ),表現(xiàn)突出的學(xué)生可給予優(yōu),存在遲到早退、作業(yè)應(yīng)付或缺交、課堂紀(jì)律不佳等情況的學(xué)生則酌情給予中或差的評價(jià)。第四、豐富考核形式。除傳統(tǒng)的閉卷筆試外,軟件工程的考核形式還可采用以下幾種:(1)課程論文:以個(gè)人為單位,就管理信息系統(tǒng)研發(fā)和管理中的某個(gè)環(huán)節(jié)提出自己的觀點(diǎn)并展開論述,完成3000-5000字的課程論文。(2)課程設(shè)計(jì):參考教學(xué)案例,采用軟件工程思想,以團(tuán)隊(duì)方式開發(fā)一個(gè)管理信息系統(tǒng),完成從需求分析到設(shè)計(jì)實(shí)現(xiàn)的完整過程,并編寫相關(guān)軟件文檔。(3)開卷筆試:以論述和應(yīng)用題為主要題型,主要考察學(xué)生解決系統(tǒng)分析、設(shè)計(jì)、測試和維護(hù)等環(huán)節(jié)中具體問題的能力,如按要求繪制程序流程圖、軟件結(jié)構(gòu)圖和系統(tǒng)流程圖等分析設(shè)計(jì)圖表,設(shè)計(jì)測試用例等。學(xué)生允許攜帶一定數(shù)量的參考資料,但不允許攜帶電子設(shè)備。任課教師可根據(jù)教學(xué)目標(biāo)和學(xué)時(shí)安排綜合使用上述方式??傮w而言,以課程論文或課程設(shè)計(jì)代替期末筆試進(jìn)行考核更符合學(xué)以致用的教學(xué)目標(biāo)。
三、總結(jié)
關(guān)鍵詞: Moodle;網(wǎng)絡(luò)課程;軟件工程
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2015)02-0122-03
1 軟件工程網(wǎng)絡(luò)課程開發(fā)的必要性
軟件工程是我校計(jì)算機(jī)科學(xué)與技術(shù)(職教師資班)專業(yè)的一門專業(yè)必修課,是指導(dǎo)軟件開發(fā)和維護(hù)的工程學(xué)科,該課程信息量大,軟件開發(fā)的理論知識和方法貫穿教學(xué)實(shí)踐全過程,近五年的教學(xué),積累了大量的課程資源、文檔、工具和項(xiàng)目資料,而學(xué)生實(shí)踐中遇到的問題、技術(shù)實(shí)現(xiàn)上的討論也需要平臺進(jìn)行交流分享。信息化新時(shí)代,信息技術(shù)融入課程日益加強(qiáng),構(gòu)建有效的網(wǎng)上學(xué)習(xí)社區(qū),提高教學(xué)中的互動與協(xié)作,開展教學(xué)多元評價(jià),有利于有效提高教學(xué)績效。軟件工程教學(xué)實(shí)踐性強(qiáng),針對課程的特點(diǎn),精心進(jìn)行網(wǎng)絡(luò)課程設(shè)計(jì),利用現(xiàn)代教學(xué)手段開展教學(xué),以適應(yīng)信息化發(fā)展需要。因此開發(fā)一個(gè)輔助學(xué)生自主學(xué)習(xí)軟件工程的網(wǎng)絡(luò)課程非常有必要且具有很大的推廣性。
Moodle平臺使得課程目標(biāo)、課程內(nèi)容、學(xué)習(xí)資源等能有效被呈現(xiàn),學(xué)在真實(shí)的網(wǎng)絡(luò)環(huán)境下,學(xué)生能夠自主學(xué)習(xí)、討論以及向教師提問等,學(xué)生的積極性與創(chuàng)造性得到充分調(diào)動,利于培養(yǎng)學(xué)生良好的信息素養(yǎng)和計(jì)算機(jī)應(yīng)用能力,也利于加快信息化校園的建設(shè)與實(shí)現(xiàn)。
2 Moodle平臺簡介
Moodle是模塊化的、面向?qū)ο蟮摹討B(tài)學(xué)習(xí)環(huán)境(Modular Object-Oriented Dynamic Learning Environment)的簡稱,是由澳大利亞教師Martin Dougiamas開發(fā)的一個(gè)課程管理系統(tǒng)(CMS),可幫助教學(xué)人員創(chuàng)建高效的在線學(xué)習(xí)組織,幫助教師高質(zhì)量地創(chuàng)建和管理在線課程[1]。在國外高校中,Moodle作為一個(gè)免費(fèi)的、開源的課程管理系統(tǒng)被廣泛的使用。 Moodle依據(jù)建構(gòu)主義的學(xué)習(xí)理論,注重強(qiáng)調(diào)在信息化情景下教與學(xué)活動中的相互協(xié)作、交流,使學(xué)生根據(jù)已有的經(jīng)驗(yàn)完成意義建構(gòu)。表1說明了Moodle平臺對教師和學(xué)生教學(xué)行為的支持[2]。
Moodle 教學(xué)平臺功能強(qiáng)大,操作簡單,它主要包括課程管理、資源管理、活動管理和互動評價(jià)四大功能模塊[3]。Moodle平臺提供在線評價(jià)系統(tǒng),支持多種學(xué)習(xí)評價(jià)方式,可以實(shí)施軟件工程階段性性評價(jià)與總結(jié)性評價(jià)相結(jié)合,學(xué)生自我評價(jià)與教師(他人)評價(jià)相結(jié)合。
3 軟件工程網(wǎng)絡(luò)課程的設(shè)計(jì)
良好教學(xué)效果需要有科學(xué)的網(wǎng)絡(luò)課程設(shè)計(jì)。軟件工程學(xué)研究的范圍非常廣泛,設(shè)計(jì)軟件開發(fā)過程中的理論、技術(shù)方法,工具和管理等許多方面,內(nèi)容豐富、學(xué)生參與和討論程度高,軟件工程網(wǎng)絡(luò)課程擬構(gòu)建一個(gè)資源高度共享的、師生之間、生生之間的網(wǎng)絡(luò)協(xié)作學(xué)習(xí)平臺,豐富學(xué)習(xí)的交互性和生動性。結(jié)合網(wǎng)絡(luò)課程一般設(shè)計(jì)流程和Moodle平臺特點(diǎn),針對我院軟件工程課程教學(xué)特點(diǎn),分別從流程設(shè)計(jì)和任務(wù)設(shè)計(jì)兩方面闡述我院基于Moodle平臺的軟件工程網(wǎng)絡(luò)課程的設(shè)計(jì)思路。
3.1流程設(shè)計(jì)
在參考熊小梅等提出的Moodle平臺下網(wǎng)絡(luò)課程設(shè)計(jì)的一般流程[4]的基礎(chǔ)上,軟件工程網(wǎng)絡(luò)課程的設(shè)計(jì)流程如圖1所示。
在教學(xué)內(nèi)容方面,軟件工程知識和能力是軟件研發(fā)崗位的職業(yè)基本技能。為強(qiáng)化軟件工程過程管理,將教學(xué)內(nèi)容劃定為面向過程的軟件工程、面向?qū)ο蟮能浖こ毯蛙浖^程管理專題的三大部分,而前兩部分又細(xì)分為問題定義、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼實(shí)現(xiàn)、軟件測試、維護(hù)、文檔配置管理等知識點(diǎn)。
在教學(xué)策略上,本課程采用軟件過程階段實(shí)例導(dǎo)入、技術(shù)學(xué)習(xí)與討論、實(shí)踐操作分析相結(jié)合的啟發(fā)式教學(xué)策略及方法。既有實(shí)例導(dǎo)入,又有知識與技能的學(xué)習(xí),還需要結(jié)合小組項(xiàng)目任務(wù)的制定和實(shí)施,開展教學(xué)。本課程采用理論教學(xué)、實(shí)驗(yàn)實(shí)踐教學(xué)、項(xiàng)目驅(qū)動教學(xué)相結(jié)合的教學(xué)模式,讓學(xué)生參與軟件項(xiàng)目活動,開展協(xié)作學(xué)習(xí)并完成任務(wù)。同時(shí),教師上傳豐富的資源形式并進(jìn)行管理,學(xué)生可隨時(shí)網(wǎng)上學(xué)習(xí)和下載,并在課外學(xué)習(xí),突破時(shí)空限制,為學(xué)生深入研習(xí)創(chuàng)造條件。教師利用每個(gè)學(xué)習(xí)階段對每個(gè)教學(xué)單元開展多種形式(如互動、測驗(yàn)、心得報(bào)告等)對學(xué)生的學(xué)習(xí)效果和課程實(shí)施進(jìn)行評價(jià)、獲取學(xué)生反饋,以便及時(shí)改進(jìn)教學(xué)。
3.2任務(wù)設(shè)計(jì)
林鴻等人提出了C語言課程在線系統(tǒng)的設(shè)計(jì)[5],本文結(jié)合軟件工程課程特點(diǎn),給出在線課程的主要任務(wù)設(shè)計(jì)如圖2所示。
4 軟件工程網(wǎng)絡(luò)課程Moodle平臺的搭建
Moodle平臺是采用PHP技術(shù)并使用MySQL數(shù)據(jù)庫的開放源碼軟件平臺,任何支持PHP和MySQL的系統(tǒng)均可安裝Moodle。為開展軟件課程網(wǎng)絡(luò)課程實(shí)踐,本文給出在Windows 7系統(tǒng)下搭建Moodle平臺網(wǎng)絡(luò)課程的過程。
4.1平臺軟件工具和環(huán)境配置
1)WampServer2.4。WampServer2.4是Apache+PHP+Mysql在Windows下的集成服務(wù)器環(huán)境,它安裝簡單,易于操作,避免了諸多PHP環(huán)境配置問題[6]。
2)VC++ 2008可再發(fā)行組件包。WampServer2.4所必需的微軟程序組件VC++ 2008可再發(fā)行包。
3)moodle-2.8.5。Moodle平臺的最新正式版本。
4)Moodle平臺中文語言包。
在安裝上述軟件之前,如果機(jī)器安裝有IIS 服務(wù),還要事先關(guān)掉IIS 服務(wù)功能,因?yàn)橥ǔR慌_電腦上不能同時(shí)安裝兩個(gè)Web 服務(wù)器(80端口沖突)。平臺所需軟件見圖3所示。
4.2 平臺搭建過程
1)安裝VC++ 2008可再發(fā)行組件包。
3)啟動WampServer2.4所有服務(wù),打開其中的PhpMyAdmin服務(wù),管理課程Moodle平臺數(shù)據(jù)庫,創(chuàng)建一個(gè)名為moodle的空數(shù)據(jù)庫即可,注:用戶名為root,密碼為空。
4)解壓moodle-2.8.5.zip到WampServer2.4服務(wù)器安裝路徑下的網(wǎng)站文件夾www目錄下(如:D:\ wamp\www\)。
5)解壓中文包zh_ch.zip到服務(wù)器網(wǎng)站目錄www下的moodle文件夾的語言目錄中(如:D:\wamp\www\moodle\lang)。
6)打開http://localhost/moodle/開始進(jìn)行Moodle平臺安裝與參數(shù)設(shè)置,建議選擇中文語言界面進(jìn)行安裝,最后更設(shè)置好個(gè)人資料,用戶名和密碼即可。
安裝好之后管理員可在主頁上進(jìn)行網(wǎng)站管理、用戶管理、課程管理等操作。
4.3《軟件工程》網(wǎng)絡(luò)課程構(gòu)建與應(yīng)用
搭建好Moodle平臺之后,用戶以教師(課程創(chuàng)建者)的身份登錄到Moodle平臺上,即可開始管理自己的網(wǎng)絡(luò)課程,構(gòu)建課程的主要過程有:(1)添加并設(shè)置課程。(2)添加用戶。(3)共享教學(xué)資源。如課件、文檔、文章、網(wǎng)絡(luò)資源等。(4)創(chuàng)建活動。如論壇主題討論、在線測驗(yàn)、作業(yè)、問卷調(diào)查、投票等活動。
在對我校2013級計(jì)算機(jī)科學(xué)與技術(shù)(職教師資班)專業(yè)32名學(xué)生開展的《軟件工程》課中搭建和應(yīng)用了基于Moodle課程網(wǎng)絡(luò)平臺,師生共同完成了網(wǎng)絡(luò)課程的教師和個(gè)人信息編輯、課程資源共享和下載、課程討論區(qū)使用、站內(nèi)與回復(fù)消息、在線實(shí)時(shí)聊天、課程作業(yè)管理、課程在線測驗(yàn)、管理課程博客等功能,通過近一個(gè)學(xué)期的使用發(fā)現(xiàn),網(wǎng)絡(luò)課程平臺使師生加強(qiáng)了課堂外的交流討論、學(xué)習(xí)和小組協(xié)作,拓展了學(xué)生學(xué)習(xí)方式,提高了學(xué)生學(xué)習(xí)自主性和創(chuàng)造性,學(xué)生反饋課堂學(xué)習(xí)更加豐富多彩,知識學(xué)習(xí)和交流互動更加便捷了,教與學(xué)的質(zhì)量得到了很大的提高。學(xué)生課程首頁應(yīng)用效果如圖5所示。
5 后記
軟件工程網(wǎng)絡(luò)課程的建設(shè),加快了現(xiàn)代化教與學(xué)的模式的實(shí)施進(jìn)程,給教學(xué)實(shí)踐和互動交流搭建了良好的平臺,學(xué)生從被動學(xué)習(xí)轉(zhuǎn)變?yōu)橹鲃訉W(xué)習(xí),探究與協(xié)作學(xué)習(xí),突出了學(xué)生的主體性,有利于教學(xué)質(zhì)量的提高。Moodle作為一個(gè)開源、基于建構(gòu)理論的課程管理系統(tǒng),對開發(fā)出高質(zhì)量的軟件工程網(wǎng)絡(luò)課程平臺提供了很大的幫助。
參考文獻(xiàn):
[1]黎加厚. Moodle課程設(shè)計(jì)[M],上海. 上海教育出版社,2007.
[2]Moodle官方網(wǎng)站.http:///.
[3]景寶華. 基于moodle平臺的《數(shù)據(jù)庫應(yīng)用技術(shù)》網(wǎng)絡(luò)課程構(gòu)建研究[J].計(jì)算機(jī)光盤軟件與應(yīng)用, 2014(6).
[4]熊小梅. 基于Moodle平臺的網(wǎng)絡(luò)課程設(shè)計(jì)及應(yīng)用[J]. 教育與職業(yè), 2014(2).
關(guān)鍵詞:課程建設(shè);課程設(shè)計(jì);計(jì)算機(jī)軟件
作者簡介:張艷(1976-),女,河南南陽人,上海理工大學(xué)光電信息與計(jì)算機(jī)工程學(xué)院,講師。(上海 200093)
中圖分類號:G642.0 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-0079(2013)05-0096-01
計(jì)算機(jī)是一門技術(shù)性、工程性和應(yīng)用性很強(qiáng)的學(xué)科,教育部高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會的發(fā)展戰(zhàn)略研究報(bào)告中也指出:計(jì)算機(jī)專業(yè)的人才應(yīng)該被分為科學(xué)型、工程型、應(yīng)用型三類,而絕大多數(shù)應(yīng)該是工程型和應(yīng)用型的。許多高校注重學(xué)生專業(yè)能力的培養(yǎng),紛紛開設(shè)實(shí)踐類課程以滿足信息社會對實(shí)用型人才的需求。因此,如何建設(shè)實(shí)踐類課程無疑是擺在每位一線專業(yè)教師面前的重要課題。本文以“應(yīng)用軟件課程設(shè)計(jì)”課程的建設(shè)為主要探討對象,介紹了該課程的設(shè)置意義、教學(xué)方法和實(shí)施細(xì)則,希望能對計(jì)算機(jī)專業(yè)實(shí)踐類課程的建設(shè)和教學(xué)以及學(xué)生的就業(yè)有所幫助。
一、課程設(shè)置的重要意義
在大學(xué)里,設(shè)置一門課程,不能只關(guān)注這門課程所含的內(nèi)容,更要考慮本科教育培養(yǎng)學(xué)生基本專業(yè)能力、可持續(xù)發(fā)展能力等這些本質(zhì)性的問題。計(jì)算機(jī)學(xué)科問題求解的基本思路是“問題形式化描述計(jì)算機(jī)化”,以抽象、理論、設(shè)計(jì)為其學(xué)科形態(tài)。按照計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)本科生的培養(yǎng)目標(biāo),到學(xué)生畢業(yè)時(shí)應(yīng)具備計(jì)算思維;算法設(shè)計(jì)與分析;程序設(shè)計(jì)與實(shí)現(xiàn)系統(tǒng)的認(rèn)知、分析、開發(fā)與應(yīng)用等四大基本能力。
“應(yīng)用軟件課程設(shè)計(jì)”課程面向大三的學(xué)生開設(shè),在計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)四年本科教學(xué)中,是以前期的“數(shù)據(jù)結(jié)構(gòu)”、“計(jì)算方法”、“離散數(shù)學(xué)”、“軟件系統(tǒng)”(包括編譯原理,操作系統(tǒng))、“軟件工程”、“程序設(shè)計(jì)”、“數(shù)據(jù)庫原理”以及“計(jì)算機(jī)網(wǎng)絡(luò)與通信”等課程為基礎(chǔ)的一門軟件開發(fā)技術(shù)綜合應(yīng)用的專業(yè)課程。該課程讓學(xué)生綜合運(yùn)用專業(yè)知識,通過動手實(shí)踐,以團(tuán)隊(duì)協(xié)作的方式根據(jù)軟件工程的原理選擇難度適中的課題,完成網(wǎng)絡(luò)環(huán)境下基于B/S架構(gòu)的綜合應(yīng)用軟件的系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)任務(wù)。課程設(shè)置的目的就是通過本課程的系統(tǒng)學(xué)習(xí)與實(shí)訓(xùn),達(dá)到全面提升學(xué)生綜合應(yīng)用軟件的實(shí)際開發(fā)能力和團(tuán)隊(duì)合作能力,以解決傳統(tǒng)教學(xué)中理論學(xué)習(xí)與工程應(yīng)用相脫節(jié)、單門課程孤立地學(xué)習(xí)與缺乏正確運(yùn)用學(xué)科體系的理念來指導(dǎo)學(xué)生實(shí)現(xiàn)綜合技術(shù)全面應(yīng)用的突出問題,以期有效地實(shí)現(xiàn)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)本科學(xué)生的培養(yǎng)目標(biāo)。
課程開設(shè)近10年的實(shí)踐證明,學(xué)生綜合運(yùn)用計(jì)算機(jī)專業(yè)基礎(chǔ)知識,科學(xué)設(shè)計(jì)、開發(fā)軟件,合理進(jìn)行軟件開發(fā)的能力得到全方位的、實(shí)戰(zhàn)型的鍛煉,不僅實(shí)現(xiàn)了專業(yè)理論知識與實(shí)踐有效地相互結(jié)合,而且很好地鍛煉了學(xué)生的動手實(shí)踐能力和團(tuán)隊(duì)協(xié)作能力,為日后的擇業(yè)起到很好的鋪墊作用。
二、“應(yīng)用軟件課程設(shè)計(jì)”的教學(xué)內(nèi)容
“應(yīng)用軟件課程設(shè)計(jì)”主要以曹渠江教授編寫的《綜合運(yùn)用軟件設(shè)計(jì)》一書為教材,輔助以課程網(wǎng)站和網(wǎng)絡(luò)上的各類學(xué)習(xí)資源,要求學(xué)生利用軟件工程、面向?qū)ο蟪绦蛟O(shè)計(jì)的思想,根據(jù)課程項(xiàng)目任務(wù)和功能完成課題的需求分析;制定課程項(xiàng)目詳細(xì)的時(shí)間進(jìn)度規(guī)范;利用面向?qū)ο蟪绦蛟O(shè)計(jì)、計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)庫原理、多媒體技術(shù)等相關(guān)知識來進(jìn)行數(shù)據(jù)庫設(shè)計(jì)與開發(fā);熟悉和掌握網(wǎng)絡(luò)應(yīng)用的開發(fā)環(huán)境,分析課題中技術(shù)難點(diǎn)并進(jìn)行技術(shù)攻關(guān);根據(jù)制定的時(shí)間進(jìn)度計(jì)劃和需求分析,進(jìn)行網(wǎng)絡(luò)環(huán)境下基于B/S架構(gòu)的系統(tǒng)軟件模塊的編寫、開發(fā)與整合;對整個(gè)項(xiàng)目所有模塊進(jìn)行代碼集成測試、軟件產(chǎn)品完善;最后提交課程設(shè)計(jì)個(gè)人報(bào)告、課程設(shè)計(jì)小組報(bào)告以及完整程序。整個(gè)課程總學(xué)時(shí)為64學(xué)時(shí),主要以機(jī)房實(shí)踐為主,通過演示軟件、答辯的形式公開、公平地評定成績。
三、應(yīng)用軟件課程設(shè)計(jì)的實(shí)施方法
1.本課程的實(shí)施原則
實(shí)踐類課程不同于其他計(jì)算機(jī)專業(yè)課程,主要以實(shí)踐為主,這就比較難控制進(jìn)度和公正地評價(jià)學(xué)習(xí)成績,因此筆者制定了如下實(shí)施原則:
由教師提供網(wǎng)上新聞管理系統(tǒng)、網(wǎng)上寵物商店、網(wǎng)上公文流轉(zhuǎn)系統(tǒng)、藥品管理系統(tǒng)、繼續(xù)教育管理系統(tǒng)、網(wǎng)上用戶投訴系統(tǒng)、在線同學(xué)錄、企業(yè)倉庫管理系統(tǒng)、班級相冊管理系統(tǒng)、在線學(xué)籍管理系統(tǒng)、網(wǎng)上聊天室、客戶關(guān)系管理系統(tǒng)等難度適中的十幾個(gè)項(xiàng)目,對于每個(gè)項(xiàng)目都講明設(shè)計(jì)要求和要求實(shí)現(xiàn)的基本功能;按照自愿原則,四到六個(gè)同學(xué)組成一個(gè)項(xiàng)目小組,推選出一位組長。對于沒被組合的同學(xué),由教師統(tǒng)一安排,每組配備一位有項(xiàng)目開發(fā)與項(xiàng)目管理經(jīng)驗(yàn)的研究生為指導(dǎo)教師,負(fù)責(zé)學(xué)生的上機(jī)輔導(dǎo)、課外答疑、技術(shù)咨詢與指導(dǎo);每組由組長填報(bào)所有成員的個(gè)人信息,以便師生之間緊密聯(lián)系;每組組長代表小組全體成員與指導(dǎo)教師商定每周一次的輔導(dǎo)、提問與答疑的時(shí)間,并互通聯(lián)絡(luò)信息;教師每周安排兩次上機(jī),每次4個(gè)學(xué)時(shí)。最初的3周(12學(xué)時(shí))進(jìn)行理論授課,主要講課程基本要求和安排以及軟件工程、軟件開發(fā)工具和方法的基本知識;設(shè)立課程公共電子郵箱,上傳所有課程資料、進(jìn)度安排和學(xué)生要提交的各個(gè)階段的文檔模板,每位學(xué)生必須根據(jù)給定的工作模板與課程要求,在不同時(shí)間節(jié)點(diǎn)完成個(gè)人與小組的初期、中期、末期三個(gè)時(shí)期的階段報(bào)告和最終的課程設(shè)計(jì)報(bào)告;最后進(jìn)行大組公開演示和答辯,全體指導(dǎo)教師根據(jù)答辯情況、提交的報(bào)告質(zhì)量、平時(shí)上機(jī)表現(xiàn)與平時(shí)的檢查情況集體打分,綜合評定出每位學(xué)生的最終成績。
2.本課程的教學(xué)安排
整個(gè)課程在實(shí)際教學(xué)過程中,按照16周的總體時(shí)間共分為以下5個(gè)階段。
(1)課程設(shè)計(jì)第一階段(3周):認(rèn)真學(xué)習(xí)教材和閱讀課題任務(wù)說明書,根據(jù)軟件工程的理論和選定項(xiàng)目任務(wù)完成課題的需求分析;制定本課題的實(shí)施方案,完成個(gè)人角色任務(wù)分配等各類文檔和開發(fā)規(guī)范;確定課題技術(shù)難點(diǎn)及其攻關(guān)措施;熟悉和掌握.NET的開發(fā)環(huán)境、后臺數(shù)據(jù)庫開發(fā)工具以及與課題相關(guān)的開發(fā)工具。在本階段結(jié)束時(shí),向指導(dǎo)教師提交課程設(shè)計(jì)個(gè)人及小組的初期報(bào)告。
(2)課程設(shè)計(jì)第二階段(4周):根據(jù)制定的時(shí)間進(jìn)度計(jì)劃和需求分析,進(jìn)行系統(tǒng)數(shù)據(jù)庫的實(shí)現(xiàn)及應(yīng)用軟件的初步模塊編寫與開發(fā)。在本階段結(jié)束時(shí),向指導(dǎo)教師提交課程設(shè)計(jì)個(gè)人與小組的中期報(bào)告以及個(gè)人階段性開發(fā)的程序源碼。
(3)課程設(shè)計(jì)第三階段(4周):本階段是項(xiàng)目開發(fā)的實(shí)質(zhì)性階段,對整個(gè)項(xiàng)目所有模塊進(jìn)行開發(fā)并進(jìn)行代碼集成測試、完善整個(gè)軟件產(chǎn)品。在本階段結(jié)束時(shí),向指導(dǎo)教師提交課程設(shè)計(jì)末期的個(gè)人和小組的報(bào)告。
(4)課程設(shè)計(jì)第四階段(3周):完成全部代碼的開發(fā)工作,檢查并匯總本課題小組成果,課題小組完成項(xiàng)目開發(fā)總結(jié)報(bào)告,個(gè)人完成各自的課程設(shè)計(jì)個(gè)人報(bào)告。在本階段結(jié)束時(shí),向指導(dǎo)教師提交課程設(shè)計(jì)個(gè)人與小組的報(bào)告以及小組的完整的、可供運(yùn)行的代碼文檔。
(5)最后是課程設(shè)計(jì)綜合評價(jià)階段(2周):對本課題設(shè)計(jì)項(xiàng)目綜合評價(jià),最后進(jìn)行大組公開演示和答辯,檢查程序運(yùn)行效果;全體指導(dǎo)教師根據(jù)答辯情況、提交的報(bào)告質(zhì)量與平時(shí)的上機(jī)情況集體打分,綜合評定出每位學(xué)生的最終成績,力求公平、公正。
另外,在課程結(jié)束后會召開師生座談會,集中講評、總結(jié)課程的教學(xué)、學(xué)習(xí)情況,征求學(xué)生對課程和教學(xué)方面的建議和意見,同時(shí)給學(xué)生指出專業(yè)學(xué)習(xí)的努力方向,學(xué)生給教師提出今后課程需改進(jìn)的地方,使教與學(xué)相互促進(jìn)從而不斷完善該課程。
四、結(jié)論
“應(yīng)用軟件課程設(shè)計(jì)”在上海理工大學(xué)已經(jīng)開設(shè)10年,是上海理工大學(xué)精品課程與上海市教委重點(diǎn)課程建設(shè)項(xiàng)目,它很好地體現(xiàn)了計(jì)算機(jī)專業(yè)課程的系統(tǒng)性、完整性、科學(xué)性和原理性,有效鍛煉了學(xué)生的動手實(shí)踐、軟件開發(fā)和團(tuán)隊(duì)協(xié)作能力,對提高學(xué)生的專業(yè)能力和專業(yè)素質(zhì)起到了關(guān)鍵作用。任課教師在教學(xué)實(shí)踐中付出了很大的努力,不斷完善課程的教學(xué)模式和評價(jià)手段,積累了大量經(jīng)驗(yàn),該課程多次受到學(xué)生的好評,很多已就業(yè)的學(xué)生反饋的信息表明:該課程對學(xué)生專業(yè)素養(yǎng)的培養(yǎng)和從學(xué)校到職場的銜接起到了很好的作用,為計(jì)算機(jī)專業(yè)的實(shí)踐教學(xué)探索出一條切實(shí)可行的道路。
參考文獻(xiàn):
[關(guān)鍵詞]卓越工程師 雙師型 校企合作
引言
目前,我國開設(shè)工科專業(yè)的高校近千所,占高??倲?shù)的90%以上,中國已經(jīng)成為工程人才的培養(yǎng)大國,但卻不是培養(yǎng)強(qiáng)國。工程人才培養(yǎng)質(zhì)量方面與西方先進(jìn)國家相比,差距較大,難以適應(yīng)國家發(fā)展對創(chuàng)新型工程技術(shù)人才的迫切需求[1]。基于此,2010年6月23日,國家教育部正式啟動了“卓越工程師教育培養(yǎng)計(jì)劃”。該計(jì)劃作為《國家中長期教育改革與發(fā)展規(guī)劃綱要(2010-2020)》的一個(gè)重大項(xiàng)目,目標(biāo)在于培養(yǎng)和造就一大批創(chuàng)新能力強(qiáng)、適應(yīng)中國經(jīng)濟(jì)社會發(fā)展需要的高素質(zhì)各類工程技術(shù)人才[2]。該目標(biāo)與東北石油大學(xué)軟件工程專業(yè)“創(chuàng)新型、實(shí)踐型、工程化、國際化”的人才培養(yǎng)目標(biāo)不謀而合。
我們本著大學(xué)要為地方經(jīng)濟(jì)服務(wù)的辦學(xué)宗旨,積極探索卓越軟件工程師的人才培養(yǎng)模式,全面提升學(xué)生的創(chuàng)新能力和工程實(shí)踐能力,主要在以下幾方面做了初步嘗試。
一、培養(yǎng)模式和培養(yǎng)方案的改革
東北石油大學(xué)軟件工程專業(yè)培養(yǎng)模式為“3+1”模式,即前三年在校學(xué)習(xí)和最后一年的企業(yè)實(shí)訓(xùn)。前三年在校學(xué)習(xí),內(nèi)容主要包括通識基礎(chǔ)知識、專業(yè)基礎(chǔ)知識、專業(yè)知識的學(xué)習(xí)以及每個(gè)短學(xué)期的企業(yè)實(shí)訓(xùn),從而打造階梯式的培養(yǎng)模式。建立以工程能力培養(yǎng)為核心的人才培養(yǎng)體系,不斷更新課程內(nèi)容,去掉陳舊的知識,及時(shí)挖掘新知識、新技術(shù),完善知識結(jié)構(gòu),讓學(xué)生了解和掌握最前沿的信息和技術(shù),擁有合理的知識體系;改進(jìn)知識學(xué)習(xí)方式,以學(xué)生自主學(xué)習(xí)為主,教師加以適當(dāng)引導(dǎo),培養(yǎng)學(xué)生的自學(xué)能力和創(chuàng)新精神,只有這樣,學(xué)生在工作后才能根據(jù)社會經(jīng)濟(jì)的需要發(fā)展自己、完善自己,從而適應(yīng)新形勢,解決新出現(xiàn)的問題,創(chuàng)造性地完成自己的工作;改革考核方式和評價(jià)標(biāo)準(zhǔn),不再僅以一張?jiān)嚲韺W(xué)生的學(xué)習(xí)效果加以定論,而是對某門課程學(xué)習(xí)的全程進(jìn)行記錄跟蹤,對學(xué)生的自主學(xué)習(xí)能力、實(shí)踐動手能力、分析問題和解決問題的能力加以全面的考核,強(qiáng)調(diào)學(xué)習(xí)過程和學(xué)習(xí)成效;通過課外創(chuàng)新活動,拓寬學(xué)生的知識面,開闊視野,提高學(xué)生的學(xué)習(xí)興趣和主動性,從而提高團(tuán)隊(duì)協(xié)作能力、溝通能力、創(chuàng)新能力和社會競爭力。
前三年在校學(xué)習(xí)的每個(gè)學(xué)年,都設(shè)計(jì)學(xué)生進(jìn)入企業(yè)學(xué)習(xí)的環(huán)節(jié),保證學(xué)生在這個(gè)過程中了解企業(yè)的文化、接受企業(yè)的熏陶、遵守企業(yè)的紀(jì)律、完成企業(yè)的工作任務(wù),把不同階段的學(xué)習(xí)與企業(yè)實(shí)踐相結(jié)合,為最后一年的企業(yè)實(shí)訓(xùn)打下基礎(chǔ)。
大學(xué)的最后一年實(shí)現(xiàn)完全企業(yè)環(huán)境下的實(shí)訓(xùn),在此期間完成畢業(yè)設(shè)計(jì)。通過前三年階梯式的不間斷的企業(yè)實(shí)訓(xùn),到大四時(shí),學(xué)生基本具有了在企業(yè)獨(dú)立頂崗工作的能力。這一年中學(xué)生可以根據(jù)實(shí)際實(shí)訓(xùn)的崗位情況,經(jīng)過學(xué)校和實(shí)訓(xùn)企業(yè)的聯(lián)合指導(dǎo),按照能力培養(yǎng)的基本要求完成畢業(yè)設(shè)計(jì)環(huán)節(jié)。
畢業(yè)設(shè)計(jì)對于學(xué)生來說是非常重要的一個(gè)環(huán)節(jié)。在學(xué)生完成了前三年的基本學(xué)習(xí)任務(wù)后,在最后一個(gè)暑假前,就讓學(xué)生選擇好實(shí)訓(xùn)的企業(yè)。在進(jìn)入實(shí)訓(xùn)企業(yè)之前,學(xué)生首先要選擇由學(xué)院提供的畢業(yè)設(shè)計(jì)題目,讓學(xué)生帶著這個(gè)任務(wù)進(jìn)入自己選擇的實(shí)訓(xùn)企業(yè)。在參與到企業(yè)的具體工作后,允許根據(jù)具體的工作以及企業(yè)的導(dǎo)師方向來提出新的畢業(yè)設(shè)計(jì)題目。經(jīng)過學(xué)院的學(xué)術(shù)委員會研究,認(rèn)為題目能夠滿足本科畢業(yè)設(shè)計(jì)的基本要求后,正式更改題目,并且備案。通過這樣的方式,既能夠保證學(xué)生的畢業(yè)設(shè)計(jì)能夠充分與企業(yè)實(shí)際相結(jié)合,也保證了培養(yǎng)方案中規(guī)定的畢業(yè)設(shè)計(jì)質(zhì)量。
二、課程體系和教學(xué)內(nèi)容的改革
創(chuàng)新能力培養(yǎng)是卓越工程師后備人才培養(yǎng)的主要目標(biāo),而創(chuàng)新的基礎(chǔ)就是實(shí)踐動手能力,因此在整個(gè)培養(yǎng)體系中,尤其加強(qiáng)了實(shí)踐部分的比重,建立從大一到大四全過程、遞進(jìn)式、可操作性強(qiáng)的完整實(shí)踐教學(xué)體系,該體系從課內(nèi)實(shí)驗(yàn)、課程設(shè)計(jì)、模擬企業(yè)項(xiàng)目的開發(fā)、假期企業(yè)實(shí)訓(xùn)、集中的企業(yè)實(shí)訓(xùn)、綜合的畢業(yè)設(shè)計(jì),逐步培養(yǎng)學(xué)生的動手能力、職業(yè)素質(zhì)、團(tuán)隊(duì)協(xié)作能力、項(xiàng)目管理能力和綜合解決問題能力。具體體現(xiàn)在如下幾點(diǎn):
1.講練一體式教學(xué)
增加課內(nèi)實(shí)驗(yàn)部分的比重,同時(shí)所有程序設(shè)計(jì)課程實(shí)現(xiàn)講練一體式教學(xué),使學(xué)生邊做邊學(xué),保證在最短的時(shí)間內(nèi)收到最大的成效。
2.進(jìn)行短期的企業(yè)環(huán)境體驗(yàn)
在大學(xué)一年級的短學(xué)期,學(xué)生已經(jīng)學(xué)習(xí)了計(jì)算機(jī)與信息技術(shù)基礎(chǔ)課程,能熟練地使用辦公軟件,此期間,安排3周的短期企業(yè)實(shí)訓(xùn)。學(xué)生進(jìn)入大慶服務(wù)外包產(chǎn)業(yè)園的企業(yè),跟企業(yè)員工一樣按時(shí)上班、下班、并做一些在這個(gè)階段能做的具體工作,例如數(shù)據(jù)錄入工作,體驗(yàn)企業(yè)環(huán)境和企業(yè)文化,體會企業(yè)嚴(yán)謹(jǐn)?shù)墓ぷ髯黠L(fēng)和踏實(shí)的工作態(tài)度,從而去掉自身的好高騖遠(yuǎn)、眼高手低的浮躁心態(tài),培養(yǎng)踏實(shí)認(rèn)真的行事作風(fēng)。
3.階梯式課程設(shè)計(jì)
大一的短學(xué)期之前,學(xué)生已經(jīng)學(xué)完程序設(shè)計(jì)導(dǎo)論課程,初步地了解c#程序設(shè)計(jì)語言、.net開發(fā)環(huán)境和面向?qū)ο蟮幕A(chǔ)知識,在短期企業(yè)實(shí)訓(xùn)前安排2周的c#課程設(shè)計(jì)。主要由教師出幾道模擬題目,指導(dǎo)學(xué)生進(jìn)行開發(fā),需求分析和設(shè)計(jì)部分主要由教師以要求的方式提出,學(xué)生只負(fù)責(zé)編碼部分的實(shí)現(xiàn)。目的主要在于使學(xué)生初步了解一個(gè)完整項(xiàng)目的開發(fā)過程,同時(shí)綜合應(yīng)用學(xué)過的理論知識,提高動手編程能力。
1.1課程資源
課程資源是涵蓋理論課和實(shí)驗(yàn)課的各種相關(guān)資源信息,主要包括課程介紹、教學(xué)大綱、實(shí)驗(yàn)大綱以及課程相關(guān)資料等。這個(gè)模塊為學(xué)生課下自主學(xué)習(xí)提供了非常有針對性的資源,對課堂教學(xué)是一個(gè)很好的補(bǔ)充。
1.1.1理論教學(xué)資源
課程介紹:是對課程的主要內(nèi)容、課程的特點(diǎn)、課程學(xué)習(xí)的目的和任務(wù)等多方面作一個(gè)總括性的簡介方便學(xué)生對課程有一個(gè)總體的把握與了解。教學(xué)大綱:主要包括課程教學(xué)的內(nèi)容與要求,對每章節(jié)的知識點(diǎn)、重點(diǎn)和難點(diǎn)進(jìn)行說明,闡述具體的教學(xué)安排和課時(shí)分配,便于學(xué)生按照大綱的指導(dǎo)進(jìn)行學(xué)習(xí)。教學(xué)日歷:用來描述課程的進(jìn)度安排。學(xué)生可以通過查看教學(xué)日歷,事先預(yù)習(xí)教學(xué)內(nèi)容,使得課堂學(xué)習(xí)更有目的性和針對性,提高了教學(xué)效率。授課教案和課件:這是學(xué)生自主學(xué)習(xí)最重要的部分,包括各章節(jié)的文字教案和多媒體教學(xué)課件。如果學(xué)生課堂上沒有完全理解授課內(nèi)容的,可以帶著問題在課下繼續(xù)進(jìn)行自主學(xué)習(xí),能調(diào)動學(xué)生的自主學(xué)習(xí)的積極性,提高教學(xué)效果。預(yù)備知識:列出學(xué)生已經(jīng)學(xué)習(xí)過的與軟件工程設(shè)計(jì)有關(guān)的課程目錄,如程序語言、數(shù)據(jù)庫、操作系統(tǒng)等,引導(dǎo)學(xué)生復(fù)習(xí)一些在軟件工程中需要涉及到的相關(guān)知識。
1.1.2實(shí)驗(yàn)教學(xué)資源
實(shí)驗(yàn)大綱:根據(jù)課程實(shí)驗(yàn)的要求組織實(shí)驗(yàn)項(xiàng)目,編寫實(shí)驗(yàn)大綱,主要包括各個(gè)實(shí)驗(yàn)的實(shí)驗(yàn)?zāi)康摹?shí)驗(yàn)原理、實(shí)驗(yàn)內(nèi)容和實(shí)驗(yàn)環(huán)境等。注意實(shí)驗(yàn)項(xiàng)目內(nèi)容應(yīng)從簡單到復(fù)雜對學(xué)生進(jìn)行引導(dǎo),給學(xué)生留下充足的學(xué)習(xí)思考空間,引導(dǎo)學(xué)生自主學(xué)習(xí)的方式和解決問題的方法,課程設(shè)計(jì)要求:主要包括分組情況、任務(wù)分配、任務(wù)書的規(guī)范說明、提交方式、打印格式和成績核定方法。此外,還可以給出實(shí)驗(yàn)日戈表和課程設(shè)計(jì)計(jì)戈表等實(shí)驗(yàn)詳細(xì)信息,使學(xué)生能合理規(guī)劃好整個(gè)實(shí)驗(yàn)環(huán)節(jié)所要完成的任務(wù)。
1.2項(xiàng)目任務(wù)
該模塊主要包括項(xiàng)目實(shí)例,方便學(xué)生學(xué)習(xí)和了解;建立項(xiàng)目題庫,學(xué)生可以選擇項(xiàng)目,完成實(shí)驗(yàn)任務(wù)。
1.2.1項(xiàng)目實(shí)例
教師根據(jù)學(xué)生的知識結(jié)構(gòu)和實(shí)際情況,虛擬設(shè)計(jì)一兩個(gè)小型系統(tǒng),作為項(xiàng)目實(shí)例,如停車場管理系統(tǒng)、借還書管理系統(tǒng)等。貫穿軟件生命周期整個(gè)過程,從問題定義、可行性分析、需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)到調(diào)試分析和軟件測試,給出項(xiàng)目的全過程設(shè)計(jì)。學(xué)生通過實(shí)例學(xué)習(xí),對軟件工程開發(fā)項(xiàng)目有全面的認(rèn)識和了解,知道軟件生命周期的各個(gè)過程應(yīng)該做些什么,如何進(jìn)行可行性研究,需求分析的任務(wù)是什么,采用什么分析工具,怎樣能全面周到的做好總體設(shè)計(jì)規(guī)劃,詳細(xì)設(shè)計(jì)階段的設(shè)計(jì)說明書的作用是什么,系統(tǒng)模塊如何劃分,程序?qū)崿F(xiàn)的方法有哪些,怎么設(shè)計(jì)軟件測試方案以及軟件維護(hù)說明書。
1.2.2項(xiàng)目題庫
教師可為學(xué)生準(zhǔn)備一些軟件項(xiàng)目,如停車場管理系統(tǒng),在線考試系統(tǒng),圖書管理系統(tǒng),學(xué)生信息系統(tǒng),銀行卡管理系統(tǒng),教材定購系統(tǒng),工資管理系統(tǒng),設(shè)備管理系統(tǒng)等,建立項(xiàng)目題庫,每個(gè)項(xiàng)目配備相應(yīng)的項(xiàng)目任務(wù)書,以便學(xué)生選擇項(xiàng)目,下載相關(guān)的項(xiàng)目任務(wù)書,完成項(xiàng)目計(jì)劃。項(xiàng)目題庫中的項(xiàng)目,要不斷更新。項(xiàng)目的來源可以根據(jù)企業(yè)的需求、也可以是教師自己的科研項(xiàng)目,要對各個(gè)項(xiàng)目進(jìn)行共同討論,決定項(xiàng)目的可行性,并根據(jù)教學(xué)要求和課程特點(diǎn),對實(shí)際項(xiàng)目進(jìn)行剪切或劃分成子項(xiàng)目,使其具有可操作性和實(shí)踐性,便于學(xué)生操作和實(shí)訓(xùn)。
1.3軟件工具
該模塊是配置相應(yīng)的軟件工程實(shí)驗(yàn)軟件,主要提供建模工具和編程軟件的下載,便于學(xué)生完成項(xiàng)目的分析過程,實(shí)現(xiàn)系統(tǒng)功育旨。
1.3.1建模工具
對幾種uML統(tǒng)一建模工具進(jìn)行簡單介紹,并提供軟件下載,安裝方法和使用教程。學(xué)生可以采用不同的分析工具,建立系統(tǒng)的分析模型,并做好需求分析和系統(tǒng)設(shè)計(jì)。主要的建模工具有MierosoftOffieeVisio、RationalRose和powerDesigner三種。MierosoftOffieeVisio中引進(jìn)了軟件分析設(shè)計(jì)功能到代碼生成的全部功能,可以更輕松地將流程、系統(tǒng)和復(fù)雜信息可視化、可以創(chuàng)建多種類的圖表。RatiollalRose主要是對開發(fā)過程中的各種語義、模塊、對象以及流程、狀態(tài)等進(jìn)行比較好的描述,能從各個(gè)方面和角度來分析和設(shè)計(jì),對系統(tǒng)的代碼框架生成有很好的支持。P*erDesigller是一種數(shù)據(jù)庫建模工具,允許使用一種結(jié)構(gòu)化的方法有效地創(chuàng)建數(shù)據(jù)庫或數(shù)據(jù)倉庫,它還提供了直觀的符號表示,使數(shù)據(jù)庫的創(chuàng)建更力口容易,并使項(xiàng)目組內(nèi)的交流和通訊標(biāo)準(zhǔn)化。
1.3.2編程工具
給出幾種軟件開發(fā)工具,如結(jié)構(gòu)化編程語言或面向?qū)ο蟮木幊誊浖?c、c料、JAvA、DELPHI),以及sQL、P*erbuilder等開發(fā)工具,并提供軟件下載和安裝方法,供學(xué)生選擇編程軟件,編寫程序,并測試軟件。
1.4文檔資料
該模塊主要列出整個(gè)項(xiàng)目所要提交的各類文檔資料。此外,還應(yīng)該提供統(tǒng)一格式的實(shí)驗(yàn)報(bào)告和課程設(shè)計(jì)任務(wù)書范本,便于學(xué)生下載,并按要求填寫內(nèi)容。項(xiàng)目文檔:主要包括有可行性分析報(bào)告,需求規(guī)格說明書,項(xiàng)目計(jì)劃書,總體設(shè)計(jì)報(bào)告,詳細(xì)設(shè)計(jì)說明書,軟件系統(tǒng)的程序代碼,軟件測試報(bào)告以及用戶使用手冊等。規(guī)格說明:可以給出一些規(guī)格說明的樣例和標(biāo)準(zhǔn),學(xué)生可以使用非形式化、半形式化和形式化等方法描述需求分析規(guī)格說明,詳細(xì)設(shè)計(jì)規(guī)格說明,并給出系統(tǒng)各部分的設(shè)計(jì)規(guī)格說明書。鼓勵學(xué)生學(xué)習(xí)和使用形式化的方法描述規(guī)格說明,例如:有窮狀態(tài)機(jī)、Petri網(wǎng)以及z語言等,這樣可以用數(shù)學(xué)方法研究和驗(yàn)證規(guī)格說明是否正確,并消除二義性。
1.5成績評價(jià)
該模塊主要給出實(shí)驗(yàn)教學(xué)各階段的成績考核方式及評定標(biāo)準(zhǔn)。課程實(shí)驗(yàn)中,上機(jī)操作占課程實(shí)驗(yàn)成績的50%(含平時(shí)上機(jī)操作和考勤),課程實(shí)驗(yàn)需要提交的文檔和報(bào)告占50%。課程設(shè)計(jì)因?yàn)槭欠中〗M進(jìn)行,成績評定可以分成個(gè)人成績和小組成績兩部分,個(gè)人成績主要根據(jù)個(gè)人在小組中所分工作多少和完成工作情況來確定,小組成績則由各個(gè)小組階段成績和系統(tǒng)最終驗(yàn)收的情況來確定(如系統(tǒng)是否達(dá)到需求規(guī)格說明中的功能性、提交的文檔是否全面和規(guī)范,源程序編寫是否規(guī)范、可維護(hù)性等)。每個(gè)項(xiàng)目組都應(yīng)該進(jìn)行匯報(bào),展示自己的成果,由教師和其他同學(xué)組成評審團(tuán),對每個(gè)項(xiàng)目組的匯報(bào)進(jìn)行評審和打分,提出修 改意見和建議。匯報(bào)結(jié)束后,,教師要進(jìn)行總結(jié)點(diǎn)評,并寫出評語。既要評價(jià)項(xiàng)目成果,也評價(jià)學(xué)生的表現(xiàn),幫助學(xué)生整理學(xué)習(xí)內(nèi)容,鼓勵學(xué)生的積極性。
2網(wǎng)絡(luò)輔助教學(xué)
建立軟件工程實(shí)驗(yàn)課程網(wǎng)絡(luò)教學(xué)平臺后,如何讓學(xué)生充分利用平臺資源進(jìn)行網(wǎng)絡(luò)學(xué)習(xí),也是必不可少的關(guān)鍵部分。整個(gè)教學(xué)實(shí)踐過程可在教師引導(dǎo)下,學(xué)生自主管理,分工協(xié)作,這樣既鍛煉了學(xué)生參與項(xiàng)目管理的能力,又訓(xùn)練了學(xué)生之間的團(tuán)隊(duì)合作精神。有了網(wǎng)絡(luò)學(xué)習(xí)平臺,在理論課程學(xué)習(xí)的同時(shí),學(xué)生可以分三個(gè)階段完成軟件工程實(shí)驗(yàn)課程:l)網(wǎng)絡(luò)學(xué)習(xí):該階段主要學(xué)習(xí)課程資源,同時(shí),學(xué)生進(jìn)行選題,分小組和分派任務(wù),進(jìn)行項(xiàng)目的可行性研究和項(xiàng)目的需求分析。2)課程實(shí)驗(yàn):該階段主要是讓學(xué)生學(xué)習(xí)建模工具,通過使用建模工具,完成項(xiàng)目的分析過程,并進(jìn)行系統(tǒng)的詳細(xì)設(shè)計(jì),劃分系統(tǒng)的各組成模塊,給出系統(tǒng)的各部分設(shè)計(jì)規(guī)格說明書。3)課程設(shè)計(jì):該階段主要是根據(jù)項(xiàng)目的需求規(guī)格說明書和系統(tǒng)設(shè)計(jì)文檔,采用合適的程序設(shè)計(jì)軟件完成對整個(gè)系統(tǒng)的代碼編寫,遵循代碼的開發(fā)規(guī)范。設(shè)計(jì)測試用例,對系統(tǒng)進(jìn)行測試,并提交相關(guān)文檔。成績評價(jià)部分由教師來完成,每個(gè)階段都要進(jìn)行階段性評價(jià),并根據(jù)項(xiàng)目的最終完成情況給出整體評價(jià)。要著力培養(yǎng)學(xué)生軟件工程開發(fā)工具的應(yīng)用能力,要求學(xué)生按規(guī)定提交項(xiàng)目要求的各種文檔,形成較為科學(xué)的綜合成績評定方法。
3結(jié)束語
關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì);評價(jià)方式
中圖分類號:TP3 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2013)05-1088-02
數(shù)據(jù)結(jié)構(gòu)課程內(nèi)容抽象,信息量大;在學(xué)習(xí)過程中所用到的技術(shù)多,而之前所介紹的專業(yè)性知識又不多,因而加大了學(xué)習(xí)難度;隱含在各部分的技術(shù)和方法豐富,也是學(xué)習(xí)的重點(diǎn)和難點(diǎn)。根據(jù)數(shù)據(jù)結(jié)構(gòu)課程本身的技術(shù)特性,設(shè)置數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)環(huán)節(jié)十分重要。通過實(shí)踐內(nèi)容的訓(xùn)練,能達(dá)到學(xué)生程序思維的訓(xùn)練和動手上機(jī)調(diào)試程序能力的增強(qiáng) , 提高學(xué)生組織數(shù)據(jù)及編寫大型程序的能力。
1 概述
當(dāng)前我國工程教育面臨的普遍問題是:工程教育與社會和產(chǎn)業(yè)的需求脫節(jié),包括,工程教育的培養(yǎng)目標(biāo)與社會需求不一致;工程教育中的質(zhì)量評估結(jié)果不能真實(shí)的反映學(xué)生的能力;工程教育環(huán)境與職場環(huán)境相差甚遠(yuǎn)。當(dāng)前工程教育中,很少能體現(xiàn)課程體系,學(xué)科之間的關(guān)聯(lián)很少。關(guān)于課程評價(jià)和反饋,包括師生雙方地互評。老師評價(jià)學(xué)生的手段是在學(xué)期結(jié)束時(shí),給學(xué)生一個(gè)或好或差的成績。學(xué)生從這個(gè)結(jié)果中,無法得知他需要進(jìn)一步努力的方向。用人單位無法依據(jù)這份成績來判斷這個(gè)學(xué)生是否符合他們的需求。學(xué)生評教制度就是讓學(xué)生在某個(gè)時(shí)間段(比如第14周到第16周)給老師一份評價(jià)。學(xué)校根據(jù)這份評價(jià)來考核老師的教學(xué)工作是否合格。而評教的根本目的:促使教師改進(jìn)教學(xué),服務(wù)學(xué)生,滿足學(xué)生學(xué)習(xí)需求并實(shí)現(xiàn)學(xué)生學(xué)習(xí)利益,在很大程度上被忽略。
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)作為工程教育的一個(gè)環(huán)節(jié),同樣存在上述問題。另外總共32學(xué)時(shí)的課時(shí)太少,導(dǎo)致學(xué)生沒有充分時(shí)間去實(shí)施系統(tǒng)分析、設(shè)計(jì)和實(shí)施的完整過程。
學(xué)生的語言掌握程度較大程度地影響到數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)的實(shí)施。往往系統(tǒng)實(shí)施的思路是正確的,由于語言不熟練,又缺乏正確的調(diào)試手段和調(diào)試方法,導(dǎo)致程序無法通過調(diào)試或者花費(fèi)大量時(shí)間進(jìn)行調(diào)試。由于沒有軟件工程的思想,系統(tǒng)事先沒有經(jīng)過周密的設(shè)計(jì),程序調(diào)試通過,驗(yàn)收時(shí)發(fā)現(xiàn)題目理解錯(cuò)誤,與老師的要求相差甚遠(yuǎn)。需要重新設(shè)計(jì),編寫代碼,造成學(xué)生大量時(shí)間的浪費(fèi)。
最后,學(xué)生的創(chuàng)新能力、溝通和團(tuán)隊(duì)協(xié)作能力有待于進(jìn)一步提高,而這些能力是作為一名工程型和創(chuàng)新型的計(jì)算機(jī)專業(yè)人才所必需具備的。比較顯著的就是溝通問題。在驗(yàn)收階段,一個(gè)簡單問題無法用恰當(dāng)?shù)恼Z言回答教師。
2 課程改革的理念和思路
課程改革的理念是充分利用本校本學(xué)院已有資源,結(jié)合CDIO理念,提高學(xué)生整體計(jì)算機(jī)專業(yè)能力,訓(xùn)練良好的思維方式,培養(yǎng)扎實(shí)的實(shí)踐能力,具備創(chuàng)新能力和團(tuán)隊(duì)合作精神。
課程改革的思路:課程改革從課時(shí)數(shù)、教學(xué)內(nèi)容、教學(xué)方法和評價(jià)與反饋等多方面展開。首先是在教學(xué)大綱上增加本門課程的學(xué)時(shí)數(shù)。在教學(xué)內(nèi)容上,把程序語言和軟件工程的內(nèi)容以恰當(dāng)?shù)匦问郊尤胝n程設(shè)計(jì)中。
在教學(xué)方法上,加強(qiáng)思維方式的訓(xùn)練,強(qiáng)調(diào)產(chǎn)學(xué)結(jié)合,增加學(xué)生工程經(jīng)驗(yàn),訓(xùn)練實(shí)踐能力。思維方式的訓(xùn)練從兩方面展開:在布置任務(wù)時(shí),提醒學(xué)生按照一定的方法進(jìn)行抽象,盡量避免手工操作(自動化手段);在驗(yàn)收階段,針對具體的代碼和算法設(shè)計(jì)思路,教師提具體的改進(jìn)方案,并相應(yīng)地指出可能存在思維誤區(qū)。思維方式的形成不是一天就可以完成,希望經(jīng)過一學(xué)期的訓(xùn)練可以有效地改變部分同學(xué)的思維方式。工程實(shí)踐(包括工程開發(fā)各個(gè)環(huán)節(jié)的實(shí)踐)能力提高也是從兩方面展開:一是讓學(xué)生經(jīng)歷工程開發(fā)的整個(gè)過程;二是提業(yè)界真實(shí)地案例供學(xué)生模仿分析學(xué)習(xí)。
評價(jià)和反饋從師生雙方互評入手。教師對學(xué)生的評價(jià)要真實(shí)反映當(dāng)前的知識和能力,讓學(xué)生明白自己的優(yōu)勢和不足。學(xué)生對教師的評價(jià)真實(shí)反映這一學(xué)期教師的教學(xué)能力和教學(xué)態(tài)度。讓教師進(jìn)一步清楚學(xué)生具體的學(xué)習(xí)需求和自身能力提高的方向。
課程改革的目標(biāo)包括加深學(xué)生數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知識的理解,拓展知識面,增強(qiáng)學(xué)生實(shí)踐動手能力,激發(fā)學(xué)生的創(chuàng)新和團(tuán)隊(duì)協(xié)作能力,訓(xùn)練學(xué)生的溝通表達(dá)和思維能力,培養(yǎng)學(xué)生具備良好的職業(yè)素質(zhì),使學(xué)生成為一名工程型和創(chuàng)新型的優(yōu)秀計(jì)算機(jī)專業(yè)人才。
3 課程改革的內(nèi)容
該綜合課程設(shè)計(jì)預(yù)計(jì)需要32學(xué)時(shí)。其中6學(xué)時(shí)用來幫助學(xué)生加強(qiáng)程序設(shè)計(jì)能力,先由老師講解部分的難點(diǎn)重點(diǎn)(主要是在數(shù)據(jù)結(jié)構(gòu)實(shí)施過程中常用的知識點(diǎn)),然后學(xué)生完成一個(gè)相對復(fù)雜的程序。
數(shù)據(jù)結(jié)構(gòu)的課程設(shè)計(jì)占用中間的26學(xué)時(shí)。一學(xué)期的課程設(shè)計(jì)需要學(xué)生完成3到4個(gè)不同章節(jié)的題目。由于學(xué)生能力水平參差不齊,每章教師給出3到4個(gè)難度不同的題目供選擇。這些題目部分來自配套教材,部分由教師自行設(shè)計(jì)。學(xué)生根據(jù)自身能力選擇完成其中的一個(gè)題目(也可以自主選擇題目,經(jīng)教師審核后去實(shí)施),然后提交教師驗(yàn)收。在此過程中,誘導(dǎo)學(xué)生按照軟件工程的思想去完成各個(gè)題目。具體的手段是給學(xué)生一個(gè)合理的、按照軟件工程思想設(shè)計(jì)的課程設(shè)計(jì)指導(dǎo)書。(先設(shè)計(jì)后實(shí)現(xiàn))
充分利用學(xué)院已有資源,在ACM網(wǎng)站開辟一個(gè)數(shù)據(jù)結(jié)構(gòu)專區(qū),按照ACM競賽的模式設(shè)計(jì)一些題目供有余力的學(xué)生選擇。對于已完成教師安排任務(wù)的學(xué)生,建議他們注冊登錄學(xué)院ACM網(wǎng)站去完成額外的題目,以此增強(qiáng)他們的實(shí)踐動手能力。
課程設(shè)計(jì)的其中一個(gè)重要環(huán)節(jié)是驗(yàn)收。它不僅起著評定成績的作用,而且還承擔(dān)著訓(xùn)練思維,提高算法設(shè)計(jì)和溝通表達(dá)能力的作用。程序測試通過后,教師選擇部分感興趣的代碼,要求學(xué)生解釋。如果得不到滿意的解釋,教師可以暫停此次驗(yàn)收。這個(gè)環(huán)節(jié)可以考驗(yàn)學(xué)生的溝通表達(dá)能力,以及對系統(tǒng)的理解程度。在一定程度上的杜絕拷貝這種現(xiàn)象,退一步,就算是拷貝也必須完全理解整個(gè)系統(tǒng),強(qiáng)制學(xué)生必須實(shí)際參與課程設(shè)計(jì)。
接著去提高代碼的質(zhì)量和效率。先一起分析具體的代碼,研究算法的效率有無進(jìn)一步提高的空間。若有該如何修改,教師根據(jù)學(xué)生的具體情況,討論確定方案后,交由學(xué)生完成。效率提高后的系統(tǒng),可以在下一次課再次要求驗(yàn)收。另外,教師需要明確指出明顯不符合計(jì)算思維的代碼,要求學(xué)生當(dāng)堂修改。
最后根據(jù)題目難度、完成的質(zhì)量以及驗(yàn)收時(shí)的表現(xiàn),給出一個(gè)成績并登錄在冊,作為最終成績的一部分。每個(gè)驗(yàn)收的系統(tǒng)必須提交一個(gè)配套的課程設(shè)計(jì)報(bào)告。課程設(shè)計(jì)報(bào)告能讓學(xué)生學(xué)會正確的測試和事后的分析總結(jié),起到部分的自我評價(jià)功能。每份課程設(shè)計(jì)報(bào)告也有成績,同樣登記在冊,作為評定最終成績的一個(gè)標(biāo)準(zhǔn)。
在課程設(shè)計(jì)結(jié)束時(shí),老師除了給每位學(xué)生的一個(gè)成績以外,再對出現(xiàn)的問題進(jìn)行分析總結(jié)并以文檔的形式反饋給學(xué)生。內(nèi)容包括語言的掌握程度以及還存在的問題;數(shù)據(jù)結(jié)構(gòu)的基本內(nèi)容掌握情況,提交程序的效率、有無按照軟件工程的思想完成,還需重點(diǎn)解決的問題;創(chuàng)新能力、溝通和團(tuán)隊(duì)協(xié)作能力如何等等。
參考文獻(xiàn):
[1] John Malmqvi st. The Application of CDIO Standards in the Evaluation of Swedish Engineering Degree Programmers[J].World Transaction on Engineering and Technology Education,2006,5(2):361-364.
[2] 查建中. 面向經(jīng)濟(jì)全球化的工程教育改革戰(zhàn)略[J].計(jì)算機(jī)教育,2010(11):2-7.
[3] 中國CDIO網(wǎng)站. CDIO簡介[EB/OL].http:///vNews.asp?typeID=30&parentID=29. 2011.
[4] 茍喜霞.車載導(dǎo)航系統(tǒng)最優(yōu)路徑規(guī)劃的研究[D]. 北京:北京交通大學(xué),2009.
[5] 任雪萍,王立波,趙葆華.融入PIC-CDIO理念的“數(shù)據(jù)結(jié)構(gòu)”課程教學(xué)改革[J].計(jì)算機(jī)教育,2012(7):29-32.
關(guān)鍵詞:軟件測試;能力培養(yǎng);教學(xué)理念;培養(yǎng)模式;探索實(shí)踐
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A DoI: 10.3969/j.issn.1003-6970.2012.03.009
Explore and Practice of Training the Ability for Software Test Talent
CaI Jian-ping
(School of Software Engineering Beijing University of Technology, Beijing 100101, China)
【Abstract】According to the requirements of Ministry of Education for training software talents, Aim at the software engineering features, and as a breakthrough for shortage of talent on software test, the paper analysis the employing demand of IT enterprises, study the training target of software testing talents and the training demand on the ability, explore a good method of the ability training for software test talents. Based on this, we actively undertake many practice activities about the ability training for software test talents, for example, concise the teaching philosophy of training software testing talent, build the new pattern of training the ability for software test talents, constitute a general outline for software test course, write corresponding book, establish laboratory, etc.
【Key words】software testing; ability training; Teaching Philosophy; Training Pattern; Explore and Practice
0 引 言
軟件測試是軟件工程的一個(gè)重要分支,是軟件質(zhì)量保證的重要基礎(chǔ)?,F(xiàn)代軟件測試與傳統(tǒng)的軟件測試不一樣,它是貫穿軟件工程整個(gè)生命周期(從需求分析、軟件設(shè)計(jì)、代碼開發(fā),一直到最后測試、驗(yàn)收和維護(hù)),涉及各種軟件開發(fā)技術(shù)、應(yīng)用技術(shù)以及測試技術(shù),覆蓋軟件各種應(yīng)用領(lǐng)域(如桌面軟件、網(wǎng)絡(luò)應(yīng)用、信息系統(tǒng)、電子服務(wù)、嵌入式系統(tǒng)、數(shù)字娛樂等),面臨不同的專業(yè)領(lǐng)域知識,所要求的投入與軟件開發(fā)相比規(guī)模同等甚至更高。另外,軟件測試是一項(xiàng)需具備較強(qiáng)專業(yè)技術(shù)、學(xué)習(xí)和創(chuàng)新能力的工作,軟件測試人員除了需要有一定的軟件測試實(shí)踐經(jīng)驗(yàn)外,必須要具有縝密的邏輯思維能力、全面的技術(shù)能力、各種測試工具的使用能力、敢想敢干的創(chuàng)新能力,要有較強(qiáng)的責(zé)任心和團(tuán)隊(duì)合作精神以及出色的溝通能力等專業(yè)素質(zhì)。要成為一名合格的軟件測試人才需要經(jīng)過嚴(yán)格系統(tǒng)化的專業(yè)培養(yǎng),并且在專業(yè)培養(yǎng)過程中一定要結(jié)合軟件測試專業(yè)化的特殊要求,強(qiáng)調(diào)軟件測試人員的工程實(shí)踐能力。
目前,很多高等學(xué)校僅僅是在計(jì)算機(jī)專業(yè)或軟件工程專業(yè)中設(shè)置一些軟件測試課程,還沒有提高到軟件測試專業(yè)化人才培養(yǎng)這個(gè)層面。北京工業(yè)大學(xué)軟件學(xué)院率先在這方面進(jìn)行了探索和實(shí)踐,將能力培養(yǎng)作為軟件測試人才培養(yǎng)的重要內(nèi)容和突破口,提出了“用工具,促能力”的教學(xué)理念,積極探索軟件測試課程的改革與實(shí)踐,最終建立通過學(xué)習(xí)和使用軟件測試工具進(jìn)行軟件測試能力培養(yǎng)的新模式。并在此基礎(chǔ)上,開展課程建設(shè)、教材建設(shè)、實(shí)驗(yàn)室建設(shè)等工作,取得了較好的效果。
1 “用工具,促能力”的教學(xué)理念
工程實(shí)踐能力是計(jì)算機(jī)專業(yè),特別是軟件工程專業(yè)的基本要求之一。計(jì)算機(jī)技術(shù)或軟件工程技術(shù)涉及到大量的知識內(nèi)容,包含各種開發(fā)和應(yīng)用技術(shù),覆蓋許多應(yīng)用領(lǐng)域,需要有很強(qiáng)工程實(shí)踐能力。對于我們在校的本科學(xué)生,由于從高中到大學(xué),一直在學(xué)習(xí),缺乏實(shí)際項(xiàng)目經(jīng)歷。如果按照傳統(tǒng)的課堂傳授理論知識的方法進(jìn)行教學(xué),輔助一般的實(shí)驗(yàn),會讓學(xué)生感到枯燥、乏味,提不起興趣。
為此,北京工業(yè)大學(xué)軟件學(xué)院要求在軟件工程本科專業(yè)的培養(yǎng)計(jì)劃中加大計(jì)算機(jī)基礎(chǔ)課程和軟件工程專業(yè)核心課程的實(shí)踐教學(xué)環(huán)節(jié)(包括配套的課程設(shè)計(jì),獨(dú)立的實(shí)踐課程,以及小學(xué)期的集中實(shí)訓(xùn)等),并特別在軟件測試課程的實(shí)踐教學(xué)上進(jìn)行了大膽的改革和創(chuàng)新,提出了“用工具,促能力”進(jìn)行軟件測試人才能力培養(yǎng)的教學(xué)理念。該教學(xué)理念的核心思想是通過要求學(xué)生熟練地使用各種軟件測試工具,來掌握軟件測試相關(guān)知識、技術(shù)、方法和管理流程,提高軟件測試的工程實(shí)踐能力,提升軟件測試的專業(yè)化水平。
熟練地使用軟件測試工具能帶來如下好處:
1)提高工作效率。
軟件測試的工作量很大(據(jù)統(tǒng)計(jì),測試會占用到40%的開發(fā)時(shí)間;一些可靠性要求非常高的軟件,甚至?xí)嫉?0%);另外,測試中的許多操作是重復(fù)的、非智力性的和非創(chuàng)造性的,但要求準(zhǔn)確細(xì)致。最后,那些固定的、重復(fù)性的工作,可以由測試工具來完成,這樣就使得測試人員能有更多的時(shí)間來計(jì)劃測試過程,設(shè)計(jì)測試用例,使測試進(jìn)行的更加完善。
2)保證測試的準(zhǔn)確性。
手工測試常會犯一些人為錯(cuò)誤。為此需要投入大量的時(shí)間和精力;而工具的特點(diǎn)是能保證測試的準(zhǔn)確性,防止人為疏忽造成的錯(cuò)誤。
3)有些測試很難開展,必須使用工具(如性能測試等)。
測試工具可以執(zhí)行一些手工難于執(zhí)行,或者是無法執(zhí)行的測試。這是因?yàn)檐浖y試工作相當(dāng)復(fù)雜,要求非常嚴(yán)格,很多測試在手工測試環(huán)境是無法完成的。
4)測試工具很好地保證測試工作的規(guī)范性和一致性。
軟件工程最重要的內(nèi)容就是管理,軟件測試同樣也是將管理放在第一位。
5)測試工具體現(xiàn)了先進(jìn)的測試思想、方法和技術(shù)。
掌握并熟練地使用軟件測試工具,能夠快速和有效地掌握或鞏固所學(xué)的軟件測試的思想、方法和技術(shù);運(yùn)用軟件測試工具開展軟件測試工作,能夠有效地提升解決軟件測試中遇到的各種問題,增強(qiáng)軟件測試的實(shí)戰(zhàn)能力。
事實(shí)上,“用工具,促能力”的教學(xué)理念非常適合在工程化要求較高的軟件工程核心課程中進(jìn)行示范,予以推廣。
2 探索軟件測試人才能力培養(yǎng)的新模式
我們在“用工具,促能力”的教學(xué)理念指導(dǎo)下,對以軟件測試人才能力培養(yǎng)為目標(biāo)的教學(xué)方法與教學(xué)模式進(jìn)行積極地探索和實(shí)踐,確定了軟件測試課程教學(xué)的知識體系以及學(xué)習(xí)和使用軟件測試工具進(jìn)行軟件測試能力培養(yǎng)的實(shí)踐教學(xué)體系,制定了軟件測試課程教學(xué)大綱和實(shí)踐教學(xué)課程大綱,從而建立軟件測試課程教學(xué)及能力培養(yǎng)的新模式。
我們這里所說的軟件測試人才能力培養(yǎng)新模式主要是指我們在對軟件工程本科學(xué)生的軟件測試能力培養(yǎng)過程中,強(qiáng)調(diào)“用工具,促能力”的教學(xué)理念,以開源軟件測試工具為基礎(chǔ),結(jié)合精選的教學(xué)案例,大膽地將測試工具的掌握和測試工具的應(yīng)用作為實(shí)踐教學(xué)的重點(diǎn),強(qiáng)化學(xué)生軟件測試專業(yè)知識的掌握,促進(jìn)學(xué)生軟件測試實(shí)踐能力的培養(yǎng)。這種實(shí)踐教學(xué)的新模式,通過不斷的探索和實(shí)踐,充分得到學(xué)生的認(rèn)可。學(xué)生通過軟件測試工具的使用,大大提高了參與實(shí)踐的興趣,對軟件測試相關(guān)的理論知識有了更深入的理解和掌握,運(yùn)用工具解決測試項(xiàng)目實(shí)際問題的能力得到了加強(qiáng)。
2.1 軟件測試人才能力培養(yǎng)的課程建設(shè)
軟件測試人才培養(yǎng)專業(yè)性強(qiáng),人員素質(zhì)高,這要求我們必須科學(xué)地對軟件測試課程體系進(jìn)行論證,并按照軟件測試人才能力培養(yǎng)新模式的要求制定出教學(xué)大綱。目前,學(xué)院在軟件測試課程體系的設(shè)置上分三個(gè)層次:理論課程―軟件測試,實(shí)踐課程―軟件測試課程設(shè)計(jì),創(chuàng)新學(xué)分―軟件協(xié)同測試。貫穿這三個(gè)層次的主線是軟件測試工具,即通過軟件測試工具在不同軟件測試項(xiàng)目中的使用,強(qiáng)化學(xué)生知識的掌握和能力的培養(yǎng),并按照工具使用流程要求,培養(yǎng)學(xué)生專業(yè)職業(yè)素質(zhì)。
2.2 基于開源軟件的軟件測試實(shí)驗(yàn)室建設(shè)
軟件測試課程對工程實(shí)踐要求極高,對學(xué)生動手能力要求極強(qiáng),因此軟件測試實(shí)驗(yàn)室的建設(shè),軟件測試工具的配備除了支撐教學(xué)外,還是“用工具,促能力”教學(xué)理念的貫徹和通過學(xué)習(xí)和使用軟件測試工具進(jìn)行軟件測試人才能力培養(yǎng)新模式的實(shí)施最重要的保證。
考慮到軟件測試貫穿軟件工程整個(gè)軟件生命周期,涉及各種軟件開發(fā)技術(shù)、應(yīng)用技術(shù)以及測試技術(shù),覆蓋軟件各種應(yīng)用領(lǐng)域,需要用到多種測試技術(shù)、方法和測試類型。因此要建設(shè)能夠讓學(xué)生或受訓(xùn)人員全面參與這些實(shí)驗(yàn)或?qū)嵺`的軟件測試實(shí)驗(yàn)室,特別是全面配置商用軟件測試工具,這幾乎是不可能的。首先,除一次性投入滿足數(shù)十位學(xué)生同時(shí)上機(jī)進(jìn)行實(shí)驗(yàn)或?qū)嵺`的要求外,經(jīng)常性的升級維護(hù)費(fèi)用就會讓條件優(yōu)越的高?;蚺嘤?xùn)機(jī)構(gòu)難以承受,更不要說大多數(shù)條件不優(yōu)越的高等院校。另外,如果完全依靠商用軟件測試工具開展軟件測試的實(shí)踐教學(xué),除了面太窄、投入太高外,我們很難推廣和普及在這方面取得的實(shí)踐教學(xué)成果。
為此,我們提出了以主流的開源軟件測試工具為基礎(chǔ),進(jìn)行軟件測試實(shí)驗(yàn)室建設(shè)的解決方案。該方案覆蓋軟件測試的各個(gè)階段和各種類型,保證了國內(nèi)許多院校在辦學(xué)條件不足,實(shí)驗(yàn)教學(xué)經(jīng)費(fèi)有限,無法全方位引進(jìn)商用軟件測試工具的情況下,仍然能夠很好地開設(shè)軟件測試實(shí)踐類課程。
實(shí)際上,我們在軟件測試實(shí)踐能力培養(yǎng)過程中,一直是要求學(xué)生使用開源測試工具。這是因?yàn)椋?/p>
①開源測試工具的使用,特別是測試環(huán)境的建立,能夠促使學(xué)生接觸各種開源工具,如操作系統(tǒng)、服務(wù)器、數(shù)據(jù)庫、頁面開發(fā)語言、繪圖、郵件等,培養(yǎng)他們搭建平臺的綜合能力。
②采用開源測試工具搭建測試環(huán)境開展測試工作,更有利于學(xué)生學(xué)習(xí)和理解軟件開發(fā)技術(shù)和軟件測試原理,提高學(xué)習(xí)興趣。
③學(xué)生通過使用開源測試工具,除了完成課程設(shè)計(jì)所規(guī)定的測試任務(wù)外,還能夠清楚地了解這些測試工具對測試技術(shù)和測試方法的支持以及這些工具在應(yīng)用中存在的問題,并可以嘗試自己動手改進(jìn)這些測試工具。
2.3 軟件測試課程配套的教材建設(shè)
為使教學(xué)理念真正得到貫徹,能力培養(yǎng)模式真正得到實(shí)施,必須解決與之配套的教材問題。為此,我們編寫了《軟件測試大學(xué)教程》、《軟件測試實(shí)驗(yàn)指導(dǎo)教程》以及《嵌入式軟件測試實(shí)用技術(shù)》3本教材。這3本教材不僅是課程的配套教材,而且還是軟件測試課程建設(shè)和教學(xué)研究及改革等成果的最終表現(xiàn),也是軟件測試能力培養(yǎng)新模式實(shí)施的基石?!盾浖y試大學(xué)教程》已被北京市教委推薦為“十二五”普通高等教育本科國家級規(guī)劃教材(待評審);另外,《軟件測試實(shí)驗(yàn)指導(dǎo)教程》全面介紹了支持各種軟件測試類型的開源軟件測試工具的主要功能、應(yīng)用流程及實(shí)際案例,涉及到測試管理、缺陷管理、代碼分析、單元測試、系統(tǒng)測試、性能測試以及軟件綜合評測等重要實(shí)踐內(nèi)容。該教材配套有近1GB內(nèi)容的DVD光盤,光盤中存放有覆蓋軟件測試不同階段和不同類型的大量開源軟件測試工具及配套的實(shí)踐教學(xué)案例,保證了國內(nèi)許多院校在辦學(xué)條件不足,實(shí)驗(yàn)教學(xué)經(jīng)費(fèi)有限,無法全方位引進(jìn)商用軟件測試工具的情況下,仍然能夠?qū)W習(xí)和推廣我們的教學(xué)成果;最后,學(xué)術(shù)專著《嵌入式軟件測試實(shí)用技術(shù)》對軟件工程應(yīng)用領(lǐng)域嵌入式軟件的測試活動開展提供了專業(yè)支持。
上述教材的出版及使用,能夠使我們的教學(xué)理念真正得到貫徹,教學(xué)大綱真正得到落實(shí),教學(xué)新模式真正得到實(shí)施,實(shí)踐教學(xué)的探索及改革有據(jù)可查,有跡可循。
2.4 軟件測試精品課程的建設(shè)
精品課程的建設(shè)能夠推動優(yōu)質(zhì)教育資源的共享、教學(xué)理念的宣傳和教學(xué)模式的普及與推廣,使學(xué)生得到最好的教育,從而全面提高教學(xué)質(zhì)量。
軟件測試課程自2009年評為北京工業(yè)大學(xué)校級精品課程以來,一直在努力開展精品課程相關(guān)內(nèi)容的建設(shè),積極申報(bào)北京市精品課程。通過近幾年的軟件測試精品課程建設(shè),很好地推動了優(yōu)質(zhì)教育資源的共享,以及實(shí)踐教學(xué)理念的宣傳和實(shí)踐教學(xué)模式的普及與推廣。
軟件測試課程在建設(shè)過程中,對教學(xué)內(nèi)容、教學(xué)方法進(jìn)行了如下的改革:
①在整個(gè)本科和工程碩士教學(xué)計(jì)劃和培養(yǎng)方案的基礎(chǔ)上,進(jìn)行課程體系、教學(xué)內(nèi)容及實(shí)驗(yàn)和實(shí)踐環(huán)節(jié)整體配套和優(yōu)化的教學(xué)改革;
②重視基礎(chǔ)理論,采用案例驅(qū)動式教學(xué)方式,加強(qiáng)實(shí)踐教學(xué)環(huán)節(jié),注重基本技能訓(xùn)練與工程能力的培養(yǎng);
③密切軟件開發(fā)技術(shù)及測試技術(shù)應(yīng)用最新動態(tài),設(shè)計(jì)實(shí)踐教學(xué)案例,增強(qiáng)課程內(nèi)容的針對性和時(shí)效性;
④將軟件測試課程理論教學(xué)與軟件測試課程設(shè)計(jì)、軟件協(xié)同測試等實(shí)踐教學(xué)和創(chuàng)新學(xué)分整體考慮,努力達(dá)到培養(yǎng)高素質(zhì)、專業(yè)化軟件測試人才的要求;
⑤為使軟件測試課程達(dá)到既定目標(biāo),開展了配套的教材建設(shè)。
總之,精品課程教學(xué)內(nèi)容突出全生命周期軟件測試概念、軟件質(zhì)量分析手段、現(xiàn)代軟件測試技術(shù)、主流測試工具應(yīng)用以及典型應(yīng)用測試方法等,幫助學(xué)生了解和掌握現(xiàn)代軟件測試的各種原理、方法和技術(shù),并能夠選擇合適的軟件測試工具進(jìn)行相關(guān)測試。這些舉措為培養(yǎng)學(xué)生今后成為高素質(zhì)、專業(yè)化的軟件測試人才打下很好的基礎(chǔ),許多學(xué)生畢業(yè)后在IT企業(yè)能夠很好地從事軟件測試工作。
軟件測試精品課程網(wǎng)站是按照北京市精品課程網(wǎng)站建設(shè)要求建設(shè)的。網(wǎng)上的內(nèi)容除了課程概況、課程內(nèi)容、練習(xí)作業(yè)、教學(xué)課件、參考資料以及全程錄像。由于軟件測試課程包含有實(shí)踐性教學(xué),因此本網(wǎng)站包括實(shí)踐教學(xué)指導(dǎo)等。除此之外,本網(wǎng)站還包括軟件測試課程全面教育教學(xué)研究和改革的思路、方案和成果??梢哉f,本網(wǎng)站內(nèi)容完整、資源豐富,其成果具有可示范性和可推廣性。
軟件測試課程建設(shè)得到北京世紀(jì)超星信息技術(shù)發(fā)展有限責(zé)任公司的大力支持,該公司將本課程作為優(yōu)秀學(xué)術(shù)成果(超星名師講壇――超星學(xué)術(shù)視頻)進(jìn)行了全程的錄像和系統(tǒng)的整理,部分錄像資源可在超星網(wǎng)上觀看或下載,網(wǎng)址是: video.省略/playvideo.aspx?id=31475。另外,超星公司已授權(quán)我們可將本課程的完整學(xué)術(shù)視頻放在學(xué)校精品課程網(wǎng)站上,使教師和學(xué)生共享其資源。
3 軟件測試人才能力培養(yǎng)模式的實(shí)踐
軟件測試課程在不同的院校其設(shè)置是不一樣(如理論課或理論課+實(shí)驗(yàn)課,學(xué)時(shí)、學(xué)分等)的,北京工業(yè)大學(xué)軟件學(xué)院在軟件工程專業(yè)本科生的教學(xué)計(jì)劃中將軟件測試課程設(shè)為專業(yè)必修課,其課程設(shè)置包括理論課及實(shí)驗(yàn)課(課程設(shè)計(jì))兩部分。理論課32學(xué)時(shí),16周完成,每周2學(xué)時(shí),最后參加學(xué)校考試周的閉卷考試。課程設(shè)計(jì)是期末小學(xué)期2周集中進(jìn)行,共60學(xué)時(shí)。
3.1 課程設(shè)置情況
軟件測試課程自2005年開設(shè)以來,就依據(jù)“用工具,促能力”的教學(xué)理念開展本文所提到的軟件測試人才能力培養(yǎng)的新模式進(jìn)行教學(xué),講授了8輪次,學(xué)習(xí)人數(shù)達(dá)500多人。
無論是軟件測試?yán)碚撜n實(shí)驗(yàn)、軟件測試課程設(shè)計(jì),還是創(chuàng)新學(xué)分――軟件協(xié)同測試,都是以軟件測試工具為核心,結(jié)合精心設(shè)計(jì)的測試案例,使學(xué)生從測試需求、測試環(huán)境建立、測試策略、測試技術(shù)應(yīng)用、測試用例設(shè)計(jì)與執(zhí)行、測試結(jié)果分析,以及缺陷跟蹤管理與測試報(bào)告文檔撰寫等方面完成實(shí)驗(yàn)內(nèi)容和課程設(shè)計(jì)內(nèi)容。
3.1.1 軟件測試?yán)碚撜n程的實(shí)驗(yàn)大綱
軟件測試?yán)碚撜n中安排了6個(gè)學(xué)時(shí)的實(shí)驗(yàn)內(nèi)容,包括三個(gè)方面的內(nèi)容(每部分內(nèi)容2學(xué)時(shí)):代碼靜態(tài)檢測、Java單元測試Junit、Gtk+界面測試。
3.1.2 軟件測試課程設(shè)計(jì)大綱
軟件測試課程設(shè)計(jì)按照《軟件測試實(shí)驗(yàn)指導(dǎo)教程》開設(shè)了6大類型的軟件測試項(xiàng)目,每個(gè)類型的測試項(xiàng)目要求學(xué)生同時(shí)使用主流的開源測試工具,體會先進(jìn)和成熟的軟件測試技術(shù),提高學(xué)生的實(shí)戰(zhàn)能力。
類型1:以測試過程管理為主,實(shí)驗(yàn)重點(diǎn)是缺陷管理、測試管理以及缺陷管理與測試管理的集成。涉及到的開源工具主要有Mantis、Bugzilla、Testlink、Testopia等。
類型2:以程序的靜態(tài)分析為主,實(shí)驗(yàn)內(nèi)容是程序理解、代碼靜態(tài)分析。涉及到的開源工具主要有Oink,Eclipse PTP/ CDT,以及分析Java代碼的多種工具(如Findbugs、PMD、Checkstyle、Valgrind、Prefast等)。
類型3:以單元測試為主,實(shí)驗(yàn)內(nèi)容是基于支持測試驅(qū)動開發(fā)(TDD)的單元測試框架xUnit的C/C++功能測試和C/C++及Java的覆蓋測試。涉及到的開源工具主要有CppUnit、EclEmma、Gcov等。
類型4:以圖形界面測試為主,基于單元測試框架對Java GUI進(jìn)行測試,對網(wǎng)頁進(jìn)行測試。涉及到的開源工具主要有JFCUnit、HttpUnit、JWebUnit等。
類型5:以性能測試為主,除了繼續(xù)在單元測試框架的基礎(chǔ)上對Java應(yīng)用進(jìn)行單元性能測試外,重點(diǎn)是對Web應(yīng)用系統(tǒng)進(jìn)行整體的性能測試。涉及到的開源工具主要有p-unit、JMeter、WebLoad等。
類型6:以軟件綜合評測為主,對南京大學(xué)的EASTT工具進(jìn)行綜合應(yīng)用(可輔助使用Panorama++試用版),全面了解軟件評測的思想、方法和要求。
軟件測試課程設(shè)計(jì)的考核內(nèi)容包括:建立測試環(huán)境,運(yùn)行測試工具,編寫測試?yán)?,加載被測程序,執(zhí)行測試用例,分析測試結(jié)果,撰寫測試總結(jié)報(bào)告(報(bào)告字?jǐn)?shù)不少于1萬字),最后登臺匯報(bào)(PPT演講)。
通過撰寫報(bào)告和登臺PPT匯報(bào),培養(yǎng)學(xué)生的邏輯思維、歸納總結(jié)、論文撰寫、多媒體制作以及登臺演講能力。3.1.3 軟件協(xié)同測試創(chuàng)新學(xué)分大綱
軟件協(xié)同測試創(chuàng)新學(xué)分實(shí)踐課程主要是由教師布置具體的較大型軟件測試項(xiàng)目,模擬多人異地得測試活動,讓學(xué)生體驗(yàn)軟件測試各個(gè)階段進(jìn)行協(xié)同的關(guān)鍵要素。包括測試需求分析、測試計(jì)劃制定、測試用例設(shè)計(jì)、測試用例執(zhí)行、測試結(jié)果收集以及測試資源和測試過程管理等各個(gè)環(huán)節(jié)的協(xié)同要求,學(xué)生通過協(xié)同分工完成整個(gè)課程任務(wù),并在測試實(shí)踐中總結(jié)方法,創(chuàng)新性的提出軟件協(xié)同測試的解決方案。
3.2 實(shí)踐效果
基于“用工具,促能力” 的教學(xué)理念下的軟件測試人才能力培養(yǎng)的新模式在內(nèi)容組織上做到了既能夠調(diào)動學(xué)生專業(yè)興趣,使其感到軟件測試的實(shí)用性和挑戰(zhàn)性,又加強(qiáng)了學(xué)生軟件測試的實(shí)際動手能力。軟件測試課程以主流的開源軟件測試工具應(yīng)用為基礎(chǔ),以實(shí)戰(zhàn)能力培養(yǎng)為目的,易于教師開展軟件測試的各項(xiàng)實(shí)踐教學(xué)活動,而且學(xué)生對這種形式的實(shí)踐教學(xué)反映非常好,學(xué)生參與實(shí)驗(yàn)的熱情非常高,學(xué)生經(jīng)過實(shí)踐后收獲非常大、能力提高非???,學(xué)生為實(shí)踐收集或設(shè)計(jì)的案例非常豐富,部分學(xué)生撰寫的實(shí)踐總結(jié)報(bào)告水平也非常高。另外,學(xué)生結(jié)合分組實(shí)踐內(nèi)容的安排,進(jìn)行針對性地軟件測試實(shí)踐活動,同時(shí)也可以方便不同層次的學(xué)生根據(jù)自己的能力、時(shí)間和興趣選擇相關(guān)的實(shí)踐內(nèi)容進(jìn)行自學(xué)和實(shí)踐,進(jìn)一步地拓展自己的專業(yè)知識和專業(yè)技能,為今后的職業(yè)生涯規(guī)劃打基礎(chǔ)。
企業(yè)對我們所取得的成果給予了認(rèn)可。北京應(yīng)用軟件產(chǎn)品質(zhì)量監(jiān)督檢驗(yàn)中心與學(xué)院簽署了戰(zhàn)略合作協(xié)議,確定在軟件測試人才培養(yǎng)(如軟件測試培訓(xùn)、實(shí)訓(xùn)及實(shí)習(xí))、軟件測試科研、軟件協(xié)同測試平臺建設(shè)以及嵌入式軟件測試等基礎(chǔ)建設(shè)方面開展合作。
2009年,北京工業(yè)大學(xué)軟件學(xué)院所獲得的北京市軟件工程實(shí)踐教學(xué)示范中心其建設(shè)內(nèi)容主要是軟件工程及其相關(guān)專業(yè)核心課程的實(shí)踐教學(xué)及其學(xué)生的能力培養(yǎng)。按照什么樣的理念和模式開展這些課程的實(shí)踐教學(xué),軟件測試課程“用工具,促能力”的教學(xué)理念和在該教學(xué)理念指導(dǎo)下的軟件測試人才能力培養(yǎng)模式做了一個(gè)很好的實(shí)踐和回答。
4 結(jié)束語
目前計(jì)算機(jī)學(xué)院或軟件學(xué)院學(xué)生的軟件測試人才培養(yǎng)一直是高等院校計(jì)算機(jī)人才或軟件人才培養(yǎng)的一個(gè)“短板”,一直缺少好的教學(xué)理念和教學(xué)模式。因此,開展軟件測試人才能力培養(yǎng)的教學(xué)理念及培養(yǎng)模式的探索與實(shí)踐是一件非常有意義的工作。對于這項(xiàng)工作,有關(guān)專家給與了充分的肯定,他們認(rèn)為:軟件測試人才能力培養(yǎng)的教學(xué)理念和新模式強(qiáng)調(diào)軟件測試工具使用的重要性,同時(shí)重視教學(xué)實(shí)驗(yàn)成本和教學(xué)的靈活性,所有實(shí)驗(yàn)和實(shí)踐活動的內(nèi)容組織均以開源軟件測試工具為主。通過實(shí)際測試項(xiàng)目的開展和工具的使用,能夠使學(xué)生掌握軟件測試的基本方法、技術(shù)和流程,提高他們的動手能力。而且這種教學(xué)理念和培養(yǎng)模式具有示范性和推廣性。
參考文獻(xiàn)
[1] 柳永坡. 讓軟件測試實(shí)驗(yàn)和實(shí)訓(xùn)課程輕松地走進(jìn)高校或培訓(xùn)機(jī)構(gòu)――介紹《軟件測試實(shí)驗(yàn)指導(dǎo)教程》[J].計(jì)算機(jī)教育,2010(13):158.
[2] 柳永坡. 軟件測試大學(xué)教程:軟件測試課程專業(yè)教材[J].計(jì)算機(jī)教育,2010(12):158.
[3] 蔡建平. 開源軟件測試實(shí)踐教學(xué)方案設(shè)計(jì)[J]. 計(jì)算機(jī)教育,2011(6):103-108.
[4] 蔡建平. 軟件測試大學(xué)教程[M]. 北京:清華大學(xué)出版社,2009,09.