軟件工程課程設(shè)計總結(jié)范文

時間:2023-04-01 15:05:30

導(dǎo)語:如何才能寫好一篇軟件工程課程設(shè)計總結(jié),這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。

軟件工程課程設(shè)計總結(jié)

篇1

關(guān)鍵詞: 軟件工程課程設(shè)計 教學(xué)現(xiàn)狀 教學(xué)模式評價體系

一、引言

軟件工程是計算機科學(xué)、信息技術(shù)、軟件工程等專業(yè)的教學(xué)計劃中一門重要專業(yè)必修課[1],而軟件工程課程設(shè)計是針對軟件工程這門課程展開的一項理論與實踐相結(jié)合的重要教學(xué)活動;它不同于畢業(yè)設(shè)計,更不同于簡單的實驗過程。它是軟件工程教學(xué)的一個重要實踐環(huán)節(jié),為學(xué)生綜合能力的運用、技術(shù)思維的形成、創(chuàng)造能力的培養(yǎng)搭建了一個平臺,使學(xué)生除了掌握軟件工程理論和方法外,還能夠綜合運用已學(xué)過的程序設(shè)計、數(shù)據(jù)結(jié)構(gòu)、計算機網(wǎng)絡(luò)、管理學(xué)和經(jīng)濟學(xué)等課程的技能、工具解決與其相關(guān)的理論或?qū)嶋H問題。

在軟件工程課程設(shè)計中,很多本學(xué)科的學(xué)者與施教者總結(jié)了不錯的經(jīng)驗,比如“激勵機制”[2]、面向?qū)ο蟮淖灾鲗嶒灲虒W(xué)[3]、課程相關(guān)體系研究[4]及相關(guān)的案例法教學(xué)實踐設(shè)計[5]等,這些方法各有所長。我取其所長,結(jié)合親身教學(xué)實踐,從課程設(shè)計的目標(biāo)要求,設(shè)計內(nèi)容,設(shè)計的具體實施,學(xué)生成績評價體系等方面,對軟件工程課程設(shè)計教學(xué)模式作了系統(tǒng)的探討。

二、軟件工程課程設(shè)計的教學(xué)現(xiàn)狀

長期以來,很多高校培養(yǎng)的學(xué)生存在著“什么都學(xué)過,卻什么都不會”的尷尬局面,專業(yè)教育、教材與實際應(yīng)用需求嚴(yán)重脫節(jié)[6]。傳統(tǒng)的軟件工程課程設(shè)計雖然也有設(shè)計的要求,但一般只是停留在組織學(xué)生編寫軟件項目若干設(shè)計文檔這個單一環(huán)節(jié)上,忽略了對教學(xué)方法和內(nèi)容的更新。目前,大多數(shù)院校軟件工程課程設(shè)計課程教學(xué)中普遍存在的問題有以下幾點。

1.課程設(shè)計目標(biāo)不夠明確,實驗和設(shè)計不加區(qū)別。把軟件工程實驗和設(shè)計的要求同等對待,從而使設(shè)計內(nèi)容偏少,驗證性實驗內(nèi)容和方法偏多,實驗過程變成了重復(fù)的復(fù)制和操作的過程,實驗教學(xué)效果不理想,達不到培養(yǎng)學(xué)生獨立思考和創(chuàng)新能力的目的。

2.課程設(shè)計內(nèi)容比較陳舊,不能與時俱進。很多從事軟件工程課程設(shè)計教學(xué)的教師本身缺乏項目開發(fā)的實戰(zhàn)經(jīng)驗,對課程設(shè)計的內(nèi)容往往從一些參考書籍的實例中拿過來讓學(xué)生去做,有的甚至多年不更新設(shè)計內(nèi)容,這樣很容易給學(xué)生抄襲的機會,達不到課程設(shè)計的要求;同時,很多學(xué)生對設(shè)計的內(nèi)容也不一定感興趣,因此也容易扼殺學(xué)生的積極性和創(chuàng)新能力。

3.在項目組劃分確定方面,缺乏對學(xué)生專業(yè)基礎(chǔ),性格和技能的分析與匹配,導(dǎo)致沒有凝聚整組成員的合作精神和團隊的開發(fā)能力。組長的核心作用很重要,但在具體的設(shè)計中,一般就是簡單的按學(xué)號自然的分化,或者學(xué)生的自由組合分組,前者失去了團隊能力的柔化組合與應(yīng)用,后者導(dǎo)致少數(shù)技能較差的學(xué)生不能分到組中去而處于孤軍作戰(zhàn)的局面。

4.教師制定課程設(shè)計的指導(dǎo)要求目的不明確、不詳細(xì),監(jiān)管力度不到位,導(dǎo)致項目開發(fā)團隊在執(zhí)行的過程中出現(xiàn)安排任務(wù)不合理,出現(xiàn)某些成員任務(wù)過重或者過輕的情況。

5.學(xué)生成績的評分結(jié)果過于單一,評價體系不夠科學(xué)合理。對學(xué)生的設(shè)計成績的評價往往是指導(dǎo)老師根據(jù)學(xué)生提交的報告和設(shè)計結(jié)果來評分,這樣容易忽略對學(xué)生綜合能力(包括學(xué)生的口頭表達能力,組織能力,團隊協(xié)調(diào)能力等各方面)的評價。

因此,為了培養(yǎng)高素質(zhì)的綜合型軟件人才,高等學(xué)校探索良好的軟件工程課程設(shè)計教學(xué)模式就顯得十分必要。

三、軟件工程課程設(shè)計教學(xué)模式的探討

針對當(dāng)前多數(shù)院校軟件工程課程設(shè)計課程教學(xué)中普遍存在的一些問題,我根據(jù)多年的教學(xué)經(jīng)驗,對該課程的教學(xué)模式作了如下探討。

1.指導(dǎo)老師根據(jù)軟件工程教學(xué)的特點,制定出軟件工程課程設(shè)計的目標(biāo)與通過該課程設(shè)計后可取得預(yù)期的收獲。下面是我對軟件工程課程設(shè)計制定的目標(biāo)和可能的預(yù)期收獲。

(1)通過本課程設(shè)計的實踐及其前后的準(zhǔn)備與總結(jié),復(fù)習(xí)、領(lǐng)會、鞏固和運用軟件工程課堂上所學(xué)的軟件開發(fā)方法和知識,比如,軟件項目的完整設(shè)計與開發(fā)過程、結(jié)構(gòu)化技術(shù)、快速原型法和面向?qū)ο蠓椒?等等。

(2)為學(xué)生適應(yīng)畢業(yè)后團隊合作開發(fā)規(guī)模稍大項目和綜合應(yīng)用本專業(yè)所學(xué)習(xí)的多門課程知識(例如,軟件工程、程序設(shè)計語言、操作系統(tǒng)、數(shù)據(jù)庫、網(wǎng)絡(luò)編程等)創(chuàng)造實踐機會。為學(xué)生提供主動學(xué)習(xí)(比如,對Web網(wǎng)頁設(shè)計、或ASP交互網(wǎng)頁技術(shù)、Java開發(fā)環(huán)境、網(wǎng)站構(gòu)架如Struts,Hibernate,Spring,商用數(shù)據(jù)庫應(yīng)用、電子商務(wù)、客戶機/服務(wù)器技術(shù)、Visio與Rational Rose,Sybase powerdesigner軟件工具等內(nèi)容的學(xué)習(xí))、積極探索與大膽創(chuàng)新的機會。

(3)使學(xué)生通過參加小組團隊的開發(fā)實踐,了解項目管理、團隊協(xié)作、與客戶交流、文檔編寫、口頭與書面表達的重要性。

(4)使每個學(xué)生了解軟件工具與環(huán)境對于項目開發(fā)的重要性,并且重點深入掌握好一、兩種較新或較流行的軟件工具或計算機應(yīng)用技術(shù)、技能。

(5)通過“稍大的”富有挑戰(zhàn)性的軟件設(shè)計項目開發(fā)實踐,提高學(xué)生的自學(xué)能力、書面與口頭表達能力、創(chuàng)造能力和與團隊其他成員交往和協(xié)作開發(fā)軟件的能力,提高學(xué)生今后參與開發(fā)稍大規(guī)模實際軟件項目和探索未知領(lǐng)域的能力和自信心。

2.課程設(shè)計內(nèi)容選擇應(yīng)該具有科學(xué)性和與時俱進性。課程設(shè)計內(nèi)容選擇十分重要,既要體現(xiàn)時代性,又要體現(xiàn)科學(xué)性和難度的適當(dāng)性,因此要求指導(dǎo)老師對當(dāng)前軟件開發(fā)領(lǐng)域的整個動態(tài)有總體掌握。下面是我對當(dāng)前軟件開發(fā)領(lǐng)域進行的大致歸類。

(1)網(wǎng)站開發(fā)類:包括休閑娛樂(音樂,影視,聊天,休閑運動,旅游景點等)網(wǎng)站;工商經(jīng)濟網(wǎng)站(攝影,日用家居,玩具等);文學(xué)網(wǎng)站(詩詞/韻文,港臺文學(xué),民間文學(xué),科幻文學(xué)等);體育與健身網(wǎng)站(極限運動,球類,健美/健身,運動常識,網(wǎng)球,乒乓球等);衛(wèi)生與健康網(wǎng)站(醫(yī)學(xué)理論,醫(yī)療器械,保健/養(yǎng)生,論壇等);國家地區(qū)網(wǎng)站(北京,上海,廣東,江蘇,天津等);教育培訓(xùn)網(wǎng)站(小學(xué)/中學(xué)教育,職業(yè)教育,高等教育,教育軟件,培訓(xùn)機構(gòu)等);其他等類型網(wǎng)站。

(2)應(yīng)用軟件類:如信息管理系統(tǒng),漢字輸入,轉(zhuǎn)換翻譯,文字處理,壓縮解壓,電子閱讀,文檔管理,字體工具,數(shù)據(jù)恢復(fù)等。

(3)系統(tǒng)軟件類:如系統(tǒng)管理,內(nèi)存管理,文件管理,系統(tǒng)測試工具等。

(4)游戲娛樂類:如網(wǎng)絡(luò)游戲,Flash游戲,牌和棋游戲等。

(5)其他:如安全病毒,桌面工具等。

這樣,課程設(shè)計的內(nèi)容可以根據(jù)學(xué)生的興趣和愛好從以上幾方面進行選擇,也可以由學(xué)生自己選擇設(shè)計內(nèi)容,指導(dǎo)老師把握學(xué)生選擇的項目難易程度,同時提出所要達到的要求(包括完成日期,演示時間,學(xué)生所要提交的成果,文檔資料,等等)。

3.課程設(shè)計項目具體實施

(1)確定開發(fā)團隊。指導(dǎo)老師在班長和學(xué)習(xí)委員的協(xié)助下充分了解學(xué)生的興趣、愛好、基本技能和未來學(xué)生的就業(yè)意向,學(xué)生在教師的指導(dǎo)下,有選擇性地進行分組,一般3至5人為一組,并選定好組長。

(2)確定開發(fā)項目。指導(dǎo)老師給小組成員分配好開發(fā)任務(wù),組長寫好開發(fā)計劃進程安排并提交指導(dǎo)老師檢查以便及時修進。

(3)中期檢查與指導(dǎo)。指導(dǎo)老師根據(jù)各個團隊提交的開發(fā)計劃,對各團隊開發(fā)項目進程定期進行中期檢查,檢查各團隊的項目進展情況,包括各個小組的開會記錄,所查閱的資料,當(dāng)前所遇到的困難,協(xié)助與指導(dǎo)小組面對困難所要采取的解決方法等。

(4)成果提交與演示。課程設(shè)計結(jié)束時指導(dǎo)老師要求按時提交項目的相關(guān)成果,并組織小組團隊進行演示與簡短的答辯。演示過程要求學(xué)生用5―10分鐘時間敘述設(shè)計原理、過程、系統(tǒng)運行的情況和體會,敘述完畢后由指導(dǎo)老師或其他小組成員提問,指導(dǎo)老師和小組成員記錄該學(xué)生演示情況和回答問題的情況,并以此作為下一階段評定該學(xué)生成績的一部分。

本文為全文原貌 未安裝PDF瀏覽器用戶請先下載安裝 原版全文

4.建立合理,科學(xué)公正的評價體系。為了對每個開發(fā)團隊中的成員成績有個公正、公平和合理的成績,因此必須建立合理、科學(xué)、公正的評價體系,本文建立的評價體系包括:學(xué)生提交成果,學(xué)生演示與答辯,學(xué)生自評與互評,教師評分。學(xué)生提交成果根據(jù)表1學(xué)生所承擔(dān)的角色來交付;學(xué)生演示與答辯重點體現(xiàn)對系統(tǒng)的原理、過程、結(jié)論,以及開發(fā)體會進行表述;學(xué)生自評和互評體現(xiàn)了學(xué)生的自我認(rèn)同和互相認(rèn)同感;最后是教師的評分,教師的評定從以下幾方面全面考慮:(1)學(xué)習(xí)態(tài)度是否端正,總體表現(xiàn);(2)項目組織是否有條理,協(xié)作程度;(3)軟件系統(tǒng)文檔資料表達格式是否規(guī)范、符合要求,表達是否準(zhǔn)確、完整、簡單明了;(4)系統(tǒng)結(jié)構(gòu)是否合理,功能是否正確,人機界面是否友好;除了符合上列基本要求具體評定可以參見下表1。最后學(xué)生的總評定成績?yōu)?0.4×教師評定分+0.2×學(xué)生互評分+0.2×學(xué)生演示與答辯評分+0.2×學(xué)生自評分。

表1 評定標(biāo)準(zhǔn)

四、結(jié)語

軟件工程課程設(shè)計是一門理論與實踐相結(jié)合的應(yīng)用性很強課程,我結(jié)合自身從事軟件開發(fā)的經(jīng)驗和多年的教學(xué),從以上幾個方面探索了該課程的教學(xué)模式,在實踐工作中雖然取得了一定的成效,獲得了學(xué)生的認(rèn)可與好評,但仍處于嘗試和探索階段。在實際指導(dǎo)過程中還存在不少問題,例如:個別學(xué)生的積極主動性不夠,存在抄襲設(shè)計成果現(xiàn)象,等等。這些都需要繼續(xù)努力,尤其是隨著軟件產(chǎn)業(yè)的飛速發(fā)展,如何培養(yǎng)高素質(zhì)軟件人才,對教師來說更是一種挑戰(zhàn)。因此,教師應(yīng)不斷學(xué)習(xí)新的知識,提升自身的能力,把握學(xué)科的最新發(fā)展動態(tài),探索新的教學(xué)模式,深化實踐教學(xué)改革,為我國教育事業(yè)作出更大的貢獻。

參考文獻:

[1]張海藩.軟件工程導(dǎo)論(第5版)[M].北京:清華大學(xué)出版社,2008:55-73.

[2]張引,楊小虎,陳越.“軟件工程”課程實踐中激勵機制的探索[J].計算機教育,2007,(5):30-32.

[3]江頡,石曉耀.面向?qū)ο蟮能浖こ套灾鲗嶒灲虒W(xué)改革[J].實驗技術(shù)與管理,2007,24(7):112-114.

[4]王薇.軟件工程課程體系研究[J].計算機教育,2007,(8):31-32.

[5]巫華芳.軟件工程教學(xué)案例設(shè)計初探[J].教育與職業(yè),2007,(11):139-140.

[6]馬燕,張根耀,王文發(fā).軟件工程實驗教學(xué)模式改革與實踐研究[J].教育與職業(yè),2006,(36):149-150.

篇2

關(guān)鍵詞:普通院校;實踐教學(xué)體系;工程實踐能力;路線圖

軟件工程專業(yè)在我國高等院校還是一個很不成熟的專業(yè),比起傳統(tǒng)的工科專業(yè)來說,軟件工程專業(yè)有更多的技術(shù)成分,因此,我們的教學(xué)體系和模式就要有別于傳統(tǒng)的教學(xué)體系和模式。實踐教學(xué)體系是否合適將直接影響軟件工程專業(yè)畢業(yè)生的質(zhì)量。對于重點院校軟件專業(yè)和軟件學(xué)院實踐教學(xué)體系已有很多專家學(xué)者進行了研究與實踐[1-3],而普通院校無論是師資,還是其他教學(xué)資源,都不能與重點院校相比[4-5],應(yīng)該有一套有別于重點院校的實踐教學(xué)體系。本文將對普通院校軟件工程專業(yè)實踐教學(xué)體系的構(gòu)建進行探討,并結(jié)合我院軟件工程專業(yè)實踐教學(xué)體系進行總結(jié)。

1實踐教學(xué)體系構(gòu)建原則

軟件工程專業(yè)實踐教學(xué)體系構(gòu)建原則可以從4個方面考慮:軟件工程專業(yè)特點、教指委的軟件工程專業(yè)規(guī)范、軟件工程專業(yè)的職業(yè)定位、人類認(rèn)識事物的規(guī)律。

1) 軟件工程專業(yè)是一個綜合性學(xué)科,既有科學(xué)的要求,又有技術(shù)的要求。從學(xué)生的培養(yǎng)目標(biāo)來看,普通院校軟件工程專業(yè)含有更多的技術(shù)要求。目前國內(nèi)大多數(shù)普通院校軟件工程專業(yè)還是按照傳統(tǒng)的理工科人才培養(yǎng)方式進行學(xué)生的培養(yǎng),忽視軟件工程專業(yè)知識體系的特點,從而導(dǎo)致學(xué)校的學(xué)生大多數(shù)隨能按照培養(yǎng)計劃完成學(xué)業(yè),成為一名合格的軟件工程專業(yè)的畢業(yè)生,但與企業(yè)的要求相差甚遠,企業(yè)找不到合適的人才的現(xiàn)狀。

2) 軟件工程專業(yè)規(guī)范給定的軟件工程專業(yè)知識體系包括:計算機科學(xué)與技術(shù)知識、軟件工程知識和領(lǐng)域知識。計算機科學(xué)與技術(shù)專業(yè)、軟件工程專業(yè)是實踐性、應(yīng)用性非常強的學(xué)科,要使學(xué)生掌握好計算機科學(xué)與技術(shù)的基礎(chǔ)理論知識,應(yīng)用軟件工程技術(shù)的基本技巧與方法,就必須確保實踐教學(xué)的教學(xué)質(zhì)量。

3) 按照現(xiàn)在職場流行的說法,人才分為3類:白領(lǐng)、灰領(lǐng)、藍領(lǐng)。根據(jù)本地區(qū)和學(xué)校的特色,我院軟件工程專業(yè)的定位是培養(yǎng)“灰領(lǐng)”人才,因此,學(xué)生除了學(xué)習(xí)傳統(tǒng)的計算機科學(xué)與技術(shù)知識、軟件工程知識外,還要學(xué)習(xí)管理學(xué)知識,同時根據(jù)我校的特色與定位,把汽車設(shè)計與制造過程中信息結(jié)構(gòu)作為應(yīng)掌握的領(lǐng)域知識。管理學(xué)知識將用于團隊管理、軟件開發(fā)過程管理以及信息結(jié)構(gòu)建模等開發(fā)活動;汽車設(shè)計與制造過程中的信息作為軟件開發(fā)實踐的應(yīng)用對象,是軟件的加工對象。

4) 人類對事物的認(rèn)識是一個由簡單到復(fù)雜,由具體到一般的過程,是一個分析與綜合的過程,將隨著知識的積累逐步深入。這就要求實踐教學(xué)要按照培養(yǎng)計劃進度設(shè)置不同的實踐內(nèi)容,而且可以根據(jù)學(xué)生的個體情況進行少量的調(diào)整。

