期刊在線咨詢服務(wù),立即咨詢
時(shí)間:2022-08-11 00:55:08
導(dǎo)言:作為寫作愛好者,不可錯(cuò)過(guò)為您精心挑選的10篇軟件工程課程設(shè)計(jì)總結(jié),它們將為您的寫作提供全新的視角,我們衷心期待您的閱讀,并希望這些內(nèi)容能為您提供靈感和參考。
一、引言
軟件工程是計(jì)算機(jī)科學(xué)、信息技術(shù)、軟件工程等專業(yè)的教學(xué)計(jì)劃中一門重要專業(yè)必修課[1],而軟件工程課程設(shè)計(jì)是針對(duì)軟件工程這門課程展開的一項(xiàng)理論與實(shí)踐相結(jié)合的重要教學(xué)活動(dòng);它不同于畢業(yè)設(shè)計(jì),更不同于簡(jiǎn)單的實(shí)驗(yàn)過(guò)程。它是軟件工程教學(xué)的一個(gè)重要實(shí)踐環(huán)節(jié),為學(xué)生綜合能力的運(yùn)用、技術(shù)思維的形成、創(chuàng)造能力的培養(yǎng)搭建了一個(gè)平臺(tái),使學(xué)生除了掌握軟件工程理論和方法外,還能夠綜合運(yùn)用已學(xué)過(guò)的程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、計(jì)算機(jī)網(wǎng)絡(luò)、管理學(xué)和經(jīng)濟(jì)學(xué)等課程的技能、工具解決與其相關(guān)的理論或?qū)嶋H問(wèn)題。
在軟件工程課程設(shè)計(jì)中,很多本學(xué)科的學(xué)者與施教者總結(jié)了不錯(cuò)的經(jīng)驗(yàn),比如“激勵(lì)機(jī)制”[2]、面向?qū)ο蟮淖灾鲗?shí)驗(yàn)教學(xué)[3]、課程相關(guān)體系研究[4]及相關(guān)的案例法教學(xué)實(shí)踐設(shè)計(jì)[5]等,這些方法各有所長(zhǎng)。我取其所長(zhǎng),結(jié)合親身教學(xué)實(shí)踐,從課程設(shè)計(jì)的目標(biāo)要求,設(shè)計(jì)內(nèi)容,設(shè)計(jì)的具體實(shí)施,學(xué)生成績(jī)?cè)u(píng)價(jià)體系等方面,對(duì)軟件工程課程設(shè)計(jì)教學(xué)模式作了系統(tǒng)的探討。
二、軟件工程課程設(shè)計(jì)的教學(xué)現(xiàn)狀
長(zhǎng)期以來(lái),很多高校培養(yǎng)的學(xué)生存在著“什么都學(xué)過(guò),卻什么都不會(huì)”的尷尬局面,專業(yè)教育、教材與實(shí)際應(yīng)用需求嚴(yán)重脫節(jié)[6]。傳統(tǒng)的軟件工程課程設(shè)計(jì)雖然也有設(shè)計(jì)的要求,但一般只是停留在組織學(xué)生編寫軟件項(xiàng)目若干設(shè)計(jì)文檔這個(gè)單一環(huán)節(jié)上,忽略了對(duì)教學(xué)方法和內(nèi)容的更新。目前,大多數(shù)院校軟件工程課程設(shè)計(jì)課程教學(xué)中普遍存在的問(wèn)題有以下幾點(diǎn)。
1.課程設(shè)計(jì)目標(biāo)不夠明確,實(shí)驗(yàn)和設(shè)計(jì)不加區(qū)別。把軟件工程實(shí)驗(yàn)和設(shè)計(jì)的要求同等對(duì)待,從而使設(shè)計(jì)內(nèi)容偏少,驗(yàn)證性實(shí)驗(yàn)內(nèi)容和方法偏多,實(shí)驗(yàn)過(guò)程變成了重復(fù)的復(fù)制和操作的過(guò)程,實(shí)驗(yàn)教學(xué)效果不理想,達(dá)不到培養(yǎng)學(xué)生獨(dú)立思考和創(chuàng)新能力的目的。
2.課程設(shè)計(jì)內(nèi)容比較陳舊,不能與時(shí)俱進(jìn)。很多從事軟件工程課程設(shè)計(jì)教學(xué)的教師本身缺乏項(xiàng)目開發(fā)的實(shí)戰(zhàn)經(jīng)驗(yàn),對(duì)課程設(shè)計(jì)的內(nèi)容往往從一些參考書籍的實(shí)例中拿過(guò)來(lái)讓學(xué)生去做,有的甚至多年不更新設(shè)計(jì)內(nèi)容,這樣很容易給學(xué)生抄襲的機(jī)會(huì),達(dá)不到課程設(shè)計(jì)的要求;同時(shí),很多學(xué)生對(duì)設(shè)計(jì)的內(nèi)容也不一定感興趣,因此也容易扼殺學(xué)生的積極性和創(chuàng)新能力。
3.在項(xiàng)目組劃分確定方面,缺乏對(duì)學(xué)生專業(yè)基礎(chǔ),性格和技能的分析與匹配,導(dǎo)致沒(méi)有凝聚整組成員的合作精神和團(tuán)隊(duì)的開發(fā)能力。組長(zhǎng)的核心作用很重要,但在具體的設(shè)計(jì)中,一般就是簡(jiǎn)單的按學(xué)號(hào)自然的分化,或者學(xué)生的自由組合分組,前者失去了團(tuán)隊(duì)能力的柔化組合與應(yīng)用,后者導(dǎo)致少數(shù)技能較差的學(xué)生不能分到組中去而處于孤軍作戰(zhàn)的局面。
4.教師制定課程設(shè)計(jì)的指導(dǎo)要求目的不明確、不詳細(xì),監(jiān)管力度不到位,導(dǎo)致項(xiàng)目開發(fā)團(tuán)隊(duì)在執(zhí)行的過(guò)程中出現(xiàn)安排任務(wù)不合理,出現(xiàn)某些成員任務(wù)過(guò)重或者過(guò)輕的情況。
5.學(xué)生成績(jī)的評(píng)分結(jié)果過(guò)于單一,評(píng)價(jià)體系不夠科學(xué)合理。對(duì)學(xué)生的設(shè)計(jì)成績(jī)的評(píng)價(jià)往往是指導(dǎo)老師根據(jù)學(xué)生提交的報(bào)告和設(shè)計(jì)結(jié)果來(lái)評(píng)分,這樣容易忽略對(duì)學(xué)生綜合能力(包括學(xué)生的口頭表達(dá)能力,組織能力,團(tuán)隊(duì)協(xié)調(diào)能力等各方面)的評(píng)價(jià)。
因此,為了培養(yǎng)高素質(zhì)的綜合型軟件人才,高等學(xué)校探索良好的軟件工程課程設(shè)計(jì)教學(xué)模式就顯得十分必要。
三、軟件工程課程設(shè)計(jì)教學(xué)模式的探討
針對(duì)當(dāng)前多數(shù)院校軟件工程課程設(shè)計(jì)課程教學(xué)中普遍存在的一些問(wèn)題,我根據(jù)多年的教學(xué)經(jīng)驗(yàn),對(duì)該課程的教學(xué)模式作了如下探討。
1.指導(dǎo)老師根據(jù)軟件工程教學(xué)的特點(diǎn),制定出軟件工程課程設(shè)計(jì)的目標(biāo)與通過(guò)該課程設(shè)計(jì)后可取得預(yù)期的收獲。下面是我對(duì)軟件工程課程設(shè)計(jì)制定的目標(biāo)和可能的預(yù)期收獲。
(1)通過(guò)本課程設(shè)計(jì)的實(shí)踐及其前后的準(zhǔn)備與總結(jié),復(fù)習(xí)、領(lǐng)會(huì)、鞏固和運(yùn)用軟件工程課堂上所學(xué)的軟件開發(fā)方法和知識(shí),比如,軟件項(xiàng)目的完整設(shè)計(jì)與開發(fā)過(guò)程、結(jié)構(gòu)化技術(shù)、快速原型法和面向?qū)ο蠓椒?等等。
(2)為學(xué)生適應(yīng)畢業(yè)后團(tuán)隊(duì)合作開發(fā)規(guī)模稍大項(xiàng)目和綜合應(yīng)用本專業(yè)所學(xué)習(xí)的多門課程知識(shí)(例如,軟件工程、程序設(shè)計(jì)語(yǔ)言、操作系統(tǒng)、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)編程等)創(chuàng)造實(shí)踐機(jī)會(huì)。為學(xué)生提供主動(dòng)學(xué)習(xí)(比如,對(duì)Web網(wǎng)頁(yè)設(shè)計(jì)、或ASP交互網(wǎng)頁(yè)技術(shù)、Java開發(fā)環(huán)境、網(wǎng)站構(gòu)架如Struts,Hibernate,Spring,商用數(shù)據(jù)庫(kù)應(yīng)用、電子商務(wù)、客戶機(jī)/服務(wù)器技術(shù)、Visio與Rational Rose,Sybase powerdesigner軟件工具等內(nèi)容的學(xué)習(xí))、積極探索與大膽創(chuàng)新的機(jī)會(huì)。
(3)使學(xué)生通過(guò)參加小組團(tuán)隊(duì)的開發(fā)實(shí)踐,了解項(xiàng)目管理、團(tuán)隊(duì)協(xié)作、與客戶交流、文檔編寫、口頭與書面表達(dá)的重要性。
(4)使每個(gè)學(xué)生了解軟件工具與環(huán)境對(duì)于項(xiàng)目開發(fā)的重要性,并且重點(diǎn)深入掌握好一、兩種較新或較流行的軟件工具或計(jì)算機(jī)應(yīng)用技術(shù)、技能。
(5)通過(guò)“稍大的”富有挑戰(zhàn)性的軟件設(shè)計(jì)項(xiàng)目開發(fā)實(shí)踐,提高學(xué)生的自學(xué)能力、書面與口頭表達(dá)能力、創(chuàng)造能力和與團(tuán)隊(duì)其他成員交往和協(xié)作開發(fā)軟件的能力,提高學(xué)生今后參與開發(fā)稍大規(guī)模實(shí)際軟件項(xiàng)目和探索未知領(lǐng)域的能力和自信心。
2.課程設(shè)計(jì)內(nèi)容選擇應(yīng)該具有科學(xué)性和與時(shí)俱進(jìn)性。課程設(shè)計(jì)內(nèi)容選擇十分重要,既要體現(xiàn)時(shí)代性,又要體現(xiàn)科學(xué)性和難度的適當(dāng)性,因此要求指導(dǎo)老師對(duì)當(dāng)前軟件開發(fā)領(lǐng)域的整個(gè)動(dòng)態(tài)有總體掌握。下面是我對(duì)當(dāng)前軟件開發(fā)領(lǐng)域進(jìn)行的大致歸類。
(1)網(wǎng)站開發(fā)類:包括休閑娛樂(lè)(音樂(lè),影視,聊天,休閑運(yùn)動(dòng),旅游景點(diǎn)等)網(wǎng)站;工商經(jīng)濟(jì)網(wǎng)站(攝影,日用家居,玩具等);文學(xué)網(wǎng)站(詩(shī)詞/韻文,港臺(tái)文學(xué),民間文學(xué),科幻文學(xué)等);體育與健身網(wǎng)站(極限運(yùn)動(dòng),球類,健美/健身,運(yùn)動(dòng)常識(shí),網(wǎng)球,乒乓球等);衛(wèi)生與健康網(wǎng)站(醫(yī)學(xué)理論,醫(yī)療器械,保健/養(yǎng)生,論壇等);國(guó)家地區(qū)網(wǎng)站(北京,上海,廣東,江蘇,天津等);教育培訓(xùn)網(wǎng)站(小學(xué)/中學(xué)教育,職業(yè)教育,高等教育,教育軟件,培訓(xùn)機(jī)構(gòu)等);其他等類型網(wǎng)站。
(2)應(yīng)用軟件類:如信息管理系統(tǒng),漢字輸入,轉(zhuǎn)換翻譯,文字處理,壓縮解壓,電子閱讀,文檔管理,字體工具,數(shù)據(jù)恢復(fù)等。
(3)系統(tǒng)軟件類:如系統(tǒng)管理,內(nèi)存管理,文件管理,系統(tǒng)測(cè)試工具等。
(4)游戲娛樂(lè)類:如網(wǎng)絡(luò)游戲,Flash游戲,牌和棋游戲等。
(5)其他:如安全病毒,桌面工具等。
這樣,課程設(shè)計(jì)的內(nèi)容可以根據(jù)學(xué)生的興趣和愛好從以上幾方面進(jìn)行選擇,也可以由學(xué)生自己選擇設(shè)計(jì)內(nèi)容,指導(dǎo)老師把握學(xué)生選擇的項(xiàng)目難易程度,同時(shí)提出所要達(dá)到的要求(包括完成日期,演示時(shí)間,學(xué)生所要提交的成果,文檔資料,等等)。
3.課程設(shè)計(jì)項(xiàng)目具體實(shí)施
(1)確定開發(fā)團(tuán)隊(duì)。指導(dǎo)老師在班長(zhǎng)和學(xué)習(xí)委員的協(xié)助下充分了解學(xué)生的興趣、愛好、基本技能和未來(lái)學(xué)生的就業(yè)意向,學(xué)生在教師的指導(dǎo)下,有選擇性地進(jìn)行分組,一般3至5人為一組,并選定好組長(zhǎng)。
(2)確定開發(fā)項(xiàng)目。指導(dǎo)老師給小組成員分配好開發(fā)任務(wù),組長(zhǎng)寫好開發(fā)計(jì)劃進(jìn)程安排并提交指導(dǎo)老師檢查以便及時(shí)修進(jìn)。
(3)中期檢查與指導(dǎo)。指導(dǎo)老師根據(jù)各個(gè)團(tuán)隊(duì)提交的開發(fā)計(jì)劃,對(duì)各團(tuán)隊(duì)開發(fā)項(xiàng)目進(jìn)程定期進(jìn)行中期檢查,檢查各團(tuán)隊(duì)的項(xiàng)目進(jìn)展情況,包括各個(gè)小組的開會(huì)記錄,所查閱的資料,當(dāng)前所遇到的困難,協(xié)助與指導(dǎo)小組面對(duì)困難所要采取的解決方法等。
(4)成果提交與演示。課程設(shè)計(jì)結(jié)束時(shí)指導(dǎo)老師要求按時(shí)提交項(xiàng)目的相關(guān)成果,并組織小組團(tuán)隊(duì)進(jìn)行演示與簡(jiǎn)短的答辯。演示過(guò)程要求學(xué)生用5―10分鐘時(shí)間敘述設(shè)計(jì)原理、過(guò)程、系統(tǒng)運(yùn)行的情況和體會(huì),敘述完畢后由指導(dǎo)老師或其他小組成員提問(wèn),指導(dǎo)老師和小組成員記錄該學(xué)生演示情況和回答問(wèn)題的情況,并以此作為下一階段評(píng)定該學(xué)生成績(jī)的一部分。
本文為全文原貌 未安裝PDF瀏覽器用戶請(qǐng)先下載安裝 原版全文
4.建立合理,科學(xué)公正的評(píng)價(jià)體系。為了對(duì)每個(gè)開發(fā)團(tuán)隊(duì)中的成員成績(jī)有個(gè)公正、公平和合理的成績(jī),因此必須建立合理、科學(xué)、公正的評(píng)價(jià)體系,本文建立的評(píng)價(jià)體系包括:學(xué)生提交成果,學(xué)生演示與答辯,學(xué)生自評(píng)與互評(píng),教師評(píng)分。學(xué)生提交成果根據(jù)表1學(xué)生所承擔(dān)的角色來(lái)交付;學(xué)生演示與答辯重點(diǎn)體現(xiàn)對(duì)系統(tǒng)的原理、過(guò)程、結(jié)論,以及開發(fā)體會(huì)進(jìn)行表述;學(xué)生自評(píng)和互評(píng)體現(xiàn)了學(xué)生的自我認(rèn)同和互相認(rèn)同感;最后是教師的評(píng)分,教師的評(píng)定從以下幾方面全面考慮:(1)學(xué)習(xí)態(tài)度是否端正,總體表現(xiàn);(2)項(xiàng)目組織是否有條理,協(xié)作程度;(3)軟件系統(tǒng)文檔資料表達(dá)格式是否規(guī)范、符合要求,表達(dá)是否準(zhǔn)確、完整、簡(jiǎn)單明了;(4)系統(tǒng)結(jié)構(gòu)是否合理,功能是否正確,人機(jī)界面是否友好;除了符合上列基本要求具體評(píng)定可以參見下表1。最后學(xué)生的總評(píng)定成績(jī)?yōu)?0.4×教師評(píng)定分+0.2×學(xué)生互評(píng)分+0.2×學(xué)生演示與答辯評(píng)分+0.2×學(xué)生自評(píng)分。
表1 評(píng)定標(biāo)準(zhǔn)
四、結(jié)語(yǔ)
軟件工程課程設(shè)計(jì)是一門理論與實(shí)踐相結(jié)合的應(yīng)用性很強(qiáng)課程,我結(jié)合自身從事軟件開發(fā)的經(jīng)驗(yàn)和多年的教學(xué),從以上幾個(gè)方面探索了該課程的教學(xué)模式,在實(shí)踐工作中雖然取得了一定的成效,獲得了學(xué)生的認(rèn)可與好評(píng),但仍處于嘗試和探索階段。在實(shí)際指導(dǎo)過(guò)程中還存在不少問(wèn)題,例如:個(gè)別學(xué)生的積極主動(dòng)性不夠,存在抄襲設(shè)計(jì)成果現(xiàn)象,等等。這些都需要繼續(xù)努力,尤其是隨著軟件產(chǎn)業(yè)的飛速發(fā)展,如何培養(yǎng)高素質(zhì)軟件人才,對(duì)教師來(lái)說(shuō)更是一種挑戰(zhàn)。因此,教師應(yīng)不斷學(xué)習(xí)新的知識(shí),提升自身的能力,把握學(xué)科的最新發(fā)展動(dòng)態(tài),探索新的教學(xué)模式,深化實(shí)踐教學(xué)改革,為我國(guó)教育事業(yè)作出更大的貢獻(xiàn)。
參考文獻(xiàn):
[1]張海藩.軟件工程導(dǎo)論(第5版)[M].北京:清華大學(xué)出版社,2008:55-73.
[2]張引,楊小虎,陳越.“軟件工程”課程實(shí)踐中激勵(lì)機(jī)制的探索[J].計(jì)算機(jī)教育,2007,(5):30-32.
[3]江頡,石曉耀.面向?qū)ο蟮能浖こ套灾鲗?shí)驗(yàn)教學(xué)改革[J].實(shí)驗(yàn)技術(shù)與管理,2007,24(7):112-114.
[4]王薇.軟件工程課程體系研究[J].計(jì)算機(jī)教育,2007,(8):31-32.
[5]巫華芳.軟件工程教學(xué)案例設(shè)計(jì)初探[J].教育與職業(yè),2007,(11):139-140.
1背景
中國(guó)信息產(chǎn)業(yè)部的數(shù)據(jù)顯示,2008年中國(guó)軟件產(chǎn)業(yè)整體保持快速增長(zhǎng)態(tài)勢(shì),累計(jì)完成軟件業(yè)務(wù)收入7572.9億元,同比增長(zhǎng)29.8%。與此同時(shí),我國(guó)軟件出口142億美元,同比增長(zhǎng)39%。企業(yè)對(duì)軟件人才需求量在增大,估計(jì)人才缺口達(dá)到20萬(wàn),而且這個(gè)需求將以每年20%左右的速度增長(zhǎng)[1]。但另一方面,多數(shù)軟件類應(yīng)屆畢業(yè)生在面臨就業(yè)時(shí)卻難以感受到這些數(shù)字所帶來(lái)的欣慰,很多畢業(yè)生并沒(méi)有順利找到對(duì)口的工作。雖然這些學(xué)生身份上屬于工程技術(shù)類的應(yīng)用型人才,在目前IT產(chǎn)業(yè)蓬勃發(fā)展的大環(huán)境下理應(yīng)有自己的一席之地,但結(jié)果卻是“畢業(yè)即失業(yè)”表現(xiàn)得愈加突出。
軟件工程專業(yè)具有巨大的發(fā)展?jié)摿?但如何建設(shè)好軟件工程專業(yè)?長(zhǎng)期以來(lái),國(guó)內(nèi)高校軟件專業(yè)主要以培養(yǎng)研究型人才為重點(diǎn),以軟件基礎(chǔ)理論和系統(tǒng)軟件設(shè)計(jì)為主干,目標(biāo)是培養(yǎng)面向計(jì)算機(jī)與系統(tǒng)軟件領(lǐng)域的研究型人才[2]。因此如何建立保證軟件工程專業(yè)本科學(xué)生既具有可持續(xù)發(fā)展?jié)摿τ诌m應(yīng)當(dāng)前產(chǎn)業(yè)需求的新型知識(shí)體系,如何建立與企業(yè)應(yīng)用緊密結(jié)合的先進(jìn)課程體系、教學(xué)理念和教學(xué)方法,從而提高學(xué)生的綜合能力,使畢業(yè)生在跨出校門時(shí)具備必需的素質(zhì),縮短從學(xué)生到企業(yè)員工的角色轉(zhuǎn)換所需的時(shí)間,實(shí)現(xiàn)就業(yè)的“零適應(yīng)期”是軟件工程專業(yè)努力的目標(biāo)。
國(guó)外高校在軟件工程教育方面的一個(gè)共同點(diǎn)就是:根據(jù)各自國(guó)家和學(xué)校的特點(diǎn),立足學(xué)生長(zhǎng)遠(yuǎn)發(fā)展,培養(yǎng)適應(yīng)社會(huì)需要與變化的人才。從軟件教育的特點(diǎn)來(lái)看,西方著名大學(xué)有較完善的教育理念、教學(xué)手段和實(shí)驗(yàn)條件,有較長(zhǎng)時(shí)間的實(shí)施經(jīng)驗(yàn),與企業(yè)有密切的合作關(guān)系,有一大批專家在從事計(jì)算機(jī)與軟件的教育研究。這些大學(xué)的課程與我國(guó)現(xiàn)行的計(jì)算機(jī)和軟件課程體系相比,理論更深,與新技術(shù)的接軌更快,實(shí)驗(yàn)和職業(yè)實(shí)踐的比重更大,通過(guò)實(shí)驗(yàn)讓學(xué)生掌握基本概念、提高分析問(wèn)題與解決問(wèn)題能力的力度更大。
國(guó)內(nèi)高校軟件專業(yè)主要以培養(yǎng)研究型人才為重點(diǎn),以軟件基礎(chǔ)理論和系統(tǒng)軟件設(shè)計(jì)為主干,目標(biāo)是培養(yǎng)面向計(jì)算機(jī)與系統(tǒng)軟件領(lǐng)域的研究型人才。軟件專業(yè)學(xué)生在學(xué)生學(xué)科知識(shí)與實(shí)際運(yùn)用有一定的距離。因此探討如何建立符合國(guó)情,既面向當(dāng)前產(chǎn)業(yè)需要又兼顧本專業(yè)學(xué)生發(fā)展?jié)摿Φ闹R(shí)體系、課程體系,是我們研究的主要內(nèi)容。
2模塊化的課程體系
我校軟件工程專業(yè)申辦于2004年,并于2008年開始招生。該專業(yè)成立的宗旨是培養(yǎng)高層次、實(shí)用型、復(fù)合型、具有國(guó)際競(jìng)爭(zhēng)力的軟件人才,要求學(xué)生在思維創(chuàng)新的基礎(chǔ)上,提高技術(shù)創(chuàng)新和工程創(chuàng)新能力,提高軟件工程實(shí)踐和軟件工程管理能力。我校在設(shè)置軟件工程專業(yè)課程體系方面學(xué)習(xí)全國(guó)名牌大學(xué)如復(fù)旦、浙大等,并結(jié)合自己硬件及師資條件的實(shí)際,提出了如下幾個(gè)設(shè)想:
(1) 合理設(shè)置課程模塊,突出核心基礎(chǔ)。
在軟件工程領(lǐng)域,最新的、先進(jìn)的軟件技術(shù)文檔、技術(shù)文獻(xiàn)、發(fā)展研究等都是英文撰寫的資料;合資、外資公司中的軟件工程人員所使用的工作語(yǔ)言也是英語(yǔ)。因此在第一至第四學(xué)期我們對(duì)學(xué)生的英語(yǔ)能力進(jìn)行強(qiáng)化訓(xùn)練,通過(guò)閱讀、聽力、寫作和口語(yǔ)交流等方式提高其英語(yǔ)運(yùn)用能力;在第二學(xué)期開始的所有專業(yè)基礎(chǔ)課程、專業(yè)核心課程和專業(yè)選修課程中加入一定比例的專業(yè)英語(yǔ)訓(xùn)練,將英語(yǔ)融入到專業(yè)理論知識(shí)學(xué)習(xí)的過(guò)程中;同時(shí)開設(shè)幾門專業(yè)課采用全英文教材,實(shí)行雙語(yǔ)教學(xué),達(dá)到鞏固和不斷提高的目的,為學(xué)生動(dòng)手編寫英文程序代碼,查閱英文技術(shù)文獻(xiàn)、文檔掃除語(yǔ)言障礙。
(2) 合理設(shè)置專業(yè)入門基礎(chǔ)課程模塊,以引導(dǎo)為主。
以計(jì)算機(jī)導(dǎo)論為主,并以設(shè)置類型多樣、專業(yè)覆蓋面廣的專業(yè)基礎(chǔ)知識(shí)講座或新生研討課為輔,學(xué)生學(xué)習(xí)了計(jì)算機(jī)最基本的概念后,通過(guò)生動(dòng)有趣的講座獲得更廣的認(rèn)識(shí)和了解。
(3) 合理設(shè)置專業(yè)核心課程模塊,以應(yīng)用為主。
專業(yè)核心課程關(guān)系到培養(yǎng)出來(lái)的軟件工程人才質(zhì)量。針對(duì)計(jì)算機(jī)學(xué)科需要,應(yīng)設(shè)置相應(yīng)的軟件系統(tǒng)類課程、軟件實(shí)現(xiàn)類課程、軟件工程類課程以及相應(yīng)課程的課程設(shè)計(jì)、實(shí)際項(xiàng)目開發(fā)為核心的軟件設(shè)計(jì)及實(shí)現(xiàn)類的實(shí)踐類課程。
(4) 設(shè)置專業(yè)方向選修課程,突出個(gè)性化發(fā)展。
結(jié)合時(shí)代需求,結(jié)合學(xué)生個(gè)性化發(fā)展需求,設(shè)置多個(gè)專業(yè)方向的模塊化課程。設(shè)置跨大類專業(yè)選修課程,如計(jì)算機(jī)組成原理、編譯原理和軟件體系結(jié)構(gòu)等;設(shè)置專業(yè)方向選修課程,如軟件開發(fā)案例分析、軟件開發(fā)新技術(shù)、軟件文檔寫作等課程。學(xué)生可按需選修1~2個(gè)專業(yè)方向,有利于其發(fā)揮專業(yè)創(chuàng)新能力和專業(yè)個(gè)性化發(fā)展。
目前,我校軟件工程專業(yè)課程體系架構(gòu)如圖1所示。
3實(shí)踐教學(xué)體系
我院除設(shè)置模塊化的課程體系外,還非常注重實(shí)踐教學(xué),并且構(gòu)建了以項(xiàng)目為支撐的實(shí)踐教學(xué)體系,具體開設(shè)與實(shí)踐教學(xué)有關(guān)的課程如下:
第二個(gè)學(xué)期開設(shè)認(rèn)識(shí)實(shí)習(xí);
第三個(gè)學(xué)期開設(shè)面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì);
第四個(gè)學(xué)期開設(shè)數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)以及.NET程序開發(fā)技術(shù)課程設(shè)計(jì);
第五個(gè)學(xué)期開設(shè)Java語(yǔ)言課程設(shè)計(jì)以及UML建模工具及應(yīng)用課程設(shè)計(jì);
第六個(gè)學(xué)期開設(shè)J2EE技術(shù)課程設(shè)計(jì)及大型數(shù)據(jù)庫(kù)課程設(shè)計(jì);
第七個(gè)學(xué)期開設(shè)軟件開發(fā)新技術(shù)課程設(shè)計(jì);
第八個(gè)學(xué)期畢業(yè)設(shè)計(jì)。
針對(duì)合格的工程化軟件人才所應(yīng)具備的個(gè)人開發(fā)能力、團(tuán)隊(duì)開發(fā)能力、系統(tǒng)研發(fā)能力和設(shè)備應(yīng)用能力,我們?cè)O(shè)計(jì)了以下4類階梯狀的工程實(shí)踐課程。
程序設(shè)計(jì)實(shí)踐課程:培養(yǎng)個(gè)人級(jí)工程項(xiàng)目開發(fā)能力,如面向過(guò)程程序設(shè)計(jì)(C語(yǔ)言),面向?qū)ο蟪绦蛟O(shè)計(jì)(C++語(yǔ)言)等課程設(shè)計(jì)。
軟件工程實(shí)踐課程:培養(yǎng)團(tuán)隊(duì)合作級(jí)工程項(xiàng)目研發(fā)能力,如.NET程序開發(fā)技術(shù)、J2EE技術(shù)、嵌入式軟件開發(fā)(J2ME)等課程設(shè)計(jì)。
信息系統(tǒng)實(shí)踐課程:培養(yǎng)系統(tǒng)級(jí)工程項(xiàng)目研發(fā)能力,如軟件開發(fā)案例分析、面向?qū)ο笙到y(tǒng)分析與設(shè)計(jì)、大型數(shù)據(jù)庫(kù)應(yīng)用等課程設(shè)計(jì)。
畢業(yè)設(shè)計(jì)實(shí)踐課程:培養(yǎng)開發(fā)軟件所必備的設(shè)備應(yīng)用能力,如軟件開發(fā)新技術(shù)課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)實(shí)踐等。
我們感覺(jué)軟件方面的技術(shù)五花八門,因此在專業(yè)核心課程設(shè)置上,注意其側(cè)重點(diǎn)。我們將Java網(wǎng)絡(luò)程序開發(fā)定為主要的教學(xué)方向,其中包括Java程序設(shè)計(jì)語(yǔ)言、網(wǎng)絡(luò)軟件開發(fā)技術(shù)、J2EE技術(shù)、以J2ME為主的嵌入式軟件開發(fā)技術(shù)等。當(dāng)然,我們兼顧企業(yè)實(shí)際用人的情況,開設(shè)了.NET程序開發(fā)技術(shù)等核心課程,詳細(xì)的專業(yè)課程體系請(qǐng)參見圖1。
4探索式學(xué)習(xí)
軟件工程的理論和方法是從眾多軟件開發(fā)實(shí)踐中總結(jié)出來(lái)的,但是對(duì)于缺乏軟件開發(fā)實(shí)際經(jīng)驗(yàn)的本科生來(lái)說(shuō),單純地講授理論知識(shí)往往使學(xué)生感到枯燥無(wú)味且難以理解。因此,我們收集和總結(jié)了一些軟件開發(fā)案例,將這些案例貫穿于理論知識(shí)的講解中,使學(xué)生真正理解這些理論知識(shí),建立軟件開發(fā)的系統(tǒng)化與工程化觀念和質(zhì)量意識(shí)。
(1) 從分析歷史上的經(jīng)典案例入手,諸如愛國(guó)者導(dǎo)彈、網(wǎng)絡(luò)病毒攻擊等。深入剖析導(dǎo)致軟件失敗的根本原因,從而引出軟件開發(fā)的工程化發(fā)展方向,即以軟件工程的原理和方法為指導(dǎo),嚴(yán)格遵循軟件過(guò)程規(guī)范和步驟。通過(guò)這些實(shí)例的分析,學(xué)生們逐漸改變軟件開發(fā)等于編寫程序代碼的錯(cuò)誤觀念,開始認(rèn)識(shí)到軟件工程的重要性,有利于培養(yǎng)工程化的意識(shí)和觀念。
(2) 軟件過(guò)程是軟件工程課程中的一個(gè)重要內(nèi)容,但是對(duì)于開發(fā)經(jīng)驗(yàn)有限的本科生來(lái)說(shuō),很難在頭腦中將軟件過(guò)程的抽象模型與實(shí)際開發(fā)聯(lián)系起來(lái),容易產(chǎn)生枯燥乏味的感覺(jué)。在教學(xué)過(guò)程中,我們從軟件開發(fā)的實(shí)際案例中總結(jié)出5個(gè)不同的軟件系統(tǒng),結(jié)合這些系統(tǒng)的特點(diǎn)和開發(fā)策略,講解瀑布模型、原型化方法、增量模型、形式化方法和基于組件的開發(fā)模型等。學(xué)生在思考、分析和討論過(guò)程中更好地理解和體會(huì)軟件過(guò)程的基本概念,有利于在實(shí)際開發(fā)中運(yùn)用這些過(guò)程模型組織開發(fā)過(guò)程。
(3) 研究軟件工程的實(shí)踐特點(diǎn),課程實(shí)驗(yàn)結(jié)合實(shí)際開發(fā)因素和參與樂(lè)趣。實(shí)踐教學(xué)是本課程的一個(gè)重要的組成部分,它要求學(xué)生以開發(fā)團(tuán)隊(duì)(一個(gè)團(tuán)隊(duì)通常由3~5人組成)的方式開發(fā)一個(gè)具有一定規(guī)模的軟件系統(tǒng),側(cè)重培養(yǎng)學(xué)生發(fā)現(xiàn)問(wèn)題、獨(dú)立分析問(wèn)題和解決問(wèn)題的能力以及團(tuán)隊(duì)合作精神,使學(xué)生初步體會(huì)到一個(gè)軟件開發(fā)項(xiàng)目全過(guò)程。
(4) 研究和建立適合小組式開發(fā)的軟件工程環(huán)境。在小組式的軟件工程環(huán)境中,使學(xué)生真正體驗(yàn)到一種有序的、可控的、協(xié)作的軟件開發(fā)過(guò)程,在分析問(wèn)題、解決問(wèn)題、協(xié)調(diào)沖突、消除矛盾的過(guò)程中享受軟件開發(fā)成功的最終結(jié)果。軟件工程實(shí)驗(yàn)要求學(xué)生采用“項(xiàng)目小組”的形式,結(jié)合具體的開發(fā)項(xiàng)目進(jìn)行設(shè)計(jì),班級(jí)按項(xiàng)目小組進(jìn)行分組,每組不得超過(guò)4人。每個(gè)項(xiàng)目小組選出項(xiàng)目負(fù)責(zé)人或項(xiàng)目經(jīng)理,由其召集項(xiàng)目組成員討論、選定開發(fā)項(xiàng)目。學(xué)生分工合作,學(xué)習(xí)軟件開發(fā)小組的組織和管理,將項(xiàng)目開發(fā)各階段的任務(wù)明確,熟悉軟件開發(fā)環(huán)境,培養(yǎng)團(tuán)隊(duì)精神,共同完成該項(xiàng)目的設(shè)計(jì)任務(wù)。項(xiàng)目中的每項(xiàng)任務(wù)要落實(shí)到個(gè)人,實(shí)驗(yàn)在規(guī)定的時(shí)間內(nèi),由學(xué)生獨(dú)立完成。
在整個(gè)教學(xué)過(guò)程中,我們也十分注重鼓勵(lì)和引導(dǎo)探索式學(xué)習(xí),學(xué)生通過(guò)文獻(xiàn)查閱以及與軟件企業(yè)人員的接觸交流,真正體會(huì)當(dāng)前軟件工程業(yè)界的真實(shí)案例和最佳實(shí)踐。課堂講解避免“一言談”的死板方式,采取課堂互動(dòng)討論,營(yíng)造活躍、寬松的課堂氣氛,鼓勵(lì)學(xué)生結(jié)合課程實(shí)踐中的問(wèn)題進(jìn)行專題報(bào)告和軟件演示。
在常規(guī)的課堂教學(xué)之外,我們輔之以網(wǎng)絡(luò)課程和擴(kuò)展資源,鼓勵(lì)學(xué)生根據(jù)個(gè)人興趣和需要進(jìn)行自主式的學(xué)習(xí)。同時(shí),充分利用網(wǎng)絡(luò)教學(xué)平臺(tái),加強(qiáng)師生之間的交流和學(xué)生之間的協(xié)作,引導(dǎo)學(xué)生積極思考和參與討論,教師由知識(shí)的灌輸者成為學(xué)習(xí)的引導(dǎo)者,學(xué)生由被動(dòng)地接受教育變成主動(dòng)地探索知識(shí)。
5改革目標(biāo)
我校軟件工程專業(yè)以培養(yǎng)掌握計(jì)算機(jī)科學(xué)基礎(chǔ)理論、軟件工程的知識(shí)和技能,具有軟件開發(fā)能力、軟件開發(fā)實(shí)踐和項(xiàng)目組織的初步經(jīng)驗(yàn),具有競(jìng)爭(zhēng)和團(tuán)隊(duì)精神,能在計(jì)算機(jī)公司及相關(guān)企事業(yè)單位從事軟件開發(fā)、適應(yīng)軟件技術(shù)發(fā)展和社會(huì)需求的軟件工程應(yīng)用型高級(jí)專門人才為目標(biāo)。我校在人才培養(yǎng)堅(jiān)持遵循以下原則。
(1) 堅(jiān)持通識(shí)教育與專業(yè)教育結(jié)合原則,即通識(shí)教育課程要著眼于加強(qiáng)學(xué)生的基礎(chǔ)知識(shí)教育,著眼于培養(yǎng)學(xué)生的科學(xué)素養(yǎng)和人文精神[3]。
(2) 堅(jiān)持以人為本,因材施教原則,即在保證人才培養(yǎng)目標(biāo)和質(zhì)量規(guī)格要求的基礎(chǔ)上,充分考慮因材施教,注重學(xué)生個(gè)性的發(fā)展,擴(kuò)大學(xué)生自主學(xué)習(xí)、自主發(fā)展的時(shí)空,面向社會(huì)和學(xué)生多樣化需求,提供多樣化的課程體系和教育指導(dǎo),為不同志向、不同能力和不同潛質(zhì)的學(xué)生創(chuàng)造相應(yīng)的培養(yǎng)環(huán)境和條件。通過(guò)柔性設(shè)置專業(yè)方向模塊,讓學(xué)生結(jié)合自身興趣、就業(yè)志向和人才市場(chǎng)需求,靈活地選擇發(fā)展方向,以增強(qiáng)專業(yè)方向優(yōu)勢(shì)、職業(yè)適應(yīng)性建立完善的、與課程體系配套的實(shí)訓(xùn)、培訓(xùn)的“雙訓(xùn)”教學(xué)體系,使培養(yǎng)的人才更加適應(yīng)社會(huì)和企業(yè)的需求。
(3) 堅(jiān)持應(yīng)用為本,學(xué)以致用原則,即以學(xué)校辦學(xué)定位和服務(wù)面向?yàn)橹改?立足于培養(yǎng)應(yīng)用型高級(jí)專門人才的目標(biāo),強(qiáng)化理論與實(shí)踐的結(jié)合,著力培養(yǎng)學(xué)生的創(chuàng)新精神和實(shí)踐能力。在實(shí)踐教學(xué)體系的設(shè)計(jì)上,按照基礎(chǔ)、提高、綜合3個(gè)層次和基本實(shí)驗(yàn)、技能訓(xùn)練、專業(yè)實(shí)習(xí)、科研訓(xùn)練、綜合實(shí)習(xí)、社會(huì)實(shí)踐6大模塊構(gòu)建創(chuàng)新精神和實(shí)踐能力培養(yǎng)體系。
(4) 建立一套以軟件工程為主線的教學(xué)、實(shí)訓(xùn)評(píng)估標(biāo)準(zhǔn),以確保人才培養(yǎng)目標(biāo)的實(shí)現(xiàn)。
6結(jié)語(yǔ)
我們認(rèn)為,計(jì)算機(jī)科學(xué)技術(shù)的快速發(fā)展以及企業(yè)對(duì)人才的多元化需求要求我們將新的知識(shí)單元及時(shí)引進(jìn)課程體系中,使課程體系的設(shè)置要有超前和發(fā)展的眼光,隨時(shí)將一些新興的、成熟的內(nèi)容吸收進(jìn)課堂教學(xué),做到對(duì)課程體系、教學(xué)計(jì)劃動(dòng)態(tài)調(diào)整,保持課程體系的動(dòng)態(tài)性、前瞻性。
軟件工程專業(yè)課程體系必須建立在對(duì)軟件工程專業(yè)人才的知識(shí)結(jié)構(gòu)和綜合素質(zhì)的全面研究之上。按照軟件工程專業(yè)人才培養(yǎng)目標(biāo)和國(guó)內(nèi)外軟件工程人才的需求,培養(yǎng)出的人才的知識(shí)結(jié)構(gòu)域應(yīng)該包括軟件開發(fā)新技術(shù)、現(xiàn)代軟件工程、工程領(lǐng)域背景技術(shù)3個(gè)主要部分[4]。我們還將在課程體系設(shè)置、教學(xué)方法、教材編寫等諸多方面,充分學(xué)習(xí)、借鑒和吸收發(fā)達(dá)國(guó)家計(jì)算機(jī)教育教學(xué)的先進(jìn)經(jīng)驗(yàn)。
注:本文受“以社會(huì)需求為導(dǎo)向的軟件工程專業(yè)課程體系改革的研究”(校級(jí)重點(diǎn)教改課題)支持。
參考文獻(xiàn):
[1] 王晴. 印度軟件業(yè)崛起原因及其對(duì)我國(guó)產(chǎn)業(yè)結(jié)構(gòu)升級(jí)的啟示[J]. 生產(chǎn)力研究,2007(3):104-106.
[2] 吳愛華. 全國(guó)高校軟件工程專業(yè)教育年會(huì)論文集(2007)[M]// 適應(yīng)時(shí)展 推進(jìn)高等理工科教育改革. 北京:高等教育出版社,2008.
[3] 楊芙清. 全國(guó)高校軟件工程專業(yè)教育年會(huì)論文集(2007)[M]// 軟件工程教育的思索與實(shí)踐. 北京:高等教育出版社,2008.
[4] 李彤. 軟件工程人才培養(yǎng)的實(shí)踐與思考[J]. 計(jì)算機(jī)教育,2004(10):15-17.
Research on Professional Curriculum Reform of Software Engineering
about Social Requirement-oriented
WEN Zhi-cheng1, CAO Chun-li2
(1.College of Computer and Communication, Hunan University of Technology, Zhuzhou 412008, China;
課堂案例,用于教師理論授課使用,軟件工程課程通常講授兩種軟件開發(fā)方法:面向?qū)ο蟮能浖_發(fā)方法和面向過(guò)程的軟件開發(fā)方法,教學(xué)中采用一至兩個(gè)案例(如:學(xué)生學(xué)籍管理系統(tǒng)、校園信息服務(wù)平臺(tái)系統(tǒng)等)貫穿軟件需求到軟件實(shí)現(xiàn)每個(gè)階段。講面向過(guò)程軟件設(shè)計(jì)方法時(shí),采用Visio、ER-WIN、PowerDesigner等工具,使學(xué)生在案例中明白數(shù)據(jù)流圖、數(shù)據(jù)字典、E-R圖、軟件模塊圖如何正確、規(guī)范的繪制以及它們所起的作用。當(dāng)講面向?qū)ο筌浖_發(fā)方法時(shí),使用當(dāng)前工業(yè)界公認(rèn)的最佳軟件開發(fā)方法,即UML建模語(yǔ)言與RUP統(tǒng)一過(guò)程,采用RationalRose、Star-UML、Eclipse等CASE工具,繪制用例圖、活動(dòng)圖、分析階段類圖、時(shí)序圖(協(xié)作圖)、設(shè)計(jì)階段的類圖、數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)圖、構(gòu)件圖和部署圖。通過(guò)一個(gè)案例的兩種實(shí)現(xiàn)方法,不僅使學(xué)生知道它們間的區(qū)別和聯(lián)系,而且學(xué)生更清楚在軟件的生命周期的各個(gè)階段建立哪種模型,為何要建立,而不是將所有的圖堆積起來(lái)就是為系統(tǒng)分析建模、不是為了畫圖而畫圖,即不僅要知其然,更要知其所以然。
小組項(xiàng)目案例,是在課程的第一節(jié)課要求學(xué)生以4-5人的規(guī)模按照自愿或興趣進(jìn)行分組,每個(gè)小組按照教師布置或自選身邊的、有實(shí)際應(yīng)用價(jià)值、可調(diào)研的項(xiàng)目,進(jìn)行分析、設(shè)計(jì)和實(shí)現(xiàn)。小組項(xiàng)目案例是與課堂案例穿行的,即學(xué)生在課堂每學(xué)完一種軟件開發(fā)方法后,課后利用所學(xué)的知識(shí)(特別強(qiáng)調(diào)CASE工具的使用)對(duì)本課題小組的項(xiàng)目進(jìn)行實(shí)踐,例如:在課堂上學(xué)習(xí)了面向?qū)ο蠓椒▽W(xué)對(duì)“學(xué)生學(xué)籍管理系統(tǒng)”案例進(jìn)行規(guī)范的需求分析、設(shè)計(jì)的建模后,要求學(xué)生同步完成自己項(xiàng)目相應(yīng)的內(nèi)容,即利用CASE工具畫用例圖、類圖等完成系統(tǒng)的需求、設(shè)計(jì)文檔,其他內(nèi)容均依此方法開展教學(xué)。為了更好激發(fā)學(xué)生的學(xué)習(xí)積極性和主動(dòng)性,同時(shí)為了避免學(xué)生抄襲現(xiàn)象,利用我們自己開發(fā)的隨機(jī)選組軟件,讓學(xué)生以小組的形式在課堂上進(jìn)行現(xiàn)場(chǎng)答辯,組長(zhǎng)作為該項(xiàng)目的經(jīng)理,組員作為開發(fā)人員,教師和其余學(xué)生作為用戶,首先組長(zhǎng)介紹項(xiàng)目的開發(fā)背景、意義,項(xiàng)目的分工,需求調(diào)研的單位、調(diào)研對(duì)象,與客戶的交流并記錄情況,然后小組成員依次介紹自己的工作,最后由組長(zhǎng)總結(jié),并回答用戶提出的問(wèn)題。通過(guò)上述的“實(shí)戰(zhàn)”,讓學(xué)生加入到評(píng)價(jià)的行列中來(lái),不僅活躍了課堂氣氛,調(diào)動(dòng)了他們的積極性,強(qiáng)化學(xué)生間的競(jìng)爭(zhēng)意識(shí),而且通過(guò)了解其他同學(xué)項(xiàng)目完成情況,并與自己做的進(jìn)行比對(duì),找出差距和不足,同時(shí)也挖掘?qū)W生的創(chuàng)新能力,提高了教學(xué)效果。正像學(xué)生事后的總結(jié)中這樣寫道:“在小組項(xiàng)目開發(fā)期間,我們對(duì)軟件工程有了新的理解,軟件開發(fā)不僅僅是單一的編程過(guò)程,它包括了需求分析,概要設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼,測(cè)試,維護(hù),編程只是其中的一小部分……;使我們深深地體會(huì)到,理論源于實(shí)踐,實(shí)踐見真知……;只有真正明白用戶的需求,才能開發(fā)出能用,有價(jià)值的產(chǎn)品,如果開發(fā)出來(lái)的產(chǎn)品不能滿足用戶的需求,那么這個(gè)產(chǎn)品也就失去了存在的價(jià)值……;軟件開發(fā),重在團(tuán)隊(duì)合作,單獨(dú)一個(gè)人是完成不了任務(wù)的,我們真正體會(huì)到什么是團(tuán)隊(duì)協(xié)作,真正的了解到團(tuán)隊(duì)合作的有利之處,真正感受到團(tuán)隊(duì)成員為了共同的目標(biāo)聯(lián)合在一起時(shí)的強(qiáng)大的力量,只有互相之間默契融洽的配合才能換來(lái)最終完美的結(jié)果”。CDIO所倡導(dǎo)的團(tuán)隊(duì)協(xié)作能力、交流能力,創(chuàng)新能力,在小組項(xiàng)目案例實(shí)施中得到了很好的鍛煉。
CDIO模式下課程設(shè)計(jì)的實(shí)施
作為宏觀、全局性的教育策略CDIO工程教育理念,強(qiáng)調(diào)知識(shí)的關(guān)聯(lián)性,著重培養(yǎng)學(xué)生實(shí)際問(wèn)題的解決能力和個(gè)人工程素質(zhì)。軟件工程專業(yè)人才培養(yǎng)要求之一就是工程型專業(yè)人才培養(yǎng),教育部的“質(zhì)量工程”也提出改革與創(chuàng)新實(shí)踐教學(xué)與人才培養(yǎng)模式。為期2周的軟件工程課程設(shè)計(jì)是軟件工程課程的延續(xù),是強(qiáng)化實(shí)踐環(huán)節(jié)、培養(yǎng)學(xué)生工程素質(zhì)以及加強(qiáng)學(xué)生所學(xué)知識(shí)的前后關(guān)聯(lián)的重要舉措。軟件工程課程設(shè)計(jì),需要學(xué)生能將所學(xué)的面向?qū)ο蟮能浖_發(fā)方法、開發(fā)過(guò)程RUP、CASE工具、軟件項(xiàng)目管理CMM、面向?qū)ο缶幊陶Z(yǔ)言和數(shù)據(jù)庫(kù)管理系統(tǒng)SQLServer/Oracle結(jié)合起來(lái)進(jìn)行軟件開發(fā),為學(xué)生畢業(yè)后從事軟件開發(fā)和管理工作打下堅(jiān)實(shí)的基礎(chǔ)。
1.課程設(shè)計(jì)的內(nèi)容軟件工程課程設(shè)計(jì)的實(shí)施方案見表1-1所示。2.基于CDIO的考核方式CDIO教育模式主要培養(yǎng)學(xué)生的八種能力:工程能力、職業(yè)道德、學(xué)術(shù)知識(shí)和運(yùn)用知識(shí)解決問(wèn)題能力、終生學(xué)習(xí)能力、團(tuán)隊(duì)協(xié)作能力、交流能力和大系統(tǒng)掌控能力。
軟件工程課程設(shè)計(jì)為檢測(cè)學(xué)生的上述能力搭建了平臺(tái),教師在軟件開發(fā)的各階段提出目標(biāo)和任務(wù),促使學(xué)生獨(dú)立分析思考、相互交流討論,敢于實(shí)踐創(chuàng)新和探索解決問(wèn)題的途徑,提高了學(xué)生工程應(yīng)用能力,在實(shí)踐中理解軟件工程師應(yīng)該具有的職業(yè)道德,較好避免傳統(tǒng)的考試只能單一測(cè)試學(xué)生對(duì)知識(shí)的記憶程度。軟件工程課程設(shè)計(jì)的最終成績(jī)?cè)u(píng)定是:平時(shí)成績(jī)20%(重點(diǎn)考察學(xué)生的職業(yè)素養(yǎng)、交流、獨(dú)立分析思考能力),設(shè)計(jì)成績(jī)30%(重點(diǎn)考察學(xué)生的工程能力、運(yùn)用知識(shí)解決問(wèn)題能力),答辯成績(jī)50%(重點(diǎn)考查學(xué)生的團(tuán)隊(duì)協(xié)作能力、表達(dá)能力、創(chuàng)新能力)。
軟件工程專業(yè)在我國(guó)高等院校還是一個(gè)很不成熟的專業(yè),比起傳統(tǒng)的工科專業(yè)來(lái)說(shuō),軟件工程專業(yè)有更多的技術(shù)成分,因此,我們的教學(xué)體系和模式就要有別于傳統(tǒng)的教學(xué)體系和模式。實(shí)踐教學(xué)體系是否合適將直接影響軟件工程專業(yè)畢業(yè)生的質(zhì)量。對(duì)于重點(diǎn)院校軟件專業(yè)和軟件學(xué)院實(shí)踐教學(xué)體系已有很多專家學(xué)者進(jìn)行了研究與實(shí)踐[1-3],而普通院校無(wú)論是師資,還是其他教學(xué)資源,都不能與重點(diǎn)院校相比[4-5],應(yīng)該有一套有別于重點(diǎn)院校的實(shí)踐教學(xué)體系。本文將對(duì)普通院校軟件工程專業(yè)實(shí)踐教學(xué)體系的構(gòu)建進(jìn)行探討,并結(jié)合我院軟件工程專業(yè)實(shí)踐教學(xué)體系進(jìn)行總結(jié)。
1實(shí)踐教學(xué)體系構(gòu)建原則
軟件工程專業(yè)實(shí)踐教學(xué)體系構(gòu)建原則可以從4個(gè)方面考慮:軟件工程專業(yè)特點(diǎn)、教指委的軟件工程專業(yè)規(guī)范、軟件工程專業(yè)的職業(yè)定位、人類認(rèn)識(shí)事物的規(guī)律。
1) 軟件工程專業(yè)是一個(gè)綜合性學(xué)科,既有科學(xué)的要求,又有技術(shù)的要求。從學(xué)生的培養(yǎng)目標(biāo)來(lái)看,普通院校軟件工程專業(yè)含有更多的技術(shù)要求。目前國(guó)內(nèi)大多數(shù)普通院校軟件工程專業(yè)還是按照傳統(tǒng)的理工科人才培養(yǎng)方式進(jìn)行學(xué)生的培養(yǎng),忽視軟件工程專業(yè)知識(shí)體系的特點(diǎn),從而導(dǎo)致學(xué)校的學(xué)生大多數(shù)隨能按照培養(yǎng)計(jì)劃完成學(xué)業(yè),成為一名合格的軟件工程專業(yè)的畢業(yè)生,但與企業(yè)的要求相差甚遠(yuǎn),企業(yè)找不到合適的人才的現(xiàn)狀。
2) 軟件工程專業(yè)規(guī)范給定的軟件工程專業(yè)知識(shí)體系包括:計(jì)算機(jī)科學(xué)與技術(shù)知識(shí)、軟件工程知識(shí)和領(lǐng)域知識(shí)。計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)、軟件工程專業(yè)是實(shí)踐性、應(yīng)用性非常強(qiáng)的學(xué)科,要使學(xué)生掌握好計(jì)算機(jī)科學(xué)與技術(shù)的基礎(chǔ)理論知識(shí),應(yīng)用軟件工程技術(shù)的基本技巧與方法,就必須確保實(shí)踐教學(xué)的教學(xué)質(zhì)量。
3) 按照現(xiàn)在職場(chǎng)流行的說(shuō)法,人才分為3類:白領(lǐng)、灰領(lǐng)、藍(lán)領(lǐng)。根據(jù)本地區(qū)和學(xué)校的特色,我院軟件工程專業(yè)的定位是培養(yǎng)“灰領(lǐng)”人才,因此,學(xué)生除了學(xué)習(xí)傳統(tǒng)的計(jì)算機(jī)科學(xué)與技術(shù)知識(shí)、軟件工程知識(shí)外,還要學(xué)習(xí)管理學(xué)知識(shí),同時(shí)根據(jù)我校的特色與定位,把汽車設(shè)計(jì)與制造過(guò)程中信息結(jié)構(gòu)作為應(yīng)掌握的領(lǐng)域知識(shí)。管理學(xué)知識(shí)將用于團(tuán)隊(duì)管理、軟件開發(fā)過(guò)程管理以及信息結(jié)構(gòu)建模等開發(fā)活動(dòng);汽車設(shè)計(jì)與制造過(guò)程中的信息作為軟件開發(fā)實(shí)踐的應(yīng)用對(duì)象,是軟件的加工對(duì)象。
4) 人類對(duì)事物的認(rèn)識(shí)是一個(gè)由簡(jiǎn)單到復(fù)雜,由具體到一般的過(guò)程,是一個(gè)分析與綜合的過(guò)程,將隨著知識(shí)的積累逐步深入。這就要求實(shí)踐教學(xué)要按照培養(yǎng)計(jì)劃進(jìn)度設(shè)置不同的實(shí)踐內(nèi)容,而且可以根據(jù)學(xué)生的個(gè)體情況進(jìn)行少量的調(diào)整。
2實(shí)踐教學(xué)體系構(gòu)建方案
現(xiàn)在高等教育的教育方式正在從以教師為中心轉(zhuǎn)變?yōu)橐詫W(xué)生為中心,既以學(xué)生的目的需要為中心、以學(xué)生的能力拓展為中心、以學(xué)生的知識(shí)結(jié)構(gòu)為中心開展實(shí)踐教學(xué)。因此,我們?cè)谠O(shè)計(jì)實(shí)踐教學(xué)體系時(shí),始終注重按照學(xué)生理論學(xué)習(xí)的進(jìn)度和學(xué)生能力提高的需求,依據(jù)軟件開發(fā)過(guò)程的特點(diǎn),分層次開設(shè)不同的實(shí)踐內(nèi)容。
按照學(xué)生能力培養(yǎng)的路線圖,實(shí)踐教學(xué)體系始終圍繞著培養(yǎng)知識(shí)應(yīng)用能力和創(chuàng)新能力進(jìn)行構(gòu)建。能力培養(yǎng)方面分為3個(gè)方面,即程序設(shè)計(jì)能力、軟件開發(fā)能力、工程實(shí)踐能力。實(shí)踐教學(xué)課程體系由5個(gè)層次的實(shí)驗(yàn)構(gòu)成:課程實(shí)驗(yàn)、課程設(shè)計(jì)、項(xiàng)目實(shí)訓(xùn)、開發(fā)實(shí)踐、畢業(yè)設(shè)計(jì),如圖1所示。
2.1課程實(shí)驗(yàn)
本類實(shí)驗(yàn)主要是加強(qiáng)學(xué)生對(duì)所學(xué)知識(shí)的理解,“聽過(guò)的會(huì)忘記,看過(guò)的會(huì)記住,做過(guò)的會(huì)理解”。實(shí)驗(yàn)內(nèi)容分為3類。第1類:掌握和運(yùn)用工具,包括語(yǔ)言類,軟件開發(fā)工具類等;第2類:理解所學(xué)知識(shí),包括操作系統(tǒng)、編譯原理、設(shè)計(jì)模式、計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)結(jié)構(gòu)與算法等;第3類:同時(shí)兼顧工具學(xué)習(xí)和知識(shí)理解,如數(shù)據(jù)庫(kù)原理。這類實(shí)驗(yàn)主要是學(xué)生按照實(shí)驗(yàn)指導(dǎo)書完成規(guī)定的實(shí)驗(yàn)內(nèi)容,但也有一部分內(nèi)容只給出實(shí)驗(yàn)?zāi)康?讓學(xué)生自己設(shè)計(jì)實(shí)驗(yàn)內(nèi)容(設(shè)計(jì)型),以兼顧學(xué)生的不同層次與興趣。
2.2課程設(shè)計(jì)
本類實(shí)驗(yàn)的目的就是培養(yǎng)和訓(xùn)練學(xué)生對(duì)所學(xué)知識(shí)的綜合運(yùn)用能力和學(xué)習(xí)新技術(shù)、新知識(shí)的能力,屬于規(guī)范中的設(shè)計(jì)型與綜合型實(shí)驗(yàn)。教師給出課程設(shè)計(jì)題目、相應(yīng)的背景描述和課程設(shè)計(jì)要求,學(xué)生在教師的指導(dǎo)下獨(dú)立完成課程設(shè)計(jì)項(xiàng)目,時(shí)間一般為1~2周。實(shí)驗(yàn)內(nèi)容和要求根據(jù)學(xué)生的理論課進(jìn)程安排,如VC++課程在數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)之前開設(shè),因此VC++課程設(shè)計(jì)要求學(xué)生做好類的設(shè)計(jì)、界面設(shè)計(jì),數(shù)據(jù)存儲(chǔ)用文件形式,對(duì)軟件的效率不做要求;數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)課程設(shè)計(jì),除了VC++課程設(shè)計(jì)的要求外,要增加對(duì)算法的效率和存儲(chǔ)空間的要求;設(shè)計(jì)模式與UML建模課程設(shè)計(jì)除了VC++課程設(shè)計(jì)和數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)課程設(shè)計(jì)的要求外,增加軟件可靠性與高效的要求等。所有的課程設(shè)計(jì)都要求界面美觀。同時(shí)鼓勵(lì)優(yōu)秀學(xué)生應(yīng)用一些還沒(méi)有開設(shè)的課程內(nèi)容。
2.3項(xiàng)目實(shí)訓(xùn)
本類實(shí)驗(yàn)的目的主要是訓(xùn)練項(xiàng)目的組織能力、工程實(shí)踐和團(tuán)隊(duì)協(xié)作能力,著重開發(fā)過(guò)程的訓(xùn)練,按照軟件生命周期,完成各階段的工作。項(xiàng)目實(shí)訓(xùn)放在軟件工程和數(shù)據(jù)庫(kù)原理等專業(yè)基礎(chǔ)課程之后,軟件體系結(jié)構(gòu)之前。同時(shí)開展多個(gè)項(xiàng)目,把學(xué)生分成小組,在不同的項(xiàng)目中擔(dān)任不同的角色,教師扮演客戶和技術(shù)總監(jiān)的角色,要求學(xué)生按時(shí)上下班,實(shí)驗(yàn)室允許學(xué)生加班,學(xué)生要負(fù)責(zé)實(shí)驗(yàn)室設(shè)備安全。要上交較完整的需求分析與設(shè)計(jì)文檔,特別是各部分的公共信息要完整。可以只實(shí)現(xiàn)部分需求,時(shí)間安排為2~4周為宜。
2.4開發(fā)實(shí)踐
開發(fā)實(shí)踐在軟件工程的專業(yè)實(shí)驗(yàn)室或校外實(shí)習(xí)基地進(jìn)行。2008年我們與東風(fēng)懸架彈簧公司和武漢天喻軟件有限責(zé)任公司合作,利用武漢天喻軟件有限責(zé)任公司的PLM軟件,裝入東風(fēng)懸架彈簧公司產(chǎn)品開發(fā)的基礎(chǔ)數(shù)據(jù)。學(xué)生通過(guò)該平臺(tái),可以了解企業(yè)產(chǎn)品的開發(fā)流程,不懂的地方隨時(shí)可以向企業(yè)工程師咨詢;可以選定一個(gè)模塊,按照PLM系統(tǒng)接口規(guī)范進(jìn)行設(shè)計(jì)開發(fā),然后集成到PLM系統(tǒng)中去??梢允翘鎿Q原來(lái)的模塊,也可以是增加新的功能,進(jìn)行集成測(cè)試檢驗(yàn)程序的可靠性和效率。時(shí)間安排為4~8周為宜,由學(xué)校教師與企業(yè)工程共同指導(dǎo)。
2.5畢業(yè)設(shè)計(jì)
畢業(yè)設(shè)計(jì)是大學(xué)教學(xué)過(guò)程的最后一個(gè)環(huán)節(jié),是一個(gè)學(xué)生自主開發(fā)的綜合性實(shí)踐教學(xué)環(huán)節(jié)。通過(guò)畢業(yè)設(shè)計(jì),能使學(xué)生綜合應(yīng)用所學(xué)的各種理論知識(shí)和技能,進(jìn)行全面、系統(tǒng)、嚴(yán)格的技術(shù)及基本能力的練習(xí)。我院畢業(yè)設(shè)計(jì)時(shí)間安排為16周,鼓勵(lì)學(xué)生把就業(yè)與畢業(yè)設(shè)計(jì)結(jié)合起來(lái)。學(xué)生在企業(yè)實(shí)習(xí)階段參與項(xiàng)目開發(fā),由企業(yè)導(dǎo)師進(jìn)行項(xiàng)目開發(fā)的相關(guān)指導(dǎo),回校在校內(nèi)教師指導(dǎo)下完成論文和答辯。
3軟件工程專業(yè)實(shí)踐教學(xué)的師資要求
軟件工程專業(yè)的實(shí)踐教學(xué)要求實(shí)踐教師既是實(shí)踐的指導(dǎo)者,又是直接的參與者。要對(duì)學(xué)生在實(shí)踐中遇到的各種問(wèn)題給予解答,包括編程語(yǔ)法、算法邏輯、軟件體系結(jié)構(gòu)設(shè)計(jì)、用戶需求分析、團(tuán)隊(duì)協(xié)作方法等;在實(shí)踐過(guò)程中更多地是站在用戶的角度對(duì)學(xué)生的成果進(jìn)行驗(yàn)收測(cè)試,使學(xué)生體會(huì)到在現(xiàn)實(shí)情況下怎樣的軟件才能被用戶接受,體會(huì)到用戶怎樣檢查軟件的可靠性、可用性、正確性,用戶怎樣評(píng)價(jià)軟件的優(yōu)劣。
軟件工程專業(yè)的特征要求從事軟件工程專業(yè)教學(xué)的師資隊(duì)伍是一支具有綜合素質(zhì)的隊(duì)伍,既有專業(yè)理論基礎(chǔ),又要有企業(yè)實(shí)踐背景;要充當(dāng)軟件開發(fā)過(guò)程的各種角色――投資者、使用者、組織者、設(shè)計(jì)者、編碼者、測(cè)試員等。課程實(shí)驗(yàn)主要由理論基礎(chǔ)扎實(shí)的教師擔(dān)任,課程設(shè)計(jì)由理論基礎(chǔ)扎實(shí)的教師和有企業(yè)實(shí)踐背景的教師共同指導(dǎo),項(xiàng)目實(shí)訓(xùn)和開發(fā)實(shí)踐主要由有企業(yè)實(shí)踐背景的教師完成。
4結(jié)語(yǔ)
本文介紹的軟件工程專業(yè)實(shí)踐教學(xué)體系是我校通過(guò)幾年的不斷摸索與改正后形成的。在探索過(guò)程中獲得了湖北省教育廳項(xiàng)目(軟件工程創(chuàng)新型人才培養(yǎng)研究)和學(xué)校的支持(2007年軟件工程特色專業(yè)建設(shè)費(fèi)15萬(wàn)元)。該實(shí)踐教學(xué)體系利用一些基礎(chǔ)實(shí)驗(yàn)幫助學(xué)生理解和掌握專業(yè)理論知識(shí),為今后的發(fā)展打下堅(jiān)實(shí)的專業(yè)基礎(chǔ),同時(shí)通過(guò)參與各種項(xiàng)目,提供了發(fā)展其動(dòng)手能力的環(huán)境,貼近了企業(yè)需求,提高了就業(yè)率。2009年我校軟件工程專業(yè)的一次就業(yè)率達(dá)到了90%。由課程設(shè)計(jì)、開發(fā)實(shí)踐和畢業(yè)設(shè)計(jì)構(gòu)成的創(chuàng)新訓(xùn)練體系,使學(xué)生獲得了科學(xué)研究方法和軟件開發(fā)活動(dòng)的工程化的經(jīng)驗(yàn)。
參考文獻(xiàn):
[1] 李紅梅. 面向能力培養(yǎng)的軟件工程實(shí)踐教學(xué)體系[J]. 高等工程教育研究,2009(2):84-87.
[2] 董瑋. 引入實(shí)訓(xùn)體系,培養(yǎng)應(yīng)用型軟件人才的探索與實(shí)踐[J]. 計(jì)算機(jī)教育,2007(23):10-19.
[3] 董瑋,邱建華,楊英鵬,等. 培養(yǎng)應(yīng)用型軟件人才的實(shí)踐教學(xué)體系的研究與實(shí)踐[J]. 計(jì)算機(jī)教育,2008(10):16-18.
[4] 鄭耿忠,劉秋梅. 地方性院校軟件工程專業(yè)建設(shè)探討[J].電腦知識(shí)與技術(shù),2009,5(30):8477-8478.
[5] 鄭耿忠,劉秋梅. 軟件工程專業(yè)實(shí)踐教學(xué)體系構(gòu)建探索[J]. 電腦知識(shí)與技術(shù),2009,5(27):7690-7691.
[6] 白偉華. 軟件工程專業(yè)應(yīng)用型人才培養(yǎng)模式的思考[J]. 計(jì)算機(jī)教育,2008(22):35-37.
Practice Teaching System of Software Engineering in General Institutes
FU Yong-zhi, WANG Wen-yan, SHI Lü-hua
(Department of Computer Science School of Electrical & Information Engineering Hubei University of Automotive Technology,
2.評(píng)分模式單一軟件工程采用了傳統(tǒng)的閉卷考試方式,平時(shí)成績(jī)占總成績(jī)的30%,期末考試占70%。平時(shí)成績(jī)=上課出勤情況(10%)+實(shí)驗(yàn)完成情況(10%)+作業(yè)完成情況(10%)。任課教師通過(guò)對(duì)不同的考核內(nèi)容賦予不同權(quán)重來(lái)評(píng)價(jià)學(xué)生對(duì)軟件工程課程的掌握情況,主要考核學(xué)生對(duì)課程基本知識(shí)的理解。此方法不足以提高學(xué)生實(shí)際動(dòng)手的能力,更不利于激發(fā)學(xué)生實(shí)際軟件設(shè)計(jì)開發(fā)的興趣。
二、現(xiàn)有的教學(xué)方法的分析
針對(duì)上述問(wèn)題,從事軟件工程的相關(guān)教師從不同角度,對(duì)軟件工程課程進(jìn)行了改革。歸納起來(lái)主要有如下幾種教學(xué)方法改革:
1.自底向上教學(xué)法在“軟件工程”課程中應(yīng)用授課方式主要是用倒敘的方式貫穿完整案例(包含警戒案例),以啟發(fā)、討論、辯論的形式講授軟件工程的原理、方法及過(guò)程,使學(xué)生不覺(jué)生疏,易接受,又符合IT從業(yè)人員的工作進(jìn)程。[2]
2.模塊化教學(xué)法在“軟件工程”課程中的應(yīng)用在尊重教學(xué)規(guī)律和學(xué)生個(gè)性發(fā)展的原則上,根據(jù)課程體系和內(nèi)容之間的關(guān)系,將教學(xué)部分劃分為若干獨(dú)立的模塊,確定模塊之間的關(guān)聯(lián),針對(duì)不同的教學(xué)計(jì)劃要求,采用不同的模塊組合有選擇地進(jìn)行講授和學(xué)習(xí)。[3]
3.案例教學(xué)法在“軟件工程”課程中的應(yīng)用軟件工程案例教學(xué)是根據(jù)“軟件工程”課程的教學(xué)目的和學(xué)生培養(yǎng)目標(biāo)要求,教師選用相應(yīng)的案例作為基本素材,引導(dǎo)學(xué)生對(duì)案例進(jìn)行調(diào)查、思考、分析、討論、設(shè)計(jì)、開發(fā)和交流等相關(guān)活動(dòng),在活動(dòng)中教授學(xué)生軟件工程的原理、方法及過(guò)程,進(jìn)而提高學(xué)生分析和解決問(wèn)題的能力,加深學(xué)生對(duì)基本理論知識(shí)的理解和掌握。[4]
4.項(xiàng)目驅(qū)動(dòng)教學(xué)法在“軟件工程”課程中的應(yīng)用項(xiàng)目驅(qū)動(dòng)教學(xué)法是案例教學(xué)法的基礎(chǔ)上采用“案例導(dǎo)向、項(xiàng)目驅(qū)動(dòng)”的教學(xué)方法。首先,教師根據(jù)要講授的理論知識(shí)預(yù)先準(zhǔn)備一個(gè)或者多個(gè)小的軟件開發(fā)項(xiàng)目;然后,將學(xué)生作為主體,以軟件開發(fā)項(xiàng)目的研發(fā)過(guò)程為引導(dǎo),采用學(xué)生小組團(tuán)隊(duì)合作和學(xué)生個(gè)人獨(dú)立完成相結(jié)合的教學(xué)形式,組織學(xué)生開展集體討論并完成相應(yīng)的實(shí)踐性活動(dòng),在研發(fā)過(guò)程中同學(xué)和老師要對(duì)每位學(xué)生所完成的每個(gè)階段任務(wù)加以點(diǎn)評(píng)、督促改進(jìn)、分享經(jīng)驗(yàn)等;最后,學(xué)生將成功的軟件給予演示。
5.三位一體式教學(xué)法在“軟件工程”課程中的應(yīng)用根據(jù)學(xué)生的認(rèn)識(shí)特點(diǎn)和該課程自身的特點(diǎn)以及對(duì)“軟件工程”課程在計(jì)算機(jī)科學(xué)專業(yè)的定位、教材的選取、課程培養(yǎng)目標(biāo)的分析下,采取以綜合能力培養(yǎng)為中心、項(xiàng)目實(shí)踐為標(biāo)準(zhǔn),模板、案例、指導(dǎo)說(shuō)明為輔助的三位一體式的教學(xué)思路。[6]對(duì)目前在“軟件工程”課程改革中應(yīng)用的五種方法針對(duì)改革側(cè)重點(diǎn)進(jìn)行匯總發(fā)現(xiàn)(見表1),單一的教學(xué)方法只是在理論教學(xué)、實(shí)踐教學(xué)和考核方式某一方面發(fā)揮了很好的作用,而不能從全面發(fā)揮效果,而對(duì)于“軟件工程”課程來(lái)說(shuō)三者同樣重要。
三、基于多元教學(xué)法的課程改革新模式
某一種教學(xué)模式改革已經(jīng)不能滿足現(xiàn)代“軟件工程”課程教學(xué)的要求,只有將多元教學(xué)模式組合在一起,充分考慮各自對(duì)課程教學(xué)的優(yōu)勢(shì),避其缺點(diǎn),找到一種既能使學(xué)生具有良好的理論基礎(chǔ),又能充分培養(yǎng)學(xué)生實(shí)踐能力,還能準(zhǔn)確地考核學(xué)生的教學(xué)模式。本次課程改革就是本著這樣一種思想,從理論教學(xué)、實(shí)踐教學(xué)和考核方式三個(gè)方面進(jìn)行多樣化改革。
1.理論教學(xué)內(nèi)容多樣化
理論知識(shí)的學(xué)習(xí)在學(xué)生以后軟件項(xiàng)目開發(fā)過(guò)程中具有必要性和重要性,軟件工程學(xué)習(xí)過(guò)程中要重視基礎(chǔ)和基本技能的培養(yǎng)。學(xué)生要具有開發(fā)軟件項(xiàng)目的能力,首先要熟悉掌握軟件工程相關(guān)的理論知識(shí),特別是對(duì)如何按照工程化的方法系統(tǒng)地設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試和維護(hù)大型軟件,內(nèi)容包括:軟件開發(fā)的基本理論、方法和技術(shù);其次是了解目前已有系統(tǒng)、工具和技術(shù)。(1)授課內(nèi)容引入案例。教師在教學(xué)過(guò)程中引入與理論知識(shí)相匹配的實(shí)際案例,將比較抽象的軟件工程原理、方法和技術(shù)轉(zhuǎn)為具體生動(dòng)的案例進(jìn)行詮釋,增強(qiáng)理論教學(xué)的藝術(shù)性、科學(xué)性、趣味性、形象性,使學(xué)生能夠在課堂上深刻領(lǐng)會(huì)和理解軟件工程的思想和方法,教學(xué)效果收到了事半功倍。(2)適時(shí)更新教學(xué)內(nèi)容。近幾年,軟件原理、方法和技術(shù)發(fā)展較快,許多適應(yīng)時(shí)展的軟件不斷涌出,而目前的教材雖不斷改版更新,但其更新的速度遠(yuǎn)遠(yuǎn)跟不上軟件工程的發(fā)展。因此,教師在進(jìn)行理論講解時(shí),除了要教授學(xué)生基本原理、技術(shù)和方法外,還要時(shí)刻關(guān)注新內(nèi)容的出現(xiàn)。(3)制作豐富多彩的課件。采用多媒體教學(xué)手段,在課件中插入圖片、動(dòng)畫、聲音、視頻等多媒體元素,使教學(xué)內(nèi)容更加充實(shí)和生動(dòng)。(4)課堂小組討論。從小問(wèn)題到大問(wèn)題,讓學(xué)生參與教學(xué)過(guò)程,有機(jī)會(huì)發(fā)表自己的看法。課堂討論和分析試驗(yàn),使理論有實(shí)踐作支撐,抽象的知識(shí)變得看得見,用得著,大大激發(fā)學(xué)生學(xué)習(xí)的興趣和自信。
2.實(shí)踐教學(xué)內(nèi)容多樣化
軟件工程理論的講解是課程學(xué)習(xí)和技能培養(yǎng)的基礎(chǔ),而軟件工程中許多理論內(nèi)容如果只是教師講解不加以實(shí)踐,內(nèi)容本身就會(huì)變得空洞和不可理解,例如:軟件復(fù)雜性計(jì)算、軟件可靠性與安全性的測(cè)量標(biāo)準(zhǔn)、結(jié)構(gòu)化的實(shí)現(xiàn)方法等都需要學(xué)生動(dòng)手實(shí)踐才能更好地理解知識(shí)本身的內(nèi)涵。掌握概念、原理、方法和技術(shù),熟練應(yīng)用軟件開發(fā)實(shí)踐中的方法和技術(shù)是“軟件工程”課程對(duì)學(xué)生的培養(yǎng)目標(biāo)。(1)課程角色扮演。教師預(yù)先選擇若干小項(xiàng)目,班內(nèi)學(xué)生根據(jù)自己對(duì)項(xiàng)目熟悉情況選擇項(xiàng)目名稱,劃分項(xiàng)目小組,每組人數(shù)不超過(guò)6人,每個(gè)項(xiàng)目小組成員根據(jù)自身特長(zhǎng)選擇不同軟件工程角色,例如項(xiàng)目負(fù)責(zé)人、需求分析負(fù)責(zé)人、設(shè)計(jì)負(fù)責(zé)人、編碼負(fù)責(zé)人、測(cè)試負(fù)責(zé)人和用戶代表,進(jìn)行項(xiàng)目分工。項(xiàng)目組成員按時(shí)完成自己負(fù)責(zé)任務(wù),撰寫相應(yīng)文檔。教師幫助學(xué)生分析和解決所遇到問(wèn)題。在整個(gè)開發(fā)過(guò)程可以體現(xiàn)“學(xué)以致用”的思想,實(shí)現(xiàn)理論與實(shí)踐相結(jié)合。(2)課程設(shè)計(jì)。課程設(shè)計(jì)主要是針對(duì)高年級(jí)學(xué)生在學(xué)習(xí)軟件工程課程時(shí)開展的專項(xiàng)訓(xùn)練。課程設(shè)計(jì)采取在學(xué)校內(nèi)模擬IT企業(yè)環(huán)境下完成來(lái)自企業(yè)案例或開發(fā)一些具有應(yīng)用價(jià)值項(xiàng)目或?qū)W校教師承擔(dān)的開發(fā)項(xiàng)目的部分開發(fā)工作,也可以是學(xué)生自選項(xiàng)目,整個(gè)課程設(shè)計(jì)階段嚴(yán)格按照工程實(shí)施的基本思想來(lái)實(shí)施。(3)加強(qiáng)校企合作。一方面經(jīng)常邀請(qǐng)軟件公司長(zhǎng)期從事軟件設(shè)計(jì)、開發(fā)和項(xiàng)目管理的工程師和項(xiàng)目經(jīng)理,給學(xué)生講解自己在軟件設(shè)計(jì)、開發(fā)和管理中的經(jīng)驗(yàn),高質(zhì)量軟件產(chǎn)品需要經(jīng)過(guò)怎樣的開發(fā)過(guò)程,軟件生命周期中標(biāo)準(zhǔn)文檔如何撰寫等相關(guān)內(nèi)容;另一方面,利用寒暑假時(shí)間,讓學(xué)生走出去,到軟件產(chǎn)品的研發(fā)單位實(shí)地實(shí)習(xí)。
3.考試方式多樣化
傳統(tǒng)的考核方式已經(jīng)不能反映學(xué)生實(shí)際軟件開發(fā)的水平,也與多樣化的教學(xué)模式不相匹配,為此多樣化的考核方式才符合現(xiàn)實(shí)需求,主要包括:筆試、課后角色扮演、課程設(shè)計(jì)和項(xiàng)目總結(jié)。(1)筆試占總成績(jī)的35%,主要考查學(xué)生理論知識(shí)的掌握情況和學(xué)習(xí)效果。(2)課后角色扮演占總成績(jī)的15%。由教師根據(jù)每位學(xué)生在課后角色扮演中的具體表現(xiàn)進(jìn)行打分,主要由3部分取平均值組成:1/3*(整個(gè)項(xiàng)目的成績(jī)+自己負(fù)責(zé)完成的文檔成績(jī)+組內(nèi)其他成員負(fù)責(zé)完成的文檔的平均成績(jī))。(3)項(xiàng)目總結(jié)或心得體會(huì)占總成績(jī)的15%。根據(jù)學(xué)生在軟件開發(fā)過(guò)程中所撰寫的經(jīng)驗(yàn)和教訓(xùn)總結(jié)報(bào)告、每個(gè)小組成員建立的個(gè)人開發(fā)記錄或日志的實(shí)際情況,相互打分。
四、基于多元教學(xué)模式課程改革方案
基于上述改革理念,按照軟件工程開發(fā)原理、方法和技術(shù),選用典型項(xiàng)目案例,將學(xué)生按照項(xiàng)目分成若干個(gè)小組,每組人數(shù)不超過(guò)6人。每個(gè)小組對(duì)應(yīng)著一個(gè)具體的項(xiàng)目,每個(gè)人對(duì)應(yīng)著一個(gè)具體工作過(guò)程,按照如下步驟進(jìn)行多元教學(xué)。第一步,教師選用合適的教學(xué)內(nèi)容,制作豐富多彩的課件,對(duì)學(xué)生進(jìn)行基本理論和基本技能的講解。在每一個(gè)軟件生命周期結(jié)束后,教師進(jìn)行案例場(chǎng)景描述。教師按照理論知識(shí)的內(nèi)容,選擇相應(yīng)的案例進(jìn)行描述,學(xué)生將所學(xué)內(nèi)容運(yùn)用到相關(guān)案例中。教師通過(guò)案例讓學(xué)生明白理論知識(shí)如何應(yīng)用,學(xué)生通過(guò)案例體會(huì)到小項(xiàng)目中所學(xué)的原理、方法和技術(shù)是如何實(shí)現(xiàn)的。第二步,課后角色扮演。學(xué)生通過(guò)分組討論的方式,完成項(xiàng)目分工,明確自己在項(xiàng)目中所扮演的角色。所有的任務(wù)通過(guò)集體討論的方式,決出所要完成的任務(wù),并由相應(yīng)的角色人實(shí)際操作完成。例如,需求分析一章內(nèi)容,學(xué)生課后進(jìn)行項(xiàng)目小組討論,決定需求分析的內(nèi)容,進(jìn)行相應(yīng)的需求分析,并由扮演需求分析人員的學(xué)生完成需求報(bào)告。軟件開發(fā)過(guò)程需要整個(gè)團(tuán)隊(duì)的通力合作,根據(jù)學(xué)生的性格、表達(dá)能力、開發(fā)能力、理論基礎(chǔ)掌握情況等方面進(jìn)行人員分組,將具有不同特點(diǎn)的學(xué)生組成一個(gè)團(tuán)隊(duì)完成項(xiàng)目開發(fā)。這種團(tuán)隊(duì)合作的方式,既能發(fā)揮學(xué)生各自的特長(zhǎng),又能培養(yǎng)學(xué)生的團(tuán)隊(duì)合作精神。第三步,課程設(shè)計(jì)。當(dāng)全部?jī)?nèi)容講解完成,就可以開始長(zhǎng)達(dá)2周的課程設(shè)計(jì)內(nèi)容了。這段時(shí)間要求項(xiàng)目小組,徹底完成一個(gè)由教師虛擬的項(xiàng)目。此步驟中,主要培養(yǎng)學(xué)生良好的科研習(xí)慣,在開發(fā)過(guò)程中及時(shí)總結(jié)經(jīng)驗(yàn)和教訓(xùn),建立個(gè)人開發(fā)記錄或日志,理論聯(lián)系實(shí)際學(xué)著開發(fā)軟件。第四步,學(xué)生總結(jié),教師點(diǎn)評(píng)。學(xué)生經(jīng)過(guò)多個(gè)教學(xué)環(huán)節(jié)后,每個(gè)團(tuán)隊(duì)在一定程度上完成了各自的項(xiàng)目任務(wù),對(duì)各自團(tuán)隊(duì)的成果進(jìn)行總結(jié)。教師聽取每個(gè)團(tuán)隊(duì)的匯報(bào)后,從橫向和縱向兩個(gè)方面對(duì)項(xiàng)目成果之間進(jìn)行比較,從而讓每一位學(xué)生明白自己在團(tuán)隊(duì)中發(fā)揮了什么作用,自己哪些方面不足。第五步,請(qǐng)進(jìn)來(lái),走出去。通過(guò)學(xué)校和企業(yè)合作的方式,一方面經(jīng)常邀請(qǐng)軟件公司長(zhǎng)期從事軟件設(shè)計(jì)、開發(fā)和項(xiàng)目管理的工程師和項(xiàng)目經(jīng)理,給學(xué)生講解自己在軟件設(shè)計(jì)、開發(fā)和管理中的經(jīng)驗(yàn),高質(zhì)量軟件產(chǎn)品需要經(jīng)過(guò)怎樣的開發(fā)過(guò)程,軟件生命周期中標(biāo)準(zhǔn)文檔如何撰寫等相關(guān)內(nèi)容;另一方面,利用寒暑假時(shí)間,讓學(xué)生走出去,到軟件產(chǎn)品的研發(fā)單位,實(shí)地實(shí)習(xí)。
“軟件工程”是計(jì)算機(jī)及相關(guān)專業(yè)的一門專業(yè)課,是培養(yǎng)學(xué)生的軟件開發(fā)能力和項(xiàng)目管理能力的一門重要課程,反映計(jì)算機(jī)專業(yè)人員綜合應(yīng)用的素質(zhì)和能力。它要求學(xué)生在學(xué)習(xí)過(guò)程中不僅要注重概念、原理、方法和技術(shù)的掌握,還要注重方法、技術(shù)的實(shí)際應(yīng)用。然而,在實(shí)際教學(xué)中,很多學(xué)生認(rèn)為這是一門理論課,內(nèi)容繁瑣,感到枯燥,學(xué)習(xí)興趣不大,待到用時(shí)又不知如何運(yùn)用這些知識(shí)。同時(shí),軟件工程是計(jì)算機(jī)科學(xué)與技術(shù)領(lǐng)域的一個(gè)重要的學(xué)科,如面向?qū)ο蟮拈_發(fā)方法、CASE工具與環(huán)境、軟件重用技術(shù)、網(wǎng)絡(luò)環(huán)境下的軟件開發(fā)技術(shù)等有了長(zhǎng)足的發(fā)展,而目前的教材內(nèi)容、實(shí)踐環(huán)節(jié)等方面存在嚴(yán)重的缺陷,制約了軟件工程課程的教學(xué)效果。
本文結(jié)合作者多年來(lái)的軟件工程課程教學(xué)和科研的實(shí)踐經(jīng)驗(yàn),就軟件工程教學(xué)內(nèi)容、教學(xué)方法和手段、實(shí)踐環(huán)節(jié)安排、教學(xué)環(huán)境乃至考核方式等方面進(jìn)行了一些探索和研究。
一、結(jié)合行業(yè)發(fā)展,不斷更新教學(xué)內(nèi)容
教學(xué)內(nèi)容是連接教師與學(xué)生的紐帶,是教學(xué)改革的重要內(nèi)容,具有開放性、綜合性,應(yīng)體現(xiàn)學(xué)科之間的相互聯(lián)系、體現(xiàn)現(xiàn)代性,反映科學(xué)發(fā)展、知識(shí)更新規(guī)律。
《軟件工程》課程是一綜合性學(xué)科,涉及計(jì)算機(jī)科學(xué)、管理學(xué)、數(shù)學(xué)、心理學(xué)等相關(guān)學(xué)科的知識(shí)。隨著計(jì)算機(jī)科學(xué)的迅猛發(fā)展,與相關(guān)學(xué)科的聯(lián)系更加密切。為適應(yīng)21世紀(jì)學(xué)科發(fā)展的需要,要適當(dāng)壓縮傳統(tǒng)的面向過(guò)程方法學(xué)內(nèi)容,力求反映20世紀(jì)90年代以來(lái)面向?qū)ο蠓椒▽W(xué)的最新進(jìn)展。在教學(xué)過(guò)程中以軟件開發(fā)過(guò)程為主線,重點(diǎn)講解軟件開發(fā)的分析和設(shè)計(jì)方法,內(nèi)容涉及軟件工程方法、工具、過(guò)程三要素,使學(xué)生從工程的角度認(rèn)識(shí)軟件開發(fā),對(duì)軟件開發(fā)有比較完整和深入的認(rèn)識(shí),了解國(guó)內(nèi)外軟件工程學(xué)發(fā)展的現(xiàn)狀和趨勢(shì),并且在更廣闊和更高層次上加深對(duì)軟件工程學(xué)的認(rèn)識(shí),為后續(xù)課程及相關(guān)工作的開展打下堅(jiān)實(shí)的基礎(chǔ)。
在教材選擇方面,宜采用中英文教材結(jié)合的方式。對(duì)于基本理論和基本方法部分使用中文教材,對(duì)于新方法、新技術(shù)以及國(guó)際標(biāo)準(zhǔn)等內(nèi)容則直接使用相關(guān)的英文資料,并鼓勵(lì)和推薦學(xué)生課外閱讀英文資料,更好地了解其最新發(fā)展。
二、采用立體化教學(xué)手段
在軟件工程的教學(xué)過(guò)程中,采用多種立體化教學(xué)手段,拓寬學(xué)生的知識(shí)面,以及更強(qiáng)的獨(dú)立思考、團(tuán)隊(duì)協(xié)作和解決問(wèn)題的能力。
1.多媒體課件。采用多媒體教學(xué)手段,制作內(nèi)容豐富、形象生動(dòng)的課件。這些課件不僅能形象地講授軟件工程基本原理,而且使得課堂信息量更大,教師還可以演示和講授軟件工程工具。還有部分課件被制作成自學(xué)模式,以便于學(xué)生課外擴(kuò)展知識(shí)。
2.雙語(yǔ)教學(xué)。對(duì)軟件工程可進(jìn)行雙語(yǔ)教學(xué),采用國(guó)外優(yōu)秀的原版教材,課堂板書和作業(yè)都采用英語(yǔ)作為工作語(yǔ)言,并鼓勵(lì)學(xué)生使用英語(yǔ)解答;同時(shí)給學(xué)生提供英文的課外閱讀資料,讓他們及時(shí)了解國(guó)際上學(xué)科的最新發(fā)展。
3.實(shí)踐。在課外,采用大量的項(xiàng)目演練。項(xiàng)目以團(tuán)隊(duì)操練的方式進(jìn)行,一個(gè)項(xiàng)目組由5~6名學(xué)生組成,分別擔(dān)任項(xiàng)目經(jīng)理、客戶、上級(jí)經(jīng)理、系統(tǒng)分析員、程序員和測(cè)試員等角色。由教師為其提供一個(gè)虛擬的項(xiàng)目情景和要求。項(xiàng)目組根據(jù)項(xiàng)目需求,制定項(xiàng)目計(jì)劃,進(jìn)行分析、設(shè)計(jì)、編碼和測(cè)試,運(yùn)用所學(xué)知識(shí),分工協(xié)作、查資料、探尋問(wèn)題的解決方案。應(yīng)注意培養(yǎng)學(xué)生遵守職業(yè)道德、法律和紀(jì)律,尊重知識(shí)產(chǎn)權(quán)。必須發(fā)揮團(tuán)隊(duì)的作用,提高學(xué)生在團(tuán)隊(duì)中工作的能力,培養(yǎng)學(xué)生交流、溝通、協(xié)調(diào)及與用戶合作的能力。進(jìn)入課程設(shè)計(jì)階段,學(xué)生就能夠進(jìn)行實(shí)際軟件項(xiàng)目開發(fā)。
4.課程網(wǎng)站。建立軟件工程網(wǎng)站,組織和幫助學(xué)生的探索性學(xué)習(xí),促進(jìn)學(xué)生的主動(dòng)發(fā)現(xiàn)和主動(dòng)探索,擴(kuò)展課堂教學(xué)。在網(wǎng)站上課程安排、教學(xué)大綱、師資介紹、作業(yè)、多媒體課件、實(shí)踐要求、常用軟件工程模板、自測(cè)題等內(nèi)容,同時(shí)提供大量有價(jià)值的參考書籍清單和電子文獻(xiàn),供學(xué)生隨時(shí)查閱,學(xué)生還可以隨時(shí)和教師在網(wǎng)上進(jìn)行交流和答疑,變學(xué)時(shí)有限的教學(xué)為在讀期間的全程教學(xué)。
5.探索校企合作。軟件工程具有顯著的實(shí)踐特點(diǎn),其教學(xué)內(nèi)容必須與當(dāng)前軟件行業(yè)的發(fā)展和需求保持同步。因此學(xué)校應(yīng)該與實(shí)力雄厚、管理規(guī)范的軟件企業(yè)建立合作關(guān)系,及時(shí)了解行業(yè)發(fā)展動(dòng)態(tài),調(diào)整教學(xué)內(nèi)容。聘請(qǐng)既有理論知識(shí)又有開發(fā)經(jīng)驗(yàn)的軟件工程師為學(xué)生做有關(guān)先進(jìn)的工程技術(shù)和管理規(guī)范方面的專題報(bào)告,讓學(xué)生了解企業(yè)開發(fā)軟件項(xiàng)目的全過(guò)程、軟件開發(fā)的實(shí)際問(wèn)題、行業(yè)現(xiàn)狀以及發(fā)展趨勢(shì),及時(shí)調(diào)整學(xué)習(xí)方向,增強(qiáng)學(xué)習(xí)的主動(dòng)性和積極性。
三、進(jìn)行案例教學(xué)
軟件工程講授的原理、技術(shù)、方法都很抽象,容易產(chǎn)生枯燥乏味的感覺(jué)。為了使學(xué)生能深刻領(lǐng)會(huì)和理解軟件工程的思想和方法,在教學(xué)中引入實(shí)際案例,將復(fù)雜抽象的概念用具體生動(dòng)的案例進(jìn)行詮釋,能夠收到事半功倍的效果。具體可采用以下步驟:
1.設(shè)計(jì)一個(gè)典型的、完整的、易于理解的、實(shí)際的軟件項(xiàng)目案例。在整個(gè)教學(xué)過(guò)程中結(jié)合該案例講授每個(gè)知識(shí)點(diǎn),將實(shí)際案例作為貫穿所有知識(shí)點(diǎn)的主線。該案例最好來(lái)源于授課教師直接參與的軟件項(xiàng)目,授課教師對(duì)其全部細(xì)節(jié)能夠準(zhǔn)確掌握。
2.討論案例。在講授一個(gè)重要的知識(shí)點(diǎn)后,安排一到兩節(jié)的案例課,針對(duì)知識(shí)點(diǎn)設(shè)計(jì)多個(gè)案例。教師用語(yǔ)言敘述案例,其中隱含著有待解決的問(wèn)題及其所處的客觀條件,學(xué)生通過(guò)認(rèn)真閱讀案例,查閱相關(guān)資料,理出頭緒,明確給定條件,找出主要問(wèn)題并做好記錄。然后分析問(wèn)題,制定針對(duì)性的措施,提出解決主要問(wèn)題的可行方案,并對(duì)方案進(jìn)行初步評(píng)價(jià)。
3.組織小組討論。將學(xué)生分成五至六人的小組,每位學(xué)生運(yùn)用所學(xué)知識(shí)對(duì)案例進(jìn)行分析、說(shuō)明,提出解決的措施,重點(diǎn)闡述分析、設(shè)計(jì)的理由。然后,大家集思廣益,小組內(nèi)展開討論,并由專人記錄,討論的重點(diǎn)是對(duì)各個(gè)解決方案的相互對(duì)比和分析評(píng)價(jià)。最后,選出一個(gè)較為合理的解決方案,或者對(duì)所有方案進(jìn)行整理和歸納,得到一個(gè)最佳方案。
4.小組代表發(fā)言,集體討論。每組派一名代表上講臺(tái),講述本組對(duì)案例的理解、分析、判斷、論證和決策過(guò)程,說(shuō)明解決問(wèn)題的方案和分析設(shè)計(jì)結(jié)果。對(duì)于同學(xué)發(fā)言老師要給予必要的引導(dǎo),鼓勵(lì)他們多角度、多因素地觀察分析問(wèn)題,培養(yǎng)學(xué)生的知識(shí)遷移和拓寬思維的能力,啟發(fā)他們學(xué)以致用的意識(shí)。然后,組織全體同學(xué)進(jìn)行分析、討論、評(píng)價(jià)。對(duì)于非確定型的決策問(wèn)題,同學(xué)問(wèn)往往存在著意見分歧,結(jié)論很難統(tǒng)一。這一過(guò)程可以增加學(xué)生對(duì)軟件開發(fā)項(xiàng)目的感性認(rèn)識(shí)和興趣,提高他們分析問(wèn)題和解決問(wèn)題的能力。
5.教師總結(jié)。在案例討論結(jié)束時(shí)教師要進(jìn)行總結(jié),因?yàn)榻鉀Q案例問(wèn)題的決策方案不是唯一的,所以教師的總結(jié)應(yīng)是就整個(gè)討論情況做出評(píng)價(jià)。對(duì)正確的論點(diǎn)給予肯定和完善,指出一
些原則性的問(wèn)題,特別是對(duì)某些問(wèn)題可以更深一步思考,進(jìn)行啟發(fā)式誘導(dǎo)。
案例教學(xué)法通過(guò)案例貫穿軟件工程各知識(shí)點(diǎn)的講授,將枯燥的理論與實(shí)際緊密結(jié)合,變抽象為具體,幫助學(xué)生充分理解和掌握各知識(shí)點(diǎn);通過(guò)組織學(xué)生參與案例討論,讓學(xué)生置身于模擬的真實(shí)環(huán)境中,扮演不同的角色,身臨其境,真正從“工程師”的角度考慮問(wèn)題,學(xué)習(xí)如何應(yīng)用知識(shí)解決問(wèn)題,是軟件工程課程進(jìn)行實(shí)踐性教學(xué)改革的一個(gè)重要環(huán)節(jié)。
四、強(qiáng)調(diào)實(shí)踐教學(xué)環(huán)節(jié),合理安排課程實(shí)踐
軟件工程課的目的是使學(xué)生能夠真正在大型軟件開發(fā)活動(dòng)中貫徹軟件工程的思想,正確使用軟件開發(fā)方法,提高軟件質(zhì)量。為加強(qiáng)實(shí)踐環(huán)節(jié),教學(xué)中可采用以下方法:
1.重要的基礎(chǔ)概念和基本方法必須進(jìn)行實(shí)踐。例如,需求分析建模的重要工具數(shù)據(jù)流圖、實(shí)體關(guān)系圖和面向?qū)ο蠼5龋@些知識(shí)看似容易掌握,但做起來(lái)可能會(huì)漏洞百出。在講述相關(guān)內(nèi)容時(shí),應(yīng)及時(shí)安排實(shí)驗(yàn),檢驗(yàn)學(xué)生是否掌握基本工具的使用。
2.將CASE工具貫穿于所有的軟件開發(fā)活動(dòng)。例如,在介紹基于UML的面向?qū)ο筌浖_發(fā)方法時(shí),學(xué)生即可通過(guò)RationalRose針對(duì)實(shí)際應(yīng)用問(wèn)題構(gòu)造UML模型。
3.根據(jù)軟件工程課程實(shí)踐性強(qiáng)的特點(diǎn),結(jié)合教學(xué)進(jìn)度,開設(shè)綜合性的設(shè)計(jì)型實(shí)驗(yàn)一《軟件工程課程設(shè)計(jì)》。該課程設(shè)計(jì)與《軟件工程》課程的理論教學(xué)內(nèi)容緊密配合,同步進(jìn)行,讓學(xué)生通過(guò)軟件開發(fā)的實(shí)踐訓(xùn)練,進(jìn)一步掌握軟件工程的方法和技術(shù),提高軟件開發(fā)的實(shí)際能力,培養(yǎng)創(chuàng)造性的工程設(shè)計(jì)能力和綜合分析、解決問(wèn)題的能力。
課程設(shè)計(jì)的具體內(nèi)容是:在教師指導(dǎo)下,按照軟件工程的開發(fā)技術(shù)和管理規(guī)范,開發(fā)小組進(jìn)行“應(yīng)用軟件項(xiàng)目開發(fā)”。課程設(shè)計(jì)過(guò)程中,開設(shè)1~2次“軟件新技術(shù)講座”,并提供豐富的“教學(xué)資源”,為學(xué)生提供幫助。其主要內(nèi)容是按照“案例導(dǎo)向、項(xiàng)目驅(qū)動(dòng)”的設(shè)計(jì)思想,模擬軟件企業(yè)先進(jìn)的軟件項(xiàng)目管理和開發(fā)過(guò)程,進(jìn)行“應(yīng)用軟件的開發(fā)實(shí)踐”。以項(xiàng)目開發(fā)帶動(dòng)軟件工程的理論學(xué)習(xí),又以軟件工程的理論來(lái)指導(dǎo)軟件開發(fā)的實(shí)踐。使學(xué)生得到較全面、系統(tǒng)和規(guī)范的軟件工程實(shí)踐的訓(xùn)練,培養(yǎng)創(chuàng)造性的軟件設(shè)計(jì)能力和綜合分析、解決問(wèn)題的能力。
軟件開發(fā)是智力活動(dòng),同樣的軟件項(xiàng)目,不同的軟件開發(fā)組織和人員采用的方案,耗費(fèi)的時(shí)間、資源、成本,軟件產(chǎn)品的質(zhì)量可能相差很多。一個(gè)重要的因素是軟件開發(fā)組織和人員的創(chuàng)新能力和水平。因此,在教學(xué)和軟件開發(fā)活動(dòng)中應(yīng)營(yíng)造一個(gè)寬松、和諧的環(huán)境,努力培養(yǎng)學(xué)生的創(chuàng)新精神和創(chuàng)新能力。
五、重視教學(xué)和科研環(huán)境建設(shè),建立軟件工程實(shí)驗(yàn)室
有效地使用軟件工具和軟件開發(fā)環(huán)境,對(duì)提高軟件開發(fā)質(zhì)量、效率,保證按時(shí)交付具有十分重要的作用,應(yīng)加大軟件實(shí)驗(yàn)室的建設(shè)力度,重視流行軟件工具和軟件開發(fā)環(huán)境的有效使用,提高學(xué)生的軟件開發(fā)能力。如面向?qū)ο蟮能浖7椒?、?shù)據(jù)建模方法、軟件度量方法、軟件測(cè)試方法、現(xiàn)代軟件管理方法、開發(fā)工具Rational Rose、Power Designer等不僅教師要掌握,學(xué)生也要盡可能熟悉。要熟悉和掌握的軟件工程工具包括:分析設(shè)計(jì)工具、程序設(shè)計(jì)工具、軟件測(cè)試工具、配置管理工具等。將這些工具貫穿教學(xué)及其軟件開發(fā)活動(dòng),既有利于教師提高自身的研發(fā)能力,也能夠讓學(xué)生接觸和學(xué)習(xí)各種CASE技術(shù),鍛煉他們的軟件開發(fā)能力。
軟件工程實(shí)驗(yàn)室需要配備適用的軟硬件設(shè)施和比較科學(xué)先進(jìn)的軟件開發(fā)工具,以便為軟件工程的教學(xué)和研究創(chuàng)造『必要的環(huán)境與條件。通過(guò)實(shí)驗(yàn)室建設(shè),不僅可以加強(qiáng)教學(xué)效果,還可以進(jìn)一步提高教師的科研水平。
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A
1 引言(Introduction)
軟件工程作為計(jì)算機(jī)和軟件本科專業(yè)最綜合最系統(tǒng)的一門課程,在促進(jìn)學(xué)生鞏固之前學(xué)過(guò)的專業(yè)知識(shí)、掌握軟件開發(fā)過(guò)程及方法、理解軟件工程實(shí)踐等方面發(fā)揮了積極作用。但高校特別是三本院校在軟件工程課程講授時(shí)理論脫離實(shí)際,片面地強(qiáng)調(diào)理論學(xué)習(xí)而忽視實(shí)踐能力的培養(yǎng),理論部分過(guò)于抽象,在課程實(shí)驗(yàn)中,沒(méi)有把握好課程在人才培養(yǎng)的橋梁和作用,缺乏貫穿縱向知識(shí)體系和學(xué)科的整體理解和思想,往往只是本課程章節(jié)或課程的綜合理論驗(yàn)證,采用虛擬的實(shí)驗(yàn)案例,甚至將其設(shè)計(jì)成為章節(jié)內(nèi)容驗(yàn)證練習(xí),而不是圍繞著軟件工程整本書的整個(gè)知識(shí)體系進(jìn)行實(shí)際開發(fā)項(xiàng)目。導(dǎo)致學(xué)生學(xué)完軟件工程課程后還是不能理解軟件生命周期、開發(fā)過(guò)程及相應(yīng)方法,與社會(huì)對(duì)軟件人才的需求存在差距,學(xué)生難以很快融入現(xiàn)代IT企業(yè)的運(yùn)作[1]。如何培養(yǎng)起適合信息產(chǎn)業(yè)所需要的應(yīng)用型、實(shí)踐型人才,已經(jīng)成為亟待解決的問(wèn)題。因此要想將學(xué)生培養(yǎng)成為符合社會(huì)需要的軟件工程人才,就應(yīng)當(dāng)改變目前的局面,全面考慮軟件工程課程建設(shè)。
本課題研究主要針對(duì)目前軟件工程課程理論脫離實(shí)際,同時(shí)很多教師過(guò)分強(qiáng)調(diào)軟件工程理論知識(shí)的一面,忽視了軟件工程必須有實(shí)踐項(xiàng)目還具有經(jīng)驗(yàn)性、參與性、發(fā)展性的特點(diǎn),通過(guò)理論研究和教學(xué)實(shí)踐對(duì)軟件工程教學(xué)實(shí)踐提供實(shí)踐指導(dǎo)。加強(qiáng)軟件工程實(shí)踐教學(xué)的改革,通過(guò)理論與實(shí)踐相結(jié)合的方法培養(yǎng)社會(huì)需要的應(yīng)用型軟件工程人才。解決三本院校軟件工程課程教授中理論、實(shí)驗(yàn)與實(shí)際相脫離的問(wèn)題。
2 針對(duì)社會(huì)需求,制定明確合理的教學(xué)計(jì)劃
(Formulate a reasonable teaching plan based on
the social needs)
教學(xué)計(jì)劃是各教學(xué)環(huán)境的整體設(shè)計(jì)方案,合理的專業(yè)的教學(xué)計(jì)劃能為教學(xué)順利實(shí)施提供指導(dǎo),也是教學(xué)過(guò)程質(zhì)量的有力保障,是人才培養(yǎng)的綱領(lǐng)和實(shí)施藍(lán)圖[2],它規(guī)定了課程結(jié)構(gòu)和知識(shí)結(jié)構(gòu),明確了人才培養(yǎng)目標(biāo),構(gòu)建了專業(yè)要求的課程體系,限制了教學(xué)環(huán)節(jié)的進(jìn)程及內(nèi)容。具體在制定計(jì)劃時(shí)應(yīng)秉持以下幾點(diǎn):
(1)樹立應(yīng)用型人才培養(yǎng)理念
在培養(yǎng)軟件工程人才過(guò)程中要和一二本院校區(qū)別開來(lái),我們應(yīng)當(dāng)以實(shí)際動(dòng)手為主,培養(yǎng)適合企業(yè)操作崗位的技能人才。軟件工程專業(yè)應(yīng)堅(jiān)持“以市場(chǎng)為導(dǎo)向,以就業(yè)為目標(biāo),順應(yīng)IT業(yè)發(fā)展趨勢(shì),以校企合作為手段,突出技能培養(yǎng),走應(yīng)用型開放式道路?!钡霓k學(xué)思路,通過(guò)吸收國(guó)內(nèi)外的優(yōu)質(zhì)資源,通過(guò)校企合作,共建實(shí)訓(xùn)實(shí)習(xí)基地和技術(shù)開發(fā)應(yīng)用等多種合作辦學(xué),提高辦學(xué)活力及效率。在人才培養(yǎng)模式上突出以技術(shù)應(yīng)用能力為核心的人才培養(yǎng)特點(diǎn),課程設(shè)置以市場(chǎng)流行的軟件開發(fā)技術(shù)為主線由淺入深,技術(shù)的學(xué)習(xí)采用項(xiàng)目驅(qū)動(dòng)、案例驅(qū)動(dòng)的方式[3],不斷提高學(xué)生實(shí)踐動(dòng)手能力,培養(yǎng)應(yīng)用型技術(shù)人才,適應(yīng)企業(yè)對(duì)人才的需求。
(2)構(gòu)建應(yīng)用型培養(yǎng)系統(tǒng)工程
學(xué)生在學(xué)校對(duì)知識(shí)的儲(chǔ)備與社會(huì)對(duì)人才的能力需求如何契合的更好是學(xué)校應(yīng)該要慎重考慮的問(wèn)題。目前,軟件服務(wù)外包產(chǎn)業(yè)對(duì)應(yīng)用型人才需求量較大,軟件工程專業(yè)可以和武漢軟件外包單位合作,全面實(shí)施3+1人才培養(yǎng)模式,即,三年基礎(chǔ)、專業(yè)課程學(xué)習(xí)加一年實(shí)訓(xùn)。這種嵌入式教學(xué)模式將會(huì)極大地提升學(xué)生的實(shí)際應(yīng)用能力,他們進(jìn)入企業(yè)后適應(yīng)能力更強(qiáng),上手會(huì)更快。在教學(xué)過(guò)程中,軟件工程專業(yè)可以構(gòu)建工程化的實(shí)踐教學(xué)體系,以軟件項(xiàng)目研發(fā)到軟件項(xiàng)目運(yùn)行的生命周期為載體,讓學(xué)生以主動(dòng)的、實(shí)踐的、課程之間有機(jī)聯(lián)系的方式學(xué)習(xí)軟件工程,建立試驗(yàn)―實(shí)訓(xùn)―綜合設(shè)計(jì)―職業(yè)實(shí)踐的實(shí)踐教學(xué)體系,通過(guò)引進(jìn)、開發(fā)真實(shí)的項(xiàng)目案例,讓學(xué)生實(shí)際參與項(xiàng)目開發(fā)全過(guò)程,切實(shí)提高學(xué)生解決實(shí)際問(wèn)題的能力,培養(yǎng)他們的綜合應(yīng)用素質(zhì)。
(3)引入企業(yè),接軌市場(chǎng)需求
基于工程化培養(yǎng)理念建立一批校企聯(lián)合實(shí)習(xí)實(shí)訓(xùn)基地,實(shí)現(xiàn)教學(xué)過(guò)程與生產(chǎn)過(guò)程的對(duì)接,為應(yīng)用型技術(shù)人才培養(yǎng)提供有力的保障。將一些行業(yè)內(nèi)的企業(yè)而不單純是培訓(xùn)單位引入校園,合作搭建項(xiàng)目開發(fā)平臺(tái),形成以研發(fā)項(xiàng)目促進(jìn)學(xué)生實(shí)習(xí)實(shí)訓(xùn),以研發(fā)項(xiàng)目帶動(dòng)師生科研發(fā)展的人才培養(yǎng)新途徑,聯(lián)合培養(yǎng)雙師型教師。
3 軟件工程實(shí)踐教學(xué)采用的主要方法(The main
method of the software engineering practice
teaching)
軟件工程實(shí)踐課,包括課程實(shí)驗(yàn)、課程設(shè)計(jì)、項(xiàng)目實(shí)訓(xùn)和畢業(yè)設(shè)計(jì)等實(shí)踐環(huán)節(jié)。
3.1 實(shí)例教學(xué)
在教授理論知識(shí)時(shí),傳統(tǒng)方法過(guò)度的在講授枯燥的理論知識(shí),學(xué)生沒(méi)有實(shí)際的工程項(xiàng)目的經(jīng)驗(yàn),根本無(wú)法理解軟件工程課程里的內(nèi)容,在軟件工程課程理論課上教師要通過(guò)典型的軟件項(xiàng)目實(shí)例來(lái)講解理論知識(shí),將實(shí)例貫穿于教學(xué)環(huán)節(jié),模擬軟件工程項(xiàng)目場(chǎng)景,啟發(fā)學(xué)生分析問(wèn)題、進(jìn)行方案設(shè)計(jì),在項(xiàng)目案例講解過(guò)程中抽象上升為理論知識(shí),理論知識(shí)又反過(guò)來(lái)指導(dǎo)項(xiàng)目案例。
3.2 實(shí)驗(yàn)教學(xué)
相對(duì)于計(jì)算機(jī)科學(xué)與技術(shù)專業(yè),軟件工程專業(yè)更強(qiáng)調(diào)實(shí)踐性和工程性能力的培養(yǎng),這都需要在實(shí)踐環(huán)節(jié)中培養(yǎng),因此實(shí)驗(yàn)與實(shí)踐教學(xué)是軟件工程專業(yè)教學(xué)的重要組成部分,其實(shí)施質(zhì)量對(duì)專業(yè)教學(xué)質(zhì)量具有舉足輕重的影響。軟件工程專業(yè)可以構(gòu)建“課程實(shí)驗(yàn)、課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)”三級(jí)實(shí)驗(yàn)體系[4],三級(jí)實(shí)驗(yàn)體系粒度從細(xì)到粗,從具體到綜合。教師需要設(shè)置好實(shí)驗(yàn)環(huán)節(jié)的內(nèi)容、形式,實(shí)驗(yàn)課和課程設(shè)計(jì)時(shí)采用商業(yè)軟件的開發(fā)模式,以實(shí)際項(xiàng)目和企業(yè)正常運(yùn)作時(shí)人員的分工配合來(lái)進(jìn)行實(shí)驗(yàn)教學(xué),理論指導(dǎo)實(shí)踐,實(shí)踐強(qiáng)化理論,將系列的實(shí)踐課程提升到工程項(xiàng)目訓(xùn)練,實(shí)際軟件工程項(xiàng)目貫穿同步理論課的知識(shí),讓學(xué)生從需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試到項(xiàng)目交付和管理維護(hù)等完整的軟件開發(fā)過(guò)程進(jìn)行系統(tǒng)實(shí)踐學(xué)習(xí),這樣學(xué)生在一個(gè)真實(shí)的場(chǎng)景中實(shí)踐,親身體驗(yàn)并進(jìn)行反思,只有實(shí)際操刀了,學(xué)生才能理會(huì)并掌握完整的軟件開發(fā)流程、軟件開發(fā)技術(shù)及軟件開發(fā)方法。實(shí)驗(yàn)時(shí)以小組形式開展工作,四五個(gè)學(xué)生為一組,每組由組員推薦或自薦一位組長(zhǎng),負(fù)責(zé)協(xié)調(diào)、分工,組員在小組長(zhǎng)的協(xié)作領(lǐng)導(dǎo)下完成項(xiàng)目的開發(fā)過(guò)程。項(xiàng)目驅(qū)動(dòng)實(shí)驗(yàn)的軟件工程實(shí)踐教學(xué)可以幫助學(xué)生建構(gòu)良好的軟件開發(fā)認(rèn)知模式并培養(yǎng)一定的軟件工程素養(yǎng)[5]。在學(xué)生畢業(yè)前,開設(shè)項(xiàng)目實(shí)訓(xùn)和畢業(yè)設(shè)計(jì),旨在培養(yǎng)學(xué)生的綜合實(shí)踐能力,通過(guò)這樣的手段學(xué)生能比較真切地理解軟件工程理論知識(shí)并掌握軟件開發(fā)過(guò)程。通過(guò)實(shí)驗(yàn),掌握一個(gè)完整軟件開發(fā)過(guò)程,及過(guò)程中的每一個(gè)階段的任務(wù)、目標(biāo)、方法、工具,并熟練使用一些CASE(計(jì)算機(jī)輔助軟件工程)工具來(lái)提升軟件開發(fā)效率,保證軟件質(zhì)量。通過(guò)集中性的課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)訓(xùn)練,使學(xué)生逐步培養(yǎng)編程能力、算法分析設(shè)計(jì)能力、數(shù)據(jù)庫(kù)設(shè)計(jì)能力,能夠結(jié)合專業(yè)知識(shí)實(shí)現(xiàn)用戶需求,形成產(chǎn)品意識(shí)而不是作業(yè)意識(shí),培養(yǎng)團(tuán)隊(duì)交流協(xié)作能力、積累工程經(jīng)驗(yàn)、提高工程素養(yǎng)。每一個(gè)階段制定可衡量的、明確的目標(biāo),激發(fā)學(xué)生的學(xué)習(xí)興趣、提高知識(shí)的靈活運(yùn)用能力、創(chuàng)新思維能力、綜合分析能力、系統(tǒng)設(shè)計(jì)能力等,為培養(yǎng)符合社會(huì)需求的人才奠定基礎(chǔ)。最后通過(guò)畢業(yè)設(shè)計(jì)綜合性鍛煉,實(shí)現(xiàn)學(xué)生就業(yè)的平滑過(guò)渡。
在每一級(jí)實(shí)驗(yàn)過(guò)程中都采用“教師為主導(dǎo)、學(xué)生為主體”的原則,才有利于避免學(xué)生在學(xué)習(xí)上的依耐性、缺乏獨(dú)立思考問(wèn)題和解決問(wèn)題的能力,因此要充分發(fā)揮學(xué)生的主體作用,運(yùn)用教師的專業(yè)知識(shí)和項(xiàng)目經(jīng)驗(yàn)言傳身教地引領(lǐng)、啟發(fā)學(xué)生學(xué)習(xí)、動(dòng)手實(shí)踐,不斷引入新技術(shù)、新方法引起學(xué)生好奇心,激發(fā)學(xué)生探索學(xué)習(xí)欲望。教師需要?jiǎng)討B(tài)地了解學(xué)生的接受能力,有針對(duì)性地因材施教、指導(dǎo)學(xué)生學(xué)習(xí),讓學(xué)生擁有自主學(xué)習(xí)、持續(xù)學(xué)習(xí)的能力,意識(shí)到自己學(xué)得會(huì),也很有利于調(diào)動(dòng)學(xué)生學(xué)習(xí)的主動(dòng)性,只有這樣,才能達(dá)到較好的實(shí)驗(yàn)課教學(xué)效果。在每一次實(shí)驗(yàn)后要及時(shí)地對(duì)本次實(shí)驗(yàn)加以分析和總結(jié),通過(guò)本次實(shí)驗(yàn)遇到了什么問(wèn)題?解決的方法是什么?實(shí)現(xiàn)了什么功能?還有哪些有待解決的問(wèn)題?都要加以總結(jié),并以報(bào)告的形式記錄下來(lái),有利于日后開展實(shí)驗(yàn)課程的教學(xué)。
3.3 社會(huì)實(shí)踐教學(xué)
一個(gè)軟件企業(yè)的正常運(yùn)行需要多方面的人員協(xié)作與配合,如財(cái)務(wù)人員、開發(fā)人員、配置管理員、質(zhì)量保證員、數(shù)據(jù)庫(kù)管理員、網(wǎng)絡(luò)維護(hù)工程師、系統(tǒng)架構(gòu)師、軟件測(cè)試人員、管理人員等,在學(xué)校里學(xué)生難以體會(huì)到一個(gè)軟件開發(fā)過(guò)程中除編碼測(cè)試人員之外的其他崗位的職責(zé)和特性,學(xué)生只有真正進(jìn)入企業(yè)才能體會(huì)并有機(jī)會(huì)實(shí)踐這些崗位。社會(huì)實(shí)踐教學(xué)可以通過(guò)校企合作的形式,也可以鼓勵(lì)學(xué)生自己去找實(shí)習(xí)單位,學(xué)生可以根據(jù)自己的興趣和個(gè)人發(fā)展方向來(lái)自由選擇角色,完成不同的任務(wù),教師和公司導(dǎo)師給予引導(dǎo)。社會(huì)實(shí)踐教學(xué)是一次綜合性的實(shí)踐活動(dòng),是學(xué)生走向社會(huì)的開始,通過(guò)社會(huì)實(shí)踐教學(xué)活動(dòng),使學(xué)生能夠逐步認(rèn)識(shí)綜合利用所學(xué)的專業(yè)知識(shí),培養(yǎng)軟件開發(fā)的技能,深刻體會(huì)企業(yè)軟件開發(fā)與學(xué)習(xí)過(guò)程中編寫軟件的不同、軟件工程各階段角色任務(wù)管理和開發(fā)知識(shí),提高自身的創(chuàng)新意識(shí)與創(chuàng)新能力,促進(jìn)團(tuán)隊(duì)之間的溝通協(xié)作,為早日踏上工作崗位打下堅(jiān)實(shí)的基礎(chǔ)。
學(xué)生進(jìn)行社會(huì)實(shí)踐教學(xué)活動(dòng)時(shí),嚴(yán)格按照企業(yè)的規(guī)定,執(zhí)行、考勤、日志、總結(jié)等實(shí)際工作環(huán)節(jié),廣泛使用協(xié)同開發(fā)平臺(tái),使學(xué)生規(guī)范化、有序進(jìn)行社會(huì)實(shí)踐活動(dòng)。
4 結(jié)論(Conclusion)
通過(guò)對(duì)幾年軟件工程課程教學(xué)的思考和總結(jié),以及調(diào)研一些其他院校軟件工程課程,提出了三本院校中軟件工程實(shí)踐教學(xué)存在的問(wèn)題以及軟件工程實(shí)踐教學(xué)改革的必要性,從課程教學(xué)計(jì)劃的制訂、實(shí)例教學(xué)、實(shí)驗(yàn)教學(xué)、社會(huì)實(shí)踐教學(xué)等幾個(gè)方面給出了切實(shí)可行的建議,同時(shí)這些建議也可為其他課程提供有意義的借鑒。
參考文獻(xiàn)(References)
[1] 熊偉,洪玫.大學(xué)本科軟件工程專業(yè)建設(shè)的探索與實(shí)踐[J].理
工高教研究,2010,(2):59-61.
[2] 晏立.從社會(huì)需求的角度探索軟件工程教育[J].教育與教學(xué)研
究,2008,(22):141-145.
[3] Roger S.Pressman.軟件工程:實(shí)踐者的研究方法[M].北京:機(jī)
械工業(yè)出版社,2011,(8):32-68.
[4] 熊凡,李偉波.項(xiàng)目驅(qū)動(dòng)的軟件工程實(shí)驗(yàn)教學(xué)探討[J].中國(guó)電
力教育,2012,(2):77-79.
[5] 丁潔.軟件工程的教學(xué)改革與實(shí)踐[J].科學(xué)與技術(shù)信息,2009,
(9):555.
中圖分類號(hào):
1、引言
提起軟件,在當(dāng)今社會(huì)人們并不陌生,正是由于軟件的發(fā)展,使計(jì)算機(jī)應(yīng)用逐步滲透到社會(huì)生活的各個(gè)角落,使各行各業(yè)都發(fā)生很大的變化。這同時(shí)也促進(jìn)人們對(duì)軟件的品種、數(shù)量、功能和質(zhì)量等提出了越來(lái)越高的要求。然而,軟件的規(guī)模越大、越復(fù)雜,人們的軟件開發(fā)能力越顯得力不從心。于是,人們開始重視軟件開發(fā)過(guò)程、方法、工具和環(huán)境的研究,軟件工程應(yīng)運(yùn)而生。
“軟件工程”主要介紹軟件工程的基本原理、開發(fā)方法和開發(fā)工具,通過(guò)本課程的學(xué)習(xí),使學(xué)生了解和初步掌握開發(fā)1個(gè)軟件項(xiàng)目所使用的方法和工具,以及“軟件工程”的發(fā)展過(guò)程和發(fā)展趨勢(shì),為進(jìn)行軟件開發(fā)打下1個(gè)良好的基礎(chǔ)。
2、課程特點(diǎn)
1。課程綜合性強(qiáng)。
軟件工程與其他計(jì)算機(jī)課程,如程序設(shè)計(jì)語(yǔ)言、數(shù)據(jù)結(jié)構(gòu)、編譯原理、數(shù)據(jù)庫(kù)以及操作系統(tǒng)等課程都是相互作用和影響的。在1定程度上說(shuō),軟件工程討論的是在實(shí)際開發(fā)當(dāng)中綜合運(yùn)用這些課程中講過(guò)的理論和方法,將這些課程的理論和方法放在1個(gè)統(tǒng)1的目標(biāo)下,這個(gè)目標(biāo)就是在有限的時(shí)間及預(yù)算條件下,開發(fā)出高質(zhì)量的令用戶滿意的軟件。
2。課程內(nèi)容不斷更新。
軟件工程課程的教學(xué)培養(yǎng)目標(biāo)應(yīng)該以市場(chǎng)需求為導(dǎo)向,使課程培養(yǎng)的學(xué)生真正能夠在軟件行業(yè)中發(fā)揮作用。因此,在授課時(shí),我們不能拘泥于教材內(nèi)容的限制。在講解基本原理、基本概念和基本方法的同時(shí),介紹1些新方法、新技術(shù)。這樣,有助于開拓學(xué)生的視野和培養(yǎng)創(chuàng)新意識(shí)與開發(fā)能力,使他們走向社會(huì)后不至落伍。
3。課程的實(shí)踐性強(qiáng)。
軟件工程是1門實(shí)踐性很強(qiáng)的課程,它是各種開發(fā)經(jīng)驗(yàn)的總結(jié)與提煉。在學(xué)習(xí)過(guò)程中不但應(yīng)注重概念、原理、方法和技術(shù)的掌握,更應(yīng)注重方法、技術(shù)的實(shí)際應(yīng)用。學(xué)習(xí)軟件工程必須投身于軟件開發(fā)的實(shí)踐,才能真正領(lǐng)悟軟件工程的精髓。
實(shí)際教學(xué)當(dāng)中,這門課的教學(xué)效果往往不是很理想,教師覺(jué)得這門課教起來(lái)較困難,學(xué)生學(xué)習(xí)中多數(shù)也覺(jué)得枯燥無(wú)味,很難達(dá)到較好的教學(xué)效果或獲得較強(qiáng)的實(shí)踐能力等預(yù)期目的。如何改善?結(jié)合軟件工程的課程特點(diǎn),筆者認(rèn)為可以從以下幾個(gè)方面來(lái)改進(jìn)《軟件工程》的教學(xué)質(zhì)量。三、軟件工程教學(xué)改進(jìn)的內(nèi)容和方法
1。教學(xué)過(guò)程引入實(shí)際案例
軟件工程課程涉及面很廣,如果不結(jié)合實(shí)際工程項(xiàng)目進(jìn)行教學(xué),很難把教學(xué)內(nèi)容教授給學(xué)生。因此,在教學(xué)過(guò)程中引入案例,將復(fù)雜抽象的概念用具體生動(dòng)的實(shí)例進(jìn)行詮釋,能夠收到事半功倍的效果。例如,在授課時(shí)教師可結(jié)合1個(gè)“學(xué)校教材購(gòu)銷系統(tǒng)”實(shí)例,給學(xué)生介紹具體的開發(fā)過(guò)程和方法。
另外,學(xué)校還可邀請(qǐng)領(lǐng)域內(nèi)有實(shí)際經(jīng)驗(yàn)的資深程序員,針對(duì)軟件工程中具體理論和方法在實(shí)際開發(fā)中的應(yīng)用,在課堂上和學(xué)生進(jìn)行面對(duì)面講座,深入淺出地作講解。這樣,學(xué)生可以更加熟悉、掌握軟件開發(fā)的過(guò)程。
2。組織課堂討論,形成教學(xué)互動(dòng)
我國(guó)有句名言:“授人以魚,不如授人以漁”。學(xué)生是教學(xué)活動(dòng)的核心,教師要利用合適的方法調(diào)動(dòng)學(xué)生的積極心理和參與意識(shí),改變傳統(tǒng)的教師高高在上的教學(xué)方式,讓學(xué)生參與教學(xué)過(guò)程,有機(jī)會(huì)發(fā)表自己的看法。
比如在講授需求分析這章內(nèi)容時(shí),可結(jié)合“學(xué)校教材購(gòu)銷系統(tǒng)”這個(gè)案例,要求學(xué)生按照軟件工程教學(xué)的思想和方法認(rèn)真做好需求分析。在實(shí)施過(guò)程中,首先由學(xué)生獨(dú)立思考,給出解決方案。然后在課堂上,組織學(xué)生進(jìn)行討論,分析各自解決方案的優(yōu)劣,并進(jìn)行綜合。最后由老師進(jìn)行總結(jié)和評(píng)價(jià),指出該案例所涉及的理論知識(shí)及其應(yīng)用方法,就學(xué)生提出的問(wèn)題進(jìn)行解答。這樣通過(guò)組織學(xué)生討論,可使學(xué)生進(jìn)1步理解和掌握課程內(nèi)容的方法和步驟,使抽象的知識(shí)變得看得見,用得著,大大激發(fā)了學(xué)生學(xué)習(xí)的興趣和自信。
3。加強(qiáng)實(shí)踐環(huán)節(jié)
從本質(zhì)上看,軟件工程的實(shí)踐性和綜合性是其他相關(guān)課程難以比擬的。因此,必須結(jié)合設(shè)計(jì)項(xiàng)目和實(shí)際應(yīng)用加以施教,才能取得良好的教學(xué)效果。那么,在把握教學(xué)進(jìn)度的同時(shí),必須及早安排好課程設(shè)計(jì),讓學(xué)生同步開展課程設(shè)計(jì)。這樣,理論課講完了,課程設(shè)計(jì)也基本結(jié)束,學(xué)生們能從理論和實(shí)踐的結(jié)合上,加深對(duì)軟件工程知識(shí)難點(diǎn)、重點(diǎn)的理解,進(jìn)1步深刻理解軟件過(guò)程和系統(tǒng)消化理論知識(shí),訓(xùn)練項(xiàng)目設(shè)計(jì)的思路,鍛煉實(shí)際開發(fā)能力,培養(yǎng)嚴(yán)格規(guī)范的項(xiàng)目開發(fā)方法和步驟,體驗(yàn)文檔編寫整理、階段性評(píng)審總結(jié)以及軟件測(cè)試等各個(gè)方面的工作流程,直接培養(yǎng)了學(xué)生從事實(shí)際開發(fā)的能力。
四、結(jié)束語(yǔ)
在教學(xué)中,我們還應(yīng)根據(jù)學(xué)生的具體情況,因材施教??傊?,通過(guò)不斷改進(jìn)教學(xué),使學(xué)生能更好地理解、掌握知識(shí),運(yùn)用所學(xué)服務(wù)社會(huì)。
參考文獻(xiàn):
(1)授課內(nèi)容引入案例。教師在教學(xué)過(guò)程中引入與理論知識(shí)相匹配的實(shí)際案例,將比較抽象的軟件工程原理、方法和技術(shù)轉(zhuǎn)為具體生動(dòng)的案例進(jìn)行詮釋,增強(qiáng)理論教學(xué)的藝術(shù)性、科學(xué)性、趣味性、形象性,使學(xué)生能夠在課堂上深刻領(lǐng)會(huì)和理解軟件工程的思想和方法,教學(xué)效果收到了事半功倍。
(2)適時(shí)更新教學(xué)內(nèi)容。近幾年,軟件原理、方法和技術(shù)發(fā)展較快,許多適應(yīng)時(shí)展的軟件不斷涌出,而目前的教材雖不斷改版更新,但其更新的速度遠(yuǎn)遠(yuǎn)跟不上軟件工程的發(fā)展。因此,教師在進(jìn)行理論講解時(shí),除了要教授學(xué)生基本原理、技術(shù)和方法外,還要時(shí)刻關(guān)注新內(nèi)容的出現(xiàn)。
(3)制作豐富多彩的課件。采用多媒體教學(xué)手段,在課件中插入圖片、動(dòng)畫、聲音、視頻等多媒體元素,使教學(xué)內(nèi)容更加充實(shí)和生動(dòng)。
(4)課堂小組討論。從小問(wèn)題到大問(wèn)題,讓學(xué)生參與教學(xué)過(guò)程,有機(jī)會(huì)發(fā)表自己的看法。課堂討論和分析試驗(yàn),使理論有實(shí)踐作支撐,抽象的知識(shí)變得看得見,用得著,大大激發(fā)學(xué)生學(xué)習(xí)的興趣和自信。
二、實(shí)踐教學(xué)內(nèi)容多樣化
軟件工程理論的講解是課程學(xué)習(xí)和技能培養(yǎng)的基礎(chǔ),而軟件工程中許多理論內(nèi)容如果只是教師講解不加以實(shí)踐,內(nèi)容本身就會(huì)變得空洞和不可理解,例如:軟件復(fù)雜性計(jì)算、軟件可靠性與安全性的測(cè)量標(biāo)準(zhǔn)、結(jié)構(gòu)化的實(shí)現(xiàn)方法等都需要學(xué)生動(dòng)手實(shí)踐才能更好地理解知識(shí)本身的內(nèi)涵。掌握概念、原理、方法和技術(shù),熟練應(yīng)用軟件開發(fā)實(shí)踐中的方法和技術(shù)是“軟件工程”課程對(duì)學(xué)生的培養(yǎng)目標(biāo)。
(1)課程角色扮演。教師預(yù)先選擇若干小項(xiàng)目,班內(nèi)學(xué)生根據(jù)自己對(duì)項(xiàng)目熟悉情況選擇項(xiàng)目名稱,劃分項(xiàng)目小組,每組人數(shù)不超過(guò)6人,每個(gè)項(xiàng)目小組成員根據(jù)自身特長(zhǎng)選擇不同軟件工程角色,例如項(xiàng)目負(fù)責(zé)人、需求分析負(fù)責(zé)人、設(shè)計(jì)負(fù)責(zé)人、編碼負(fù)責(zé)人、測(cè)試負(fù)責(zé)人和用戶代表,進(jìn)行項(xiàng)目分工。項(xiàng)目組成員按時(shí)完成自己負(fù)責(zé)任務(wù),撰寫相應(yīng)文檔。教師幫助學(xué)生分析和解決所遇到問(wèn)題。在整個(gè)開發(fā)過(guò)程可以體現(xiàn)“學(xué)以致用”的思想,實(shí)現(xiàn)理論與實(shí)踐相結(jié)合。
(2)課程設(shè)計(jì)。課程設(shè)計(jì)主要是針對(duì)高年級(jí)學(xué)生在學(xué)習(xí)軟件工程課程時(shí)開展的專項(xiàng)訓(xùn)練。課程設(shè)計(jì)采取在學(xué)校內(nèi)模擬IT企業(yè)環(huán)境下完成來(lái)自企業(yè)案例或開發(fā)一些具有應(yīng)用價(jià)值項(xiàng)目或?qū)W校教師承擔(dān)的開發(fā)項(xiàng)目的部分開發(fā)工作,也可以是學(xué)生自選項(xiàng)目,整個(gè)課程設(shè)計(jì)階段嚴(yán)格按照工程實(shí)施的基本思想來(lái)實(shí)施。(3)加強(qiáng)校企合作。一方面經(jīng)常邀請(qǐng)軟件公司長(zhǎng)期從事軟件設(shè)計(jì)、開發(fā)和項(xiàng)目管理的工程師和項(xiàng)目經(jīng)理,給學(xué)生講解自己在軟件設(shè)計(jì)、開發(fā)和管理中的經(jīng)驗(yàn),高質(zhì)量軟件產(chǎn)品需要經(jīng)過(guò)怎樣的開發(fā)過(guò)程,軟件生命周期中標(biāo)準(zhǔn)文檔如何撰寫等相關(guān)內(nèi)容;另一方面,利用寒暑假時(shí)間,讓學(xué)生走出去,到軟件產(chǎn)品的研發(fā)單位實(shí)地實(shí)習(xí)。
三、考試方式多樣化
傳統(tǒng)的考核方式已經(jīng)不能反映學(xué)生實(shí)際軟件開發(fā)的水平,也與多樣化的教學(xué)模式不相匹配,為此多樣化的考核方式才符合現(xiàn)實(shí)需求,主要包括:筆試、課后角色扮演、課程設(shè)計(jì)和項(xiàng)目總結(jié)。
(1)筆試占總成績(jī)的35%,主要考查學(xué)生理論知識(shí)的掌握情況和學(xué)習(xí)效果。
(2)課后角色扮演占總成績(jī)的15%。由教師根據(jù)每位學(xué)生在課后角色扮演中的具體表現(xiàn)進(jìn)行打分,主要由3部分取平均值組成:1/3*(整個(gè)項(xiàng)目的成績(jī)+自己負(fù)責(zé)完成的文檔成績(jī)+組內(nèi)其他成員負(fù)責(zé)完成的文檔的平均成績(jī))。
(3)項(xiàng)目總結(jié)或心得體會(huì)占總成績(jī)的15%。根據(jù)學(xué)生在軟件開發(fā)過(guò)程中所撰寫的經(jīng)驗(yàn)和教訓(xùn)總結(jié)報(bào)告、每個(gè)小組成員建立的個(gè)人開發(fā)記錄或日志的實(shí)際情況,相互打分。四、基于多元教學(xué)模式課程改革方案基于上述改革理念,按照軟件工程開發(fā)原理、方法和技術(shù),選用典型項(xiàng)目案例,將學(xué)生按照項(xiàng)目分成若干個(gè)小組,每組人數(shù)不超過(guò)6人。每個(gè)小組對(duì)應(yīng)著一個(gè)具體的項(xiàng)目,每個(gè)人對(duì)應(yīng)著一個(gè)具體工作過(guò)程,按照如下步驟進(jìn)行多元教學(xué)。第一步,教師選用合適的教學(xué)內(nèi)容,制作豐富多彩的課件,對(duì)學(xué)生進(jìn)行基本理論和基本技能的講解。在每一個(gè)軟件生命周期結(jié)束后,教師進(jìn)行案例場(chǎng)景描述。教師按照理論知識(shí)的內(nèi)容,選擇相應(yīng)的案例進(jìn)行描述,學(xué)生將所學(xué)內(nèi)容運(yùn)用到相關(guān)案例中。教師通過(guò)案例讓學(xué)生明白理論知識(shí)如何應(yīng)用,學(xué)生通過(guò)案例體會(huì)到小項(xiàng)目中所學(xué)的原理、方法和技術(shù)是如何實(shí)現(xiàn)的。第二步,課后角色扮演。學(xué)生通過(guò)分組討論的方式,完成項(xiàng)目分工,明確自己在項(xiàng)目中所扮演的角色。所有的任務(wù)通過(guò)集體討論的方式,決出所要完成的任務(wù),并由相應(yīng)的角色人實(shí)際操作完成。例如,需求分析一章內(nèi)容,學(xué)生課后進(jìn)行項(xiàng)目小組討論,決定需求分析的內(nèi)容,進(jìn)行相應(yīng)的需求分析,并由扮演需求分析人員的學(xué)生完成需求報(bào)告。軟件開發(fā)過(guò)程需要整個(gè)團(tuán)隊(duì)的通力合作,根據(jù)學(xué)生的性格、表達(dá)能力、開發(fā)能力、理論基礎(chǔ)掌握情況等方面進(jìn)行人員分組,將具有不同特點(diǎn)的學(xué)生組成一個(gè)團(tuán)隊(duì)完成項(xiàng)目開發(fā)。這種團(tuán)隊(duì)合作的方式,既能發(fā)揮學(xué)生各自的特長(zhǎng),又能培養(yǎng)學(xué)生的團(tuán)隊(duì)合作精神。第三步,課程設(shè)計(jì)。當(dāng)全部?jī)?nèi)容講解完成,就可以開始長(zhǎng)達(dá)2周的課程設(shè)計(jì)內(nèi)容了。這段時(shí)間要求項(xiàng)目小組,徹底完成一個(gè)由教師虛擬的項(xiàng)目。此步驟中,主要培養(yǎng)學(xué)生良好的科研習(xí)慣,在開發(fā)過(guò)程中及時(shí)總結(jié)經(jīng)驗(yàn)和教訓(xùn),建立個(gè)人開發(fā)記錄或日志,理論聯(lián)系實(shí)際學(xué)著開發(fā)軟件。第四步,學(xué)生總結(jié),教師點(diǎn)評(píng)。學(xué)生經(jīng)過(guò)多個(gè)教學(xué)環(huán)節(jié)后,每個(gè)團(tuán)隊(duì)在一定程度上完成了各自的項(xiàng)目任務(wù),對(duì)各自團(tuán)隊(duì)的成果進(jìn)行總結(jié)。教師聽取每個(gè)團(tuán)隊(duì)的匯報(bào)后,從橫向和縱向兩個(gè)方面對(duì)項(xiàng)目成果之間進(jìn)行比較,從而讓每一位學(xué)生明白自己在團(tuán)隊(duì)中發(fā)揮了什么作用,自己哪些方面不足。第五步,請(qǐng)進(jìn)來(lái),走出去。通過(guò)學(xué)校和企業(yè)合作的方式,一方面經(jīng)常邀請(qǐng)軟件公司長(zhǎng)期從事軟件設(shè)計(jì)、開發(fā)和項(xiàng)目管理的工程師和項(xiàng)目經(jīng)理,給學(xué)生講解自己在軟件設(shè)計(jì)、開發(fā)和管理中的經(jīng)驗(yàn),高質(zhì)量軟件產(chǎn)品需要經(jīng)過(guò)怎樣的開發(fā)過(guò)程,軟件生命周期中標(biāo)準(zhǔn)文檔如何撰寫等相關(guān)內(nèi)容;另一方面,利用寒暑假時(shí)間,讓學(xué)生走出去,到軟件產(chǎn)品的研發(fā)單位,實(shí)地實(shí)習(xí)。
2CDIO模式下實(shí)踐教學(xué)體系的構(gòu)建
軟件工程是一門實(shí)踐性很強(qiáng)的專業(yè),應(yīng)用型、工程型軟件人才的培養(yǎng)定位更加強(qiáng)調(diào)學(xué)生動(dòng)手實(shí)踐能力的培養(yǎng)和工程方法學(xué)的訓(xùn)練,因此,實(shí)踐教學(xué)的體系建設(shè)和教學(xué)效果對(duì)學(xué)生的培養(yǎng)質(zhì)量起著至關(guān)重要的作用。借鑒和吸收CDIO工程教育理念和標(biāo)準(zhǔn),我們從教學(xué)內(nèi)容和教學(xué)方法兩方面對(duì)軟件工程專業(yè)實(shí)踐教學(xué)體系進(jìn)行了重新構(gòu)建和實(shí)踐。課程實(shí)驗(yàn)、課程設(shè)計(jì)、綜合實(shí)訓(xùn)、畢業(yè)設(shè)計(jì)四個(gè)層次循序漸進(jìn)、由淺入深、環(huán)環(huán)相扣;在教學(xué)方法的構(gòu)建上,我們從工程教育的角度出發(fā),形成了“案例牽引、項(xiàng)目驅(qū)動(dòng)、團(tuán)隊(duì)合作、引導(dǎo)互動(dòng)”的教學(xué)模式。
2.1教學(xué)內(nèi)容的構(gòu)建
在教學(xué)內(nèi)容的構(gòu)建上,我們按照“以CDIO培養(yǎng)大綱為指南、以項(xiàng)目設(shè)計(jì)為導(dǎo)向、以工程能力培養(yǎng)為目標(biāo)”的原則,將軟件工程專業(yè)的實(shí)踐教學(xué)體系分為以下四層次。2.1.1課程實(shí)驗(yàn)課程實(shí)驗(yàn)是單門專業(yè)課程教學(xué)中的實(shí)踐環(huán)節(jié),也是整個(gè)實(shí)踐教學(xué)體系的基礎(chǔ),對(duì)學(xué)生基礎(chǔ)專業(yè)技能的培養(yǎng)具有重要作用。為了加強(qiáng)實(shí)踐教學(xué),我們?cè)诮^大部分專業(yè)課和專業(yè)基礎(chǔ)課中都設(shè)置了課程實(shí)驗(yàn),根據(jù)教學(xué)目標(biāo)的不同,課程實(shí)驗(yàn)設(shè)計(jì)為驗(yàn)證性、設(shè)計(jì)性和綜合性等不同的層次。對(duì)于實(shí)踐性很強(qiáng)的專業(yè)課程,如程序設(shè)計(jì)基礎(chǔ)、面向?qū)ο蟪绦蛟O(shè)計(jì)等,采用完全實(shí)驗(yàn)教學(xué)的方式,通過(guò)一個(gè)完整的項(xiàng)目將課程知識(shí)結(jié)構(gòu)串聯(lián)起來(lái),并通過(guò)“分而治之”的形式來(lái)學(xué)習(xí)各個(gè)知識(shí)點(diǎn),將教師講解與演示、學(xué)生實(shí)地操作有機(jī)融合起來(lái),最后完成整個(gè)項(xiàng)目,以培養(yǎng)學(xué)生的動(dòng)手實(shí)踐能力和專業(yè)興趣;對(duì)于理論性較強(qiáng)的專業(yè)課程,如數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)等,采用理論講解與上機(jī)實(shí)踐并舉的方式,加強(qiáng)學(xué)生對(duì)專業(yè)基礎(chǔ)理論知識(shí)的理解與應(yīng)用。2.1.2課程設(shè)計(jì)課程設(shè)計(jì)是實(shí)踐教學(xué)體系的第二層次,是在課程實(shí)驗(yàn)的基礎(chǔ)上,選擇一些實(shí)踐性強(qiáng)且具有代表性的課程作為單獨(dú)課程開設(shè)綜合性課程設(shè)計(jì)。例如,Java程序設(shè)計(jì)課程設(shè)計(jì)、軟件工程課程設(shè)計(jì)等。與課程實(shí)驗(yàn)相比,課程設(shè)計(jì)具有綜合性和實(shí)用性的特點(diǎn),學(xué)生在教師的指導(dǎo)下綜合運(yùn)用相關(guān)課程的知識(shí)和技術(shù)完成一個(gè)完整的設(shè)計(jì)或?qū)崿F(xiàn)。通過(guò)課程設(shè)計(jì)的訓(xùn)練,培養(yǎng)學(xué)生運(yùn)用專業(yè)知識(shí)分析問(wèn)題和解決問(wèn)題的能力,使學(xué)生的專業(yè)技能得到進(jìn)一步的提升和拓展。2.1.3綜合實(shí)訓(xùn)綜合實(shí)訓(xùn)是以課程設(shè)計(jì)為基礎(chǔ),綜合運(yùn)用多門相關(guān)課程知識(shí)完成一個(gè)工程項(xiàng)目的實(shí)戰(zhàn)訓(xùn)練。綜合實(shí)訓(xùn)以項(xiàng)目為載體構(gòu)建知識(shí)結(jié)構(gòu),將學(xué)科知識(shí)、專業(yè)技能與工程實(shí)踐有效結(jié)合,體現(xiàn)軟件工程領(lǐng)域中的工程學(xué)和方法學(xué)的實(shí)施,實(shí)施技術(shù)與管理能力訓(xùn)練和職業(yè)綜合素質(zhì)綜合的培養(yǎng)[4]。根據(jù)方向不同,我們?cè)谲浖こ虒I(yè)開設(shè)了兩門綜合實(shí)訓(xùn)課程:(1)軟件開發(fā)綜合實(shí)訓(xùn)。以軟件生命周期為主線,綜合運(yùn)用程序設(shè)計(jì)、數(shù)據(jù)庫(kù)應(yīng)用、軟件工程、軟件項(xiàng)目管理等學(xué)科知識(shí),嚴(yán)格按照軟件開發(fā)的流程與規(guī)范,完成一個(gè)軟件項(xiàng)目的開發(fā),最后提交軟件產(chǎn)品和相關(guān)技術(shù)文檔。(2)軟件測(cè)試綜合實(shí)訓(xùn)。要求學(xué)生以軟件開發(fā)綜合實(shí)訓(xùn)所完成的軟件產(chǎn)品為被測(cè)對(duì)象,綜合運(yùn)行軟件測(cè)試與質(zhì)量保證、軟件測(cè)試流程與方法、測(cè)試框架與自動(dòng)化測(cè)試等學(xué)科知識(shí),使用軟件測(cè)試的方法與技術(shù),設(shè)計(jì)測(cè)試用例和測(cè)試腳本,完成被測(cè)軟件的功能測(cè)試與性能測(cè)試,生成測(cè)試報(bào)告,并對(duì)測(cè)試結(jié)果進(jìn)行分析。2.1.4畢業(yè)設(shè)計(jì)畢業(yè)設(shè)計(jì)是實(shí)現(xiàn)人才培養(yǎng)目標(biāo)的重要手段,是實(shí)踐教學(xué)體系中最后一個(gè)綜合性、創(chuàng)造性的實(shí)踐環(huán)節(jié);是對(duì)學(xué)生基礎(chǔ)理論、專業(yè)知識(shí)與實(shí)踐成果的全面總結(jié),是學(xué)生綜合素質(zhì)與工程實(shí)踐能力的全面檢驗(yàn)[5]。為了提高畢業(yè)設(shè)計(jì)的質(zhì)量,我們從以下三方面層層把關(guān)。(1)在課題選題上,強(qiáng)調(diào)選題的可行性和實(shí)用性,忌空忌大,選題最好能與指導(dǎo)教師的科研方向或?qū)W生的實(shí)習(xí)工作相關(guān)聯(lián);(2)在過(guò)程控制上,實(shí)行師生定期交流與匯報(bào)制度,確保畢業(yè)設(shè)計(jì)按計(jì)劃保質(zhì)保量完成;(3)在畢業(yè)設(shè)計(jì)報(bào)告及相關(guān)材料的撰寫上,從規(guī)范性和科學(xué)性兩方面嚴(yán)格要求,確保質(zhì)量。
2.2教學(xué)方法的構(gòu)建
2.2.1案例牽引案例教學(xué)是實(shí)踐教學(xué)中的常用手段,具有直觀性高、互動(dòng)性強(qiáng)的特點(diǎn)。按照CDIO大綱能力培養(yǎng)的層次要求,結(jié)合各實(shí)踐課程的教學(xué)目標(biāo),我們?cè)趯?shí)踐教學(xué)中精心規(guī)劃和設(shè)置了不同層次、不同復(fù)雜度的教學(xué)案例,以案例實(shí)現(xiàn)過(guò)程為驅(qū)動(dòng)來(lái)安排教學(xué)內(nèi)容和方法。在教學(xué)過(guò)程中,以一個(gè)具體的案例為線索,把教學(xué)內(nèi)容巧妙地融合在案例之中,學(xué)生以完成案例任務(wù)為目標(biāo),在老師的指引下對(duì)目標(biāo)問(wèn)題進(jìn)行分析與分解,并通過(guò)動(dòng)手實(shí)踐解決問(wèn)題,真正做到“做中學(xué)”和“學(xué)中做”。在完成任務(wù)的過(guò)程中,不僅使學(xué)生的動(dòng)手實(shí)踐能力得以提高,也培養(yǎng)了學(xué)生的創(chuàng)新意識(shí)、創(chuàng)新能力以及分析問(wèn)題、解決問(wèn)題的能力。2.2.2項(xiàng)目驅(qū)動(dòng)工程實(shí)踐能力是專業(yè)技能的進(jìn)一步升華和提高,是從整體上對(duì)工程項(xiàng)目的一種實(shí)做能力,是工程類畢業(yè)生必備的核心素質(zhì)。根據(jù)CDIO“做中學(xué)”和“基于項(xiàng)目的教育和學(xué)習(xí)”的思想,我們?cè)趯?shí)踐教學(xué)中廣泛采用項(xiàng)目驅(qū)動(dòng)的教學(xué)模式。強(qiáng)調(diào)以一個(gè)產(chǎn)品或系統(tǒng)從構(gòu)思、設(shè)計(jì)、實(shí)現(xiàn)到運(yùn)作的完整的構(gòu)建過(guò)程來(lái)培養(yǎng)學(xué)生的工程實(shí)踐能力。以軟件開發(fā)綜合實(shí)訓(xùn)課程為例,在課程中引入“項(xiàng)目驅(qū)動(dòng)”的教學(xué)理念,以軟件生命周期為主線,以項(xiàng)目為載體、任務(wù)為驅(qū)動(dòng)開展實(shí)踐教學(xué)。通過(guò)一個(gè)軟件產(chǎn)品從項(xiàng)目啟動(dòng)到需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、運(yùn)行維護(hù)的整個(gè)生產(chǎn)過(guò)程的實(shí)戰(zhàn),培養(yǎng)學(xué)生的工程能力和綜合素質(zhì)。2.2.3分組教學(xué)團(tuán)隊(duì)能力是CDIO大綱要求工程畢業(yè)生必備的一種能力。在實(shí)際教學(xué)過(guò)程中,我們模擬企業(yè)的真實(shí)環(huán)境,將所有學(xué)生分為若干項(xiàng)目小組,每組由一名組長(zhǎng)和若干名組員構(gòu)成。根據(jù)任務(wù)分工不同,每名學(xué)生都被賦予一定的角色,組員在組長(zhǎng)的指揮協(xié)調(diào)下通力合作,共同完成實(shí)驗(yàn)項(xiàng)目。實(shí)踐表明,分組教學(xué)模式能較好地激發(fā)學(xué)生的學(xué)習(xí)熱情,組員之間分工協(xié)作、互學(xué)互助,學(xué)生的溝通能力、協(xié)作精神和團(tuán)隊(duì)意識(shí)大為提升。2.2.4革新考核方式考核是對(duì)學(xué)生學(xué)習(xí)成果的認(rèn)定和評(píng)價(jià),良好的考核機(jī)制能對(duì)學(xué)生的學(xué)習(xí)過(guò)程和學(xué)習(xí)動(dòng)機(jī)產(chǎn)生正確的指引作用,促進(jìn)教學(xué)質(zhì)量的提高。在實(shí)踐課程的考核上,以能力培養(yǎng)為導(dǎo)向,采取多元的考核方式。引導(dǎo)學(xué)生在平時(shí)項(xiàng)目實(shí)訓(xùn)過(guò)程中加強(qiáng)專業(yè)技能的訓(xùn)練、工程能力的培養(yǎng)以及綜合素質(zhì)的提高。(1)對(duì)基礎(chǔ)性的課程實(shí)驗(yàn),重點(diǎn)考核學(xué)生專業(yè)知識(shí)與技能的掌握情況,采取平時(shí)實(shí)驗(yàn)成績(jī)與期末上機(jī)考試成績(jī)相結(jié)合的方式。(2)對(duì)課程設(shè)計(jì)和綜合實(shí)訓(xùn)類課程,重點(diǎn)考核學(xué)生的工程實(shí)踐能力和團(tuán)隊(duì)協(xié)作能力。采取以作品演示、項(xiàng)目答辯為主的考核方式,同時(shí)規(guī)范化的文檔資料也是重要的考評(píng)指標(biāo)。(3)對(duì)于畢業(yè)設(shè)計(jì),重點(diǎn)考核學(xué)生的創(chuàng)新能力。科研能力以及分析解決問(wèn)題的能力,考核方式同綜合實(shí)訓(xùn)。總之,以能力培養(yǎng)為導(dǎo)向,注重能力考評(píng)。2.2.5校企合作校企合作是培養(yǎng)學(xué)生的綜合素質(zhì)和實(shí)踐能力的重要途徑。為了增強(qiáng)人才培養(yǎng)的針對(duì)性和畢業(yè)生與工作崗位的無(wú)縫對(duì)接,我們同中創(chuàng)、中遠(yuǎn)等知名軟件公司開展校企合作聯(lián)合辦學(xué)。充分利用學(xué)校和社會(huì)兩種教育環(huán)境和教育資源,聯(lián)合構(gòu)建工程型實(shí)踐教學(xué)隊(duì)伍與教學(xué)平臺(tái)。一方面,學(xué)校聘請(qǐng)企業(yè)一線的工程師作為兼職教師來(lái)校授課,不僅充實(shí)了實(shí)踐教學(xué)隊(duì)伍,更帶來(lái)了企業(yè)的最新技術(shù)和行業(yè)資訊;另一方面,選派優(yōu)秀教師到企業(yè)學(xué)習(xí)鍛煉,參與企業(yè)項(xiàng)目,提升師資隊(duì)伍的水平。此外,通過(guò)在企業(yè)建立校外實(shí)訓(xùn)、實(shí)習(xí)基地,使學(xué)生盡早感受企業(yè)文化和接觸到真實(shí)的企業(yè)項(xiàng)目,也為學(xué)生就業(yè)積累了豐富的工程實(shí)踐經(jīng)驗(yàn)。