軟件工程課程設(shè)計(jì)總結(jié)范文
時(shí)間:2023-04-01 15:05:30
導(dǎo)語:如何才能寫好一篇軟件工程課程設(shè)計(jì)總結(jié),這就需要搜集整理更多的資料和文獻(xiàn),歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。
篇1
關(guān)鍵詞: 軟件工程課程設(shè)計(jì) 教學(xué)現(xiàn)狀 教學(xué)模式評(píng)價(jià)體系
一、引言
軟件工程是計(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)過程。它是軟件工程教學(xué)的一個(gè)重要實(shí)踐環(huán)節(jié),為學(xué)生綜合能力的運(yùn)用、技術(shù)思維的形成、創(chuàng)造能力的培養(yǎng)搭建了一個(gè)平臺(tái),使學(xué)生除了掌握軟件工程理論和方法外,還能夠綜合運(yùn)用已學(xué)過的程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、計(jì)算機(jī)網(wǎng)絡(luò)、管理學(xué)和經(jīng)濟(jì)學(xué)等課程的技能、工具解決與其相關(guān)的理論或?qū)嶋H問題。
在軟件工程課程設(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)期以來,很多高校培養(yǎng)的學(xué)生存在著“什么都學(xué)過,卻什么都不會(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é)中普遍存在的問題有以下幾點(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)過程變成了重復(fù)的復(fù)制和操作的過程,實(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í)例中拿過來讓學(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)致沒有凝聚整組成員的合作精神和團(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í)行的過程中出現(xiàn)安排任務(wù)不合理,出現(xiàn)某些成員任務(wù)過重或者過輕的情況。
5.學(xué)生成績(jī)的評(píng)分結(jié)果過于單一,評(píng)價(jià)體系不夠科學(xué)合理。對(duì)學(xué)生的設(shè)計(jì)成績(jī)的評(píng)價(jià)往往是指導(dǎo)老師根據(jù)學(xué)生提交的報(bào)告和設(shè)計(jì)結(jié)果來評(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é)中普遍存在的一些問題,我根據(jù)多年的教學(xué)經(jīng)驗(yàn),對(duì)該課程的教學(xué)模式作了如下探討。
1.指導(dǎo)老師根據(jù)軟件工程教學(xué)的特點(diǎn),制定出軟件工程課程設(shè)計(jì)的目標(biāo)與通過該課程設(shè)計(jì)后可取得預(yù)期的收獲。下面是我對(duì)軟件工程課程設(shè)計(jì)制定的目標(biāo)和可能的預(yù)期收獲。
(1)通過本課程設(shè)計(jì)的實(shí)踐及其前后的準(zhǔn)備與總結(jié),復(fù)習(xí)、領(lǐng)會(huì)、鞏固和運(yùn)用軟件工程課堂上所學(xué)的軟件開發(fā)方法和知識(shí),比如,軟件項(xiàng)目的完整設(shè)計(jì)與開發(fā)過程、結(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ì)語言、操作系統(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é)生通過參加小組團(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)通過“稍大的”富有挑戰(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ā)類:包括休閑娛樂(音樂,影視,聊天,休閑運(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)游戲娛樂類:如網(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é)生的興趣、愛好、基本技能和未來學(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)短的答辯。演示過程要求學(xué)生用5―10分鐘時(shí)間敘述設(shè)計(jì)原理、過程、系統(tǒng)運(yùn)行的情況和體會(huì),敘述完畢后由指導(dǎo)老師或其他小組成員提問,指導(dǎo)老師和小組成員記錄該學(xué)生演示情況和回答問題的情況,并以此作為下一階段評(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)的角色來交付;學(xué)生演示與答辯重點(diǎn)體現(xiàn)對(duì)系統(tǒng)的原理、過程、結(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é)語
軟件工程課程設(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)過程中還存在不少問題,例如:個(gè)別學(xué)生的積極主動(dòng)性不夠,存在抄襲設(shè)計(jì)成果現(xiàn)象,等等。這些都需要繼續(xù)努力,尤其是隨著軟件產(chǎn)業(yè)的飛速發(fā)展,如何培養(yǎng)高素質(zhì)軟件人才,對(duì)教師來說更是一種挑戰(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.
[6]馬燕,張根耀,王文發(fā).軟件工程實(shí)驗(yàn)教學(xué)模式改革與實(shí)踐研究[J].教育與職業(yè),2006,(36):149-150.
篇2
關(guān)鍵詞:普通院校;實(shí)踐教學(xué)體系;工程實(shí)踐能力;路線圖
軟件工程專業(yè)在我國(guó)高等院校還是一個(gè)很不成熟的專業(yè),比起傳統(tǒng)的工科專業(yè)來說,軟件工程專業(yè)有更多的技術(shù)成分,因此,我們的教學(xué)體系和模式就要有別于傳統(tǒng)的教學(xué)體系和模式。實(shí)踐教學(xué)體系是否合適將直接影響軟件工程專業(yè)畢業(yè)生的質(zhì)量。對(duì)于重點(diǎn)院校軟件專業(yè)和軟件學(xué)院實(shí)踐教學(xué)體系已有很多專家學(xué)者進(jìn)行了研究與實(shí)踐[1-3],而普通院校無論是師資,還是其他教學(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)來看,普通院校軟件工程專業(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)流行的說法,人才分為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ì)與制造過程中信息結(jié)構(gòu)作為應(yīng)掌握的領(lǐng)域知識(shí)。管理學(xué)知識(shí)將用于團(tuán)隊(duì)管理、軟件開發(fā)過程管理以及信息結(jié)構(gòu)建模等開發(fā)活動(dòng);汽車設(shè)計(jì)與制造過程中的信息作為軟件開發(fā)實(shí)踐的應(yīng)用對(duì)象,是軟件的加工對(duì)象。
4) 人類對(duì)事物的認(rèn)識(shí)是一個(gè)由簡(jiǎn)單到復(fù)雜,由具體到一般的過程,是一個(gè)分析與綜合的過程,將隨著知識(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ā)過程的特點(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í)的理解,“聽過的會(huì)忘記,看過的會(huì)記住,做過的會(huì)理解”。實(shí)驗(yàn)內(nèi)容分為3類。第1類:掌握和運(yùn)用工具,包括語言類,軟件開發(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)用一些還沒有開設(shè)的課程內(nèi)容。
2.3項(xiàng)目實(shí)訓(xùn)
本類實(shí)驗(yàn)的目的主要是訓(xùn)練項(xiàng)目的組織能力、工程實(shí)踐和團(tuán)隊(duì)協(xié)作能力,著重開發(fā)過程的訓(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é)生通過該平臺(tái),可以了解企業(yè)產(chǎn)品的開發(fā)流程,不懂的地方隨時(shí)可以向企業(yè)工程師咨詢;可以選定一個(gè)模塊,按照PLM系統(tǒng)接口規(guī)范進(jìn)行設(shè)計(jì)開發(fā),然后集成到PLM系統(tǒng)中去。可以是替換原來的模塊,也可以是增加新的功能,進(jìn)行集成測(cè)試檢驗(yàn)程序的可靠性和效率。時(shí)間安排為4~8周為宜,由學(xué)校教師與企業(yè)工程共同指導(dǎo)。
2.5畢業(yè)設(shè)計(jì)
畢業(yè)設(shè)計(jì)是大學(xué)教學(xué)過程的最后一個(gè)環(huán)節(jié),是一個(gè)學(xué)生自主開發(fā)的綜合性實(shí)踐教學(xué)環(huán)節(jié)。通過畢業(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é)合起來。學(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í)踐中遇到的各種問題給予解答,包括編程語法、算法邏輯、軟件體系結(jié)構(gòu)設(shè)計(jì)、用戶需求分析、團(tuán)隊(duì)協(xié)作方法等;在實(shí)踐過程中更多地是站在用戶的角度對(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ā)過程的各種角色――投資者、使用者、組織者、設(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è)實(shí)踐教學(xué)體系是我校通過幾年的不斷摸索與改正后形成的。在探索過程中獲得了湖北省教育廳項(xiàng)目(軟件工程創(chuàng)新型人才培養(yǎng)研究)和學(xué)校的支持(2007年軟件工程特色專業(yè)建設(shè)費(fèi)15萬元)。該實(shí)踐教學(xué)體系利用一些基礎(chǔ)實(shí)驗(yàn)幫助學(xué)生理解和掌握專業(yè)理論知識(shí),為今后的發(fā)展打下堅(jiān)實(shí)的專業(yè)基礎(chǔ),同時(shí)通過參與各種項(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,
Shiyan 442002, China)
篇3
關(guān)鍵詞:軟件工程;應(yīng)用型人才;項(xiàng)目案例;實(shí)踐教學(xué)
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A
1 引言(Introduction)
軟件工程作為計(jì)算機(jī)和軟件本科專業(yè)最綜合最系統(tǒng)的一門課程,在促進(jìn)學(xué)生鞏固之前學(xué)過的專業(yè)知識(shí)、掌握軟件開發(fā)過程及方法、理解軟件工程實(shí)踐等方面發(fā)揮了積極作用。但高校特別是三本院校在軟件工程課程講授時(shí)理論脫離實(shí)際,片面地強(qiáng)調(diào)理論學(xué)習(xí)而忽視實(shí)踐能力的培養(yǎng),理論部分過于抽象,在課程實(shí)驗(yàn)中,沒有把握好課程在人才培養(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ā)過程及相應(yīng)方法,與社會(huì)對(duì)軟件人才的需求存在差距,學(xué)生難以很快融入現(xiàn)代IT企業(yè)的運(yùn)作[1]。如何培養(yǎng)起適合信息產(chǎn)業(yè)所需要的應(yīng)用型、實(shí)踐型人才,已經(jīng)成為亟待解決的問題。因此要想將學(xué)生培養(yǎng)成為符合社會(huì)需要的軟件工程人才,就應(yīng)當(dāng)改變目前的局面,全面考慮軟件工程課程建設(shè)。
本課題研究主要針對(duì)目前軟件工程課程理論脫離實(shí)際,同時(shí)很多教師過分強(qiáng)調(diào)軟件工程理論知識(shí)的一面,忽視了軟件工程必須有實(shí)踐項(xiàng)目還具有經(jīng)驗(yàn)性、參與性、發(fā)展性的特點(diǎn),通過理論研究和教學(xué)實(shí)踐對(duì)軟件工程教學(xué)實(shí)踐提供實(shí)踐指導(dǎo)。加強(qiáng)軟件工程實(shí)踐教學(xué)的改革,通過理論與實(shí)踐相結(jié)合的方法培養(yǎng)社會(huì)需要的應(yīng)用型軟件工程人才。解決三本院校軟件工程課程教授中理論、實(shí)驗(yàn)與實(shí)際相脫離的問題。
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é)過程質(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)軟件工程人才過程中要和一二本院校區(qū)別開來,我們應(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ó)內(nèi)外的優(yōu)質(zhì)資源,通過校企合作,共建實(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ù)外包產(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é)過程中,軟件工程專業(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é)體系,通過引進(jìn)、開發(fā)真實(shí)的項(xiàng)目案例,讓學(xué)生實(shí)際參與項(xiàng)目開發(fā)全過程,切實(shí)提高學(xué)生解決實(shí)際問題的能力,培養(yǎng)他們的綜合應(yīng)用素質(zhì)。
(3)引入企業(yè),接軌市場(chǎng)需求
基于工程化培養(yǎng)理念建立一批校企聯(lián)合實(shí)習(xí)實(shí)訓(xùn)基地,實(shí)現(xiàn)教學(xué)過程與生產(chǎn)過程的對(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)方法過度的在講授枯燥的理論知識(shí),學(xué)生沒有實(shí)際的工程項(xiàng)目的經(jīng)驗(yàn),根本無法理解軟件工程課程里的內(nèi)容,在軟件工程課程理論課上教師要通過典型的軟件項(xiàng)目實(shí)例來講解理論知識(shí),將實(shí)例貫穿于教學(xué)環(huán)節(jié),模擬軟件工程項(xiàng)目場(chǎng)景,啟發(fā)學(xué)生分析問題、進(jìn)行方案設(shè)計(jì),在項(xiàng)目案例講解過程中抽象上升為理論知識(shí),理論知識(shí)又反過來指導(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í)人員的分工配合來進(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ā)過程進(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ā)過程。項(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í)踐能力,通過這樣的手段學(xué)生能比較真切地理解軟件工程理論知識(shí)并掌握軟件開發(fā)過程。通過實(shí)驗(yàn),掌握一個(gè)完整軟件開發(fā)過程,及過程中的每一個(gè)階段的任務(wù)、目標(biāo)、方法、工具,并熟練使用一些CASE(計(jì)算機(jī)輔助軟件工程)工具來提升軟件開發(fā)效率,保證軟件質(zhì)量。通過集中性的課程設(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ǔ)。最后通過畢業(yè)設(shè)計(jì)綜合性鍛煉,實(shí)現(xiàn)學(xué)生就業(yè)的平滑過渡。
在每一級(jí)實(shí)驗(yàn)過程中都采用“教師為主導(dǎo)、學(xué)生為主體”的原則,才有利于避免學(xué)生在學(xué)習(xí)上的依耐性、缺乏獨(dú)立思考問題和解決問題的能力,因此要充分發(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é),通過本次實(shí)驗(yàn)遇到了什么問題?解決的方法是什么?實(shí)現(xiàn)了什么功能?還有哪些有待解決的問題?都要加以總結(jié),并以報(bào)告的形式記錄下來,有利于日后開展實(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ā)過程中除編碼測(cè)試人員之外的其他崗位的職責(zé)和特性,學(xué)生只有真正進(jìn)入企業(yè)才能體會(huì)并有機(jī)會(huì)實(shí)踐這些崗位。社會(huì)實(shí)踐教學(xué)可以通過校企合作的形式,也可以鼓勵(lì)學(xué)生自己去找實(shí)習(xí)單位,學(xué)生可以根據(jù)自己的興趣和個(gè)人發(fā)展方向來自由選擇角色,完成不同的任務(wù),教師和公司導(dǎo)師給予引導(dǎo)。社會(huì)實(shí)踐教學(xué)是一次綜合性的實(shí)踐活動(dòng),是學(xué)生走向社會(huì)的開始,通過社會(huì)實(shí)踐教學(xué)活動(dòng),使學(xué)生能夠逐步認(rèn)識(shí)綜合利用所學(xué)的專業(yè)知識(shí),培養(yǎng)軟件開發(fā)的技能,深刻體會(huì)企業(yè)軟件開發(fā)與學(xué)習(xí)過程中編寫軟件的不同、軟件工程各階段角色任務(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)
通過對(duì)幾年軟件工程課程教學(xué)的思考和總結(jié),以及調(diào)研一些其他院校軟件工程課程,提出了三本院校中軟件工程實(shí)踐教學(xué)存在的問題以及軟件工程實(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.
作者簡(jiǎn)介:
篇4
軟件工程是一門建立在計(jì)算機(jī)科學(xué)和工程學(xué)基礎(chǔ)之上,同時(shí)涉及數(shù)學(xué)、管理學(xué)、經(jīng)濟(jì)學(xué)和系統(tǒng)工程等學(xué)科理論與方法的學(xué)科及專業(yè)。軟件工程教育兼具科學(xué)教育屬性與工程教育屬性,前者培養(yǎng)的是軟件工程基礎(chǔ)研究人才,后者培養(yǎng)的是軟件工程技術(shù)、應(yīng)用、管理和服務(wù)人才。我校作為一所普通本科院校,結(jié)合區(qū)域經(jīng)濟(jì)發(fā)展實(shí)際,將軟件工程專業(yè)的培養(yǎng)目標(biāo)定位為培養(yǎng)應(yīng)用型、工程型軟件人才。即能夠綜合應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等學(xué)科知識(shí),以工程化的原則與方法為指導(dǎo),勝任現(xiàn)代軟件工程環(huán)境下高質(zhì)量軟件的開發(fā)、測(cè)試和維護(hù)等工作的軟件工程技術(shù)、應(yīng)用、管理和服務(wù)人才。該培養(yǎng)目標(biāo)可進(jìn)一步解讀為以下三點(diǎn):扎實(shí)的專業(yè)基礎(chǔ)、良好的工程學(xué)意識(shí)、較強(qiáng)的動(dòng)手實(shí)踐能力。
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é)的方式,通過一個(gè)完整的項(xiàng)目將課程知識(shí)結(jié)構(gòu)串聯(lián)起來,并通過“分而治之”的形式來學(xué)習(xí)各個(gè)知識(shí)點(diǎn),將教師講解與演示、學(xué)生實(shí)地操作有機(jī)融合起來,最后完成整個(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)。通過課程設(shè)計(jì)的訓(xùn)練,培養(yǎng)學(xué)生運(yùn)用專業(yè)知識(shí)分析問題和解決問題的能力,使學(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)在過程控制上,實(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)過程為驅(qū)動(dòng)來安排教學(xué)內(nèi)容和方法。在教學(xué)過程中,以一個(gè)具體的案例為線索,把教學(xué)內(nèi)容巧妙地融合在案例之中,學(xué)生以完成案例任務(wù)為目標(biāo),在老師的指引下對(duì)目標(biāo)問題進(jìn)行分析與分解,并通過動(dòng)手實(shí)踐解決問題,真正做到“做中學(xué)”和“學(xué)中做”。在完成任務(wù)的過程中,不僅使學(xué)生的動(dòng)手實(shí)踐能力得以提高,也培養(yǎng)了學(xué)生的創(chuàng)新意識(shí)、創(chuàng)新能力以及分析問題、解決問題的能力。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)建過程來培養(yǎng)學(xué)生的工程實(shí)踐能力。以軟件開發(fā)綜合實(shí)訓(xùn)課程為例,在課程中引入“項(xiàng)目驅(qū)動(dòng)”的教學(xué)理念,以軟件生命周期為主線,以項(xiàng)目為載體、任務(wù)為驅(qū)動(dòng)開展實(shí)踐教學(xué)。通過一個(gè)軟件產(chǎn)品從項(xiàng)目啟動(dòng)到需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、運(yùn)行維護(hù)的整個(gè)生產(chǎn)過程的實(shí)戰(zhàn),培養(yǎng)學(xué)生的工程能力和綜合素質(zhì)。2.2.3分組教學(xué)團(tuán)隊(duì)能力是CDIO大綱要求工程畢業(yè)生必備的一種能力。在實(shí)際教學(xué)過程中,我們模擬企業(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í)過程和學(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)過程中加強(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)新能力。科研能力以及分析解決問題的能力,考核方式同綜合實(shí)訓(xùn)。總之,以能力培養(yǎng)為導(dǎo)向,注重能力考評(píng)。2.2.5校企合作校企合作是培養(yǎng)學(xué)生的綜合素質(zhì)和實(shí)踐能力的重要途徑。為了增強(qiáng)人才培養(yǎng)的針對(duì)性和畢業(yè)生與工作崗位的無縫對(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è)一線的工程師作為兼職教師來校授課,不僅充實(shí)了實(shí)踐教學(xué)隊(duì)伍,更帶來了企業(yè)的最新技術(shù)和行業(yè)資訊;另一方面,選派優(yōu)秀教師到企業(yè)學(xué)習(xí)鍛煉,參與企業(yè)項(xiàng)目,提升師資隊(duì)伍的水平。此外,通過在企業(yè)建立校外實(shí)訓(xùn)、實(shí)習(xí)基地,使學(xué)生盡早感受企業(yè)文化和接觸到真實(shí)的企業(yè)項(xiàng)目,也為學(xué)生就業(yè)積累了豐富的工程實(shí)踐經(jīng)驗(yàn)。
3結(jié)束語
篇5
關(guān)鍵詞:網(wǎng)絡(luò)教學(xué);軟件工程;實(shí)驗(yàn)教學(xué)
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2013)09-2194-03
1 概述
軟件工程是研究計(jì)算機(jī)軟件開發(fā)與軟件管理的工程學(xué)科,是一門理論性和實(shí)踐性都很強(qiáng)的綜合性課程。軟件工程本身涉及到的知識(shí)內(nèi)容很廣,是將面向?qū)ο蠹夹g(shù)、程序開發(fā)方法和數(shù)據(jù)庫(kù)原理等課程綜合的過程。通過軟件工程的學(xué)習(xí),目的是培養(yǎng)學(xué)生獨(dú)立分析和解決問題的能力,增強(qiáng)學(xué)生實(shí)踐和動(dòng)手能力,并熟練地掌握計(jì)算機(jī)軟件的各種開發(fā)工具。
目前的軟件工程課程,比較注重課堂教學(xué),實(shí)驗(yàn)教學(xué)學(xué)時(shí)少,任務(wù)重,包含的內(nèi)容多,如果學(xué)生之前沒有花時(shí)間預(yù)習(xí)和準(zhǔn)備實(shí)驗(yàn),沒有對(duì)整個(gè)實(shí)驗(yàn)過程作系統(tǒng)規(guī)劃,會(huì)導(dǎo)致上實(shí)驗(yàn)課時(shí)無從下手,影響學(xué)生的學(xué)習(xí)積極性和學(xué)習(xí)效果,因此科學(xué)地規(guī)劃軟件工程實(shí)驗(yàn)課程并對(duì)實(shí)驗(yàn)課程進(jìn)行教學(xué)改革是非常有必要的。該文提出了采用網(wǎng)絡(luò)教學(xué)平臺(tái)作為軟件工程實(shí)驗(yàn)課程的輔助手段,對(duì)軟件工程實(shí)踐課程的教學(xué)改革進(jìn)行了探索。利用網(wǎng)絡(luò)學(xué)習(xí)的方法,能夠在更大程度上調(diào)動(dòng)學(xué)生的學(xué)習(xí)主動(dòng)性和積極性,增強(qiáng)學(xué)習(xí)效果,更好地實(shí)現(xiàn)教學(xué)目標(biāo)
2 實(shí)驗(yàn)課程網(wǎng)站建設(shè)
近年來隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)教學(xué)模式越來越顯示出其優(yōu)越性。教學(xué)網(wǎng)站具有教學(xué)資源豐富、學(xué)習(xí)自由的特點(diǎn),網(wǎng)絡(luò)教學(xué)的模式也有利于學(xué)生自主學(xué)習(xí)能力和創(chuàng)新精神的培養(yǎng)。建立軟件工程實(shí)驗(yàn)課程網(wǎng)站的主要目的,是讓學(xué)生對(duì)所要進(jìn)行的軟件工程實(shí)驗(yàn)有整體的認(rèn)識(shí)和了解,明確實(shí)驗(yàn)任務(wù)、實(shí)驗(yàn)要求和實(shí)驗(yàn)方法,對(duì)整個(gè)實(shí)驗(yàn)過程有合理的規(guī)劃。根據(jù)軟件工程開發(fā)的整個(gè)過程和技術(shù)要求,設(shè)置實(shí)驗(yàn)課程網(wǎng)站,主要包括以下幾個(gè)模塊:
2.1 課程資源
課程資源是涵蓋理論課和實(shí)驗(yàn)課的各種相關(guān)資源信息,主要包括課程介紹、教學(xué)大綱、實(shí)驗(yàn)大綱以及課程相關(guān)資料等。這個(gè)模塊為學(xué)生課下自主學(xué)習(xí)提供了非常有針對(duì)性的資源, 對(duì)課堂教學(xué)是一個(gè)很好的補(bǔ)充。
2.1.1 理論教學(xué)資源
課程介紹:是對(duì)課程的主要內(nèi)容、課程的特點(diǎn)、課程學(xué)習(xí)的目的和任務(wù)等多方面作一個(gè)總括性的簡(jiǎn)介方便學(xué)生對(duì)課程有一個(gè)總體的把握與了解。
教學(xué)大綱:主要包括課程教學(xué)的內(nèi)容與要求,對(duì)每章節(jié)的知識(shí)點(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í)更有目的性和針對(duì)性,提高了教學(xué)效率。
授課教案和課件:這是學(xué)生自主學(xué)習(xí)最重要的部分,包括各章節(jié)的文字教案和多媒體教學(xué)課件。如果學(xué)生課堂上沒有完全理解授課內(nèi)容的,可以帶著問題在課下繼續(xù)進(jìn)行自主學(xué)習(xí),能調(diào)動(dòng)學(xué)生的自主學(xué)習(xí)的積極性,提高教學(xué)效果。
預(yù)備知識(shí):列出學(xué)生已經(jīng)學(xué)習(xí)過的與軟件工程設(shè)計(jì)有關(guān)的課程目錄,如程序語言、數(shù)據(jù)庫(kù)、操作系統(tǒng)等,引導(dǎo)學(xué)生復(fù)習(xí)一些在軟件工程中需要涉及到的相關(guān)知識(shí)。
2.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)目?jī)?nèi)容應(yīng)從簡(jiǎn)單到復(fù)雜對(duì)學(xué)生進(jìn)行引導(dǎo), 給學(xué)生留下充足的學(xué)習(xí)思考空間,引導(dǎo)學(xué)生自主學(xué)習(xí)的方式和解決問題的方法,
課程設(shè)計(jì)要求:主要包括分組情況、任務(wù)分配、任務(wù)書的規(guī)范說明、提交方式、打印格式和成績(jī)核定方法。
此外,還可以給出實(shí)驗(yàn)計(jì)劃表和課程設(shè)計(jì)計(jì)劃表等實(shí)驗(yàn)詳細(xì)信息,使學(xué)生能合理規(guī)劃好整個(gè)實(shí)驗(yàn)環(huán)節(jié)所要完成的任務(wù)。
2.2 項(xiàng)目任務(wù)
該模塊主要包括項(xiàng)目實(shí)例,方便學(xué)生學(xué)習(xí)和了解;建立項(xiàng)目題庫(kù),學(xué)生可以選擇項(xiàng)目,完成實(shí)驗(yàn)任務(wù)。
2.2.1 項(xiàng)目實(shí)例
教師根據(jù)學(xué)生的知識(shí)結(jié)構(gòu)和實(shí)際情況,虛擬設(shè)計(jì)一兩個(gè)小型系統(tǒng),作為項(xiàng)目實(shí)例,如停車場(chǎng)管理系統(tǒng)、借還書管理系統(tǒng)等。貫穿軟件生命周期整個(gè)過程,從問題定義、可行性分析、需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)到調(diào)試分析和軟件測(cè)試,給出項(xiàng)目的全過程設(shè)計(jì)。
學(xué)生通過實(shí)例學(xué)習(xí),對(duì)軟件工程開發(fā)項(xiàng)目有全面的認(rèn)識(shí)和了解,知道軟件生命周期的各個(gè)過程應(yīng)該做些什么,如何進(jìn)行可行性研究,需求分析的任務(wù)是什么,采用什么分析工具,怎樣能全面周到的做好總體設(shè)計(jì)規(guī)劃,詳細(xì)設(shè)計(jì)階段的設(shè)計(jì)說明書的作用是什么,系統(tǒng)模塊如何劃分,程序?qū)崿F(xiàn)的方法有哪些,怎么設(shè)計(jì)軟件測(cè)試方案以及軟件維護(hù)說明書。
2.2.2 項(xiàng)目題庫(kù)
教師可為學(xué)生準(zhǔn)備一些軟件項(xiàng)目, 如停車場(chǎng)管理系統(tǒng),在線考試系統(tǒng),圖書管理系統(tǒng),學(xué)生信息系統(tǒng),銀行卡管理系統(tǒng),教材定購(gòu)系統(tǒng),工資管理系統(tǒng),設(shè)備管理系統(tǒng)等,建立項(xiàng)目題庫(kù),每個(gè)項(xiàng)目配備相應(yīng)的項(xiàng)目任務(wù)書,以便學(xué)生選擇項(xiàng)目,下載相關(guān)的項(xiàng)目任務(wù)書,完成項(xiàng)目計(jì)劃。
項(xiàng)目題庫(kù)中的項(xiàng)目,要不斷更新。項(xiàng)目的來源可以根據(jù)企業(yè)的需求、也可以是教師自己的科研項(xiàng)目,要對(duì)各個(gè)項(xiàng)目進(jìn)行共同討論,決定項(xiàng)目的可行性,并根據(jù)教學(xué)要求和課程特點(diǎn),對(duì)實(shí)際項(xiàng)目進(jìn)行剪切或劃分成子項(xiàng)目,使其具有可操作性和實(shí)踐性,便于學(xué)生操作和實(shí)訓(xùn)。
2.3 軟件工具
該模塊是配置相應(yīng)的軟件工程實(shí)驗(yàn)軟件,主要提供建模工具和編程軟件的下載,便于學(xué)生完成項(xiàng)目的分析過程,實(shí)現(xiàn)系統(tǒng)功能。
2.3.1 建模工具
對(duì)幾種UML統(tǒng)一建模工具進(jìn)行簡(jiǎn)單介紹,并提供軟件下載,安裝方法和使用教程。學(xué)生可以采用不同的分析工具,建立系統(tǒng)的分析模型,并做好需求分析和系統(tǒng)設(shè)計(jì)。
主要的建模工具有Microsoft Office Visio、Rational Rose和PowerDesigner三種。Microsoft Office Visio中引進(jìn)了軟件分析設(shè)計(jì)功能到代碼生成的全部功能,可以更輕松地將流程、系統(tǒng)和復(fù)雜信息可視化、可以創(chuàng)建多種類的圖表。Rational Rose主要是對(duì)開發(fā)過程中的各種語義、模塊、對(duì)象以及流程、狀態(tài)等進(jìn)行比較好的描述,能從各個(gè)方面和角度來分析和設(shè)計(jì),對(duì)系統(tǒng)的代碼框架生成有很好的支持。PowerDesigner是一種數(shù)據(jù)庫(kù)建模工具,允許使用一種結(jié)構(gòu)化的方法有效地創(chuàng)建數(shù)據(jù)庫(kù)或數(shù)據(jù)倉(cāng)庫(kù),它還提供了直觀的符號(hào)表示,使數(shù)據(jù)庫(kù)的創(chuàng)建更加容易,并使項(xiàng)目組內(nèi)的交流和通訊標(biāo)準(zhǔn)化。
2.3.2 編程工具
給出幾種軟件開發(fā)工具,如結(jié)構(gòu)化編程語言或面向?qū)ο蟮木幊誊浖–、C++、JAVA、DELPHI),以及SQL、Powerbuilder等開發(fā)工具,并提供軟件下載和安裝方法,供學(xué)生選擇編程軟件,編寫程序,并測(cè)試軟件。
2.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)的程序代碼,軟件測(cè)試報(bào)告以及用戶使用手冊(cè)等。
規(guī)格說明:可以給出一些規(guī)格說明的樣例和標(biāo)準(zhǔn),學(xué)生可以使用非形式化、半形式化和形式化等方法描述需求分析規(guī)格說明,詳細(xì)設(shè)計(jì)規(guī)格說明,并給出系統(tǒng)各部分的設(shè)計(jì)規(guī)格說明書。鼓勵(lì)學(xué)生學(xué)習(xí)和使用形式化的方法描述規(guī)格說明,例如:有窮狀態(tài)機(jī)、Petri網(wǎng)以及Z語言等,這樣可以用數(shù)學(xué)方法研究和驗(yàn)證規(guī)格說明是否正確,并消除二義性。
2.5成績(jī)?cè)u(píng)價(jià)
該模塊主要給出實(shí)驗(yàn)教學(xué)各階段的成績(jī)考核方式及評(píng)定標(biāo)準(zhǔn)。課程實(shí)驗(yàn)中,上機(jī)操作占課程實(shí)驗(yàn)成績(jī)的50%(含平時(shí)上機(jī)操作和考勤),課程實(shí)驗(yàn)需要提交的文檔和報(bào)告占50%。課程設(shè)計(jì)因?yàn)槭欠中〗M進(jìn)行,成績(jī)?cè)u(píng)定可以分成個(gè)人成績(jī)和小組成績(jī)兩部分,個(gè)人成績(jī)主要根據(jù)個(gè)人在小組中所分工作多少和完成工作情況來確定,小組成績(jī)則由各個(gè)小組階段成績(jī)和系統(tǒng)最終驗(yàn)收的情況來確定(如系統(tǒng)是否達(dá)到需求規(guī)格說明中的功能性、提交的文檔是否全面和規(guī)范, 源程序編寫是否規(guī)范、可維護(hù)性等)。
每個(gè)項(xiàng)目組都應(yīng)該進(jìn)行匯報(bào),展示自己的成果,由教師和其他同學(xué)組成評(píng)審團(tuán), 對(duì)每個(gè)項(xiàng)目組的匯報(bào)進(jìn)行評(píng)審和打分, 提出修改意見和建議。匯報(bào)結(jié)束后, ,教師要進(jìn)行總結(jié)點(diǎn)評(píng), 并寫出評(píng)語。既要評(píng)價(jià)項(xiàng)目成果,也評(píng)價(jià)學(xué)生的表現(xiàn),幫助學(xué)生整理學(xué)習(xí)內(nèi)容, 鼓勵(lì)學(xué)生的積極性。
3 網(wǎng)絡(luò)輔助教學(xué)
建立軟件工程實(shí)驗(yàn)課程網(wǎng)絡(luò)教學(xué)平臺(tái)后,如何讓學(xué)生充分利用平臺(tái)資源進(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í)平臺(tái),在理論課程學(xué)習(xí)的同時(shí),學(xué)生可以分三個(gè)階段完成軟件工程實(shí)驗(yàn)課程:
1)網(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ì)軟件完成對(duì)整個(gè)系統(tǒng)的代碼編寫,遵循代碼的開發(fā)規(guī)范。設(shè)計(jì)測(cè)試用例,對(duì)系統(tǒng)進(jìn)行測(cè)試,并提交相關(guān)文檔。
成績(jī)?cè)u(píng)價(jià)部分由教師來完成,每個(gè)階段都要進(jìn)行階段性評(píng)價(jià),并根據(jù)項(xiàng)目的最終完成情況給出整體評(píng)價(jià)。要著力培養(yǎng)學(xué)生軟件工程開發(fā)工具的應(yīng)用能力, 要求學(xué)生按規(guī)定提交項(xiàng)目要求的各種文檔,形成較為科學(xué)的綜合成績(jī)?cè)u(píng)定方法。
4 結(jié)束語
軟件工程實(shí)驗(yàn)課程的教學(xué)改革是軟件工程課程改革的一個(gè)重要部分,教學(xué)方法和實(shí)驗(yàn)環(huán)境是軟件工程實(shí)驗(yàn)課程改革得以實(shí)現(xiàn)的重要保障。利用網(wǎng)絡(luò)教學(xué)平臺(tái)輔助軟件工程的實(shí)驗(yàn)教學(xué), 可以實(shí)現(xiàn)資源共享,使得學(xué)生對(duì)整個(gè)實(shí)驗(yàn)教學(xué)有全面的認(rèn)識(shí)和了解,有利于調(diào)動(dòng)學(xué)生的學(xué)習(xí)興趣和主動(dòng)性,提升學(xué)生分析問題能力和實(shí)際解決問題的能力,對(duì)增強(qiáng)學(xué)生的項(xiàng)目管理能力和開發(fā)能力,起到很好的作用。
參考文獻(xiàn):
[1] 張海藩.軟件工程(第3版)[M].北京:人民郵電出版社,2010.
篇6
關(guān)鍵詞 軟件工程 實(shí)踐教學(xué) 導(dǎo)學(xué)制 虛擬
中圖分類號(hào):G642.4文獻(xiàn)標(biāo)識(shí)碼:A
The Application of the Software Engineering
Practicality Teaching on Virtual Enterprise
WU Zhinan
(Yichun College, Yichun, Jiangxi 336000)
AbstractThe traditional practicality teaching of software engineering has such problems as not having coherent cases, not having real environment and not having students master all kinds of knowledge and skills. Based on virtual software enterprise, the guided learning system is meant to accomplish the teaching task by means of establishing a class-teaching organization in accordance with the real software engineering enterprise under the supervision of a guider. In this organizaiton, students are given the identity of a software engineer., the all-round experience of solving problems in real situation, and thereby they can handle the task and master the knowledge in the field of software engineering.
Key wordssoftware engineering;practicality teaching; guided learning system; vitual
0 引言
“軟件工程”是一門指導(dǎo)學(xué)生高效高質(zhì)量完成軟件工程任務(wù)的課程,是對(duì)軟件開發(fā)活動(dòng)教訓(xùn)及經(jīng)驗(yàn)的積累和總結(jié)。該課程對(duì)對(duì)學(xué)生未來的軟件工程實(shí)踐具有重要的指導(dǎo)作用。然而在實(shí)際的教學(xué)實(shí)踐中,學(xué)生往往對(duì)已總結(jié)的理論缺乏具體而貼切的理解,而且認(rèn)為課程枯燥無味,或者只對(duì)里面涉及到的工具和技術(shù)感興趣,忽視了軟件項(xiàng)目開發(fā)中各種輔助管理過程的重要作用。這種重技術(shù)輕管理的意識(shí)在學(xué)生中非常普遍,甚至在中國(guó)很多小型軟件公司中也很常見。究其原因,是在軟件工程學(xué)習(xí)中對(duì)其中的管理技能和工程技術(shù)技能缺乏全面的掌握,這也是軟件工程教學(xué)常見的教學(xué)問題。為提高軟件工程教學(xué)質(zhì)量,將實(shí)際軟件企業(yè)制度引進(jìn)教學(xué)實(shí)驗(yàn)課堂,是一種較好的解決辦法。
1 基于模擬軟件企業(yè)的導(dǎo)學(xué)制基本思想
基于模擬軟件企業(yè)的導(dǎo)學(xué)制的思想,是指在學(xué)校軟件工程實(shí)驗(yàn)教學(xué)中,把軟件企業(yè)的運(yùn)行管理機(jī)制引入到課堂實(shí)
驗(yàn)項(xiàng)目中,讓學(xué)生扮演軟件企業(yè)項(xiàng)目開發(fā)的各種角色,結(jié)合軟件工程課程學(xué)習(xí),完成軟件工程實(shí)驗(yàn)教學(xué)。具體執(zhí)行的流程如圖1:
具體來說,在整個(gè)課程的學(xué)習(xí)過程中,教師扮演的則是“導(dǎo)學(xué)員”的角色。在課程的初級(jí)階段教師即借鑒企業(yè)管理制度,建立模擬軟件企業(yè)的組織機(jī)構(gòu)。根據(jù)每個(gè)階段不同的實(shí)驗(yàn)任務(wù)――如需求分析階段的需求分析任務(wù),軟件設(shè)計(jì)階段的概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)任務(wù)等――確定該階段的虛擬企業(yè)角色,并分配到每個(gè)學(xué)生,讓學(xué)生來親自來組織、實(shí)施并相互配合完成任務(wù)。但在組織實(shí)施前,老師應(yīng)該詳細(xì)地描繪實(shí)施藍(lán)圖,同時(shí)根據(jù)對(duì)工程活動(dòng)的理解,查閱相關(guān)資料并制定該階段活動(dòng)計(jì)劃,分派任務(wù)給各角色人員。整個(gè)實(shí)施過程在教師的指導(dǎo)下進(jìn)行,實(shí)施完成后根據(jù)軟件企業(yè)進(jìn)行階段評(píng)審,最后由導(dǎo)師根據(jù)其質(zhì)量進(jìn)行評(píng)價(jià),完成相關(guān)實(shí)驗(yàn)任務(wù)。該方法核心是將企業(yè)運(yùn)行的一套流程盡可能真實(shí)地引進(jìn)課堂,其目的是通過這套制度讓學(xué)生獲得多方面體驗(yàn),包括協(xié)作、溝通、計(jì)劃等管理技術(shù),以及在具體實(shí)施軟件工程活動(dòng)時(shí)的學(xué)習(xí)開發(fā)分析技能,并最終達(dá)到全面理解軟件工程理念的目的。
2 教學(xué)實(shí)施的關(guān)鍵問題
基于模擬軟件企業(yè)導(dǎo)學(xué)制是一種操作性很強(qiáng)的實(shí)踐教學(xué)方法,教學(xué)需教師嚴(yán)密計(jì)劃,精心組織,敏銳觀察。該教學(xué)方法實(shí)施的關(guān)鍵環(huán)節(jié),現(xiàn)以問題的形式闡述如下:
2.1 如何建立一個(gè)模擬軟件企業(yè)組織
一個(gè)軟件企業(yè)的正常運(yùn)行需要多方面人員的合作和配合,如市場(chǎng)人員、開發(fā)人員、測(cè)試人員和行政管理人員。但作為一個(gè)課堂引入的虛擬企業(yè)組織,其主要功能是讓學(xué)生在課程學(xué)習(xí)時(shí)有個(gè)真實(shí)的情境,通過虛擬企業(yè)的運(yùn)行,學(xué)習(xí)體會(huì)軟件工程知識(shí)。因此,引入軟件工程課程的虛擬企業(yè)只需配備主要職能部門,學(xué)生就能進(jìn)行仿真運(yùn)行。這些主要的職能部門包括項(xiàng)目經(jīng)理、軟件需求分析調(diào)研員、軟件的系統(tǒng)分析設(shè)計(jì)人員,軟件程序員和測(cè)試人員等主要開發(fā)測(cè)試人員和管理人員。同時(shí)將學(xué)生分為3-5人一組,以便每個(gè)學(xué)生充分學(xué)習(xí)軟件工程各階段角色任務(wù)管理和開發(fā)知識(shí)。同時(shí),每一個(gè)階段偏重的任務(wù)不同,學(xué)生的角色也應(yīng)隨之有所改變。這樣的組織雖簡(jiǎn)易,但卻有很高的可行性。同時(shí)也是有利于學(xué)生對(duì)企業(yè)運(yùn)作環(huán)境有較為真實(shí)的體驗(yàn),學(xué)習(xí)多方面的知識(shí),達(dá)到完成軟件工程實(shí)踐知識(shí)的目的。
2.2 如何管理和運(yùn)行
在真實(shí)的企業(yè)中,一個(gè)項(xiàng)目接下來,相應(yīng)的組織便成立。那在軟件工程實(shí)踐教學(xué)中,如何使項(xiàng)目組有秩序地運(yùn)行呢?所以,教師在實(shí)驗(yàn)之處就應(yīng)選擇好一個(gè)軟件教學(xué)項(xiàng)目,教學(xué)時(shí)應(yīng)做好充足的準(zhǔn)備,制定好教學(xué)計(jì)劃和項(xiàng)目實(shí)施計(jì)劃,確定每個(gè)階段應(yīng)配備的人員。在確定好項(xiàng)目的角色后,教師還應(yīng)進(jìn)行預(yù)先指導(dǎo),以引導(dǎo)其完成本堂課涉及的項(xiàng)目活動(dòng)計(jì)劃和任務(wù)。隨著教學(xué)過程的推進(jìn),教師也需推動(dòng)虛擬企業(yè)項(xiàng)目開發(fā)的進(jìn)展,每個(gè)項(xiàng)目的結(jié)束以軟件項(xiàng)目的里程碑為主要標(biāo)志。在進(jìn)行下一個(gè)項(xiàng)目階段時(shí),再按照項(xiàng)目計(jì)劃來指導(dǎo)分配人員扮演其他角色。
2.3 如何運(yùn)用該組織結(jié)合軟件工程教學(xué)內(nèi)容進(jìn)行實(shí)驗(yàn)教學(xué)
軟件工程教學(xué)中,教師應(yīng)以一個(gè)完整軟件項(xiàng)目進(jìn)行實(shí)驗(yàn)教學(xué)。結(jié)合軟件工程的階段性知識(shí)講解,逐步運(yùn)用該虛擬軟件組織進(jìn)行教學(xué)。
在運(yùn)用該組織時(shí),教師在事先做好教學(xué)計(jì)劃、明確各階段任務(wù)的同時(shí),還應(yīng)注意對(duì)學(xué)生的引導(dǎo)和扶持。比如在可行性研究階段,學(xué)生由于缺乏對(duì)軟件開發(fā)過程的了解,通常難以制作項(xiàng)目開發(fā)計(jì)劃。此時(shí)老師可以講解一個(gè)以往的軟件開發(fā)計(jì)劃,使學(xué)生能夠預(yù)估,有些過程還需老師先做一些框架,然后才能放手讓學(xué)生做。在理論課教學(xué)時(shí),也可以先以實(shí)例讓學(xué)生理解。在此過程中,人員的組織和分工可由導(dǎo)學(xué)員(老師和高年級(jí)學(xué)生)來指導(dǎo),以減少過程執(zhí)行的困難,幫助學(xué)生順利完成。一般來說,在開始學(xué)習(xí)新知識(shí)時(shí),學(xué)生總是很不熟練,對(duì)過程一知半解,沒有經(jīng)驗(yàn)。所以在初始階段,即以掌握軟件工程各階段知識(shí)為主要任務(wù)的階段,老師主要起指導(dǎo)作用,引導(dǎo)學(xué)生探索完成任務(wù)。第二階段是課程設(shè)計(jì)階段,通過前段時(shí)間學(xué)習(xí),學(xué)生已對(duì)主要知識(shí)和過程有所了解,但缺乏綜合銜接的能力。這時(shí)給學(xué)生布置一個(gè)項(xiàng)目任務(wù),放手給學(xué)生去組織實(shí)施,老師僅作為一個(gè)指導(dǎo)者,起監(jiān)督和評(píng)價(jià)者的作用。
2.4 如何建立有效的評(píng)價(jià)機(jī)制
學(xué)生實(shí)驗(yàn)評(píng)價(jià)應(yīng)仿照軟件開發(fā)企業(yè)來進(jìn)行。老師模擬真實(shí)企業(yè)給各個(gè)人員一定工資標(biāo)準(zhǔn),以各階段的實(shí)驗(yàn)成果(比如該階段的項(xiàng)目計(jì)劃書,需求文檔等)作為評(píng)價(jià)依據(jù),在導(dǎo)學(xué)員的指導(dǎo)下進(jìn)行綜合評(píng)價(jià),參照基本工資,根據(jù)績(jī)效,給定虛擬工資(根據(jù)該虛擬工資可以使學(xué)生了解工程經(jīng)濟(jì)管理),以占工資的百分比作為該階段的評(píng)價(jià)分?jǐn)?shù),從而達(dá)到評(píng)價(jià)學(xué)習(xí)目的。
3 基于教學(xué)方法的基本原則
該教學(xué)方法實(shí)踐性強(qiáng),過程也較復(fù)雜,在實(shí)施教學(xué)時(shí)應(yīng)把握一些原則,具體如下:
(1)以學(xué)生為主體,以老師為主導(dǎo)。在實(shí)驗(yàn)教學(xué)過程中,學(xué)生是學(xué)習(xí)的主體,教師起指導(dǎo)作用。教師通過給出任務(wù),適時(shí)指導(dǎo),促進(jìn)學(xué)生主動(dòng)完成項(xiàng)目活動(dòng)的組織任務(wù)和技術(shù)實(shí)施任務(wù),充分發(fā)揮學(xué)生的主觀能動(dòng)性,大膽探索,多方求知,全方面學(xué)習(xí),激發(fā)其個(gè)人潛能。
(2)先導(dǎo)后做,由易到難。由于對(duì)新知識(shí)不理解,學(xué)生在一開始時(shí)往往茫然不知所措。此時(shí)老師要做到親自示范,講解實(shí)例,對(duì)于給定的實(shí)驗(yàn)任務(wù),要手把手引導(dǎo),甚至老師做一部分,然后讓學(xué)生做另外一部分,這樣讓整個(gè)過程才能可行和可控。
從大的方面來說,軟件工程實(shí)驗(yàn)的各個(gè)實(shí)施階段,老師應(yīng)逐漸引導(dǎo),使之可行;在課程設(shè)計(jì)階段則讓學(xué)生放手獨(dú)立去做,獨(dú)立完成,自主決定各種計(jì)劃和階段任務(wù)。
(3)計(jì)劃要周密,簡(jiǎn)易可行。從實(shí)施的教學(xué)經(jīng)驗(yàn)可以看出,要順暢實(shí)施本方法,需精心準(zhǔn)備,全面計(jì)劃,這是本實(shí)驗(yàn)順利有序?qū)嵤┑闹匾U?。從一開始老師不但要制定教學(xué)計(jì)劃,還要制定項(xiàng)目實(shí)施計(jì)劃,并將其分派到各個(gè)教學(xué)實(shí)踐階段中。在每個(gè)階段的項(xiàng)目實(shí)施中,也要指導(dǎo)學(xué)生完生該項(xiàng)目階段的實(shí)施計(jì)劃。這樣才能使過程可控可管理。從教學(xué)實(shí)踐反饋來看,周密計(jì)劃的制定對(duì)教學(xué)成敗具有決定性的意義。
4 實(shí)施效果和總結(jié)
基于模擬軟件企業(yè)的導(dǎo)學(xué)制在軟件工程實(shí)驗(yàn)教學(xué)以來,相比較傳統(tǒng)的軟件教學(xué)方法來看,學(xué)生對(duì)軟件工程的管理能力和對(duì)整個(gè)軟件工程整個(gè)過程理解的把握能力有很大提高,實(shí)踐能力的提高也促進(jìn)了對(duì)軟件工程和其相關(guān)課程知識(shí)的理解。從畢業(yè)學(xué)生反饋來看,該方法能盡可能縮小學(xué)校課堂與企業(yè)開發(fā)實(shí)踐的差距,提高了學(xué)生的綜合知識(shí)運(yùn)用能力,一改以前軟件工程知識(shí)教學(xué)中學(xué)生只獲得片面不連續(xù)的知識(shí)理解情況??傊?,基于模擬軟件企業(yè)的導(dǎo)學(xué)制在軟件工程實(shí)驗(yàn)教學(xué)中已取得不錯(cuò)的教學(xué)效果,其教學(xué)思想和措施可為其他的課程提供有意義的借鑒。
參考文獻(xiàn)
[1]李偉波.項(xiàng)目驅(qū)動(dòng)式的“軟件工程”教學(xué)模式研究與實(shí)踐[J].北京:中國(guó)電力教育,2009(6).
[2]王延青,李海峰,林森,朱素霞,倪澤輝.軟件工程系列課程設(shè)計(jì)的分組及選題策略框架[J].北京:計(jì)算機(jī)教育,2008(8).
[3]宋三華,王娟娟.軟件工程實(shí)驗(yàn)教學(xué)模式探究[J].濟(jì)南:中國(guó)管理信息化,2010(9).
[4]彭博.軟件工程課程行動(dòng)導(dǎo)向式教學(xué)法的研究[J].昆明:大家,2009(11).
篇7
(一)傳統(tǒng)的計(jì)算機(jī)軟件類學(xué)科教學(xué)模式特點(diǎn)
計(jì)算機(jī)軟件類專業(yè)的教學(xué)目標(biāo)是要求學(xué)生掌握專業(yè)相關(guān)的理論基礎(chǔ),熟悉軟件開發(fā)工具的各項(xiàng)功能,熟練運(yùn)用這些工具編寫應(yīng)用程序以解決實(shí)際問題,達(dá)到培養(yǎng)高層次、實(shí)用型、復(fù)合型、具有國(guó)際競(jìng)爭(zhēng)力的人才要求。傳統(tǒng)的教學(xué)模式和理念,是以知識(shí)的灌輸為宗旨,重知識(shí)傳授,輕實(shí)踐訓(xùn)練,因此造成的結(jié)果就是學(xué)生的實(shí)踐動(dòng)手能力差、問題解決能力薄弱、工作適應(yīng)周期過長(zhǎng),學(xué)生很難將學(xué)到的理論知識(shí)和實(shí)際的項(xiàng)目實(shí)踐順利結(jié)合起來,甚至個(gè)別學(xué)生僅僅是為了考試而學(xué)習(xí),死記硬背,對(duì)根本不了解課程設(shè)置的意義。本文經(jīng)過分析總結(jié)認(rèn)為傳統(tǒng)教學(xué)模式主要有如下幾個(gè)弊端:
(1)重視理論教學(xué),輕視實(shí)踐教學(xué)。由于教學(xué)環(huán)境的局限性及實(shí)驗(yàn)設(shè)備的不齊備性,教師的授課效果經(jīng)常不能及時(shí)在學(xué)生的動(dòng)手實(shí)踐中反饋出來。而且教師在授課過程中有意或者無意的偏向理論講解,使得學(xué)生在學(xué)習(xí)過程也偏向于死記語法規(guī)則等,忽略教師真正的授課意義。雖然教師在授課時(shí)配有相關(guān)例題操作,用以說明每個(gè)知識(shí)點(diǎn)的實(shí)際應(yīng)用。但由于授課環(huán)境有限,教師最多也只能讓學(xué)生查看程序運(yùn)行結(jié)果,學(xué)生只知其果,不明其因。同時(shí)由于缺乏實(shí)景教學(xué),即使簡(jiǎn)單明了的內(nèi)容,也要花更多的時(shí)間去講解,演示,從而浪費(fèi)了寶貴的教學(xué)時(shí)間。
(2)教學(xué)被動(dòng),學(xué)生積極性低。傳統(tǒng)的教學(xué)模式,基本上都是一整節(jié)課,教師在上面講,學(xué)生在下面聽。學(xué)生一直處于一種被動(dòng)接受的狀態(tài),教師講什么就記什么,講者有意,聽者無心,而且一味的被動(dòng)接受抽象的概念更使得學(xué)生的積極性降低,無法激發(fā)學(xué)生的自主學(xué)習(xí)興趣,也無法激發(fā)學(xué)生在主動(dòng)求知欲和創(chuàng)造望。
(3)理論和實(shí)踐結(jié)合力度不夠。由于理論和實(shí)踐不是同步進(jìn)行的,由于學(xué)生在學(xué)習(xí)理論知識(shí)時(shí)容易種種不同的困惑,但是在實(shí)踐當(dāng)中又不能很好的運(yùn)用反應(yīng)出來,因此造成了理論學(xué)習(xí)水平和實(shí)踐能力的參差不齊,根本達(dá)不到計(jì)算機(jī)軟件類專業(yè)教學(xué)規(guī)劃的要求。
(4)學(xué)生考核系統(tǒng)單一。目前中國(guó)的教育現(xiàn)狀仍是以應(yīng)試為主,即使在高校里考試也還是一個(gè)檢驗(yàn)學(xué)生學(xué)習(xí)是否合格的首要標(biāo)準(zhǔn)。但是如今的考試形式一般以筆試的結(jié)果定輸贏,考核形式單一,導(dǎo)致學(xué)生在學(xué)習(xí)時(shí)更多的是采用死記硬背的方法來進(jìn)行理論方面的學(xué)習(xí),這樣造成了許多高分低能的現(xiàn)象出現(xiàn)。
(二)基于軟件工程學(xué)的方法論
軟件工程是用工程科學(xué)的知識(shí)和技術(shù)原理來定義、開發(fā)和維護(hù)軟件的一項(xiàng)工作,主要研究的內(nèi)容包括開發(fā)技術(shù)與開發(fā)管理兩大方面。軟件工程學(xué)方法論是人們?yōu)榱丝朔败浖C(jī)”而做了大量的工作,而逐漸形成了系統(tǒng)的軟件開發(fā)理論、技術(shù)和方法,它們?cè)谲浖_發(fā)實(shí)踐中發(fā)揮了巨大的作用。軟件工程方法論就是在整個(gè)軟件工程的生命周期中提煉出來的上升到理論高度的一種思想,它可概括為:目標(biāo)、過程和原則。
(1)軟件工程方法論目標(biāo)。即采用有效合理的方法生產(chǎn)具有正確性及可用性的產(chǎn)品,它形成了對(duì)過程、過程模型及工程方法選取的約束。
(2)軟件工程方法論過程。就是如何在生產(chǎn)一個(gè)能滿足需求且達(dá)到工程目標(biāo)的軟件產(chǎn)品步驟中完成對(duì)生產(chǎn)過程的分析、設(shè)計(jì)、確認(rèn),它貫穿于整個(gè)開發(fā)過程。
(3)軟件工程方法論原則。則是圍繞工程設(shè)計(jì)、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。采用軟件工程方法論開發(fā)軟件的時(shí)候,從對(duì)任務(wù)的抽象邏輯分析開始,一個(gè)階段一個(gè)階段地進(jìn)行開發(fā),每個(gè)階段的開始和結(jié)束都有嚴(yán)格的標(biāo)準(zhǔn)。本文利用軟件工程方法論中的軟件復(fù)用技術(shù)與項(xiàng)目管理學(xué)結(jié)合提出了新的教學(xué)模式。軟件復(fù)用作為軟件工程方法論里的一種技術(shù)或者思想,在整個(gè)軟件工程中占有重要的地位,對(duì)能否實(shí)現(xiàn)軟件產(chǎn)業(yè)的工業(yè)化進(jìn)展起著關(guān)鍵的作用。它主要是指利用現(xiàn)有的軟件資源來構(gòu)建新的系統(tǒng),避免重復(fù)勞動(dòng)的方案。
并且軟件復(fù)用并不局限于代碼的復(fù)用,復(fù)用的過程延續(xù)完整的軟件生命周期。項(xiàng)目管理雖然是管理學(xué)的一個(gè)分支,但在整個(gè)軟件生命周期中要想使軟件產(chǎn)品實(shí)現(xiàn)或者超過設(shè)定的需求和期望,就必須采用項(xiàng)目管理來貫穿整個(gè)軟件生命周期中。它是在項(xiàng)目活動(dòng)中運(yùn)用專門的知識(shí)、技能、工具和方法,使項(xiàng)目能在有限資源的限定下達(dá)到相關(guān)項(xiàng)目的目標(biāo)。在相關(guān)項(xiàng)目中項(xiàng)目管理主要是協(xié)調(diào)和管理,而方法論則為項(xiàng)目進(jìn)程提供了持續(xù)穩(wěn)定的方式方法。
基于軟件工程方法論教學(xué)體系的構(gòu)建
本文針對(duì)計(jì)算機(jī)軟件類專業(yè)的特點(diǎn),并結(jié)合學(xué)?,F(xiàn)有的資源以及傳統(tǒng)教學(xué)模式的弊端,進(jìn)行了新型教學(xué)模式的研究,提出一種基于軟件工程方法論的教學(xué)模式。它將經(jīng)典的軟件工程方法論提升到理念的高度,跳出軟件開發(fā)這一領(lǐng)域,應(yīng)用到了高校計(jì)算機(jī)軟件類專業(yè)人才的培養(yǎng)教育模式當(dāng)中去,并組織力量認(rèn)真進(jìn)行改革實(shí)踐,經(jīng)過驗(yàn)證取得了很好的效果?;谲浖こ谭椒ㄕ摰慕虒W(xué)體系就是將軟件工程方法論當(dāng)中的一些技術(shù)和思想融入到教學(xué)過程當(dāng)中去,通過CDIO的教學(xué)模式,將實(shí)踐項(xiàng)目和課堂教學(xué)很好的結(jié)合起來,使學(xué)生能從項(xiàng)目中以整體的角度把所學(xué)的理論知識(shí)融入到項(xiàng)目。
(一)課程體系的改革
在綜合考察計(jì)算機(jī)軟件類專業(yè)的課程教育體系后,運(yùn)用軟件復(fù)用技術(shù)將實(shí)踐項(xiàng)目與相關(guān)專業(yè)課程串聯(lián)起來,這樣不僅有利于課程體系的建設(shè),也理順了各門課程之間的關(guān)系和側(cè)重點(diǎn),對(duì)關(guān)聯(lián)課程的時(shí)間安排,教學(xué)內(nèi)容的設(shè)計(jì)、課時(shí)量的安排等方面都會(huì)產(chǎn)生深刻的影響,使整個(gè)課程體系的教學(xué)安排更合理,教學(xué)目的更明確,更有利于對(duì)整個(gè)教學(xué)體系的優(yōu)化。在界定計(jì)算機(jī)軟件類專業(yè)課程范圍的基礎(chǔ)上,通過對(duì)現(xiàn)有的計(jì)算機(jī)軟件類專業(yè)課程知識(shí)點(diǎn)以及課程知識(shí)點(diǎn)之間銜接關(guān)系的分析,建立課程間知識(shí)點(diǎn)網(wǎng)絡(luò)及擴(kuò)展知識(shí)復(fù)用庫(kù),減少重復(fù)知識(shí)點(diǎn)的講授,實(shí)現(xiàn)課程間的無縫銜接,使學(xué)生在常規(guī)授課內(nèi)容外能利用擴(kuò)展知識(shí)復(fù)用庫(kù)提高自己分析問題、解決問題的能力,從而達(dá)到課程間知識(shí)點(diǎn)講授的最優(yōu)化,如圖1所示。
(二)教學(xué)模式的創(chuàng)新
1.項(xiàng)目管理式教學(xué)模式
本文根據(jù)計(jì)算機(jī)軟件類專業(yè)教學(xué)中理論與實(shí)踐緊密結(jié)合的要求,提出了項(xiàng)目管理式教學(xué)模式的思想,將軟件工程中的項(xiàng)目管理作為技術(shù)手段引入計(jì)算機(jī)軟件類專業(yè)學(xué)科的教學(xué)過程中。在教學(xué)過程中,首先考察計(jì)算機(jī)軟件類專業(yè)建設(shè)的相關(guān)資料,為決策提供內(nèi)容支持。其次,制定有效合理的教學(xué)規(guī)劃,同時(shí)根據(jù)市場(chǎng)的需求制定細(xì)粒度的擴(kuò)展計(jì)劃。最后,在學(xué)期開始時(shí),將學(xué)生按興趣、愛好劃分小組,以小組形式進(jìn)行系統(tǒng)學(xué)習(xí)和溝通。將整個(gè)教學(xué)過程當(dāng)做一個(gè)大的項(xiàng)目,而項(xiàng)目?jī)?nèi)不同的項(xiàng)目組負(fù)責(zé)的任務(wù)不一樣,但最終的任務(wù)都是一樣的,使教學(xué)任務(wù)落實(shí)到每一個(gè)人,達(dá)到教學(xué)目標(biāo),例如成立了Web開發(fā)小組,F(xiàn)lash興趣小組、C++、Java學(xué)習(xí)小組等等。為保證該方法的順利進(jìn)行,要求教師有相關(guān)的管理能力,例如:整體管理能力、溝通協(xié)調(diào)能力以及其他相關(guān)能力等。其中溝通協(xié)調(diào)為其中最為主要技巧,這樣不僅能讓每個(gè)學(xué)生都能感到老師的關(guān)懷、愛護(hù)和鼓勵(lì),而且更能激發(fā)學(xué)生的學(xué)習(xí)熱情,具體做法如:多使用一些非正式的溝通,合理使用Y理論,肯定學(xué)生的學(xué)習(xí)成果,及時(shí)解決學(xué)生提出的問題等等。
2.教學(xué)形式改進(jìn)
在教學(xué)形式上,采用有規(guī)劃的機(jī)房授課方式,向?qū)W生開放實(shí)驗(yàn)室,這樣既避免填鴨式教學(xué)的被動(dòng)性,又將理論的學(xué)習(xí)和實(shí)踐操作實(shí)時(shí)的關(guān)聯(lián)在一起。教師在進(jìn)行授課的時(shí)候就可以既講理論又教實(shí)踐,不僅能提高理論學(xué)習(xí)的效果,更重要的是能將理論與實(shí)踐結(jié)合,使學(xué)生的問題能及時(shí)的反饋給教師,從另一個(gè)方面來看,這種教學(xué)方式還可以提高學(xué)生的學(xué)習(xí)興趣,增強(qiáng)學(xué)生記憶力,提高學(xué)生的創(chuàng)新和動(dòng)手實(shí)踐能力。
3.三步培養(yǎng)模式
整體教學(xué)模式采用“例證講解、課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)”的三步培養(yǎng)模式。例證講解就是指教師在授課過程中更多的是類比實(shí)際案例,將課程的重點(diǎn)、難點(diǎn)融入到案例中來,同時(shí)課堂氛圍采用啟發(fā)式、辯論式教學(xué),使課程的講解更有針對(duì)性、實(shí)用性,課堂氛圍更活躍,有效地提高學(xué)生的創(chuàng)新能力。例如在進(jìn)行數(shù)據(jù)結(jié)構(gòu)的樹的理論學(xué)習(xí)時(shí),選擇一個(gè)樹的應(yīng)用案例,并結(jié)合樹的一些理論知識(shí),與學(xué)生進(jìn)行探討,拋磚引玉,啟發(fā)誘導(dǎo)學(xué)生提出自己的理解,然后與學(xué)生一起討論其可行性,已達(dá)到加深強(qiáng)化理論學(xué)習(xí)的作用。課程設(shè)計(jì)要做到的要求就是是項(xiàng)目化,對(duì)每門操作性和系統(tǒng)性較強(qiáng)的課程,要采用系統(tǒng)的、規(guī)范的、可度量的方法安排課程設(shè)計(jì),并進(jìn)行項(xiàng)目式的管理。
針對(duì)課程的區(qū)別,制定不同的課程設(shè)計(jì)指導(dǎo)方案,并加入擴(kuò)展知識(shí)復(fù)用庫(kù),包括一些如Eclipse、VisualStudio等開發(fā)工具的介紹,成功的案例介紹、參考書籍介紹等信息。使學(xué)生能在實(shí)踐的同時(shí)參閱資料,是理論與實(shí)際有機(jī)的結(jié)合起來。畢業(yè)設(shè)計(jì)選題以實(shí)際的項(xiàng)目為背景,聯(lián)合校企的業(yè)務(wù)背景,從立項(xiàng)到收尾,涵蓋軟件生命周期的全過程。如參與到《xx市黨務(wù)政務(wù)管理系統(tǒng)》的開發(fā)中去,實(shí)行與企業(yè)單位類似的管理模式,小組長(zhǎng)負(fù)責(zé)整個(gè)小組的進(jìn)度考察,每個(gè)小組成員分配不同的功能模塊,同時(shí)盡量平衡每個(gè)小組成員的個(gè)人能力,使學(xué)生體驗(yàn)到企業(yè)中開發(fā)項(xiàng)目的流程、規(guī)范,學(xué)習(xí)做事的方法,更深層次的感悟團(tuán)隊(duì)合作的意識(shí),提高學(xué)生的就業(yè)競(jìng)爭(zhēng)力,為以后在工作中更快的進(jìn)入角色打下堅(jiān)實(shí)的基礎(chǔ)。通過長(zhǎng)期的觀察統(tǒng)計(jì),并將一些反應(yīng)學(xué)生競(jìng)爭(zhēng)力的能力水平按一定的指標(biāo)量化后,可以得到采用新的教學(xué)模式與傳統(tǒng)教學(xué)模式下學(xué)生的學(xué)習(xí)效果圖,如圖2所示。
(三)考核系統(tǒng)的改革
傳統(tǒng)的學(xué)生績(jī)效考核體系主要采用的是以理論筆試成績(jī)?yōu)橹?,平時(shí)的表現(xiàn)和課程設(shè)計(jì)為輔,這樣很容易造成高分低能的現(xiàn)象出現(xiàn),因此建立良好的學(xué)生能力考核系統(tǒng)對(duì)培養(yǎng)合格優(yōu)秀的計(jì)算機(jī)軟件類專業(yè)人才極為重要。根據(jù)當(dāng)前社會(huì)對(duì)計(jì)算機(jī)軟件類專業(yè)人才的能力需求,提出綜合考核系統(tǒng)。該考核系統(tǒng)從專業(yè)理論知識(shí)、動(dòng)手實(shí)踐能力、獨(dú)立解決問題能力、創(chuàng)新能力和團(tuán)隊(duì)合作5個(gè)方面進(jìn)行評(píng)價(jià),相應(yīng)的制定出行之有效的評(píng)價(jià)指標(biāo)和標(biāo)準(zhǔn),并將該指標(biāo)落實(shí)到學(xué)生學(xué)習(xí)的整個(gè)過程。專業(yè)理論知識(shí)評(píng)價(jià)主要是對(duì)學(xué)生的基礎(chǔ)理論知識(shí)掌握程度進(jìn)行度量,在整個(gè)評(píng)價(jià)系統(tǒng)中根據(jù)實(shí)際情況確定比例分配,一般來說不宜超過65%。動(dòng)手實(shí)踐能力評(píng)價(jià)通過增加一些實(shí)踐操作類題目,條件允許的話使用機(jī)房上機(jī)考試的方法。獨(dú)立解決問題、創(chuàng)新能力不好做定量分析,因此對(duì)教師有較高的要求,需要教師有相對(duì)客觀一致的評(píng)價(jià)標(biāo)準(zhǔn)。而團(tuán)隊(duì)協(xié)作來在課程設(shè)計(jì)和畢業(yè)實(shí)習(xí)中卻可以很好的體現(xiàn)出來,根據(jù)每個(gè)小組的任務(wù)進(jìn)度、分工、協(xié)調(diào)和交流等方面,可以很清晰的形成對(duì)團(tuán)隊(duì)協(xié)作能力評(píng)價(jià)的素材。在整個(gè)評(píng)價(jià)過程中,要合理分配每部分所占的比重,不同的時(shí)間段側(cè)重的方面不同,形成多元化、多維度、客觀的評(píng)價(jià)結(jié)果。
實(shí)施效果
篇8
關(guān)鍵詞:軟件開發(fā);能力培養(yǎng);案例教學(xué)
當(dāng)前計(jì)算機(jī)專業(yè)或軟件工程專業(yè)的學(xué)生存在著學(xué)用脫節(jié)、實(shí)際開發(fā)能力偏弱等問題。盡管很多高校計(jì)算機(jī)專業(yè)、軟件工程專業(yè)在軟件方面的課程體系上是將整個(gè)學(xué)科專業(yè)的知識(shí)按一定順序和層次分解,使得學(xué)生能夠循序漸進(jìn)地學(xué)習(xí)和掌握知識(shí),這無疑是行之有效的。但掌握了軟件開發(fā)領(lǐng)域的知識(shí),并不意味著同時(shí)具備了軟件開發(fā)的能力。事實(shí)上,學(xué)生雖然接受了系統(tǒng)的軟件開發(fā)專業(yè)知識(shí)的學(xué)習(xí)和軟件開發(fā)技術(shù)應(yīng)用的訓(xùn)練,但軟件開發(fā)能力低下的情況還相當(dāng)普遍。要從軟件開發(fā)的“菜鳥”,成長(zhǎng)為軟件開發(fā)的高手,或者稱之為“高級(jí)藍(lán)領(lǐng)”,必須通過長(zhǎng)期的歷練,沒有捷徑。但好的教學(xué)案例和人才培養(yǎng)模式,對(duì)促進(jìn)軟件人才的成長(zhǎng)和開發(fā)能力的提升有很重要的作用[1]。
1軟件開發(fā)人員能力要求
由于軟件開發(fā)是一項(xiàng)技術(shù)綜合性很強(qiáng)的工作,因此,企業(yè)對(duì)軟件開發(fā)人員能力的要求也是綜合性的[2]。按照教育部對(duì)軟件學(xué)院學(xué)生實(shí)踐能力培養(yǎng)的要求和工程應(yīng)用型人才培養(yǎng)的定位[3],軟件學(xué)院的學(xué)生在軟件開發(fā)過程中,既要能將用戶的需求映射到良好的軟件體系結(jié)構(gòu),在進(jìn)行應(yīng)用軟件總體設(shè)計(jì)時(shí)有大思路和大局觀,也要能運(yùn)用現(xiàn)代軟件設(shè)計(jì)方法和編程技術(shù)在進(jìn)行詳細(xì)設(shè)計(jì)時(shí)關(guān)注細(xì)節(jié),實(shí)現(xiàn)高質(zhì)量的軟件;在考慮軟件實(shí)際應(yīng)用時(shí),既要支持國(guó)際化及本地化的應(yīng)用要求,也要支持軟件及運(yùn)行平臺(tái)升級(jí)、操作系統(tǒng)遷
移的應(yīng)用要求;在技術(shù)應(yīng)用能力上,既要對(duì)使用的編程語言和開發(fā)環(huán)境有很好的把握,也要能綜合運(yùn)用前期所學(xué)的操作系統(tǒng)技術(shù)、數(shù)據(jù)庫(kù)技術(shù)、網(wǎng)絡(luò)編程技術(shù)、圖形圖像處理技術(shù)、人機(jī)交互技術(shù)等專門技術(shù);在軟件工程素質(zhì)上,既要具有軟件工程技術(shù)和管理方面的知識(shí),還要具備良好的團(tuán)隊(duì)合作、交流和文字與口頭表達(dá)能力。上述這些就是現(xiàn)代IT企業(yè)對(duì)軟件開發(fā)人員的能力要求。
2案例實(shí)踐教學(xué)對(duì)軟件人才培養(yǎng)的意義
案例實(shí)踐教學(xué)對(duì)軟件人才培養(yǎng)具有以下優(yōu)勢(shì):
1) 學(xué)生通過案例學(xué)習(xí)不僅對(duì)理解和掌握計(jì)算機(jī)軟件的抽象概念及原理十分有用,而且對(duì)學(xué)習(xí)先進(jìn)的軟件編程方法、使用先進(jìn)的軟件開發(fā)技術(shù)、提高自身的軟件開發(fā)能力大有益處。
2) 學(xué)生通過對(duì)案例代碼的閱讀分析,可以使一些一知半解的概念突然變得清晰易懂,使一些久思不解的問題變得豁然開朗。
3) 通過案例學(xué)習(xí),學(xué)生能夠零距離接觸到軟件高手,深深為他們巧妙的方法、過硬的技術(shù)、認(rèn)真細(xì)致的精神、追求完美的態(tài)度所折服。
3實(shí)踐教學(xué)案例的設(shè)計(jì)
案例設(shè)計(jì)的內(nèi)容、質(zhì)量以及案例教學(xué)的水平是案例實(shí)踐教學(xué)的基礎(chǔ),是案例學(xué)習(xí)成功與否的關(guān)鍵。
作者簡(jiǎn)介:蔡建平,男,教授,研究方向?yàn)檐浖こ?、嵌入式軟件測(cè)試和數(shù)字媒體技術(shù)。
3.1案例設(shè)計(jì)要求
設(shè)計(jì)支持軟件開發(fā)能力,特別是綜合開發(fā)能力培養(yǎng)的實(shí)踐教學(xué)案例是許多高校計(jì)算機(jī)軟件類專業(yè)教學(xué)面臨的問題。
首先,這樣的案例對(duì)于高年級(jí)的學(xué)生要涉及到他們前期所學(xué)的計(jì)算機(jī)軟件開發(fā)各個(gè)方面的知識(shí)和技術(shù),如程序設(shè)計(jì)、面向?qū)ο缶幊?、?shù)據(jù)結(jié)構(gòu)與算法、操作系統(tǒng)、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)通信、圖形圖像處理、人機(jī)交互、軟件體系結(jié)構(gòu),等等;另外,要幫助這些學(xué)生在通過案例學(xué)習(xí)后,建立起軟件開發(fā)的大思路或大局觀,對(duì)軟件的質(zhì)量要求(特別是可靠性要求)、維護(hù)要求(特別是軟件功能擴(kuò)充及升級(jí)要求)有很清晰地了解,并能夠反映到軟件的設(shè)計(jì)和實(shí)現(xiàn)上。最后,學(xué)生學(xué)習(xí)完案例后,要了解支持軟件跨地域、跨平臺(tái)和跨時(shí)間的應(yīng)用需求,并掌握保證這些需求得以實(shí)現(xiàn)的相關(guān)技術(shù),如軟件的國(guó)際化和本地化、軟件及平臺(tái)的升級(jí)、平臺(tái)移植或系統(tǒng)遷移等技術(shù)。
在案例設(shè)計(jì)中最為關(guān)鍵的問題是案例能夠在各高校無障礙地推廣,不要因?yàn)榻?jīng)費(fèi)、實(shí)驗(yàn)環(huán)境等問題使案例設(shè)計(jì)成果沒有應(yīng)用價(jià)值。因此,案例設(shè)計(jì)要求全部使用開源代碼或開源技術(shù)。事實(shí)上,開源軟件的使用,不僅有利于通過免費(fèi)的開源軟件大大降低搭建實(shí)驗(yàn)環(huán)境所需的條件,使學(xué)生能夠零距離地學(xué)習(xí)優(yōu)秀軟件,全面提升自身的軟件開發(fā)能力和軟件開發(fā)素質(zhì),而且學(xué)生可以根據(jù)專業(yè)興趣或?qū)W時(shí)安排,有選擇地對(duì)其中的軟件和技術(shù)進(jìn)行更深入的學(xué)習(xí)和專門的研究,形成自身的技術(shù)特長(zhǎng)和研究方向。
案例設(shè)計(jì)中還有一點(diǎn)要特別注意:所選擇的案例不要涉及很深的領(lǐng)域?qū)I(yè)知識(shí),又是人們感興趣、經(jīng)常接觸到的東西,這樣有利于激發(fā)學(xué)生的學(xué)習(xí)興趣;另一方面,希望案例涉及多種計(jì)算機(jī)軟件開發(fā)的主流技術(shù),如面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)、客戶/服務(wù)器技術(shù)、多線程技術(shù)、網(wǎng)絡(luò)編程技術(shù)、數(shù)據(jù)庫(kù)技術(shù)、圖形學(xué)、GUI等眾多軟件技術(shù);最后,希望所設(shè)計(jì)的案例是綜合性的應(yīng)用軟件,以適合學(xué)生綜合開發(fā)能力的訓(xùn)練。
3.2案例詳細(xì)設(shè)計(jì)
基于上述的案例設(shè)計(jì)要求,以及早期項(xiàng)目的研發(fā)經(jīng)歷,我們選擇股票軟件作為軟件綜合開發(fā)實(shí)踐教學(xué)的案例。首先,股票軟件不涉及很深的領(lǐng)域?qū)I(yè)知識(shí),又是現(xiàn)代社會(huì)人們非常關(guān)注、感興趣、且有可能經(jīng)常接觸或身陷其中的事物,學(xué)生容易入門和感興趣;另一方面,這類軟件其工作模式主要是客戶/服務(wù)器的工作模式,涉及到面向?qū)ο缶幊碳夹g(shù)、網(wǎng)絡(luò)通信技術(shù)、數(shù)據(jù)庫(kù)技術(shù)、圖形技術(shù)、用戶界面技術(shù)以及數(shù)據(jù)結(jié)構(gòu)與算法等眾多軟件技術(shù),其綜合性很強(qiáng),對(duì)學(xué)生綜合開發(fā)能力的訓(xùn)練非常合適;最后,我們所選擇的股票軟件Stock-0.0.9是一個(gè)早期的開源股票軟件,它是一個(gè)股票軟件的雛形,易于學(xué)生學(xué)習(xí)和完善,包括做第二次開發(fā)。將該軟件作為案例進(jìn)行實(shí)踐教學(xué)可讓學(xué)生接觸和應(yīng)用如下開源技術(shù):
1)Linux操作系統(tǒng)及虛擬機(jī)技術(shù);
2)GCC程序設(shè)計(jì)技術(shù)(包括編譯技術(shù)、調(diào)試技術(shù)及集成開發(fā)技術(shù)等);
3)MySQL數(shù)據(jù)庫(kù)應(yīng)用技術(shù)(基于C/C++應(yīng)用編程接口API的MySQL數(shù)據(jù)庫(kù)開發(fā)技術(shù));
4) 基于套接字編程的網(wǎng)絡(luò)通信技術(shù)(支持TCP/IP協(xié)議的開源liptcp++庫(kù)的應(yīng)用);
5) 基于Gtk+的界面設(shè)計(jì)技術(shù)(應(yīng)用Glade支持界面的設(shè)計(jì)及應(yīng)用框架的生成);
6) 股票軟件的結(jié)構(gòu)化程序設(shè)計(jì)及面向?qū)ο缶幊碳夹g(shù)等。
在對(duì)Stock-0.0.9進(jìn)行編譯生成可執(zhí)行目標(biāo)代碼并建立其運(yùn)行環(huán)境的過程中,學(xué)生能夠接觸和了解到程序設(shè)計(jì)的強(qiáng)類型機(jī)制、可靠性編程思想、軟件構(gòu)造方法、C/S工作模式實(shí)現(xiàn)手段、開發(fā)環(huán)境及應(yīng)用環(huán)境升級(jí)對(duì)策、軟件國(guó)際化及本地化應(yīng)用要素、操作系統(tǒng)遷移或移植問題等方面的內(nèi)容,使學(xué)生真正掌握基于復(fù)雜圖形用戶界面的大型應(yīng)用軟件開發(fā)的方法和技術(shù),理解現(xiàn)代軟件開發(fā)方法學(xué)和現(xiàn)代程序設(shè)計(jì)思想,增強(qiáng)他們解決實(shí)際問題的工程實(shí)踐能力。
4案例教學(xué)實(shí)踐及成果
4.1實(shí)踐情況
軟件學(xué)院針對(duì)教育部對(duì)軟件學(xué)院學(xué)生實(shí)踐能力培養(yǎng)的高要求和軟件工程碩士復(fù)合型工程人才培養(yǎng)的定位,以及學(xué)院學(xué)生(特別是非在職的工程碩士研究生)綜合性實(shí)踐能力太弱等實(shí)際情況,經(jīng)充分論證,確定了提升學(xué)生軟件綜合開發(fā)能力的培養(yǎng)目標(biāo),分別于2006年下半年在學(xué)院為本科生開設(shè)了“界面設(shè)計(jì)”課程,為軟件工程碩士開設(shè)了“高級(jí)軟件編程技術(shù)”課程。這兩門選用同樣案例,講授了10多次,受益學(xué)生達(dá)800多人。在這期間,課程的教學(xué)案例和實(shí)踐資源也不斷得到補(bǔ)充和完善。
4.2實(shí)踐成果――教材建設(shè)
學(xué)院考慮到案例實(shí)踐教學(xué)的效果以及教學(xué)案例和實(shí)踐資源的成熟與完整,決定將案例和課程資源進(jìn)行總結(jié)與提升,出版與之配套的實(shí)踐教材,推廣相關(guān)的實(shí)踐教學(xué)經(jīng)驗(yàn),讓國(guó)內(nèi)高等學(xué)校計(jì)算機(jī)和軟件相關(guān)專業(yè)的實(shí)踐教學(xué)從中受益。學(xué)校對(duì)此工作提供了經(jīng)費(fèi)支持,同時(shí)在清華大學(xué)出版社的支持下,完成了《軟件綜合開發(fā)案例教程――Linux、GCC、MySQL、Socket、Gtk+與開源軟件》的編寫工作,該教材已于2011年2月出版發(fā)行。
1) 教材的主要內(nèi)容。
除了有大量篇幅講述計(jì)算機(jī)應(yīng)用的主要開源技術(shù)外(如Linux操作系統(tǒng)、GCC編程語言、網(wǎng)絡(luò)Socket編程通信、MySQL數(shù)據(jù)庫(kù)管理、Gtk+界面設(shè)計(jì)),特別通過實(shí)際案例――Stock股票軟件將這些技術(shù)融會(huì)貫通在一起,并站在更高的角度上對(duì)軟件體系結(jié)構(gòu)、應(yīng)用軟件開發(fā)模式、軟件的國(guó)際化與本地化,軟件開發(fā)和應(yīng)用環(huán)境升級(jí)方法以及平臺(tái)移植技術(shù)等充分地介紹和實(shí)例說明,以此達(dá)到授人以漁的目的??梢哉f這是一本集各種主要的計(jì)算機(jī)開源技術(shù)應(yīng)用于一體的軟件綜合開發(fā)實(shí)踐教材。
2) 教材的特色。
① 能夠滿足計(jì)算機(jī)、軟件工程及相近專業(yè)高年級(jí)學(xué)生在前期學(xué)習(xí)了程序設(shè)計(jì)、操作系統(tǒng)、數(shù)據(jù)庫(kù)、計(jì)算機(jī)網(wǎng)絡(luò)等計(jì)算機(jī)專業(yè)基礎(chǔ)課程后,急需通過一個(gè)案例或一個(gè)項(xiàng)目來應(yīng)用這些專業(yè)基礎(chǔ)知識(shí)和技術(shù)進(jìn)行綜合性實(shí)驗(yàn)或?qū)嵺`,提高自身計(jì)算機(jī)技術(shù)綜合應(yīng)用能力的需求。
② 除了對(duì)主流的計(jì)算機(jī)開源技術(shù)做了詳細(xì)地介紹和舉例分析外,還特別地突出了計(jì)算機(jī)開源技術(shù)在實(shí)際股票軟件項(xiàng)目中的應(yīng)用,很好地支持著案例驅(qū)動(dòng)式的實(shí)踐教學(xué)。
③ 教材所涉及到的實(shí)驗(yàn)教學(xué)資源相當(dāng)豐富,覆蓋面相當(dāng)廣,且全是開源軟件或開源工具,保證了國(guó)內(nèi)許多院校在辦學(xué)條件不足,實(shí)驗(yàn)教學(xué)經(jīng)費(fèi)有限,無法全方位引進(jìn)商用軟件工具的情況下,仍然能夠開設(shè)出軟件綜合性開發(fā)的實(shí)踐課程。
總之,該教材作為案例實(shí)踐教材,自始至終強(qiáng)調(diào)和灌輸現(xiàn)代軟件開發(fā)方法學(xué)和現(xiàn)代程序設(shè)計(jì)思想,強(qiáng)調(diào)軟件綜合開發(fā)能力的培養(yǎng)。該教材所涵蓋的大量技術(shù)內(nèi)容、實(shí)操案例及問題解決方案,如果學(xué)生能夠完全掌握并能實(shí)際地用于軟件項(xiàng)目的開發(fā),從軟件開發(fā)能力上說已達(dá)到一個(gè)高級(jí)藍(lán)領(lǐng)的要求了。
5案例實(shí)踐教學(xué)的實(shí)施方案
北京工業(yè)大學(xué)軟件學(xué)院在學(xué)生軟件綜合開發(fā)能力培養(yǎng)上分別針對(duì)軟件工程本科專業(yè)的學(xué)生和軟件工程專業(yè)學(xué)位的學(xué)生開設(shè)了選擇同樣案例和教材的不同課程――“界面設(shè)計(jì)”和“高級(jí)軟件編程技術(shù)”。下面我們主要以本科生為例,介紹在“界面設(shè)計(jì)”課程中案例實(shí)踐教學(xué)的實(shí)施方案或課程大綱。
5.1課程設(shè)計(jì)目的
學(xué)院在四年制軟件工程專業(yè)本科生的教學(xué)計(jì)劃中,為大三的學(xué)生在第二學(xué)期安排了“界面設(shè)計(jì)”的課程,60學(xué)時(shí),2學(xué)分,共15個(gè)實(shí)驗(yàn)單元(每個(gè)單元4學(xué)時(shí))。
“界面設(shè)計(jì)”課程是按照教育部對(duì)國(guó)家示范性軟件學(xué)院培養(yǎng)工程化軟件實(shí)用人才的要求,以界面設(shè)計(jì)為立足點(diǎn),對(duì)前期所學(xué)的主要計(jì)算機(jī)技術(shù)(如軟件開發(fā)、程序設(shè)計(jì)、網(wǎng)絡(luò)編程、數(shù)據(jù)庫(kù)應(yīng)用等)進(jìn)行綜合訓(xùn)練。
要求學(xué)生在掌握界面設(shè)計(jì)的原則、方法和常用技術(shù),掌握當(dāng)前主流的開源界面開發(fā)工具Gtk+和開源界面設(shè)計(jì)工具Glade進(jìn)行界面設(shè)計(jì)及實(shí)現(xiàn)等技能的基礎(chǔ)上,通過具體的案例――股票行情分析軟件,將計(jì)算機(jī)軟件開發(fā)所涉及到的相關(guān)知識(shí)綜合在一起,開展實(shí)踐活動(dòng)。
通過該實(shí)踐課程,除了使學(xué)生掌握界面設(shè)計(jì)的全部流程和技術(shù),培養(yǎng)學(xué)生界面的設(shè)計(jì)能力外,可使學(xué)生接觸和學(xué)習(xí)基于復(fù)雜圖形用戶界面的大型軟件開發(fā)的方法和技術(shù),了解Linux操作系統(tǒng)、編程語言、程序設(shè)計(jì)、編譯應(yīng)用、圖形界面、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)通信、軟件體系結(jié)構(gòu)、應(yīng)用軟件開發(fā)模式以及平臺(tái)移植等技術(shù)在實(shí)際軟件開發(fā)或應(yīng)用項(xiàng)目中的具體應(yīng)用,達(dá)到增強(qiáng)他們工程實(shí)踐能力的目的。
5.2課時(shí)安排
該課程設(shè)計(jì)以《軟件綜合開發(fā)案例教程》為實(shí)踐教材,其實(shí)踐教學(xué)方案主要是按照15個(gè)實(shí)驗(yàn)單元并依據(jù)教材內(nèi)容和知識(shí)單元組織進(jìn)行制定的。
第1單元:對(duì)課程設(shè)計(jì)提要求,對(duì)Linux操作系統(tǒng)知識(shí)點(diǎn)進(jìn)行講解,并安排學(xué)生進(jìn)行Linux操作系統(tǒng)的實(shí)際應(yīng)用,學(xué)會(huì)Linux虛擬機(jī)的安裝、配置和使用。
第2單元:對(duì)應(yīng)用GCC進(jìn)行軟件開發(fā)知識(shí)點(diǎn)進(jìn)行講解,安排學(xué)生進(jìn)行GCC開發(fā)應(yīng)用實(shí)踐,學(xué)會(huì)編寫工程文件、用GCC編譯C/C++程序、調(diào)試程序、建立集成開發(fā)環(huán)境。
第3單元:對(duì)網(wǎng)絡(luò)通信及Socket編程知識(shí)點(diǎn)進(jìn)行講解,安排學(xué)生進(jìn)行網(wǎng)絡(luò)通信的Socket編程實(shí)踐,學(xué)會(huì)在libtcp++環(huán)境下建立客戶/服務(wù)器的工作模式。
第4單元:對(duì)MySQL數(shù)據(jù)庫(kù)應(yīng)用知識(shí)點(diǎn)進(jìn)行講解,安排學(xué)生進(jìn)行MySQL應(yīng)用的相關(guān)實(shí)踐,學(xué)會(huì)用MySQL C API進(jìn)行數(shù)據(jù)庫(kù)應(yīng)用的簡(jiǎn)單開發(fā)。
第5單元:對(duì)Gtk+用于界面設(shè)計(jì)的知識(shí)點(diǎn)進(jìn)行講解,安排學(xué)生進(jìn)行Gtk+的界面設(shè)計(jì)實(shí)踐,學(xué)會(huì)用Gtk+和Glade進(jìn)行簡(jiǎn)單界面的開發(fā)。
第6單元:介紹股票交易的相關(guān)知識(shí)、股票軟件一般包含的內(nèi)容和所涉及到的技術(shù),安排學(xué)生學(xué)習(xí)和使用國(guó)內(nèi)主流的股票軟件,學(xué)會(huì)股票軟件的使用方法和使用流程。
第7單元:對(duì)開源股票軟件Stock進(jìn)行分析講解,并帶領(lǐng)學(xué)生將Stock源碼編譯成可執(zhí)行的二進(jìn)制碼,要求學(xué)生學(xué)會(huì)處理編譯和連接過程中出現(xiàn)的各種問題,特別是強(qiáng)類型問題。
第8單元:對(duì)應(yīng)用軟件國(guó)際化和本地化相關(guān)知識(shí)和技術(shù)進(jìn)行講解,對(duì)Stock軟件的Gtk+1.2界面實(shí)現(xiàn)方法進(jìn)行分析,并帶領(lǐng)學(xué)生解決Stock軟件中文顯示問題,要求學(xué)生掌握在Gtk+的界面控件上和繪圖區(qū)中正確地顯示中文、英文及數(shù)字方法。
第9單元:對(duì)Stock軟件的數(shù)據(jù)庫(kù)應(yīng)用編程、網(wǎng)絡(luò)通信編程等實(shí)現(xiàn)方法進(jìn)行分析,帶領(lǐng)學(xué)生解決股票數(shù)據(jù)庫(kù)的建立、股票數(shù)據(jù)的導(dǎo)入等問題,要求學(xué)生掌握Stock軟件中用MySQL C API進(jìn)行股票數(shù)據(jù)庫(kù)應(yīng)用、用Socket進(jìn)行網(wǎng)絡(luò)通信的開發(fā)技術(shù)。
第10單元:對(duì)Gtk+2.0特點(diǎn)進(jìn)行講解,帶領(lǐng)學(xué)生解決Stock軟件從Gtk+1.2到Gtk+2.0升級(jí)中遇到的各種問題,要求學(xué)生掌握確保軟件能夠升級(jí)的軟件設(shè)計(jì)思想和問題解決方法。
第11單元:對(duì)在Windows上進(jìn)行Gtk+應(yīng)用程序設(shè)計(jì)的方法進(jìn)行講解,帶領(lǐng)學(xué)生將Stock軟件從Linux上移植到Cygwin和MS VC上,并解決移植過程中的問題,要求學(xué)生掌握一般軟件移植的基本要點(diǎn)和基本方法。
第12單元―第13單元:學(xué)生按分工要求開展獨(dú)立實(shí)踐活動(dòng),并撰寫實(shí)踐報(bào)告。
第14單元―第15單元:學(xué)生按分工要求進(jìn)行PPT的實(shí)踐匯報(bào)和實(shí)踐成果的演示。
5.3課程設(shè)計(jì)組織
課程設(shè)計(jì)以課題組形式開展,6人一組,每組必須完成6篇報(bào)告(Linux虛擬機(jī)使用總結(jié)報(bào)告、Linux下GCC編程總結(jié)報(bào)告、MySQL數(shù)據(jù)庫(kù)應(yīng)用總結(jié)報(bào)告、基于TCP/IP的Socket編程總結(jié)報(bào)告、用Gtk+設(shè)計(jì)圖形用戶界面總結(jié)報(bào)告以及股票分析軟件實(shí)現(xiàn)技術(shù)總結(jié)報(bào)告),指定課題組長(zhǎng)(完成報(bào)告6),課題組其他成員分別完成報(bào)告1~5,每人1個(gè),不能重復(fù)。
課程設(shè)計(jì)以實(shí)踐為主,完成教材中所布置的實(shí)驗(yàn)習(xí)題。作業(yè)以電子方式交付。
5.4課程設(shè)計(jì)考核
對(duì)每位學(xué)生,課程設(shè)計(jì)考核包括四部分:
1) 電子版課程設(shè)計(jì)報(bào)告(40分),對(duì)于報(bào)告其撰寫要求如下:
① 每個(gè)報(bào)告不少于1萬字(不能以圖表代文,論述為主);
② 報(bào)告的基礎(chǔ)是每章的實(shí)驗(yàn)習(xí)題;
③ 報(bào)告可分4~5章(第一章概述,最后一章總結(jié),其他章節(jié)自行組織);
④ 報(bào)告以教材為樣式進(jìn)行排版;
⑤ 報(bào)告不要出現(xiàn)網(wǎng)上拷貝的痕跡,網(wǎng)上摘錄的要進(jìn)行相應(yīng)處理,嚴(yán)禁聊天用語、博客用語以及混亂的控制符和全角符號(hào);
⑥ 圖表要清晰,重要的圖表要親自畫或截,不要拷貝。
2) 每位同學(xué)要準(zhǔn)備總結(jié)報(bào)告的PPT匯報(bào)(10分鐘的匯報(bào)),匯報(bào)成績(jī)20分。
3) 每位同學(xué)要進(jìn)行所選報(bào)告的成果演示,演示成績(jī)20分。
4) 考勤成績(jī)20分。考勤10次,每次2分,考勤缺席5次的無成績(jī)。
5.5基于案例的“界面設(shè)計(jì)”實(shí)踐教學(xué)效果
“界面設(shè)計(jì)”課程自2006年開設(shè)以來,學(xué)生普遍反映良好,口碑頗佳,軟件開發(fā)的綜合實(shí)踐能力得到了明顯的提升。
最近,我們對(duì)學(xué)生學(xué)習(xí)該課程的體會(huì)和感想進(jìn)行了調(diào)查,學(xué)生普遍認(rèn)為案例內(nèi)容和實(shí)驗(yàn)方案豐富、實(shí)用和生動(dòng),大大地開拓了他們的眼界。通過基于復(fù)雜圖形用戶界面的大型應(yīng)用軟件開發(fā)方法和技術(shù)的學(xué)習(xí)和實(shí)踐,對(duì)現(xiàn)代軟件開發(fā)方法學(xué)和現(xiàn)代程序設(shè)計(jì)思想有了更進(jìn)一步地理解,增強(qiáng)了軟件綜合開發(fā)和解決復(fù)雜問題的工程實(shí)踐能力。特別是對(duì)軟件開發(fā)有了大局觀,對(duì)軟件開發(fā)中軟件設(shè)計(jì)和高質(zhì)量代碼編寫的重要性有了新認(rèn)識(shí),對(duì)優(yōu)秀開源軟件和開源技術(shù)有了極大的興趣。下面是部分學(xué)生在課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告中對(duì)“界面設(shè)計(jì)”的案例教學(xué)談到的心得體會(huì):
1) 通過這門課的學(xué)習(xí),我基本掌握了Linux虛擬機(jī)的使用,以及Linux下的GCC編程,應(yīng)用軟件圖形用戶界面GUI的界面設(shè)計(jì),網(wǎng)絡(luò)數(shù)據(jù)庫(kù)應(yīng)用技術(shù)和網(wǎng)絡(luò)通信技術(shù),并能進(jìn)行具有圖形用戶界面程序的開發(fā),提高了應(yīng)用C/S模式、管理數(shù)據(jù)庫(kù)數(shù)據(jù)等實(shí)際應(yīng)用能力。由于平常主要都是理論課程,實(shí)踐機(jī)會(huì)比較少,大家組隊(duì)進(jìn)行開發(fā)就更少了。通過此次實(shí)踐,我體驗(yàn)到了團(tuán)隊(duì)開發(fā)的重要性,學(xué)會(huì)了如何合作開發(fā),并大大提高了我解決問題的能力,為以后工作學(xué)習(xí)增加了豐富的經(jīng)驗(yàn)。
2) 以前學(xué)習(xí)Linux時(shí)僅把它當(dāng)作一種單純的操作系統(tǒng),沒有在上面做開發(fā),導(dǎo)致對(duì)Linux了解不多。經(jīng)過半個(gè)學(xué)期基于Linux的股票案例學(xué)習(xí)后,我收獲頗多。我主動(dòng)收集和閱讀了大量資料,并鍛煉了實(shí)際動(dòng)手能力。我學(xué)到了如何在Linux環(huán)境下搭建開發(fā)環(huán)境、進(jìn)行編程和開發(fā),并對(duì)MySQL,GCC,Gtk+等開源軟件在Linux下的應(yīng)用有了初步的認(rèn)識(shí),加深了對(duì)Linux下編程整體流程和工作細(xì)節(jié)的理解,知道了Linux下調(diào)試程序的方法,真正了解了程序在Linux下從編譯到運(yùn)行以及排錯(cuò)的全過程。
3) 這次課程設(shè)計(jì)我們的收獲非常多的,首先大家對(duì)于一款良好的軟件應(yīng)該具有什么樣的功能和性能有了比較清楚的認(rèn)識(shí),這對(duì)于我們以后在軟件開發(fā)乃至今后的工作都是有益處的。其次,這次復(fù)雜的課程設(shè)計(jì)鍛煉了我們各方面的能力,包括團(tuán)隊(duì)合作、資料查找、學(xué)習(xí)、融會(huì)貫通以及查錯(cuò)能力,等等??梢哉f對(duì)我們的綜合能力是一次極大的考驗(yàn)。在整個(gè)工程的過程里,大家接觸了很多以前沒有觸及過的知識(shí)并對(duì)其有了較為深切的理解。最后,本次課程設(shè)計(jì)溝通了我們幾位同學(xué)之間的感情,在辛苦工作的同時(shí),也留下了難忘的回憶。
4) 我覺得這門課對(duì)我很有幫助,讓我學(xué)會(huì)了一個(gè)我以前不會(huì)也沒接觸過的有用的軟件,學(xué)會(huì)了如何使用Gtk+來進(jìn)行圖形界面的設(shè)計(jì)。通過這一學(xué)期的學(xué)習(xí),課上聽老師對(duì)一些知識(shí)的講解,對(duì)Linux更加熟識(shí)了,對(duì)如何在Linux下安裝各種有用的軟件更加清楚。在課后我們組成小組,分工明確,每個(gè)人認(rèn)真地負(fù)責(zé)自己的那部分的工作,查資料,學(xué)相關(guān)的知識(shí),然后再給小組的每個(gè)組員講,使組內(nèi)的成員對(duì)大家的工作都很熟識(shí),這樣合作起來就更加的融洽,而且也可以互相討論和幫助。在這門課上學(xué)到了很多知識(shí),也鍛煉了動(dòng)手能力,最后作報(bào)告培養(yǎng)了大家的語言表達(dá)能力??傊?,我覺得這門課很有意義。
5)Stock股票軟件的成功運(yùn)行讓我們對(duì)自己的能力充滿了信心。從最開始我們興致勃勃地組成一個(gè)小組,憧憬著成功的那一天開始,一路磕絆,直到今天我們看到一個(gè)完整的軟件,這里的每一個(gè)細(xì)小的環(huán)節(jié)都有著我們?yōu)橹冻龅钠D辛努力。這與我們小組成員的團(tuán)結(jié)努力是密不可分的,尤其是負(fù)責(zé)編譯、調(diào)試和排錯(cuò)的組員。課程設(shè)計(jì)中遇到的問題,不但沒有將我們擊垮,而且在問題解決過程中,使得我們對(duì)許多知識(shí)又有了新的理解。感謝學(xué)院給我們提供了這樣一門自己動(dòng)手的課程,它對(duì)提高我們的編程能力非常有幫助。
6) 這次課程設(shè)計(jì)使我建立起一種堅(jiān)持到底不放棄的精神。之前的我總是缺乏恒心,一旦進(jìn)展不順即想放棄。這次強(qiáng)迫我接觸很多不會(huì)的新東西,而且時(shí)間上有限制,令我不得不一次次與失敗和不順打交道。在翻越這一道道“溝壑”的過程中,我覺得自己的毛躁在逐漸退去,變得越來越穩(wěn)健。我想精神上的成長(zhǎng)可能比知識(shí)的增多對(duì)我來說意義更大。
6結(jié)語
我校專家對(duì)這種模式的案例實(shí)踐教學(xué)給予了充分肯定,指出計(jì)算機(jī)學(xué)院或軟件學(xué)院學(xué)生的軟件開發(fā)綜合能力培養(yǎng)一直是高等院校軟件人才培養(yǎng)的一個(gè)“短板”,一直缺少好的實(shí)踐教學(xué)方案、好的實(shí)踐教學(xué)案例和好的實(shí)踐教學(xué)教材。因此,軟件開發(fā)綜合能力培養(yǎng)的案例教學(xué)在傳統(tǒng)實(shí)踐教學(xué)的基礎(chǔ)上做了很有意義的探索和實(shí)踐,其成果顯著、資源完整,具有很好的推廣和普及基礎(chǔ)。學(xué)校為了強(qiáng)化該項(xiàng)成果在軟件工程專業(yè)學(xué)位研究生能力培養(yǎng)上的轉(zhuǎn)化和推廣,將研究生的“高級(jí)軟件編程技術(shù)”課程列為學(xué)校重點(diǎn)建設(shè)的精品課程。因此,我們相信,隨著精品課程建設(shè)的深入開展,軟件開發(fā)綜合能力培養(yǎng)的案例教學(xué)基礎(chǔ)將進(jìn)一步夯實(shí),其成果將會(huì)進(jìn)一步凝練、宣傳和推廣。
參考文獻(xiàn):
[1] 蔡建平. 軟件綜合開發(fā)案例教程[M]. 北京:清華大學(xué)出版社,2011:序
[2] 陳紅霞,毛京一,滕月鵬. 計(jì)算機(jī)藍(lán)領(lǐng)到軟件藍(lán)領(lǐng):高職軟件開發(fā)人才培養(yǎng)模式探討[J]. 計(jì)算機(jī)教育,2010(1):135-137.
[3] 教育部辦公廳關(guān)于進(jìn)一步加強(qiáng)示范性軟件學(xué)院建設(shè)工作的通知[S]. 教高廳(2007)4號(hào).
The Comprehensive Ability Training for Software Developments Based on Case Teaching
CAI Jianping
(School of Software Engineering, Beijing University of Technology, Beijing 100124, China)
篇9
關(guān)鍵詞:JAVA程序設(shè)計(jì)基礎(chǔ);課程設(shè)計(jì);PSP
1前言
在程序設(shè)計(jì)類課程中,實(shí)踐教學(xué)環(huán)節(jié)一般包含兩個(gè)方面,即實(shí)驗(yàn)教學(xué)環(huán)節(jié)、課程設(shè)計(jì)環(huán)節(jié)。實(shí)驗(yàn)教學(xué)環(huán)節(jié)是對(duì)理論教學(xué)中的知識(shí)點(diǎn)進(jìn)行實(shí)踐;而課程設(shè)計(jì)環(huán)節(jié)是對(duì)本門課程乃至之前學(xué)習(xí)的課程知識(shí)綜合性的練習(xí)和實(shí)踐,對(duì)學(xué)生動(dòng)手能力的提升具有非常重要的意義。課程設(shè)計(jì)是對(duì)某一門課程進(jìn)行教學(xué)策劃的研究活動(dòng),具體來說是指在學(xué)完專業(yè)課一段時(shí)間內(nèi),安排組織學(xué)生用學(xué)到的知識(shí)在一定的時(shí)間內(nèi)有組織或者分散地完成一些任務(wù)。目前在大學(xué)計(jì)算機(jī)教學(xué)過程中,很大一部分程序設(shè)計(jì)類課程都開設(shè)了課程設(shè)計(jì),以期學(xué)生在課程設(shè)計(jì)中能夠掌握程序設(shè)計(jì)的基本思想、軟件開發(fā)的基本流程、程序調(diào)試的基本方法[1]。目前存在的問題本文針對(duì)河南中醫(yī)藥大學(xué)JAVA程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)執(zhí)行過程中出現(xiàn)的問題進(jìn)行總結(jié)。在實(shí)施過程中總結(jié)遇到的問題,有學(xué)生的學(xué)習(xí)態(tài)度問題,包括對(duì)課程設(shè)計(jì)不重視,認(rèn)為課程設(shè)計(jì)不重要;有教學(xué)計(jì)劃設(shè)計(jì)問題,指軟件工程課程安排在程序設(shè)計(jì)類課程之后,學(xué)生對(duì)軟件開發(fā)流程沒有整體概念,無從下手;評(píng)價(jià)方法和評(píng)價(jià)標(biāo)準(zhǔn)過于簡(jiǎn)單、單一,且隨意性強(qiáng),沒有嚴(yán)格的評(píng)價(jià)標(biāo)準(zhǔn),造成課程設(shè)計(jì)的質(zhì)量下降??梢姡瑔栴}集中在學(xué)生的態(tài)度問題、基本開發(fā)軟件的技能、教師的評(píng)價(jià)標(biāo)準(zhǔn)這三個(gè)方面[2]。鑒于學(xué)生的學(xué)習(xí)態(tài)度問題,教師對(duì)不同層次的學(xué)生進(jìn)行調(diào)查,原因主要為:課程為考察課,重視程度不夠;課程學(xué)習(xí)起來太難,難以接受,更不想動(dòng)手做東西;課程設(shè)計(jì)以往采用分組形式,每組人數(shù)較多,存在渾水摸魚的情況。對(duì)此,教師在組織課程設(shè)計(jì)實(shí)施過程中引入WWH模型,從學(xué)習(xí)動(dòng)機(jī)、知識(shí)儲(chǔ)備、實(shí)際操作三個(gè)方面對(duì)學(xué)生課程設(shè)計(jì)實(shí)施過程進(jìn)行干預(yù)。
2課程設(shè)計(jì)過程控制
在JAVA程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)實(shí)施過程中,教師采用WWH模型來完成課程設(shè)計(jì)的組織和實(shí)現(xiàn)。WWH具體是指Why、What和How。其中,Why解決的是在態(tài)度層面上學(xué)生的學(xué)習(xí)動(dòng)機(jī)問題,也就是為什么要來學(xué)習(xí)本門課程;What解決的是在知識(shí)層面上學(xué)員的知識(shí)儲(chǔ)備不足問題,也就是學(xué)生需要掌握哪些專業(yè)的知識(shí)才能支撐具體的編碼實(shí)現(xiàn);How解決的是在技能層面上,學(xué)生的實(shí)際操作技能問題,也就是如何解決課程設(shè)計(jì)實(shí)現(xiàn)中的疑難困惑。Why(為什么學(xué))Why是學(xué)生對(duì)待課程設(shè)計(jì)態(tài)度層面的問題。進(jìn)行課程設(shè)計(jì)的意義需要借助相應(yīng)的素材,從專業(yè)層面、課程層面、就業(yè)層面進(jìn)行分析。使用最常用的方法案例,選用一個(gè)正面案例及一個(gè)負(fù)面案例。正面案例講授的是用心完成課程設(shè)計(jì),將獲得什么收益,包括對(duì)前期知識(shí)系統(tǒng)性復(fù)習(xí),代碼調(diào)試能力提升,代碼量增加,取得很好的成績(jī);反面案例講授的是如果不學(xué)可能導(dǎo)致的嚴(yán)重后果,比如掛科、重修等。What(學(xué)什么)學(xué)什么是知識(shí)層面的問題。學(xué)習(xí)的知識(shí)一般包括定義、概念、標(biāo)準(zhǔn)、要求、原則、區(qū)別、特點(diǎn)、基本組成要素等。課程設(shè)計(jì)時(shí)需要分析學(xué)生在掌握相關(guān)技術(shù)時(shí)還缺乏哪些知識(shí),哪些技能掌握比較匱乏。比如:“軟件工程”中軟件開發(fā)的系統(tǒng)化流程,結(jié)構(gòu)圖、流程圖的繪制,在代碼結(jié)構(gòu)以及代碼調(diào)試方面能力較差[3]。由教師提供相關(guān)的書籍、材料進(jìn)行補(bǔ)充。How(如何做)“如何做”是學(xué)生完成課程設(shè)計(jì)的基本技能?!叭绾巫觥币话闶侵刚n程設(shè)計(jì)實(shí)現(xiàn)過程中需要學(xué)生重點(diǎn)實(shí)現(xiàn)的內(nèi)容,包括課程設(shè)計(jì)報(bào)告、軟件,如軟件開發(fā)中各個(gè)模塊分配的時(shí)間比例如何?哪個(gè)模塊分配的時(shí)間最多、人力最大?“如何做”包括了軟件開發(fā)的流程以及軟件開發(fā)中的技術(shù)。在這個(gè)過程中需要教師能夠進(jìn)行指導(dǎo),協(xié)助學(xué)生分析各個(gè)模塊重難點(diǎn),進(jìn)而確定分工。
3課程設(shè)計(jì)目標(biāo)考核
在課程設(shè)計(jì)環(huán)節(jié)執(zhí)行過程中,除了加強(qiáng)過程控制外,對(duì)結(jié)果目標(biāo)的考核是非常重要的一個(gè)方面,學(xué)生的態(tài)度問題究其原因,其中一個(gè)方面是在教學(xué)評(píng)價(jià)過程中課程設(shè)計(jì)環(huán)節(jié)評(píng)價(jià)指標(biāo)不明確,教師對(duì)學(xué)生課程設(shè)計(jì)評(píng)價(jià)結(jié)果與實(shí)際有偏差,造成學(xué)生渾水摸魚的現(xiàn)象存在。所以軟件開發(fā)的工作量和質(zhì)量如何衡量、如何評(píng)價(jià),是課程設(shè)計(jì)評(píng)價(jià)環(huán)節(jié)的一個(gè)重點(diǎn)內(nèi)容。河南中醫(yī)藥大學(xué)JAVA程序設(shè)計(jì)基礎(chǔ)課程教學(xué)中引入PSP(PersonalSoftwareProcess)模式進(jìn)行評(píng)價(jià)。PSP認(rèn)為在軟件評(píng)估過程中有下列四個(gè)因素需要考慮。1)任務(wù)有多大?用代碼行數(shù)(不包括空行/注釋行/單字符行)來表示,或使用功能點(diǎn)來表示。在實(shí)施過程中采用兩種方式相結(jié)合的形式,首先確定功能點(diǎn)的個(gè)數(shù),按照功能點(diǎn)逐個(gè)確定代碼行數(shù)。2)花了多少時(shí)間?一組人所花費(fèi)的時(shí)間可以用人數(shù)*時(shí)間來表示,但是由于學(xué)生的基本功有差距,此標(biāo)準(zhǔn)對(duì)學(xué)生課程設(shè)計(jì)的工作量計(jì)算并不適用。3)質(zhì)量如何?交付的代碼中有多少缺陷?在課程設(shè)計(jì)中將交付定義為在“代碼完成”的時(shí)候,交付給負(fù)責(zé)測(cè)試的學(xué)生,并完成測(cè)試用例表。使用缺陷的數(shù)量來除以項(xiàng)目的大小,也就是缺陷的數(shù)量除以總的代碼量,衡量評(píng)價(jià)一個(gè)軟件的質(zhì)量。4)是否按時(shí)交付?這個(gè)指標(biāo)對(duì)學(xué)生不適用,學(xué)生完成課程設(shè)計(jì)的時(shí)間有明確的要求,不能延期交付。綜合以上幾點(diǎn),在課程設(shè)計(jì)目標(biāo)評(píng)估中,結(jié)合PSP模式并對(duì)其進(jìn)行課程設(shè)計(jì)評(píng)估的相關(guān)修改,通過功能點(diǎn)數(shù)、代碼行數(shù)以及缺陷數(shù)來評(píng)估課程設(shè)計(jì)中軟件的質(zhì)量。
4結(jié)果調(diào)研
按照WWH模型組織實(shí)施課程設(shè)計(jì)進(jìn)行過程控制和引入PSP模型進(jìn)行課程設(shè)計(jì)目標(biāo)考核,在現(xiàn)有課程JAVA程序設(shè)計(jì)基礎(chǔ)上實(shí)施,并對(duì)結(jié)果進(jìn)行調(diào)查研究,數(shù)據(jù)顯示,學(xué)生在課程設(shè)計(jì)的代碼量均在1000行左右,最少的在600行。從代碼量來看,學(xué)生在課程設(shè)計(jì)中代碼量在各個(gè)小組之間差距不大,這有助于小組之間競(jìng)爭(zhēng),并進(jìn)而促進(jìn)軟件功能點(diǎn)的增多。在軟件開發(fā)中引入PSP評(píng)價(jià)代碼質(zhì)量,使用測(cè)試用例方式統(tǒng)計(jì)軟件完成情況、性能、穩(wěn)定程度,進(jìn)一步提高了代碼的質(zhì)量,并讓學(xué)生在課程設(shè)計(jì)中了解了軟件開發(fā)的流程,課程設(shè)計(jì)報(bào)告的完整度和質(zhì)量有所提升。
5結(jié)語
課程設(shè)計(jì)是程序類課程不可或缺的一個(gè)環(huán)節(jié),對(duì)課程設(shè)計(jì)量和質(zhì)的控制是非常重要的。使用合理評(píng)價(jià)體系對(duì)課程設(shè)計(jì)的工作量和軟件質(zhì)量進(jìn)行評(píng)價(jià),是從結(jié)果逆向來促使學(xué)生提升課程設(shè)計(jì)質(zhì)量的一種方式,加強(qiáng)目標(biāo)管理也是實(shí)踐性課程教學(xué)目標(biāo)實(shí)現(xiàn)的一種重要途徑。加強(qiáng)過程管理以及目標(biāo)評(píng)價(jià),是提升課程設(shè)計(jì)質(zhì)量的重要保障。
參考文獻(xiàn)
[1]吳軍其,劉玉梅.學(xué)習(xí)設(shè)計(jì):一種新型的教學(xué)設(shè)計(jì)理念[J].電化教育研究,2009(12):80-83.
[2]章杰,陳笑蓉,皮建勇.項(xiàng)目實(shí)踐為導(dǎo)向的教學(xué)方法在軟件開發(fā)課程中的應(yīng)用[J].計(jì)算機(jī)教育,2010(5):91-94.
篇10
關(guān)鍵詞:軟件工程;課程群;課程群體系
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B
1引言
軟件工程是運(yùn)用工程、科學(xué)和數(shù)學(xué)的原則與方法研制、維護(hù)計(jì)算機(jī)軟件的有關(guān)技術(shù)和管理的方法;是將系統(tǒng)的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù)的過程。中國(guó)的軟件產(chǎn)業(yè)以軟件工程為指導(dǎo)思想得到了迅猛發(fā)展,使得軟件工程人才的培養(yǎng)發(fā)生了巨大的變化。然而,人才需求與教育供給的不足產(chǎn)生了矛盾,以傳統(tǒng)的課程體系、單一的課程模式來培養(yǎng)軟件工程人才已不能滿足軟件產(chǎn)業(yè)發(fā)展的需求,成為軟件工程教育發(fā)展面臨的一個(gè)重要問題。解決這一問題的關(guān)鍵之一是需要在不斷的教學(xué)過程中,研究適應(yīng)軟件產(chǎn)業(yè)發(fā)展需求的人才培養(yǎng)模式以及相應(yīng)的軟件工程教學(xué)思路和方法,形成一個(gè)正確的課程群體系,在該課程群體系的保證下,不斷提高教學(xué)質(zhì)量使軟件工程教育得到健康穩(wěn)步發(fā)展。
傳統(tǒng)的軟件工程人才培養(yǎng)課程體系存在著以下幾方面的問題:(1)工程特點(diǎn)不明顯。課程安排過于傳統(tǒng),偏重計(jì)算機(jī)科學(xué)與技術(shù)的課程模式,偏重基礎(chǔ)理論和方法的傳授,沒有突出現(xiàn)代軟件工程的發(fā)展特點(diǎn),忽略了體現(xiàn)軟件工程特點(diǎn)的關(guān)于質(zhì)量、進(jìn)度、成本、度量、團(tuán)隊(duì)、管理等方面的教育和實(shí)訓(xùn)。(2)分工不細(xì),與應(yīng)用領(lǐng)域結(jié)合不緊。軟件工程的應(yīng)用范圍不斷延伸,已經(jīng)深入到各個(gè)方面。而軟件工程的教育卻沒有達(dá)到與應(yīng)用領(lǐng)域的緊密結(jié)合,造成事實(shí)上的脫節(jié)。(3)單一的課程模式,不利于整體知識(shí)的貫穿。傳統(tǒng)的課程體系中,與軟件工程有密切聯(lián)系的課程沒有形成一個(gè)課程群,每門課程都是按照各自課程的體系獨(dú)立授課,使得有些知識(shí)點(diǎn)過于重復(fù),有些知識(shí)體系不能有機(jī)地銜接。(4)軟件工程教育與軟件產(chǎn)業(yè)結(jié)合不緊。軟件工程的教育不能及時(shí)更新教育理念,不能及時(shí)跟蹤軟件工程行業(yè)的最新發(fā)展趨勢(shì)。造成當(dāng)學(xué)生畢業(yè)后參加工作時(shí),不能很快適應(yīng)較大型軟件的個(gè)人或團(tuán)隊(duì)開發(fā)。(5)忽視交流能力的培養(yǎng)。交流能力是工程能力培養(yǎng)的重要方面,但現(xiàn)有的軟件工程教育體制卻秉承了傳統(tǒng)的教育方法,忽視交流能力的培養(yǎng)。鑒于以上這些問題,開展以軟件工程為主線的課程群體系研究是非常必要,也是很有意義的。
2研究現(xiàn)狀
目前,單純的計(jì)算機(jī)學(xué)科式教育已跟不上當(dāng)今產(chǎn)業(yè)界對(duì)工程型IT人才的迫切需求。不僅如此,服務(wù)于單純的計(jì)算機(jī)學(xué)科式教育的傳統(tǒng)的實(shí)踐教學(xué)也日益暴露出與企業(yè)需求和現(xiàn)代化工程型人才培養(yǎng)不相匹配的弊端。如何突出實(shí)踐教學(xué)的效果,如何將相關(guān)的課程組成一個(gè)課程群,使工程化培養(yǎng)在整個(gè)培養(yǎng)模式中的地位、分量和作用不斷加強(qiáng),使學(xué)生的知識(shí)體系更加科學(xué)化、系統(tǒng)化、更加連貫、更加適應(yīng)社會(huì)需求,是目前絕大多數(shù)學(xué)校和用人單位共同需要解決的課題。
2003年教育部設(shè)立了“軟件工程課程體系”研究項(xiàng)目,以確立我國(guó)軟件工程教育體系的框架。由若干著名高校聯(lián)合組織了課題組,深入分析ACM和IEEE的《Computing curriculum-software Engineering》[1],研究探討我國(guó)軟件工程學(xué)科的教育思想、課程體系、教學(xué)計(jì)劃等,并結(jié)合國(guó)內(nèi)部分著名高校軟件學(xué)院的教學(xué)成果,形成了《中國(guó)軟件工程學(xué)科教程》[2]。國(guó)外,在軟件工程專業(yè)人才的培養(yǎng)中也提出了許多建議,如文獻(xiàn)[3]中談到Computing curriculum-software Engineering對(duì)軟件工程人才培養(yǎng)發(fā)揮著很重要的作用。
據(jù)調(diào)查,通過幾年的探索,目前中國(guó)三十多所國(guó)家示范性軟件學(xué)院均在不同程度上創(chuàng)建了一套以質(zhì)量為目標(biāo),以主動(dòng)服務(wù)于企業(yè)為特色,按工程領(lǐng)域需求培養(yǎng),設(shè)置相應(yīng)的課程體系與實(shí)踐環(huán)節(jié),同時(shí)建立與國(guó)內(nèi)外知名企業(yè)合作,成立校內(nèi)外實(shí)訓(xùn)基地,建立新的工程型軟件人才培養(yǎng)模式。
南京大學(xué)軟件工程專業(yè)推行的工程化實(shí)踐教學(xué)體系可以簡(jiǎn)單地用“一個(gè)教學(xué)理念、兩個(gè)培養(yǎng)階段、三項(xiàng)保障措施和四門實(shí)踐課程”加以概括。一個(gè)教學(xué)理念,指樹立工程化能力培養(yǎng)與基礎(chǔ)理論教學(xué)、專業(yè)能力培養(yǎng)并重的教學(xué)理念。兩個(gè)培養(yǎng)階段,指分別設(shè)置工程化教學(xué)階段和企業(yè)實(shí)習(xí)階段,把工程化素質(zhì)培養(yǎng)作為學(xué)生全培養(yǎng)期中自始至終關(guān)注的主線。三項(xiàng)保障措施,指通過教學(xué)方法創(chuàng)新、評(píng)價(jià)體系創(chuàng)新和實(shí)驗(yàn)室建設(shè)創(chuàng)新,保障了工程化教學(xué)理念的實(shí)施。四門實(shí)踐課程,指設(shè)立了程序設(shè)計(jì)、軟件工程課程、信息系統(tǒng)課程、網(wǎng)絡(luò)平臺(tái)四門特色化的工程化實(shí)踐課程。中國(guó)國(guó)防科技大學(xué)在軟件工程專業(yè)教學(xué)改革實(shí)踐中,圍繞著以建立科學(xué)的軟件工程教學(xué)內(nèi)容體系為前提,突出實(shí)踐,激發(fā)學(xué)生主動(dòng)探索和實(shí)踐的熱情,利用案例式教學(xué),同步構(gòu)筑立體化教學(xué)互動(dòng)平臺(tái)。東南大學(xué)軟件學(xué)院提出了校企合作培養(yǎng)工程型人才的模式,通過教學(xué)的探索和實(shí)踐,把教學(xué)和工程實(shí)踐緊密地結(jié)合起來,突破學(xué)期、授課教師、課程各自獨(dú)立的局限,實(shí)現(xiàn)總體設(shè)計(jì)、綜合布局、交叉穿插、協(xié)同配合的新模式,取得了較好的效果。
3課程群體系的建設(shè)思路
工程型軟件人才的培養(yǎng)需要有一個(gè)貫穿始終的工程概念作指導(dǎo)的課程體系和與之配套的實(shí)踐環(huán)節(jié)。在課程群體系建設(shè)中主要考慮了以下幾方面的問題。
(1) 梳理以軟件工程為主線的系列課程之間的關(guān)系,確定以軟件工程為核心的課程群的內(nèi)容和課程群體系架構(gòu)。明確課程群中的基礎(chǔ)課程、專業(yè)課程和核心專業(yè)課程,以及它們的主要內(nèi)容和大綱,確保課程群的知識(shí)體系結(jié)構(gòu)合理、知識(shí)銜接合理、實(shí)踐環(huán)節(jié)安排合理,以避免知識(shí)點(diǎn)缺乏或知識(shí)點(diǎn)重復(fù),以及知識(shí)體系不連貫等問題。因此,我們深深體會(huì)到深入討論和研究課程群內(nèi)課程之間的關(guān)系和內(nèi)容是至關(guān)重要的。
(2) 課程群的內(nèi)容設(shè)置既要考慮夯實(shí)軟件工程的基礎(chǔ),又要考慮軟件工程的素質(zhì)和工程化思想的培養(yǎng)。軟件工程的基礎(chǔ)是建立在多個(gè)不同學(xué)科之上。它不僅需要計(jì)算機(jī)科學(xué)的理論和基礎(chǔ)知識(shí),諸如數(shù)學(xué)、工程學(xué)、項(xiàng)目管理及其它應(yīng)用領(lǐng)域的概念,同時(shí)也需要培養(yǎng)學(xué)生軟件工程的基本素質(zhì)和基本技能??紤]設(shè)立了“程序設(shè)計(jì)類課程+軟件工程類課程+數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)等專業(yè)類課程+認(rèn)證類課程”的課程群體系。特別應(yīng)該強(qiáng)調(diào)是在本科的早期階段,為了避免學(xué)生養(yǎng)成不良的編程習(xí)慣,樹立規(guī)范編程和團(tuán)隊(duì)合作的思想,在加強(qiáng)程序設(shè)計(jì)類課程的實(shí)訓(xùn)環(huán)節(jié)同時(shí),考慮個(gè)體軟件過程和小組軟件過程等軟件工程基礎(chǔ)和素質(zhì)課程的設(shè)置。認(rèn)證類課程的融入旨在提高學(xué)生的基本技能和軟件素質(zhì)。
(3) 建立起更加完善的、與課程群體系相適應(yīng)的實(shí)驗(yàn)、實(shí)訓(xùn)、實(shí)踐教學(xué)體系。工程化思想的培養(yǎng)離不開實(shí)踐環(huán)節(jié)。如何提高學(xué)生的創(chuàng)新能力和工程實(shí)踐能力是課程體系實(shí)踐環(huán)節(jié)設(shè)計(jì)的關(guān)鍵。實(shí)驗(yàn)是吸收、消化課程內(nèi)容的第一實(shí)踐環(huán)節(jié),實(shí)驗(yàn)內(nèi)容的設(shè)計(jì)既要考慮對(duì)基本知識(shí)的理解又要考慮對(duì)后續(xù)內(nèi)容的鋪墊,既強(qiáng)調(diào)知識(shí)與技能的融合,又強(qiáng)調(diào)創(chuàng)新思維能力的培養(yǎng)。整個(gè)實(shí)驗(yàn)課程體系的設(shè)置涵蓋了“技能、基本知識(shí)、設(shè)計(jì)、綜合、創(chuàng)新”五個(gè)層次。實(shí)訓(xùn)是對(duì)課程內(nèi)容的總結(jié),在加強(qiáng)案例教學(xué)的同時(shí),遵循學(xué)生的認(rèn)知規(guī)律,合理安排實(shí)訓(xùn)的內(nèi)容,既考慮課程內(nèi)容的銜接又考慮加強(qiáng)工程化的訓(xùn)練,把提高學(xué)生的創(chuàng)新能力和工程實(shí)踐能力貫穿于整個(gè)實(shí)踐環(huán)節(jié)的始終。我們采用了目標(biāo)驅(qū)動(dòng)式的實(shí)訓(xùn)策略,使學(xué)生在實(shí)訓(xùn)初期,就了解最終完成的系統(tǒng)要實(shí)現(xiàn)的功能。從系統(tǒng)目標(biāo)出發(fā)建立層次化的實(shí)訓(xùn)架構(gòu),使學(xué)生變被動(dòng)為主動(dòng),有的放矢、完整系統(tǒng)地構(gòu)建自己的知識(shí)和技能體系,增強(qiáng)學(xué)生在設(shè)計(jì)上的全局觀念。實(shí)訓(xùn)環(huán)節(jié)中還考慮了加強(qiáng)與企業(yè)的合作,將企業(yè)的資源優(yōu)勢(shì)與學(xué)校的理論知識(shí)優(yōu)勢(shì)充分地結(jié)合,共同設(shè)計(jì)和建設(shè)課程群中的實(shí)訓(xùn)項(xiàng)目。
(4) 進(jìn)行教學(xué)方法和教學(xué)手段的改革,使其適應(yīng)軟件工程人才的培養(yǎng)。軟件工程類的課程內(nèi)容紛雜,在教學(xué)過程中容易出現(xiàn)空洞的說教。為了避免這一問題,改革了現(xiàn)有的、傳統(tǒng)的課堂教學(xué)方式,在加強(qiáng)案例教學(xué)和實(shí)踐環(huán)節(jié)的同時(shí),多采用課堂討論、小組報(bào)告、項(xiàng)目答辯等多種形式的教學(xué)方法。在課程群體系的建設(shè)中重點(diǎn)研究、設(shè)計(jì)和提出能夠貫穿于軟件工程為主線的課程群的案例。該案例的設(shè)計(jì)以培養(yǎng)興趣、激發(fā)創(chuàng)新激情為源點(diǎn),從軟件工程的基礎(chǔ)入手,使學(xué)生能夠循序漸進(jìn)地接受并融會(huì)貫通所學(xué)知識(shí),再進(jìn)一步地激發(fā)創(chuàng)新激情。通過案例的學(xué)習(xí),既能鞏固已學(xué)過的知識(shí),又能在此基礎(chǔ)上讓學(xué)生實(shí)際運(yùn)用他們所學(xué)過的知識(shí)和技能,模擬案例提出相應(yīng)階段自己的問題,并給出解決方案,真正使學(xué)生體會(huì)和做到學(xué)以致用。
(5) 以軟件工程為主線的課程群體系研究的同時(shí)加強(qiáng)教材建設(shè)。目前我院在軟件工程類課程中采用的教材都是原版外文類教材,這些教材從理念上來講是比較新的,但是其中的案例都是國(guó)外企業(yè)較為流行和實(shí)用的,有些內(nèi)容和我們的國(guó)情存在著差距,國(guó)內(nèi)學(xué)生接受起來有些難度。為此在引用國(guó)外教材的同時(shí),設(shè)計(jì)符合國(guó)情、符合軟件工程人才培養(yǎng)要求、符合課程群建設(shè)以及貫穿于整個(gè)教學(xué)環(huán)節(jié)的案例教材是我們研究和建設(shè)的重點(diǎn)。
4解決的關(guān)鍵問題
(1) 課程群內(nèi)容的篩選。軟件工程專業(yè)主要以培養(yǎng)高層次、工程型、國(guó)際化人才為目標(biāo)。如何確立以軟件工程為主線的課程群內(nèi)容來滿足這一人才培養(yǎng)目標(biāo),如何在課程群中強(qiáng)調(diào)軟件工程的相關(guān)概念、原理和觀點(diǎn),幫助學(xué)生形成系統(tǒng)的軟件工程思想,如何在知識(shí)的涵蓋面、創(chuàng)新靈活性和知識(shí)與實(shí)踐的結(jié)合上取得適當(dāng)平衡,是解決的關(guān)鍵問題之一。
(2) 課程群體系的改革。工程型的課程體系是進(jìn)行工程型軟件人才培養(yǎng)最基礎(chǔ)的環(huán)節(jié),如何在傳統(tǒng)課程體系的基礎(chǔ)上,加強(qiáng)各課程之間的銜接、配合,增加貫穿始終的案例教學(xué)、添加社會(huì)和企業(yè)需要的專業(yè)技術(shù)課程,從而最大限度地發(fā)揮課程群體系的作用??紤]將多個(gè)課程模塊整合在一起,覆蓋軟件工程教育知識(shí)體系SEEK的所有知識(shí)領(lǐng)域,并與IEEE-CS/ACM聯(lián)合推出的軟件工程計(jì)算教程CCSE 2004的教學(xué)要求基本吻合,保證課程群內(nèi)容的科學(xué)性和系統(tǒng)性。
(3) 加強(qiáng)先進(jìn)教材體系建設(shè)。遵循“體現(xiàn)素質(zhì)教育和創(chuàng)新能力培養(yǎng)”、“穩(wěn)定性和先進(jìn)性相協(xié)調(diào)”的原則,在借鑒國(guó)際著名教材的基礎(chǔ)上,結(jié)合科研成果,對(duì)原有教材不斷更新改版同時(shí),著力建設(shè)與課程群體系相匹配的高水平教材及實(shí)驗(yàn)、實(shí)訓(xùn)教材。
(4) 校內(nèi)外實(shí)踐教學(xué)體系的建立。實(shí)踐教學(xué)體系包含課程實(shí)驗(yàn)、課程設(shè)計(jì)、綜合實(shí)踐等內(nèi)容。課程實(shí)驗(yàn)、課程設(shè)計(jì)是保證課堂教學(xué)的非常重要的實(shí)踐環(huán)節(jié)。如何選擇合適的案例貫穿整個(gè)課程群體系,是激發(fā)學(xué)生學(xué)習(xí)興趣,確保學(xué)生掌握一些重要思想的關(guān)鍵。綜合實(shí)踐活動(dòng)既可以在校內(nèi)進(jìn)行也可以在校外實(shí)施。校內(nèi)的綜合實(shí)踐活動(dòng)是通過貫穿于整個(gè)知識(shí)體系的大型案例,讓學(xué)生實(shí)際參與,并承擔(dān)相應(yīng)的角色,在實(shí)踐過程中讓學(xué)生充分理解和應(yīng)用所學(xué)的知識(shí)。校外實(shí)訓(xùn)基地的建立為學(xué)生與企業(yè)無縫對(duì)接提供了便利條件。校內(nèi)外實(shí)訓(xùn)體系的建立也是學(xué)院聯(lián)系社會(huì)、聯(lián)系企業(yè)的重要途徑,也是促進(jìn)學(xué)生就業(yè)的直接渠道。實(shí)訓(xùn)基地是學(xué)院進(jìn)行教學(xué)改革和工程化培養(yǎng)最前沿的,同時(shí)也是最富有成效的陣地。因此,建立穩(wěn)定、有效的實(shí)踐教學(xué)體系,是關(guān)系到人才培養(yǎng)成敗最重要的環(huán)節(jié)之一。
(5) 信息化平臺(tái)的建立。學(xué)院信息化建設(shè)為整體教學(xué)環(huán)節(jié)提供了有力的平臺(tái)支持。如何建立合理、高效的以軟
件工程為主線的課程群體系信息化平臺(tái),也是全面實(shí)施教學(xué)改革所必須要解決的問題。按照突出“知識(shí)的綜合運(yùn)用能力”、“系統(tǒng)的分析設(shè)計(jì)和集成能力”、“科技創(chuàng)新和團(tuán)隊(duì)協(xié)作能力”培養(yǎng)的指導(dǎo)思想,建立起支撐課程群的實(shí)踐教學(xué)環(huán)境。充分利用現(xiàn)代教學(xué)手段和網(wǎng)絡(luò)資源,構(gòu)建在線資源、案例庫(kù)、答疑區(qū),增加與學(xué)生的交流,提高教學(xué)質(zhì)量。
5結(jié)束語
針對(duì)軟件工程專業(yè)人才培養(yǎng)的需求,加強(qiáng)以軟件工程為主線的課程群體系的研究和建設(shè),不僅使我們的教學(xué)內(nèi)容更加科學(xué)、系統(tǒng)、規(guī)范、豐富、充實(shí),也加強(qiáng)了與企業(yè)之間的聯(lián)系,使得課程教學(xué)與實(shí)踐教學(xué)更加協(xié)調(diào),實(shí)踐內(nèi)容更加豐富,提高了學(xué)生的實(shí)踐能力。
今后我們還要進(jìn)一步加強(qiáng)和完善課程群體系的建設(shè),在建設(shè)中既要進(jìn)一步充實(shí)課程群的課程內(nèi)容,協(xié)調(diào)各課程之間的相互關(guān)聯(lián)、銜接,還要充分考慮各教學(xué)、實(shí)踐環(huán)節(jié)的完善和改造,引進(jìn)和借鑒校外資源和社會(huì)資源,使學(xué)校的教學(xué)優(yōu)勢(shì)與企業(yè)實(shí)踐平臺(tái)等一系列優(yōu)勢(shì)資源結(jié)合在一起,在使學(xué)生得到良好培養(yǎng)的同時(shí),企業(yè)也得到了優(yōu)秀的人才,學(xué)校的培養(yǎng)質(zhì)量也得到了全面提高。
參考文獻(xiàn)
[1] Computing Curriculum―Software Engineering: Final Report,IEEE Computer Society /ACM Joint Task Force on Computing Curricula[EB/OL]. /ccse/volume/FinalReport-5-21-04.pdf.
熱門標(biāo)簽
軟件工程論文 軟件技術(shù)論文 軟件測(cè)試 軟件技術(shù)方案 軟件畢業(yè)論文 軟件設(shè)計(jì) 軟件年終總結(jié) 軟件開發(fā)論文 軟件設(shè)計(jì)大賽 軟件實(shí)訓(xùn)總結(jié) 心理培訓(xùn) 人文科學(xué)概論