張學(xué)輝
摘要:2006年計(jì)算機(jī)專業(yè)教指委主任李曉明的報(bào)告中指出,要加強(qiáng)學(xué)生的實(shí)踐與動(dòng)手能力的培養(yǎng),明確面向就業(yè)市場的辦學(xué)定位方向。本文針對(duì)該報(bào)告,結(jié)合我校軟件工程專業(yè)的實(shí)際情況,設(shè)計(jì)了四個(gè)階段的實(shí)踐教學(xué),從程序設(shè)計(jì)語言實(shí)訓(xùn)到系統(tǒng)實(shí)現(xiàn)實(shí)訓(xùn),從軟件工程實(shí)訓(xùn)到畢業(yè)設(shè)計(jì),由淺入深,逐漸加強(qiáng)對(duì)學(xué)生動(dòng)手能力的培養(yǎng)。
關(guān)鍵詞:就業(yè);軟件工程;動(dòng)手能力;實(shí)踐教學(xué)
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B
1引言
2006年3月30日,教育部舉行了“2006-2010 年教育部高等學(xué)校有關(guān)科類教學(xué)指導(dǎo)委員會(huì)成立大會(huì)”,會(huì)上計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)教學(xué)指導(dǎo)委員會(huì)主任李曉明作了題為“認(rèn)清形勢(shì),推進(jìn)以就業(yè)市場為導(dǎo)向的計(jì)算機(jī)專業(yè)教育”的報(bào)告。針對(duì)我國的情況,從實(shí)踐的角度考慮,計(jì)算機(jī)教指委建議教育部鼓勵(lì)不同的學(xué)校在“計(jì)算機(jī)科學(xué)與技術(shù)”專業(yè)名稱下選用不同類型的培養(yǎng)方案和教學(xué)計(jì)劃,并基于CC2005列出的“軟件工程”知識(shí)結(jié)構(gòu)定義,形成了參考辦學(xué)規(guī)范。報(bào)告明確了將面向就業(yè)市場的辦學(xué)定位作為今后計(jì)算機(jī)教育的改革方向。另外報(bào)告中還給出了輔助建議,要加強(qiáng)學(xué)生的實(shí)踐與動(dòng)手能力的培養(yǎng)。
目前經(jīng)常看到“軟件人才匱乏”的相關(guān)報(bào)道,但同時(shí)很多軟件工程專業(yè)畢業(yè)生面臨就業(yè)困難,這說明計(jì)算機(jī)軟件行業(yè)需求與高校的實(shí)踐類課程教學(xué)之間存在較大矛盾。出現(xiàn)上述現(xiàn)象的原因主要有:用人單位普遍認(rèn)為計(jì)算機(jī)專業(yè)畢業(yè)生的素質(zhì)與工作預(yù)期相差較遠(yuǎn);計(jì)算機(jī)專業(yè)已畢業(yè)的年輕從業(yè)人員對(duì)自己前幾年在大學(xué)學(xué)到的知識(shí)不甚滿意。因此軟件工程專業(yè)中注重實(shí)踐類課程的教學(xué)內(nèi)容與教學(xué)理念有必要按照就業(yè)市場的需求進(jìn)行調(diào)整。
以往,計(jì)算機(jī)相關(guān)專業(yè)傳統(tǒng)的實(shí)習(xí)模式都是采用“大作業(yè)”形式來進(jìn)行的,這種方式不能引起學(xué)生的興趣和重視,實(shí)習(xí)效果對(duì)于課程的理解和加深也沒多大益處,而且不能引起學(xué)生對(duì)后續(xù)課程的重視。因此結(jié)合我校實(shí)際情況,提出了一種按照軟件工程思想進(jìn)行的,以趣味程序設(shè)計(jì)和項(xiàng)目實(shí)訓(xùn)為主的軟件開發(fā)實(shí)習(xí),在經(jīng)歷了幾年的實(shí)踐后,學(xué)生對(duì)專業(yè)認(rèn)識(shí)更深入,對(duì)課程的了解和銜接關(guān)系更明確,動(dòng)手能力明顯增強(qiáng),對(duì)于項(xiàng)目的操作有了實(shí)戰(zhàn)經(jīng)驗(yàn)。
本文針對(duì)我校軟件工程專業(yè)四個(gè)階段實(shí)踐教學(xué)進(jìn)行設(shè)計(jì),就專業(yè)實(shí)踐如何使學(xué)生的基礎(chǔ)知識(shí)、專業(yè)技能、創(chuàng)新能力、工程能力和職業(yè)素質(zhì)都得到全面均衡的發(fā)展作出了合理的規(guī)劃。
2程序設(shè)計(jì)階段
本階段的實(shí)習(xí)是在學(xué)習(xí)了程序設(shè)計(jì)語言課程之后,在大一暑期進(jìn)行1周的程序設(shè)計(jì)實(shí)習(xí)。該實(shí)習(xí)的主要目的是讓學(xué)生熟練掌握Visual Studio開發(fā)工具,遵循程序編碼規(guī)范,并加深對(duì)程序設(shè)計(jì)語言課程的理解,能夠獨(dú)立完成將實(shí)際問題轉(zhuǎn)換為用計(jì)算機(jī)程序設(shè)計(jì)語言來表達(dá)。這個(gè)階段實(shí)習(xí)內(nèi)容主要包括趣味游戲開發(fā)和趣味數(shù)學(xué)問題求解。趣味游戲能夠引起學(xué)生的興趣,使其對(duì)程序設(shè)計(jì)語言產(chǎn)生濃厚的興趣;趣味數(shù)學(xué)問題可以提高學(xué)生將實(shí)際數(shù)學(xué)問題轉(zhuǎn)化為計(jì)算機(jī)求解的能力。
實(shí)習(xí)結(jié)束后,學(xué)生對(duì)于利用Visual Studio進(jìn)行軟件開發(fā)將更加熟練。在強(qiáng)化了代碼規(guī)范和編程風(fēng)格訓(xùn)練后,學(xué)生編寫出的代碼更加方便閱讀和維護(hù),代碼的邏輯更清晰、更易于理解。
3系統(tǒng)實(shí)現(xiàn)階段
本階段的實(shí)習(xí)是在學(xué)習(xí)了“數(shù)據(jù)結(jié)構(gòu)”課程后,對(duì)算法也有了一定了解的基礎(chǔ)上進(jìn)行的。大二暑假3周的實(shí)習(xí)目的主要是讓學(xué)生掌握系統(tǒng)的軟件開發(fā)流程,為后續(xù)“軟件工程”、“軟件測試”課程作鋪墊。
(1) 選題
指導(dǎo)教師結(jié)合實(shí)際需要和當(dāng)前流行的單機(jī)版小游戲,為學(xué)生設(shè)計(jì)了類型豐富的題目。如結(jié)合實(shí)際類的學(xué)生信息管理系統(tǒng)、排課系統(tǒng)、系統(tǒng)優(yōu)化軟件等;趣味游戲開發(fā)類的貪吃蛇、數(shù)獨(dú)、連連看、中國象棋等。每一個(gè)題目都給出詳細(xì)的功能描述,以便能夠讓學(xué)生了解系統(tǒng)需要實(shí)現(xiàn)的具體功能,部分題目還會(huì)給出模型圖,以及Demo演示。在實(shí)習(xí)開始前,指導(dǎo)教師就將題目放到教學(xué)網(wǎng)站上供學(xué)生瀏覽和下載。
(2) 團(tuán)隊(duì)合作和角色共享
這個(gè)階段,開始讓學(xué)生體會(huì)在軟件開發(fā)過程中的團(tuán)隊(duì)合作精神。學(xué)生對(duì)題目有了一定的了解后,打亂班級(jí)進(jìn)行組隊(duì)。組隊(duì)過程中,要求一個(gè)組最少3人,最多不超過6人,一個(gè)班且不能同宿舍的最多不允許超過2人。這樣分組的目的主要就是鍛煉學(xué)生的交流和溝通能力,以及快速和新伙伴的結(jié)合能力。
團(tuán)隊(duì)組成包含了產(chǎn)品經(jīng)理、項(xiàng)目經(jīng)理、開發(fā)人員、測試人員、用戶教育人員、發(fā)布經(jīng)理六種角色,但并不意味著一個(gè)團(tuán)隊(duì)至少需要六個(gè)成員,也不意味著一個(gè)人只能承擔(dān)一種角色,重要的是這六種角色必須在一個(gè)團(tuán)隊(duì)中體現(xiàn)。一般情況下,團(tuán)隊(duì)成員常常共享角色。如果人數(shù)較少,不同的角色只能進(jìn)行兼任。
(3) 資料共享
開發(fā)過程中,建立一個(gè)資料共享服務(wù)器,指導(dǎo)教師提供的參考資料,以及學(xué)生在開發(fā)時(shí)自己搜索到技術(shù)資料都可以存放到服務(wù)器上。這樣大家能在最短的時(shí)間內(nèi)獲得已經(jīng)存在的參考資料。
(4) 經(jīng)驗(yàn)交流
實(shí)習(xí)過程中,絕大多數(shù)學(xué)生在開發(fā)過程中擔(dān)任或兼職了不同角色,并為他們今后到企業(yè)中快速適應(yīng)自己的崗位打下了基礎(chǔ)。實(shí)習(xí)結(jié)束后,學(xué)生要制作獨(dú)立的安裝包和撰寫實(shí)習(xí)報(bào)告,并按照項(xiàng)目匯報(bào)的方式,制作好PPT,公開答辯,由指導(dǎo)教師和各組組長參與評(píng)分。對(duì)于小組內(nèi)部成員,采取互評(píng)和自評(píng)相結(jié)合,區(qū)分出優(yōu)良,對(duì)于優(yōu)秀的給予一定的獎(jiǎng)勵(lì)機(jī)制。答辯過程由小組指定一位成員介紹一下主要工作及創(chuàng)新點(diǎn),所有成員一起參加回答老師和同學(xué)提出的問題。這樣不僅鍛煉了學(xué)生項(xiàng)目總結(jié)匯報(bào)的能力,而且成績?cè)u(píng)定也比較客觀。
4軟件工程階段
本階段實(shí)習(xí)是在學(xué)習(xí)了“軟件工程”、“數(shù)據(jù)庫”和“軟件測試”等課程后,大三暑假進(jìn)行的4周實(shí)訓(xùn)。根據(jù)軟件工程專業(yè)教學(xué)計(jì)劃,學(xué)生應(yīng)該掌握軟件的開發(fā)過程,實(shí)踐部分軟件工程過程,包括分析設(shè)計(jì)、編碼、測試;實(shí)踐數(shù)據(jù)庫設(shè)計(jì)方法;能夠使用數(shù)據(jù)庫建模工具進(jìn)行數(shù)據(jù)庫設(shè)計(jì);實(shí)踐主流的軟件開發(fā)工具,掌握主流的軟件開發(fā)語言;實(shí)踐部分軟件管理過程,包括項(xiàng)目計(jì)劃與跟蹤,軟件配置與變更管理;實(shí)踐軟件開發(fā)技術(shù)文檔的編寫;同時(shí)要有良好的團(tuán)隊(duì)協(xié)作意識(shí)。基于此,軟件工程實(shí)習(xí)的目的旨在鞏固學(xué)生所學(xué)的基礎(chǔ)知識(shí)、拓寬視野、增強(qiáng)實(shí)踐能力、了解IT行業(yè)所需的知識(shí)及人才類型、掌握計(jì)算機(jī)領(lǐng)域的最新動(dòng)態(tài),以提高學(xué)生在日益激烈的IT人才市場中的競爭能力。
實(shí)習(xí)過程中按照10~15人的規(guī)模成立軟件開發(fā)項(xiàng)目組,以開發(fā)一個(gè)軟件項(xiàng)目作為實(shí)訓(xùn)的主線;項(xiàng)目經(jīng)理由學(xué)生擔(dān)任,項(xiàng)目成員的角色由項(xiàng)目經(jīng)理根據(jù)各成員的技能來確定;由指導(dǎo)教師提供項(xiàng)目的用戶需求,并且確定要開展的軟件工程活動(dòng)和管理活動(dòng)及項(xiàng)目里程碑;根據(jù)開展的軟件工程和管理活動(dòng),提取出一些關(guān)鍵知識(shí)點(diǎn),以案例的方式進(jìn)行項(xiàng)目培訓(xùn),并將其用于項(xiàng)目開發(fā)的實(shí)踐中,其中案例來自已經(jīng)實(shí)際開發(fā)完成的軟件和系統(tǒng)集成項(xiàng)目。指導(dǎo)老師協(xié)助項(xiàng)目經(jīng)理完成項(xiàng)目跟蹤,提供技術(shù)支持,并組織項(xiàng)目的里程碑評(píng)審及結(jié)項(xiàng)評(píng)審,按照考核標(biāo)準(zhǔn)完成項(xiàng)目及項(xiàng)目組成員的考核。
實(shí)習(xí)結(jié)束后,學(xué)生能基本掌握軟件的開發(fā)過程,加深對(duì)軟件工程等課程的理解。
5畢業(yè)設(shè)計(jì)階段
本階段主要是在大四下學(xué)期進(jìn)行,學(xué)生根據(jù)自己的工作需求選取適合自己的畢業(yè)設(shè)計(jì)題目,進(jìn)入16周的畢業(yè)設(shè)計(jì)階段,這也是學(xué)生在學(xué)校進(jìn)行的最后一次實(shí)習(xí)。畢業(yè)設(shè)計(jì)是完成教學(xué)計(jì)劃達(dá)到本科生培養(yǎng)目標(biāo)的重要環(huán)節(jié),是教學(xué)計(jì)劃中綜合性最強(qiáng)的實(shí)踐教學(xué)環(huán)節(jié),它對(duì)培養(yǎng)學(xué)生的思想、工作作風(fēng)及實(shí)際能力、提高畢業(yè)生全面素質(zhì)具有很重要的意義。
畢業(yè)設(shè)計(jì)結(jié)束后,學(xué)生能在以下幾方面得到訓(xùn)練和提高:
(1) 綜合運(yùn)用所學(xué)專業(yè)知識(shí)分析、解決實(shí)際問題的能力;
(2) 掌握文獻(xiàn)檢索、資料查詢的基本方法以及獲取新知識(shí)的能力;
(3) 盡快提高計(jì)算機(jī)軟件、硬件或應(yīng)用系統(tǒng)設(shè)計(jì)和開發(fā)的基本能力;
(4) 書面和口頭表達(dá)的能力;
(5) 課題獨(dú)立完成能力和協(xié)作配合能力。
6總結(jié)
在新的就業(yè)形勢(shì)下,學(xué)生的動(dòng)手能力亟需加強(qiáng)。軟件工程本科教學(xué)計(jì)劃中在課程之外開設(shè)的這四次實(shí)訓(xùn),將教學(xué)內(nèi)容與社會(huì)發(fā)展和需要緊密結(jié)合起來,加強(qiáng)了學(xué)生的實(shí)踐與動(dòng)手能力的培養(yǎng),為學(xué)生今后走向社會(huì)打下了堅(jiān)實(shí)的基礎(chǔ)。已經(jīng)畢業(yè)的幾屆學(xué)生,動(dòng)手能力也得到了公司的好評(píng),產(chǎn)生了良好的效果。
參考文獻(xiàn):
[1] 李曉明.認(rèn)清形勢(shì),推進(jìn)以就業(yè)市場為導(dǎo)向的計(jì)算機(jī)專業(yè)教育——計(jì)算機(jī)專業(yè)分委員會(huì)“十五”工作概要與“十一五”工作構(gòu)想[J].計(jì)算機(jī)教育,2006(5):23-24.
[2] 李陶深,楊柳,等.以能力培養(yǎng)為核心的程序設(shè)計(jì)課程教學(xué)研究與探索[J].廣西大學(xué)學(xué)報(bào):哲學(xué)社會(huì)科學(xué)版,2008(9):36-37.
[3] 耿國華,劉曉霞,董衛(wèi)軍.計(jì)算機(jī)專業(yè)程序設(shè)計(jì)能力培養(yǎng)模式的探索與實(shí)踐[C]. 大學(xué)計(jì)算機(jī)課程報(bào)告論壇論文集.北京:高等教育出版社,2007.
[4] 郝水俠.“軟件工程”的教學(xué)模式及方法的探索[J].科技創(chuàng)新導(dǎo)報(bào),2009(1):133.
[5] 鄭旭輝,劉松青.加強(qiáng)校企合作,促進(jìn)素質(zhì)教育發(fā)展[J].理工高教研究,2004(2):55-57.