2實踐教學(xué)體系構(gòu)建方案

現(xiàn)在高等教育的教育方式正在從以教師為中心轉(zhuǎn)變?yōu)橐詫W(xué)生為中心,既以學(xué)生的目的需要為中心、以學(xué)生的能力拓展為中心、以學(xué)生的知識結(jié)構(gòu)為中心開展實踐教學(xué)。因此,我們在設(shè)計實踐教學(xué)體系時,始終注重按照學(xué)生理論學(xué)習(xí)的進度和學(xué)生能力提高的需求,依據(jù)軟件開發(fā)過程的特點,分層次開設(shè)不同的實踐內(nèi)容。

按照學(xué)生能力培養(yǎng)的路線圖,實踐教學(xué)體系始終圍繞著培養(yǎng)知識應(yīng)用能力和創(chuàng)新能力進行構(gòu)建。能力培養(yǎng)方面分為3個方面,即程序設(shè)計能力、軟件開發(fā)能力、工程實踐能力。實踐教學(xué)課程體系由5個層次的實驗構(gòu)成:課程實驗、課程設(shè)計、項目實訓(xùn)、開發(fā)實踐、畢業(yè)設(shè)計,如圖1所示。

2.1課程實驗

本類實驗主要是加強學(xué)生對所學(xué)知識的理解,“聽過的會忘記,看過的會記住,做過的會理解”。實驗內(nèi)容分為3類。第1類:掌握和運用工具,包括語言類,軟件開發(fā)工具類等;第2類:理解所學(xué)知識,包括操作系統(tǒng)、編譯原理、設(shè)計模式、計算機網(wǎng)絡(luò)、數(shù)據(jù)結(jié)構(gòu)與算法等;第3類:同時兼顧工具學(xué)習(xí)和知識理解,如數(shù)據(jù)庫原理。這類實驗主要是學(xué)生按照實驗指導(dǎo)書完成規(guī)定的實驗內(nèi)容,但也有一部分內(nèi)容只給出實驗?zāi)康?讓學(xué)生自己設(shè)計實驗內(nèi)容(設(shè)計型),以兼顧學(xué)生的不同層次與興趣。

2.2課程設(shè)計

本類實驗的目的就是培養(yǎng)和訓(xùn)練學(xué)生對所學(xué)知識的綜合運用能力和學(xué)習(xí)新技術(shù)、新知識的能力,屬于規(guī)范中的設(shè)計型與綜合型實驗。教師給出課程設(shè)計題目、相應(yīng)的背景描述和課程設(shè)計要求,學(xué)生在教師的指導(dǎo)下獨立完成課程設(shè)計項目,時間一般為1~2周。實驗內(nèi)容和要求根據(jù)學(xué)生的理論課進程安排,如VC++課程在數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計之前開設(shè),因此VC++課程設(shè)計要求學(xué)生做好類的設(shè)計、界面設(shè)計,數(shù)據(jù)存儲用文件形式,對軟件的效率不做要求;數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計課程設(shè)計,除了VC++課程設(shè)計的要求外,要增加對算法的效率和存儲空間的要求;設(shè)計模式與UML建模課程設(shè)計除了VC++課程設(shè)計和數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計課程設(shè)計的要求外,增加軟件可靠性與高效的要求等。所有的課程設(shè)計都要求界面美觀。同時鼓勵優(yōu)秀學(xué)生應(yīng)用一些還沒有開設(shè)的課程內(nèi)容。

2.3項目實訓(xùn)

本類實驗的目的主要是訓(xùn)練項目的組織能力、工程實踐和團隊協(xié)作能力,著重開發(fā)過程的訓(xùn)練,按照軟件生命周期,完成各階段的工作。項目實訓(xùn)放在軟件工程和數(shù)據(jù)庫原理等專業(yè)基礎(chǔ)課程之后,軟件體系結(jié)構(gòu)之前。同時開展多個項目,把學(xué)生分成小組,在不同的項目中擔(dān)任不同的角色,教師扮演客戶和技術(shù)總監(jiān)的角色,要求學(xué)生按時上下班,實驗室允許學(xué)生加班,學(xué)生要負(fù)責(zé)實驗室設(shè)備安全。要上交較完整的需求分析與設(shè)計文檔,特別是各部分的公共信息要完整。可以只實現(xiàn)部分需求,時間安排為2~4周為宜。

2.4開發(fā)實踐

開發(fā)實踐在軟件工程的專業(yè)實驗室或校外實習(xí)基地進行。2008年我們與東風(fēng)懸架彈簧公司和武漢天喻軟件有限責(zé)任公司合作,利用武漢天喻軟件有限責(zé)任公司的PLM軟件,裝入東風(fēng)懸架彈簧公司產(chǎn)品開發(fā)的基礎(chǔ)數(shù)據(jù)。學(xué)生通過該平臺,可以了解企業(yè)產(chǎn)品的開發(fā)流程,不懂的地方隨時可以向企業(yè)工程師咨詢;可以選定一個模塊,按照PLM系統(tǒng)接口規(guī)范進行設(shè)計開發(fā),然后集成到PLM系統(tǒng)中去??梢允翘鎿Q原來的模塊,也可以是增加新的功能,進行集成測試檢驗程序的可靠性和效率。時間安排為4~8周為宜,由學(xué)校教師與企業(yè)工程共同指導(dǎo)。

2.5畢業(yè)設(shè)計

畢業(yè)設(shè)計是大學(xué)教學(xué)過程的最后一個環(huán)節(jié),是一個學(xué)生自主開發(fā)的綜合性實踐教學(xué)環(huán)節(jié)。通過畢業(yè)設(shè)計,能使學(xué)生綜合應(yīng)用所學(xué)的各種理論知識和技能,進行全面、系統(tǒng)、嚴(yán)格的技術(shù)及基本能力的練習(xí)。我院畢業(yè)設(shè)計時間安排為16周,鼓勵學(xué)生把就業(yè)與畢業(yè)設(shè)計結(jié)合起來。學(xué)生在企業(yè)實習(xí)階段參與項目開發(fā),由企業(yè)導(dǎo)師進行項目開發(fā)的相關(guān)指導(dǎo),回校在校內(nèi)教師指導(dǎo)下完成論文和答辯。

3軟件工程專業(yè)實踐教學(xué)的師資要求

軟件工程專業(yè)的實踐教學(xué)要求實踐教師既是實踐的指導(dǎo)者,又是直接的參與者。要對學(xué)生在實踐中遇到的各種問題給予解答,包括編程語法、算法邏輯、軟件體系結(jié)構(gòu)設(shè)計、用戶需求分析、團隊協(xié)作方法等;在實踐過程中更多地是站在用戶的角度對學(xué)生的成果進行驗收測試,使學(xué)生體會到在現(xiàn)實情況下怎樣的軟件才能被用戶接受,體會到用戶怎樣檢查軟件的可靠性、可用性、正確性,用戶怎樣評價軟件的優(yōu)劣。

軟件工程專業(yè)的特征要求從事軟件工程專業(yè)教學(xué)的師資隊伍是一支具有綜合素質(zhì)的隊伍,既有專業(yè)理論基礎(chǔ),又要有企業(yè)實踐背景;要充當(dāng)軟件開發(fā)過程的各種角色――投資者、使用者、組織者、設(shè)計者、編碼者、測試員等。課程實驗主要由理論基礎(chǔ)扎實的教師擔(dān)任,課程設(shè)計由理論基礎(chǔ)扎實的教師和有企業(yè)實踐背景的教師共同指導(dǎo),項目實訓(xùn)和開發(fā)實踐主要由有企業(yè)實踐背景的教師完成。

4結(jié)語

本文介紹的軟件工程專業(yè)實踐教學(xué)體系是我校通過幾年的不斷摸索與改正后形成的。在探索過程中獲得了湖北省教育廳項目(軟件工程創(chuàng)新型人才培養(yǎng)研究)和學(xué)校的支持(2007年軟件工程特色專業(yè)建設(shè)費15萬元)。該實踐教學(xué)體系利用一些基礎(chǔ)實驗幫助學(xué)生理解和掌握專業(yè)理論知識,為今后的發(fā)展打下堅實的專業(yè)基礎(chǔ),同時通過參與各種項目,提供了發(fā)展其動手能力的環(huán)境,貼近了企業(yè)需求,提高了就業(yè)率。2009年我校軟件工程專業(yè)的一次就業(yè)率達到了90%。由課程設(shè)計、開發(fā)實踐和畢業(yè)設(shè)計構(gòu)成的創(chuàng)新訓(xùn)練體系,使學(xué)生獲得了科學(xué)研究方法和軟件開發(fā)活動的工程化的經(jīng)驗。

參考文獻:

[1] 李紅梅. 面向能力培養(yǎng)的軟件工程實踐教學(xué)體系[J]. 高等工程教育研究,2009(2):84-87.

[2] 董瑋. 引入實訓(xùn)體系,培養(yǎng)應(yīng)用型軟件人才的探索與實踐[J]. 計算機教育,2007(23):10-19.

[3] 董瑋,邱建華,楊英鵬,等. 培養(yǎng)應(yīng)用型軟件人才的實踐教學(xué)體系的研究與實踐[J]. 計算機教育,2008(10):16-18.

[4] 鄭耿忠,劉秋梅. 地方性院校軟件工程專業(yè)建設(shè)探討[J].電腦知識與技術(shù),2009,5(30):8477-8478.

[5] 鄭耿忠,劉秋梅. 軟件工程專業(yè)實踐教學(xué)體系構(gòu)建探索[J]. 電腦知識與技術(shù),2009,5(27):7690-7691.

[6] 白偉華. 軟件工程專業(yè)應(yīng)用型人才培養(yǎng)模式的思考[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)用型人才;項目案例;實踐教學(xué)

中圖分類號:G642 文獻標(biāo)識碼:A

1 引言(Introduction)

軟件工程作為計算機和軟件本科專業(yè)最綜合最系統(tǒng)的一門課程,在促進學(xué)生鞏固之前學(xué)過的專業(yè)知識、掌握軟件開發(fā)過程及方法、理解軟件工程實踐等方面發(fā)揮了積極作用。但高校特別是三本院校在軟件工程課程講授時理論脫離實際,片面地強調(diào)理論學(xué)習(xí)而忽視實踐能力的培養(yǎng),理論部分過于抽象,在課程實驗中,沒有把握好課程在人才培養(yǎng)的橋梁和作用,缺乏貫穿縱向知識體系和學(xué)科的整體理解和思想,往往只是本課程章節(jié)或課程的綜合理論驗證,采用虛擬的實驗案例,甚至將其設(shè)計成為章節(jié)內(nèi)容驗證練習(xí),而不是圍繞著軟件工程整本書的整個知識體系進行實際開發(fā)項目。導(dǎo)致學(xué)生學(xué)完軟件工程課程后還是不能理解軟件生命周期、開發(fā)過程及相應(yīng)方法,與社會對軟件人才的需求存在差距,學(xué)生難以很快融入現(xiàn)代IT企業(yè)的運作[1]。如何培養(yǎng)起適合信息產(chǎn)業(yè)所需要的應(yīng)用型、實踐型人才,已經(jīng)成為亟待解決的問題。因此要想將學(xué)生培養(yǎng)成為符合社會需要的軟件工程人才,就應(yīng)當(dāng)改變目前的局面,全面考慮軟件工程課程建設(shè)。

本課題研究主要針對目前軟件工程課程理論脫離實際,同時很多教師過分強調(diào)軟件工程理論知識的一面,忽視了軟件工程必須有實踐項目還具有經(jīng)驗性、參與性、發(fā)展性的特點,通過理論研究和教學(xué)實踐對軟件工程教學(xué)實踐提供實踐指導(dǎo)。加強軟件工程實踐教學(xué)的改革,通過理論與實踐相結(jié)合的方法培養(yǎng)社會需要的應(yīng)用型軟件工程人才。解決三本院校軟件工程課程教授中理論、實驗與實際相脫離的問題。

2 針對社會需求,制定明確合理的教學(xué)計劃

(Formulate a reasonable teaching plan based on

the social needs)

教學(xué)計劃是各教學(xué)環(huán)境的整體設(shè)計方案,合理的專業(yè)的教學(xué)計劃能為教學(xué)順利實施提供指導(dǎo),也是教學(xué)過程質(zhì)量的有力保障,是人才培養(yǎng)的綱領(lǐng)和實施藍圖[2],它規(guī)定了課程結(jié)構(gòu)和知識結(jié)構(gòu),明確了人才培養(yǎng)目標(biāo),構(gòu)建了專業(yè)要求的課程體系,限制了教學(xué)環(huán)節(jié)的進程及內(nèi)容。具體在制定計劃時應(yīng)秉持以下幾點:

(1)樹立應(yīng)用型人才培養(yǎng)理念

在培養(yǎng)軟件工程人才過程中要和一二本院校區(qū)別開來,我們應(yīng)當(dāng)以實際動手為主,培養(yǎng)適合企業(yè)操作崗位的技能人才。軟件工程專業(yè)應(yīng)堅持“以市場為導(dǎo)向,以就業(yè)為目標(biāo),順應(yīng)IT業(yè)發(fā)展趨勢,以校企合作為手段,突出技能培養(yǎng),走應(yīng)用型開放式道路?!钡霓k學(xué)思路,通過吸收國內(nèi)外的優(yōu)質(zhì)資源,通過校企合作,共建實訓(xùn)實習(xí)基地和技術(shù)開發(fā)應(yīng)用等多種合作辦學(xué),提高辦學(xué)活力及效率。在人才培養(yǎng)模式上突出以技術(shù)應(yīng)用能力為核心的人才培養(yǎng)特點,課程設(shè)置以市場流行的軟件開發(fā)技術(shù)為主線由淺入深,技術(shù)的學(xué)習(xí)采用項目驅(qū)動、案例驅(qū)動的方式[3],不斷提高學(xué)生實踐動手能力,培養(yǎng)應(yīng)用型技術(shù)人才,適應(yīng)企業(yè)對人才的需求。

(2)構(gòu)建應(yīng)用型培養(yǎng)系統(tǒng)工程

學(xué)生在學(xué)校對知識的儲備與社會對人才的能力需求如何契合的更好是學(xué)校應(yīng)該要慎重考慮的問題。目前,軟件服務(wù)外包產(chǎn)業(yè)對應(yīng)用型人才需求量較大,軟件工程專業(yè)可以和武漢軟件外包單位合作,全面實施3+1人才培養(yǎng)模式,即,三年基礎(chǔ)、專業(yè)課程學(xué)習(xí)加一年實訓(xùn)。這種嵌入式教學(xué)模式將會極大地提升學(xué)生的實際應(yīng)用能力,他們進入企業(yè)后適應(yīng)能力更強,上手會更快。在教學(xué)過程中,軟件工程專業(yè)可以構(gòu)建工程化的實踐教學(xué)體系,以軟件項目研發(fā)到軟件項目運行的生命周期為載體,讓學(xué)生以主動的、實踐的、課程之間有機聯(lián)系的方式學(xué)習(xí)軟件工程,建立試驗―實訓(xùn)―綜合設(shè)計―職業(yè)實踐的實踐教學(xué)體系,通過引進、開發(fā)真實的項目案例,讓學(xué)生實際參與項目開發(fā)全過程,切實提高學(xué)生解決實際問題的能力,培養(yǎng)他們的綜合應(yīng)用素質(zhì)。

(3)引入企業(yè),接軌市場需求

基于工程化培養(yǎng)理念建立一批校企聯(lián)合實習(xí)實訓(xùn)基地,實現(xiàn)教學(xué)過程與生產(chǎn)過程的對接,為應(yīng)用型技術(shù)人才培養(yǎng)提供有力的保障。將一些行業(yè)內(nèi)的企業(yè)而不單純是培訓(xùn)單位引入校園,合作搭建項目開發(fā)平臺,形成以研發(fā)項目促進學(xué)生實習(xí)實訓(xùn),以研發(fā)項目帶動師生科研發(fā)展的人才培養(yǎng)新途徑,聯(lián)合培養(yǎng)雙師型教師。

3 軟件工程實踐教學(xué)采用的主要方法(The main

method of the software engineering practice

teaching)

軟件工程實踐課,包括課程實驗、課程設(shè)計、項目實訓(xùn)和畢業(yè)設(shè)計等實踐環(huán)節(jié)。

3.1 實例教學(xué)

在教授理論知識時,傳統(tǒng)方法過度的在講授枯燥的理論知識,學(xué)生沒有實際的工程項目的經(jīng)驗,根本無法理解軟件工程課程里的內(nèi)容,在軟件工程課程理論課上教師要通過典型的軟件項目實例來講解理論知識,將實例貫穿于教學(xué)環(huán)節(jié),模擬軟件工程項目場景,啟發(fā)學(xué)生分析問題、進行方案設(shè)計,在項目案例講解過程中抽象上升為理論知識,理論知識又反過來指導(dǎo)項目案例。

3.2 實驗教學(xué)

相對于計算機科學(xué)與技術(shù)專業(yè),軟件工程專業(yè)更強調(diào)實踐性和工程性能力的培養(yǎng),這都需要在實踐環(huán)節(jié)中培養(yǎng),因此實驗與實踐教學(xué)是軟件工程專業(yè)教學(xué)的重要組成部分,其實施質(zhì)量對專業(yè)教學(xué)質(zhì)量具有舉足輕重的影響。軟件工程專業(yè)可以構(gòu)建“課程實驗、課程設(shè)計、畢業(yè)設(shè)計”三級實驗體系[4],三級實驗體系粒度從細(xì)到粗,從具體到綜合。教師需要設(shè)置好實驗環(huán)節(jié)的內(nèi)容、形式,實驗課和課程設(shè)計時采用商業(yè)軟件的開發(fā)模式,以實際項目和企業(yè)正常運作時人員的分工配合來進行實驗教學(xué),理論指導(dǎo)實踐,實踐強化理論,將系列的實踐課程提升到工程項目訓(xùn)練,實際軟件工程項目貫穿同步理論課的知識,讓學(xué)生從需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼、測試到項目交付和管理維護等完整的軟件開發(fā)過程進行系統(tǒng)實踐學(xué)習(xí),這樣學(xué)生在一個真實的場景中實踐,親身體驗并進行反思,只有實際操刀了,學(xué)生才能理會并掌握完整的軟件開發(fā)流程、軟件開發(fā)技術(shù)及軟件開發(fā)方法。實驗時以小組形式開展工作,四五個學(xué)生為一組,每組由組員推薦或自薦一位組長,負(fù)責(zé)協(xié)調(diào)、分工,組員在小組長的協(xié)作領(lǐng)導(dǎo)下完成項目的開發(fā)過程。項目驅(qū)動實驗的軟件工程實踐教學(xué)可以幫助學(xué)生建構(gòu)良好的軟件開發(fā)認(rèn)知模式并培養(yǎng)一定的軟件工程素養(yǎng)[5]。在學(xué)生畢業(yè)前,開設(shè)項目實訓(xùn)和畢業(yè)設(shè)計,旨在培養(yǎng)學(xué)生的綜合實踐能力,通過這樣的手段學(xué)生能比較真切地理解軟件工程理論知識并掌握軟件開發(fā)過程。通過實驗,掌握一個完整軟件開發(fā)過程,及過程中的每一個階段的任務(wù)、目標(biāo)、方法、工具,并熟練使用一些CASE(計算機輔助軟件工程)工具來提升軟件開發(fā)效率,保證軟件質(zhì)量。通過集中性的課程設(shè)計、畢業(yè)設(shè)計訓(xùn)練,使學(xué)生逐步培養(yǎng)編程能力、算法分析設(shè)計能力、數(shù)據(jù)庫設(shè)計能力,能夠結(jié)合專業(yè)知識實現(xiàn)用戶需求,形成產(chǎn)品意識而不是作業(yè)意識,培養(yǎng)團隊交流協(xié)作能力、積累工程經(jīng)驗、提高工程素養(yǎng)。每一個階段制定可衡量的、明確的目標(biāo),激發(fā)學(xué)生的學(xué)習(xí)興趣、提高知識的靈活運用能力、創(chuàng)新思維能力、綜合分析能力、系統(tǒng)設(shè)計能力等,為培養(yǎng)符合社會需求的人才奠定基礎(chǔ)。最后通過畢業(yè)設(shè)計綜合性鍛煉,實現(xiàn)學(xué)生就業(yè)的平滑過渡。

