時間:2023-03-20 16:10:18
序論:好文章的創(chuàng)作是一個不斷探索和完善的過程,我們?yōu)槟扑]十篇軟件開發(fā)專業(yè)論文范例,希望它們能助您一臂之力,提升您的閱讀品質(zhì),帶來更深刻的閱讀感受。
John每天早上一睜眼,心理就沉甸甸的--又是難以忍受的一天!有上班的點,沒下班的點。其實身體的疲憊倒沒什么,更讓他難受的是心理的負擔(dān):工作的時候沒有樂趣、也談不上成就感,他也不知道這樣的日子什么時候才是盡頭。John已經(jīng)記不起來上次開心的笑是什么時候。他極不情愿地爬起來,硬著頭皮出了家門。公司里有他不愿面對的上司,和永遠也做不完的工作。
John在大學(xué)學(xué)的是計算機專業(yè),在學(xué)校的時候,他可是個活躍分子,還算個小名人呢,畢業(yè)后很自然地就在IT行里混。幾年下來,雖然也做了幾個軟件,但是一直對編程提不起興趣,找不到興奮點。雖說IT業(yè)不景氣,可他手上的工作一點沒少,只是荷包癟了些。痛苦,郁悶,他也想過跳槽,換一個行業(yè),但是又覺得自己除了編程什么都不會,于是幾次心理的騷動都被扼殺在搖籃里了。隨著年齡的增大,John的心理負擔(dān)越來越重,從"小John"現(xiàn)在都混成"John哥"了,IT可是個年輕人的行業(yè),John已經(jīng)覺得身體有些熬不住了,并且IT業(yè)技術(shù)更新?lián)Q代的速度給他越來越強的緊迫感--今后的職業(yè)生涯該怎么走?
在迷茫困惑中,John找到了成功職業(yè)指導(dǎo)中心,在測試和溝通之中職業(yè)顧問發(fā)現(xiàn)John有銷售的天賦,John也談到曾經(jīng)有一次偶然的機會,自己陪同市場部的同事給客戶做演示的時候,發(fā)現(xiàn)自己的說服技巧很能打動客戶,那次,客戶幾乎沒有什么大的修改意見,就接受了他們的方案,為此他們還好好慶祝了一番。
職業(yè)規(guī)劃師根據(jù)他的天賦和性格、興趣,為他的職業(yè)生涯做出了定位和規(guī)劃,并提出了一些具體的建議。John幾年來一直搞技術(shù),從來沒想過自己還可做銷售,心中雖有些興奮,但還是有些惴惴不安,死馬當(dāng)作活馬醫(yī)吧。可是現(xiàn)在,不到一年的時間,John已是中關(guān)村一家電子公司的銷售總監(jiān)。他在給職業(yè)規(guī)劃師的E-mail中寫道:我以前就象是擱淺的船在沙灘上拉著走,現(xiàn)在就象是沖浪--感覺完全不同。
0、引言
軟件測試是從事計算機軟件開發(fā)和維護專業(yè)的人員應(yīng)該掌握的一門技術(shù)。軟件測試是軟件工程中的關(guān)鍵活動之一,是保證軟件質(zhì)量的重要手段,其工作量通常占軟件開發(fā)總工作量的50%以上,而對于某些可靠性要求極高的軟件系統(tǒng),如航天、銀行等領(lǐng)域的軟件系統(tǒng),軟件測試占軟件開發(fā)總工作量的比例甚至達到60%~80%。軟件測試的目的是發(fā)現(xiàn)軟件中的錯誤,并及時修正這些軟件錯誤,以減少軟件在后出現(xiàn)錯誤,提高軟件產(chǎn)品質(zhì)量。軟件測試是一項需要專業(yè)技能的工作,它包含許多理論和實踐。如果缺少這些理論知識和實踐經(jīng)驗,測試的深度和廣度就不夠,測試質(zhì)量也就無法保證,從而導(dǎo)致軟件質(zhì)量達不到要求,影響軟件的可信性。
由于國內(nèi)軟件產(chǎn)業(yè)的現(xiàn)狀所致,很多的軟件公司屬于軟件外包型公司,這些公司以軟件開發(fā)為主。這樣,軟件工程專業(yè)很大一部分學(xué)生畢業(yè)后通常從事軟件開發(fā)或者程序員工作,這也影響著學(xué)校對軟件工程專業(yè)的設(shè)置。因此,當(dāng)前高校在軟件工程專業(yè)課程設(shè)置上往往將很大一部分精力放在軟件開發(fā)課程的設(shè)置上,如各種語言的學(xué)習(xí)、軟件開發(fā)方法的學(xué)習(xí)等。但是,軟件工程不僅包括軟件開發(fā),還包括軟件測試以及軟件維護。大部分國外大型軟件公司,如微軟、IBM等公司,這些公司對軟件測試非常重視。在這些公司內(nèi)部,軟件測試人員數(shù)量并不比軟件開發(fā)人員少,因為一個優(yōu)秀的軟件產(chǎn)品最終是通過不斷的軟件測試進行驗證和評價的。隨著軟件工程課程的不斷完善,當(dāng)前軟件測試的重要性已逐漸得到重視,很多高校已將軟件測試課程作為軟件工程專業(yè)課程中的必修課程。該課程是軟件工程的核心組成部分,是連接軟件開發(fā)和軟件的紐帶。通過本課程的學(xué)習(xí),學(xué)生要了解軟件測試及其管理的重要性,掌握軟件測試基本理論、技術(shù)和方法,具備研究設(shè)計測試用例和使用自動化測試工具的基本方法和實踐能力,能將測試驅(qū)動的理念融入軟件開發(fā)、維護的研究與應(yīng)用中,從工程化角度提高和培養(yǎng)學(xué)生從事大型軟件的測試技術(shù)和能力。
盡管軟件測試課程已作為軟件工程專業(yè)的必修課程,但從教師和學(xué)生兩個角度對該課程的調(diào)查反饋發(fā)現(xiàn),教師覺得該課程不好教,教學(xué)效果不好;而學(xué)生感覺該課程較空洞,沒有發(fā)現(xiàn)其在實際軟件開發(fā)中有多大的應(yīng)用。這主要因為在傳統(tǒng)的軟件測試教學(xué)中,學(xué)生只是被動地參與,聽教師授課,聽教師講授各種軟件測試概念和方法,但學(xué)生并沒有真正學(xué)到這些理念,并沒有對這些方法進行應(yīng)用。所以這種傳統(tǒng)的軟件測試教學(xué)方法效果很難令人滿意。
揚州大學(xué)信息工程學(xué)院將軟件測試課程作為一門雙語研究性課程進行試點改革,探討如何更好地進行軟件測試課程的教與學(xué)。本文將以該學(xué)院軟件工程專業(yè)軟件測試課程為例,探討學(xué)生自主學(xué)習(xí)的軟件測試雙語研究性教學(xué)方法。筆者作為該課程的授課人實施了本文的軟件測試教學(xué)方法,其目的是研究如何促進學(xué)生進行雙語研究性教學(xué),促進學(xué)生主動學(xué)習(xí)軟件測試新技術(shù),從而讓學(xué)生學(xué)到軟件測試課程中的一些測試?yán)砟?,讓他們了解軟件測試在整個軟件開發(fā)過程中的重要性。
1、軟件測試雙語研究性教學(xué)
軟件測試雙語研究性教學(xué)主要包括三方面內(nèi)容:教學(xué)、研究、實踐。這三者在軟件測試雙語研究性教學(xué)中的關(guān)系是:以教學(xué)為本學(xué)習(xí),以研究為重點突破,以實踐為輔助訓(xùn)練。下面分別介紹這三方面的內(nèi)容:
1)教學(xué)方面。
軟件測試雙語研究性教學(xué)和傳統(tǒng)的軟件測試教學(xué)一樣,根據(jù)軟件測試教學(xué)大綱進行教學(xué),主要包括軟件測試基本概念、軟件測試基本方法、白盒測試、黑盒測試等。由于研究性教學(xué)過程中加入了研究,所以教學(xué)是以基本的測試?yán)碚摵图夹g(shù)為主。另外,在教學(xué)過程中,由于本課程屬于雙語課程,所以教學(xué)過程中采用英文PPT,中文授課方式進行教學(xué)。另外,教學(xué)主要以啟發(fā)式教學(xué)為主,讓學(xué)生更多參與課堂討論,由于本文主要討論研究方面,所以這里對教學(xué)不做詳細討論。
2)研究方面。
本課程采用的是研究性教學(xué),因此研究是本課程的重點和特色。本課程所采取的研究方式主要以學(xué)生自主學(xué)習(xí)為主,采用閱讀文獻的方式。由于本課程是雙語教學(xué),研究過程中所提供的文獻材料全部是英文論文,這些材料都是從當(dāng)年軟件工程領(lǐng)域頂級國際會議中選取的有關(guān)軟件測試方面的最新技術(shù)和方法,這樣有助于學(xué)生開闊視野,了解最新的軟件測試技術(shù)、方法,及軟件測試發(fā)展的方向。這一部分的實施方法將在第3節(jié)進行詳細介紹。
3)實踐方面。
軟件工程是實踐性很強的專業(yè),同樣,軟件測試也是如此。需要通過不斷的實踐才能理解和掌握軟件測試技術(shù),將測試?yán)砟钬灤┑杰浖こ添椖恐?。本課程軟件測試實踐主要包括三方面內(nèi)容:一是驗證性實踐,熟悉已有測試工具,學(xué)會使用這些工具,并利用已有測試工具生成測試用例;二是自己開發(fā)軟件測試工具,主要根據(jù)研讀的論文進行工具的設(shè)計和開發(fā);三是軟件測試工具的驗證和評估,主要是對自己開發(fā)的工具進行驗證和評估。一方面利用已有測試工具來驗證當(dāng)前軟件測試工具,另一方面,利用已有軟件測試知識評估測試工具在故障識別方面的效率,這有助于學(xué)生更深地掌握軟件測試技術(shù),了解什么樣的測試技術(shù)是好的測試技術(shù)或者方法,是有效的測試工具。這一部分也不是本文的重點,因此不詳細展開討論。
2、軟件測試雙語研究性教學(xué)特色
本課程作為揚州大學(xué)軟件工程專業(yè)的試點課程,采用雙語研究性教學(xué)方式進行課程的授課和學(xué)習(xí)。對于雙語性教學(xué),主要采用英文材料,中文授課;而對于研究性教學(xué),主要是讓學(xué)生進行自主學(xué)習(xí)最新的軟件測試技術(shù)和方法,研讀相關(guān)的英文論文,進行專題報告和討論,并鼓勵學(xué)生開發(fā)實現(xiàn)這些技術(shù)。因此,在本課程的教學(xué)過程中,主要體現(xiàn)了5個特性。
(1)自主性:讓學(xué)生從給定的英文材料中自主選擇學(xué)習(xí)材料,自主組建團隊,自主與英文材料作者聯(lián)系、溝通、交流和討論。
(2)協(xié)作性:學(xué)生必須要組建團隊,團隊成員數(shù)量由2~4人構(gòu)成,團隊之間相互協(xié)作、配合,共同完成整個研究性學(xué)習(xí)過程。
(3)互動性:在學(xué)習(xí)過程中,必須要與論文作者溝通和交流,真正把握論文作者的真正意圖,并嘗試提出自己的見解,與論文作者進行討論。
(4)實踐性:要能夠?qū)崿F(xiàn)論文材料中的軟件測試方法,在工具開發(fā)過程中,鼓勵學(xué)生采取測試驅(qū)動的開發(fā)方法,并利用所掌握的軟件測試技術(shù)去測試自己的工具。
(5)研究性:在研讀論文過程中,要對論文進行深入的討論和研究,特別是對作者的思想以及未來工作、論文中的不足進行研究,提出可能的解決方案。
3、軟件測試雙語研究性教學(xué)實施
筆者主要針對軟件測試雙語研究性教學(xué)過程中的研究過程的實施進行討論。在本課程中,研究主要是采用學(xué)生閱讀文獻的方式進行自主學(xué)習(xí)的研究,主要針對當(dāng)前最新的軟件測試技術(shù)進行學(xué)習(xí)和研究。研究性教學(xué)具體的實施過程如圖1所示。
首先,教師從當(dāng)年軟件工程頂級國際會議中選取軟件測試相關(guān)的研究技術(shù)論文放入文獻庫中。這樣的文獻庫主要用于學(xué)生對當(dāng)前軟件測試的學(xué)習(xí)和研究。對于本科學(xué)生來說,獨立地去研讀這些最新技術(shù)還有一些難度,而且時間上也緊張。因此,研究性學(xué)習(xí)主要采取團隊方式一起研究,這樣學(xué)生進行自由分組,并且每個小組指派一名學(xué)生作為小組組長負責(zé)該小組的研究性學(xué)習(xí)進展。
有了文獻庫以及學(xué)生分組后,就進入自由選題階段,即各個小組從文獻庫中選取自己感興趣的論文。在各小組確定自己的研究論文后,進行論文的研讀。在論文研讀過程中,要求每個小組每周至少討論一次,討論各小組的分工任務(wù)完成情況,對原文的理解情況,以及對遇到的問題進行討論,并且項目小組要及時記錄這些討論記錄,每周發(fā)送給任課教師。另外,在研讀論文過程中,每個小組要用英文與論文作者進行溝通與交流(如果作者沒有回復(fù),可以選擇與課程教師進行交流),并將交流過程中的對話記錄下來作為課程成績考核的依據(jù)。
在論文研讀后,需專門安排幾節(jié)課進行專題報告和討論,主要用于檢查各小組對原文的理解情況。專題討論內(nèi)容包括三方面:一是學(xué)生對論文內(nèi)容的理解;二是學(xué)生需要提出對論文的見解和觀點,挖掘論文可能存在的問題或?qū)φ撐闹械奈磥砉ぷ鞑糠痔岢鲆娊?;三是本小組研讀論文的體會分享。在專題報告中,我們還邀請了學(xué)院的一些其他教師參與進來與學(xué)生們一起討論,一方面,教師對各個論文本身進行點評;另一方面,教師對各個小組的表現(xiàn)進行點評。另外,在專題報告中,強調(diào)學(xué)生的參與,就是大家要多提問,多討論。
專題討論后,各小組要對原文中軟件測試技術(shù)進行實現(xiàn)。其中,在軟件測試技術(shù)實現(xiàn)過程中,鼓勵采用測試驅(qū)動的軟件開發(fā)方法;另外,需使用已有的軟件測試技術(shù)和工具進行測試。在完成開發(fā)軟件測試工具后,需要選擇一些例子進行軟件測試技術(shù)的驗證。最后,各個小組需要提交一份總結(jié)報告,主要是關(guān)于技術(shù)實現(xiàn)進行總結(jié),包括這幾方面內(nèi)容:對論文原文的理解或技術(shù)改進,采用的測試技術(shù)和工具,技術(shù)改進效果的驗證和評估。
4、實施效果
該課程已在2012-2013年秋學(xué)期的揚州大學(xué)軟件工程專業(yè)的一個班按照本文教學(xué)方式進行實踐。該班學(xué)生40人,我們從2012年ICSE(International Conference on Software Engineering)、FSE(Symposium on the Foundations of Software)、ISSTA(Symposium on the Foundations of Soft-ware)、ICST(Intemational Conference on Sottware Testing,Verification and Validation)、ICSM(Inter-national Conference on Software Maintenance)等國際頂級會議上選取了44篇軟件測試相關(guān)的論文作為學(xué)生學(xué)習(xí)的資料庫。然后讓學(xué)生自由組隊,每組2~4人一起研讀論文。最后組隊15組,選擇了15篇論文進行學(xué)習(xí)和討論。在研讀論文過程中,建議學(xué)生自己與論文作者用英文進行交流和討論,討論論文中不能理解的內(nèi)容;在研讀完論文后,我們組織了專題報告,報告主要包括三方面:一是論文主要內(nèi)容;二是學(xué)生對論文的看法以及學(xué)生自己的想法;最后就是分享研讀過程中的體會。另外,我們鼓勵學(xué)生用英文進行報告(其中一組采用英文進行報告)。專題報告過程中我們還邀請軟件工程系相關(guān)教師一起進行點評。
自考計算機專業(yè)畢業(yè)論文 有1年準(zhǔn)備時間,寫作時間的分配主要取決于 考生軟件開發(fā)的進度,如果考生開發(fā)的軟件很成熟,那末后續(xù)的寫作時間就較快,否則后面的寫作就會很被動。例如,一般會在每年7月份登記,9月底開題,期間開發(fā)軟件,到第二年2、3月就要完成初稿,再留一個月修改。
1、選題。選題首先要重要、有意義。例如有的考生 選擇設(shè)計木馬程序,其本身是個病毒程序,這樣的程序只能帶來危害,實際生活中沒有意義,就不能用于做畢業(yè)論文。
2、開發(fā)軟件。開發(fā)軟件要與實際相結(jié)合。實際性非常重要,要自己能開發(fā)一個能實際運行的軟件。有的考生自己并沒有參與實際工作,只是看書是不行的。自己參與的可以是一個大的項目或課題組,論文中介紹完大的系統(tǒng)后,一定要把自己的工作量寫清楚。
3、寫論文。開發(fā)完就可以寫論文了,論文是個總結(jié),但是不要寫成工作總結(jié),一定要有主題,應(yīng)體現(xiàn)自己的開發(fā)思想和論述。寫論文要達到一定字數(shù),一般要3萬字。其中,編程代碼一般為2-3千行,
這個不是機器自動生成的代碼,一定是自己寫的源代碼。論文結(jié)構(gòu)
計算機專業(yè)畢業(yè)論文一般有8個部分。1、概述或引言。這個部分相當(dāng)于大綱,一般要求4-5千字,主要是對軟件開發(fā)背景,使用的軟件工具、環(huán)境,最后達到的效果,自我在里面的貢獻等;2、需求分析。軟件有哪些功能、模塊,用的什么工具等;3、設(shè)計方案和主要技術(shù)。主要是對里面每一部分的詳細論述,使用的是什么技術(shù),為什么使用。詳細的模塊分析或遇到的難點是怎樣解決的等;4、具體的實現(xiàn)過程;5、測試。介紹自己開發(fā)軟件實際達到的效果;6、總結(jié)。介紹自己開發(fā)軟件的體會,或自己開發(fā)的成果使用情況,有什么評價,自己還有哪些不足,有什么需要改進的地方;7、致謝;8、參考文獻。另外,還可以加一個“附錄”部分。正文只能有一個中心,其他有重要參考價值的都可以放在附錄部分。例如有重要的代碼、圖表,涉及其他領(lǐng)域的知識,需要解釋的等都可以放在附錄部分。案例1:《家裝工程預(yù)算軟件的開放》1、概述;2、需求分析;3、總體設(shè)計;4、數(shù)據(jù)庫設(shè)計;5、軟件功能的實現(xiàn);6、結(jié)論及改進;7、致謝;8、參考文獻。
案例2:《經(jīng)緯中天無線短信增值服務(wù)管理軟件的設(shè)計和開放》1、
引言;2、需求分析;3、設(shè)計方案論證和主要技術(shù)介紹;4、系統(tǒng)設(shè)計;5、編碼實現(xiàn);6、實際運行中出現(xiàn)的問題及相應(yīng)的解決方案;7、結(jié)束語;8、致謝;9、參考文獻。
答辯程序
答辯現(xiàn)場會有專業(yè)老師組成的答辯小組,一般為5人左右,學(xué)生抽簽分配答辯組。答辯現(xiàn)場要考生做介紹和演示。考生需要提前準(zhǔn)備幻燈片,一般不超過20張,為論文最核心部分的內(nèi)容??忌Y(jié)合幻燈片介紹論文,答辯小組老師會根據(jù)考生論文提出問題,考生要實事求是回答,最后答辯小組老師打分,求平均分給出考生論文成績。大部分考生都會達到優(yōu)、良,個別考生沒有通過論文,主要有兩方面原因:1、論文并不是自己真正所做,用別人的軟件為自己所用,老師一提問就能發(fā)現(xiàn)破綻;2、考生論得太簡單,達不到工作量。這就需要考生踏踏實實地按照要求去作論文。
零碎提醒
論文的題目不要太大,一定要具體、實際,不能吹成通用的;自考生考過全部 課程后,最好能尋求實踐機會??梢匀?yīng)聘公司,真正參與一個項目,一邊工作一邊寫論文;
論文不要上網(wǎng)抄,一定要自己做;
1.課程體系設(shè)置軟件工程學(xué)科正式確立的兩個標(biāo)志性文件是2004年IEEE推出的軟件工程知識體(SWEBOK)和軟件工程教育知識體(SEEK)。兩個文件內(nèi)容相近,都包含了軟件工程核心類的知識領(lǐng)域、基礎(chǔ)類或前導(dǎo)類的知識領(lǐng)域,以及其他相關(guān)領(lǐng)域的知識[4]。軟件工程研究生的培養(yǎng)從原則上說應(yīng)遵循上述兩個文件,圍繞上述知識領(lǐng)域進行教學(xué)。但由于這兩個文件將軟件工程的知識體系劃分為知識點,各領(lǐng)域之間必然存在重復(fù)和交疊。在課程設(shè)置上無法照搬上述兩個文件。以SEEK為基礎(chǔ),我們對軟件工程的課程設(shè)置進行規(guī)劃。整個課程設(shè)置被分為五個層次,分別為工程基礎(chǔ)課程、計算機基礎(chǔ)課程、軟件工程核心課程、擴展課程和實踐課程,如圖1所示。課程開設(shè)順序大體按照五個層次由低到高依次開展。其中,工程基礎(chǔ)課程提供軟件工程所需數(shù)學(xué)理論基礎(chǔ)、外語能力培養(yǎng)、軟件工程文檔寫作、論文寫作基本功訓(xùn)練。計算機基礎(chǔ)課程提供軟件開發(fā)必須的計算機基礎(chǔ)知識,如網(wǎng)絡(luò)、算法和數(shù)據(jù)庫知識。相對于本科課程而言,此類課程講授內(nèi)容更深入全面。軟件工程核心課程設(shè)置了高級軟件工程、軟件體系結(jié)構(gòu)和軟件測試與質(zhì)量保證三門課程。高級軟件工程側(cè)重于軟件分析與設(shè)計、軟件工程過程、軟件開發(fā)案例分析。軟件體系結(jié)構(gòu)側(cè)重于結(jié)構(gòu)風(fēng)格、案例研究、共享信息系統(tǒng)、結(jié)構(gòu)描述、結(jié)構(gòu)的分析與評估、特定領(lǐng)域的軟件體系結(jié)構(gòu)和流行的軟件體系結(jié)構(gòu)等。軟件測試與質(zhì)量保證著重于軟件質(zhì)量的改進,討論如何提高軟件質(zhì)量的方法。擴展課程包含系列領(lǐng)域知識課程,研究生可根據(jù)研究方向選擇兩門;軟件開發(fā)工具講授最新流行的軟件開發(fā)、過程管理所需要的軟件工具的使用,以實踐教學(xué)為主。軟件開發(fā)新技術(shù)研討課程以講座形式開展,教師和學(xué)生均可作為一個專題的主講。實踐課程包含校內(nèi)實踐、校外實踐和畢業(yè)設(shè)計三個環(huán)節(jié)。
2.培養(yǎng)流程與實施教育部明文規(guī)定,專業(yè)學(xué)位研究生學(xué)制原則上為兩年,同時要求應(yīng)屆本科生進行專業(yè)實踐不少于一年。一般來說,研究生在校課程學(xué)習(xí)時間應(yīng)有一年左右,加上專業(yè)實踐的一年,如何合理安排學(xué)習(xí)計劃,在兩年內(nèi)完成培養(yǎng)環(huán)節(jié)成了一個現(xiàn)實的重要問題。我校以周為單位制定了四川師范大學(xué)軟件工程專業(yè)學(xué)位研究生培養(yǎng)流程,如表1所示:上表規(guī)劃了研究生培養(yǎng)中的幾個關(guān)鍵環(huán)節(jié),依次為報到入學(xué)、課程學(xué)習(xí)、校內(nèi)實踐、校外實踐、開題、畢業(yè)設(shè)計、論文寫作和送審答辯。第一學(xué)期研究生主要是課程學(xué)習(xí),同時在校內(nèi)導(dǎo)師指導(dǎo)下開展文獻閱讀和編程能力鍛煉。第二學(xué)期前半學(xué)期結(jié)束理論課程的學(xué)習(xí)。后半學(xué)期和暑期開展校內(nèi)實踐和畢業(yè)設(shè)計開題工作。第三學(xué)期研究生到實習(xí)基地進行校外實踐。從第二學(xué)期后半段和整個第三學(xué)期,學(xué)生在專業(yè)實踐的同時,需完成畢業(yè)設(shè)計。從第二個寒假開始直到第四學(xué)期前六周,研究生完成畢業(yè)論文的初稿。從第七周開始,進行論文修改、、盲評和答辯工作。從培養(yǎng)流程表可以看出,這種安排具有兩個顯著特點。一是理論課程學(xué)習(xí)安排在一個半學(xué)期完成,二是實踐課程分為校內(nèi)實踐和校外實踐。研究生理論課程學(xué)習(xí)任務(wù)并不重,完全可壓縮到一學(xué)期半,同時可為實踐提供更多時間。校內(nèi)實踐非常有必要。由于是省屬高校學(xué)生大多能力一般,為保障學(xué)生進入企業(yè)能融入研發(fā)團隊從事技術(shù)工作,必須先期培訓(xùn)其實踐能力。這種安排時間較為緊湊,也比較合理,符合專業(yè)學(xué)位研究生側(cè)重于實踐能力培養(yǎng)的要求,也在兩年的學(xué)制內(nèi)確保了研究生的實踐時間不少于36周。
二、專業(yè)實踐能力的培養(yǎng)與訓(xùn)練
軟件開發(fā)能力是軟件工程專業(yè)碩士必備的核心能力,其能力培養(yǎng)既是對前端課程學(xué)習(xí)效果的檢驗,也是后端畢業(yè)設(shè)計和就業(yè)的必然需要。我校將軟件工程專業(yè)碩士實踐能力培養(yǎng)融入了眾多環(huán)節(jié)。從前期的實驗型課程教學(xué),到中期的校內(nèi)實踐、再到后期的校外實踐和畢業(yè)設(shè)計。實驗型課程教學(xué)解決軟件設(shè)計開發(fā)的基礎(chǔ)技能,校內(nèi)實踐解決中小規(guī)模軟件設(shè)計開發(fā)能力,校外實踐和畢業(yè)設(shè)計解決中大規(guī)模軟件設(shè)計能力。
1.實驗型課程教學(xué)包含軟件工具的使用訓(xùn)練、軟件開發(fā)環(huán)境的搭建、軟件開發(fā)案例分析和新技術(shù)研討。軟件工具的使用訓(xùn)練學(xué)生單個軟件開發(fā)工具的使用,如項目管理軟件Project、開發(fā)文檔化軟件Rational、軟件測試工具LOADRUNNER、QTP、TD等。由于這些工具結(jié)構(gòu)分散,還需進行開發(fā)環(huán)境的搭建訓(xùn)練。開發(fā)環(huán)境搭建訓(xùn)練內(nèi)容一為搭建基于微軟的VSTS和VisualStudio的開發(fā)平臺,適合.net方向;內(nèi)容二位、為搭建基于IBMRSA和Eclipse的開發(fā)平臺,適合J2EE方向。軟件開發(fā)案例分析中研究生將自己放在決策者的角度來思考項目所涉及到的具體問題,增強了學(xué)生的實際應(yīng)對能力。新技術(shù)研討促進學(xué)生或主動或被動地掌握了一些新興技術(shù),拓寬了技術(shù)領(lǐng)域。
2.校內(nèi)軟件開發(fā)實踐采用項目驅(qū)動形式開展。要求研究生必須申報各類實際的軟件開發(fā)項目,如四川省苗子工程、學(xué)校研究生科研創(chuàng)新項目、學(xué)院研究生科研創(chuàng)先項目。研究生可組織本科生參與項目實施,但必須任項目組長,在項目中擔(dān)任核心角色,完成軟件需求文檔審定、軟件架構(gòu)設(shè)計、軟件詳細設(shè)計、大部分編碼工作、測試方案制定等重要工作。
3.校外軟件開發(fā)實踐在上述環(huán)節(jié)經(jīng)歷后,研究生已經(jīng)掌握中小規(guī)模軟件開發(fā)的基本技能,此時將研究生派到實習(xí)基地,實戰(zhàn)參與企業(yè)軟件開發(fā)項目。其實踐由校內(nèi)導(dǎo)師和企業(yè)導(dǎo)師共同負責(zé)。前期技能的培養(yǎng)已保證研究生勝任企業(yè)中一般性的軟件開發(fā)角色。
4.畢業(yè)設(shè)計研究生在校內(nèi)和校外實踐的36周中,還需要同時進行畢業(yè)設(shè)計的開題、實施。研究生可結(jié)合企業(yè)實習(xí)工作完成畢業(yè)設(shè)計。專業(yè)實踐的考核分為定期匯報和實踐環(huán)節(jié)結(jié)束匯報兩種形式。研究生應(yīng)每隔兩個月集中匯報一次實習(xí)期工作心得,取得的成績等。實踐結(jié)束時在全院公開匯報,其成績作為實踐課程成績。
2.淺談軟件項目開發(fā)過程中的需求分析
3.軟件開發(fā)方法的創(chuàng)新發(fā)展過程研究
4.基于Java語言的安卓手機軟件開發(fā)
5.軟件開發(fā)的風(fēng)險分析與控制
6.軟件開發(fā)過程模型的發(fā)展
7.需求工程對于軟件開發(fā)的重要性
8.軟件復(fù)用技術(shù)及其在軟件開發(fā)中的應(yīng)用
9.試論VB編程語言在軟件開發(fā)中的應(yīng)用
10.軟件開發(fā)的風(fēng)險分析與控制
11.分析軟件開發(fā)中數(shù)據(jù)庫設(shè)計理論的實踐
12.基于WBS-RBS的軟件開發(fā)風(fēng)險識別與控制
13.敏捷軟件開發(fā)的雙迭代模型
14.基于MATLAB的汽車制動系統(tǒng)設(shè)計與分析軟件開發(fā)
15.軟件開發(fā)勞動計量方法與軟件成本估算
16.基于計算機軟件開發(fā)的JAVA編程語言分析
17.一種以軟件體系結(jié)構(gòu)為中心的網(wǎng)構(gòu)軟件開發(fā)方法
18.基于構(gòu)件的軟件開發(fā)的方法與實踐
19.ABC:基于體系結(jié)構(gòu)、面向構(gòu)件的軟件開發(fā)方法
20.面向軟件開發(fā)信息庫的數(shù)據(jù)挖掘綜述
21.淺談三層架構(gòu)在軟件開發(fā)中的應(yīng)用
22.使用開源軟件進行軟件開發(fā)的風(fēng)險分析
23.汽車電子控制單元軟件開發(fā)模式研究
24.軟件開發(fā)與層次化思維方式
25.SQA規(guī)范對于教育軟件開發(fā)的啟示
26.基于證據(jù)理論的軟件開發(fā)風(fēng)險評估方法
27.軟件開發(fā)人員績效管理中的問題及對策
28.敏捷型軟件開發(fā)方法與極限編程概述
29.信息化軟件開發(fā)項目經(jīng)理績效考評研究
30.基于“眾包”的軟件開發(fā)模式
31.軟件開發(fā)模型研究綜述
32.支持第四代語言的并行進化式軟件開發(fā)模型CESD
33.光滑粒子動力學(xué)核心算法與軟件開發(fā)中的關(guān)鍵問題
34.面向重用的軟件開發(fā)價值鏈
35.基于MVC模式的應(yīng)用軟件開發(fā)框架研究
36.支持模型驅(qū)動式軟件開發(fā)的建模語言框架研究
37.3G智能終端軟件開發(fā)實驗教學(xué)改革的思考
38.軟件開發(fā)國際合作模式研究
39.地理信息系統(tǒng)專業(yè)學(xué)生GIS軟件開發(fā)能力的培養(yǎng)
40.有色Petri網(wǎng)在軟件開發(fā)中的應(yīng)用
41.淺談軟件開發(fā)的成本核算
42.一種高效率的軟件開發(fā)方法——以用戶為中心的軟件開發(fā)方法(UCD)
43.軟件開發(fā)成本估算技術(shù)綜述
44.基坑雙排樁支護結(jié)構(gòu)設(shè)計計算軟件開發(fā)及應(yīng)用
45.軟件構(gòu)架設(shè)計在軟件開發(fā)中的意義
46.面向軟件開發(fā)信息庫的數(shù)據(jù)挖掘綜述
47.談軟件開發(fā)中的需求分析
48.淺談插件化軟件開發(fā)
49.計算機軟件技術(shù)在植保軟件開發(fā)中的應(yīng)用
50.Onboard:以數(shù)據(jù)驅(qū)動的敏捷軟件開發(fā)協(xié)同工具
51.軟件開發(fā)綜合能力培養(yǎng)的案例教學(xué)
52.軟件配置管理在軟件開發(fā)平臺中的應(yīng)用
53.軟件開發(fā)成本估算模型的研究
54.軟件開發(fā)績效評價指標(biāo)體系的構(gòu)建
55.淺談計算機軟件開發(fā)技術(shù)的應(yīng)用研究與趨勢
56.軍用軟件開發(fā)工程化質(zhì)量管理研究
57.計算機軟件開發(fā)中的分層技術(shù)探討
58.基于學(xué)生軟件開發(fā)團隊的溝通機制研究
59.項目管理在軟件開發(fā)中的應(yīng)用
60.面向農(nóng)業(yè)軟件開發(fā)的構(gòu)件庫研究與實現(xiàn)
61.搭建式GIS軟件開發(fā)及其對軟件工程的影響
62.軟件開發(fā)過程中的質(zhì)量管理探析
63.軟件開發(fā)本體構(gòu)建與模塊化的應(yīng)用研究
64.基于CDIO的高職軟件開發(fā)專業(yè)課程體系設(shè)計
65.典型建筑火災(zāi)風(fēng)險評估體系及其軟件開發(fā)
66.有效的軟件開發(fā)項目風(fēng)險管理模型
67.框架技術(shù)在軟件開發(fā)中的研究與實踐
68.淺論新時期計算機軟件開發(fā)技術(shù)的應(yīng)用及發(fā)展趨勢
69.基于軟構(gòu)件的軟件開發(fā)框架研究
70.面向軟件開發(fā)信息庫的數(shù)據(jù)挖掘綜述
71.模型驅(qū)動的軟件開發(fā)模式研究
72.以《數(shù)據(jù)結(jié)構(gòu)》為核心的軟件開發(fā)課程群建設(shè)
73.護理信息網(wǎng)絡(luò)化管理的研究與軟件開發(fā)
74.分層技術(shù)在計算機軟件開發(fā)中的應(yīng)用
75.軟件開發(fā)生命周期法比較之敏捷與傳統(tǒng)
76.基于虛擬硬件在環(huán)的控制軟件開發(fā)
77.項目管理在軟件開發(fā)中的應(yīng)用分析
78.項目管理在軟件開發(fā)中的應(yīng)用研究
79.軟件開發(fā)中的設(shè)計原則
80.基于學(xué)習(xí)遺忘作用的人員調(diào)度實驗設(shè)計及其軟件開發(fā)
81.基于網(wǎng)絡(luò)的可信軟件大規(guī)模協(xié)同開發(fā)與演化
82.華池油田結(jié)垢預(yù)測及軟件開發(fā)
83.探析計算機軟件開發(fā)的規(guī)范化
84.軟件開發(fā)自動化平臺的研究與應(yīng)用
85.架構(gòu)和面向?qū)ο蠹夹g(shù)在PLC軟件開發(fā)中的應(yīng)用
86.國外XBRL軟件開發(fā)技術(shù)比較及啟示
87.企業(yè)軟件開發(fā)標(biāo)準(zhǔn)化探討
88.智能手機操作系統(tǒng)及其Google Android上的軟件開發(fā)
89.淺析軟件測試在軟件開發(fā)中的重要意義——從軟件功能測試的作用談起
90.軟件開發(fā)方法及其應(yīng)用
91.使用嵌入式Linux操作系統(tǒng)進行軟件開發(fā)的特點及優(yōu)勢
92.基于VB中MSComm控件的通信軟件開發(fā)與實現(xiàn)
93.軟件開發(fā)管理中的溝通與協(xié)調(diào)問題研究
94.基于Java語言的安卓軟件開發(fā)的研究
95.關(guān)于計算機軟件開發(fā)語言的研究
96.新時期計算機軟件開發(fā)技術(shù)的應(yīng)用研究
97.培養(yǎng)大學(xué)生軟件開發(fā)創(chuàng)新能力的探索與實踐
信息管理與信息系統(tǒng)專業(yè)雖然屬于管理學(xué),但其主干學(xué)科包括計算機科學(xué)與技術(shù)、經(jīng)濟學(xué)、管理學(xué)等三個,該專業(yè)的綜合性、實踐性很強,但是目前各高校該專業(yè)的實踐教學(xué)體系不完備,還未自成一家、各具特色,以致畢業(yè)生實踐能力不突出,特色彰顯不夠,就業(yè)競爭力不強,培養(yǎng)應(yīng)用型人才是當(dāng)務(wù)之急,核心是要培養(yǎng)學(xué)生的應(yīng)用能力、創(chuàng)新能力和工程素養(yǎng)。要達到本目標(biāo),就要大力加強和完善實踐教學(xué)環(huán)節(jié),建立多層次、一體化的實踐教學(xué)體系。
曲靖師范學(xué)院信息管理與信息系統(tǒng)專業(yè)從2008年開辦至今,已經(jīng)培養(yǎng)5屆學(xué)生,一直以來,我們不斷加強和完善該專業(yè)的實踐教學(xué)環(huán)節(jié),形成了四位一體的實踐教學(xué)體系,取得了良好的效果。
2實踐教學(xué)體系的“硬件位”
實踐教學(xué)體系的“硬件位”強調(diào)實驗室建設(shè)。實驗室是開展教研的硬件基礎(chǔ),沒有這個基礎(chǔ),一切教研工作就是空中樓閣。我們一直重視信息管理與信息系統(tǒng)專業(yè)的實驗室建設(shè)。采購實驗設(shè)備的指導(dǎo)思想是實驗設(shè)備要先進、實用,充分滿足學(xué)生的學(xué)習(xí)和教師的教學(xué)科研的需要。
該專業(yè)已經(jīng)建成硬件實驗室有2個:計算機組成原理實驗室、計算機組裝與維護實驗室,通信與網(wǎng)絡(luò)實驗室有2個:計算機通信實驗室、計算機網(wǎng)絡(luò)實驗室,信息管理類的實驗室有3個:數(shù)字庫應(yīng)用實驗室、信息管理與軟件實驗室、信息技術(shù)創(chuàng)新實驗室。同時為適應(yīng)當(dāng)今云計算、大數(shù)據(jù)的大趨勢,我們投資200多萬建立了云計算平臺。
這些實驗室的更新及新建,能充分滿足學(xué)生的學(xué)習(xí)和教師的教學(xué)及科研的需要。
3實踐教學(xué)體系的 “抓手位”
專業(yè)技能訓(xùn)練提升學(xué)生實踐能力的抓手,在學(xué)生的整個大學(xué)四年期間,為了在不同學(xué)期提升學(xué)生的綜合實踐能力,我們開展了貫穿大學(xué)4年的專業(yè)技能訓(xùn)練。
專業(yè)技能訓(xùn)練是實踐教學(xué)體系的抓手,專業(yè)技能訓(xùn)練的目的是根據(jù)訓(xùn)練大綱,我們應(yīng)以項目為驅(qū)動來創(chuàng)新該專業(yè)的實踐教學(xué)體系[1],提升學(xué)生應(yīng)具備的專業(yè)素養(yǎng)和能力,形成幾大子抓手,再作專項的打造。
我院的專業(yè)技能訓(xùn)練主要包括兩個級別,一是課程設(shè)計訓(xùn)練,本訓(xùn)練以課程為依托,制定課程級別的訓(xùn)練大綱和測試方案;二是綜合設(shè)計訓(xùn)練,訓(xùn)練學(xué)生綜合能力,要求學(xué)生能靈活應(yīng)用所學(xué)課程,完成一個綜合性、設(shè)計性項目。
3.1 課程設(shè)計訓(xùn)練
“課程設(shè)計”一個多義詞詞條。它可以指“為掌握某一課程內(nèi)容所進行的設(shè)計”[2]。課程設(shè)計是課程實驗的高級環(huán)節(jié),課程實驗是提升學(xué)生立體實踐能力的根本,課程實驗分為驗證性實驗、綜合性實驗和課程設(shè)計實驗,我們在傳統(tǒng)驗證性實驗的基礎(chǔ)上開展課程設(shè)計實驗,提升學(xué)生的課程綜合實踐能力。
信息管理與信息系統(tǒng)專業(yè)的核心課程有6門,分別是:Java程序設(shè)計、管理信息系統(tǒng)、數(shù)據(jù)庫原理、計算機網(wǎng)絡(luò)及實驗、管理學(xué)、經(jīng)濟學(xué)。我們針對這些課程,在編寫實驗大綱時,就要求編寫課程對應(yīng)的課程設(shè)計,設(shè)計方案要經(jīng)過教研室的審核和信息工程學(xué)院教授委員的討論及審定。以審定通過的課程設(shè)計為依托,為后續(xù)綜合實踐能力的提升打下堅實的基礎(chǔ)。
以《Java程序設(shè)計》課程設(shè)計為例,課程設(shè)計的目的:利用Java語言的語法特性,結(jié)合數(shù)據(jù)結(jié)構(gòu)算法、網(wǎng)絡(luò)知識、文件處理和數(shù)據(jù)庫等知識完成綜合題目的設(shè)計和代碼實現(xiàn),并培養(yǎng)鍛煉分析程序、撰寫報告等能力。
3.2 綜合設(shè)計訓(xùn)練
綜合設(shè)計訓(xùn)練的目的是鍛煉學(xué)生綜合所學(xué)知識,設(shè)計和開發(fā)一個小項目的能力。這些項目有“ERP企業(yè)應(yīng)用”、“Oracle運維管理”、“大數(shù)據(jù)管理”、“Java Web開發(fā)”等,這些小項目的訓(xùn)練要基于幾門課的知識和技能,如“Java Web開發(fā)”就需要學(xué)生綜合數(shù)據(jù)庫、數(shù)據(jù)結(jié)構(gòu)、軟件工程、計算機程序設(shè)計等知識與技能。
綜合設(shè)計訓(xùn)練要與畢業(yè)設(shè)計區(qū)別開來,此訓(xùn)練的主要目的是讓學(xué)生體驗和掌握項目開發(fā)流程,同時鍛煉綜合應(yīng)用所學(xué)課程來完成一個具體的小項目。
3.3 信息管理與信息系統(tǒng)專業(yè)技能訓(xùn)練安排
為鼓勵學(xué)生多渠道獲得技能分,我們規(guī)定,學(xué)生在校期間,通過全國計算機技術(shù)與軟件專業(yè)技術(shù)資格(水平)考試的中級資格、全國計算機等級考試的四級證書、思科(微軟、ORACLE、華為、H3C或銳捷)的工程師級別認證、中級會計師,可獲得3個學(xué)分;通過全國計算機技術(shù)與軟件專業(yè)技術(shù)資格(水平)考試的高級資格、思科(微軟、ORACLE、華為、H3C或銳捷)的高級工程師級別認證,可獲得4個學(xué)分。
4實踐教學(xué)體系的“信息系統(tǒng)開發(fā)能力位”
本專業(yè)的學(xué)生要求具體一定和信息系統(tǒng)開發(fā)能力,該能力通過畢業(yè)論文(設(shè)計)來煉成。畢業(yè)論文(設(shè)計)是教學(xué)過程的最后階段采用的一種總結(jié)性的實踐教學(xué)環(huán)節(jié)。通過畢業(yè)設(shè)計,學(xué)生可以綜合應(yīng)用所學(xué)的各種理論知識和技能,進行全面、系統(tǒng)、嚴(yán)格的技術(shù)及基本能力的練習(xí)。[3]畢業(yè)論文(設(shè)計)是實踐教學(xué)體系的技能整合,我院對畢業(yè)論文(設(shè)計)作重大改革,著力打造學(xué)生綜合實踐能力
參加畢業(yè)論文(設(shè)計)的學(xué)生分兩部分,一部分在公司實習(xí),同時要在公司完成畢業(yè)設(shè)計工作,余下的學(xué)生在校內(nèi)完成畢業(yè)論文工作,為提高畢業(yè)論文(設(shè)計)的質(zhì)量,經(jīng)向教務(wù)處請示,允許我院結(jié)合專業(yè)實踐性強的實際,改革本專業(yè)畢業(yè)論文(設(shè)計)工作。改革思路包括三點,一是我院學(xué)生的畢業(yè)論文(設(shè)計)以畢業(yè)設(shè)計為主,弱化對學(xué)生文本的要求,強化對實踐動作能力的提升和檢查,二是做好規(guī)范管理工作,制定相關(guān)文件,如:“信息工程學(xué)院畢業(yè)論文(設(shè)計)工作規(guī)定”、 “信息工程學(xué)院畢業(yè)設(shè)計開發(fā)文檔的撰寫與打印規(guī)范” 、“信息工程學(xué)院畢業(yè)設(shè)計開發(fā)文檔”等。
5實踐教學(xué)體系的“校企合作位”
為提升學(xué)生的實習(xí)水平,滿足用人單位的需求。我們自2013年開始,與四川華迪信息技術(shù)有限公司開展畢業(yè)實習(xí)合作,該公司是一家集軟件外包、信息服務(wù)、學(xué)生專業(yè)技能培訓(xùn)為一體的軟件公司,在全國小有名氣。學(xué)生參加校企合作實習(xí)有兩種類型,一是為期三個月的專業(yè)實習(xí),二是為期四個月的就業(yè)培訓(xùn)。三個月的專業(yè)實習(xí)分為軟件開發(fā)方向和網(wǎng)絡(luò)方向,軟件開發(fā)實訓(xùn)重點是提升學(xué)生的軟件開發(fā)實踐能力和水平,網(wǎng)絡(luò)方向的實訓(xùn)重點是提升學(xué)生的網(wǎng)絡(luò)設(shè)計、實施、部署能力。
中國軟件產(chǎn)業(yè)的快速增長已成為拉動我國經(jīng)濟增長的關(guān)鍵點之一,要保持我國軟件產(chǎn)業(yè)的快速發(fā)展,必須大量培養(yǎng)適合軟件產(chǎn)業(yè)需求的軟件從業(yè)人員[1]。目前,河南省有43所軟件(職業(yè)技術(shù))學(xué)院。學(xué)生培養(yǎng)模式都強調(diào)應(yīng)用,注重實踐。實訓(xùn)基地是各學(xué)校學(xué)生實踐教學(xué)的主要場地。近幾年,根據(jù)河南省教育廳教育事業(yè)發(fā)展規(guī)劃,省內(nèi)各軟件學(xué)院都建立了自己的實訓(xùn)基地,但實訓(xùn)基地建設(shè)并沒有統(tǒng)一的標(biāo)準(zhǔn),教學(xué)效果也存在很大差距。本文以河南大學(xué)軟件學(xué)院的實訓(xùn)教學(xué)為例,分析研究軟件學(xué)院實訓(xùn)基地的建設(shè)情況。
一、軟件學(xué)院實訓(xùn)基地建設(shè)的指導(dǎo)思想
以高素質(zhì)的雙師型教學(xué)團隊為依托,利用完善的校內(nèi)實訓(xùn)基地和相對穩(wěn)定的校外實訓(xùn)基地,通過構(gòu)建合理的課程結(jié)構(gòu)和教材體系,將課堂教學(xué)與技術(shù)實踐相結(jié)合,教學(xué)評價與人才培育相結(jié)合,建設(shè)一個以培養(yǎng)學(xué)生的實際操作和技能應(yīng)用能力為目標(biāo)的軟件學(xué)院實訓(xùn)基地。
二、軟件學(xué)院實訓(xùn)基地的建設(shè)內(nèi)容和主要模塊
根據(jù)軟件學(xué)院實訓(xùn)基地建設(shè)的指導(dǎo)思想,我們充分利用現(xiàn)有資源,加大投資力度,營造了仿真的企業(yè)化實訓(xùn)環(huán)境,建立以校內(nèi)實訓(xùn)為中心和相對穩(wěn)定的校外實訓(xùn)基地,加強“雙師型”實訓(xùn)教師隊伍建設(shè)[2]、實訓(xùn)課程結(jié)構(gòu)建設(shè)和教材體系建設(shè),進一步健全以實訓(xùn)中心為核心的基地管理模式和學(xué)生考核體系,將職業(yè)道德教育融入實訓(xùn)教育過程中,建立了相對完善、標(biāo)準(zhǔn)化、規(guī)范化的人才培養(yǎng)實訓(xùn)基地。
(1)完善的校內(nèi)實訓(xùn)中心
校內(nèi)實訓(xùn)基地主要用于培訓(xùn)學(xué)生的基本技能操作,將課堂教學(xué)融入實踐中,達到學(xué)生能夠獨立完成教學(xué)實驗的目標(biāo)。校內(nèi)實訓(xùn)基地的建設(shè)有四個原則:①仿真的企業(yè)環(huán)境,②高技術(shù)含量,③開放性好,④通用性強[3]。軟件學(xué)院需要建立軟件開發(fā)工程、軟件測試工程和網(wǎng)絡(luò)工程三個基本技能培養(yǎng)基地組成實訓(xùn)中心,實訓(xùn)中心的設(shè)備、工具及環(huán)境與軟件開發(fā)企業(yè)環(huán)境基本相同。校內(nèi)實訓(xùn)中心實行全天開放式運作模式,學(xué)生可根據(jù)學(xué)習(xí)內(nèi)容自選項目進行實訓(xùn)。
(2)相對穩(wěn)定的校外實訓(xùn)基地
要實現(xiàn)培養(yǎng)創(chuàng)新型、實用型和先進型人才,必須進行校企合作,建立相對穩(wěn)定的高層次的校外實訓(xùn)基地[4]。校外實訓(xùn)基地建設(shè)有以下方法:一是和實訓(xùn)機構(gòu)合作,選派優(yōu)秀學(xué)生到實訓(xùn)機構(gòu)深造,對高素質(zhì)學(xué)生進行專項培養(yǎng);二是與大中型企業(yè)開展深層次的校企合作,采用產(chǎn)學(xué)研結(jié)合、定向培養(yǎng)等方式,將學(xué)生送到企業(yè)進行長期實習(xí)或在企業(yè)完成畢業(yè)設(shè)計;三是與學(xué)校周邊企業(yè)合作,根據(jù)企業(yè)的用人要求選派學(xué)生到企業(yè)頂崗實習(xí)。
(3)高水平的軟件開發(fā)師資隊伍
實訓(xùn)基地注重實際應(yīng)用,因此,軟件學(xué)院的實訓(xùn)教師必須具備“理論+實踐”的雙強型素質(zhì)。培養(yǎng)高水平的師資隊伍是各軟件學(xué)院的一項重要任務(wù)。科技論文,指導(dǎo)思想??蛇x擇下列途徑:一是安排實訓(xùn)機構(gòu)對專業(yè)教師進行專門培訓(xùn),提高項目帶隊開發(fā)能力;二是可派專業(yè)教師帶領(lǐng)學(xué)生一起
到企業(yè)實習(xí),既可以提高教師的實際應(yīng)用能力,又可以使學(xué)生“理論有老師,實踐找導(dǎo)師”;三是聘請企業(yè)資深開發(fā)人員到校內(nèi)實訓(xùn)基地指導(dǎo)項目開發(fā);四是有計劃地選派專業(yè)教師到科研院所或高校繼續(xù)深造。
(4)合理的實訓(xùn)課程結(jié)構(gòu)和教材體系
實訓(xùn)教學(xué)既不能簡單使用以課程為驅(qū)動的學(xué)校培養(yǎng)模式,也不能單純應(yīng)用以項目為驅(qū)動的企業(yè)培養(yǎng)模式,需要根據(jù)培養(yǎng)目標(biāo)設(shè)計一種以課程和項目并行,以項目帶動課程的新模式(如圖1所示)。課程結(jié)構(gòu)設(shè)置以培養(yǎng)學(xué)生的項目開發(fā)能力為目的,我們對專業(yè)科目進行調(diào)整,以每學(xué)期的實訓(xùn)項目為主導(dǎo)重新設(shè)置相關(guān)課程。同時,在教學(xué)中增加實訓(xùn)課程比例,每學(xué)期前六周由各專業(yè)課教師集中授課,第七、八、九周由各專業(yè)課教師帶領(lǐng)進行課程實訓(xùn),第十至十四周由各專業(yè)教師各帶領(lǐng)一組學(xué)生進行學(xué)期項目實訓(xùn);并且在最后一個學(xué)期分組開展企業(yè)綜合實踐實訓(xùn)。對課程實訓(xùn)項目,根據(jù)教材內(nèi)容設(shè)計統(tǒng)一的軟件設(shè)計項目。對于學(xué)期實訓(xùn)項目,根據(jù)技術(shù)發(fā)展需要安排設(shè)計軟件開發(fā)系統(tǒng)或子系統(tǒng)。在企業(yè)綜合實踐實訓(xùn)方面,讓具有2—4個學(xué)期實訓(xùn)項目開發(fā)經(jīng)驗的學(xué)生在“高、真、開、通”的仿真企業(yè)化實訓(xùn)基地進行綜合性軟件開發(fā)項目實戰(zhàn)訓(xùn)練,并由“雙師型”或者企業(yè)的一線專家來指導(dǎo),使學(xué)生有一種“學(xué)習(xí)如工作,實習(xí)如上崗”的心態(tài),這種實訓(xùn)模式一方面是培養(yǎng)學(xué)生解決綜合性開發(fā)的技術(shù)及能力,另一方面是為了加強學(xué)生的職業(yè)規(guī)范化訓(xùn)練,完成關(guān)鍵能力的培養(yǎng)。
這種模式可以提供給學(xué)生更多的參與實戰(zhàn)的機會,既避免了學(xué)校模式中授課周期過長,過分注重理論的缺點,又避免了企業(yè)模式中理論學(xué)習(xí)周期極短,對于新手來說容易遺漏核心技術(shù)的缺點,更大程度地提高了學(xué)生實訓(xùn)的質(zhì)量,并且從根本上改變了目前高校普遍采用的那種學(xué)期結(jié)束時一門課程一個實驗的上機考核形式,使學(xué)生通過這種鍛煉逐步熟悉企業(yè)化的項目開發(fā)流程,達到“畢業(yè)能就業(yè),就業(yè)能適應(yīng)”的目的。
為適應(yīng)上述實訓(xùn)要求,在教材的編寫上我們需要采用“在固定中彰顯靈活,以更新適應(yīng)變化”的策略,教材編寫以提煉基礎(chǔ)為主。實訓(xùn)過程以精講基礎(chǔ),專講項目開發(fā)為主,通過實訓(xùn)平臺的使用和強化項目開發(fā)將兩者結(jié)合,徹底解決了理論教學(xué)與實踐操作“兩張皮”的格局。各實訓(xùn)教材之間各有側(cè)重,既突出重點,又相互聯(lián)系,而且層層遞進,形成多層次多角度實訓(xùn)教材體系。
(5)嚴(yán)格的實訓(xùn)教學(xué)管理和考核
實訓(xùn)教學(xué)與專業(yè)理論課教學(xué)一樣,有著本身的運行規(guī)律和特性,對教師和學(xué)生的考核評價也應(yīng)有一套相應(yīng)的標(biāo)準(zhǔn),這就要求在實訓(xùn)基地建設(shè)中建立規(guī)范的、符合實訓(xùn)教學(xué)目的、操作性強的管理和考核評價體系。
嚴(yán)格教師和學(xué)生的管理與考核。對實訓(xùn)教師實行打卡制度,嚴(yán)格規(guī)定實訓(xùn)上下班時間;由學(xué)生對實訓(xùn)教學(xué)成果進行評價。保證實訓(xùn)過程中學(xué)生的出勤率,在實訓(xùn)結(jié)束時由實訓(xùn)教師給出學(xué)生的實訓(xùn)表現(xiàn)和成績。加強對實訓(xùn)教學(xué)項目開發(fā)過程的監(jiān)管。對每個實訓(xùn)性教學(xué)項目,指導(dǎo)教師都要事先列出:①實訓(xùn)教學(xué)大綱;②實訓(xùn)教學(xué)計劃;③實訓(xùn)教學(xué)指導(dǎo)書;④實訓(xùn)報告書;⑤實訓(xùn)教學(xué)考核;⑥實訓(xùn)教學(xué)總結(jié)。通過這些書面材料及時查找實訓(xùn)過程中指導(dǎo)教師存在的問題和學(xué)生在項目開發(fā)中出現(xiàn)的問題。
在實訓(xùn)指導(dǎo)模式方面,采用“導(dǎo)師制+導(dǎo)生制”的指導(dǎo)模式(即項目經(jīng)理+學(xué)生的輔導(dǎo)模式),可以選擇專業(yè)方面能力較強的學(xué)生輔助項目經(jīng)理在實訓(xùn)過程中指導(dǎo)其他學(xué)生。這種實訓(xùn)模式不僅能培養(yǎng)學(xué)生解決實際問題的技術(shù)及能力,而且還能使學(xué)生經(jīng)過職業(yè)規(guī)范化訓(xùn)練,完成關(guān)鍵能力的培養(yǎng),以達到在校預(yù)就業(yè)的目的。
三、軟件學(xué)院實訓(xùn)基地建設(shè)成效
以河南大學(xué)軟件學(xué)院為例,河南大學(xué)軟件學(xué)院以就業(yè)市場為導(dǎo)向,采用以校內(nèi)實訓(xùn)和校外實訓(xùn)并重的方式,加強學(xué)生的實訓(xùn)能力培養(yǎng),提高學(xué)生軟件開發(fā)水平,已取得了一些成績。目前,已建立了5個專業(yè)方向的校內(nèi)實訓(xùn)基地,7個相對穩(wěn)定的高層次校外實訓(xùn)基地,經(jīng)過這樣的實訓(xùn),學(xué)生實踐能力大大提高,2007年代表河南大學(xué)參加河南省第一屆互聯(lián)網(wǎng)應(yīng)用大賽,獲一個一等獎(共設(shè)2個一等獎)、兩個三等獎;2008年在全國第四屆“正保教育杯”ITAT教育工程技能大賽中,獲一個二等獎(河南省最高獎)、兩個三等獎、三個優(yōu)勝獎和優(yōu)秀組織獎;在校級網(wǎng)絡(luò)大賽中,在48個獎項中,我院學(xué)生囊括21個獎項;2009年在全國第五屆“正保教育杯”ITAT教育工程技能大賽中,獲一個二等獎,三個三等獎,十三個優(yōu)秀獎,從2007年以來,我院畢業(yè)生的就業(yè)率均在92%以上??萍颊撐?,指導(dǎo)思想??萍颊撐模笇?dǎo)思想。
軟件學(xué)院實訓(xùn)基地的建設(shè)是為了培養(yǎng)學(xué)生的實際操作和技能應(yīng)用能力,達到培養(yǎng)有特色的基礎(chǔ)人才,滿足市場需求,從而使軟件學(xué)院的學(xué)生實現(xiàn)無縫就業(yè)或者達到在校預(yù)就業(yè)的目的??萍颊撐?,指導(dǎo)思想。科技論文,指導(dǎo)思想。校內(nèi)實訓(xùn)基地具有教學(xué)設(shè)施完備、管理嚴(yán)格的特點,是學(xué)生實訓(xùn)教學(xué)的主要途徑??萍颊撐模笇?dǎo)思想。所以,在實訓(xùn)基地建設(shè)方面,要遵循以校內(nèi)實訓(xùn)基地、校外實訓(xùn)基地并重的原則,在校內(nèi)實訓(xùn)基地的基礎(chǔ)上,通過克服校外實訓(xùn)基地的一些缺點,使校外實訓(xùn)基地建設(shè)做到“形散而神不散”,從而達到軟件學(xué)院培養(yǎng)高質(zhì)量人才的目的。
參考文獻
[1]上海市經(jīng)濟與信息發(fā)展委員會,2010年上海信息服務(wù)業(yè)發(fā)展研究報告[M],立信會計出版社,2010(6)。[2] 王美姣,王衛(wèi)平。高職院校實訓(xùn)基地建設(shè)的誤區(qū)及對策[J],教育與職業(yè)2007(15)。
[3]李堅利。高職教育實訓(xùn)基地建設(shè)的探索與實踐[J],職業(yè)技術(shù)教育2003(22)。
[摘 要]本論文以長春職業(yè)技術(shù)學(xué)院程序設(shè)計基礎(chǔ)課程的課程建設(shè)目的、意義、特色、課程目標(biāo)、主要內(nèi)容、關(guān)鍵問題、方案、落實措施等幾方面進行探索與研究。
[關(guān)鍵詞]程序設(shè)計基礎(chǔ) 案例 工作過程
作為職業(yè)院校,我們的辦學(xué)初衷是為社會培養(yǎng)各類急需的實用型人才,而作為專門培養(yǎng)軟件人才的我院示范專業(yè)的軟件技術(shù)專業(yè)教師,我們深感開發(fā)《程序設(shè)計基礎(chǔ)》這門課程的重要性與緊迫性。綜上所述,我們軟件教研室在示范專業(yè)建設(shè)中對該課程進行了大膽的開發(fā)與創(chuàng)新。在本課程開發(fā)的同時,我們進行了本課題的立項工作。綜上所述,該課題的研究目的歸納如下:
(1)教師按照標(biāo)準(zhǔn)化的軟件開發(fā)流程進行案例的設(shè)計,使學(xué)生由淺入深、循序漸進地掌握程序設(shè)計基礎(chǔ)的基本技能。
(2)學(xué)生在綜合運用相關(guān)軟件工程理論知識基礎(chǔ)上,通過教師對案例的分析與講解,能利用程序設(shè)計基礎(chǔ)課程相關(guān)技術(shù)進行項目設(shè)計。最終能成為企事業(yè)單位需要的標(biāo)準(zhǔn)規(guī)范、自動化程度高、滿足客戶要求的程序設(shè)計基礎(chǔ)方面的技術(shù)服務(wù)人員。
(3)培養(yǎng)學(xué)生高度的工作責(zé)任感、自信心,和實事求是的做事風(fēng)格。真正的讓踏入測試行業(yè)的學(xué)生,成為IT公司產(chǎn)品出貨前的把關(guān)人。
一、意義
本課程是軟件技術(shù)專業(yè)中的一門專業(yè)技術(shù)課程,我院在該課程的教學(xué)研究和改革中逐步樹立了“以實踐教學(xué)、案例教學(xué)為核心,理論服務(wù)于實踐”的指導(dǎo)思想,突出職業(yè)能力的培養(yǎng),體現(xiàn)基于職業(yè)崗位分析和具體工作過程的課程設(shè)計理念,以真實的程序設(shè)計基礎(chǔ)案例為載體組織教學(xué)內(nèi)容。
通過本課題的實驗研究,明確程序設(shè)計基礎(chǔ)在軟件開發(fā)流程中的作用和地位,并確定具體的教學(xué)內(nèi)容與教學(xué)方法;通過本課題的實驗研究,探索程序設(shè)計基礎(chǔ)在提高教學(xué)效益方面的方法和策略,提高學(xué)生程序設(shè)計基礎(chǔ)技能;通過本課題的實驗研究,培養(yǎng)出一批社會緊缺的程序設(shè)計基礎(chǔ)人才,提高軟件編寫質(zhì)量,大大提高企業(yè)生產(chǎn)效益,同時能夠適應(yīng)軟件外包和國際化軟件開發(fā)的中高端軟件開發(fā)人才的需求迅猛發(fā)展。
二、特色
該課題的特色也是該課程在我們示范專業(yè)開發(fā)過程中所體現(xiàn)的創(chuàng)新之處。
我們本著“教中做、做中教、學(xué)中做”的指導(dǎo)思想,通過案例教學(xué)培養(yǎng)學(xué)生動手能力和專業(yè)技能。以“工作過程為導(dǎo)向”,一方面可以在軟件開發(fā)中運用程序設(shè)計基礎(chǔ)技術(shù)提高軟件質(zhì)量,另一方面通過對程序設(shè)計基礎(chǔ)崗位技能的學(xué)習(xí),達到掌握軟件開發(fā)的應(yīng)用能力。
三、主要內(nèi)容:
走訪軟件企業(yè)對程序設(shè)計基礎(chǔ)人員的需求進行調(diào)查研究,對程序設(shè)計基礎(chǔ)在教學(xué)活動中重要作用的必要性的調(diào)查研究,形成調(diào)研報告。結(jié)合企業(yè)真實項目開發(fā)典型案例、拓展案例和綜合項目,形成案例庫。教師在各課程中有針對性進行程序設(shè)計基礎(chǔ)的設(shè)計與研究,并進行及時的反思、評價。歸納出程序設(shè)計基礎(chǔ)環(huán)境在軟件開發(fā)實施方法、步驟。實踐技能測試題庫建設(shè)。教學(xué)課件建設(shè)。能夠適應(yīng)各個模塊之間的程序設(shè)計基礎(chǔ)方法設(shè)計,使得程序設(shè)計基礎(chǔ)貫穿于全課程,從而提高軟件的安全性和可靠性。
四、關(guān)鍵問題
(1)教學(xué)案例的選擇及設(shè)計模塊建設(shè)
(2)程序設(shè)計基礎(chǔ)工具的選擇及過程模塊建設(shè)
五、方案
本課題以案例研究為主導(dǎo),輔之以下研究方法:
(1)調(diào)查研究法:采用問卷調(diào)查、個別談話和學(xué)生座談相結(jié)合的方法,對學(xué)生的實際思想、需求和學(xué)生的心理特點等現(xiàn)狀,進行科學(xué)的調(diào)查研究。
(2)案例研究法:引導(dǎo)教師用信息技術(shù)和學(xué)科課程解構(gòu)與重構(gòu)的相關(guān)理論,剖析研究過程中的 典型案例,形成在整合教學(xué)中有效支撐的案例集。
(3)經(jīng)驗總結(jié)法:在教師個人實踐的基礎(chǔ)上,定期聘請軟件企業(yè)、行業(yè)專家開展研討、交流活動,通過研討總結(jié),逐步形成程序設(shè)計基礎(chǔ)整合的方法和途徑。
(4)行動研究法:搜集與本課題有關(guān)的信息和資料,拓寬思路,提供更為完善的方法,擬訂總體研究計劃,根據(jù)總體情況,制訂具體計劃,積極開展有效的行動研究,及時總結(jié)評價,調(diào)整研究方向。
(5)成果分析法
收集整理各方面的研究成果和資料,包括論文、課件、測試用例等,歸納總結(jié)。
六、落實措施
本課題的落實措施思路為:
收集和整理中外有關(guān)企業(yè)程序設(shè)計基礎(chǔ)的經(jīng)典案例,開展專題理論研究,形成專題研究論文。開展程序設(shè)計基礎(chǔ)課程課堂案例分析和調(diào)研,形成調(diào)研報告。召開1—2次小型學(xué)術(shù)研討會,對本課題的有關(guān)理論和實踐問題進行研討。收集材料,分析整理測試用例。形成最終研究成果。
1理論課程設(shè)置
第1學(xué)年以基礎(chǔ)課程為主,包括基礎(chǔ)理論類課程、專業(yè)基礎(chǔ)知識類課程以及基本編程技術(shù)類課程。為了強化學(xué)生的動手能力,我們還增設(shè)了C++程序設(shè)計以及程序設(shè)計實踐2門課程。特別是,HIT-NPSS本科生第1學(xué)年還開設(shè)了IT職業(yè)道德、交流技巧以及IT企業(yè)管理3門管理類課程,重點培養(yǎng)學(xué)生的團結(jié)協(xié)作能力等職業(yè)素養(yǎng)?;谝陨险n程設(shè)置,學(xué)生在完成第1學(xué)年的學(xué)習(xí)任務(wù)后,能夠扎實掌握計算機基礎(chǔ)知識,養(yǎng)成良好的編程習(xí)慣,提高交流和表達能力。第2學(xué)年以計算機軟件系統(tǒng)類課程為重點。通過數(shù)據(jù)結(jié)構(gòu)與算法、操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)以及計算機網(wǎng)絡(luò)等課程幫助學(xué)生打下良好的計算機軟件系統(tǒng)理論基礎(chǔ);通過軟件工程課程幫助學(xué)生加深對軟件開發(fā)生命周期的理解;通過面向?qū)ο蠹夹g(shù)與UML、Java編程技術(shù)以及軟件開發(fā)實踐等課程提高學(xué)生的軟件開發(fā)能力和實踐技能。此外,為了增強學(xué)生對現(xiàn)實IT工業(yè)領(lǐng)域的了解,該學(xué)年還開設(shè)市場營銷學(xué)、合同法以及財務(wù)管理3門管理類課程,這也是HIT-NPSS課程體系的特別之處。第3學(xué)年是學(xué)生在校內(nèi)學(xué)習(xí)的最后一年,完成第3學(xué)年的課程學(xué)習(xí)后,所有學(xué)生將到IT企業(yè)進行為期一年的工業(yè)實習(xí)。第3學(xué)年的課程主要為了培養(yǎng)學(xué)生解決問題的能力和計算機技術(shù)應(yīng)用能力。開設(shè)的課程包括編譯原理、多核程序設(shè)計、面向服務(wù)的計算技術(shù)、用戶界面設(shè)計、算法設(shè)計與分析以及軟件測試與質(zhì)量保證等。由于軟件工程領(lǐng)域覆蓋面較廣,按照個性化的教育理念,HIT-NPSS軟件工程本科專業(yè)下設(shè)網(wǎng)絡(luò)通信與信息安全、服務(wù)科學(xué)與企業(yè)信息化、多媒體與信息處理以及嵌入式系統(tǒng)與軟件4個專業(yè)方向,各方向按照培養(yǎng)學(xué)生相關(guān)專業(yè)技術(shù)和實踐能力的目標(biāo)分別設(shè)置不同的專業(yè)課程。在此基礎(chǔ)上,本學(xué)年還開設(shè)了軟件開發(fā)過程管理、項目管理、商務(wù)談判及知識產(chǎn)權(quán)法4門課程,以培養(yǎng)學(xué)生的專業(yè)素養(yǎng),為第4年的工業(yè)實習(xí)打下良好的基礎(chǔ)。
2逐步工業(yè)化實踐環(huán)節(jié)
為逐步實現(xiàn)工業(yè)化教育目標(biāo),HIT-NPSS在每學(xué)年理論課程的基礎(chǔ)上,分別設(shè)置了以下實踐內(nèi)容:(1)大學(xué)生創(chuàng)新項目。大學(xué)生創(chuàng)新項目以“興趣驅(qū)動、自主實驗、重在過程”為原則,在第1學(xué)期課程結(jié)束后,要求學(xué)生以項目組形式自主完成軟件研發(fā)課題。對于課題的選擇,學(xué)院并沒有統(tǒng)一規(guī)定,學(xué)生可以按照各自興趣選題并分組。為了鼓勵和支持學(xué)生的創(chuàng)新研究,學(xué)院將為各組安排一名指導(dǎo)教師,對軟件開發(fā)的全過程進行監(jiān)督和指導(dǎo)。學(xué)生利用課余時間完成創(chuàng)新項目,在第1學(xué)年結(jié)束前學(xué)院將對各組的創(chuàng)新項目進行評審,對前10名予以獎勵。經(jīng)過幾年的實踐,大學(xué)生創(chuàng)新項目已經(jīng)成為HIT-NPSS一大文化特色。(2)短期企業(yè)實訓(xùn)。企業(yè)實訓(xùn)是HIT-NPSS課程體系的一個重要組成部分。在第2學(xué)年的第2學(xué)期,學(xué)生將被分配到指定的企業(yè)基地進行為期4周的學(xué)習(xí)和訓(xùn)練。整個實訓(xùn)過程以實際項目開發(fā)為主導(dǎo),中間穿插工具類、職業(yè)規(guī)劃類等培訓(xùn)課程,學(xué)生在IT企業(yè)環(huán)境中參與企業(yè)項目開發(fā),體驗從需求分析、系統(tǒng)設(shè)計、編碼實現(xiàn)、測試及交付使用的軟件開發(fā)全過程。短期企業(yè)實訓(xùn)為學(xué)生提供了接觸企業(yè)實際項目、發(fā)現(xiàn)自身興趣和不足的良好機會。(3)軟件工程實踐。軟件工程實踐在第3學(xué)年的第2學(xué)期進行,是逐步工業(yè)化教育的第3步,要求學(xué)生以分組的形式在2周時間內(nèi)完成一個軟件系統(tǒng)的開發(fā)。與短期企業(yè)實訓(xùn)相比,軟件工程實踐過程中學(xué)生要獨立完成軟件開發(fā)生命周期的各個階段。通過軟件工程實踐,學(xué)生的編程能力、解決問題能力、一般平臺應(yīng)用能力、流行工具軟件的使用能力以及項目管理能力將得到全面提升,這也為第4學(xué)年的工業(yè)實踐打下良好基礎(chǔ)。
3企業(yè)實習(xí)
軟件工程專業(yè)本科生第4學(xué)年將在IT企業(yè)實習(xí)中,完成具有一定技術(shù)難度和較大工作量的技術(shù)方案設(shè)計和軟件開發(fā)等工作,并在此基礎(chǔ)上完成(撰寫)本科畢業(yè)論文。通過工業(yè)實習(xí),學(xué)生的軟件開發(fā)能力、工程實踐能力以及自學(xué)能力都將得到大幅度提高,完成學(xué)生到企業(yè)員工的軟件產(chǎn)業(yè)人才的逐步轉(zhuǎn)變。(1)雙導(dǎo)師機制。HIT-NPSS要求所有的學(xué)生必須在IT企業(yè)進行至少一年的工業(yè)實習(xí)。為了保證課堂學(xué)習(xí)向工業(yè)實踐的平穩(wěn)過渡,學(xué)院不僅要幫助學(xué)生選擇合適的實習(xí)基地,還要幫助學(xué)生確定指導(dǎo)教師。為此,HIT-NPSS提出了雙導(dǎo)師機制,即學(xué)生在校內(nèi)和校外(實習(xí)基地)各選擇一名指導(dǎo)教師,校外導(dǎo)師主要負責(zé)指導(dǎo)學(xué)生軟件項目開發(fā),校內(nèi)導(dǎo)師主要負責(zé)指導(dǎo)學(xué)生畢業(yè)論文撰寫。HIT-NPSS要求軟件工程專業(yè)本科生的畢業(yè)論文要基于其工業(yè)實習(xí)期間直接參與的軟件工程項目,雙導(dǎo)師機制不僅能夠幫助學(xué)生填補不同領(lǐng)域的知識空白,還能夠有效建立起大學(xué)和IT企業(yè)的溝通橋梁,保證學(xué)生工業(yè)實踐和畢業(yè)論文的順利進行。(2)實習(xí)監(jiān)管方法。在雙導(dǎo)師機制的基礎(chǔ)上,HIT-NPSS通過開題檢查、中期檢查以及結(jié)題驗收對學(xué)生的整個實習(xí)過程進行監(jiān)管。在工業(yè)實習(xí)的前3個月內(nèi),學(xué)生必須在校內(nèi)導(dǎo)師和校外導(dǎo)師的共同指導(dǎo)下完成論文開題報告,即確定論文題目、主要內(nèi)容以及關(guān)鍵技術(shù)等。在工業(yè)實習(xí)3個月后,學(xué)院將到實習(xí)基地對學(xué)生的選題情況進行檢查,爭取盡早發(fā)現(xiàn)存在的問題并對學(xué)生進行有效指導(dǎo)。中期檢查將在選題后的3個月內(nèi)進行,檢查過程與開題檢查相似,目的是檢查學(xué)生的工作進展是否符合開題報告中的日程安排,幫助學(xué)生解決實習(xí)中的問題與困難。此外,中期檢查也是學(xué)院與實習(xí)企業(yè)交流學(xué)生實習(xí)表現(xiàn)、調(diào)整未來實習(xí)派遣計劃的重要手段。結(jié)題驗收是學(xué)生工業(yè)實習(xí)結(jié)束前的最后一次檢查,一般在實習(xí)基地進行,在學(xué)生展示自己的工作內(nèi)容后,由企業(yè)顧問和校方專家共同評估其實習(xí)情況。截至2013年,HIT-NPSS已有2937名學(xué)生在200家IT企業(yè)完成了工業(yè)實習(xí)。
4校企合作模式
為充分發(fā)揮企業(yè)在工業(yè)化人才培養(yǎng)過程中的作用,HIT-NPSS采用多種模式加強校企合作。主要合作模式包括以下幾種:(1)校企合作高峰會。校企合作高峰會以不同的主題每年舉辦一次,是高校和企業(yè)高層以及產(chǎn)業(yè)高級人員共商共計的重要平臺,有效促進了校企之間的溝通與合作,對全面實施卓越工程師培養(yǎng)計劃起到了巨大推動作用。截至2013年,HIT-NPSS已成功舉辦了多屆校企合作高峰會,累計邀請過220余家企業(yè)參會,并與中興通訊股份有限公司、金山軟件有限公司、浪潮集團等50多家知名企業(yè)保持著長期合作關(guān)系。(2)校內(nèi)工業(yè)實踐基地。在廣泛開展校外工業(yè)實習(xí)的同時,HIT-NPSS也與哈爾濱本地軟件公司合作,在校內(nèi)建立工業(yè)實習(xí)環(huán)境,提高學(xué)生的軟件開發(fā)能力。學(xué)生可在校內(nèi)工業(yè)實習(xí)基地進入企業(yè)的項目組,參與具體項目的開發(fā)。目前,哈工大首創(chuàng)科技股份有限公司、哈工大慧通新意信息技術(shù)有限公司、黑龍江省計算機網(wǎng)絡(luò)與軟件評測中心等公司已進駐校內(nèi)實習(xí)基地。(3)聯(lián)合實驗室。聯(lián)合實驗室是校企合作的另一種模式,主要用于教學(xué)和軟件開發(fā)實踐,由軟件學(xué)院負責(zé)提供場地和設(shè)備,由企業(yè)提供開發(fā)平臺和各種工具軟件,并由企業(yè)定期為軟件學(xué)院的師生開設(shè)專題講座,進行相關(guān)指導(dǎo)。目前,HIT-NPSS已與浪潮通用軟件公司、金山軟件股份公司和英特爾亞太研發(fā)有限公司共同建立了聯(lián)合實驗室。聯(lián)合實驗室的建立,為軟件學(xué)院建立科學(xué)的課程體系和工業(yè)化實踐教學(xué)管理方法,實現(xiàn)工業(yè)化軟件人才的培養(yǎng)創(chuàng)造了良好條件。(4)學(xué)生俱樂部。學(xué)生俱樂部是由軟件學(xué)院和軟件公司共同支持的實踐類學(xué)生社團組織。學(xué)生俱樂部依托實際項目、模擬企業(yè)真實經(jīng)營環(huán)境,有效培養(yǎng)學(xué)生的IT實踐經(jīng)驗和創(chuàng)新能力,同時加強校企技術(shù)交流[3]。目前HIT-NPSS已組建起亦飛、零度、騰訊等7個學(xué)生俱樂部。其中,亦飛俱樂部由阿里巴巴集團支持在2003年創(chuàng)建;零度俱樂部由金山軟件股份公司支持在2004年創(chuàng)建;騰訊俱樂部由騰訊科技有限公司支持于2005年創(chuàng)建。(5)企業(yè)家論壇。HIT-NPSS于2003年發(fā)起了企業(yè)家論壇活動,主要形式是邀請國內(nèi)外著名企業(yè)家到校進行講座或演講。論壇的宗旨是讓學(xué)生了解行業(yè)動態(tài)、把握領(lǐng)先技術(shù)、了解企業(yè)發(fā)展歷程,以實現(xiàn)活躍校園氣氛、開拓學(xué)生視野、樹立企業(yè)形象的最終目標(biāo),同時促進企業(yè)與哈工大軟件學(xué)院的相互了解與廣泛合作。到目前為止,HIT-NPSS已經(jīng)邀請了30余名知名企業(yè)家作為演講嘉賓。(6)青年校友論壇。青年校友論壇是HIT-NPSS品牌活動企業(yè)家論壇的進一步延伸。青年校友論壇的演講嘉賓主要是軟件學(xué)院的畢業(yè)生,在企業(yè)工作2年以上。青年校友論壇是在校學(xué)生與學(xué)長們交流的平臺,大家一同分享上學(xué)的心得、實習(xí)的體會、工作后的經(jīng)歷。青年校友論壇的創(chuàng)辦宗旨是進一步落實學(xué)院的工業(yè)化教育模式,深化學(xué)院工業(yè)化辦學(xué)理念。到目前為止,已邀請過10余名畢業(yè)生重返母校作為論壇嘉賓,青年校友論壇成為HIT-NPSS工業(yè)化教育模式中不可或缺的一部分。
二、學(xué)生就業(yè)情況
0 引言
文獻1論述什么是整體項目模式以及整體項目模式的優(yōu)缺點,文獻2論述整體項目模式下軟件工程專業(yè)的教學(xué)體系結(jié)構(gòu),同時也提到軟件工程專業(yè)教學(xué)方面的要求,主要是針對教師的要求。在實際過程中,整體項目模式下軟件工程專業(yè)的課程教學(xué)較為復(fù)雜。首先,需要理清專業(yè)課程之間的相互關(guān)系;其次,需要明確專業(yè)課程和項目過程之間的關(guān)系;第三,需要掌握專業(yè)課程教學(xué)和實際項目之間的切入點、重點和難點;最后,學(xué)生要能切實根據(jù)自己所做的項目,從不同的側(cè)面或教學(xué)內(nèi)容方面書寫項目文檔,并認識到同一項目可以從不同的角度進行分析、設(shè)計和編程。
傳統(tǒng)的專業(yè)課程項目教學(xué)和整體項目模式下的專業(yè)課程教學(xué)存在很大區(qū)別。傳統(tǒng)的專業(yè)課程項目教學(xué)主要是沒有從整體項目模式考慮教學(xué)問題,割裂了專業(yè)課程之間的相互聯(lián)系,只從該課程的教學(xué)內(nèi)容方面列舉案例,學(xué)生對教學(xué)內(nèi)容的認識具有片面性和局限性,不能建立起對知識體系的整體觀念。在實踐教學(xué)過程中,學(xué)生曾經(jīng)提出過很多問題:軟件工程和結(jié)構(gòu)化設(shè)計、面向?qū)ο笤O(shè)計有什么不同?它們之間有什么聯(lián)系?為什么要學(xué)習(xí)面向?qū)ο螅坎粚W(xué)習(xí)可以嗎?作為一個專業(yè)課任教師,如何進行解釋?如果學(xué)生有足夠的項目經(jīng)驗,前期是否一定要有詳細的分析和設(shè)計文檔?針對最后一個問題,若是不具備豐富項目經(jīng)驗的教師回答,那答案是一定要有詳細的分析和設(shè)計文檔;但是實踐經(jīng)驗豐富的教師則認為這個問題的答案是不一定的。小型或者微型項目的前期不一定要有詳細的分析和設(shè)計文檔,可以直接在編程過程中進行分析和設(shè)計,那么這是否違反了軟件工程呢?當(dāng)然,答案也是否定的。如教師在講授面向?qū)ο蟮能浖_發(fā)方法課程時,必須強調(diào)某一開發(fā)方法的優(yōu)缺點,可以綜合運用其他開發(fā)方法如結(jié)構(gòu)化分析方法、形式化編程,甚至弱化分析過程,強化設(shè)計和編碼過程,主要目的是明確整體項目開發(fā)過程。
1 軟件開發(fā)流程和系列課程之間的關(guān)系
1.1整體項目模式下軟件工程專業(yè)教學(xué)體系結(jié)構(gòu)
任何課程的設(shè)置不能脫離教學(xué)體系結(jié)構(gòu)。一個好的教學(xué)體系結(jié)構(gòu)能夠幫助學(xué)生在頭腦中樹立完整的知識結(jié)構(gòu),讓學(xué)生主動獲取相關(guān)知識。在教學(xué)過程中,教師首先要明確該課程在整個教學(xué)體系結(jié)構(gòu)中的位置,建立項目開發(fā)過程的全局觀。文獻2中建立的整體項目驅(qū)動模式下軟件工程專業(yè)教學(xué)體系結(jié)構(gòu)如圖1所示。
從圖1中可以看出,項目Bus橫貫整個專業(yè)課程,教師和學(xué)生各自只使用同一個項目案例貫穿于系列課程中,從而從不同的角度讓教師講授、學(xué)生學(xué)習(xí)同一個項目的相關(guān)內(nèi)容。
1.2軟件開發(fā)過程流程
圖2所示是筆者在軟件開發(fā)過程中總結(jié)出來的一套軟件工程專業(yè)軟件開發(fā)過程流程,包括軟件開發(fā)過程、軟件工程文檔、軟件標(biāo)準(zhǔn)規(guī)范、實際軟件開發(fā)規(guī)程等方面的內(nèi)容。在每一門課程的開始和結(jié)束階段,筆者都要將該圖展示出來,讓學(xué)生明確自己已經(jīng)學(xué)到了哪些內(nèi)容,還存在哪些欠缺。
1.3軟件開發(fā)過程對應(yīng)的專業(yè)課程設(shè)置
筆者有幸為中南民族大學(xué)軟件工程專業(yè)以及本校與美國威斯康星大學(xué)合辦的3+2軟件工程國際合作試點班的學(xué)生講授部分專業(yè)課程,包括軟件工程、軟件測試、用戶界面設(shè)計、軟件項目管理、面向?qū)ο蟮能浖_發(fā)方法5門課程。對于相關(guān)的其他專業(yè)課程,我們將不做說明,如CMMI、軟件過程、軟件質(zhì)量保證等。
這些課程與軟件開發(fā)過程流程是一一對應(yīng)的關(guān)系。軟件工程課程是專業(yè)核心課程,涉及內(nèi)容廣泛,是其他專業(yè)課程的基礎(chǔ),也是整個軟件開發(fā)過程流程的基礎(chǔ),主要內(nèi)容包括軟件需求提取、分析、設(shè)計、測試、維護變更管理以及軟件質(zhì)量控制、軟件項目管理、軟件開發(fā)配置變更管理、軟件開發(fā)標(biāo)準(zhǔn)以及軟件開發(fā)方法。軟件測試貫穿軟件開發(fā)過程的始終,包括用戶需求的確認、用戶界面的確認以及單元測試、集成測試、系統(tǒng)測試、Alpha/Bete詛測試、評審、驗收等內(nèi)容。用戶界面設(shè)計主要包括軟件界面設(shè)計理論、原則和規(guī)范,在實際軟件開發(fā)過程中,是圖2中的系統(tǒng)概要設(shè)計/用戶界面驅(qū)動分析部分,通過與用戶反復(fù)溝通確認需求,是測試的基礎(chǔ),同時也是軟件編碼階段、評審、驗收階段的依據(jù)。軟件項目管理主要對軟件的質(zhì)量、成本和進度進行管理和控制,同時考慮如何在軟件開發(fā)過程中避免不必要的風(fēng)險或者降低風(fēng)險的影響。面向?qū)ο蟮能浖_發(fā)方法著重于軟件開發(fā)過程中面向?qū)ο蟮男枨蠓治龊驮O(shè)計,包括用戶分析、界面設(shè)計、類模型、動態(tài)模型、狀態(tài)模型等一系列的分析和設(shè)計。
這5門專業(yè)課程從不同的側(cè)面講解軟件項目的開發(fā)過程和方法,各有特點。但是對于為什么要學(xué)習(xí)這幾門課程,以及它們在軟件開發(fā)過程中處于什么樣的位置,起到什么樣的作用,是教師在教學(xué)之初就應(yīng)該明確的。
2 整體項目模式下系列課程的教學(xué)
根據(jù)整體項目模式原理,實踐項目應(yīng)貫穿到各專業(yè)課程之中,系列課程最好使用同一項目,這樣更能加強學(xué)生理解軟件開發(fā)過程的不同方面。該項目在專業(yè)課程開始之前就必須存在,即已經(jīng)完成或正在進行中的實踐項目,因此,系列課程必須是相互聯(lián)系并且能基于同一項目案例,這和傳統(tǒng)的項目教學(xué)方式雖然模式一致,但是效果卻有本質(zhì)的不同。圖3為系列專業(yè)課程的項目案例、課程和學(xué)生實踐案例示意圖,5門課程都基于同一實際項目案例,學(xué)生根據(jù)自己所做的項目,按照不同專業(yè)課程要求的格式和內(nèi)容書寫相關(guān)文檔。
2.1先案例后理論的案例驅(qū)動教學(xué)模式
軟件工程專業(yè)的特點是實踐性非常強,軟件工程的很多理論都來源于對實踐的總結(jié)和歸納。因此,教師在教學(xué)過程中采用先案例后理論的案例驅(qū)動教學(xué)模式,符合軟件工程專業(yè)的授課特點。
首先,教師要講解實際項目案例的文檔,該文檔是一套完整的、從不同側(cè)面反映軟件開發(fā)過程的實際文檔。對于每一門專業(yè)課,教師首先講解需求提取、需求分析過程、功能提取、系統(tǒng)功能結(jié)構(gòu)框圖等,讓學(xué)生明確該系統(tǒng)的背景和要解決的問題,以及需要具備什么樣的功能以實現(xiàn)目標(biāo)。
其次,教師要聯(lián)系實際項目案例,講解課本上的理論,將每個理論知識點與實際的項目案例相結(jié)合,讓學(xué)生充分理解理論。在實際講解過程中,對于新開課,新教師若碰到教學(xué)學(xué)時偏少的狀況,可以言簡意賅地講解重點知識;實踐經(jīng)驗豐富的教師,碰到學(xué)時偏少的情況可以精簡案例功能,講解1~2個功能即可。
最后,教師必須強調(diào)實踐的重要性并給出標(biāo)準(zhǔn)的文檔規(guī)范,要求學(xué)生按照自己的實際項目書寫標(biāo)準(zhǔn)的文檔。在每一門課程講解完畢后,教師再一次幫助學(xué)生回顧該課程在軟件開發(fā)過程中的位置。
以軟件項目管理為例,在正式進入課程教學(xué)之前,教師需要做大量的工作,首先需要準(zhǔn)備的文檔有項目需求、項目需求分析報告、可行性分析報告、項目開發(fā)計劃書、項目Demo程序演示、軟件項目投標(biāo)書、軟件項目開發(fā)合同。然后,開始進人軟件開發(fā)項目管理過程教學(xué),軟件項目主要內(nèi)容有成本管理、進度管理、人員管理、風(fēng)險控制等理論內(nèi)容。實際的軟件項目管理主要分為4個階段:IT項目的啟動階段、IT項目的計劃階段、IT項目的執(zhí)行控制階段、IT項目的收尾階段,這在一般的教材中很少提及,但是教師在內(nèi)容講解中要明確階段任務(wù)。IT項目的計劃階段涉及48個文檔;IT項目的執(zhí)行控制階段涉及45個文檔;IT項目的收尾階段涉及14個文檔。
教師在講解合同的內(nèi)容時,可以直接參照“軟件項目開發(fā)合同”進行講解。對于必不可少的合同內(nèi)容,教師就必須跟學(xué)生講清為什么必須要包含這些內(nèi)容;講解成本計算的時候,根據(jù)文檔“工作包、進度和預(yù)算”進行項目的WBS分解以及基本的估算方法。
總之,由于教材先理論后案例的局限性,在聽課之初,學(xué)生覺得枯燥乏味。而教師通過先案例的方式能有效調(diào)動學(xué)生在課堂上的學(xué)習(xí)積極性,為后面的項目實踐奠定基礎(chǔ)。
2.2學(xué)生項目實踐環(huán)節(jié)
每一門專業(yè)課都有上機實踐部分,學(xué)生在實踐課上主要是書寫文檔。每門專業(yè)課都有各自不同的文檔,軟件工程課程要求學(xué)生必須完成標(biāo)準(zhǔn)的13個文檔;軟件測試課程需要軟件測試報告文檔;軟件項目管理課程有127個文檔;面向?qū)ο蟮能浖治龇椒ㄕn程有包含9大部分內(nèi)容的軟件項目分析與設(shè)計文檔。每一門課程的文檔內(nèi)容非常多,要求每個學(xué)生最好獨立完成,主要訓(xùn)練每一個學(xué)生的文檔書寫和理解能力。
需要強調(diào)的是,學(xué)生書寫的項目文檔一定要給出標(biāo)準(zhǔn)的、規(guī)范的文檔格式,包括目錄、段落、標(biāo)題、字體等排版之類的要求。項目模板可以采用軟件工程國標(biāo)文檔或者相關(guān)的其他標(biāo)準(zhǔn)文檔,最好和某一軟件公司的案例文檔格式相一致。筆者在軟件公司任職過程中,很多剛參加工作的大學(xué)生書寫文檔的水平非常差,主要是文檔格式、結(jié)構(gòu)和內(nèi)容混亂,往往給人留下非常不好的印象。整體項目驅(qū)動模式下的課程教學(xué),首先強調(diào)的就是文檔格式和正確的文檔排版,其次才是內(nèi)容的正確性與完整性。
在學(xué)生項目實踐中,任課教師最好跟蹤指導(dǎo)。學(xué)生每次在實驗課上必須完成相應(yīng)的實驗,并把實驗的電子文檔通過教學(xué)資源管理系統(tǒng)或以電子郵件的方式提交給教師。電子文檔的批改能快速糾正學(xué)生文檔格式不規(guī)范以及內(nèi)容方面的錯誤,但這個工作量往往很大,每一次電子作業(yè)批改的工作量往往是學(xué)生數(shù)量的3~4倍。這是因為學(xué)生按照批改意見進行修改后又會返回給教師,最終達到合格標(biāo)準(zhǔn)的電子文檔往往會被修改2~4次。
2.3考核方式
完成每門課程的項目文檔是學(xué)生對文檔書寫熟練程度以及課程內(nèi)容理解的直接反映,也是培養(yǎng)軟件開發(fā)過程中需要具備的素養(yǎng)和習(xí)慣的有效途徑,克服學(xué)生疏于或懶于書寫文檔的缺陷。因此,教師需要對學(xué)生書寫的項目文檔進行考核并將其反映在學(xué)生成績上。項目文檔的成績占學(xué)生總成績比例的30%~50%較為合理。
2.4教學(xué)效果
筆者經(jīng)過近2年的教學(xué)實踐,取得了良好教學(xué)效果。以中南民族大學(xué)軟件工程專業(yè)2008級學(xué)生為例,首先,學(xué)生很順利地完成了各自的軟件項目,包括中南民族大學(xué)學(xué)生基金項目;其次,學(xué)生能很好地書寫申請軟件項目著作權(quán)系列文檔以及畢業(yè)論文,書寫的文檔格式規(guī)范,只需稍加修改就能將文檔立即轉(zhuǎn)化成學(xué)術(shù)論文并發(fā)表。這表明學(xué)生無論是在文檔格式還是在內(nèi)容編排上都取得了進步,進一步提高了在軟件開發(fā)過程中應(yīng)有的素質(zhì)。這也是軟件工程專業(yè)學(xué)生和計算機其他專業(yè)學(xué)生之間非常明顯的差別。