彭小娟
摘要:隨著信息產(chǎn)業(yè)日新月異的發(fā)展,社會對信息人才的需求與信息人才的培養(yǎng)存在著很大的差距。為了縮小差距,提高軟件工程的教學質(zhì)量和效果,該文先分析了軟件工程課程特點及教學存在的問題,然后提出了基于“團隊式項目驅(qū)動”的軟件工程課程教學的改革。
關(guān)鍵詞:軟件工程;團隊式項目驅(qū)動;教學改革
中圖分類號:G424 文獻標識碼:A 文章編號:1009-3044(2017)17-0115-02
隨著全球信息化進程的推進,軟件行業(yè)的發(fā)展水平直接影響到國家的綜合實力。國家的重視與支持,使得人才需求劇增,也為行業(yè)的發(fā)展提供了更廣闊的空間。據(jù)相關(guān)數(shù)據(jù)統(tǒng)計,未來五年,我國信息化人才總需求量高達1500萬-2000萬人。以軟件開發(fā)為例,我國軟件人才需求以每年遞增20%的速度增長,每年新增需求近百萬。但是,令人疑惑的是人才供需出現(xiàn)很大的矛盾,一方面企業(yè)出現(xiàn)用人荒,另一方面,很多的軟件專業(yè)相關(guān)的高校畢業(yè)生卻就業(yè)難。這說明企業(yè)的用人需求與高校的人才培養(yǎng)模式存在一定的差異,所以急需教學改革,從而培養(yǎng)符合社會需求的高素質(zhì)人才。本文從研究分析軟件工程課程的特點出發(fā)、分析了傳統(tǒng)教學實踐中存在的普遍問題,從而提出在軟件工程課程的教學實踐中引用“團隊式項目驅(qū)動”模式的探索。
1軟件工程課程特點及教學存在的問題
軟件工程作為軟件工程相關(guān)專業(yè)的一門必修課,是一門綜合性很強的學科,需要理論聯(lián)系實踐,既有學科意義上的與軟件開發(fā)相關(guān)的理論、原理、方法和技術(shù);又有工程意義上的包括軟件管理、開發(fā)和維護等活動的總體。
當前,軟件工程教學存在的問題主要有幾方面:教材和教學內(nèi)容偏重理論和方法,略顯枯燥;案例選取不當;缺少與工程實踐的結(jié)合。
首先,很多軟件工程教材(包括一些經(jīng)典教材)側(cè)重于理論,比如軟件生命周期模型、需求分析、項目管理,質(zhì)量保障等,缺少工程實踐的案例,學生學習的感覺是抽象,虛。其次,有些教材雖然添加了案例,但是難度低,或者在不同階段選擇不同的案例,不連貫,不實用。有些授課教師由于缺乏實際項目開發(fā)和管理的經(jīng)驗,在講課時選擇的案例要么難度低,比如學生管理系統(tǒng),由于此類課題已經(jīng)在其他課程上做過課程設(shè)計了,學生很容易忽略前期的需求分析和設(shè)計,直接進入編碼實現(xiàn)階段,那就違背了課程的要求;有些課題范圍廣,難度大,比如醫(yī)院綜合管理系統(tǒng),其中的業(yè)務復雜,超出了學生能力范圍,一下子難以做到比較完善的需求,最終只是形而上學的做一個系統(tǒng),也沒有真正達到課程實踐的目的。第三,很多教師還是采用以教師為主體的方式滿堂灌,或者雖然增加了一些情境教學,學生被動聽得昏昏欲睡,更談不上培養(yǎng)主動思考,積極探索解決問題的能力。基于以上情況,軟件工程教學的改革勢在必行。
2“團隊式項目驅(qū)動”軟件工程教學模式
“團隊式項目驅(qū)動”軟件工程教學模式是在科學的教學理論的指導下,依托團隊分組教學、情境教學、團隊協(xié)作等相互交叉的綜合性的教學形式。該模式考慮到軟件工程課程特點,以學生自主選擇的團隊為單位進行,激發(fā)了學生的主觀能動性和責任心,團隊協(xié)作精神,分析問題和解決問題的能力。
團隊的核心人物是項目經(jīng)理,需要有較強的綜合能力,比如溝通、組織管理、協(xié)作能力。教師在初期要對項目經(jīng)理人選做一個篩選,并在整個學期要求各位項目經(jīng)理與老師保持比較緊密的聯(lián)系,便于及時了解各個團隊的進展。如果團隊遇到困難,能夠及時的引導學生分析,促進理論聯(lián)系實際,有助于提高學生對于軟件工程的認知。
項目的選擇也是非常重要。曾經(jīng)我們做過多種嘗試,比如大學生服務外包大賽的課題,非常新穎,具有挑戰(zhàn)性,但是學生做下來感覺難度太大,超出大部分同學的能力范圍,影響了自信,最終實現(xiàn)效果與初期的需求差距甚遠。但是選擇一些難度低的如學生管理系統(tǒng)之類的,學生又會忽略前期的需求分析階段。最終,我們發(fā)現(xiàn),通過學生自選與教師定題相結(jié)合,總體原則是結(jié)合生活、學習,難度中等的,這種課題既有一定的難度,但是又在學生的能力范圍內(nèi),學生在整個軟件工程過程中通過一步一步地分析設(shè)計,對系統(tǒng)的認識也越來越清晰,增強了自信,最終還能夠?qū)崿F(xiàn)出來,與預期的需求很接近,非常受鼓舞。我們特別支持部分基礎(chǔ)扎實,自學能力強,比較有想法的同學結(jié)合一些比賽的選題或者創(chuàng)業(yè)的選題來進行開發(fā)。另外,若是同期有一些程序設(shè)計或者數(shù)據(jù)庫設(shè)計等課程,我們允許學生申請以一個項目作為多門課的課程設(shè)計。這樣,學生可以專注于一個項目,并且從項目立項至實現(xiàn)的所有階段都有相應的課程支持。
在教學方法上,主要采取分組教學法、情境教學法、翻轉(zhuǎn)教學法等教學方法,有效提升了學生對于學習的積極性和自主性,從而積極開展教學討論。有些教學內(nèi)容提前錄制視頻,教學任務提前計劃并布置,學生主要利用課外時間來完成,實驗課堂主要是以學生為主體進行展示與討論。好處在于做同一個項目的同學可以聽取其他團隊的分析、設(shè)計思路,取長補短,并能提出一些針對性的問題和建設(shè)性的建議。這個分析討論的過程能有效地提升學生的主觀能動性和分析問題的能力。在教學內(nèi)容上,根據(jù)企業(yè)對軟件人才的需求,將重要、經(jīng)典的基本概念、知識點串聯(lián)相應的技能進行講授和實踐。在軟件工程課程的基本教學內(nèi)容中融入操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫系統(tǒng)原理、面向?qū)ο缶幊?、設(shè)計模式等相關(guān)課程知識。
最后,要進行項目驗收與總結(jié),每個團隊需在規(guī)定時間內(nèi)演示項目并講述,驗收標準是需求規(guī)則說明書中的功能性和非功能性需求的完成度、難度、性能、界面美觀性和可操作性,講述的思路是否清晰,流暢,能否準確回答老師和同學的提問,并以團隊為單位提交完整文檔(包括可行性分析、需求分析、用例模型、概要設(shè)計、詳細設(shè)計、測試文檔、項目總結(jié)等)和完整的源碼、配置文件等資料。并且,會選擇部分優(yōu)秀的項目作品成果放在軟件工程課程網(wǎng)站作為展示,既是對學生的努力的肯定,也為以后選課的學生提供參考。
3結(jié)束語
本文首先分析了軟件工程課程特點及教學存在的問題,然后闡述了基于“團隊式項目驅(qū)動”的軟件工程課程教學模式的教學內(nèi)容、方法、過程,旨在提升軟件工程課程教學效率與質(zhì)量,保障社會對軟件人才的需求。