在每一級實驗過程中都采用“教師為主導(dǎo)、學(xué)生為主體”的原則,才有利于避免學(xué)生在學(xué)習(xí)上的依耐性、缺乏獨立思考問題和解決問題的能力,因此要充分發(fā)揮學(xué)生的主體作用,運用教師的專業(yè)知識和項目經(jīng)驗言傳身教地引領(lǐng)、啟發(fā)學(xué)生學(xué)習(xí)、動手實踐,不斷引入新技術(shù)、新方法引起學(xué)生好奇心,激發(fā)學(xué)生探索學(xué)習(xí)欲望。教師需要動態(tài)地了解學(xué)生的接受能力,有針對性地因材施教、指導(dǎo)學(xué)生學(xué)習(xí),讓學(xué)生擁有自主學(xué)習(xí)、持續(xù)學(xué)習(xí)的能力,意識到自己學(xué)得會,也很有利于調(diào)動學(xué)生學(xué)習(xí)的主動性,只有這樣,才能達到較好的實驗課教學(xué)效果。在每一次實驗后要及時地對本次實驗加以分析和總結(jié),通過本次實驗遇到了什么問題?解決的方法是什么?實現(xiàn)了什么功能?還有哪些有待解決的問題?都要加以總結(jié),并以報告的形式記錄下來,有利于日后開展實驗課程的教學(xué)。

3.3 社會實踐教學(xué)

一個軟件企業(yè)的正常運行需要多方面的人員協(xié)作與配合,如財務(wù)人員、開發(fā)人員、配置管理員、質(zhì)量保證員、數(shù)據(jù)庫管理員、網(wǎng)絡(luò)維護工程師、系統(tǒng)架構(gòu)師、軟件測試人員、管理人員等,在學(xué)校里學(xué)生難以體會到一個軟件開發(fā)過程中除編碼測試人員之外的其他崗位的職責(zé)和特性,學(xué)生只有真正進入企業(yè)才能體會并有機會實踐這些崗位。社會實踐教學(xué)可以通過校企合作的形式,也可以鼓勵學(xué)生自己去找實習(xí)單位,學(xué)生可以根據(jù)自己的興趣和個人發(fā)展方向來自由選擇角色,完成不同的任務(wù),教師和公司導(dǎo)師給予引導(dǎo)。社會實踐教學(xué)是一次綜合性的實踐活動,是學(xué)生走向社會的開始,通過社會實踐教學(xué)活動,使學(xué)生能夠逐步認(rèn)識綜合利用所學(xué)的專業(yè)知識,培養(yǎng)軟件開發(fā)的技能,深刻體會企業(yè)軟件開發(fā)與學(xué)習(xí)過程中編寫軟件的不同、軟件工程各階段角色任務(wù)管理和開發(fā)知識,提高自身的創(chuàng)新意識與創(chuàng)新能力,促進團隊之間的溝通協(xié)作,為早日踏上工作崗位打下堅實的基礎(chǔ)。

學(xué)生進行社會實踐教學(xué)活動時,嚴(yán)格按照企業(yè)的規(guī)定,執(zhí)行、考勤、日志、總結(jié)等實際工作環(huán)節(jié),廣泛使用協(xié)同開發(fā)平臺,使學(xué)生規(guī)范化、有序進行社會實踐活動。

4 結(jié)論(Conclusion)

通過對幾年軟件工程課程教學(xué)的思考和總結(jié),以及調(diào)研一些其他院校軟件工程課程,提出了三本院校中軟件工程實踐教學(xué)存在的問題以及軟件工程實踐教學(xué)改革的必要性,從課程教學(xué)計劃的制訂、實例教學(xué)、實驗教學(xué)、社會實踐教學(xué)等幾個方面給出了切實可行的建議,同時這些建議也可為其他課程提供有意義的借鑒。

參考文獻(References)

[1] 熊偉,洪玫.大學(xué)本科軟件工程專業(yè)建設(shè)的探索與實踐[J].理

工高教研究,2010,(2):59-61.

[2] 晏立.從社會需求的角度探索軟件工程教育[J].教育與教學(xué)研

究,2008,(22):141-145.

[3] Roger S.Pressman.軟件工程:實踐者的研究方法[M].北京:機

械工業(yè)出版社,2011,(8):32-68.

[4] 熊凡,李偉波.項目驅(qū)動的軟件工程實驗教學(xué)探討[J].中國電

力教育,2012,(2):77-79.

[5] 丁潔.軟件工程的教學(xué)改革與實踐[J].科學(xué)與技術(shù)信息,2009,

(9):555.

作者簡介:

篇4

軟件工程是一門建立在計算機科學(xué)和工程學(xué)基礎(chǔ)之上,同時涉及數(shù)學(xué)、管理學(xué)、經(jīng)濟學(xué)和系統(tǒng)工程等學(xué)科理論與方法的學(xué)科及專業(yè)。軟件工程教育兼具科學(xué)教育屬性與工程教育屬性,前者培養(yǎng)的是軟件工程基礎(chǔ)研究人才,后者培養(yǎng)的是軟件工程技術(shù)、應(yīng)用、管理和服務(wù)人才。我校作為一所普通本科院校,結(jié)合區(qū)域經(jīng)濟發(fā)展實際,將軟件工程專業(yè)的培養(yǎng)目標(biāo)定位為培養(yǎng)應(yīng)用型、工程型軟件人才。即能夠綜合應(yīng)用計算機科學(xué)、數(shù)學(xué)及管理科學(xué)等學(xué)科知識,以工程化的原則與方法為指導(dǎo),勝任現(xiàn)代軟件工程環(huán)境下高質(zhì)量軟件的開發(fā)、測試和維護等工作的軟件工程技術(shù)、應(yīng)用、管理和服務(wù)人才。該培養(yǎng)目標(biāo)可進一步解讀為以下三點:扎實的專業(yè)基礎(chǔ)、良好的工程學(xué)意識、較強的動手實踐能力。

2CDIO模式下實踐教學(xué)體系的構(gòu)建

軟件工程是一門實踐性很強的專業(yè),應(yīng)用型、工程型軟件人才的培養(yǎng)定位更加強調(diào)學(xué)生動手實踐能力的培養(yǎng)和工程方法學(xué)的訓(xùn)練,因此,實踐教學(xué)的體系建設(shè)和教學(xué)效果對學(xué)生的培養(yǎng)質(zhì)量起著至關(guān)重要的作用。借鑒和吸收CDIO工程教育理念和標(biāo)準(zhǔn),我們從教學(xué)內(nèi)容和教學(xué)方法兩方面對軟件工程專業(yè)實踐教學(xué)體系進行了重新構(gòu)建和實踐。課程實驗、課程設(shè)計、綜合實訓(xùn)、畢業(yè)設(shè)計四個層次循序漸進、由淺入深、環(huán)環(huán)相扣;在教學(xué)方法的構(gòu)建上,我們從工程教育的角度出發(fā),形成了“案例牽引、項目驅(qū)動、團隊合作、引導(dǎo)互動”的教學(xué)模式。

2.1教學(xué)內(nèi)容的構(gòu)建

在教學(xué)內(nèi)容的構(gòu)建上,我們按照“以CDIO培養(yǎng)大綱為指南、以項目設(shè)計為導(dǎo)向、以工程能力培養(yǎng)為目標(biāo)”的原則,將軟件工程專業(yè)的實踐教學(xué)體系分為以下四層次。2.1.1課程實驗課程實驗是單門專業(yè)課程教學(xué)中的實踐環(huán)節(jié),也是整個實踐教學(xué)體系的基礎(chǔ),對學(xué)生基礎(chǔ)專業(yè)技能的培養(yǎng)具有重要作用。為了加強實踐教學(xué),我們在絕大部分專業(yè)課和專業(yè)基礎(chǔ)課中都設(shè)置了課程實驗,根據(jù)教學(xué)目標(biāo)的不同,課程實驗設(shè)計為驗證性、設(shè)計性和綜合性等不同的層次。對于實踐性很強的專業(yè)課程,如程序設(shè)計基礎(chǔ)、面向?qū)ο蟪绦蛟O(shè)計等,采用完全實驗教學(xué)的方式,通過一個完整的項目將課程知識結(jié)構(gòu)串聯(lián)起來,并通過“分而治之”的形式來學(xué)習(xí)各個知識點,將教師講解與演示、學(xué)生實地操作有機融合起來,最后完成整個項目,以培養(yǎng)學(xué)生的動手實踐能力和專業(yè)興趣;對于理論性較強的專業(yè)課程,如數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)等,采用理論講解與上機實踐并舉的方式,加強學(xué)生對專業(yè)基礎(chǔ)理論知識的理解與應(yīng)用。2.1.2課程設(shè)計課程設(shè)計是實踐教學(xué)體系的第二層次,是在課程實驗的基礎(chǔ)上,選擇一些實踐性強且具有代表性的課程作為單獨課程開設(shè)綜合性課程設(shè)計。例如,Java程序設(shè)計課程設(shè)計、軟件工程課程設(shè)計等。與課程實驗相比,課程設(shè)計具有綜合性和實用性的特點,學(xué)生在教師的指導(dǎo)下綜合運用相關(guān)課程的知識和技術(shù)完成一個完整的設(shè)計或?qū)崿F(xiàn)。通過課程設(shè)計的訓(xùn)練,培養(yǎng)學(xué)生運用專業(yè)知識分析問題和解決問題的能力,使學(xué)生的專業(yè)技能得到進一步的提升和拓展。2.1.3綜合實訓(xùn)綜合實訓(xùn)是以課程設(shè)計為基礎(chǔ),綜合運用多門相關(guān)課程知識完成一個工程項目的實戰(zhàn)訓(xùn)練。綜合實訓(xùn)以項目為載體構(gòu)建知識結(jié)構(gòu),將學(xué)科知識、專業(yè)技能與工程實踐有效結(jié)合,體現(xiàn)軟件工程領(lǐng)域中的工程學(xué)和方法學(xué)的實施,實施技術(shù)與管理能力訓(xùn)練和職業(yè)綜合素質(zhì)綜合的培養(yǎng)[4]。根據(jù)方向不同,我們在軟件工程專業(yè)開設(shè)了兩門綜合實訓(xùn)課程:(1)軟件開發(fā)綜合實訓(xùn)。以軟件生命周期為主線,綜合運用程序設(shè)計、數(shù)據(jù)庫應(yīng)用、軟件工程、軟件項目管理等學(xué)科知識,嚴(yán)格按照軟件開發(fā)的流程與規(guī)范,完成一個軟件項目的開發(fā),最后提交軟件產(chǎn)品和相關(guān)技術(shù)文檔。(2)軟件測試綜合實訓(xùn)。要求學(xué)生以軟件開發(fā)綜合實訓(xùn)所完成的軟件產(chǎn)品為被測對象,綜合運行軟件測試與質(zhì)量保證、軟件測試流程與方法、測試框架與自動化測試等學(xué)科知識,使用軟件測試的方法與技術(shù),設(shè)計測試用例和測試腳本,完成被測軟件的功能測試與性能測試,生成測試報告,并對測試結(jié)果進行分析。2.1.4畢業(yè)設(shè)計畢業(yè)設(shè)計是實現(xiàn)人才培養(yǎng)目標(biāo)的重要手段,是實踐教學(xué)體系中最后一個綜合性、創(chuàng)造性的實踐環(huán)節(jié);是對學(xué)生基礎(chǔ)理論、專業(yè)知識與實踐成果的全面總結(jié),是學(xué)生綜合素質(zhì)與工程實踐能力的全面檢驗[5]。為了提高畢業(yè)設(shè)計的質(zhì)量,我們從以下三方面層層把關(guān)。(1)在課題選題上,強調(diào)選題的可行性和實用性,忌空忌大,選題最好能與指導(dǎo)教師的科研方向或?qū)W生的實習(xí)工作相關(guān)聯(lián);(2)在過程控制上,實行師生定期交流與匯報制度,確保畢業(yè)設(shè)計按計劃保質(zhì)保量完成;(3)在畢業(yè)設(shè)計報告及相關(guān)材料的撰寫上,從規(guī)范性和科學(xué)性兩方面嚴(yán)格要求,確保質(zhì)量。

2.2教學(xué)方法的構(gòu)建

2.2.1案例牽引案例教學(xué)是實踐教學(xué)中的常用手段,具有直觀性高、互動性強的特點。按照CDIO大綱能力培養(yǎng)的層次要求,結(jié)合各實踐課程的教學(xué)目標(biāo),我們在實踐教學(xué)中精心規(guī)劃和設(shè)置了不同層次、不同復(fù)雜度的教學(xué)案例,以案例實現(xiàn)過程為驅(qū)動來安排教學(xué)內(nèi)容和方法。在教學(xué)過程中,以一個具體的案例為線索,把教學(xué)內(nèi)容巧妙地融合在案例之中,學(xué)生以完成案例任務(wù)為目標(biāo),在老師的指引下對目標(biāo)問題進行分析與分解,并通過動手實踐解決問題,真正做到“做中學(xué)”和“學(xué)中做”。在完成任務(wù)的過程中,不僅使學(xué)生的動手實踐能力得以提高,也培養(yǎng)了學(xué)生的創(chuàng)新意識、創(chuàng)新能力以及分析問題、解決問題的能力。2.2.2項目驅(qū)動工程實踐能力是專業(yè)技能的進一步升華和提高,是從整體上對工程項目的一種實做能力,是工程類畢業(yè)生必備的核心素質(zhì)。根據(jù)CDIO“做中學(xué)”和“基于項目的教育和學(xué)習(xí)”的思想,我們在實踐教學(xué)中廣泛采用項目驅(qū)動的教學(xué)模式。強調(diào)以一個產(chǎn)品或系統(tǒng)從構(gòu)思、設(shè)計、實現(xiàn)到運作的完整的構(gòu)建過程來培養(yǎng)學(xué)生的工程實踐能力。以軟件開發(fā)綜合實訓(xùn)課程為例,在課程中引入“項目驅(qū)動”的教學(xué)理念,以軟件生命周期為主線,以項目為載體、任務(wù)為驅(qū)動開展實踐教學(xué)。通過一個軟件產(chǎn)品從項目啟動到需求分析、設(shè)計、實現(xiàn)、測試、運行維護的整個生產(chǎn)過程的實戰(zhàn),培養(yǎng)學(xué)生的工程能力和綜合素質(zhì)。2.2.3分組教學(xué)團隊能力是CDIO大綱要求工程畢業(yè)生必備的一種能力。在實際教學(xué)過程中,我們模擬企業(yè)的真實環(huán)境,將所有學(xué)生分為若干項目小組,每組由一名組長和若干名組員構(gòu)成。根據(jù)任務(wù)分工不同,每名學(xué)生都被賦予一定的角色,組員在組長的指揮協(xié)調(diào)下通力合作,共同完成實驗項目。實踐表明,分組教學(xué)模式能較好地激發(fā)學(xué)生的學(xué)習(xí)熱情,組員之間分工協(xié)作、互學(xué)互助,學(xué)生的溝通能力、協(xié)作精神和團隊意識大為提升。2.2.4革新考核方式考核是對學(xué)生學(xué)習(xí)成果的認(rèn)定和評價,良好的考核機制能對學(xué)生的學(xué)習(xí)過程和學(xué)習(xí)動機產(chǎn)生正確的指引作用,促進教學(xué)質(zhì)量的提高。在實踐課程的考核上,以能力培養(yǎng)為導(dǎo)向,采取多元的考核方式。引導(dǎo)學(xué)生在平時項目實訓(xùn)過程中加強專業(yè)技能的訓(xùn)練、工程能力的培養(yǎng)以及綜合素質(zhì)的提高。(1)對基礎(chǔ)性的課程實驗,重點考核學(xué)生專業(yè)知識與技能的掌握情況,采取平時實驗成績與期末上機考試成績相結(jié)合的方式。(2)對課程設(shè)計和綜合實訓(xùn)類課程,重點考核學(xué)生的工程實踐能力和團隊協(xié)作能力。采取以作品演示、項目答辯為主的考核方式,同時規(guī)范化的文檔資料也是重要的考評指標(biāo)。(3)對于畢業(yè)設(shè)計,重點考核學(xué)生的創(chuàng)新能力。科研能力以及分析解決問題的能力,考核方式同綜合實訓(xùn)。總之,以能力培養(yǎng)為導(dǎo)向,注重能力考評。2.2.5校企合作校企合作是培養(yǎng)學(xué)生的綜合素質(zhì)和實踐能力的重要途徑。為了增強人才培養(yǎng)的針對性和畢業(yè)生與工作崗位的無縫對接,我們同中創(chuàng)、中遠等知名軟件公司開展校企合作聯(lián)合辦學(xué)。充分利用學(xué)校和社會兩種教育環(huán)境和教育資源,聯(lián)合構(gòu)建工程型實踐教學(xué)隊伍與教學(xué)平臺。一方面,學(xué)校聘請企業(yè)一線的工程師作為兼職教師來校授課,不僅充實了實踐教學(xué)隊伍,更帶來了企業(yè)的最新技術(shù)和行業(yè)資訊;另一方面,選派優(yōu)秀教師到企業(yè)學(xué)習(xí)鍛煉,參與企業(yè)項目,提升師資隊伍的水平。此外,通過在企業(yè)建立校外實訓(xùn)、實習(xí)基地,使學(xué)生盡早感受企業(yè)文化和接觸到真實的企業(yè)項目,也為學(xué)生就業(yè)積累了豐富的工程實踐經(jīng)驗。

3結(jié)束語

篇5

關(guān)鍵詞:網(wǎng)絡(luò)教學(xué);軟件工程;實驗教學(xué)

中圖分類號:TP393 文獻標(biāo)識碼:A 文章編號:1009-3044(2013)09-2194-03

1 概述

軟件工程是研究計算機軟件開發(fā)與軟件管理的工程學(xué)科,是一門理論性和實踐性都很強的綜合性課程。軟件工程本身涉及到的知識內(nèi)容很廣,是將面向?qū)ο蠹夹g(shù)、程序開發(fā)方法和數(shù)據(jù)庫原理等課程綜合的過程。通過軟件工程的學(xué)習(xí),目的是培養(yǎng)學(xué)生獨立分析和解決問題的能力,增強學(xué)生實踐和動手能力,并熟練地掌握計算機軟件的各種開發(fā)工具。

