前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的軟件工程課程總結(jié)主題范文,僅供參考,歡迎閱讀并收藏。
關(guān)鍵詞 軟件工程教育 角色體驗(yàn) 軟件工程知識(shí)體系 工程文檔
1 引言
軟件產(chǎn)業(yè)是互聯(lián)網(wǎng)和新一代信息技術(shù)發(fā)展的重要基礎(chǔ),軟件工程作為一門研究用工程化方法構(gòu)建和維護(hù)有效的、實(shí)用的和高質(zhì)量的軟件的學(xué)科,始終是軟件產(chǎn)業(yè)發(fā)展的根基。對(duì)于計(jì)算機(jī)專業(yè)人才的培養(yǎng),軟件工程在計(jì)算機(jī)高等教學(xué)中占有重要地位。但是無論從學(xué)生、教師還是業(yè)界的反饋都可以看出,軟件工程教學(xué)的實(shí)際效果遠(yuǎn)未達(dá)到我們的期望。系統(tǒng)完整的軟件工程知識(shí)體系建立仍然面臨眾多挑戰(zhàn),理論與實(shí)踐結(jié)合的創(chuàng)新人才依然難尋,完整嚴(yán)謹(jǐn)和有效的軟件工程架構(gòu)風(fēng)格依然遙遠(yuǎn)。作為高校教師,我們必須從軟件工程的教、學(xué)、研進(jìn)行深入的研究,探索一條行之有效的教學(xué)培養(yǎng)方法。
軟件工程是“將系統(tǒng)性的、規(guī)范化的、可定量的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù),其重點(diǎn)在于軟件的分析與評(píng)價(jià)、規(guī)格說明、設(shè)計(jì)和演化,同時(shí)還涉及管理、質(zhì)量、創(chuàng)新、標(biāo)準(zhǔn)、個(gè)人技能、團(tuán)隊(duì)協(xié)作和專業(yè)實(shí)踐等”。①相比于其他的計(jì)算機(jī)專業(yè)課程,軟件工程的教學(xué)有很大的不同。軟件工程中重要的技術(shù)和開發(fā)原理來源于應(yīng)用和實(shí)際商業(yè)軟件開發(fā),之后這些核心技術(shù)被提煉和整合形成原則和理論基礎(chǔ)而引入課堂,教授給學(xué)生。通過軟件工程課程的學(xué)習(xí),學(xué)生需要了解和掌握軟件工程的理論、技術(shù)和方法,具備作為軟件工程師所需的專業(yè)能力。優(yōu)秀的軟件工程研究者David Parnas將軟件工程計(jì)劃分成三個(gè)階段執(zhí)行:(1)首先,詳細(xì)說明軟件工程師可能要執(zhí)行的一些任務(wù);(2)定義軟件工程師需要的知識(shí)體;(3)將其實(shí)施作為一個(gè)培訓(xùn)計(jì)劃。②③由此可見,軟件工程是一門綜合性和實(shí)踐性很強(qiáng)的學(xué)科,傳統(tǒng)的教學(xué)模式和教學(xué)方法在軟件工程教學(xué)中存在很大不足,人為地強(qiáng)調(diào)實(shí)踐或者理論基礎(chǔ)無法有效地培養(yǎng)學(xué)生的綜合技能和水平,從而直接影響了課程的教育質(zhì)量和教學(xué)效果。
軟件工程課程必須面向解決實(shí)際問題,即如何成功地開發(fā)可靠的、可用的、可維護(hù)的軟件系統(tǒng),滿足用戶的要求。這包含了需求分析、規(guī)劃說明、設(shè)計(jì)、構(gòu)建、測(cè)試、操作和維護(hù)等軟件生命周期的各個(gè)階段。目前,軟件工程教學(xué)主要包含兩部分:課堂教學(xué)和實(shí)踐教學(xué)。以傳統(tǒng)的教師為導(dǎo)向的教學(xué)方式為主,實(shí)踐教學(xué)為輔。教師在課堂上講授軟件工程方法、原則、技術(shù)等知識(shí);實(shí)踐教學(xué)主要是采用實(shí)驗(yàn)課的方式,由學(xué)生設(shè)計(jì)完成一個(gè)項(xiàng)目。根據(jù)多年教學(xué)的經(jīng)驗(yàn)和我們調(diào)查反饋的結(jié)果,很多學(xué)生在本課程學(xué)習(xí)時(shí)感到茫然和無所適從,理論的東西感覺抽象難以理解,缺乏學(xué)習(xí)熱情和興趣。針對(duì)軟件工程課程的特點(diǎn),我們認(rèn)真分析調(diào)研了課程教學(xué)存在的問題,總結(jié)分析導(dǎo)致課程教學(xué)效果不理想的主要原因如下:
1.1 課程設(shè)置安排不盡合理
軟件工程是一門涉及內(nèi)容較多的綜合性學(xué)科,所教授的原理、方法較為抽象。軟件工程中核心的技術(shù)和開發(fā)原理均來源于實(shí)際商業(yè)軟件開發(fā),經(jīng)提煉形成原理和方法而引人課堂。目前,大部分高校將軟件工程課程設(shè)置在大三,對(duì)于剛剛完成兩年大學(xué)公共基礎(chǔ)課和專業(yè)基礎(chǔ)課教育的學(xué)生來講,軟件開發(fā)的基礎(chǔ)理論和概念仍然匱乏,與軟件工程相關(guān)的前期課程前后脫節(jié)。尤其在計(jì)算機(jī)科學(xué)專業(yè)課程設(shè)置中,只有一學(xué)期的必修的軟件工程課,在這么有限的時(shí)間內(nèi)學(xué)生很難掌握軟件工程的理論與實(shí)踐的精髓,從而造成大多數(shù)學(xué)生認(rèn)為是在學(xué)習(xí)枯燥無用的理論。
1.2 理論和實(shí)踐的脫節(jié)
軟件工程是一門實(shí)踐性很強(qiáng)的課程。相比于其他的計(jì)算機(jī)學(xué)科的課程,軟件工程課程核心和精髓不可能從教師的授課和課本的理論學(xué)習(xí)而獲得,靠“死讀書,讀死書”是無法完成本課程的學(xué)習(xí)的,實(shí)踐和理解相結(jié)合的融會(huì)貫通非常重要。在實(shí)際軟件開發(fā)中真刀真槍的實(shí)現(xiàn),在練習(xí)中理解基本原理,在真正練的過程中提升理論的水平是軟件工程課程教學(xué)和實(shí)踐的有效方法。
1.3 重代碼,輕文檔
在軟件工程課程的教學(xué)中,大部分的學(xué)生甚至部分教師都會(huì)自然地認(rèn)為實(shí)現(xiàn)高效整齊的代碼是課程學(xué)習(xí)中最重要的工作,對(duì)于文檔工作未有足夠的重視。在實(shí)際軟件開發(fā)的工程實(shí)踐中,一般認(rèn)為代碼的工作量只占到整個(gè)工程工作量的30%左右,完整、有效的各種文檔,包括設(shè)計(jì)文檔、算法文檔、說明文檔、維護(hù)文檔等是整個(gè)軟件工程核心。因而在軟件工程的教學(xué)中,我們必須轉(zhuǎn)變觀念,突出工程文檔的重要性,將各種統(tǒng)一、標(biāo)準(zhǔn)、高效和實(shí)用的文檔設(shè)計(jì)和撰寫方案融匯到課程的教學(xué)中,并且與軟件工程理論和代碼編寫結(jié)合,形成完整的的理論、算法、代碼和文檔并重的教學(xué)新方法。
1.4 缺乏軟件工程知識(shí)體系的系統(tǒng)概念
商用和實(shí)際應(yīng)用軟件開發(fā)的工作是系統(tǒng)的團(tuán)隊(duì)工作模式,單打獨(dú)斗無法完成商業(yè)和實(shí)用軟件開發(fā)。然而,現(xiàn)在軟件工程的教學(xué)中,教師和學(xué)生注重的是單個(gè)原理和系統(tǒng)的學(xué)習(xí),從而造成了學(xué)生軟件編程風(fēng)格五花八門,程序可讀性差,軟件工程的完整知識(shí)體系混亂。團(tuán)隊(duì)工作的模式要求程序員在整個(gè)工程中需要承擔(dān)不同的角色,不同的角色承擔(dān)的任務(wù)不同,又同時(shí)需要與其他的角色互相配合溝通,從而完成整個(gè)工程的開發(fā)。這一點(diǎn),在目前軟件工程的教學(xué)中非常缺乏,為此我們需要建立系統(tǒng)的概念,將角色體驗(yàn)的模式引入軟件工程課程教學(xué)中。
在參考文獻(xiàn)④中,Nurkkala和Brandle對(duì)軟件工程教學(xué)進(jìn)行了分析,并對(duì)現(xiàn)行軟件工程教學(xué)方法中存在的問題進(jìn)行了總結(jié):(1)沒有產(chǎn)品——學(xué)生在學(xué)習(xí)中僅僅是創(chuàng)建項(xiàng)目,而并非真正地開發(fā)商業(yè)級(jí)別的產(chǎn)品;(2)持續(xù)時(shí)間短——通常軟件工程課程只安排一或兩個(gè)學(xué)期,課程受限于時(shí)間過短很難真正理解軟件工程的方法、原理等在實(shí)際軟件工程項(xiàng)目中如何應(yīng)用,并完成開發(fā)真正的產(chǎn)品;(3)高流動(dòng)性——對(duì)于一個(gè)項(xiàng)目來講,每個(gè)學(xué)期都有新學(xué)生加入意味著人才庫(kù)始終只有很少的人,新加入的學(xué)生很難基于之前的經(jīng)驗(yàn)開發(fā)其自身的技能;(4)低復(fù)雜性——由于學(xué)習(xí)必需時(shí)間以及學(xué)生本身技能的限制,只能開發(fā)簡(jiǎn)單的應(yīng)用;(5)無法維護(hù)——作為持續(xù)時(shí)間過短結(jié)果,學(xué)生沒法經(jīng)歷軟件開發(fā)非常重要的一個(gè)方面,即系統(tǒng)維護(hù)階段;(6)沒有客戶——學(xué)習(xí)過程中,大多數(shù)軟件工程項(xiàng)目都沒有真正的與客戶進(jìn)行接觸,而實(shí)際的開發(fā)中必須要了解客戶的需求,根據(jù)客戶的需求進(jìn)行軟件開發(fā)。
綜合上述分析,我們深入調(diào)研了現(xiàn)行軟件工程課程教學(xué)的困難和挑戰(zhàn),分析了國(guó)內(nèi)外報(bào)道的先進(jìn)的軟件工程課程教學(xué)的新方法,結(jié)合我們幾年來課堂教學(xué)的經(jīng)驗(yàn)大膽改革課程體系框架和教學(xué)內(nèi)容,積極探索案例教學(xué)和實(shí)踐教學(xué)模式,提出了角色體驗(yàn)和工程文檔應(yīng)用于軟件工程教學(xué)的新方法和新思路。我們強(qiáng)調(diào)建立理論與實(shí)踐相結(jié)合的軟件工程知識(shí)體系,采用任務(wù)驅(qū)動(dòng)的角色體驗(yàn)方法,加強(qiáng)學(xué)生協(xié)同分工和集成創(chuàng)新能力;突出強(qiáng)調(diào)工程文檔在軟件工程應(yīng)用開發(fā)生命周期的重要作用,建立軟件工程中規(guī)范化的任務(wù)、知識(shí)體系和實(shí)施培訓(xùn)的流程。
本文第二部分將介紹目前報(bào)道的國(guó)內(nèi)外軟件工程教學(xué)的有效方法,第三部分介紹我們探索的引入角色體驗(yàn)和工程文檔的軟件工程教學(xué)新思路,第四部分進(jìn)行總結(jié)。
2 國(guó)內(nèi)外現(xiàn)行有效軟件工程教學(xué)方法
為了解決以上提到的軟件工程教學(xué)中存在的不足,目前,國(guó)內(nèi)外已經(jīng)提出了多種教學(xué)方法來改進(jìn)軟件工程課程教學(xué)。范銳⑤等人提出了基于“做中學(xué)”的教學(xué)理念的“項(xiàng)目驅(qū)動(dòng)、案例教學(xué)”的軟件工程教學(xué)模式,其教學(xué)理念認(rèn)為軟件工程教學(xué)不能單純依靠理論講解,強(qiáng)調(diào)實(shí)踐對(duì)于軟件工程教學(xué)的重要性,在學(xué)生的實(shí)踐過程中,采用項(xiàng)目團(tuán)隊(duì)方式進(jìn)行項(xiàng)目開發(fā),學(xué)生分組分工,明確每個(gè)人所承擔(dān)的職責(zé),以此培養(yǎng)團(tuán)隊(duì)意識(shí)?!绊?xiàng)目驅(qū)動(dòng)”的教學(xué)方式,將整個(gè)軟件工程教學(xué)過程包含于一個(gè)完整的項(xiàng)目之中,學(xué)生通過完成項(xiàng)目學(xué)習(xí)和掌握軟件工程的包含的知識(shí),實(shí)現(xiàn)對(duì)知識(shí)的掌握和應(yīng)用。
陳建國(guó)⑥等人針對(duì)傳統(tǒng)以教師為主的軟件工程教學(xué)方法提出了改進(jìn),在傳統(tǒng)的軟件工程教學(xué)中引入了集體工作、實(shí)驗(yàn)、案例學(xué)習(xí)、合作教育相結(jié)合的軟件工程教學(xué)方法,詳細(xì)地論述了這四部分對(duì)軟件工程教學(xué)作用以及對(duì)學(xué)生掌握軟件工程方法的幫助。采用了合作教育的方式,學(xué)校和企業(yè)合作為學(xué)生提供真正的商業(yè)軟件開發(fā)的機(jī)會(huì),增強(qiáng)學(xué)生理論與實(shí)際的聯(lián)系,使得軟件工程教學(xué)中的項(xiàng)目管理、軟件過程、質(zhì)量保證等不再那么抽象難于理解。
近年,國(guó)外對(duì)于軟件工程教學(xué)方法中存在的不足提出了不少有效學(xué)習(xí)方法,其中相當(dāng)一部分方法著重強(qiáng)調(diào)了協(xié)同工作⑦⑧⑨在軟件工程教學(xué)中的重要作用,在教學(xué)中分成多個(gè)小組,使學(xué)生加入其中,這些小組的組織結(jié)構(gòu)與組內(nèi)分工與實(shí)際的項(xiàng)目開發(fā)小組完全相同,這樣學(xué)生在學(xué)習(xí)的過程中完全按照實(shí)際的工程開發(fā)的需要進(jìn)行學(xué)習(xí),使得學(xué)生學(xué)習(xí)中能充分掌握軟件工程的方法、原則等的實(shí)際應(yīng)用。此外,還提出了一些其他軟件工程教學(xué)的有效教學(xué)方法,如使用Liu⑩形式化方法教學(xué);Deveaux豘等提出專注于軟件開發(fā)過程中的文檔,Deveaux認(rèn)為在教學(xué)中很難獲得實(shí)際的足夠大具有開發(fā)意義的項(xiàng)目,而文檔的學(xué)習(xí)卻可以使學(xué)生充分了解軟件工程項(xiàng)目的基本原則,方法等內(nèi)容;Li豙則成功地將統(tǒng)一過程方法應(yīng)用于實(shí)際的教學(xué)當(dāng)中;Pandey豛在教學(xué)中使用競(jìng)爭(zhēng)的方法教授學(xué)生開發(fā)原則;更有一些在軟件工程的教學(xué)中采用游戲的方法,豜使學(xué)生充當(dāng)游戲中項(xiàng)目小組的項(xiàng)目經(jīng)理的角色來學(xué)習(xí)軟件工程。Scott豝等人在本科生的軟件工程教育中采用了開源工具,并將之整合到軟件工程課程中,通過學(xué)生的反饋對(duì)比,表明此種方法獲得了很好的效果。
3 角色體驗(yàn)與工程文檔結(jié)合的軟件工程教學(xué)方法
3.1 國(guó)內(nèi)軟件工程教學(xué)現(xiàn)狀
在實(shí)際的課程教學(xué)中,運(yùn)用了案例開發(fā),與企業(yè)合作等方法,并結(jié)合國(guó)內(nèi)外其他一些有效的軟件工程教學(xué)法后,我們發(fā)現(xiàn)學(xué)生在有限的時(shí)間內(nèi)所能理解的軟件工程知識(shí)相當(dāng)有限。在對(duì)計(jì)算機(jī)科學(xué)專業(yè)的學(xué)生進(jìn)行調(diào)查時(shí),我們發(fā)現(xiàn)大約80%學(xué)生對(duì)大三進(jìn)行的軟件工程課程沒什么興趣。他們認(rèn)為那只是枯燥的理論課學(xué)習(xí)和繁瑣的文檔編寫。在前兩年專業(yè)基礎(chǔ)課學(xué)習(xí)中,他們幾乎沒有接觸到文檔編寫,大部分項(xiàng)目的完成都是在草稿紙上設(shè)計(jì)然后直接進(jìn)入程序編寫階段。他們認(rèn)為這樣可以一步到位,省去很多繁瑣的細(xì)節(jié)。當(dāng)然,正如我們前面提到,在本科教學(xué)中,學(xué)生在課堂上能實(shí)現(xiàn)的項(xiàng)目只能是中小型項(xiàng)目,復(fù)雜性低。學(xué)生無法感受到缺乏軟件工程流程中首要的基礎(chǔ)工作而可能造成的困難和嚴(yán)重的后果,所以學(xué)生們大多認(rèn)為寫各種各樣的文檔是在浪費(fèi)時(shí)間。而對(duì)于教師來說,到大三軟件工程課時(shí),在沒有大型項(xiàng)目做支持的情況下,再教導(dǎo)學(xué)生編寫文檔的重要性,似乎沒有說服力,也很難扭轉(zhuǎn)學(xué)生已經(jīng)形成的直接編程的習(xí)慣。所以在計(jì)算機(jī)學(xué)科的學(xué)習(xí)中,我們大膽改革教育的方式并修訂了階段性的培養(yǎng)目標(biāo),形成一種潛移默化提升學(xué)生綜合能力和水平的模式。在本科生進(jìn)入大專院校就讀后,計(jì)算機(jī)專業(yè)課程,尤其是編程課程的項(xiàng)目設(shè)計(jì)上需盡早地讓學(xué)生接觸到軟件工程知識(shí)的基本概念和方法。從大一專業(yè)課開始,學(xué)生們就需要開始完成簡(jiǎn)單的項(xiàng)目。如果教師們可以從一開始就讓他們了解到軟件工程的生命周期,接觸到軟件工程流程中的各個(gè)步驟,從簡(jiǎn)單到復(fù)雜地進(jìn)行實(shí)踐,到大三的軟件工程課時(shí)他們就會(huì)對(duì)這些知識(shí)已經(jīng)有所了解,并不會(huì)感覺到枯燥,因?yàn)樵谇皟赡甑膶W(xué)習(xí)中他們一直都使用這些方法,已經(jīng)養(yǎng)成了良好的軟件工程的習(xí)慣。
3.2 基于文檔撰寫的潛移默化式教學(xué)法
我們經(jīng)常只會(huì)在軟件開發(fā)或維護(hù)過程出現(xiàn)問題時(shí)才意識(shí)到那些被忽略的文檔的重要性。在我們的調(diào)查中,軟件工程師們大約有60%以上都認(rèn)為自己的文檔的編寫能力只是一般,有些甚至不會(huì)撰寫文檔(見表1)。很多工程師在學(xué)校并沒有受到專業(yè)的訓(xùn)練,只有到工作中才開始慢慢學(xué)習(xí)與實(shí)踐,但是經(jīng)常由于時(shí)間有限,項(xiàng)目截止日期逼近而只好疏于對(duì)文檔的編寫或是只能犧牲其質(zhì)量。如果我們?cè)诒究平虒W(xué)中盡早地讓學(xué)生接觸到各類文檔,在撰寫項(xiàng)目文檔的過程中,學(xué)生不但能學(xué)習(xí)到軟件工程的流程,也能把撰寫文檔的技能鍛煉熟練,更重要的是他們會(huì)漸漸地把文檔的撰寫與管理當(dāng)成一種習(xí)慣,當(dāng)成一種必須。這樣,無論是大型項(xiàng)目還是小規(guī)模項(xiàng)目,他們都會(huì)用一定的軟件工程流程來完成。一開始的小項(xiàng)目中,也許他們并不能理解為什么要撰寫那么多文檔,但當(dāng)他們到高年級(jí)創(chuàng)建相對(duì)復(fù)雜的項(xiàng)目時(shí)就能體會(huì)到文檔的好處。他們就能領(lǐng)會(huì),計(jì)算機(jī)軟件并不只是程序,還應(yīng)該有一整套文檔資料。這些資料都是在開發(fā)過程中產(chǎn)生出來的,對(duì)軟件管理人員,開發(fā)人員,維護(hù)人員,測(cè)試人員,客戶,包括程序員自己都是必不可少的。那么如何開始這種潛移默化式教學(xué)法呢?教師們要對(duì)所有四年的專業(yè)課程進(jìn)行分析,總結(jié)出需要參加這個(gè)軟件工程教學(xué)計(jì)劃課程和項(xiàng)目。加入到這個(gè)計(jì)劃里的課程教師要設(shè)計(jì)符合這個(gè)計(jì)劃的項(xiàng)目,并將文檔撰寫作為對(duì)學(xué)生必須的要求。在整個(gè)計(jì)劃中,建議提供一套完整統(tǒng)一的各類文檔的模板以供學(xué)生們使用,包括軟件需求說明書,軟件設(shè)計(jì)說明書,軟件測(cè)試說明書,項(xiàng)目開發(fā)計(jì)劃書等。這些模板要一致,學(xué)生在所有課程中要使用一致的模板,由簡(jiǎn)化版到完整版,低年級(jí)的學(xué)生先使用簡(jiǎn)化版的模板,讓他們漸漸地學(xué)習(xí)撰寫文檔。比如一年級(jí)的項(xiàng)目可以只要求寫軟件需求說明書。在模板的設(shè)計(jì)中,最好是和企業(yè)界運(yùn)用的文檔保持一致,然后進(jìn)行簡(jiǎn)化,給學(xué)生提供一種他們可以勝任的文檔模板,然后逐年增加內(nèi)容,最終可以與業(yè)界使用的文檔保持一致。這個(gè)計(jì)劃的實(shí)施需要得到計(jì)劃內(nèi)課程教師們的認(rèn)同,通力合作,把學(xué)生四年的學(xué)習(xí)列入計(jì)劃,并隨時(shí)進(jìn)行監(jiān)督。經(jīng)過四年的訓(xùn)練,學(xué)生的寫作能力一定能得到大幅度提高,對(duì)軟件工程的認(rèn)識(shí)也會(huì)非常深入,畢業(yè)后能夠勝任商業(yè)軟件和應(yīng)用軟件的開發(fā)要求。
3.3 基于角色體驗(yàn)的軟件工程課程教學(xué)法
上面提到的文檔式教學(xué)法是為了訓(xùn)練學(xué)生創(chuàng)建各類軟件工程文檔的能力。在課堂項(xiàng)目中,由于時(shí)間有限,一個(gè)學(xué)生往往不可能完成整套文檔的撰寫。在低年級(jí)階段,在小型或中型項(xiàng)目中,學(xué)生學(xué)習(xí)了軟件需求和軟件設(shè)計(jì)文檔,學(xué)生應(yīng)該可以單獨(dú)完成。但當(dāng)項(xiàng)目變得相對(duì)復(fù)雜,大多課程項(xiàng)目都是以團(tuán)隊(duì)合作的形式來完成。教師通常知道哪些同學(xué)組成一個(gè)團(tuán)隊(duì),但并不清楚或關(guān)心這些同學(xué)在項(xiàng)目組里擔(dān)任的角色。這樣,在四年的學(xué)習(xí)中,有些同學(xué)在項(xiàng)目組里只保持著一種角色,如只擔(dān)任了程序員或測(cè)試員,并沒有機(jī)會(huì)對(duì)各個(gè)相應(yīng)的角色進(jìn)行體驗(yàn),導(dǎo)致他們知識(shí)的不全面。與文檔教學(xué)法相結(jié)合,我們提出一種叫做角色體驗(yàn)的教學(xué)法,和文檔式教學(xué)法同步進(jìn)行,一同潛移默化地將軟件工程知識(shí)注入學(xué)生腦海。所有加入計(jì)劃的課程要統(tǒng)一安排項(xiàng)目組成員,目的是讓每個(gè)學(xué)生在這些課程項(xiàng)目完成的過程中能體驗(yàn)所有的軟件工程角色,并完成這一角色相對(duì)應(yīng)的文檔。這樣不但訓(xùn)練了每個(gè)學(xué)生各種文檔的寫法,讓學(xué)生了解了軟件工程生命周期整個(gè)團(tuán)隊(duì)要進(jìn)行的工作,而且鍛煉了學(xué)生互相合作的團(tuán)隊(duì)精神,避免學(xué)生在團(tuán)隊(duì)中只依賴于幾個(gè)學(xué)習(xí)相對(duì)比較優(yōu)秀的學(xué)生來完成項(xiàng)目。假設(shè)我們要訓(xùn)練學(xué)生四個(gè)角色:項(xiàng)目經(jīng)理,系統(tǒng)分析設(shè)計(jì)師,程序工程師,和測(cè)試工程師,我們需要至少四門課程加入此計(jì)劃。如圖-1所示,四個(gè)學(xué)生分為一個(gè)項(xiàng)目組,經(jīng)過這四門課程項(xiàng)目的訓(xùn)練,他們可以完成這四個(gè)角色的訓(xùn)練,學(xué)會(huì)四種文檔的撰寫,體驗(yàn)各個(gè)角色在軟件工程流程中的職責(zé)。如果要增加角色和文檔種類的話,可以適當(dāng)調(diào)整學(xué)生團(tuán)隊(duì)組員數(shù)目與職責(zé)。經(jīng)過這樣的訓(xùn)練,學(xué)生對(duì)團(tuán)隊(duì)合作一定會(huì)有更加深入的認(rèn)識(shí),也能提高隊(duì)員的溝通能力,以改善畢業(yè)生在企業(yè)界缺乏溝通能力的現(xiàn)狀。
經(jīng)過四年的文檔與角色的潛移默化式訓(xùn)練,一定能大幅提高學(xué)生的軟件工程能力。相比單純的一到兩門軟件工程課程,學(xué)生對(duì)軟件工程的理解要深入得多,實(shí)踐能力也會(huì)大幅度提高。由于計(jì)算機(jī)科學(xué)專業(yè)課程設(shè)置并不像軟件工程專業(yè)對(duì)軟件工程的教學(xué)那么有針對(duì)性而且課時(shí)較少,所以這種方法尤其適合計(jì)算機(jī)專業(yè)的教學(xué)。
地方性高校培養(yǎng)應(yīng)用型人才,需要了解市場(chǎng)發(fā)展的導(dǎo)向,社會(huì)行業(yè)對(duì)人才的需求,以及著眼特色辦學(xué)的核心競(jìng)爭(zhēng)力,實(shí)現(xiàn)自身的發(fā)展[1-2]。軟件產(chǎn)業(yè)發(fā)展已經(jīng)被國(guó)家提到戰(zhàn)略的高度,為了配合其快速的推進(jìn),我國(guó)高校也正在擴(kuò)大培養(yǎng)軟件工程方面的專業(yè)人才的規(guī)模。軟件工程專業(yè)論文是2002年國(guó)家教育部新增專業(yè)[3],該專業(yè)主要以培養(yǎng)軟件工程專門人才為目標(biāo)。我校軟件工程專業(yè)由教育部于2015年批準(zhǔn)的新專業(yè),起源于我院計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)軟件技術(shù)方向。
徐州工程學(xué)院作為新興的地方性高校,在軟件工程專業(yè)建設(shè)方面,不僅需要學(xué)習(xí)和借鑒重點(diǎn)大學(xué)、國(guó)家示范性軟件學(xué)院的經(jīng)驗(yàn)和做法,更重要的是結(jié)合地方院校的特點(diǎn)和實(shí)際情況,辦出特色。因此,應(yīng)用型人才培養(yǎng)體系的建成,應(yīng)該直接為當(dāng)?shù)亟?jīng)濟(jì)建設(shè)和社會(huì)發(fā)展服務(wù),適用面廣、實(shí)用性強(qiáng),具有鮮明特色。本文主要闡述以工程教育認(rèn)證質(zhì)量評(píng)價(jià)機(jī)制為指導(dǎo)的徐州工程學(xué)院軟件工程專業(yè)在理論和實(shí)踐方面的培養(yǎng)體系。
2 市場(chǎng)調(diào)研
為了制定針對(duì)性的培養(yǎng)模式,首先組織一些學(xué)科教授和骨干教師,對(duì)軟件工程專業(yè)的就業(yè)形勢(shì)、市場(chǎng)需求等進(jìn)行為期2個(gè)多月的市場(chǎng)調(diào)研,調(diào)研對(duì)象包括國(guó)有大中型企業(yè)、私營(yíng)與股份制等公司的負(fù)責(zé)人和技術(shù)骨干。本次調(diào)研內(nèi)容包括實(shí)地參觀學(xué)習(xí)、與企業(yè)召開研討會(huì),并向企業(yè)發(fā)放調(diào)查問卷表500份,收集有效調(diào)查表437份。
通過這次調(diào)研,總結(jié)軟件工程專業(yè)的市場(chǎng)需求、人才結(jié)構(gòu)和素質(zhì)要求、企業(yè)技能標(biāo)準(zhǔn)等信息,發(fā)現(xiàn)軟件工程技術(shù)人才奇缺,涉及很多方面,主要原因是大部分高校計(jì)算機(jī)專業(yè)不注重應(yīng)用型軟件人才的培養(yǎng),學(xué)生畢業(yè)后面臨的是二次學(xué)習(xí)的困境。因此,對(duì)學(xué)生的培養(yǎng)不僅需要完整性的實(shí)訓(xùn)鍛煉、強(qiáng)調(diào)企業(yè)項(xiàng)目經(jīng)驗(yàn)、注重培養(yǎng)學(xué)生的分析與解決問題的能力,更需要注重團(tuán)隊(duì)合作意識(shí);在課程設(shè)置方面應(yīng)該與企業(yè)長(zhǎng)期合作,開設(shè)企業(yè)實(shí)用的技術(shù)課程和職業(yè)綜合素質(zhì)的內(nèi)容。
3 軟件工程專業(yè)應(yīng)用型人才培養(yǎng)模式
軟件工程專業(yè)強(qiáng)調(diào)軟件開發(fā)的系統(tǒng)和工程性,培養(yǎng)能夠從事軟件開發(fā)、測(cè)試、維護(hù)和軟件項(xiàng)目管理的高級(jí)專門人才[4]。軟件工程專業(yè)沿用徐州工程學(xué)院計(jì)算機(jī)專業(yè)“3+1”培養(yǎng)模式,具體模式為學(xué)生在前三年完成通識(shí)課程、專業(yè)課程的學(xué)習(xí),以及課程基本實(shí)訓(xùn),最后一年在企業(yè)完成項(xiàng)目級(jí)實(shí)訓(xùn)、職業(yè)訓(xùn)練和畢業(yè)設(shè)計(jì)。
表1所示為軟件工程專業(yè)課程構(gòu)成及學(xué)分分配匯總表。徐州工程學(xué)院軟件工程專業(yè)課程主要分為三大平臺(tái)。其中,通識(shí)類課程平臺(tái)包括通識(shí)必修課、通識(shí)選修課以及學(xué)科基礎(chǔ)課;專業(yè)課程平臺(tái)主要包括專業(yè)必修課和專業(yè)選修課。
知識(shí)支撐能力結(jié)構(gòu) 根據(jù)軟件工程專業(yè)的培養(yǎng)目標(biāo),確定課程知識(shí)支撐能力結(jié)構(gòu),如圖1所示。課程設(shè)置本質(zhì)上是為了培養(yǎng)學(xué)生能力的,因此,為了培養(yǎng)學(xué)生英語(yǔ)能力、熟知行業(yè)標(biāo)準(zhǔn)、管理能力以及創(chuàng)新意識(shí)等,設(shè)置學(xué)科基礎(chǔ)課、通識(shí)類課程以及專業(yè)課程、專業(yè)技術(shù)導(dǎo)論、講座等課程;為了培養(yǎng)持續(xù)學(xué)習(xí)、協(xié)作和項(xiàng)目分析等能力,設(shè)置軟件工程課程群、企業(yè)實(shí)訓(xùn)課程以及職業(yè)技能訓(xùn)練等課程。
理論知識(shí)體系結(jié)構(gòu) 軟件工程專業(yè)理論知識(shí)體系結(jié)構(gòu)包括通識(shí)課程群、學(xué)科基礎(chǔ)群、專業(yè)課程群,其中專業(yè)課程群是核心課程。專業(yè)課程分為程序設(shè)計(jì)基礎(chǔ)知識(shí)、軟件開發(fā)技術(shù)知識(shí)、數(shù)據(jù)庫(kù)原理知識(shí)、計(jì)算機(jī)系統(tǒng)知識(shí)、軟件工程知識(shí)等5個(gè)子課程群。其中,程序設(shè)計(jì)基礎(chǔ)知識(shí)包括數(shù)據(jù)結(jié)構(gòu)、面向?qū)ο蟮某绦蛟O(shè)計(jì)(OOP);軟件開發(fā)技術(shù)知識(shí)包括Java Web方向課程群、移動(dòng)開發(fā)方向課程群等課程;數(shù)據(jù)庫(kù)原理知識(shí)包括數(shù)據(jù)庫(kù)原理及應(yīng)用;計(jì)算機(jī)系統(tǒng)知識(shí)包括計(jì)算機(jī)系統(tǒng)基礎(chǔ)、操作系統(tǒng)等課程;軟件工程知識(shí)包括軟件需求工程、軟件體系結(jié)構(gòu)設(shè)計(jì)、軟件質(zhì)量保證與測(cè)試、軟件項(xiàng)目管理。
實(shí)踐體系結(jié)構(gòu) 軟件工程專業(yè)實(shí)踐體系結(jié)構(gòu)如圖2所示,主要分為四個(gè)階梯:
1)個(gè)人級(jí)的實(shí)驗(yàn),主要由校內(nèi)教師進(jìn)行指導(dǎo),學(xué)生獨(dú)立完成課內(nèi)實(shí)踐環(huán)節(jié);
2)小組級(jí)的實(shí)驗(yàn),需要2~4個(gè)學(xué)生為一組,為完成程序設(shè)計(jì)、算法設(shè)計(jì)、面向?qū)ο蠹夹g(shù)開發(fā),通過溝通和相互協(xié)作完成,注重技能的訓(xùn)練;
3)項(xiàng)目級(jí)的實(shí)訓(xùn),主要由企業(yè)教師指導(dǎo),學(xué)生完成專業(yè)方向技能、軟件工程綜合訓(xùn)練;
4)企業(yè)級(jí)的實(shí)訓(xùn),為了檢驗(yàn)學(xué)生綜合能力,由學(xué)生獨(dú)立完成企業(yè)項(xiàng)目綜合訓(xùn)練、職業(yè)技能提高以及畢業(yè)設(shè)計(jì)。
為了加強(qiáng)校企合作培養(yǎng)的效果,每4~6個(gè)學(xué)生配備一位校內(nèi)指導(dǎo)教師和企業(yè)指導(dǎo)教師。校內(nèi)導(dǎo)師在學(xué)生入學(xué)后確定,主要任務(wù)是“學(xué)業(yè)綜合指導(dǎo)”;校外導(dǎo)師在學(xué)生入學(xué)后的3年內(nèi)確定,主要任務(wù)是“工程實(shí)踐指導(dǎo)”。學(xué)生在三年級(jí)初步確立畢業(yè)設(shè)計(jì)選題,由校內(nèi)導(dǎo)師和企業(yè)導(dǎo)師聯(lián)合進(jìn)行指導(dǎo)。
基于工程教育專業(yè)認(rèn)證的質(zhì)量評(píng)價(jià) 為了加強(qiáng)軟件工程專業(yè)的質(zhì)量評(píng)估,以工程教育專業(yè)認(rèn)證為指導(dǎo),建立針對(duì)整個(gè)培養(yǎng)過程的質(zhì)量監(jiān)控和完整有效的評(píng)價(jià)機(jī)制。在每個(gè)教學(xué)環(huán)節(jié),基于認(rèn)證標(biāo)準(zhǔn),明確質(zhì)量要求,定期進(jìn)行課程體系設(shè)置和教學(xué)質(zhì)量的評(píng)價(jià)。此外,在整個(gè)學(xué)習(xí)過程中對(duì)學(xué)生的表現(xiàn)進(jìn)行跟蹤與評(píng)估。
以上這些質(zhì)量評(píng)估措施,保證學(xué)生畢業(yè)時(shí)達(dá)到畢業(yè)要求,畢業(yè)后具有社會(huì)適應(yīng)能力與就業(yè)競(jìng)爭(zhēng)力;后期,畢業(yè)之后階段,仍然采用跟蹤反饋機(jī)制,通過記錄評(píng)價(jià)和效果,證明學(xué)生能力的達(dá)成,并逐步對(duì)培養(yǎng)模式進(jìn)行持續(xù)改進(jìn)。
很顯然,只有建立完善的質(zhì)量評(píng)估機(jī)制,才能保證按預(yù)期的目標(biāo)完成專業(yè)培養(yǎng)要求。因此,從地方性高校實(shí)際出發(fā),以工程教育專業(yè)認(rèn)證為質(zhì)量評(píng)價(jià)指導(dǎo),不斷完善培養(yǎng)模式,這樣才能培養(yǎng)卓越的學(xué)生,為企業(yè)持續(xù)不斷地吸引優(yōu)秀的生源。
4 總結(jié)
徐州工程學(xué)院作為一所以應(yīng)用型工科教育為主的地方本科院校,軟件工程專業(yè)應(yīng)用型人才的培養(yǎng)需要有別于高職高專的培養(yǎng)模式,需要更注重高層次應(yīng)用型技術(shù)人才的培養(yǎng);又要有別于傳統(tǒng)學(xué)術(shù)性高校“精英型”人才培養(yǎng)目標(biāo)、課程體系設(shè)置、教學(xué)模式以及師資要求等。
軟件工程專業(yè)培養(yǎng)標(biāo)準(zhǔn)最需要解決的問題是注重軟件工程宏觀意識(shí),培養(yǎng)持續(xù)學(xué)習(xí)能力、交流與溝通能力。鑒于此,本文提出以工程教育專業(yè)認(rèn)證為指導(dǎo),構(gòu)建軟件工程專業(yè)應(yīng)用型人才培養(yǎng)體系,以期為地方性高校軟件工程專業(yè)能夠培養(yǎng)更多卓越的軟件工程方面的人才提供一種方法和途徑。
參考文獻(xiàn)
[1]宋思運(yùn).應(yīng)用型本科人才培養(yǎng)模式的構(gòu)建[J].徐州工程學(xué)院學(xué)報(bào),2005,12(20):11-13.
[2]金忠明.我國(guó)高等教育發(fā)展質(zhì)量面臨的問題與分析[J].徐州工程學(xué)院學(xué)報(bào),2013,28(6):92-96.
關(guān)鍵詞:工程碩士;開放式教學(xué);課程組
中圖分類號(hào):G642文獻(xiàn)標(biāo)識(shí)碼:B
1引言
軟件學(xué)院軟件工程碩士的培養(yǎng)目標(biāo)是培養(yǎng)高層次、應(yīng)用型人才,針對(duì)這個(gè)目標(biāo),其教學(xué)實(shí)施應(yīng)著重體現(xiàn)出以下兩個(gè)差異性:
(1) 軟件工程學(xué)科領(lǐng)域和計(jì)算機(jī)學(xué)科領(lǐng)域間專業(yè)設(shè)置的差異性,這個(gè)差異應(yīng)能夠很好地體現(xiàn)培養(yǎng)應(yīng)用型人才的目的;
(2) 工程碩士課程和軟件學(xué)院本科課程的差異性,這個(gè)差異應(yīng)能夠很好地體現(xiàn)培養(yǎng)高層次人才的目的。
目前國(guó)內(nèi)軟件學(xué)院軟件工程學(xué)科和傳統(tǒng)的計(jì)算機(jī)科學(xué)學(xué)科在課程設(shè)置上差異還不顯著,工程碩士的培養(yǎng)方案中甚至部分課程只是本科階段的重復(fù)。雖然大都開始強(qiáng)調(diào)學(xué)生的軟件項(xiàng)目實(shí)踐,但普遍缺乏過程管理。本文在對(duì)IEEE的軟件工程知識(shí)體系進(jìn)行深入學(xué)習(xí)的基礎(chǔ)上,針對(duì)軟件學(xué)院軟件工程碩士提出了實(shí)現(xiàn)開放式教學(xué)體系的教學(xué)改革方案。
2軟件工程知識(shí)體系
2004版SWEBOK將整個(gè)軟件工程知識(shí)體系分為11個(gè)知識(shí)領(lǐng)域(Knowledge Area,KA),其中前5個(gè)知識(shí)領(lǐng)域是按軟件開發(fā)的生命期諸階段排列的,即軟件需求、軟件設(shè)計(jì)、軟件構(gòu)造、軟件測(cè)試和軟件維護(hù);后6個(gè)知識(shí)領(lǐng)域是軟件開發(fā)中的支撐性或者輔的方面,可能覆蓋軟件開發(fā)的多個(gè)階段,包括軟件配置管理、軟件工程管理、軟件工程過程、軟件工程工具與方法、軟件質(zhì)量、相關(guān)學(xué)科知識(shí)領(lǐng)域。這些知識(shí)領(lǐng)域SWEBOK并沒有重新系統(tǒng)規(guī)定,而是直接套用已經(jīng)成型的各領(lǐng)域知識(shí)體系,因此不可避免地存在重疊和不匹配。
在SWEBOK的基礎(chǔ)上,IEEE與ACM又共同擬定了CCSE。其中的核心部分是軟件工程教育知識(shí)(SEEK)。SEEK由十個(gè)知識(shí)領(lǐng)域組成,包括:計(jì)算機(jī)基礎(chǔ)(CMP)、數(shù)學(xué)和工程學(xué)基礎(chǔ)(FND)、職業(yè)實(shí)踐(PRF)、軟件建模與分析(MAA)、軟件設(shè)計(jì)(DES)、軟件驗(yàn)證(VAV)、軟件演化(EVL)、軟件過程(PRO)、軟件質(zhì)量(QUA)、軟件管理(MGT)。
可以看出,SEEK和SWEBOK基本內(nèi)容是相近的。總的來說,二者都是包含了軟件工程核心類的知識(shí)領(lǐng)域、基礎(chǔ)類或前導(dǎo)類的知識(shí)領(lǐng)域,以及其他相關(guān)領(lǐng)域的知識(shí)。
3高等教育教學(xué)改革研究狀況
目前國(guó)內(nèi)關(guān)于高等教育教學(xué)改革的論文很多,如翁敬農(nóng)、劉云等在軟件學(xué)院實(shí)踐教學(xué)體系的內(nèi)容與規(guī)劃中提出了“一個(gè)目標(biāo)”、“兩種途徑”、“三大環(huán)節(jié)”、以及“四級(jí)臺(tái)階”的具體步驟。王移芝、林艷琴提出基于“兩段教學(xué)”的計(jì)算機(jī)基礎(chǔ)課程的教學(xué)體系框架。謝芳清、閆大順提出了以素質(zhì)教育為目標(biāo)的實(shí)踐教學(xué)體系。王浩、胡學(xué)鋼等提出計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)實(shí)踐教學(xué)體系的總體研究與建設(shè)。王志英以國(guó)家實(shí)驗(yàn)教學(xué)示范中心為例,提出實(shí)踐是綜合能力培養(yǎng)的基礎(chǔ),并以此構(gòu)建計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)實(shí)踐教學(xué)體系。董瑋、邱建華等以專業(yè)課“程序設(shè)計(jì)基礎(chǔ)(C語(yǔ)言)”為例給出了建設(shè)實(shí)踐教學(xué)體系的實(shí)踐探索。然而目前還沒有檢索到專門研究軟件學(xué)院工程碩士教學(xué)改革的論文。無論是從傳統(tǒng)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)與軟件學(xué)院軟件工程專業(yè)的區(qū)別,還是本科生與研究生的區(qū)別來看,針對(duì)軟件學(xué)院工程碩士的教學(xué)改革研究都是十分有必要的,同時(shí)也是迫切的。
4工程碩士的課程體系設(shè)計(jì)策略
我們以IEEE SWEBOK和CC2004SE的知識(shí)體系為主體,結(jié)合中國(guó)軟件產(chǎn)業(yè)以及本院的具體實(shí)際情況,設(shè)計(jì)了中國(guó)科學(xué)技術(shù)大學(xué)軟件學(xué)院軟件工程專業(yè)的知識(shí)體系,作為我院工程碩士課程設(shè)置和教學(xué)計(jì)劃實(shí)施的依據(jù)。以SEEK為基礎(chǔ),我們對(duì)軟件工程的課程設(shè)置進(jìn)行規(guī)劃。整個(gè)課程設(shè)置可以分為三個(gè)層次,即導(dǎo)論性課程、軟件工程核心課程和其他課程。如圖1所示,該知識(shí)體系定義了7個(gè)知識(shí)體系子類。計(jì)算機(jī)基礎(chǔ)和數(shù)學(xué)和工程學(xué)基礎(chǔ)屬于導(dǎo)論性課程、其他課程包含了職業(yè)實(shí)踐、領(lǐng)域課程、軟件工具、工程實(shí)踐等四個(gè)子類。
其中計(jì)算機(jī)基礎(chǔ)定義了軟件工程作為計(jì)算學(xué)科所必需包含的計(jì)算科學(xué)基礎(chǔ)以支持軟件產(chǎn)品的設(shè)計(jì)與建設(shè);數(shù)學(xué)與工程學(xué)基礎(chǔ)提供了軟件產(chǎn)品獲得所需屬性的理論和科學(xué)基礎(chǔ);職業(yè)實(shí)踐則聚焦于軟件工程師以職業(yè)行為從事軟件工程實(shí)踐所必需具備的知識(shí)、技能和態(tài)度;軟件工程核心課程應(yīng)該包含軟件開發(fā)生命周期所涉及到的主要知識(shí)領(lǐng)域;領(lǐng)域課程包含了對(duì)于某個(gè)特定領(lǐng)域軟件工程師應(yīng)該接受的特定教育或經(jīng)驗(yàn);軟件工具定義了從事軟件工作所必需掌握的當(dāng)前主流工具與軟件產(chǎn)品等;工程實(shí)踐則是學(xué)生使用所學(xué)到的知識(shí)從事實(shí)際開發(fā)活動(dòng),提供動(dòng)手能力的重要環(huán)節(jié)。
對(duì)于工程碩士來說,大部分同學(xué)經(jīng)過計(jì)算機(jī)本科專業(yè)的學(xué)習(xí),已經(jīng)具備了初步的計(jì)算機(jī)基礎(chǔ)以及數(shù)學(xué)與工程學(xué)基礎(chǔ),因此目前其課程體系建設(shè)如圖2所示,重點(diǎn)是完成軟件工程核心課程教學(xué),并結(jié)合IT界的最新技術(shù)趨勢(shì)設(shè)計(jì)相關(guān)領(lǐng)域課程。教學(xué)改革的核心是如何設(shè)計(jì)軟件工程的核心課程,并指導(dǎo)學(xué)生熟練掌握相應(yīng)的軟件工具,強(qiáng)化他們的實(shí)踐動(dòng)手能力。
5工程碩士開放式教學(xué)體系建設(shè)
對(duì)于如何設(shè)計(jì)軟件工程的核心課程,我們的主要思路是打破原先各子知識(shí)體系間的界線,圍繞專業(yè)培養(yǎng)目標(biāo),結(jié)合學(xué)生的工程實(shí)踐,引入課程組的概念,實(shí)現(xiàn)一個(gè)完整的開放式教學(xué)體系。如圖3所示,整個(gè)開放式學(xué)習(xí)體系包含三個(gè)部分:
(1) 設(shè)計(jì)課程組:在理論環(huán)節(jié)采用課程組的概念,集中講授較高層次的、符合碩士生水平的軟件工程的某些重要環(huán)節(jié);
(2) 開設(shè)實(shí)踐教學(xué)環(huán)節(jié):在實(shí)踐教學(xué)中采用做中學(xué)(Learning by Doing或LBD)理念,由指導(dǎo)教師講述軟件工具的具體操作過程,同學(xué)實(shí)際動(dòng)手學(xué)習(xí);
(3) 強(qiáng)化工程實(shí)踐:在工程實(shí)踐中由學(xué)生自主選題,并將LBD中講述的工具在項(xiàng)目整個(gè)生命周期中貫穿使用。
5.1設(shè)計(jì) 課程組
目前我院開設(shè)的高級(jí)軟件工程和本科的軟件工程課程內(nèi)容并沒有太大差別,對(duì)于軟件工程的各個(gè)環(huán)節(jié)面面俱到,但又都比較淺顯,對(duì)于工程碩士的培養(yǎng)顯然是不合適的。因此我們?cè)O(shè)計(jì)了軟件工程課程組的理念,初步設(shè)計(jì)了以下課程:
(1)“軟件開發(fā)管理”(Managing Software Development)
(2)“軟件系統(tǒng)架構(gòu)”(Architectures for Software Systems)
第一門課程主要針對(duì)以后立志從事軟件工程管理方向的同學(xué),課程針對(duì)IT項(xiàng)目集中闡述如何實(shí)現(xiàn)風(fēng)險(xiǎn)、資金、工期等各方面的管理;第二門課程主要針對(duì)以后立志從事軟件高級(jí)開發(fā)方向的同學(xué),課程主要講述復(fù)雜軟件系統(tǒng)架構(gòu)層上的設(shè)計(jì),介紹目前通用的軟件系統(tǒng)結(jié)構(gòu)、設(shè)計(jì)技術(shù)以及實(shí)現(xiàn)這些結(jié)構(gòu)的模型、表述方法等。這兩門課程對(duì)于軟件工程碩士應(yīng)該至少必修一門。除了這兩門課程,其他軟件工程類的課程包括了設(shè)計(jì)模式、軟件測(cè)試、語(yǔ)言類課程如J2EE、.NET等等,學(xué)生可根據(jù)自己的實(shí)際情況進(jìn)行選修。
5.2開設(shè)實(shí)踐教學(xué)
針對(duì)該課程組,我們開設(shè)了實(shí)踐教學(xué)環(huán)節(jié),采用做中學(xué)理念,由指導(dǎo)教師(可以由助教擔(dān)任)根據(jù)事先確定的主題,選用具體工具講述如何使用該工具完成項(xiàng)目開發(fā)的某具體環(huán)節(jié),工具涵蓋了項(xiàng)目管理、架構(gòu)設(shè)計(jì)文檔化以及測(cè)試等軟件項(xiàng)目開發(fā)的主要方面。
對(duì)于軟件工具的選擇,有兩種思路。一種方法是對(duì)軟件工程的不同環(huán)節(jié)分別選擇不同工具,例如項(xiàng)目管理選Project、開發(fā)文檔化選Rational、測(cè)試再選別的工具這樣來做,但結(jié)構(gòu)分散,不利于整體化考慮。另一種是采用套件,完成項(xiàng)目開發(fā)全程的所有操作,目前我們選擇了兩種套件,一是微軟的VSTS,該套件和微軟的Visual Studio開發(fā)平臺(tái)綁定,適合學(xué)習(xí).net開發(fā)框架的同學(xué);另一種是IBM的RSA,該套件和Eclipse開發(fā)平臺(tái)綁定,適合選擇開源J2EE開發(fā)框架的同學(xué)。
5.3強(qiáng)化工程實(shí)踐
大多數(shù)的軟件學(xué)院目前都開設(shè)了專門的工程實(shí)踐環(huán)節(jié),但實(shí)際的效果并不盡如人意。因此我們將工程實(shí)踐環(huán)節(jié)也納入到開放式學(xué)習(xí)體系中,以前面所說的理論以及實(shí)踐教學(xué)環(huán)節(jié)來指導(dǎo)學(xué)生更好地高質(zhì)量完成整個(gè)工程實(shí)踐。
從教學(xué)方法上,工程實(shí)踐應(yīng)盡可能地貼近現(xiàn)實(shí)項(xiàng)目,除了常見的軟件工程文檔,我們還要求學(xué)生提交過程管理類文檔(軟件開發(fā)合同、會(huì)議記錄、工作日程記錄、合同執(zhí)行報(bào)告:財(cái)務(wù)報(bào)告和開發(fā)過程報(bào)告、個(gè)人總結(jié)、小組總結(jié)等)。
從技術(shù)上,學(xué)生可以自由選題,也可參考工程實(shí)踐題庫(kù)中的選題。選題涉及所有領(lǐng)域課程包含的內(nèi)容。要求學(xué)生必須采用實(shí)踐教學(xué)環(huán)節(jié)中介紹的工具全程介入項(xiàng)目開發(fā)的各個(gè)階段。學(xué)院設(shè)立專門的工程實(shí)踐網(wǎng)站提供學(xué)生選題及交流,以及指導(dǎo)教師的監(jiān)督。
從教學(xué)形式上,則注重如何實(shí)現(xiàn)應(yīng)用型軟件人才的核心能力分析與培養(yǎng),要求學(xué)生運(yùn)用職業(yè)實(shí)踐子知識(shí)體系中的相應(yīng)內(nèi)容,鍛煉學(xué)生的口頭表達(dá)能力、書面表達(dá)能力等。通過學(xué)生的開題演講、采用各種工具完成相應(yīng)的項(xiàng)目文檔、結(jié)題答辯等環(huán)節(jié)來實(shí)現(xiàn)學(xué)生職業(yè)素質(zhì)的培養(yǎng)。
從實(shí)踐效果評(píng)價(jià)上,我們制定了一系列的成績(jī)考核方法、管理考核信息、分析考核結(jié)果、評(píng)價(jià)教學(xué)質(zhì)量等措施,實(shí)現(xiàn)完整的考核體系。
6結(jié)論
軟件工程專業(yè)學(xué)生的培養(yǎng),在學(xué)科教育與培養(yǎng)面向市場(chǎng)需求的人才方面有著事實(shí)上的矛盾。軟件學(xué)院現(xiàn)有的實(shí)踐教學(xué)體系存在著專業(yè)課程設(shè)置定位不準(zhǔn)確、課程實(shí)驗(yàn)師資不足、實(shí)驗(yàn)教學(xué)內(nèi)容質(zhì)量不高、實(shí)驗(yàn)指導(dǎo)和管理落后等問題。根據(jù)軟件工程專業(yè)教學(xué)所面臨的挑戰(zhàn),在充分調(diào)研IEEE SWEBOK和CC2004SE知識(shí)體系的基礎(chǔ)上,針對(duì)軟件學(xué)院的工程碩士,我們提出了軟件工程碩士開放式教學(xué)體系的建設(shè),圍繞專業(yè)培養(yǎng)目標(biāo),結(jié)合學(xué)生的工程實(shí)踐,引入課程組的概念,制定了一套較為完整的開放式實(shí)踐教學(xué)實(shí)施計(jì)劃。
參考文獻(xiàn) :
[1] Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering [EB/OL]. [2004-08-25]. /ccse/SE2004Volume.pdf.
[2] 翁敬農(nóng),劉云. 北航軟件學(xué)院本科生實(shí)踐教學(xué)體系的研究與實(shí)踐[J]. 計(jì)算機(jī)教育,2007(11).
[3] 王移芝,林艷琴.“計(jì)算機(jī)基礎(chǔ)課程”實(shí)踐教學(xué)體系的研究與實(shí)踐[J]. 實(shí)踐教學(xué),2008(8).
[4] 謝芳清,閆大順. 計(jì)算機(jī)工程專業(yè)實(shí)踐教學(xué)體系的研究[J]. 中國(guó)科技信息,2008(9).
[5] 王浩,胡學(xué)鋼,侯,等. 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)實(shí)踐教學(xué)體系的研究與建設(shè)[J]. 計(jì)算機(jī)教育,2007(11).
對(duì)于軟件工程課程來說,為的是讓學(xué)生能夠了解軟件工程的相關(guān)知識(shí),進(jìn)一步學(xué)習(xí)有關(guān)軟件的開發(fā)技術(shù),從而達(dá)到優(yōu)化學(xué)習(xí)效果的目的。高校對(duì)軟件工程課程教學(xué)也提出了相關(guān)的建議與意見,表明學(xué)生既要對(duì)軟件工程的基本理論加以掌握,又需要借助基本理論知識(shí)去解決相關(guān)實(shí)際問題。軟件工程網(wǎng)絡(luò)課程的開展,為學(xué)生掌握軟件工程理論知識(shí)提供了有效途徑。但在實(shí)踐方面,軟件工程網(wǎng)絡(luò)課程也存在不足。例如,在網(wǎng)絡(luò)課程開展中,實(shí)際案例不充分,實(shí)踐性得不到很好的體現(xiàn),從而大大弱化了實(shí)踐教學(xué)目標(biāo)。為此,解決軟件工程網(wǎng)絡(luò)課程在實(shí)踐方面存在的不足便成為一項(xiàng)迫在眉睫的工作。
2.軟件工程網(wǎng)絡(luò)課程與IBM-Jazz平臺(tái)的有效整合分析
在上述分析中,我們認(rèn)識(shí)到軟件工程網(wǎng)絡(luò)課程的開展雖然能夠滿足學(xué)生的理論學(xué)習(xí)基本需求,但實(shí)踐環(huán)節(jié)較為薄弱。為此,大量學(xué)者提出將軟件工程網(wǎng)絡(luò)課程和IBM-Jazz平臺(tái)有效整合,實(shí)現(xiàn)理論+實(shí)踐的教學(xué)目標(biāo)。Jazz平臺(tái)是IBM推行的面向跨地域團(tuán)隊(duì)的下一代團(tuán)隊(duì)協(xié)作平臺(tái)。將該平臺(tái)應(yīng)用于軟件工程網(wǎng)絡(luò)課程開發(fā)中,能夠使以往軟件工程網(wǎng)絡(luò)課程在實(shí)踐方面的不足得到有效彌補(bǔ)。一方面,Jazz平臺(tái)對(duì)Web2.0技術(shù)充分支持,能夠構(gòu)建實(shí)時(shí)協(xié)作平臺(tái),從而便于師生在網(wǎng)絡(luò)課程中的溝通交流。另一方面,Jazz平臺(tái)支持軟件工程生命周期各個(gè)階段的任務(wù),可以使學(xué)生對(duì)軟件工程過程有系統(tǒng)且全面的理解及掌握。此外,Jazz平臺(tái)能夠?qū)γ艚蒈浖_發(fā)給予充分支持,從而為軟件工程網(wǎng)絡(luò)課程實(shí)踐教學(xué)的實(shí)現(xiàn)夯實(shí)基礎(chǔ)。
結(jié)合上述分析,筆者認(rèn)為,要想使軟件工程網(wǎng)絡(luò)課程與IBM-Jazz平臺(tái)實(shí)現(xiàn)有效整合,需要了解IBM-Jazz平臺(tái)的優(yōu)勢(shì),在針對(duì)學(xué)生完成軟件工程網(wǎng)絡(luò)課程中的理論知識(shí)的基礎(chǔ)上,積極開展工具培訓(xùn)授課,讓學(xué)生了解并掌握J(rèn)azz平臺(tái)相關(guān)培訓(xùn)教材以及教學(xué)資源,通過網(wǎng)絡(luò)指導(dǎo)學(xué)生正確、科學(xué)地使用相關(guān)工具,以此初步實(shí)現(xiàn)將IBM-Jazz平臺(tái)有效應(yīng)用到軟件工程網(wǎng)絡(luò)課程教學(xué)過程中。
3.相關(guān)實(shí)踐研究
軟件工程網(wǎng)絡(luò)課程教學(xué)過程中,對(duì)學(xué)生進(jìn)行實(shí)踐教學(xué)是尤為重要的一個(gè)環(huán)節(jié)。筆者認(rèn)為,在借助IBM-Jazz平臺(tái)的基礎(chǔ)上,需讓學(xué)生掌握的實(shí)踐內(nèi)容如下。
(1)基于實(shí)踐環(huán)節(jié),不脫離對(duì)理論知識(shí)的理解。也就是說,在實(shí)踐過程中,需要學(xué)生對(duì)軟件工程課程理論知識(shí)加深理解。例如,組織學(xué)生積極主動(dòng)參與小規(guī)模的軟件開發(fā)過程,讓學(xué)生在此期間借助所學(xué)理論知識(shí)加深對(duì)軟件開發(fā)過程活動(dòng)的理解,從而實(shí)現(xiàn)理論+實(shí)踐教學(xué)的完美結(jié)合。
(2)明確實(shí)踐項(xiàng)目,注重學(xué)生團(tuán)隊(duì)精神的培養(yǎng)?;谲浖こ叹W(wǎng)絡(luò)課程實(shí)踐環(huán)節(jié)的復(fù)雜性,需對(duì)實(shí)踐項(xiàng)目加以明確,并做好項(xiàng)目的分配,然后將項(xiàng)目小組作為中心,分析軟件系統(tǒng)的需求、測(cè)試等內(nèi)容。
(3)掌握相關(guān)工具應(yīng)用方法,提高學(xué)生解決問題的能力。既然要將IBM-Jazz平臺(tái)融入軟件工程網(wǎng)絡(luò)課程教學(xué)過程中,便需要學(xué)生充分掌握J(rèn)azz平臺(tái)的相關(guān)工具應(yīng)用方法,并引導(dǎo)學(xué)生在加強(qiáng)理論知識(shí)學(xué)習(xí)的基礎(chǔ)上,借助網(wǎng)絡(luò)實(shí)踐課程的開展,有效提高學(xué)生解決問題的能力。
4.結(jié)語(yǔ)
關(guān)鍵詞:軟件工程;項(xiàng)目教學(xué)法;改革與實(shí)踐
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B
軟件工程是計(jì)算機(jī)科學(xué)與技術(shù)及相關(guān)專業(yè)教學(xué)計(jì)劃中一門重要的專業(yè)必修課,是指導(dǎo)計(jì)算機(jī)軟件開發(fā)與維護(hù)的一門綜合性課程,是一門實(shí)踐性很強(qiáng)的課程,各高校的計(jì)算機(jī)專業(yè)均開設(shè)這門課程。通過本課程的學(xué)習(xí),使學(xué)生了解和掌握軟件工程開發(fā)的技術(shù)和方法,具備作為軟件工程師所需的專業(yè)能力,為從事計(jì)算機(jī)軟件開發(fā)和維護(hù)提供方法上的指導(dǎo)。同時(shí),軟件工程的研究除計(jì)算機(jī)軟件本身外,還涉及眾多其他的領(lǐng)域,如管理科學(xué)、心理學(xué)、經(jīng)濟(jì)學(xué)、人機(jī)工程學(xué)等,因此,它也是一門綜合性學(xué)科。進(jìn)入新世紀(jì),軟件工程已經(jīng)由最初的一個(gè)學(xué)科方向發(fā)展成為以計(jì)算機(jī)科學(xué)技術(shù)為基礎(chǔ)的多學(xué)科交叉學(xué)科,在當(dāng)今的信息社會(huì)中占有重要地位。如何組織好軟件工程實(shí)驗(yàn)性教學(xué),對(duì)于培養(yǎng)創(chuàng)新型合格的軟件人才具有十分重要的意義。
1軟件工程教學(xué)存在的問題
長(zhǎng)期以來,我們培養(yǎng)的計(jì)算機(jī)專業(yè)的學(xué)生存在著“什么都學(xué)過,卻什么都不會(huì)”的尷尬局面,專業(yè)教育、教材與應(yīng)用需求嚴(yán)重脫節(jié)。事實(shí)上,學(xué)生就業(yè)難并不是就業(yè)市場(chǎng)不需要計(jì)算機(jī)人才,其根源還是計(jì)算機(jī)教學(xué)的現(xiàn)狀所致。傳統(tǒng)的“軟件工程”課程雖然有實(shí)驗(yàn)教學(xué)的要求,但一般只是停留在組織學(xué)生編寫軟件項(xiàng)目若干設(shè)計(jì)文檔這個(gè)單一環(huán)節(jié)上。然而,由于教育過早和長(zhǎng)期的文理分家,導(dǎo)致理工科學(xué)生的文檔編寫是個(gè)“軟肋”,他們也不感興趣。此外,由于教學(xué)時(shí)間有限,要真正完成軟件工程各階段文檔的編寫,事實(shí)上也沒有可能。今天,軟件工程教學(xué)還面臨著計(jì)算機(jī)學(xué)科發(fā)展規(guī)范所提出的更高的質(zhì)量要求,同時(shí)也面臨著大眾化高等教育背景下所帶來的客觀問題。
因此,迫切需要對(duì)軟件工程課程的教學(xué)體系進(jìn)行工程化改造,逐步建立工程化實(shí)踐教學(xué)體系,著力培養(yǎng)學(xué)生的工程化開發(fā)能力和職業(yè)素質(zhì),進(jìn)而形成一個(gè)融基礎(chǔ)理論、實(shí)驗(yàn)教學(xué)、工程實(shí)踐為一體的整體化培養(yǎng)機(jī)制,讓學(xué)生的基礎(chǔ)知識(shí)、科學(xué)素養(yǎng)、專業(yè)知識(shí)、創(chuàng)新能力、工程能力和職業(yè)素質(zhì)都得到全面均衡的發(fā)展。
2軟件工程項(xiàng)目教學(xué)法的改革與實(shí)踐
軟件工程強(qiáng)調(diào)采用工程化的方式開發(fā)和設(shè)計(jì)軟件,要求培養(yǎng)學(xué)生能勝任研究、分析、開發(fā)、設(shè)計(jì)、生產(chǎn)、測(cè)試、管理、咨詢、培訓(xùn)等多種角色,使學(xué)生熟練掌握軟件工程知識(shí)與技能,具備作為軟件工程師從事工程專業(yè)所需的專業(yè)能力。隨著高校擴(kuò)招,教學(xué)規(guī)模迅速發(fā)展,傳統(tǒng)的計(jì)算機(jī)教學(xué)模式在實(shí)踐環(huán)節(jié)上的缺乏與不足,直接影響了計(jì)算機(jī)課程的教育教學(xué)質(zhì)量,特別是對(duì)于像軟件工程這種綜合性、實(shí)踐性很強(qiáng)的課程,如果沒有一整套科學(xué)、合理的實(shí)驗(yàn)教學(xué)方法,就不可能培養(yǎng)出具有創(chuàng)新能力的合格人才。因此,切實(shí)加強(qiáng)軟件工程課程的創(chuàng)新與改革至關(guān)重要。
按該課程的特點(diǎn),實(shí)驗(yàn)內(nèi)容包括軟件開發(fā)的兩大方法學(xué)的專題訓(xùn)練,即結(jié)構(gòu)化(生命周期學(xué))的方法學(xué)和面向?qū)ο蟮姆椒▽W(xué),以平時(shí)實(shí)驗(yàn)和課程設(shè)計(jì)相結(jié)合,設(shè)置一些實(shí)驗(yàn)項(xiàng)目,要求學(xué)生利用結(jié)構(gòu)化軟件開發(fā)技術(shù)或面向?qū)ο蟮能浖_發(fā)技術(shù)完成對(duì)該項(xiàng)目的開發(fā)。以項(xiàng)目作為實(shí)驗(yàn)環(huán)節(jié)的主線,隨著課程進(jìn)展布置任務(wù),從項(xiàng)目開發(fā)的準(zhǔn)備工作、系統(tǒng)分析過程、系統(tǒng)設(shè)計(jì)過程、軟件測(cè)試到系統(tǒng)實(shí)施,結(jié)合所學(xué)習(xí)的理論知識(shí),完成項(xiàng)目的開發(fā)。同時(shí),依據(jù)國(guó)家《計(jì)算機(jī)軟件開發(fā)規(guī)范》,撰寫規(guī)范的技術(shù)文檔。因此,主要從以下幾個(gè)方面對(duì)軟件工程教學(xué)作了改革與創(chuàng)新的嘗試:
(1) 樹立工程化能力培養(yǎng)與基礎(chǔ)理論教學(xué)、專業(yè)能力培養(yǎng)并重的教學(xué)理念。
把工程化教學(xué)作為人才培養(yǎng)的核心任務(wù)之一,通過全面改革軟件工程專業(yè)的人才培養(yǎng)模式、調(diào)整課程體系、充實(shí)教學(xué)內(nèi)容、改進(jìn)教學(xué)方法,建立工程化實(shí)踐教學(xué)體系,在教學(xué)過程中全面體現(xiàn)工程化能力和職業(yè)素質(zhì)培養(yǎng)的思路,進(jìn)而形成了一個(gè)融基礎(chǔ)理論、實(shí)驗(yàn)教學(xué)、工程實(shí)踐為一體的整體化培養(yǎng)機(jī)制,讓學(xué)生各方面的能力都得到全面均衡的發(fā)展,以適應(yīng)現(xiàn)代軟件產(chǎn)業(yè)的需求。
(2) 設(shè)置工程化教學(xué)階段和企業(yè)實(shí)習(xí)階段。
把工程化素質(zhì)培養(yǎng)作為學(xué)生全培養(yǎng)期中自始至終關(guān)注的主線。在工程化教學(xué)階段,一方面獨(dú)立設(shè)置了多門以培養(yǎng)學(xué)生工程能力和職業(yè)素質(zhì)為主的學(xué)分課程;另一方面對(duì)操作系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)、多媒體技術(shù)等十多門傳統(tǒng)課程教學(xué)內(nèi)容進(jìn)行工程化改造,充實(shí)工程教學(xué)內(nèi)容,引入實(shí)作業(yè)。在企業(yè)實(shí)習(xí)階段,建立跨度為半年的全時(shí)制企業(yè)實(shí)習(xí)制度,在著名軟件企業(yè)中設(shè)立實(shí)習(xí)基地,通過真實(shí)的企業(yè)氛圍和開發(fā)環(huán)境,進(jìn)一步培養(yǎng)學(xué)生的工程能力和職業(yè)素質(zhì)。
(3) 實(shí)驗(yàn)課程以平時(shí)實(shí)驗(yàn)和課程設(shè)計(jì)相結(jié)合,設(shè)置一些綜合實(shí)驗(yàn)項(xiàng)目。
隨著課程進(jìn)展布置任務(wù),通過調(diào)查研究、可行性研究、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試、維護(hù)(版本升級(jí))及技術(shù)文檔的編寫,結(jié)合所學(xué)習(xí)的理論知識(shí),完成設(shè)計(jì)。實(shí)驗(yàn)內(nèi)容應(yīng)覆蓋軟件工程學(xué)科的各個(gè)主要環(huán)節(jié),覆蓋軟件生存周期的各個(gè)階段,使學(xué)生通過實(shí)驗(yàn)加深對(duì)學(xué)科理論知識(shí)的理解。但也要避免“喧賓奪主”,在積極發(fā)展實(shí)驗(yàn)教育的同時(shí),要保證必要的理論教學(xué)水平。必須充分重視和精心設(shè)計(jì)實(shí)驗(yàn)內(nèi)容,要有可操作性、趣味性和適當(dāng)?shù)碾y度??刹僮餍员WC學(xué)生都能完成實(shí)驗(yàn),從而促進(jìn)學(xué)生學(xué)習(xí)信心的建立,在一定程度上能減少學(xué)生抄襲的理由,克服實(shí)驗(yàn)數(shù)據(jù)普遍抄襲的弊病;趣味性體現(xiàn)“寓教于樂”,以提高學(xué)生完成實(shí)驗(yàn)的積極性;而適當(dāng)?shù)碾y度有助于激發(fā)優(yōu)秀學(xué)生進(jìn)一步鉆研的斗志。
項(xiàng)目來源為教師科研課題、實(shí)踐基地課題、校內(nèi)應(yīng)用課題和自選課題。選題的原則為:新穎、實(shí)用和規(guī)模適中。新穎代表計(jì)算機(jī)發(fā)展的主流技術(shù)和應(yīng)用范疇。實(shí)用代表所選題目一定是具體單位或用戶要求開發(fā)的,而不是由學(xué)生隨意杜撰和隨意想象的,其目的就是保證學(xué)生在軟件工程實(shí)踐過程有實(shí)際的場(chǎng)景環(huán)境(主要包括用戶、領(lǐng)域?qū)<液凸ぷ鳝h(huán)境),這對(duì)于高質(zhì)量的軟件工程實(shí)踐過程具有質(zhì)的保障。
(4) 軟件工程實(shí)驗(yàn)要求學(xué)生采用“項(xiàng)目小組”的形式,結(jié)合具體的開發(fā)項(xiàng)目進(jìn)行設(shè)計(jì),班級(jí)按項(xiàng)目小組進(jìn)行分組,每組不得超過4人。每個(gè)項(xiàng)目小組選出項(xiàng)目負(fù)責(zé)人或項(xiàng)目經(jīng)理,由其召集項(xiàng)目組成員討論、選定開發(fā)項(xiàng)目。
(5) 學(xué)生分工合作,學(xué)習(xí)軟件開發(fā)小組的組織和管理,將項(xiàng)目開發(fā)各階段的任務(wù)明確,熟悉軟件開發(fā)環(huán)境,培養(yǎng)團(tuán)隊(duì)精神,共同完成該項(xiàng)目的設(shè)計(jì)任務(wù)。項(xiàng)目中的每項(xiàng)任務(wù)要落實(shí)到個(gè)人,實(shí)驗(yàn)在規(guī)定的時(shí)間內(nèi),由學(xué)生獨(dú)立完成。學(xué)生在學(xué)校機(jī)房的機(jī)器應(yīng)固定下來,并安裝好相應(yīng)的軟件,沒有特殊情況不應(yīng)缺席。
(6) 配置開放的實(shí)驗(yàn)環(huán)境:實(shí)驗(yàn)環(huán)境是保證實(shí)驗(yàn)教學(xué)活動(dòng)和質(zhì)量的基本條件,對(duì)于軟件工程課程顯得尤為重要。
項(xiàng)目開發(fā)不是簡(jiǎn)單程序設(shè)計(jì),而是軟件工程全過程的綜合性實(shí)踐,應(yīng)該建立和配置相應(yīng)的軟件工程實(shí)驗(yàn)環(huán)境或?qū)嶒?yàn)中心。實(shí)驗(yàn)環(huán)境或?qū)嶒?yàn)中心的建設(shè)重點(diǎn)要放在軟件工程環(huán)境和自動(dòng)化開發(fā)工具的配置上。應(yīng)該清楚,高層次的實(shí)驗(yàn)環(huán)境應(yīng)是高素質(zhì)人才培養(yǎng)的物質(zhì)基礎(chǔ)。實(shí)驗(yàn)環(huán)境還應(yīng)該是開放性的,這有利于在學(xué)生實(shí)踐過程中建立一種項(xiàng)目開發(fā)、科學(xué)研究和創(chuàng)新思維的綜合效應(yīng)。
(7) 分組討論,集體交流
分組討論是項(xiàng)目教學(xué)中非常重要的環(huán)節(jié),本質(zhì)上是一種概念或想法的交流。圍繞項(xiàng)目的重點(diǎn),難點(diǎn),疑點(diǎn),進(jìn)行討論、辯論和爭(zhēng)論。每個(gè)學(xué)生可以自由的抒發(fā)己見、相互啟迪、互相借鑒,重點(diǎn)是想法的交流。要求每個(gè)學(xué)生簡(jiǎn)要介紹自己對(duì)軟件開發(fā)所做的分析設(shè)計(jì),并提出自己對(duì)該軟件開發(fā)流程的看法,供大家討論與切磋,可以按照項(xiàng)目中所提出的問題一個(gè)一個(gè)討論。在教師的引導(dǎo)下,讓學(xué)生進(jìn)行課堂發(fā)言,進(jìn)行全體學(xué)生的交流。本階段討論主要解決兩個(gè)問題:①小組討論沒有達(dá)成共識(shí)的問題;②按照教學(xué)目標(biāo),有意引導(dǎo)學(xué)生掌握軟件工程的生命周期法各階段所做的具體工作以及進(jìn)行相關(guān)工作的必要性。
為了使分組討論有效地開展,教師要做好充分的課前準(zhǔn)備。除了熟知項(xiàng)目陳述的事實(shí)、觀點(diǎn)外,還要諳知項(xiàng)目反映或蘊(yùn)涵的原理、規(guī)則等知識(shí),以便引導(dǎo)學(xué)生概括出來。要認(rèn)真學(xué)習(xí)研究項(xiàng)目后給出的教學(xué)指南,具體擬定出課堂教學(xué)計(jì)劃,這要求教師認(rèn)真思考回答以下問題:希望課堂上發(fā)生些什么?如何引導(dǎo)這些情況的發(fā)生?討論如何開展?時(shí)間如何安排?自己扮演什么角色?是先得結(jié)論再分析,還是相反?并對(duì)課堂討論中可能出現(xiàn)的情況做出預(yù)測(cè)。教師還要依據(jù)課程目標(biāo)、項(xiàng)目目標(biāo)及教學(xué)計(jì)劃的具體安排重點(diǎn)分析以下方面的內(nèi)容:項(xiàng)目中反映的那些重要論題、項(xiàng)目中反映的情況發(fā)生的根源、項(xiàng)目中所反映的而學(xué)生可能設(shè)想不到的情況等。在討論掌握上,教師要力保討論沿預(yù)期的軌道進(jìn)行,把討論引導(dǎo)到問題的解決上去,并引導(dǎo)出與論題相關(guān)的理論知識(shí),力爭(zhēng)班上每個(gè)學(xué)生都至少有一次發(fā)言的機(jī)會(huì),切實(shí)做到有效參與。
(8) 總結(jié)歸納,消化提升
總結(jié)歸納是軟件工程項(xiàng)目教學(xué)的最后階段,要求學(xué)生針對(duì)每個(gè)項(xiàng)目寫出學(xué)習(xí)報(bào)告。該報(bào)告中包含學(xué)生在閱讀項(xiàng)目中所得到的具體收獲;通過分析與設(shè)計(jì)軟件,提出自己所解決的實(shí)際問題;對(duì)理論上軟件工程概念和項(xiàng)目中的實(shí)際是否一一相對(duì)應(yīng);以及對(duì)軟件工程仍然存在的困惑。通過反思進(jìn)一步加深對(duì)項(xiàng)目的認(rèn)識(shí),真正作到理論和實(shí)踐的相結(jié)合。
項(xiàng)目教學(xué)中,師生都要注意角色轉(zhuǎn)換,如果學(xué)生仍然熱衷于將自己置身于教學(xué)過程之外,只做一名旁觀者,項(xiàng)目教學(xué)也就失去了它的價(jià)值。學(xué)生只有真正地深入項(xiàng)目、體驗(yàn)角色,才會(huì)有項(xiàng)目情境的“再現(xiàn)”,項(xiàng)目教學(xué)的價(jià)值才能被體現(xiàn)。而教師在教學(xué)過程中也要不斷變換自己的角色,可充當(dāng)監(jiān)督員,激勵(lì)啟發(fā)學(xué)生,監(jiān)督項(xiàng)目分析、討論情況;可充當(dāng)示范員,向?qū)W生演示、講解、分析項(xiàng)目中的事實(shí)、圖表、材料等;可充當(dāng)主人翁,制定下一步的工作計(jì)劃并在實(shí)施中起主導(dǎo)作用;可做仲裁,解決各種爭(zhēng)端;可充當(dāng)交警,使討論回到預(yù)定的軌道上來,等等。
3項(xiàng)目教學(xué)法的效果
軟件工程項(xiàng)目教學(xué)法已在我院計(jì)算機(jī)專業(yè)學(xué)生中進(jìn)行了全面實(shí)施,效果顯著,提高了學(xué)生按照軟件工程的原理、方法、技術(shù)、標(biāo)準(zhǔn)和規(guī)范進(jìn)行軟件開發(fā)的綜合能力和軟件項(xiàng)目的管理能力,學(xué)生的綜合素質(zhì)明顯增強(qiáng)。特別在基礎(chǔ)技能、團(tuán)隊(duì)協(xié)作、資料收集、人際交流、項(xiàng)目規(guī)劃幾個(gè)方面明顯具備較強(qiáng)的能力。
客觀地說,作為第一次開發(fā)實(shí)際軟件系統(tǒng)的學(xué)生,要在較短的時(shí)間里開發(fā)出各方面都達(dá)到真正實(shí)用要求的系統(tǒng)是難以完成的。實(shí)踐的意義更主要是讓學(xué)生經(jīng)歷完整的過程,體驗(yàn)各階段方法和工具的應(yīng)用,還有鍛煉除技術(shù)以外的多方面能力(如需求分析時(shí)如何與用戶交流、文檔寫作、成員間的協(xié)作與管理,等等),以提高其綜合素質(zhì)。
4結(jié)束語(yǔ)
今天,軟件工程已經(jīng)由最初的一個(gè)學(xué)科方向發(fā)展成為以計(jì)算機(jī)科學(xué)技術(shù)為基礎(chǔ)的一個(gè)新興交叉學(xué)科,軟件工程的教學(xué)面臨著計(jì)算機(jī)學(xué)科發(fā)展規(guī)范所提出的更高質(zhì)量要求。計(jì)算機(jī)技術(shù)的迅速發(fā)展和高端軟件人才的嚴(yán)重匱乏,讓我們面臨新的挑戰(zhàn)。軟件工程項(xiàng)目教學(xué)法改革還需要在以下幾方面繼續(xù)努力:
(1) 軟件工程教學(xué)改革體系應(yīng)在培養(yǎng)學(xué)生工具的使用與實(shí)驗(yàn)技能、工程設(shè)計(jì)與實(shí)現(xiàn)能力、評(píng)審與測(cè)試能力、團(tuán)隊(duì)協(xié)作與溝通能力、過程管理與控制能力等方面下更多的工夫,作更多的努力。
(2) 隨著軟件產(chǎn)業(yè)的發(fā)展和計(jì)算機(jī)應(yīng)用的普及,系統(tǒng)測(cè)試、維護(hù)的重要性會(huì)更加突出,軟件工程實(shí)踐教學(xué)應(yīng)在這方面有所準(zhǔn)備,有所側(cè)重。
(3) 軟件工程教育應(yīng)當(dāng)給予學(xué)生“工程”的概念,以軟件生命周期為主線,構(gòu)建知識(shí)結(jié)構(gòu),將科學(xué)與工程有效結(jié)合,實(shí)施技術(shù)與管理的能力和素質(zhì)培養(yǎng)。
參考文獻(xiàn):
[1] 張海藩. 軟件工程導(dǎo)論[M]. 北京:清華大學(xué)出版社,2003.
[2] 鄭紅. 基于建構(gòu)主義的軟件工程教學(xué)方法探索[J]. 計(jì)算機(jī)教育,2008(10):10-14.
[3] 林松. 高校《軟件工程》課程教學(xué)與實(shí)踐探討[J]. 福建電腦,2008(1):33-36.
[4] 林惠強(qiáng),劉財(cái)興,林丕源.“軟件工程”課程啟發(fā)式教學(xué)的研究與實(shí)踐[J]. 實(shí)驗(yàn)室研究與探索,2008(5):8-11.
[5] 丁瓊. 軟件工程課程教學(xué)改革與思考[J]. 華東交通大學(xué)學(xué)報(bào),2007(z1):76-80.
【關(guān)鍵詞】實(shí)踐教學(xué) 課程設(shè)計(jì) 科技競(jìng)賽
【中圖分類號(hào)】G642 【文獻(xiàn)標(biāo)識(shí)碼】A 【文章編號(hào)】2095-3089(2014)02-0243-02
一、軟件工程課程實(shí)踐教學(xué)現(xiàn)實(shí)情況
長(zhǎng)期以來,由于軟件工程課程偏重于方法學(xué)理論的講授,其中心是軟件生命周期的工程技術(shù)方法。然而這些技術(shù)和方法,對(duì)于缺乏工程開發(fā)經(jīng)驗(yàn)和管理知識(shí)的在校學(xué)生來說非常難以理解。在實(shí)踐教學(xué)中學(xué)生感覺軟件工程理論對(duì)軟件開發(fā)的幫助作用不大[1]!盡管實(shí)踐教學(xué)對(duì)學(xué)生有嚴(yán)格的要求,但是他們往往為了能完成任務(wù)的考核,只能按照要求粗略地完成或者收集現(xiàn)成的文檔來充數(shù),而未能通過實(shí)踐對(duì)所學(xué)的知識(shí)進(jìn)行理解與消化。此外,靠死記硬背的知識(shí)、概念常常未能得到有效理解,從而難以轉(zhuǎn)化為軟件工程技能。多年來,各個(gè)學(xué)校在不斷地探索和改進(jìn)其實(shí)踐教學(xué)方法,當(dāng)前也有些對(duì)傳統(tǒng)實(shí)踐教學(xué)改進(jìn)的方法并且取得了一些效果[2][3]。經(jīng)過對(duì)這些方法的分析,可知其大致可分為兩類:一類是直接套用軟件工業(yè)界的要求,但學(xué)生缺乏技能和實(shí)踐條件對(duì)任務(wù)根本無法完成,只能敷衍了事,達(dá)不到對(duì)軟件工程知識(shí)理解和應(yīng)用的目的;而另一類則是要求不明確且缺乏規(guī)范,因要求過于簡(jiǎn)單而無法達(dá)到增強(qiáng)對(duì)軟件工程理論應(yīng)用的目的。
鑒于這樣的情況,學(xué)校迫切需要對(duì)軟件工程實(shí)踐教學(xué)加以改革,逐步建立實(shí)踐與理論緊密結(jié)合的教學(xué)方法,著力培養(yǎng)學(xué)生的工程化開發(fā)能力,進(jìn)而形成一個(gè)融基礎(chǔ)理論、實(shí)踐教學(xué)和參加軟件科技競(jìng)賽的一種培養(yǎng)機(jī)制。因此,使課程設(shè)計(jì)成為對(duì)課堂教學(xué)的有效補(bǔ)充是實(shí)踐教學(xué)改革的一個(gè)重要任務(wù)[4]。
二、“課程設(shè)計(jì)與科技競(jìng)賽”相結(jié)合的實(shí)踐教學(xué)方法
課程設(shè)計(jì)與科技競(jìng)賽相結(jié)合就是要打破傳統(tǒng)實(shí)踐教學(xué)法的不足,充分調(diào)動(dòng)學(xué)生學(xué)習(xí)的積極性和主動(dòng)性,極大地激發(fā)學(xué)生的學(xué)習(xí)興趣,以實(shí)踐教學(xué)活動(dòng)帶動(dòng)軟件工程理論的學(xué)習(xí)。這樣實(shí)踐教學(xué)就能改變成為對(duì)理論知識(shí)的鞏固應(yīng)用和對(duì)工程實(shí)踐能力培養(yǎng)的主動(dòng)學(xué)習(xí)方式,從而使教學(xué)出現(xiàn)可喜的變化。它能把教師要求轉(zhuǎn)變?yōu)橐詫W(xué)生自主要求,把常規(guī)工程文檔寫作轉(zhuǎn)變?yōu)橐匀蝿?wù)為驅(qū)動(dòng)的分析、設(shè)計(jì)和實(shí)現(xiàn)的學(xué)習(xí)。
該實(shí)踐教學(xué)是在教師的指導(dǎo)下由學(xué)生實(shí)施的一個(gè)較為完整的“項(xiàng)目”而進(jìn)行的實(shí)踐教學(xué)活動(dòng)。參照科技競(jìng)賽題目的特點(diǎn),并依據(jù)軟件工程理論、方法的特點(diǎn),制定了本課程設(shè)計(jì)的知識(shí)要求結(jié)構(gòu)如圖1所示。在軟件工程理論知識(shí)的基礎(chǔ)上,挑選某種易于擴(kuò)展、應(yīng)用的工程技術(shù)方法,在軟件工程規(guī)范文檔的要求下進(jìn)行課程設(shè)計(jì)。從而使其按需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試的流程來開發(fā)軟件。這樣,經(jīng)過課程設(shè)計(jì)較為完整的項(xiàng)目訓(xùn)練,能有助于對(duì)學(xué)生工程技能的培養(yǎng)和對(duì)工程理論的理解,最終使學(xué)生在有限的時(shí)間內(nèi),對(duì)軟件工程的核心理念有較好的把握。它能幫助學(xué)生有效地參與各級(jí)軟件類科技競(jìng)賽,提高自己就業(yè)時(shí)的信心和社會(huì)競(jìng)爭(zhēng)力,使其畢業(yè)后能夠順利過渡到實(shí)際的軟件應(yīng)用開發(fā)中,并在實(shí)踐中對(duì)軟件工程理論加以檢驗(yàn)和完善并逐步鍛煉成為社會(huì)急需的各類軟件人才。
課程設(shè)計(jì)與科技競(jìng)賽相結(jié)合的教學(xué)方法是以學(xué)生為主體,教師為輔助,在課程設(shè)計(jì)實(shí)踐中加深對(duì)軟件工程理論的理解,培養(yǎng)學(xué)生在工程實(shí)踐中發(fā)現(xiàn)知識(shí)與分析、解決問題的能力。要達(dá)到這樣的實(shí)踐教學(xué)目的,軟件工程課程設(shè)計(jì)要做到以下的要求。首先,關(guān)于課程設(shè)計(jì)與科技競(jìng)賽相結(jié)合的教學(xué)內(nèi)容的設(shè)計(jì)上,要以學(xué)生興趣為中心自由選擇題目。針對(duì)實(shí)踐教學(xué)要求,學(xué)生選擇合適的題目是保證該實(shí)踐教學(xué)順利開展的關(guān)鍵。因此,題目要以理論教學(xué)內(nèi)容為依據(jù),同時(shí)要考慮學(xué)生的知識(shí)結(jié)構(gòu)特點(diǎn)和實(shí)踐教學(xué)的要求。此外,題目要注重以解決身邊的軟件需求為背景,充分使其既包含教學(xué)知識(shí)點(diǎn),又能激發(fā)學(xué)生軟件開發(fā)的興趣,達(dá)到培養(yǎng)學(xué)生軟件工程能力的目的。其次,實(shí)踐指導(dǎo)老師要提供合適的示范案例,并不斷地引導(dǎo)學(xué)生向正確的方向前進(jìn)。由此,在課程設(shè)計(jì)的準(zhǔn)備階段需要對(duì)為完成設(shè)計(jì)所需的基本知識(shí)進(jìn)行明確且扼要地講透。這樣學(xué)生在遇到困難時(shí),才知道行進(jìn)的方向而不至于迷茫和不知所措!在課程設(shè)計(jì)中,要使學(xué)生明確課程設(shè)計(jì)的要求,并盡快地掌握工程的基本方法和使用工具的基本技能。同時(shí),應(yīng)盡量使學(xué)生獨(dú)立地解決設(shè)計(jì)中所遇到的問題,而教師則需要對(duì)學(xué)生進(jìn)行全程的指導(dǎo)和監(jiān)督。再次,應(yīng)確定合適評(píng)價(jià)標(biāo)準(zhǔn),客觀考核學(xué)生的學(xué)習(xí)效果。主要方法是以學(xué)生完成課程設(shè)計(jì)的情況來評(píng)價(jià)學(xué)生的學(xué)習(xí)效果,要求各課程組定時(shí)匯報(bào)開展的進(jìn)度和情況,并及時(shí)地對(duì)各階段性成果進(jìn)行評(píng)價(jià)。
三、課程設(shè)計(jì)的教學(xué)實(shí)施
根據(jù)實(shí)踐教學(xué)的具體要求,對(duì)課程設(shè)計(jì)與科技競(jìng)賽相結(jié)合的教學(xué)方法開展了研究,并總結(jié)出該方法的大致流程如圖2所示。其基本指導(dǎo)思想是以案例示范為核心,不斷地引導(dǎo)學(xué)生對(duì)其選定的課程設(shè)計(jì)進(jìn)行改進(jìn),使其能滿足掌握需求分析、軟件設(shè)計(jì)與實(shí)現(xiàn)以及測(cè)試的基本技能,并把不斷改進(jìn)貫穿到整個(gè)設(shè)計(jì)中。由此,課程設(shè)計(jì)應(yīng)從課程設(shè)計(jì)準(zhǔn)備,精選小項(xiàng)目案例文檔示范,課程設(shè)計(jì)題目的選定,課程項(xiàng)目的設(shè)計(jì)與改進(jìn),教師和學(xué)生一起對(duì)設(shè)計(jì)結(jié)果的評(píng)價(jià)與改進(jìn)進(jìn)行精心地組織。因此,準(zhǔn)備階段就是對(duì)訓(xùn)練內(nèi)容所涉及的工程知識(shí)進(jìn)行精煉概括與總結(jié),使學(xué)生知道如何去應(yīng)用這些知識(shí)。此外,示范的項(xiàng)目案例要進(jìn)行精心的選擇,使其能夠覆蓋課程設(shè)計(jì)實(shí)踐教學(xué)要求,又要精干有效,易于參照與模仿學(xué)習(xí),切忌過于龐雜。教師應(yīng)把課程設(shè)計(jì)準(zhǔn)備知識(shí)與項(xiàng)目案例進(jìn)行參照講解,讓學(xué)生徹底了解訓(xùn)練的要求。在題目的選擇上,可以適當(dāng)?shù)靥峁┮恍┚x的小應(yīng)用軟件題目,讓學(xué)生參照選擇或根據(jù)生活經(jīng)驗(yàn)自擬題目。并在項(xiàng)目設(shè)計(jì)中進(jìn)行全程的監(jiān)督和引導(dǎo),并隨時(shí)指出其設(shè)計(jì)和參照示范項(xiàng)目和實(shí)踐要求的差距。對(duì)各階段結(jié)果,應(yīng)組織一些志愿學(xué)生和做得好的學(xué)生對(duì)各階段結(jié)果進(jìn)行評(píng)價(jià)并給出改進(jìn)建議。如此不斷地迭代改進(jìn),能夠使學(xué)生較好地掌握軟件工程的基本技能,并鞏固對(duì)應(yīng)的軟件工程理論知識(shí),從而取得舉一反三的示范效果。這樣就能夠使學(xué)生理解并掌握一些基本的需求獲取與分析、系統(tǒng)分析與設(shè)計(jì)等軟件生命周期的技能,并學(xué)會(huì)軟件工程規(guī)范文檔的編寫與應(yīng)用。
關(guān)鍵詞:離散數(shù)學(xué);軟件工程專業(yè);任務(wù)驅(qū)動(dòng);改革與實(shí)踐
doi:10.16083/ki.1671-1580.2017.04.052
中圖分類號(hào):G642
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1671-1580(2017)04-0180-04
離散數(shù)學(xué)課程是研究離散量的結(jié)構(gòu)及其相互之間關(guān)系的學(xué)科。自上世紀(jì)70年代以來,它一直是計(jì)算機(jī)學(xué)科核心課程之一,更是軟件工程專業(yè)的專業(yè)基礎(chǔ)課。然而離散數(shù)學(xué)的教學(xué)現(xiàn)狀卻沒有體現(xiàn)它作為軟件工程專業(yè)基礎(chǔ)課程的地位,一是學(xué)時(shí)不夠多,二是教學(xué)內(nèi)容比較陳舊,過于注重?cái)?shù)學(xué)理論的推導(dǎo),而忽視了它作為計(jì)算機(jī)后續(xù)課程的支撐作用。離散數(shù)學(xué)是不斷發(fā)展的學(xué)科,它既包括一些古老的數(shù)學(xué)內(nèi)容,又有一些近代建立起來的新的分支。主要有:集合論,邏輯推理,組合數(shù)學(xué),代數(shù)系統(tǒng)及圖論幾個(gè)彼此獨(dú)立的分支構(gòu)成。它具有概念多,內(nèi)容雜,理論性強(qiáng),抽象,難于理解的特點(diǎn);另外國(guó)內(nèi)很多教材的內(nèi)容很少提及與其他計(jì)算機(jī)各專業(yè)課程的關(guān)系,因此對(duì)于應(yīng)用型工科學(xué)生,雖然認(rèn)識(shí)到離散數(shù)學(xué)有助于提高他們抽象思維能力和邏輯推理的能力,但是他們更注重一種技能的獲得,因此就會(huì)覺得離散數(shù)學(xué)枯燥無趣,愈發(fā)感覺學(xué)習(xí)起來很困難。
基于以上原因,國(guó)內(nèi)各高校從事離散數(shù)學(xué)教學(xué)的許多教師,紛紛從各個(gè)方面進(jìn)行了教學(xué)的改革與實(shí)踐,例如有采用啟發(fā)式教學(xué)的,有增加實(shí)驗(yàn)環(huán)節(jié)的,這些在教學(xué)中也起到了一定的效果。但是,要想真的從根本上解決這些問題,應(yīng)該從教學(xué)內(nèi)容上著手,從軟件工程專業(yè)的角度進(jìn)行改革。國(guó)外教材內(nèi)容的改革要早于國(guó)內(nèi)教材的變更,前者更側(cè)重應(yīng)用性、思維性訓(xùn)練,更突出離散數(shù)學(xué)作為數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫(kù)及人工智能等后續(xù)課程的理論支撐的作用,并且會(huì)隨著計(jì)算機(jī)出現(xiàn)的新興領(lǐng)域,實(shí)時(shí)地加入到教材及課堂中。例如,由Dossey,J.A.等編著,章炯民等翻譯的《Discrete Mathematics》中,就有大量的案例,而且每一個(gè)專題的最開始都是有一個(gè)非常典型的而且和實(shí)際生活相關(guān)聯(lián)的例子,這些例子把離散數(shù)學(xué)的相關(guān)概念和理論與其他計(jì)算機(jī)專業(yè)課程緊密聯(lián)系在一起,不僅能夠引起學(xué)生興趣,而且在興趣的驅(qū)動(dòng)下,掌握了離散數(shù)學(xué)的理論,同時(shí)也奠定了學(xué)習(xí)其他各專業(yè)課程的基礎(chǔ)。而反觀國(guó)內(nèi)的教材,仍然停留在國(guó)外的七八十年代的階段上,仍然只是大量的定律證明與推演,而和軟件工程專業(yè)課程的相關(guān)性卻很少提及,偶有例子也是一筆帶過,這雖然對(duì)訓(xùn)練學(xué)生的數(shù)學(xué)能力是有一定作用,但學(xué)生不知道學(xué)這門課程到底有什么用,從而失去興趣,那么這種目的也是達(dá)不到的。對(duì)于應(yīng)用型工科生,學(xué)習(xí)離散數(shù)學(xué)的主要目的是作為工具應(yīng)用于計(jì)算機(jī)領(lǐng)域中,因此可以借鑒國(guó)外教材的這種實(shí)用性,將離散數(shù)學(xué)的各個(gè)部分的講解與后續(xù)各專業(yè)課程緊密銜接。但是國(guó)外教材的習(xí)題開放性過大,不是很適合國(guó)內(nèi)學(xué)生的思維習(xí)慣,另外國(guó)內(nèi)的課時(shí)要求也不允許完全照搬國(guó)外的教材,因此我們嘗試在離散數(shù)學(xué)教學(xué)中開展教學(xué)內(nèi)容改革,在軟件工程專業(yè)培養(yǎng)目標(biāo)指導(dǎo)下選擇教學(xué)內(nèi)容,精選案例,從而構(gòu)建出適合國(guó)內(nèi)學(xué)生的教學(xué)內(nèi)容。
一、課程改革的設(shè)計(jì)
(一)明確教學(xué)目標(biāo)
離散數(shù)學(xué)是計(jì)算機(jī)學(xué)科的專業(yè)基礎(chǔ)課,計(jì)算機(jī)各專業(yè)都有離散數(shù)學(xué)課程,但各專業(yè)講述的內(nèi)容基本雷同,沒有針對(duì)各專業(yè)的后續(xù)課程有偏重點(diǎn)地劃分。本文從軟件工程專業(yè)培養(yǎng)目標(biāo)及后續(xù)課程出發(fā),提出對(duì)離散數(shù)學(xué)課程的教學(xué)進(jìn)行改革與實(shí)踐,使離散數(shù)學(xué)能更好地為其它各專業(yè)課程服務(wù)。軟件工程專業(yè)課程主要有:程序設(shè)計(jì)語(yǔ)言,離散數(shù)學(xué),數(shù)據(jù)結(jié)構(gòu),計(jì)算機(jī)硬件基礎(chǔ),操作系統(tǒng),計(jì)算機(jī)網(wǎng)絡(luò),編譯程序構(gòu)造,數(shù)據(jù)庫(kù)設(shè)計(jì)與應(yīng)用,軟件工程導(dǎo)論,面向?qū)ο蠓治雠cUMI,軟件系統(tǒng)設(shè)計(jì)與體系結(jié)構(gòu),軟件質(zhì)量保證與軟件測(cè)試,軟件項(xiàng)目管理等課程。重點(diǎn)強(qiáng)調(diào)在軟件工程專業(yè)培養(yǎng)目標(biāo)下去構(gòu)建教學(xué)內(nèi)容,設(shè)計(jì)合理的教學(xué)案例,案例的選擇偏重于對(duì)后續(xù)課程的支撐作用。
(二)基于軟件工程專業(yè)培養(yǎng)目標(biāo)構(gòu)建教學(xué)內(nèi)容
挖掘離散數(shù)學(xué)及其他軟件工程專業(yè)課程之間的切入點(diǎn),精選教學(xué)內(nèi)容,選取離散數(shù)學(xué)和后續(xù)專業(yè)課程緊密相關(guān)的內(nèi)容。軟件工程相關(guān)的核心知識(shí)單元包含:集合,關(guān)系,函數(shù),樹,圖,數(shù)理邏輯,基本證明技術(shù),基本計(jì)數(shù),將這些核心知識(shí)作為重點(diǎn)講述內(nèi)容。
根據(jù)軟件工程專業(yè)的人才培養(yǎng)目標(biāo)和學(xué)生知識(shí)特點(diǎn),不斷調(diào)整課程結(jié)構(gòu)和優(yōu)選教學(xué)內(nèi)容。結(jié)合軟件工程領(lǐng)域的實(shí)際應(yīng)用背景,選取離散數(shù)學(xué)和后續(xù)專業(yè)課程緊密相關(guān)的內(nèi)容,例如集合與關(guān)系部分是算法與數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫(kù)課程的基礎(chǔ),而數(shù)理邏輯與圖論部分又與軟件工程密切相關(guān),代數(shù)系統(tǒng)又是人工智能及計(jì)算機(jī)組成課程的先修內(nèi)容,這些部分需要作為重點(diǎn)內(nèi)容,而一些純粹的數(shù)學(xué)定理推導(dǎo)則作為輔助內(nèi)容,就是簡(jiǎn)要介紹離散數(shù)學(xué)課程的基礎(chǔ)理論,偏重離散數(shù)學(xué)知識(shí)在計(jì)算機(jī)課程中的直接作用??傊?,選取基本教W內(nèi)容的是以“實(shí)用為主,夠用為度”的原則。
(三)基于軟件工程專業(yè)培養(yǎng)目標(biāo)設(shè)計(jì)教學(xué)案例
在軟件工程專業(yè)要求下,設(shè)計(jì)典型案例,案例要能體現(xiàn)出后續(xù)課程對(duì)離散數(shù)學(xué)課程的“成果依賴”的作用。結(jié)合“離散數(shù)學(xué)”課程教學(xué),以軟件工程專業(yè)要求,結(jié)合任務(wù)驅(qū)動(dòng)教學(xué)模式就提高教學(xué)效果和培養(yǎng)計(jì)算機(jī)專業(yè)學(xué)生的創(chuàng)新能力和綜合素質(zhì)方面進(jìn)行實(shí)踐研究。學(xué)生要進(jìn)行課前預(yù)習(xí),教師給出教學(xué)內(nèi)容在實(shí)際生活中和計(jì)算機(jī)科學(xué)領(lǐng)域的應(yīng)用,激發(fā)學(xué)生的主動(dòng)性和興趣;教師結(jié)合問題的應(yīng)用領(lǐng)域設(shè)計(jì)相關(guān)問題并創(chuàng)設(shè)問題情境,呈現(xiàn)問題,學(xué)生在任務(wù)驅(qū)動(dòng)下進(jìn)行相關(guān)的學(xué)習(xí)活動(dòng),明確任務(wù),查閱相關(guān)的資料;教師引導(dǎo)學(xué)生對(duì)教材內(nèi)容以小組討論的形式實(shí)現(xiàn)協(xié)作學(xué)習(xí),深入探究問題的解決方案,從而進(jìn)一步分析問題;教師利用啟發(fā)式尋求解答的思想,指導(dǎo)學(xué)生基于教學(xué)內(nèi)容利用啟發(fā)式規(guī)則和推理來尋求更好的解答;學(xué)生在教師的引導(dǎo)下,以任務(wù)為驅(qū)動(dòng),逐步掌握各個(gè)章節(jié)的內(nèi)容,并在此基礎(chǔ)上將新知識(shí)進(jìn)行鞏固擴(kuò)展。
(四)基于軟件工程專業(yè)培養(yǎng)目標(biāo)的任務(wù)驅(qū)動(dòng)教學(xué)模式
任務(wù)驅(qū)動(dòng)教學(xué)模式強(qiáng)調(diào)以學(xué)生為中心,強(qiáng)調(diào)學(xué)生的學(xué)習(xí)過程必須與學(xué)習(xí)任務(wù)相結(jié)合,通過完成任務(wù)來激發(fā)學(xué)生的興趣和動(dòng)機(jī)。根據(jù)任務(wù)驅(qū)動(dòng)式教學(xué)過程的3個(gè)要素(教師、學(xué)生、任務(wù))和任務(wù)驅(qū)動(dòng)的理論基礎(chǔ)提出任務(wù)驅(qū)動(dòng)式教學(xué)模式。
該模式在任務(wù)驅(qū)動(dòng)的主線下把教師的教學(xué)活動(dòng)和學(xué)生的學(xué)習(xí)活動(dòng)以任務(wù)為主線貫穿起來,通過任務(wù)來驅(qū)動(dòng)教學(xué)活動(dòng),并在整個(gè)教學(xué)活動(dòng)中體現(xiàn)了軟件工程的方法。通過教學(xué)內(nèi)容的選擇、教學(xué)過程設(shè)計(jì)和教學(xué)評(píng)價(jià)體系的構(gòu)建實(shí)現(xiàn)在軟件工程目標(biāo)下離散數(shù)學(xué)課程的教學(xué)改革。
二、一個(gè)與數(shù)據(jù)結(jié)構(gòu)課程相關(guān)的案例
(一)確定教學(xué)內(nèi)容
偏序關(guān)系是一種非常重要的關(guān)系,首先教師要介紹偏序關(guān)系及全序的定義,介紹哈斯圖的畫法及意義,偏序集中的最大元、最小元、極大元、極小元等相關(guān)概念。
(二)設(shè)計(jì)教學(xué)案例
由偏序集可以引出數(shù)據(jù)結(jié)構(gòu)課程中的拓?fù)渑判?。所以在偏序關(guān)系中設(shè)計(jì)一個(gè)教學(xué)案例:構(gòu)建房屋所需各項(xiàng)任務(wù)為節(jié)點(diǎn),任務(wù)之間的先后順序形成一個(gè)偏序關(guān)系:場(chǎng)地準(zhǔn)備A(4,無),表示節(jié)點(diǎn)A是場(chǎng)地準(zhǔn)備需要4天,無前繼任務(wù);地基B(6,A),表示節(jié)點(diǎn)B是打地基需要6天,前繼任務(wù)是場(chǎng)地準(zhǔn)備A;以此類推,排水設(shè)施c(3,A);骨架D(10,B);屋頂E(5,D);窗F(2,E);管道G(4,(c,E))表示管道需要4天,它的前^任務(wù)是c和E;電氣設(shè)施H(3,E);絕緣I(2,(G,H));幕墻J(6,F(xiàn));墻紙K(5,(I,J));清潔和油漆L(3,K);地板和裝修M(4,L);檢驗(yàn)N(10,I),所有任務(wù)都由一組每次只能進(jìn)行一項(xiàng)任務(wù)的人來完成。運(yùn)用所學(xué)到的偏序集的相關(guān)知識(shí),合理安排各項(xiàng)任務(wù),使任務(wù)之間要遵照題目所給的順序完成。
(三)任務(wù)驅(qū)動(dòng)教學(xué)模式
首先提出問題――在講完偏序關(guān)系的概念及相關(guān)定理后,在下課前給學(xué)生布置任務(wù)(即上面的案例),學(xué)生帶著這個(gè)任務(wù)去復(fù)習(xí)所學(xué)到的偏序集的相關(guān)知識(shí),并思考該問題的解決方案;在下節(jié)課上課時(shí),教師會(huì)和學(xué)生共同探討問題的求解過程:首先確定一個(gè)任務(wù)集合:s={A,B,c,D,E,F(xiàn),G,H,I,J,K,L,M,N},其中A..N是前面定義的各項(xiàng)任務(wù)。定義在該集合上的一個(gè)關(guān)系R:XRY X=Y或者Y必須在x完成后才能開始;然后引導(dǎo)學(xué)生確定這是一個(gè)什么關(guān)系,通過上節(jié)課介紹的偏序關(guān)系具有的性質(zhì):自反性、反對(duì)稱性和傳遞性,因?yàn)閄RX為真,所以該關(guān)系具有自反性;XRY為真,并J~YRX也為真,則能推出X=Y,所以該關(guān)系具有反對(duì)稱性;若XRY為真,YRZ也為真,說明Y在x后完成,而z在Y后完成,則z在x后完成,或者它們相等,所以能推出XRZ為真,所以該關(guān)系具有傳遞性。由此可以引導(dǎo)學(xué)生得出該關(guān)系是偏序關(guān)系。既然是偏序關(guān)系,一定存在哈斯圖,可以讓學(xué)生根據(jù)上節(jié)課介紹的哈斯圖的相關(guān)知識(shí),繪制該偏序關(guān)系的哈斯圖。首先要確定COV(s)=[(A,B),(A,c),(B,D),(D,E),(C,G),(E,G),(E,H),(H,I),(E,F(xiàn)),(F,J),(J,K),(I,K),(I,N),(K,L),(L,M)]。然后根據(jù)COV(s)繪制哈斯圖如圖1所示:
由上節(jié)課介紹可知,不是所有的偏序集都是全序,但是通過極小值的概念可以得出部分序,然后提出問題,如何由部分序能夠得出該任務(wù)的全序?讓學(xué)生進(jìn)行討論,教師可以引導(dǎo)學(xué)生在原序基礎(chǔ)上通過增加一些條件,比如按任務(wù)時(shí)間的長(zhǎng)短,或者按任務(wù)的字母順序等,得到該偏序集的全序,進(jìn)而確定任務(wù)完成的先后順序――由此可以引出數(shù)據(jù)結(jié)構(gòu)課程中的拓?fù)渑判?。假設(shè)兩個(gè)任務(wù)點(diǎn)之間無法比較“大小”,例如完成任務(wù)A后,任務(wù)B和任務(wù)c之間無法確定哪個(gè)先做,可以按照時(shí)間短的先做,就可以確定先完成c再完成B了??梢酝ㄟ^找極小值的方式依次輸出各個(gè)任務(wù)點(diǎn),并且輸出該極小值點(diǎn)后,把該點(diǎn)從圖中刪除,與其相關(guān)的線段也刪除:首先該圖中極小值是A,輸出A后,把A刪除,相應(yīng)的AB,AC線段也刪除,剩余的圖中出現(xiàn)兩個(gè)極小值,即B和c,再比較兩者哪個(gè)時(shí)間短,c是3天,B是6天,則先輸出c,然后把c及CG線段刪除,然后再尋找極小值,以此類推,如果兩個(gè)極小值的天數(shù)也一樣,則按照字母順序輸出,這樣就可以得到該偏序集的全序關(guān)系了,也就是所有的任務(wù)點(diǎn)之間都有“大小”一即先后順序了:A,c,B,D,E,F(xiàn),H,G,I,J,K,L,M,N。問題解決后,可以總結(jié)這就是數(shù)據(jù)結(jié)構(gòu)中的拓?fù)渑判颉?/p>
使學(xué)生在任務(wù)驅(qū)動(dòng)下,通過這樣的案例,體會(huì)到離散數(shù)學(xué)課程與軟件工程其它各門課程之間的關(guān)系,從而提高學(xué)習(xí)離散數(shù)學(xué)的興趣與積極性,并為之后的專業(yè)課程的學(xué)習(xí)奠定良好基礎(chǔ),從而真正能夠發(fā)揮離散數(shù)學(xué)作為軟件工程專業(yè)基礎(chǔ)課程的作用。
三、教學(xué)效果
基于軟件工程培養(yǎng)目標(biāo)的,任務(wù)驅(qū)動(dòng)模式的離散數(shù)學(xué)課程的教學(xué)改革與實(shí)踐在2012級(jí)學(xué)生中首次實(shí)施。在具體實(shí)施過程中,我們總結(jié)出有以下優(yōu)勢(shì):
(一)本著離散數(shù)學(xué)是軟件工程專業(yè)基礎(chǔ)課程,與其他專業(yè)課程的密切關(guān)系,合理設(shè)計(jì)和組織離散數(shù)學(xué)課程教學(xué)內(nèi)容,挖掘離散數(shù)學(xué)與軟件工程各專業(yè)課程之間的切入點(diǎn),研究有效融合離散數(shù)學(xué)教學(xué)內(nèi)容與后續(xù)課程資源的恰當(dāng)方式,使離散數(shù)學(xué)各個(gè)部分之間能夠自然過渡,使知識(shí)之間能夠自然承接。由與其他專業(yè)課程相關(guān)的案例中提出的問題,引出離散數(shù)學(xué)的相關(guān)理論,并用離散數(shù)學(xué)的知識(shí)去詮釋該問題,在分析解決問題過程中強(qiáng)化離散數(shù)學(xué)在其中的支撐作用,將理論知識(shí)融入到具體的應(yīng)用問題中,具體反映在后續(xù)課程中取得了很好的反饋效果。
(二)在教學(xué)準(zhǔn)備中設(shè)計(jì)一個(gè)或幾個(gè)典型案例,選取與軟件工程專業(yè)課程密切相關(guān)的案例,案例可以分為基本案例和綜合案例兩種,基本案例與單個(gè)知識(shí)點(diǎn)對(duì)應(yīng);綜合性案例則涵蓋課程中若干個(gè)知識(shí)點(diǎn),涵蓋多個(gè)概念。這些案例要貫穿整個(gè)離散數(shù)學(xué)的教學(xué)內(nèi)容中,要體現(xiàn)軟件的形成過程中離散數(shù)學(xué)在其中的支撐作用。案例不要過多,一個(gè)案例要在各部分內(nèi)容中重復(fù)出現(xiàn),強(qiáng)化學(xué)生印象,同時(shí)可以使離散數(shù)學(xué)分散的教學(xué)內(nèi)容有機(jī)地成為一個(gè)整體,使顯示分離的教學(xué)內(nèi)容按照隱示關(guān)聯(lián)融合在一起。通過這種學(xué)生參與的案例的求解過程,極大地提高了學(xué)生的實(shí)踐能力,在之后的軟件建模和AcM大賽中,都取得了理想的成績(jī)。
(三)采取任務(wù)驅(qū)動(dòng)模式,學(xué)生積極性明顯提高,參與感增強(qiáng),興趣提高,課堂效果明顯比之前活躍,在期末考試中,雖然難度增強(qiáng),卻取得了比以往更好的成績(jī)。
[關(guān)鍵詞] 軟件工程;知識(shí)領(lǐng)域;教學(xué)內(nèi)容銜接
[中圖分類號(hào)] G642.0 [文獻(xiàn)標(biāo)識(shí)碼] A [文章編號(hào)] 1005-4634(2013)06-0075-03
0 引言
軟件工程是一門研究用工程化方法構(gòu)建和維護(hù)有效的、實(shí)用的和高質(zhì)量的軟件的學(xué)科,是信息領(lǐng)域發(fā)展最快的學(xué)科分支之一[1]。2001年經(jīng)教育部和國(guó)家計(jì)委批準(zhǔn),全國(guó)成立了35所示范性軟件學(xué)院,后增加到37所,截止到2012年12月30日,全國(guó)共有軟件工程專業(yè)點(diǎn)415個(gè)。這415所高校由于學(xué)校定位和專業(yè)特色不同,所修訂的軟件工程專業(yè)人才培養(yǎng)方案也有所差異。為使人才培養(yǎng)方案與社會(huì)發(fā)展和教學(xué)改革相適應(yīng),需要不斷對(duì)人才培養(yǎng)方案進(jìn)行修訂。在修訂過程中,如何做好軟件工程專業(yè)課教學(xué)內(nèi)容的銜接,一直是計(jì)劃制定者面臨的一項(xiàng)難題。吉林工程技術(shù)師范學(xué)院軟件工程專業(yè)經(jīng)過多年的教學(xué)研究和實(shí)踐,發(fā)現(xiàn)解決軟件工程專業(yè)課教學(xué)內(nèi)容銜接問題的有效辦法就是要從解讀軟件工程教育知識(shí)體系入手,選擇合適的知識(shí)單元進(jìn)行課程整合,并根據(jù)學(xué)校的人才培養(yǎng)定位,優(yōu)化課程體系的宏觀結(jié)構(gòu)和課程之間的微觀順序。
1 解讀軟件工程教育知識(shí)體系,整合知識(shí) 單元
1.1 解讀SWEBOK和SEEK
我國(guó)軟件工程本科教學(xué)規(guī)范的制定主要研究借鑒了SWEBOK和SEEK [2]。由ACM和IEEE/CS聯(lián)合工作組組織制定的軟件工程知識(shí)體系SWEBOK為確立軟件工程的學(xué)科地位打下基礎(chǔ),SWEBOK 將軟件工程劃分為10個(gè)領(lǐng)域:軟件需求、軟件設(shè)計(jì)、軟件構(gòu)造、軟件測(cè)試、軟件維護(hù)、軟件配置管理、軟件工程管理、軟件工程過程、軟件工程工具和方法、軟件質(zhì)量。計(jì)算教程軟件工程卷SE2004提出了軟件工程教育知識(shí)體系SEEK,為制定軟件工程本科教學(xué)計(jì)劃提供了指南。SEEK由知識(shí)領(lǐng)域、知識(shí)單元和知識(shí)點(diǎn)三個(gè)層次組成。SEEK包含10個(gè)知識(shí)領(lǐng)域和1個(gè)應(yīng)用知識(shí)領(lǐng)域,共計(jì)48個(gè)基本知識(shí)單元、17個(gè)應(yīng)用知識(shí)單元,建議最小核心學(xué)時(shí)數(shù)為497。10個(gè)知識(shí)領(lǐng)域主要由計(jì)算機(jī)(CS)學(xué)科知識(shí)領(lǐng)域和軟件工程(SE)學(xué)科知識(shí)領(lǐng)域組成,分別是:計(jì)算基礎(chǔ)(CMP)、數(shù)學(xué)和工程基礎(chǔ)(FND)、職業(yè)實(shí)踐(PRF)、軟件建模與分析(MAA)、軟件設(shè)計(jì)(DES)、軟件驗(yàn)證與確認(rèn)(VAV)、軟件演化(EVO)、軟件過程(PRO)、軟件質(zhì)量(QUA)、軟件管理(MGT)。1個(gè)應(yīng)用知識(shí)領(lǐng)域?yàn)樘囟ㄏ到y(tǒng)與應(yīng)用(SAS)。
1.2 整合知識(shí)單元
知識(shí)單元必須以課程的形式進(jìn)行講授,所以必須將SEEK的10個(gè)知識(shí)領(lǐng)域的知識(shí)單元整合為課程名稱。具體整合過程為:整合CMP中的知識(shí)單元為軟件構(gòu)造、形式化開發(fā)方法、C語(yǔ)言程序設(shè)計(jì)、算法與數(shù)據(jù)結(jié)構(gòu)、計(jì)算機(jī)組成原理、操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)原理8門課程。整合FNT和EVO中的知識(shí)單元為離散數(shù)學(xué)與軟件工程導(dǎo)論2門課程。整合MAA和DES中的知識(shí)單元為軟件需求、系統(tǒng)分析與設(shè)計(jì)2門課程。整合QUA和VAV中的知識(shí)單元為軟件質(zhì)量保證與測(cè)試1門課程。整合MGT中的知識(shí)單元為軟件項(xiàng)目管理1門課程。整合PRO中的知識(shí)單元為軟件過程管理1門課程。整合后共計(jì)15門專業(yè)課程,實(shí)踐知識(shí)領(lǐng)域個(gè)別院??筛鶕?jù)自身情況進(jìn)行整合。
2 優(yōu)化課程銜接關(guān)系,制定應(yīng)用型軟件工 程理論課教學(xué)計(jì)劃
2.1 調(diào)整課程結(jié)構(gòu)
從高校軟件工程專業(yè)課程結(jié)構(gòu)來看,主要有層次課程結(jié)構(gòu)、核心課程結(jié)構(gòu)、模塊課程結(jié)構(gòu)和平臺(tái)+模塊課程結(jié)構(gòu)四種[3]。大部分院校采用層次課程結(jié)構(gòu),即公共課程、基礎(chǔ)課程、專業(yè)基礎(chǔ)課程和專業(yè)課程。第一、二學(xué)年主要開設(shè)公共課和基礎(chǔ)課,第三、四學(xué)年開設(shè)專業(yè)基礎(chǔ)和專業(yè)課。此類課程結(jié)構(gòu)使得課程銜接縱向邏輯關(guān)系較強(qiáng),符合循序漸進(jìn)的認(rèn)知規(guī)律,有利于大多數(shù)學(xué)生以較少的時(shí)間比較系統(tǒng)地掌握專業(yè)知識(shí)。但由于層次課程結(jié)構(gòu)是多學(xué)科、多門類課程的混合體,計(jì)劃制定人不太好把握課程的直線式邏輯順序,因此不能保證教學(xué)內(nèi)容銜接的連續(xù)性、順序性和整合性?!捌脚_(tái)+模塊”課程結(jié)構(gòu)是近些年出現(xiàn)的一種新的高等學(xué)校課程結(jié)構(gòu),由基礎(chǔ)課程平臺(tái)和一定類型的課程模塊構(gòu)成。根據(jù)軟件工程專業(yè)的特點(diǎn),將課程結(jié)構(gòu)調(diào)整為由公共基礎(chǔ)課平臺(tái)、學(xué)科基礎(chǔ)課平臺(tái)、專業(yè)基礎(chǔ)課平臺(tái)3個(gè)“平臺(tái)”及計(jì)算機(jī)科學(xué)模塊、軟件工程模塊、專業(yè)方向模塊3個(gè)模塊構(gòu)成?!捌脚_(tái)+模塊”課程結(jié)構(gòu)保證了知識(shí)結(jié)構(gòu)內(nèi)在的相互聯(lián)系和相互獨(dú)立,此課程結(jié)構(gòu)中的“平臺(tái)”是全?;蛲粚W(xué)科各專業(yè)學(xué)生的必修課程,體現(xiàn)了人才培養(yǎng)的基本規(guī)格和全面發(fā)展的共性要求,體現(xiàn)了“寬口徑”、“厚基礎(chǔ)”的現(xiàn)代高等教育人才培養(yǎng)特點(diǎn)。此課程結(jié)構(gòu)中的“模塊”解決了計(jì)算機(jī)科學(xué)課程群與軟件工程課程群開課順序的爭(zhēng)議性問題,專業(yè)方向模塊根據(jù)社會(huì)人才需求、專業(yè)發(fā)展的趨勢(shì)和學(xué)生的個(gè)性學(xué)習(xí)需求而設(shè)置。軟件工程學(xué)科發(fā)展很快,專業(yè)方向模塊可以根據(jù)需要進(jìn)行調(diào)整。
2.2 調(diào)整課程順序
根據(jù)整合的15門專業(yè)課程,按模塊進(jìn)行劃分,可分為計(jì)算機(jī)科學(xué)模塊課程和軟件工程模塊課程。計(jì)算機(jī)科學(xué)模塊課程主要有離散數(shù)學(xué)、C語(yǔ)言程序設(shè)計(jì)、算法與數(shù)據(jù)結(jié)構(gòu)、計(jì)算機(jī)組成原理、操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)原理7門課程;軟件工程模塊課程主要有軟件工程導(dǎo)論、軟件需求、系統(tǒng)分析與設(shè)計(jì)、軟件構(gòu)造、形式化開發(fā)方法、軟件質(zhì)量保證與測(cè)試、軟件項(xiàng)目管理、軟件過程管理8門課程。計(jì)算機(jī)科學(xué)模塊的專業(yè)課程開課順序在各高校中大同小異,基本上是先開設(shè)C語(yǔ)言程序設(shè)計(jì)和離散數(shù)學(xué),然后開設(shè)計(jì)算機(jī)組成原理、算法與數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng),最后開設(shè)計(jì)算機(jī)網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)原理。調(diào)研各高校軟件工程專業(yè)人才培養(yǎng)方案,發(fā)現(xiàn)軟件工程模塊專業(yè)課程的開設(shè)順序不是很一致。結(jié)合先進(jìn)的基于工作過程的課程設(shè)置方法[4],參照IEEE/EIA 12207.0-1996軟件生命周期工作過程標(biāo)準(zhǔn),調(diào)整了軟件工程模塊8門專業(yè)課程的開設(shè)順序,其順序依次為軟件工程導(dǎo)論、軟件需求、系統(tǒng)分析與設(shè)計(jì)、軟件構(gòu)造、形式化開法方法、軟件質(zhì)量保證與測(cè)試、軟件過程管理、軟件項(xiàng)目管理。
2.3 針對(duì)應(yīng)用型本科院校設(shè)置專業(yè)方向模塊課
吉林工程技術(shù)師范學(xué)院作為應(yīng)用型本科院校,定位為培養(yǎng)應(yīng)用型人才,因此所制定的專業(yè)方向模塊課程要與人才市場(chǎng)應(yīng)用需求相一致。目前在我國(guó)軟件應(yīng)用領(lǐng)域,軟件開發(fā)人員需求缺口很大,因此將吉林工程技術(shù)師范學(xué)院軟件工程專業(yè)人才培養(yǎng)方向定位為軟件開發(fā)工程師。目前,在軟件開發(fā)領(lǐng)域存在兩大對(duì)壘:微軟的NET和甲骨文公司的JAVA,因此將專業(yè)方向劃分為NET方向和JAVA方向,并依據(jù)技術(shù)路線設(shè)置相應(yīng)的專業(yè)方向課程。
2.4 研究成果
綜上所述,所制定的應(yīng)用型本科軟件工程專業(yè)人才培養(yǎng)方案中的理論課程體系分學(xué)期執(zhí)行的教學(xué)計(jì)劃如表1所示。
3 成果評(píng)價(jià)
選取吉林工程技術(shù)師范學(xué)院軟件工程專業(yè)理論課程體系為評(píng)價(jià)對(duì)象,利用文獻(xiàn)[5]所建立的課程體系評(píng)價(jià)模型和評(píng)標(biāo)指標(biāo),邀請(qǐng)四位專家在不區(qū)分專家權(quán)系數(shù)的前提下進(jìn)行評(píng)價(jià),評(píng)價(jià)情況如表2所示。
對(duì)評(píng)語(yǔ)集賦分值(優(yōu):95,良:85,中:70,及格:60),最終加權(quán)得分為92.25分,處于優(yōu)秀的級(jí)別。本次評(píng)價(jià)只針對(duì)教學(xué)計(jì)劃中的理論課程體系(即體現(xiàn)教學(xué)內(nèi)容銜接效果的體系)進(jìn)行評(píng)價(jià),沒有考慮實(shí)踐環(huán)節(jié)、師資及實(shí)施情況等。
4 結(jié)束語(yǔ)
通過多年教學(xué)研究實(shí)踐,總結(jié)出應(yīng)用型軟件工程專業(yè)理論課程體系制定的流程:(1)將SEEK的10個(gè)知識(shí)領(lǐng)域中的知識(shí)單元整合為15門專業(yè)課程;(2)采取“平臺(tái)+模塊”課程結(jié)構(gòu)劃分課程宏觀結(jié)構(gòu);(3)微調(diào)15門課程的開課順序,按1~7學(xué)期開設(shè);(4)針對(duì)應(yīng)用型人才培養(yǎng)定位,劃分專業(yè)方向模塊并設(shè)置課程。本次研究?jī)H限于理論課程體系教學(xué)設(shè)計(jì)。切實(shí)加強(qiáng)軟件工程實(shí)驗(yàn)課程和實(shí)踐環(huán)節(jié)的創(chuàng)新與改革將是下一步重點(diǎn)研究的課題。
參考文獻(xiàn)
[1]宋雨,趙文清.軟件工程[M].北京:中國(guó)電力出版社,2007:2-5.
[2]齊治昌.軟件工程學(xué)科的建立與軟件工程本科教學(xué)[J].中國(guó)大學(xué)教育,2006,(2):28-30.
[3]王彬斐.我國(guó)高等學(xué)校課程結(jié)構(gòu)優(yōu)化改革研究[D].蘭州:蘭州大學(xué),2007.
0 引言
教育部制定的“卓越工程師教育培養(yǎng)計(jì)劃”(簡(jiǎn)稱“卓越計(jì)劃”),是深入貫徹落實(shí)《國(guó)家中長(zhǎng)期教育改革和發(fā)展規(guī)劃綱要(2010-2020年)》和《國(guó)家中長(zhǎng)期人才發(fā)展規(guī)劃綱要(2010-2020年)》的重大改革項(xiàng)目,也是促進(jìn)我國(guó)從工程教育大國(guó)邁向工程教育強(qiáng)國(guó)的重大舉措。該計(jì)劃以“培養(yǎng)造就具有較強(qiáng)創(chuàng)新能力、實(shí)踐能力、國(guó)際化的高素質(zhì)工程技術(shù)人才”為目標(biāo),為國(guó)家走有中國(guó)特色的新型工業(yè)化發(fā)展道路,建設(shè)創(chuàng)新型國(guó)家和人才強(qiáng)國(guó)戰(zhàn)略服務(wù)。
軟件工程課程是軟件工程專業(yè)的核心課,是一門研究應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)、邏輯學(xué)、管理科學(xué)等原理,構(gòu)建和維護(hù)有效、實(shí)用和高質(zhì)量軟件的學(xué)科,旨在培養(yǎng)學(xué)生分析與設(shè)計(jì)軟件系統(tǒng)的能力,熟練使用各類流行軟件技術(shù)解決實(shí)際問題的能力和控制軟件質(zhì)量的能力。因此,在教學(xué)過程中,不僅要嚴(yán)格落實(shí)實(shí)踐教學(xué)實(shí)施方案,還要構(gòu)建能夠滿足實(shí)踐能力、創(chuàng)新能力培養(yǎng)要求的軟件工程知識(shí)體系,更重要的是在教學(xué)環(huán)節(jié)中如何貫徹落實(shí)“培養(yǎng)學(xué)生實(shí)踐能力與創(chuàng)新能力”這一培養(yǎng)目標(biāo)。
1 能力導(dǎo)向培養(yǎng)的重要性
隨著知識(shí)經(jīng)濟(jì)及信息產(chǎn)業(yè)的快速發(fā)展,信息產(chǎn)業(yè)已經(jīng)成為推動(dòng)國(guó)家經(jīng)濟(jì)發(fā)展的主導(dǎo)產(chǎn)業(yè),其中的軟件產(chǎn)業(yè)年均增長(zhǎng)率達(dá)38%,對(duì)信息產(chǎn)業(yè)和國(guó)民經(jīng)濟(jì)的發(fā)展起著重要的支撐作用。同時(shí),隨著經(jīng)濟(jì)全球化的進(jìn)一步推進(jìn),我國(guó)軟件業(yè)面臨更加廣闊的國(guó)際市場(chǎng)和前所未有的發(fā)展機(jī)會(huì)。
但是,我國(guó)社科院的中國(guó)信息化形勢(shì)分析研究報(bào)告顯示中國(guó)還不是軟件大國(guó),制約中國(guó)軟件產(chǎn)業(yè)發(fā)展的首要問題是人才問題。目前,在我國(guó)從事軟件和信息服務(wù)業(yè)的人員大約400萬,隨著云計(jì)算、物聯(lián)網(wǎng)等新興產(chǎn)業(yè)的發(fā)展,軟件人才在數(shù)量和結(jié)構(gòu)上仍存在重大缺口。據(jù)信息產(chǎn)業(yè)部預(yù)測(cè),軟件人才需求的增長(zhǎng)率將保持在每年l0%以上,人才的結(jié)構(gòu)比例呈現(xiàn)為“橄欖型”,即“高端人才”(系統(tǒng)分析師、項(xiàng)目經(jīng)理等)和“低端人才”(軟件編程人員)嚴(yán)重短缺,具有較強(qiáng)綜合能力、應(yīng)用能力的軟件工程師嚴(yán)重不足。
根據(jù)中國(guó)軟件產(chǎn)業(yè)人才培養(yǎng)戰(zhàn)略研討會(huì)公布的統(tǒng)計(jì)數(shù)據(jù)顯示:我國(guó)軟件開發(fā)人員缺口在50-60萬左右,未來5-10年中將缺少更大數(shù)量的軟件開發(fā)人才。與此同時(shí),計(jì)算機(jī)、軟件工程專業(yè)每年有大批畢業(yè)生就業(yè)難。核心問題在于,高校培養(yǎng)的計(jì)算機(jī)軟件人才不能適應(yīng)社會(huì)需要,不能滿足行業(yè)需求,人才與崗位需求不對(duì)接。國(guó)家“卓越計(jì)劃”也是針對(duì)上述問題提出,旨在鼓勵(lì)高校通過改革人才培養(yǎng)模式,強(qiáng)化校企合作,培養(yǎng)高素質(zhì)工程師后備人才。
2 課程教學(xué)中存在的問題
2.1 實(shí)踐環(huán)節(jié)比較薄弱,建設(shè)難度大
實(shí)踐教學(xué)是課堂教學(xué)的補(bǔ)充、延伸和深化,是課程教學(xué)的重要組成部分,與理論教學(xué)相互依托、相互滲透、相互補(bǔ)充,為學(xué)生更好地掌握課堂知識(shí)、提高實(shí)踐技能、培養(yǎng)創(chuàng)新能力提供有效的學(xué)習(xí)平臺(tái)。
第三方機(jī)構(gòu)對(duì)畢業(yè)生就業(yè)情況數(shù)據(jù)分析顯示,學(xué)生工作后發(fā)現(xiàn)在校期間學(xué)習(xí)的軟件工程課程是對(duì)職業(yè)發(fā)展影響最大的專業(yè)課程之一,但大多數(shù)學(xué)生在校期間對(duì)此卻認(rèn)識(shí)不足。其實(shí),問題的關(guān)鍵就是在教師的教學(xué)和學(xué)生的學(xué)習(xí)過程中,理論和實(shí)踐脫節(jié)。
在軟件工程專業(yè)開設(shè)之前,軟件工程課程是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的一門基礎(chǔ)課,教師在授課過程中大多偏重于基礎(chǔ)理論介紹,主要介紹有關(guān)軟件開發(fā)的基本原理,不開設(shè)課內(nèi)實(shí)驗(yàn)課程,強(qiáng)化軟件工程實(shí)踐能力的其他輔助課程也很少,實(shí)踐教學(xué)建設(shè)起步晚,發(fā)展比較薄弱。在軟件工程專業(yè)開設(shè)之后,為了提高學(xué)生創(chuàng)新能力和工程實(shí)踐能力,我們?cè)趯I(yè)課程設(shè)置中已經(jīng)強(qiáng)化了實(shí)踐教學(xué)環(huán)節(jié),有了一套比較完整的實(shí)踐教學(xué)體系。但在具體實(shí)施時(shí),由于任課教師沒有在企業(yè)任職經(jīng)歷,缺乏工程實(shí)踐經(jīng)驗(yàn),導(dǎo)致實(shí)踐教學(xué)變成為了實(shí)驗(yàn)而實(shí)驗(yàn)的教學(xué)環(huán)節(jié)。
雖然學(xué)校目前在企業(yè)實(shí)訓(xùn)方面已經(jīng)取得,一些成果,但在具體實(shí)施過程中卻遭遇校企合作難度大、合作水平較低、合作機(jī)制不靈活等情況,大部分校企合作僅局限于“學(xué)生短期實(shí)習(xí)”等淺層次水平,在培養(yǎng)應(yīng)用型、創(chuàng)新型人才方面作用有限。
2.2 課程群意識(shí)薄弱,課程建設(shè)孤立
現(xiàn)代軟件工程實(shí)踐的一個(gè)重要特點(diǎn)是多學(xué)科乃至國(guó)際化的團(tuán)隊(duì)協(xié)作,有效的團(tuán)隊(duì)協(xié)作已經(jīng)成為現(xiàn)代軟件工程的重要標(biāo)志。軟件工程課程體系分為兩大部分:理論教學(xué)體系和實(shí)踐教學(xué)體系。前者包括課程設(shè)置中軟件工程概論、軟件設(shè)計(jì)等側(cè)重基礎(chǔ)理論的課程,后者包括軟件測(cè)試、軟件開發(fā)案例分析等側(cè)重工程實(shí)踐的課程。理淪指導(dǎo)實(shí)踐,實(shí)踐驗(yàn)證理論,兩者相輔相成,構(gòu)成一個(gè)有機(jī)的課程微觀生態(tài)環(huán)境——課程群。
軟件工程課程群中的課程從理論課程之間的知識(shí)模塊劃分和銜接到配套實(shí)踐課程驗(yàn)證理論,每一部分相輔相成,互為補(bǔ)充。但在實(shí)際課程建設(shè)時(shí),任課教師往往只關(guān)注于自己負(fù)責(zé)的課程建設(shè),缺乏課程群意識(shí),每門課程各自的實(shí)踐課程只從與本課程相關(guān)的方面進(jìn)行設(shè)計(jì),學(xué)生對(duì)教學(xué)內(nèi)容的理解具有局限性和片面性,不能建立起完整的知識(shí)體系概念,導(dǎo)致課程間交叉內(nèi)容重復(fù)過多、基礎(chǔ)內(nèi)容薄弱、課程間銜接不力等問題。
3 課程建設(shè)方案
3.1 建立行之有效的課程建設(shè)管理機(jī)制
針對(duì)課程建設(shè)過程中容易出現(xiàn)孤立、重復(fù)等問題,我們?cè)谡n程建設(shè)過程中加強(qiáng)了宏觀調(diào)控
(1)依據(jù)課程間的關(guān)聯(lián)度,劃分課程群。按照培養(yǎng)方案中的課程設(shè)置以及教學(xué)內(nèi)容知識(shí)點(diǎn)之間的關(guān)聯(lián)度,將課程劃分為若干課程群。根據(jù)課程知識(shí)模塊,課程群一般包括兩門以上課程。例如軟件工程課程群包括軟件工程概論、軟件設(shè)計(jì)、軟件測(cè)試、軟件開發(fā)案例分析等;Java課程群包括Java編程基礎(chǔ)、Java Web應(yīng)用程序開發(fā)、Java企業(yè)級(jí)應(yīng)用開發(fā)。
(2)對(duì)應(yīng)課程群,成立課程組。每一個(gè)課程組由一名教學(xué)經(jīng)驗(yàn)豐富的教師作為負(fù)責(zé)人,課程組負(fù)責(zé)人承擔(dān)課程群的建設(shè)、課程組教師教學(xué)活動(dòng)的組織、各門課程教學(xué)資料(教學(xué)大綱、教材選報(bào)、試卷材料等)的審核、組內(nèi)各門課程的授課任務(wù)分配等工作。
(3)執(zhí)行“課程一課程組一系”三級(jí)負(fù)責(zé)機(jī)制,實(shí)施“課程一課程群一專業(yè)”分層次建設(shè)機(jī)制。在已建立課程組和課程負(fù)責(zé)人的基礎(chǔ)上,強(qiáng)化責(zé)任機(jī)制,任課教師負(fù)責(zé)課程建設(shè),課程組負(fù)責(zé)課程群建設(shè),系部負(fù)責(zé)專業(yè)建設(shè)。
課程組和課程負(fù)責(zé)人機(jī)制的實(shí)施,一方面使課程能夠持續(xù)深入建設(shè),另一方面使“課程一課程群一專業(yè)”成為一個(gè)有機(jī)的建設(shè)整體,避免了重復(fù)建設(shè)、孤立建設(shè)等問題,最終能夠有效地通過課程建設(shè)促進(jìn)專業(yè)建設(shè)。
3.2 以行業(yè)需求為導(dǎo)向,合理確定知識(shí)結(jié)構(gòu)
知識(shí)結(jié)構(gòu)是能力培養(yǎng)的基礎(chǔ),以軟件產(chǎn)業(yè)對(duì)人才規(guī)格的要求為導(dǎo)向,在滿足能力培養(yǎng)需要的前提下,學(xué)校以“必需、夠用”為度,給學(xué)生留有一定的發(fā)展空間,改革創(chuàng)新人才培養(yǎng)模式,進(jìn)一步優(yōu)化軟件工程的課程體系結(jié)構(gòu),根據(jù)課程群中各課程的相關(guān)性、課程知識(shí)的互補(bǔ)性進(jìn)一步整合課程,重新拼裝知識(shí)模塊,構(gòu)建整個(gè)課程體系,避免課程分散、泛而雜等現(xiàn)象,從而達(dá)到重點(diǎn)突出、效果顯著的目的。
(1)優(yōu)化課程內(nèi)容,修訂教學(xué)大綱。教學(xué)大綱是教學(xué)的基本依據(jù),包括課程的教學(xué)目的和要求,教學(xué)內(nèi)容提要及教學(xué)深度、廣度、學(xué)時(shí)分配、教學(xué)進(jìn)度、實(shí)習(xí)、實(shí)驗(yàn)、作業(yè)安排等。軟件工程課程組以提升學(xué)生能力、提高學(xué)生素質(zhì)為培養(yǎng)目標(biāo),結(jié)合學(xué)生特點(diǎn),規(guī)劃軟件工程課程群的設(shè)置,按知識(shí)模塊整合課程,修訂教學(xué)大綱,使各門課程成為一個(gè)有機(jī)整體;加強(qiáng)課程間聯(lián)系,實(shí)現(xiàn)從理論內(nèi)容到實(shí)踐教學(xué)的無縫銜接,按培養(yǎng)目標(biāo)強(qiáng)化課程構(gòu)建,深化課程體系建設(shè)。
(2)建立健全課程教學(xué)文件,規(guī)范教學(xué)秩序。課程教學(xué)文件包括:有關(guān)本課程的歷史和現(xiàn)狀及發(fā)展趨勢(shì)的資料、教學(xué)大綱、教材、優(yōu)秀教案、電子課件、試題庫(kù)、試卷分析、教學(xué)檢查情況、教學(xué)總結(jié)及改革計(jì)劃等。通過健全教學(xué)文件,分類保管,發(fā)揮教學(xué)文件在教學(xué)研究和改革中的作用。
3.3 以工程實(shí)踐能力培養(yǎng)為目標(biāo),構(gòu)建多層次實(shí)踐教學(xué)體系
無論是學(xué)校應(yīng)用型人才培養(yǎng)的定位,還是卓越工程師計(jì)劃,無一不在強(qiáng)調(diào)加強(qiáng)學(xué)生工程實(shí)踐能力培養(yǎng),因此構(gòu)建行之有效的實(shí)踐教學(xué)體系是課程建設(shè)的重中之重。
(l)構(gòu)建分階段、多層次的實(shí)踐教學(xué)體系,實(shí)施多元化實(shí)踐教學(xué)模式和教學(xué)方法改革。通過構(gòu)建“實(shí)驗(yàn)一案例一項(xiàng)目”多層次的實(shí)踐教學(xué)體系,學(xué)校實(shí)施“課堂實(shí)踐教學(xué)一課程實(shí)訓(xùn)一學(xué)期實(shí)訓(xùn)”的多元化全方位訓(xùn)練式實(shí)踐教學(xué)模式;加大實(shí)踐教學(xué)學(xué)時(shí),強(qiáng)調(diào)案例式、項(xiàng)目驅(qū)動(dòng)式教學(xué)方法,案例與項(xiàng)目貫穿課程始終,有效銜接其他課程。
(2)引入校企合作,實(shí)現(xiàn)畢業(yè)生的高層次就業(yè)。對(duì)于二本院校,校企合作的推行難度要大很多,因此,合作方法要靈活多樣。學(xué)校要加大與知名企業(yè)的聯(lián)合力度,創(chuàng)造合作機(jī)會(huì),例如和惠普合作的項(xiàng)目中,動(dòng)員學(xué)生走出去,到惠普的基地進(jìn)行長(zhǎng)期實(shí)訓(xùn)。同時(shí),聘請(qǐng)與學(xué)校合作的短訓(xùn)公司高級(jí)工程人才參與教學(xué)過程,指導(dǎo)學(xué)生實(shí)踐,將人才培養(yǎng)與人才需求真正結(jié)合起來,把握高層次用人單位的人才需求與發(fā)展情況,提高學(xué)生就業(yè)綜合競(jìng)爭(zhēng)力,實(shí)現(xiàn)畢業(yè)生的高層次高質(zhì)量就業(yè)。
3.4 實(shí)施“全方位訓(xùn)練式”教學(xué)模式
結(jié)合軟件工程專業(yè)的特點(diǎn),以卓越工程師的實(shí)施為契機(jī),我們?cè)诮虒W(xué)中引入“全方位訓(xùn)練式”的教學(xué)模式,通過實(shí)際案例、項(xiàng)目的協(xié)作,培養(yǎng)學(xué)生的溝通能力和團(tuán)隊(duì)協(xié)作精神。
(1)加大實(shí)踐教學(xué)學(xué)時(shí),強(qiáng)化實(shí)踐。首先保證相應(yīng)課程的課內(nèi)實(shí)驗(yàn)學(xué)時(shí),以便強(qiáng)化學(xué)生對(duì)理論知識(shí)的理解;其次為重點(diǎn)課程增加課程實(shí)訓(xùn),使學(xué)生對(duì)整個(gè)課程有一個(gè)綜合的理解和把握;最后展開學(xué)期實(shí)訓(xùn),使學(xué)生對(duì)課程群中的多門課程有一個(gè)全面的認(rèn)識(shí)。
(2)利用“課堂實(shí)踐教學(xué)一課程實(shí)訓(xùn)一學(xué)期實(shí)訓(xùn)一崗前實(shí)訓(xùn)”,全方位強(qiáng)化學(xué)生的專業(yè)實(shí)踐能力。課堂實(shí)踐教學(xué)以知識(shí)點(diǎn)的實(shí)驗(yàn)為主,使學(xué)生在實(shí)踐中加深理解,要求學(xué)生獨(dú)立完成。課程實(shí)訓(xùn)對(duì)一門課程的所有知識(shí)進(jìn)行總結(jié),要求學(xué)生小組配合,共同完成。學(xué)期實(shí)訓(xùn)一般安排在學(xué)期期末,跟學(xué)校小學(xué)期結(jié)合,對(duì)課程群相關(guān)課程進(jìn)行總結(jié)和驗(yàn)收,要求學(xué)生團(tuán)隊(duì)協(xié)作。全方位訓(xùn)練的模式旨在為學(xué)生將來從事課題研究、工程項(xiàng)目研發(fā)打下良好的基礎(chǔ)。
3.5 加大基礎(chǔ)教學(xué)資源建設(shè),提供學(xué)生自學(xué)平臺(tái)
高等教育不應(yīng)該僅僅是知識(shí)的單向傳授,更應(yīng)該是學(xué)生學(xué)習(xí)上的引導(dǎo)。豐富的教學(xué)資源是學(xué)生進(jìn)行自主學(xué)習(xí)的基本條件,但資源建設(shè)不是簡(jiǎn)單的素材堆砌,而是通過建立界面友好宜用的課程網(wǎng)站引導(dǎo)學(xué)生充分利用時(shí)間進(jìn)行自主學(xué)習(xí),激發(fā)學(xué)生的學(xué)習(xí)興趣。
學(xué)校還應(yīng)建設(shè)互動(dòng)式教學(xué)平臺(tái),打破教學(xué)時(shí)空限制,構(gòu)建以學(xué)生為中心的自主學(xué)習(xí)環(huán)境;建立課程教學(xué)資源網(wǎng),開發(fā)課程網(wǎng)上教學(xué)平臺(tái),為學(xué)生提供電子教案、多媒體課件、案例分析、習(xí)題作業(yè)、實(shí)驗(yàn)指導(dǎo)、相關(guān)學(xué)習(xí)網(wǎng)站鏈接等豐富的網(wǎng)上教學(xué)資源;同時(shí)提供在線測(cè)試、網(wǎng)上答疑等,擴(kuò)充課堂教學(xué)區(qū)域,使學(xué)生可以在任何時(shí)候、任何地點(diǎn)進(jìn)行互動(dòng)學(xué)習(xí)。
4 結(jié)語(yǔ)
教育部“卓越工程師教育培養(yǎng)計(jì)劃”的實(shí)施,對(duì)高等院校軟件工程專業(yè)人才培養(yǎng)和學(xué)生能力培養(yǎng)提出了更高的要求。我們依據(jù)市場(chǎng)以及信息產(chǎn)業(yè)對(duì)人才規(guī)格的需求,結(jié)合本專業(yè)的辦學(xué)定位和辦學(xué)特色,提出了能力導(dǎo)向型軟件工程課程群建設(shè)方案。該方案現(xiàn)已在軟件工程專業(yè)本科生培養(yǎng)中試運(yùn)行。接下來,我們將根據(jù)該方案的執(zhí)行情況進(jìn)行評(píng)估,以便進(jìn)行合理改進(jìn),更好地滿足社會(huì)對(duì)軟件工程人才的需求,培養(yǎng)出理論知識(shí)豐富、工程實(shí)踐能力強(qiáng)的高素質(zhì)軟件工程人才。