目前的軟件工程課程,比較注重課堂教學(xué),實驗教學(xué)學(xué)時少,任務(wù)重,包含的內(nèi)容多,如果學(xué)生之前沒有花時間預(yù)習(xí)和準(zhǔn)備實驗,沒有對整個實驗過程作系統(tǒng)規(guī)劃,會導(dǎo)致上實驗課時無從下手,影響學(xué)生的學(xué)習(xí)積極性和學(xué)習(xí)效果,因此科學(xué)地規(guī)劃軟件工程實驗課程并對實驗課程進行教學(xué)改革是非常有必要的。該文提出了采用網(wǎng)絡(luò)教學(xué)平臺作為軟件工程實驗課程的輔助手段,對軟件工程實踐課程的教學(xué)改革進行了探索。利用網(wǎng)絡(luò)學(xué)習(xí)的方法,能夠在更大程度上調(diào)動學(xué)生的學(xué)習(xí)主動性和積極性,增強學(xué)習(xí)效果,更好地實現(xiàn)教學(xué)目標(biāo)

2 實驗課程網(wǎng)站建設(shè)

近年來隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)教學(xué)模式越來越顯示出其優(yōu)越性。教學(xué)網(wǎng)站具有教學(xué)資源豐富、學(xué)習(xí)自由的特點,網(wǎng)絡(luò)教學(xué)的模式也有利于學(xué)生自主學(xué)習(xí)能力和創(chuàng)新精神的培養(yǎng)。建立軟件工程實驗課程網(wǎng)站的主要目的,是讓學(xué)生對所要進行的軟件工程實驗有整體的認(rèn)識和了解,明確實驗任務(wù)、實驗要求和實驗方法,對整個實驗過程有合理的規(guī)劃。根據(jù)軟件工程開發(fā)的整個過程和技術(shù)要求,設(shè)置實驗課程網(wǎng)站,主要包括以下幾個模塊:

2.1 課程資源

課程資源是涵蓋理論課和實驗課的各種相關(guān)資源信息,主要包括課程介紹、教學(xué)大綱、實驗大綱以及課程相關(guān)資料等。這個模塊為學(xué)生課下自主學(xué)習(xí)提供了非常有針對性的資源, 對課堂教學(xué)是一個很好的補充。

2.1.1 理論教學(xué)資源

課程介紹:是對課程的主要內(nèi)容、課程的特點、課程學(xué)習(xí)的目的和任務(wù)等多方面作一個總括性的簡介方便學(xué)生對課程有一個總體的把握與了解。

教學(xué)大綱:主要包括課程教學(xué)的內(nèi)容與要求,對每章節(jié)的知識點、重點和難點進行說明, 闡述具體的教學(xué)安排和課時分配, 便于學(xué)生按照大綱的指導(dǎo)進行學(xué)習(xí)。

教學(xué)日歷:用來描述課程的進度安排。學(xué)生可以通過查看教學(xué)日歷, 事先預(yù)習(xí)教學(xué)內(nèi)容,使得課堂學(xué)習(xí)更有目的性和針對性,提高了教學(xué)效率。

授課教案和課件:這是學(xué)生自主學(xué)習(xí)最重要的部分,包括各章節(jié)的文字教案和多媒體教學(xué)課件。如果學(xué)生課堂上沒有完全理解授課內(nèi)容的,可以帶著問題在課下繼續(xù)進行自主學(xué)習(xí),能調(diào)動學(xué)生的自主學(xué)習(xí)的積極性,提高教學(xué)效果。

預(yù)備知識:列出學(xué)生已經(jīng)學(xué)習(xí)過的與軟件工程設(shè)計有關(guān)的課程目錄,如程序語言、數(shù)據(jù)庫、操作系統(tǒng)等,引導(dǎo)學(xué)生復(fù)習(xí)一些在軟件工程中需要涉及到的相關(guān)知識。

2.1.2 實驗教學(xué)資源

實驗大綱:根據(jù)課程實驗的要求組織實驗項目,編寫實驗大綱,主要包括各個實驗的實驗?zāi)康?、實驗原理、實驗?nèi)容和實驗環(huán)境等。注意實驗項目內(nèi)容應(yīng)從簡單到復(fù)雜對學(xué)生進行引導(dǎo), 給學(xué)生留下充足的學(xué)習(xí)思考空間,引導(dǎo)學(xué)生自主學(xué)習(xí)的方式和解決問題的方法,

課程設(shè)計要求:主要包括分組情況、任務(wù)分配、任務(wù)書的規(guī)范說明、提交方式、打印格式和成績核定方法。

此外,還可以給出實驗計劃表和課程設(shè)計計劃表等實驗詳細(xì)信息,使學(xué)生能合理規(guī)劃好整個實驗環(huán)節(jié)所要完成的任務(wù)。

2.2 項目任務(wù)

該模塊主要包括項目實例,方便學(xué)生學(xué)習(xí)和了解;建立項目題庫,學(xué)生可以選擇項目,完成實驗任務(wù)。

2.2.1 項目實例

教師根據(jù)學(xué)生的知識結(jié)構(gòu)和實際情況,虛擬設(shè)計一兩個小型系統(tǒng),作為項目實例,如停車場管理系統(tǒng)、借還書管理系統(tǒng)等。貫穿軟件生命周期整個過程,從問題定義、可行性分析、需求分析、總體設(shè)計、詳細(xì)設(shè)計到調(diào)試分析和軟件測試,給出項目的全過程設(shè)計。

學(xué)生通過實例學(xué)習(xí),對軟件工程開發(fā)項目有全面的認(rèn)識和了解,知道軟件生命周期的各個過程應(yīng)該做些什么,如何進行可行性研究,需求分析的任務(wù)是什么,采用什么分析工具,怎樣能全面周到的做好總體設(shè)計規(guī)劃,詳細(xì)設(shè)計階段的設(shè)計說明書的作用是什么,系統(tǒng)模塊如何劃分,程序?qū)崿F(xiàn)的方法有哪些,怎么設(shè)計軟件測試方案以及軟件維護說明書。

2.2.2 項目題庫

教師可為學(xué)生準(zhǔn)備一些軟件項目, 如停車場管理系統(tǒng),在線考試系統(tǒng),圖書管理系統(tǒng),學(xué)生信息系統(tǒng),銀行卡管理系統(tǒng),教材定購系統(tǒng),工資管理系統(tǒng),設(shè)備管理系統(tǒng)等,建立項目題庫,每個項目配備相應(yīng)的項目任務(wù)書,以便學(xué)生選擇項目,下載相關(guān)的項目任務(wù)書,完成項目計劃。

項目題庫中的項目,要不斷更新。項目的來源可以根據(jù)企業(yè)的需求、也可以是教師自己的科研項目,要對各個項目進行共同討論,決定項目的可行性,并根據(jù)教學(xué)要求和課程特點,對實際項目進行剪切或劃分成子項目,使其具有可操作性和實踐性,便于學(xué)生操作和實訓(xùn)。

2.3 軟件工具

該模塊是配置相應(yīng)的軟件工程實驗軟件,主要提供建模工具和編程軟件的下載,便于學(xué)生完成項目的分析過程,實現(xiàn)系統(tǒng)功能。

2.3.1 建模工具

對幾種UML統(tǒng)一建模工具進行簡單介紹,并提供軟件下載,安裝方法和使用教程。學(xué)生可以采用不同的分析工具,建立系統(tǒng)的分析模型,并做好需求分析和系統(tǒng)設(shè)計。

主要的建模工具有Microsoft Office Visio、Rational Rose和PowerDesigner三種。Microsoft Office Visio中引進了軟件分析設(shè)計功能到代碼生成的全部功能,可以更輕松地將流程、系統(tǒng)和復(fù)雜信息可視化、可以創(chuàng)建多種類的圖表。Rational Rose主要是對開發(fā)過程中的各種語義、模塊、對象以及流程、狀態(tài)等進行比較好的描述,能從各個方面和角度來分析和設(shè)計,對系統(tǒng)的代碼框架生成有很好的支持。PowerDesigner是一種數(shù)據(jù)庫建模工具,允許使用一種結(jié)構(gòu)化的方法有效地創(chuàng)建數(shù)據(jù)庫或數(shù)據(jù)倉庫,它還提供了直觀的符號表示,使數(shù)據(jù)庫的創(chuàng)建更加容易,并使項目組內(nèi)的交流和通訊標(biāo)準(zhǔn)化。

2.3.2 編程工具

給出幾種軟件開發(fā)工具,如結(jié)構(gòu)化編程語言或面向?qū)ο蟮木幊誊浖–、C++、JAVA、DELPHI),以及SQL、Powerbuilder等開發(fā)工具,并提供軟件下載和安裝方法,供學(xué)生選擇編程軟件,編寫程序,并測試軟件。

2.4 文檔資料

該模塊主要列出整個項目所要提交的各類文檔資料。此外,還應(yīng)該提供統(tǒng)一格式的實驗報告和課程設(shè)計任務(wù)書范本,便于學(xué)生下載,并按要求填寫內(nèi)容。

項目文檔:主要包括有可行性分析報告,需求規(guī)格說明書,項目計劃書,總體設(shè)計報告,詳細(xì)設(shè)計說明書,軟件系統(tǒng)的程序代碼,軟件測試報告以及用戶使用手冊等。

規(guī)格說明:可以給出一些規(guī)格說明的樣例和標(biāo)準(zhǔn),學(xué)生可以使用非形式化、半形式化和形式化等方法描述需求分析規(guī)格說明,詳細(xì)設(shè)計規(guī)格說明,并給出系統(tǒng)各部分的設(shè)計規(guī)格說明書。鼓勵學(xué)生學(xué)習(xí)和使用形式化的方法描述規(guī)格說明,例如:有窮狀態(tài)機、Petri網(wǎng)以及Z語言等,這樣可以用數(shù)學(xué)方法研究和驗證規(guī)格說明是否正確,并消除二義性。

2.5成績評價

該模塊主要給出實驗教學(xué)各階段的成績考核方式及評定標(biāo)準(zhǔn)。課程實驗中,上機操作占課程實驗成績的50%(含平時上機操作和考勤),課程實驗需要提交的文檔和報告占50%。課程設(shè)計因為是分小組進行,成績評定可以分成個人成績和小組成績兩部分,個人成績主要根據(jù)個人在小組中所分工作多少和完成工作情況來確定,小組成績則由各個小組階段成績和系統(tǒng)最終驗收的情況來確定(如系統(tǒng)是否達到需求規(guī)格說明中的功能性、提交的文檔是否全面和規(guī)范, 源程序編寫是否規(guī)范、可維護性等)。

每個項目組都應(yīng)該進行匯報,展示自己的成果,由教師和其他同學(xué)組成評審團, 對每個項目組的匯報進行評審和打分, 提出修改意見和建議。匯報結(jié)束后, ,教師要進行總結(jié)點評, 并寫出評語。既要評價項目成果,也評價學(xué)生的表現(xiàn),幫助學(xué)生整理學(xué)習(xí)內(nèi)容, 鼓勵學(xué)生的積極性。

3 網(wǎng)絡(luò)輔助教學(xué)

建立軟件工程實驗課程網(wǎng)絡(luò)教學(xué)平臺后,如何讓學(xué)生充分利用平臺資源進行網(wǎng)絡(luò)學(xué)習(xí),也是必不可少的關(guān)鍵部分。整個教學(xué)實踐過程可在教師引導(dǎo)下, 學(xué)生自主管理, 分工協(xié)作, 這樣既鍛煉了學(xué)生參與項目管理的能力, 又訓(xùn)練了學(xué)生之間的團隊合作精神。有了網(wǎng)絡(luò)學(xué)習(xí)平臺,在理論課程學(xué)習(xí)的同時,學(xué)生可以分三個階段完成軟件工程實驗課程:

1)網(wǎng)絡(luò)學(xué)習(xí):該階段主要學(xué)習(xí)課程資源,同時,學(xué)生進行選題,分小組和分派任務(wù),進行項目的可行性研究和項目的需求分析。

2)課程實驗:該階段主要是讓學(xué)生學(xué)習(xí)建模工具,通過使用建模工具,完成項目的分析過程,并進行系統(tǒng)的詳細(xì)設(shè)計,劃分系統(tǒng)的各組成模塊,給出系統(tǒng)的各部分設(shè)計規(guī)格說明書。

3)課程設(shè)計:該階段主要是根據(jù)項目的需求規(guī)格說明書和系統(tǒng)設(shè)計文檔,采用合適的程序設(shè)計軟件完成對整個系統(tǒng)的代碼編寫,遵循代碼的開發(fā)規(guī)范。設(shè)計測試用例,對系統(tǒng)進行測試,并提交相關(guān)文檔。

成績評價部分由教師來完成,每個階段都要進行階段性評價,并根據(jù)項目的最終完成情況給出整體評價。要著力培養(yǎng)學(xué)生軟件工程開發(fā)工具的應(yīng)用能力, 要求學(xué)生按規(guī)定提交項目要求的各種文檔,形成較為科學(xué)的綜合成績評定方法。

4 結(jié)束語

軟件工程實驗課程的教學(xué)改革是軟件工程課程改革的一個重要部分,教學(xué)方法和實驗環(huán)境是軟件工程實驗課程改革得以實現(xiàn)的重要保障。利用網(wǎng)絡(luò)教學(xué)平臺輔助軟件工程的實驗教學(xué), 可以實現(xiàn)資源共享,使得學(xué)生對整個實驗教學(xué)有全面的認(rèn)識和了解,有利于調(diào)動學(xué)生的學(xué)習(xí)興趣和主動性,提升學(xué)生分析問題能力和實際解決問題的能力,對增強學(xué)生的項目管理能力和開發(fā)能力,起到很好的作用。

參考文獻:

[1] 張海藩.軟件工程(第3版)[M].北京:人民郵電出版社,2010.

篇6

關(guān)鍵詞 軟件工程 實踐教學(xué) 導(dǎo)學(xué)制 虛擬

中圖分類號:G642.4文獻標(biāo)識碼: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ù)的課程,是對軟件開發(fā)活動教訓(xùn)及經(jīng)驗的積累和總結(jié)。該課程對對學(xué)生未來的軟件工程實踐具有重要的指導(dǎo)作用。然而在實際的教學(xué)實踐中,學(xué)生往往對已總結(jié)的理論缺乏具體而貼切的理解,而且認(rèn)為課程枯燥無味,或者只對里面涉及到的工具和技術(shù)感興趣,忽視了軟件項目開發(fā)中各種輔助管理過程的重要作用。這種重技術(shù)輕管理的意識在學(xué)生中非常普遍,甚至在中國很多小型軟件公司中也很常見。究其原因,是在軟件工程學(xué)習(xí)中對其中的管理技能和工程技術(shù)技能缺乏全面的掌握,這也是軟件工程教學(xué)常見的教學(xué)問題。為提高軟件工程教學(xué)質(zhì)量,將實際軟件企業(yè)制度引進教學(xué)實驗課堂,是一種較好的解決辦法。

1 基于模擬軟件企業(yè)的導(dǎo)學(xué)制基本思想

基于模擬軟件企業(yè)的導(dǎo)學(xué)制的思想,是指在學(xué)校軟件工程實驗教學(xué)中,把軟件企業(yè)的運行管理機制引入到課堂實

驗項目中,讓學(xué)生扮演軟件企業(yè)項目開發(fā)的各種角色,結(jié)合軟件工程課程學(xué)習(xí),完成軟件工程實驗教學(xué)。具體執(zhí)行的流程如圖1:

具體來說,在整個課程的學(xué)習(xí)過程中,教師扮演的則是“導(dǎo)學(xué)員”的角色。在課程的初級階段教師即借鑒企業(yè)管理制度,建立模擬軟件企業(yè)的組織機構(gòu)。根據(jù)每個階段不同的實驗任務(wù)――如需求分析階段的需求分析任務(wù),軟件設(shè)計階段的概要設(shè)計和詳細(xì)設(shè)計任務(wù)等――確定該階段的虛擬企業(yè)角色,并分配到每個學(xué)生,讓學(xué)生來親自來組織、實施并相互配合完成任務(wù)。但在組織實施前,老師應(yīng)該詳細(xì)地描繪實施藍圖,同時根據(jù)對工程活動的理解,查閱相關(guān)資料并制定該階段活動計劃,分派任務(wù)給各角色人員。整個實施過程在教師的指導(dǎo)下進行,實施完成后根據(jù)軟件企業(yè)進行階段評審,最后由導(dǎo)師根據(jù)其質(zhì)量進行評價,完成相關(guān)實驗任務(wù)。該方法核心是將企業(yè)運行的一套流程盡可能真實地引進課堂,其目的是通過這套制度讓學(xué)生獲得多方面體驗,包括協(xié)作、溝通、計劃等管理技術(shù),以及在具體實施軟件工程活動時的學(xué)習(xí)開發(fā)分析技能,并最終達到全面理解軟件工程理念的目的。

2 教學(xué)實施的關(guān)鍵問題

基于模擬軟件企業(yè)導(dǎo)學(xué)制是一種操作性很強的實踐教學(xué)方法,教學(xué)需教師嚴(yán)密計劃,精心組織,敏銳觀察。該教學(xué)方法實施的關(guān)鍵環(huán)節(jié),現(xiàn)以問題的形式闡述如下:

2.1 如何建立一個模擬軟件企業(yè)組織

一個軟件企業(yè)的正常運行需要多方面人員的合作和配合,如市場人員、開發(fā)人員、測試人員和行政管理人員。但作為一個課堂引入的虛擬企業(yè)組織,其主要功能是讓學(xué)生在課程學(xué)習(xí)時有個真實的情境,通過虛擬企業(yè)的運行,學(xué)習(xí)體會軟件工程知識。因此,引入軟件工程課程的虛擬企業(yè)只需配備主要職能部門,學(xué)生就能進行仿真運行。這些主要的職能部門包括項目經(jīng)理、軟件需求分析調(diào)研員、軟件的系統(tǒng)分析設(shè)計人員,軟件程序員和測試人員等主要開發(fā)測試人員和管理人員。同時將學(xué)生分為3-5人一組,以便每個學(xué)生充分學(xué)習(xí)軟件工程各階段角色任務(wù)管理和開發(fā)知識。同時,每一個階段偏重的任務(wù)不同,學(xué)生的角色也應(yīng)隨之有所改變。這樣的組織雖簡易,但卻有很高的可行性。同時也是有利于學(xué)生對企業(yè)運作環(huán)境有較為真實的體驗,學(xué)習(xí)多方面的知識,達到完成軟件工程實踐知識的目的。

2.2 如何管理和運行

在真實的企業(yè)中,一個項目接下來,相應(yīng)的組織便成立。那在軟件工程實踐教學(xué)中,如何使項目組有秩序地運行呢?所以,教師在實驗之處就應(yīng)選擇好一個軟件教學(xué)項目,教學(xué)時應(yīng)做好充足的準(zhǔn)備,制定好教學(xué)計劃和項目實施計劃,確定每個階段應(yīng)配備的人員。在確定好項目的角色后,教師還應(yīng)進行預(yù)先指導(dǎo),以引導(dǎo)其完成本堂課涉及的項目活動計劃和任務(wù)。隨著教學(xué)過程的推進,教師也需推動虛擬企業(yè)項目開發(fā)的進展,每個項目的結(jié)束以軟件項目的里程碑為主要標(biāo)志。在進行下一個項目階段時,再按照項目計劃來指導(dǎo)分配人員扮演其他角色。

2.3 如何運用該組織結(jié)合軟件工程教學(xué)內(nèi)容進行實驗教學(xué)

軟件工程教學(xué)中,教師應(yīng)以一個完整軟件項目進行實驗教學(xué)。結(jié)合軟件工程的階段性知識講解,逐步運用該虛擬軟件組織進行教學(xué)。

在運用該組織時,教師在事先做好教學(xué)計劃、明確各階段任務(wù)的同時,還應(yīng)注意對學(xué)生的引導(dǎo)和扶持。比如在可行性研究階段,學(xué)生由于缺乏對軟件開發(fā)過程的了解,通常難以制作項目開發(fā)計劃。此時老師可以講解一個以往的軟件開發(fā)計劃,使學(xué)生能夠預(yù)估,有些過程還需老師先做一些框架,然后才能放手讓學(xué)生做。在理論課教學(xué)時,也可以先以實例讓學(xué)生理解。在此過程中,人員的組織和分工可由導(dǎo)學(xué)員(老師和高年級學(xué)生)來指導(dǎo),以減少過程執(zhí)行的困難,幫助學(xué)生順利完成。一般來說,在開始學(xué)習(xí)新知識時,學(xué)生總是很不熟練,對過程一知半解,沒有經(jīng)驗。所以在初始階段,即以掌握軟件工程各階段知識為主要任務(wù)的階段,老師主要起指導(dǎo)作用,引導(dǎo)學(xué)生探索完成任務(wù)。第二階段是課程設(shè)計階段,通過前段時間學(xué)習(xí),學(xué)生已對主要知識和過程有所了解,但缺乏綜合銜接的能力。這時給學(xué)生布置一個項目任務(wù),放手給學(xué)生去組織實施,老師僅作為一個指導(dǎo)者,起監(jiān)督和評價者的作用。

2.4 如何建立有效的評價機制

學(xué)生實驗評價應(yīng)仿照軟件開發(fā)企業(yè)來進行。老師模擬真實企業(yè)給各個人員一定工資標(biāo)準(zhǔn),以各階段的實驗成果(比如該階段的項目計劃書,需求文檔等)作為評價依據(jù),在導(dǎo)學(xué)員的指導(dǎo)下進行綜合評價,參照基本工資,根據(jù)績效,給定虛擬工資(根據(jù)該虛擬工資可以使學(xué)生了解工程經(jīng)濟管理),以占工資的百分比作為該階段的評價分?jǐn)?shù),從而達到評價學(xué)習(xí)目的。

3 基于教學(xué)方法的基本原則

該教學(xué)方法實踐性強,過程也較復(fù)雜,在實施教學(xué)時應(yīng)把握一些原則,具體如下:

(1)以學(xué)生為主體,以老師為主導(dǎo)。在實驗教學(xué)過程中,學(xué)生是學(xué)習(xí)的主體,教師起指導(dǎo)作用。教師通過給出任務(wù),適時指導(dǎo),促進學(xué)生主動完成項目活動的組織任務(wù)和技術(shù)實施任務(wù),充分發(fā)揮學(xué)生的主觀能動性,大膽探索,多方求知,全方面學(xué)習(xí),激發(fā)其個人潛能。

(2)先導(dǎo)后做,由易到難。由于對新知識不理解,學(xué)生在一開始時往往茫然不知所措。此時老師要做到親自示范,講解實例,對于給定的實驗任務(wù),要手把手引導(dǎo),甚至老師做一部分,然后讓學(xué)生做另外一部分,這樣讓整個過程才能可行和可控。

從大的方面來說,軟件工程實驗的各個實施階段,老師應(yīng)逐漸引導(dǎo),使之可行;在課程設(shè)計階段則讓學(xué)生放手獨立去做,獨立完成,自主決定各種計劃和階段任務(wù)。

(3)計劃要周密,簡易可行。從實施的教學(xué)經(jīng)驗可以看出,要順暢實施本方法,需精心準(zhǔn)備,全面計劃,這是本實驗順利有序?qū)嵤┑闹匾U?。從一開始老師不但要制定教學(xué)計劃,還要制定項目實施計劃,并將其分派到各個教學(xué)實踐階段中。在每個階段的項目實施中,也要指導(dǎo)學(xué)生完生該項目階段的實施計劃。這樣才能使過程可控可管理。從教學(xué)實踐反饋來看,周密計劃的制定對教學(xué)成敗具有決定性的意義。

4 實施效果和總結(jié)

基于模擬軟件企業(yè)的導(dǎo)學(xué)制在軟件工程實驗教學(xué)以來,相比較傳統(tǒng)的軟件教學(xué)方法來看,學(xué)生對軟件工程的管理能力和對整個軟件工程整個過程理解的把握能力有很大提高,實踐能力的提高也促進了對軟件工程和其相關(guān)課程知識的理解。從畢業(yè)學(xué)生反饋來看,該方法能盡可能縮小學(xué)校課堂與企業(yè)開發(fā)實踐的差距,提高了學(xué)生的綜合知識運用能力,一改以前軟件工程知識教學(xué)中學(xué)生只獲得片面不連續(xù)的知識理解情況??傊谀M軟件企業(yè)的導(dǎo)學(xué)制在軟件工程實驗教學(xué)中已取得不錯的教學(xué)效果,其教學(xué)思想和措施可為其他的課程提供有意義的借鑒。

參考文獻

[1]李偉波.項目驅(qū)動式的“軟件工程”教學(xué)模式研究與實踐[J].北京:中國電力教育,2009(6).

[2]王延青,李海峰,林森,朱素霞,倪澤輝.軟件工程系列課程設(shè)計的分組及選題策略框架[J].北京:計算機教育,2008(8).

[3]宋三華,王娟娟.軟件工程實驗教學(xué)模式探究[J].濟南:中國管理信息化,2010(9).

[4]彭博.軟件工程課程行動導(dǎo)向式教學(xué)法的研究[J].昆明:大家,2009(11).

篇7

(一)傳統(tǒng)的計算機軟件類學(xué)科教學(xué)模式特點

計算機軟件類專業(yè)的教學(xué)目標(biāo)是要求學(xué)生掌握專業(yè)相關(guān)的理論基礎(chǔ),熟悉軟件開發(fā)工具的各項功能,熟練運用這些工具編寫應(yīng)用程序以解決實際問題,達到培養(yǎng)高層次、實用型、復(fù)合型、具有國際競爭力的人才要求。傳統(tǒng)的教學(xué)模式和理念,是以知識的灌輸為宗旨,重知識傳授,輕實踐訓(xùn)練,因此造成的結(jié)果就是學(xué)生的實踐動手能力差、問題解決能力薄弱、工作適應(yīng)周期過長,學(xué)生很難將學(xué)到的理論知識和實際的項目實踐順利結(jié)合起來,甚至個別學(xué)生僅僅是為了考試而學(xué)習(xí),死記硬背,對根本不了解課程設(shè)置的意義。本文經(jīng)過分析總結(jié)認(rèn)為傳統(tǒng)教學(xué)模式主要有如下幾個弊端:

(1)重視理論教學(xué),輕視實踐教學(xué)。由于教學(xué)環(huán)境的局限性及實驗設(shè)備的不齊備性,教師的授課效果經(jīng)常不能及時在學(xué)生的動手實踐中反饋出來。而且教師在授課過程中有意或者無意的偏向理論講解,使得學(xué)生在學(xué)習(xí)過程也偏向于死記語法規(guī)則等,忽略教師真正的授課意義。雖然教師在授課時配有相關(guān)例題操作,用以說明每個知識點的實際應(yīng)用。但由于授課環(huán)境有限,教師最多也只能讓學(xué)生查看程序運行結(jié)果,學(xué)生只知其果,不明其因。同時由于缺乏實景教學(xué),即使簡單明了的內(nèi)容,也要花更多的時間去講解,演示,從而浪費了寶貴的教學(xué)時間。

(2)教學(xué)被動,學(xué)生積極性低。傳統(tǒng)的教學(xué)模式,基本上都是一整節(jié)課,教師在上面講,學(xué)生在下面聽。學(xué)生一直處于一種被動接受的狀態(tài),教師講什么就記什么,講者有意,聽者無心,而且一味的被動接受抽象的概念更使得學(xué)生的積極性降低,無法激發(fā)學(xué)生的自主學(xué)習(xí)興趣,也無法激發(fā)學(xué)生在主動求知欲和創(chuàng)造望。

(3)理論和實踐結(jié)合力度不夠。由于理論和實踐不是同步進行的,由于學(xué)生在學(xué)習(xí)理論知識時容易種種不同的困惑,但是在實踐當(dāng)中又不能很好的運用反應(yīng)出來,因此造成了理論學(xué)習(xí)水平和實踐能力的參差不齊,根本達不到計算機軟件類專業(yè)教學(xué)規(guī)劃的要求。

(4)學(xué)生考核系統(tǒng)單一。目前中國的教育現(xiàn)狀仍是以應(yīng)試為主,即使在高校里考試也還是一個檢驗學(xué)生學(xué)習(xí)是否合格的首要標(biāo)準(zhǔn)。但是如今的考試形式一般以筆試的結(jié)果定輸贏,考核形式單一,導(dǎo)致學(xué)生在學(xué)習(xí)時更多的是采用死記硬背的方法來進行理論方面的學(xué)習(xí),這樣造成了許多高分低能的現(xiàn)象出現(xiàn)。

(二)基于軟件工程學(xué)的方法論

軟件工程是用工程科學(xué)的知識和技術(shù)原理來定義、開發(fā)和維護軟件的一項工作,主要研究的內(nèi)容包括開發(fā)技術(shù)與開發(fā)管理兩大方面。軟件工程學(xué)方法論是人們?yōu)榱丝朔败浖C”而做了大量的工作,而逐漸形成了系統(tǒng)的軟件開發(fā)理論、技術(shù)和方法,它們在軟件開發(fā)實踐中發(fā)揮了巨大的作用。軟件工程方法論就是在整個軟件工程的生命周期中提煉出來的上升到理論高度的一種思想,它可概括為:目標(biāo)、過程和原則。

(1)軟件工程方法論目標(biāo)。即采用有效合理的方法生產(chǎn)具有正確性及可用性的產(chǎn)品,它形成了對過程、過程模型及工程方法選取的約束。

(2)軟件工程方法論過程。就是如何在生產(chǎn)一個能滿足需求且達到工程目標(biāo)的軟件產(chǎn)品步驟中完成對生產(chǎn)過程的分析、設(shè)計、確認(rèn),它貫穿于整個開發(fā)過程。

(3)軟件工程方法論原則。則是圍繞工程設(shè)計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。采用軟件工程方法論開發(fā)軟件的時候,從對任務(wù)的抽象邏輯分析開始,一個階段一個階段地進行開發(fā),每個階段的開始和結(jié)束都有嚴(yán)格的標(biāo)準(zhǔn)。本文利用軟件工程方法論中的軟件復(fù)用技術(shù)與項目管理學(xué)結(jié)合提出了新的教學(xué)模式。軟件復(fù)用作為軟件工程方法論里的一種技術(shù)或者思想,在整個軟件工程中占有重要的地位,對能否實現(xiàn)軟件產(chǎn)業(yè)的工業(yè)化進展起著關(guān)鍵的作用。它主要是指利用現(xiàn)有的軟件資源來構(gòu)建新的系統(tǒng),避免重復(fù)勞動的方案。

并且軟件復(fù)用并不局限于代碼的復(fù)用,復(fù)用的過程延續(xù)完整的軟件生命周期。項目管理雖然是管理學(xué)的一個分支,但在整個軟件生命周期中要想使軟件產(chǎn)品實現(xiàn)或者超過設(shè)定的需求和期望,就必須采用項目管理來貫穿整個軟件生命周期中。它是在項目活動中運用專門的知識、技能、工具和方法,使項目能在有限資源的限定下達到相關(guān)項目的目標(biāo)。在相關(guān)項目中項目管理主要是協(xié)調(diào)和管理,而方法論則為項目進程提供了持續(xù)穩(wěn)定的方式方法。

基于軟件工程方法論教學(xué)體系的構(gòu)建

本文針對計算機軟件類專業(yè)的特點,并結(jié)合學(xué)?,F(xiàn)有的資源以及傳統(tǒng)教學(xué)模式的弊端,進行了新型教學(xué)模式的研究,提出一種基于軟件工程方法論的教學(xué)模式。它將經(jīng)典的軟件工程方法論提升到理念的高度,跳出軟件開發(fā)這一領(lǐng)域,應(yīng)用到了高校計算機軟件類專業(yè)人才的培養(yǎng)教育模式當(dāng)中去,并組織力量認(rèn)真進行改革實踐,經(jīng)過驗證取得了很好的效果?;谲浖こ谭椒ㄕ摰慕虒W(xué)體系就是將軟件工程方法論當(dāng)中的一些技術(shù)和思想融入到教學(xué)過程當(dāng)中去,通過CDIO的教學(xué)模式,將實踐項目和課堂教學(xué)很好的結(jié)合起來,使學(xué)生能從項目中以整體的角度把所學(xué)的理論知識融入到項目。

(一)課程體系的改革

在綜合考察計算機軟件類專業(yè)的課程教育體系后,運用軟件復(fù)用技術(shù)將實踐項目與相關(guān)專業(yè)課程串聯(lián)起來,這樣不僅有利于課程體系的建設(shè),也理順了各門課程之間的關(guān)系和側(cè)重點,對關(guān)聯(lián)課程的時間安排,教學(xué)內(nèi)容的設(shè)計、課時量的安排等方面都會產(chǎn)生深刻的影響,使整個課程體系的教學(xué)安排更合理,教學(xué)目的更明確,更有利于對整個教學(xué)體系的優(yōu)化。在界定計算機軟件類專業(yè)課程范圍的基礎(chǔ)上,通過對現(xiàn)有的計算機軟件類專業(yè)課程知識點以及課程知識點之間銜接關(guān)系的分析,建立課程間知識點網(wǎng)絡(luò)及擴展知識復(fù)用庫,減少重復(fù)知識點的講授,實現(xiàn)課程間的無縫銜接,使學(xué)生在常規(guī)授課內(nèi)容外能利用擴展知識復(fù)用庫提高自己分析問題、解決問題的能力,從而達到課程間知識點講授的最優(yōu)化,如圖1所示。

(二)教學(xué)模式的創(chuàng)新

1.項目管理式教學(xué)模式

本文根據(jù)計算機軟件類專業(yè)教學(xué)中理論與實踐緊密結(jié)合的要求,提出了項目管理式教學(xué)模式的思想,將軟件工程中的項目管理作為技術(shù)手段引入計算機軟件類專業(yè)學(xué)科的教學(xué)過程中。在教學(xué)過程中,首先考察計算機軟件類專業(yè)建設(shè)的相關(guān)資料,為決策提供內(nèi)容支持。其次,制定有效合理的教學(xué)規(guī)劃,同時根據(jù)市場的需求制定細(xì)粒度的擴展計劃。最后,在學(xué)期開始時,將學(xué)生按興趣、愛好劃分小組,以小組形式進行系統(tǒng)學(xué)習(xí)和溝通。將整個教學(xué)過程當(dāng)做一個大的項目,而項目內(nèi)不同的項目組負(fù)責(zé)的任務(wù)不一樣,但最終的任務(wù)都是一樣的,使教學(xué)任務(wù)落實到每一個人,達到教學(xué)目標(biāo),例如成立了Web開發(fā)小組,F(xiàn)lash興趣小組、C++、Java學(xué)習(xí)小組等等。為保證該方法的順利進行,要求教師有相關(guān)的管理能力,例如:整體管理能力、溝通協(xié)調(diào)能力以及其他相關(guān)能力等。其中溝通協(xié)調(diào)為其中最為主要技巧,這樣不僅能讓每個學(xué)生都能感到老師的關(guān)懷、愛護和鼓勵,而且更能激發(fā)學(xué)生的學(xué)習(xí)熱情,具體做法如:多使用一些非正式的溝通,合理使用Y理論,肯定學(xué)生的學(xué)習(xí)成果,及時解決學(xué)生提出的問題等等。

2.教學(xué)形式改進

在教學(xué)形式上,采用有規(guī)劃的機房授課方式,向?qū)W生開放實驗室,這樣既避免填鴨式教學(xué)的被動性,又將理論的學(xué)習(xí)和實踐操作實時的關(guān)聯(lián)在一起。教師在進行授課的時候就可以既講理論又教實踐,不僅能提高理論學(xué)習(xí)的效果,更重要的是能將理論與實踐結(jié)合,使學(xué)生的問題能及時的反饋給教師,從另一個方面來看,這種教學(xué)方式還可以提高學(xué)生的學(xué)習(xí)興趣,增強學(xué)生記憶力,提高學(xué)生的創(chuàng)新和動手實踐能力。

3.三步培養(yǎng)模式

整體教學(xué)模式采用“例證講解、課程設(shè)計、畢業(yè)設(shè)計”的三步培養(yǎng)模式。例證講解就是指教師在授課過程中更多的是類比實際案例,將課程的重點、難點融入到案例中來,同時課堂氛圍采用啟發(fā)式、辯論式教學(xué),使課程的講解更有針對性、實用性,課堂氛圍更活躍,有效地提高學(xué)生的創(chuàng)新能力。例如在進行數(shù)據(jù)結(jié)構(gòu)的樹的理論學(xué)習(xí)時,選擇一個樹的應(yīng)用案例,并結(jié)合樹的一些理論知識,與學(xué)生進行探討,拋磚引玉,啟發(fā)誘導(dǎo)學(xué)生提出自己的理解,然后與學(xué)生一起討論其可行性,已達到加深強化理論學(xué)習(xí)的作用。課程設(shè)計要做到的要求就是是項目化,對每門操作性和系統(tǒng)性較強的課程,要采用系統(tǒng)的、規(guī)范的、可度量的方法安排課程設(shè)計,并進行項目式的管理。

針對課程的區(qū)別,制定不同的課程設(shè)計指導(dǎo)方案,并加入擴展知識復(fù)用庫,包括一些如Eclipse、VisualStudio等開發(fā)工具的介紹,成功的案例介紹、參考書籍介紹等信息。使學(xué)生能在實踐的同時參閱資料,是理論與實際有機的結(jié)合起來。畢業(yè)設(shè)計選題以實際的項目為背景,聯(lián)合校企的業(yè)務(wù)背景,從立項到收尾,涵蓋軟件生命周期的全過程。如參與到《xx市黨務(wù)政務(wù)管理系統(tǒng)》的開發(fā)中去,實行與企業(yè)單位類似的管理模式,小組長負(fù)責(zé)整個小組的進度考察,每個小組成員分配不同的功能模塊,同時盡量平衡每個小組成員的個人能力,使學(xué)生體驗到企業(yè)中開發(fā)項目的流程、規(guī)范,學(xué)習(xí)做事的方法,更深層次的感悟團隊合作的意識,提高學(xué)生的就業(yè)競爭力,為以后在工作中更快的進入角色打下堅實的基礎(chǔ)。通過長期的觀察統(tǒng)計,并將一些反應(yīng)學(xué)生競爭力的能力水平按一定的指標(biāo)量化后,可以得到采用新的教學(xué)模式與傳統(tǒng)教學(xué)模式下學(xué)生的學(xué)習(xí)效果圖,如圖2所示。

(三)考核系統(tǒng)的改革

傳統(tǒng)的學(xué)生績效考核體系主要采用的是以理論筆試成績?yōu)橹?,平時的表現(xiàn)和課程設(shè)計為輔,這樣很容易造成高分低能的現(xiàn)象出現(xiàn),因此建立良好的學(xué)生能力考核系統(tǒng)對培養(yǎng)合格優(yōu)秀的計算機軟件類專業(yè)人才極為重要。根據(jù)當(dāng)前社會對計算機軟件類專業(yè)人才的能力需求,提出綜合考核系統(tǒng)。該考核系統(tǒng)從專業(yè)理論知識、動手實踐能力、獨立解決問題能力、創(chuàng)新能力和團隊合作5個方面進行評價,相應(yīng)的制定出行之有效的評價指標(biāo)和標(biāo)準(zhǔn),并將該指標(biāo)落實到學(xué)生學(xué)習(xí)的整個過程。專業(yè)理論知識評價主要是對學(xué)生的基礎(chǔ)理論知識掌握程度進行度量,在整個評價系統(tǒng)中根據(jù)實際情況確定比例分配,一般來說不宜超過65%。動手實踐能力評價通過增加一些實踐操作類題目,條件允許的話使用機房上機考試的方法。獨立解決問題、創(chuàng)新能力不好做定量分析,因此對教師有較高的要求,需要教師有相對客觀一致的評價標(biāo)準(zhǔn)。而團隊協(xié)作來在課程設(shè)計和畢業(yè)實習(xí)中卻可以很好的體現(xiàn)出來,根據(jù)每個小組的任務(wù)進度、分工、協(xié)調(diào)和交流等方面,可以很清晰的形成對團隊協(xié)作能力評價的素材。在整個評價過程中,要合理分配每部分所占的比重,不同的時間段側(cè)重的方面不同,形成多元化、多維度、客觀的評價結(jié)果。

實施效果

篇8

關(guān)鍵詞:軟件開發(fā);能力培養(yǎng);案例教學(xué)

當(dāng)前計算機專業(yè)或軟件工程專業(yè)的學(xué)生存在著學(xué)用脫節(jié)、實際開發(fā)能力偏弱等問題。盡管很多高校計算機專業(yè)、軟件工程專業(yè)在軟件方面的課程體系上是將整個學(xué)科專業(yè)的知識按一定順序和層次分解,使得學(xué)生能夠循序漸進地學(xué)習(xí)和掌握知識,這無疑是行之有效的。但掌握了軟件開發(fā)領(lǐng)域的知識,并不意味著同時具備了軟件開發(fā)的能力。事實上,學(xué)生雖然接受了系統(tǒng)的軟件開發(fā)專業(yè)知識的學(xué)習(xí)和軟件開發(fā)技術(shù)應(yīng)用的訓(xùn)練,但軟件開發(fā)能力低下的情況還相當(dāng)普遍。要從軟件開發(fā)的“菜鳥”,成長為軟件開發(fā)的高手,或者稱之為“高級藍領(lǐng)”,必須通過長期的歷練,沒有捷徑。但好的教學(xué)案例和人才培養(yǎng)模式,對促進軟件人才的成長和開發(fā)能力的提升有很重要的作用[1]。

1軟件開發(fā)人員能力要求

由于軟件開發(fā)是一項技術(shù)綜合性很強的工作,因此,企業(yè)對軟件開發(fā)人員能力的要求也是綜合性的[2]。按照教育部對軟件學(xué)院學(xué)生實踐能力培養(yǎng)的要求和工程應(yīng)用型人才培養(yǎng)的定位[3],軟件學(xué)院的學(xué)生在軟件開發(fā)過程中,既要能將用戶的需求映射到良好的軟件體系結(jié)構(gòu),在進行應(yīng)用軟件總體設(shè)計時有大思路和大局觀,也要能運用現(xiàn)代軟件設(shè)計方法和編程技術(shù)在進行詳細(xì)設(shè)計時關(guān)注細(xì)節(jié),實現(xiàn)高質(zhì)量的軟件;在考慮軟件實際應(yīng)用時,既要支持國際化及本地化的應(yīng)用要求,也要支持軟件及運行平臺升級、操作系統(tǒng)遷

移的應(yīng)用要求;在技術(shù)應(yīng)用能力上,既要對使用的編程語言和開發(fā)環(huán)境有很好的把握,也要能綜合運用前期所學(xué)的操作系統(tǒng)技術(shù)、數(shù)據(jù)庫技術(shù)、網(wǎng)絡(luò)編程技術(shù)、圖形圖像處理技術(shù)、人機交互技術(shù)等專門技術(shù);在軟件工程素質(zhì)上,既要具有軟件工程技術(shù)和管理方面的知識,還要具備良好的團隊合作、交流和文字與口頭表達能力。上述這些就是現(xiàn)代IT企業(yè)對軟件開發(fā)人員的能力要求。

2案例實踐教學(xué)對軟件人才培養(yǎng)的意義

案例實踐教學(xué)對軟件人才培養(yǎng)具有以下優(yōu)勢:

1) 學(xué)生通過案例學(xué)習(xí)不僅對理解和掌握計算機軟件的抽象概念及原理十分有用,而且對學(xué)習(xí)先進的軟件編程方法、使用先進的軟件開發(fā)技術(shù)、提高自身的軟件開發(fā)能力大有益處。

2) 學(xué)生通過對案例代碼的閱讀分析,可以使一些一知半解的概念突然變得清晰易懂,使一些久思不解的問題變得豁然開朗。

3) 通過案例學(xué)習(xí),學(xué)生能夠零距離接觸到軟件高手,深深為他們巧妙的方法、過硬的技術(shù)、認(rèn)真細(xì)致的精神、追求完美的態(tài)度所折服。

3實踐教學(xué)案例的設(shè)計

案例設(shè)計的內(nèi)容、質(zhì)量以及案例教學(xué)的水平是案例實踐教學(xué)的基礎(chǔ),是案例學(xué)習(xí)成功與否的關(guān)鍵。

作者簡介:蔡建平,男,教授,研究方向為軟件工程、嵌入式軟件測試和數(shù)字媒體技術(shù)。

3.1案例設(shè)計要求

設(shè)計支持軟件開發(fā)能力,特別是綜合開發(fā)能力培養(yǎng)的實踐教學(xué)案例是許多高校計算機軟件類專業(yè)教學(xué)面臨的問題。

首先,這樣的案例對于高年級的學(xué)生要涉及到他們前期所學(xué)的計算機軟件開發(fā)各個方面的知識和技術(shù),如程序設(shè)計、面向?qū)ο缶幊獭?shù)據(jù)結(jié)構(gòu)與算法、操作系統(tǒng)、數(shù)據(jù)庫、網(wǎng)絡(luò)通信、圖形圖像處理、人機交互、軟件體系結(jié)構(gòu),等等;另外,要幫助這些學(xué)生在通過案例學(xué)習(xí)后,建立起軟件開發(fā)的大思路或大局觀,對軟件的質(zhì)量要求(特別是可靠性要求)、維護要求(特別是軟件功能擴充及升級要求)有很清晰地了解,并能夠反映到軟件的設(shè)計和實現(xiàn)上。最后,學(xué)生學(xué)習(xí)完案例后,要了解支持軟件跨地域、跨平臺和跨時間的應(yīng)用需求,并掌握保證這些需求得以實現(xiàn)的相關(guān)技術(shù),如軟件的國際化和本地化、軟件及平臺的升級、平臺移植或系統(tǒng)遷移等技術(shù)。

在案例設(shè)計中最為關(guān)鍵的問題是案例能夠在各高校無障礙地推廣,不要因為經(jīng)費、實驗環(huán)境等問題使案例設(shè)計成果沒有應(yīng)用價值。因此,案例設(shè)計要求全部使用開源代碼或開源技術(shù)。事實上,開源軟件的使用,不僅有利于通過免費的開源軟件大大降低搭建實驗環(huán)境所需的條件,使學(xué)生能夠零距離地學(xué)習(xí)優(yōu)秀軟件,全面提升自身的軟件開發(fā)能力和軟件開發(fā)素質(zhì),而且學(xué)生可以根據(jù)專業(yè)興趣或?qū)W時安排,有選擇地對其中的軟件和技術(shù)進行更深入的學(xué)習(xí)和專門的研究,形成自身的技術(shù)特長和研究方向。

案例設(shè)計中還有一點要特別注意:所選擇的案例不要涉及很深的領(lǐng)域?qū)I(yè)知識,又是人們感興趣、經(jīng)常接觸到的東西,這樣有利于激發(fā)學(xué)生的學(xué)習(xí)興趣;另一方面,希望案例涉及多種計算機軟件開發(fā)的主流技術(shù),如面向?qū)ο蟪绦蛟O(shè)計技術(shù)、客戶/服務(wù)器技術(shù)、多線程技術(shù)、網(wǎng)絡(luò)編程技術(shù)、數(shù)據(jù)庫技術(shù)、圖形學(xué)、GUI等眾多軟件技術(shù);最后,希望所設(shè)計的案例是綜合性的應(yīng)用軟件,以適合學(xué)生綜合開發(fā)能力的訓(xùn)練。

3.2案例詳細(xì)設(shè)計

基于上述的案例設(shè)計要求,以及早期項目的研發(fā)經(jīng)歷,我們選擇股票軟件作為軟件綜合開發(fā)實踐教學(xué)的案例。首先,股票軟件不涉及很深的領(lǐng)域?qū)I(yè)知識,又是現(xiàn)代社會人們非常關(guān)注、感興趣、且有可能經(jīng)常接觸或身陷其中的事物,學(xué)生容易入門和感興趣;另一方面,這類軟件其工作模式主要是客戶/服務(wù)器的工作模式,涉及到面向?qū)ο缶幊碳夹g(shù)、網(wǎng)絡(luò)通信技術(shù)、數(shù)據(jù)庫技術(shù)、圖形技術(shù)、用戶界面技術(shù)以及數(shù)據(jù)結(jié)構(gòu)與算法等眾多軟件技術(shù),其綜合性很強,對學(xué)生綜合開發(fā)能力的訓(xùn)練非常合適;最后,我們所選擇的股票軟件Stock-0.0.9是一個早期的開源股票軟件,它是一個股票軟件的雛形,易于學(xué)生學(xué)習(xí)和完善,包括做第二次開發(fā)。將該軟件作為案例進行實踐教學(xué)可讓學(xué)生接觸和應(yīng)用如下開源技術(shù):

1)Linux操作系統(tǒng)及虛擬機技術(shù);

2)GCC程序設(shè)計技術(shù)(包括編譯技術(shù)、調(diào)試技術(shù)及集成開發(fā)技術(shù)等);

3)MySQL數(shù)據(jù)庫應(yīng)用技術(shù)(基于C/C++應(yīng)用編程接口API的MySQL數(shù)據(jù)庫開發(fā)技術(shù));

4) 基于套接字編程的網(wǎng)絡(luò)通信技術(shù)(支持TCP/IP協(xié)議的開源liptcp++庫的應(yīng)用);

5) 基于Gtk+的界面設(shè)計技術(shù)(應(yīng)用Glade支持界面的設(shè)計及應(yīng)用框架的生成);

6) 股票軟件的結(jié)構(gòu)化程序設(shè)計及面向?qū)ο缶幊碳夹g(shù)等。

在對Stock-0.0.9進行編譯生成可執(zhí)行目標(biāo)代碼并建立其運行環(huán)境的過程中,學(xué)生能夠接觸和了解到程序設(shè)計的強類型機制、可靠性編程思想、軟件構(gòu)造方法、C/S工作模式實現(xiàn)手段、開發(fā)環(huán)境及應(yīng)用環(huán)境升級對策、軟件國際化及本地化應(yīng)用要素、操作系統(tǒng)遷移或移植問題等方面的內(nèi)容,使學(xué)生真正掌握基于復(fù)雜圖形用戶界面的大型應(yīng)用軟件開發(fā)的方法和技術(shù),理解現(xiàn)代軟件開發(fā)方法學(xué)和現(xiàn)代程序設(shè)計思想,增強他們解決實際問題的工程實踐能力。

4案例教學(xué)實踐及成果

4.1實踐情況

軟件學(xué)院針對教育部對軟件學(xué)院學(xué)生實踐能力培養(yǎng)的高要求和軟件工程碩士復(fù)合型工程人才培養(yǎng)的定位,以及學(xué)院學(xué)生(特別是非在職的工程碩士研究生)綜合性實踐能力太弱等實際情況,經(jīng)充分論證,確定了提升學(xué)生軟件綜合開發(fā)能力的培養(yǎng)目標(biāo),分別于2006年下半年在學(xué)院為本科生開設(shè)了“界面設(shè)計”課程,為軟件工程碩士開設(shè)了“高級軟件編程技術(shù)”課程。這兩門選用同樣案例,講授了10多次,受益學(xué)生達800多人。在這期間,課程的教學(xué)案例和實踐資源也不斷得到補充和完善。

4.2實踐成果――教材建設(shè)

學(xué)院考慮到案例實踐教學(xué)的效果以及教學(xué)案例和實踐資源的成熟與完整,決定將案例和課程資源進行總結(jié)與提升,出版與之配套的實踐教材,推廣相關(guān)的實踐教學(xué)經(jīng)驗,讓國內(nèi)高等學(xué)校計算機和軟件相關(guān)專業(yè)的實踐教學(xué)從中受益。學(xué)校對此工作提供了經(jīng)費支持,同時在清華大學(xué)出版社的支持下,完成了《軟件綜合開發(fā)案例教程――Linux、GCC、MySQL、Socket、Gtk+與開源軟件》的編寫工作,該教材已于2011年2月出版發(fā)行。

1) 教材的主要內(nèi)容。

除了有大量篇幅講述計算機應(yīng)用的主要開源技術(shù)外(如Linux操作系統(tǒng)、GCC編程語言、網(wǎng)絡(luò)Socket編程通信、MySQL數(shù)據(jù)庫管理、Gtk+界面設(shè)計),特別通過實際案例――Stock股票軟件將這些技術(shù)融會貫通在一起,并站在更高的角度上對軟件體系結(jié)構(gòu)、應(yīng)用軟件開發(fā)模式、軟件的國際化與本地化,軟件開發(fā)和應(yīng)用環(huán)境升級方法以及平臺移植技術(shù)等充分地介紹和實例說明,以此達到授人以漁的目的??梢哉f這是一本集各種主要的計算機開源技術(shù)應(yīng)用于一體的軟件綜合開發(fā)實踐教材。

2) 教材的特色。

① 能夠滿足計算機、軟件工程及相近專業(yè)高年級學(xué)生在前期學(xué)習(xí)了程序設(shè)計、操作系統(tǒng)、數(shù)據(jù)庫、計算機網(wǎng)絡(luò)等計算機專業(yè)基礎(chǔ)課程后,急需通過一個案例或一個項目來應(yīng)用這些專業(yè)基礎(chǔ)知識和技術(shù)進行綜合性實驗或?qū)嵺`,提高自身計算機技術(shù)綜合應(yīng)用能力的需求。

② 除了對主流的計算機開源技術(shù)做了詳細(xì)地介紹和舉例分析外,還特別地突出了計算機開源技術(shù)在實際股票軟件項目中的應(yīng)用,很好地支持著案例驅(qū)動式的實踐教學(xué)。

③ 教材所涉及到的實驗教學(xué)資源相當(dāng)豐富,覆蓋面相當(dāng)廣,且全是開源軟件或開源工具,保證了國內(nèi)許多院校在辦學(xué)條件不足,實驗教學(xué)經(jīng)費有限,無法全方位引進商用軟件工具的情況下,仍然能夠開設(shè)出軟件綜合性開發(fā)的實踐課程。

總之,該教材作為案例實踐教材,自始至終強調(diào)和灌輸現(xiàn)代軟件開發(fā)方法學(xué)和現(xiàn)代程序設(shè)計思想,強調(diào)軟件綜合開發(fā)能力的培養(yǎng)。該教材所涵蓋的大量技術(shù)內(nèi)容、實操案例及問題解決方案,如果學(xué)生能夠完全掌握并能實際地用于軟件項目的開發(fā),從軟件開發(fā)能力上說已達到一個高級藍領(lǐng)的要求了。

5案例實踐教學(xué)的實施方案

北京工業(yè)大學(xué)軟件學(xué)院在學(xué)生軟件綜合開發(fā)能力培養(yǎng)上分別針對軟件工程本科專業(yè)的學(xué)生和軟件工程專業(yè)學(xué)位的學(xué)生開設(shè)了選擇同樣案例和教材的不同課程――“界面設(shè)計”和“高級軟件編程技術(shù)”。下面我們主要以本科生為例,介紹在“界面設(shè)計”課程中案例實踐教學(xué)的實施方案或課程大綱。

5.1課程設(shè)計目的

學(xué)院在四年制軟件工程專業(yè)本科生的教學(xué)計劃中,為大三的學(xué)生在第二學(xué)期安排了“界面設(shè)計”的課程,60學(xué)時,2學(xué)分,共15個實驗單元(每個單元4學(xué)時)。

“界面設(shè)計”課程是按照教育部對國家示范性軟件學(xué)院培養(yǎng)工程化軟件實用人才的要求,以界面設(shè)計為立足點,對前期所學(xué)的主要計算機技術(shù)(如軟件開發(fā)、程序設(shè)計、網(wǎng)絡(luò)編程、數(shù)據(jù)庫應(yīng)用等)進行綜合訓(xùn)練。

要求學(xué)生在掌握界面設(shè)計的原則、方法和常用技術(shù),掌握當(dāng)前主流的開源界面開發(fā)工具Gtk+和開源界面設(shè)計工具Glade進行界面設(shè)計及實現(xiàn)等技能的基礎(chǔ)上,通過具體的案例――股票行情分析軟件,將計算機軟件開發(fā)所涉及到的相關(guān)知識綜合在一起,開展實踐活動。

通過該實踐課程,除了使學(xué)生掌握界面設(shè)計的全部流程和技術(shù),培養(yǎng)學(xué)生界面的設(shè)計能力外,可使學(xué)生接觸和學(xué)習(xí)基于復(fù)雜圖形用戶界面的大型軟件開發(fā)的方法和技術(shù),了解Linux操作系統(tǒng)、編程語言、程序設(shè)計、編譯應(yīng)用、圖形界面、數(shù)據(jù)庫、網(wǎng)絡(luò)通信、軟件體系結(jié)構(gòu)、應(yīng)用軟件開發(fā)模式以及平臺移植等技術(shù)在實際軟件開發(fā)或應(yīng)用項目中的具體應(yīng)用,達到增強他們工程實踐能力的目的。

5.2課時安排

該課程設(shè)計以《軟件綜合開發(fā)案例教程》為實踐教材,其實踐教學(xué)方案主要是按照15個實驗單元并依據(jù)教材內(nèi)容和知識單元組織進行制定的。

第1單元:對課程設(shè)計提要求,對Linux操作系統(tǒng)知識點進行講解,并安排學(xué)生進行Linux操作系統(tǒng)的實際應(yīng)用,學(xué)會Linux虛擬機的安裝、配置和使用。

第2單元:對應(yīng)用GCC進行軟件開發(fā)知識點進行講解,安排學(xué)生進行GCC開發(fā)應(yīng)用實踐,學(xué)會編寫工程文件、用GCC編譯C/C++程序、調(diào)試程序、建立集成開發(fā)環(huán)境。

第3單元:對網(wǎng)絡(luò)通信及Socket編程知識點進行講解,安排學(xué)生進行網(wǎng)絡(luò)通信的Socket編程實踐,學(xué)會在libtcp++環(huán)境下建立客戶/服務(wù)器的工作模式。

第4單元:對MySQL數(shù)據(jù)庫應(yīng)用知識點進行講解,安排學(xué)生進行MySQL應(yīng)用的相關(guān)實踐,學(xué)會用MySQL C API進行數(shù)據(jù)庫應(yīng)用的簡單開發(fā)。

第5單元:對Gtk+用于界面設(shè)計的知識點進行講解,安排學(xué)生進行Gtk+的界面設(shè)計實踐,學(xué)會用Gtk+和Glade進行簡單界面的開發(fā)。

第6單元:介紹股票交易的相關(guān)知識、股票軟件一般包含的內(nèi)容和所涉及到的技術(shù),安排學(xué)生學(xué)習(xí)和使用國內(nèi)主流的股票軟件,學(xué)會股票軟件的使用方法和使用流程。

第7單元:對開源股票軟件Stock進行分析講解,并帶領(lǐng)學(xué)生將Stock源碼編譯成可執(zhí)行的二進制碼,要求學(xué)生學(xué)會處理編譯和連接過程中出現(xiàn)的各種問題,特別是強類型問題。

第8單元:對應(yīng)用軟件國際化和本地化相關(guān)知識和技術(shù)進行講解,對Stock軟件的Gtk+1.2界面實現(xiàn)方法進行分析,并帶領(lǐng)學(xué)生解決Stock軟件中文顯示問題,要求學(xué)生掌握在Gtk+的界面控件上和繪圖區(qū)中正確地顯示中文、英文及數(shù)字方法。

第9單元:對Stock軟件的數(shù)據(jù)庫應(yīng)用編程、網(wǎng)絡(luò)通信編程等實現(xiàn)方法進行分析,帶領(lǐng)學(xué)生解決股票數(shù)據(jù)庫的建立、股票數(shù)據(jù)的導(dǎo)入等問題,要求學(xué)生掌握Stock軟件中用MySQL C API進行股票數(shù)據(jù)庫應(yīng)用、用Socket進行網(wǎng)絡(luò)通信的開發(fā)技術(shù)。

第10單元:對Gtk+2.0特點進行講解,帶領(lǐng)學(xué)生解決Stock軟件從Gtk+1.2到Gtk+2.0升級中遇到的各種問題,要求學(xué)生掌握確保軟件能夠升級的軟件設(shè)計思想和問題解決方法。

第11單元:對在Windows上進行Gtk+應(yīng)用程序設(shè)計的方法進行講解,帶領(lǐng)學(xué)生將Stock軟件從Linux上移植到Cygwin和MS VC上,并解決移植過程中的問題,要求學(xué)生掌握一般軟件移植的基本要點和基本方法。

第12單元―第13單元:學(xué)生按分工要求開展獨立實踐活動,并撰寫實踐報告。

第14單元―第15單元:學(xué)生按分工要求進行PPT的實踐匯報和實踐成果的演示。

5.3課程設(shè)計組織

課程設(shè)計以課題組形式開展,6人一組,每組必須完成6篇報告(Linux虛擬機使用總結(jié)報告、Linux下GCC編程總結(jié)報告、MySQL數(shù)據(jù)庫應(yīng)用總結(jié)報告、基于TCP/IP的Socket編程總結(jié)報告、用Gtk+設(shè)計圖形用戶界面總結(jié)報告以及股票分析軟件實現(xiàn)技術(shù)總結(jié)報告),指定課題組長(完成報告6),課題組其他成員分別完成報告1~5,每人1個,不能重復(fù)。

課程設(shè)計以實踐為主,完成教材中所布置的實驗習(xí)題。作業(yè)以電子方式交付。

5.4課程設(shè)計考核

對每位學(xué)生,課程設(shè)計考核包括四部分:

1) 電子版課程設(shè)計報告(40分),對于報告其撰寫要求如下:

① 每個報告不少于1萬字(不能以圖表代文,論述為主);

② 報告的基礎(chǔ)是每章的實驗習(xí)題;

③ 報告可分4~5章(第一章概述,最后一章總結(jié),其他章節(jié)自行組織);

④ 報告以教材為樣式進行排版;

⑤ 報告不要出現(xiàn)網(wǎng)上拷貝的痕跡,網(wǎng)上摘錄的要進行相應(yīng)處理,嚴(yán)禁聊天用語、博客用語以及混亂的控制符和全角符號;

⑥ 圖表要清晰,重要的圖表要親自畫或截,不要拷貝。

2) 每位同學(xué)要準(zhǔn)備總結(jié)報告的PPT匯報(10分鐘的匯報),匯報成績20分。

3) 每位同學(xué)要進行所選報告的成果演示,演示成績20分。

4) 考勤成績20分??记?0次,每次2分,考勤缺席5次的無成績。

5.5基于案例的“界面設(shè)計”實踐教學(xué)效果

“界面設(shè)計”課程自2006年開設(shè)以來,學(xué)生普遍反映良好,口碑頗佳,軟件開發(fā)的綜合實踐能力得到了明顯的提升。

最近,我們對學(xué)生學(xué)習(xí)該課程的體會和感想進行了調(diào)查,學(xué)生普遍認(rèn)為案例內(nèi)容和實驗方案豐富、實用和生動,大大地開拓了他們的眼界。通過基于復(fù)雜圖形用戶界面的大型應(yīng)用軟件開發(fā)方法和技術(shù)的學(xué)習(xí)和實踐,對現(xiàn)代軟件開發(fā)方法學(xué)和現(xiàn)代程序設(shè)計思想有了更進一步地理解,增強了軟件綜合開發(fā)和解決復(fù)雜問題的工程實踐能力。特別是對軟件開發(fā)有了大局觀,對軟件開發(fā)中軟件設(shè)計和高質(zhì)量代碼編寫的重要性有了新認(rèn)識,對優(yōu)秀開源軟件和開源技術(shù)有了極大的興趣。下面是部分學(xué)生在課程設(shè)計實驗報告中對“界面設(shè)計”的案例教學(xué)談到的心得體會:

1) 通過這門課的學(xué)習(xí),我基本掌握了Linux虛擬機的使用,以及Linux下的GCC編程,應(yīng)用軟件圖形用戶界面GUI的界面設(shè)計,網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用技術(shù)和網(wǎng)絡(luò)通信技術(shù),并能進行具有圖形用戶界面程序的開發(fā),提高了應(yīng)用C/S模式、管理數(shù)據(jù)庫數(shù)據(jù)等實際應(yīng)用能力。由于平常主要都是理論課程,實踐機會比較少,大家組隊進行開發(fā)就更少了。通過此次實踐,我體驗到了團隊開發(fā)的重要性,學(xué)會了如何合作開發(fā),并大大提高了我解決問題的能力,為以后工作學(xué)習(xí)增加了豐富的經(jīng)驗。

2) 以前學(xué)習(xí)Linux時僅把它當(dāng)作一種單純的操作系統(tǒng),沒有在上面做開發(fā),導(dǎo)致對Linux了解不多。經(jīng)過半個學(xué)期基于Linux的股票案例學(xué)習(xí)后,我收獲頗多。我主動收集和閱讀了大量資料,并鍛煉了實際動手能力。我學(xué)到了如何在Linux環(huán)境下搭建開發(fā)環(huán)境、進行編程和開發(fā),并對MySQL,GCC,Gtk+等開源軟件在Linux下的應(yīng)用有了初步的認(rèn)識,加深了對Linux下編程整體流程和工作細(xì)節(jié)的理解,知道了Linux下調(diào)試程序的方法,真正了解了程序在Linux下從編譯到運行以及排錯的全過程。

3) 這次課程設(shè)計我們的收獲非常多的,首先大家對于一款良好的軟件應(yīng)該具有什么樣的功能和性能有了比較清楚的認(rèn)識,這對于我們以后在軟件開發(fā)乃至今后的工作都是有益處的。其次,這次復(fù)雜的課程設(shè)計鍛煉了我們各方面的能力,包括團隊合作、資料查找、學(xué)習(xí)、融會貫通以及查錯能力,等等??梢哉f對我們的綜合能力是一次極大的考驗。在整個工程的過程里,大家接觸了很多以前沒有觸及過的知識并對其有了較為深切的理解。最后,本次課程設(shè)計溝通了我們幾位同學(xué)之間的感情,在辛苦工作的同時,也留下了難忘的回憶。

4) 我覺得這門課對我很有幫助,讓我學(xué)會了一個我以前不會也沒接觸過的有用的軟件,學(xué)會了如何使用Gtk+來進行圖形界面的設(shè)計。通過這一學(xué)期的學(xué)習(xí),課上聽老師對一些知識的講解,對Linux更加熟識了,對如何在Linux下安裝各種有用的軟件更加清楚。在課后我們組成小組,分工明確,每個人認(rèn)真地負(fù)責(zé)自己的那部分的工作,查資料,學(xué)相關(guān)的知識,然后再給小組的每個組員講,使組內(nèi)的成員對大家的工作都很熟識,這樣合作起來就更加的融洽,而且也可以互相討論和幫助。在這門課上學(xué)到了很多知識,也鍛煉了動手能力,最后作報告培養(yǎng)了大家的語言表達能力??傊?,我覺得這門課很有意義。

5)Stock股票軟件的成功運行讓我們對自己的能力充滿了信心。從最開始我們興致勃勃地組成一個小組,憧憬著成功的那一天開始,一路磕絆,直到今天我們看到一個完整的軟件,這里的每一個細(xì)小的環(huán)節(jié)都有著我們?yōu)橹冻龅钠D辛努力。這與我們小組成員的團結(jié)努力是密不可分的,尤其是負(fù)責(zé)編譯、調(diào)試和排錯的組員。課程設(shè)計中遇到的問題,不但沒有將我們擊垮,而且在問題解決過程中,使得我們對許多知識又有了新的理解。感謝學(xué)院給我們提供了這樣一門自己動手的課程,它對提高我們的編程能力非常有幫助。

6) 這次課程設(shè)計使我建立起一種堅持到底不放棄的精神。之前的我總是缺乏恒心,一旦進展不順即想放棄。這次強迫我接觸很多不會的新東西,而且時間上有限制,令我不得不一次次與失敗和不順打交道。在翻越這一道道“溝壑”的過程中,我覺得自己的毛躁在逐漸退去,變得越來越穩(wěn)健。我想精神上的成長可能比知識的增多對我來說意義更大。

6結(jié)語

我校專家對這種模式的案例實踐教學(xué)給予了充分肯定,指出計算機學(xué)院或軟件學(xué)院學(xué)生的軟件開發(fā)綜合能力培養(yǎng)一直是高等院校軟件人才培養(yǎng)的一個“短板”,一直缺少好的實踐教學(xué)方案、好的實踐教學(xué)案例和好的實踐教學(xué)教材。因此,軟件開發(fā)綜合能力培養(yǎng)的案例教學(xué)在傳統(tǒng)實踐教學(xué)的基礎(chǔ)上做了很有意義的探索和實踐,其成果顯著、資源完整,具有很好的推廣和普及基礎(chǔ)。學(xué)校為了強化該項成果在軟件工程專業(yè)學(xué)位研究生能力培養(yǎng)上的轉(zhuǎn)化和推廣,將研究生的“高級軟件編程技術(shù)”課程列為學(xué)校重點建設(shè)的精品課程。因此,我們相信,隨著精品課程建設(shè)的深入開展,軟件開發(fā)綜合能力培養(yǎng)的案例教學(xué)基礎(chǔ)將進一步夯實,其成果將會進一步凝練、宣傳和推廣。

參考文獻:

[1] 蔡建平. 軟件綜合開發(fā)案例教程[M]. 北京:清華大學(xué)出版社,2011:序

[2] 陳紅霞,毛京一,滕月鵬. 計算機藍領(lǐng)到軟件藍領(lǐng):高職軟件開發(fā)人才培養(yǎng)模式探討[J]. 計算機教育,2010(1):135-137.

[3] 教育部辦公廳關(guān)于進一步加強示范性軟件學(xué)院建設(shè)工作的通知[S]. 教高廳(2007)4號.

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è)計基礎(chǔ);課程設(shè)計;PSP

1前言

在程序設(shè)計類課程中,實踐教學(xué)環(huán)節(jié)一般包含兩個方面,即實驗教學(xué)環(huán)節(jié)、課程設(shè)計環(huán)節(jié)。實驗教學(xué)環(huán)節(jié)是對理論教學(xué)中的知識點進行實踐;而課程設(shè)計環(huán)節(jié)是對本門課程乃至之前學(xué)習(xí)的課程知識綜合性的練習(xí)和實踐,對學(xué)生動手能力的提升具有非常重要的意義。課程設(shè)計是對某一門課程進行教學(xué)策劃的研究活動,具體來說是指在學(xué)完專業(yè)課一段時間內(nèi),安排組織學(xué)生用學(xué)到的知識在一定的時間內(nèi)有組織或者分散地完成一些任務(wù)。目前在大學(xué)計算機教學(xué)過程中,很大一部分程序設(shè)計類課程都開設(shè)了課程設(shè)計,以期學(xué)生在課程設(shè)計中能夠掌握程序設(shè)計的基本思想、軟件開發(fā)的基本流程、程序調(diào)試的基本方法[1]。目前存在的問題本文針對河南中醫(yī)藥大學(xué)JAVA程序設(shè)計基礎(chǔ)課程設(shè)計執(zhí)行過程中出現(xiàn)的問題進行總結(jié)。在實施過程中總結(jié)遇到的問題,有學(xué)生的學(xué)習(xí)態(tài)度問題,包括對課程設(shè)計不重視,認(rèn)為課程設(shè)計不重要;有教學(xué)計劃設(shè)計問題,指軟件工程課程安排在程序設(shè)計類課程之后,學(xué)生對軟件開發(fā)流程沒有整體概念,無從下手;評價方法和評價標(biāo)準(zhǔn)過于簡單、單一,且隨意性強,沒有嚴(yán)格的評價標(biāo)準(zhǔn),造成課程設(shè)計的質(zhì)量下降。可見,問題集中在學(xué)生的態(tài)度問題、基本開發(fā)軟件的技能、教師的評價標(biāo)準(zhǔn)這三個方面[2]。鑒于學(xué)生的學(xué)習(xí)態(tài)度問題,教師對不同層次的學(xué)生進行調(diào)查,原因主要為:課程為考察課,重視程度不夠;課程學(xué)習(xí)起來太難,難以接受,更不想動手做東西;課程設(shè)計以往采用分組形式,每組人數(shù)較多,存在渾水摸魚的情況。對此,教師在組織課程設(shè)計實施過程中引入WWH模型,從學(xué)習(xí)動機、知識儲備、實際操作三個方面對學(xué)生課程設(shè)計實施過程進行干預(yù)。

2課程設(shè)計過程控制

在JAVA程序設(shè)計基礎(chǔ)課程設(shè)計實施過程中,教師采用WWH模型來完成課程設(shè)計的組織和實現(xiàn)。WWH具體是指Why、What和How。其中,Why解決的是在態(tài)度層面上學(xué)生的學(xué)習(xí)動機問題,也就是為什么要來學(xué)習(xí)本門課程;What解決的是在知識層面上學(xué)員的知識儲備不足問題,也就是學(xué)生需要掌握哪些專業(yè)的知識才能支撐具體的編碼實現(xiàn);How解決的是在技能層面上,學(xué)生的實際操作技能問題,也就是如何解決課程設(shè)計實現(xiàn)中的疑難困惑。Why(為什么學(xué))Why是學(xué)生對待課程設(shè)計態(tài)度層面的問題。進行課程設(shè)計的意義需要借助相應(yīng)的素材,從專業(yè)層面、課程層面、就業(yè)層面進行分析。使用最常用的方法案例,選用一個正面案例及一個負(fù)面案例。正面案例講授的是用心完成課程設(shè)計,將獲得什么收益,包括對前期知識系統(tǒng)性復(fù)習(xí),代碼調(diào)試能力提升,代碼量增加,取得很好的成績;反面案例講授的是如果不學(xué)可能導(dǎo)致的嚴(yán)重后果,比如掛科、重修等。What(學(xué)什么)學(xué)什么是知識層面的問題。學(xué)習(xí)的知識一般包括定義、概念、標(biāo)準(zhǔn)、要求、原則、區(qū)別、特點、基本組成要素等。課程設(shè)計時需要分析學(xué)生在掌握相關(guān)技術(shù)時還缺乏哪些知識,哪些技能掌握比較匱乏。比如:“軟件工程”中軟件開發(fā)的系統(tǒng)化流程,結(jié)構(gòu)圖、流程圖的繪制,在代碼結(jié)構(gòu)以及代碼調(diào)試方面能力較差[3]。由教師提供相關(guān)的書籍、材料進行補充。How(如何做)“如何做”是學(xué)生完成課程設(shè)計的基本技能?!叭绾巫觥币话闶侵刚n程設(shè)計實現(xiàn)過程中需要學(xué)生重點實現(xiàn)的內(nèi)容,包括課程設(shè)計報告、軟件,如軟件開發(fā)中各個模塊分配的時間比例如何?哪個模塊分配的時間最多、人力最大?“如何做”包括了軟件開發(fā)的流程以及軟件開發(fā)中的技術(shù)。在這個過程中需要教師能夠進行指導(dǎo),協(xié)助學(xué)生分析各個模塊重難點,進而確定分工。

3課程設(shè)計目標(biāo)考核

在課程設(shè)計環(huán)節(jié)執(zhí)行過程中,除了加強過程控制外,對結(jié)果目標(biāo)的考核是非常重要的一個方面,學(xué)生的態(tài)度問題究其原因,其中一個方面是在教學(xué)評價過程中課程設(shè)計環(huán)節(jié)評價指標(biāo)不明確,教師對學(xué)生課程設(shè)計評價結(jié)果與實際有偏差,造成學(xué)生渾水摸魚的現(xiàn)象存在。所以軟件開發(fā)的工作量和質(zhì)量如何衡量、如何評價,是課程設(shè)計評價環(huán)節(jié)的一個重點內(nèi)容。河南中醫(yī)藥大學(xué)JAVA程序設(shè)計基礎(chǔ)課程教學(xué)中引入PSP(PersonalSoftwareProcess)模式進行評價。PSP認(rèn)為在軟件評估過程中有下列四個因素需要考慮。1)任務(wù)有多大?用代碼行數(shù)(不包括空行/注釋行/單字符行)來表示,或使用功能點來表示。在實施過程中采用兩種方式相結(jié)合的形式,首先確定功能點的個數(shù),按照功能點逐個確定代碼行數(shù)。2)花了多少時間?一組人所花費的時間可以用人數(shù)*時間來表示,但是由于學(xué)生的基本功有差距,此標(biāo)準(zhǔn)對學(xué)生課程設(shè)計的工作量計算并不適用。3)質(zhì)量如何?交付的代碼中有多少缺陷?在課程設(shè)計中將交付定義為在“代碼完成”的時候,交付給負(fù)責(zé)測試的學(xué)生,并完成測試用例表。使用缺陷的數(shù)量來除以項目的大小,也就是缺陷的數(shù)量除以總的代碼量,衡量評價一個軟件的質(zhì)量。4)是否按時交付?這個指標(biāo)對學(xué)生不適用,學(xué)生完成課程設(shè)計的時間有明確的要求,不能延期交付。綜合以上幾點,在課程設(shè)計目標(biāo)評估中,結(jié)合PSP模式并對其進行課程設(shè)計評估的相關(guān)修改,通過功能點數(shù)、代碼行數(shù)以及缺陷數(shù)來評估課程設(shè)計中軟件的質(zhì)量。

4結(jié)果調(diào)研

按照WWH模型組織實施課程設(shè)計進行過程控制和引入PSP模型進行課程設(shè)計目標(biāo)考核,在現(xiàn)有課程JAVA程序設(shè)計基礎(chǔ)上實施,并對結(jié)果進行調(diào)查研究,數(shù)據(jù)顯示,學(xué)生在課程設(shè)計的代碼量均在1000行左右,最少的在600行。從代碼量來看,學(xué)生在課程設(shè)計中代碼量在各個小組之間差距不大,這有助于小組之間競爭,并進而促進軟件功能點的增多。在軟件開發(fā)中引入PSP評價代碼質(zhì)量,使用測試用例方式統(tǒng)計軟件完成情況、性能、穩(wěn)定程度,進一步提高了代碼的質(zhì)量,并讓學(xué)生在課程設(shè)計中了解了軟件開發(fā)的流程,課程設(shè)計報告的完整度和質(zhì)量有所提升。

5結(jié)語

課程設(shè)計是程序類課程不可或缺的一個環(huán)節(jié),對課程設(shè)計量和質(zhì)的控制是非常重要的。使用合理評價體系對課程設(shè)計的工作量和軟件質(zhì)量進行評價,是從結(jié)果逆向來促使學(xué)生提升課程設(shè)計質(zhì)量的一種方式,加強目標(biāo)管理也是實踐性課程教學(xué)目標(biāo)實現(xiàn)的一種重要途徑。加強過程管理以及目標(biāo)評價,是提升課程設(shè)計質(zhì)量的重要保障。

參考文獻

[1]吳軍其,劉玉梅.學(xué)習(xí)設(shè)計:一種新型的教學(xué)設(shè)計理念[J].電化教育研究,2009(12):80-83.

[2]章杰,陳笑蓉,皮建勇.項目實踐為導(dǎo)向的教學(xué)方法在軟件開發(fā)課程中的應(yīng)用[J].計算機教育,2010(5):91-94.

篇10

關(guān)鍵詞:軟件工程;課程群;課程群體系

中圖分類號:G642 文獻標(biāo)識碼:B

1引言

軟件工程是運用工程、科學(xué)和數(shù)學(xué)的原則與方法研制、維護計算機軟件的有關(guān)技術(shù)和管理的方法;是將系統(tǒng)的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、運行和維護的過程。中國的軟件產(chǎn)業(yè)以軟件工程為指導(dǎo)思想得到了迅猛發(fā)展,使得軟件工程人才的培養(yǎng)發(fā)生了巨大的變化。然而,人才需求與教育供給的不足產(chǎn)生了矛盾,以傳統(tǒng)的課程體系、單一的課程模式來培養(yǎng)軟件工程人才已不能滿足軟件產(chǎn)業(yè)發(fā)展的需求,成為軟件工程教育發(fā)展面臨的一個重要問題。解決這一問題的關(guān)鍵之一是需要在不斷的教學(xué)過程中,研究適應(yīng)軟件產(chǎn)業(yè)發(fā)展需求的人才培養(yǎng)模式以及相應(yīng)的軟件工程教學(xué)思路和方法,形成一個正確的課程群體系,在該課程群體系的保證下,不斷提高教學(xué)質(zhì)量使軟件工程教育得到健康穩(wěn)步發(fā)展。

傳統(tǒng)的軟件工程人才培養(yǎng)課程體系存在著以下幾方面的問題:(1)工程特點不明顯。課程安排過于傳統(tǒng),偏重計算機科學(xué)與技術(shù)的課程模式,偏重基礎(chǔ)理論和方法的傳授,沒有突出現(xiàn)代軟件工程的發(fā)展特點,忽略了體現(xiàn)軟件工程特點的關(guān)于質(zhì)量、進度、成本、度量、團隊、管理等方面的教育和實訓(xùn)。(2)分工不細(xì),與應(yīng)用領(lǐng)域結(jié)合不緊。軟件工程的應(yīng)用范圍不斷延伸,已經(jīng)深入到各個方面。而軟件工程的教育卻沒有達到與應(yīng)用領(lǐng)域的緊密結(jié)合,造成事實上的脫節(jié)。(3)單一的課程模式,不利于整體知識的貫穿。傳統(tǒng)的課程體系中,與軟件工程有密切聯(lián)系的課程沒有形成一個課程群,每門課程都是按照各自課程的體系獨立授課,使得有些知識點過于重復(fù),有些知識體系不能有機地銜接。(4)軟件工程教育與軟件產(chǎn)業(yè)結(jié)合不緊。軟件工程的教育不能及時更新教育理念,不能及時跟蹤軟件工程行業(yè)的最新發(fā)展趨勢。造成當(dāng)學(xué)生畢業(yè)后參加工作時,不能很快適應(yīng)較大型軟件的個人或團隊開發(fā)。(5)忽視交流能力的培養(yǎng)。交流能力是工程能力培養(yǎng)的重要方面,但現(xiàn)有的軟件工程教育體制卻秉承了傳統(tǒng)的教育方法,忽視交流能力的培養(yǎng)。鑒于以上這些問題,開展以軟件工程為主線的課程群體系研究是非常必要,也是很有意義的。

2研究現(xiàn)狀

目前,單純的計算機學(xué)科式教育已跟不上當(dāng)今產(chǎn)業(yè)界對工程型IT人才的迫切需求。不僅如此,服務(wù)于單純的計算機學(xué)科式教育的傳統(tǒng)的實踐教學(xué)也日益暴露出與企業(yè)需求和現(xiàn)代化工程型人才培養(yǎng)不相匹配的弊端。如何突出實踐教學(xué)的效果,如何將相關(guān)的課程組成一個課程群,使工程化培養(yǎng)在整個培養(yǎng)模式中的地位、分量和作用不斷加強,使學(xué)生的知識體系更加科學(xué)化、系統(tǒng)化、更加連貫、更加適應(yīng)社會需求,是目前絕大多數(shù)學(xué)校和用人單位共同需要解決的課題。

2003年教育部設(shè)立了“軟件工程課程體系”研究項目,以確立我國軟件工程教育體系的框架。由若干著名高校聯(lián)合組織了課題組,深入分析ACM和IEEE的《Computing curriculum-software Engineering》[1],研究探討我國軟件工程學(xué)科的教育思想、課程體系、教學(xué)計劃等,并結(jié)合國內(nèi)部分著名高校軟件學(xué)院的教學(xué)成果,形成了《中國軟件工程學(xué)科教程》[2]。國外,在軟件工程專業(yè)人才的培養(yǎng)中也提出了許多建議,如文獻[3]中談到Computing curriculum-software Engineering對軟件工程人才培養(yǎng)發(fā)揮著很重要的作用。

據(jù)調(diào)查,通過幾年的探索,目前中國三十多所國家示范性軟件學(xué)院均在不同程度上創(chuàng)建了一套以質(zhì)量為目標(biāo),以主動服務(wù)于企業(yè)為特色,按工程領(lǐng)域需求培養(yǎng),設(shè)置相應(yīng)的課程體系與實踐環(huán)節(jié),同時建立與國內(nèi)外知名企業(yè)合作,成立校內(nèi)外實訓(xùn)基地,建立新的工程型軟件人才培養(yǎng)模式。

南京大學(xué)軟件工程專業(yè)推行的工程化實踐教學(xué)體系可以簡單地用“一個教學(xué)理念、兩個培養(yǎng)階段、三項保障措施和四門實踐課程”加以概括。一個教學(xué)理念,指樹立工程化能力培養(yǎng)與基礎(chǔ)理論教學(xué)、專業(yè)能力培養(yǎng)并重的教學(xué)理念。兩個培養(yǎng)階段,指分別設(shè)置工程化教學(xué)階段和企業(yè)實習(xí)階段,把工程化素質(zhì)培養(yǎng)作為學(xué)生全培養(yǎng)期中自始至終關(guān)注的主線。三項保障措施,指通過教學(xué)方法創(chuàng)新、評價體系創(chuàng)新和實驗室建設(shè)創(chuàng)新,保障了工程化教學(xué)理念的實施。四門實踐課程,指設(shè)立了程序設(shè)計、軟件工程課程、信息系統(tǒng)課程、網(wǎng)絡(luò)平臺四門特色化的工程化實踐課程。中國國防科技大學(xué)在軟件工程專業(yè)教學(xué)改革實踐中,圍繞著以建立科學(xué)的軟件工程教學(xué)內(nèi)容體系為前提,突出實踐,激發(fā)學(xué)生主動探索和實踐的熱情,利用案例式教學(xué),同步構(gòu)筑立體化教學(xué)互動平臺。東南大學(xué)軟件學(xué)院提出了校企合作培養(yǎng)工程型人才的模式,通過教學(xué)的探索和實踐,把教學(xué)和工程實踐緊密地結(jié)合起來,突破學(xué)期、授課教師、課程各自獨立的局限,實現(xiàn)總體設(shè)計、綜合布局、交叉穿插、協(xié)同配合的新模式,取得了較好的效果。

3課程群體系的建設(shè)思路

工程型軟件人才的培養(yǎng)需要有一個貫穿始終的工程概念作指導(dǎo)的課程體系和與之配套的實踐環(huán)節(jié)。在課程群體系建設(shè)中主要考慮了以下幾方面的問題。

(1) 梳理以軟件工程為主線的系列課程之間的關(guān)系,確定以軟件工程為核心的課程群的內(nèi)容和課程群體系架構(gòu)。明確課程群中的基礎(chǔ)課程、專業(yè)課程和核心專業(yè)課程,以及它們的主要內(nèi)容和大綱,確保課程群的知識體系結(jié)構(gòu)合理、知識銜接合理、實踐環(huán)節(jié)安排合理,以避免知識點缺乏或知識點重復(fù),以及知識體系不連貫等問題。因此,我們深深體會到深入討論和研究課程群內(nèi)課程之間的關(guān)系和內(nèi)容是至關(guān)重要的。

(2) 課程群的內(nèi)容設(shè)置既要考慮夯實軟件工程的基礎(chǔ),又要考慮軟件工程的素質(zhì)和工程化思想的培養(yǎng)。軟件工程的基礎(chǔ)是建立在多個不同學(xué)科之上。它不僅需要計算機科學(xué)的理論和基礎(chǔ)知識,諸如數(shù)學(xué)、工程學(xué)、項目管理及其它應(yīng)用領(lǐng)域的概念,同時也需要培養(yǎng)學(xué)生軟件工程的基本素質(zhì)和基本技能??紤]設(shè)立了“程序設(shè)計類課程+軟件工程類課程+數(shù)據(jù)庫、網(wǎng)絡(luò)等專業(yè)類課程+認(rèn)證類課程”的課程群體系。特別應(yīng)該強調(diào)是在本科的早期階段,為了避免學(xué)生養(yǎng)成不良的編程習(xí)慣,樹立規(guī)范編程和團隊合作的思想,在加強程序設(shè)計類課程的實訓(xùn)環(huán)節(jié)同時,考慮個體軟件過程和小組軟件過程等軟件工程基礎(chǔ)和素質(zhì)課程的設(shè)置。認(rèn)證類課程的融入旨在提高學(xué)生的基本技能和軟件素質(zhì)。

(3) 建立起更加完善的、與課程群體系相適應(yīng)的實驗、實訓(xùn)、實踐教學(xué)體系。工程化思想的培養(yǎng)離不開實踐環(huán)節(jié)。如何提高學(xué)生的創(chuàng)新能力和工程實踐能力是課程體系實踐環(huán)節(jié)設(shè)計的關(guān)鍵。實驗是吸收、消化課程內(nèi)容的第一實踐環(huán)節(jié),實驗內(nèi)容的設(shè)計既要考慮對基本知識的理解又要考慮對后續(xù)內(nèi)容的鋪墊,既強調(diào)知識與技能的融合,又強調(diào)創(chuàng)新思維能力的培養(yǎng)。整個實驗課程體系的設(shè)置涵蓋了“技能、基本知識、設(shè)計、綜合、創(chuàng)新”五個層次。實訓(xùn)是對課程內(nèi)容的總結(jié),在加強案例教學(xué)的同時,遵循學(xué)生的認(rèn)知規(guī)律,合理安排實訓(xùn)的內(nèi)容,既考慮課程內(nèi)容的銜接又考慮加強工程化的訓(xùn)練,把提高學(xué)生的創(chuàng)新能力和工程實踐能力貫穿于整個實踐環(huán)節(jié)的始終。我們采用了目標(biāo)驅(qū)動式的實訓(xùn)策略,使學(xué)生在實訓(xùn)初期,就了解最終完成的系統(tǒng)要實現(xiàn)的功能。從系統(tǒng)目標(biāo)出發(fā)建立層次化的實訓(xùn)架構(gòu),使學(xué)生變被動為主動,有的放矢、完整系統(tǒng)地構(gòu)建自己的知識和技能體系,增強學(xué)生在設(shè)計上的全局觀念。實訓(xùn)環(huán)節(jié)中還考慮了加強與企業(yè)的合作,將企業(yè)的資源優(yōu)勢與學(xué)校的理論知識優(yōu)勢充分地結(jié)合,共同設(shè)計和建設(shè)課程群中的實訓(xùn)項目。

(4) 進行教學(xué)方法和教學(xué)手段的改革,使其適應(yīng)軟件工程人才的培養(yǎng)。軟件工程類的課程內(nèi)容紛雜,在教學(xué)過程中容易出現(xiàn)空洞的說教。為了避免這一問題,改革了現(xiàn)有的、傳統(tǒng)的課堂教學(xué)方式,在加強案例教學(xué)和實踐環(huán)節(jié)的同時,多采用課堂討論、小組報告、項目答辯等多種形式的教學(xué)方法。在課程群體系的建設(shè)中重點研究、設(shè)計和提出能夠貫穿于軟件工程為主線的課程群的案例。該案例的設(shè)計以培養(yǎng)興趣、激發(fā)創(chuàng)新激情為源點,從軟件工程的基礎(chǔ)入手,使學(xué)生能夠循序漸進地接受并融會貫通所學(xué)知識,再進一步地激發(fā)創(chuàng)新激情。通過案例的學(xué)習(xí),既能鞏固已學(xué)過的知識,又能在此基礎(chǔ)上讓學(xué)生實際運用他們所學(xué)過的知識和技能,模擬案例提出相應(yīng)階段自己的問題,并給出解決方案,真正使學(xué)生體會和做到學(xué)以致用。

(5) 以軟件工程為主線的課程群體系研究的同時加強教材建設(shè)。目前我院在軟件工程類課程中采用的教材都是原版外文類教材,這些教材從理念上來講是比較新的,但是其中的案例都是國外企業(yè)較為流行和實用的,有些內(nèi)容和我們的國情存在著差距,國內(nèi)學(xué)生接受起來有些難度。為此在引用國外教材的同時,設(shè)計符合國情、符合軟件工程人才培養(yǎng)要求、符合課程群建設(shè)以及貫穿于整個教學(xué)環(huán)節(jié)的案例教材是我們研究和建設(shè)的重點。

4解決的關(guān)鍵問題

(1) 課程群內(nèi)容的篩選。軟件工程專業(yè)主要以培養(yǎng)高層次、工程型、國際化人才為目標(biāo)。如何確立以軟件工程為主線的課程群內(nèi)容來滿足這一人才培養(yǎng)目標(biāo),如何在課程群中強調(diào)軟件工程的相關(guān)概念、原理和觀點,幫助學(xué)生形成系統(tǒng)的軟件工程思想,如何在知識的涵蓋面、創(chuàng)新靈活性和知識與實踐的結(jié)合上取得適當(dāng)平衡,是解決的關(guān)鍵問題之一。

(2) 課程群體系的改革。工程型的課程體系是進行工程型軟件人才培養(yǎng)最基礎(chǔ)的環(huán)節(jié),如何在傳統(tǒng)課程體系的基礎(chǔ)上,加強各課程之間的銜接、配合,增加貫穿始終的案例教學(xué)、添加社會和企業(yè)需要的專業(yè)技術(shù)課程,從而最大限度地發(fā)揮課程群體系的作用??紤]將多個課程模塊整合在一起,覆蓋軟件工程教育知識體系SEEK的所有知識領(lǐng)域,并與IEEE-CS/ACM聯(lián)合推出的軟件工程計算教程CCSE 2004的教學(xué)要求基本吻合,保證課程群內(nèi)容的科學(xué)性和系統(tǒng)性。

(3) 加強先進教材體系建設(shè)。遵循“體現(xiàn)素質(zhì)教育和創(chuàng)新能力培養(yǎng)”、“穩(wěn)定性和先進性相協(xié)調(diào)”的原則,在借鑒國際著名教材的基礎(chǔ)上,結(jié)合科研成果,對原有教材不斷更新改版同時,著力建設(shè)與課程群體系相匹配的高水平教材及實驗、實訓(xùn)教材。

(4) 校內(nèi)外實踐教學(xué)體系的建立。實踐教學(xué)體系包含課程實驗、課程設(shè)計、綜合實踐等內(nèi)容。課程實驗、課程設(shè)計是保證課堂教學(xué)的非常重要的實踐環(huán)節(jié)。如何選擇合適的案例貫穿整個課程群體系,是激發(fā)學(xué)生學(xué)習(xí)興趣,確保學(xué)生掌握一些重要思想的關(guān)鍵。綜合實踐活動既可以在校內(nèi)進行也可以在校外實施。校內(nèi)的綜合實踐活動是通過貫穿于整個知識體系的大型案例,讓學(xué)生實際參與,并承擔(dān)相應(yīng)的角色,在實踐過程中讓學(xué)生充分理解和應(yīng)用所學(xué)的知識。校外實訓(xùn)基地的建立為學(xué)生與企業(yè)無縫對接提供了便利條件。校內(nèi)外實訓(xùn)體系的建立也是學(xué)院聯(lián)系社會、聯(lián)系企業(yè)的重要途徑,也是促進學(xué)生就業(yè)的直接渠道。實訓(xùn)基地是學(xué)院進行教學(xué)改革和工程化培養(yǎng)最前沿的,同時也是最富有成效的陣地。因此,建立穩(wěn)定、有效的實踐教學(xué)體系,是關(guān)系到人才培養(yǎng)成敗最重要的環(huán)節(jié)之一。

(5) 信息化平臺的建立。學(xué)院信息化建設(shè)為整體教學(xué)環(huán)節(jié)提供了有力的平臺支持。如何建立合理、高效的以軟

件工程為主線的課程群體系信息化平臺,也是全面實施教學(xué)改革所必須要解決的問題。按照突出“知識的綜合運用能力”、“系統(tǒng)的分析設(shè)計和集成能力”、“科技創(chuàng)新和團隊協(xié)作能力”培養(yǎng)的指導(dǎo)思想,建立起支撐課程群的實踐教學(xué)環(huán)境。充分利用現(xiàn)代教學(xué)手段和網(wǎng)絡(luò)資源,構(gòu)建在線資源、案例庫、答疑區(qū),增加與學(xué)生的交流,提高教學(xué)質(zhì)量。

5結(jié)束語

針對軟件工程專業(yè)人才培養(yǎng)的需求,加強以軟件工程為主線的課程群體系的研究和建設(shè),不僅使我們的教學(xué)內(nèi)容更加科學(xué)、系統(tǒng)、規(guī)范、豐富、充實,也加強了與企業(yè)之間的聯(lián)系,使得課程教學(xué)與實踐教學(xué)更加協(xié)調(diào),實踐內(nèi)容更加豐富,提高了學(xué)生的實踐能力。

今后我們還要進一步加強和完善課程群體系的建設(shè),在建設(shè)中既要進一步充實課程群的課程內(nèi)容,協(xié)調(diào)各課程之間的相互關(guān)聯(lián)、銜接,還要充分考慮各教學(xué)、實踐環(huán)節(jié)的完善和改造,引進和借鑒校外資源和社會資源,使學(xué)校的教學(xué)優(yōu)勢與企業(yè)實踐平臺等一系列優(yōu)勢資源結(jié)合在一起,在使學(xué)生得到良好培養(yǎng)的同時,企業(yè)也得到了優(yōu)秀的人才,學(xué)校的培養(yǎng)質(zhì)量也得到了全面提高。

參考文獻

[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.