針對軟件工程教學(xué)的現(xiàn)狀及存在的問題,從轉(zhuǎn)變教育觀念及改革管理體制、更新實驗教學(xué)方法等方面,探討了軟件工程教學(xué)改革思路。
軟件工程 教學(xué)模式 工程化 設(shè)計型學(xué)科
背景意義
軟件工程是計算機科學(xué)與技術(shù)及相關(guān)專業(yè)教學(xué)計劃中一門重要的專業(yè)必修課,是指導(dǎo)計算機軟件開發(fā)與維護的一門綜合性課程,是一門實踐性很強的課程,各高校的計算機專業(yè)均開設(shè)這門課程。通過本課程的學(xué)習(xí),使學(xué)生了解和掌握軟件工程開發(fā)的技術(shù)和方法,具備作為軟件工程師所需的專業(yè)能力,為從事計算機軟件開發(fā)和維護提供方法上的指導(dǎo)。同時,軟件工程的研究除計算機軟件本身外,還涉及眾多其他的領(lǐng)域,如管理科學(xué)、心理學(xué)、經(jīng)濟學(xué)、人機工程學(xué)等,因此,它也是一門綜合性學(xué)科。進入新世紀(jì),軟件工程已經(jīng)由最初的一個學(xué)科方向發(fā)展成為以計算機科學(xué)技術(shù)為基礎(chǔ)的多學(xué)科交叉學(xué)科,在當(dāng)今的信息社會中占有重要地位。如何組織好軟件工程實驗性教學(xué),對于培養(yǎng)創(chuàng)新型合格的軟件人才具有十分重要的意義。
其主要內(nèi)容包括:系統(tǒng)設(shè)計分析、需求分析、概要設(shè)計、詳細設(shè)計、源程序代碼、系統(tǒng)測試、系統(tǒng)維護等。是按照“案例導(dǎo)向、項目驅(qū)動”的設(shè)計思想,模擬軟件企業(yè)先進的軟件項目管理和開發(fā)過程,進行“應(yīng)用軟件的開發(fā)實踐”。以項目開發(fā)帶動軟件工程的理論學(xué)習(xí),又以軟件工程的理論來指導(dǎo)軟件開發(fā)的實踐。使學(xué)生得到較全面、系統(tǒng)和規(guī)范的軟件工程實踐的訓(xùn)練,培養(yǎng)創(chuàng)造性的軟件設(shè)計能力和綜合分析、解決問題的能力。
軟件工程的教學(xué)現(xiàn)狀
軟件工程主要由理論課和實驗課組成,該學(xué)科的實踐性很強,要求學(xué)生必須具有較強的實際操作能力。因此,在該學(xué)科教育中,實驗課與理論課是同等重要的。但是,在實際教學(xué)過程中,實驗課與理論課的地位卻相差很懸殊。由于受傳統(tǒng)教學(xué)觀念的影響,人們往往只關(guān)心理論課的教學(xué),在理論課上不惜投入大量的時間和精力,精心設(shè)置理論課的教學(xué)計劃、教學(xué)內(nèi)容。而對實驗課卻顯得很隨意,實驗課常常是由理論課老師根據(jù)自己的教學(xué)要求,隨意地安排一些實驗內(nèi)容,并且,理論老師由于要花費大量的精力準(zhǔn)備理論課,時常無暇顧及實驗課,因此,實驗課實際上成了一種理論課的點綴,嚴(yán)重影響了本課程的教學(xué)質(zhì)量。
軟件工程強調(diào)采用工程化的方式開發(fā)和設(shè)計軟件,要求培養(yǎng)學(xué)生能勝任研究、分析、開發(fā)、設(shè)計、生產(chǎn)、測試、管理、咨詢、培訓(xùn)等多種角色,使學(xué)生熟練掌握軟件工程知識與技能,具備作為軟件工程師從事工程專業(yè)所需的專業(yè)能力。隨著高校擴招,教學(xué)規(guī)模迅速發(fā)展,傳統(tǒng)的計算機教學(xué)模式在實踐環(huán)節(jié)上的缺乏與不足,直接影響了計算機課程的教育教學(xué)質(zhì)量,特別是對于像軟件工程這種綜合性、實踐性很強的課程,如果沒有一整套科學(xué)、合理的實驗教學(xué)方法,就不可能培養(yǎng)出具有創(chuàng)新能力的合格人才。因此,切實加強軟件工程實驗課程的創(chuàng)新與改革至關(guān)重要。
軟件工程教學(xué)模式改革的基本思路與初步嘗試
軟件工程是一門綜合性的設(shè)計型學(xué)科,是實現(xiàn)本課程教學(xué)目標(biāo),培養(yǎng)學(xué)生實踐能力和創(chuàng)新意識的重要課程。其實驗內(nèi)容包括軟件開發(fā)的兩大方法學(xué)的專題訓(xùn)練,即結(jié)構(gòu)化(生命周期學(xué))的方法學(xué)和面向?qū)ο蟮姆椒▽W(xué),以平時實驗和課程設(shè)計相結(jié)合,設(shè)置一些實驗項目,要求學(xué)生利用結(jié)構(gòu)化軟件開發(fā)技術(shù)或面向?qū)ο蟮能浖_發(fā)技術(shù)完成對該項目的開發(fā)。
因此,我們主要從以下幾個方面對軟件工程的教學(xué)做了改革與創(chuàng)新的嘗試:(1)理論與實踐并重;(2)理論學(xué)習(xí)和課程設(shè)計相結(jié)合,設(shè)置一些綜合實驗項目。隨著課程進展布置任務(wù),通過調(diào)查研究、可行性研究、需求分析、概要設(shè)計、詳細設(shè)計、編碼、測試、維護(版本升級)及技術(shù)文檔的編寫,結(jié)合所學(xué)習(xí)的理論知識,完成設(shè)計;(3)設(shè)計過程中,教師扮演“用戶”和“項目顧問”的角色,學(xué)生則是各項目組的“開發(fā)人員”,而開發(fā)小組的組長,則要模擬“項目經(jīng)理”的角色,采用分組設(shè)計;(4)對本課程的課程設(shè)計要有可操作性、趣味性和適當(dāng)?shù)碾y度。可操作性保證學(xué)生都能完成實驗,從而促進學(xué)生學(xué)習(xí)信心的建立,在一定程度上能減少學(xué)生抄襲的理由,克服實驗數(shù)據(jù)普遍抄襲的弊病;趣味性體現(xiàn)“寓教于樂”,以提高學(xué)生完成實驗的積極性;而適當(dāng)?shù)碾y度有助于激發(fā)優(yōu)秀學(xué)生進一步鉆研的斗志;(5)學(xué)生分工合作,學(xué)習(xí)軟件開發(fā)小組的組織和管理,將項目開發(fā)各階段的任務(wù)明確,熟悉軟件開發(fā)環(huán)境,培養(yǎng)團隊精神,共同完成該項目的設(shè)計任務(wù);(6)設(shè)計完成后,每位同學(xué)要進行答辯。教師的主要任務(wù)是答疑和檢查;(7)由教師給出一些題目或自定題目。軟件開發(fā)的方法自定。
主要實踐活動內(nèi)容包括教師命題,分課題指導(dǎo),需求、設(shè)計評審、軟件測試等軟件開發(fā)全過程。實踐方式采取課內(nèi)、課外相結(jié)合,面對面答疑、指導(dǎo)交流協(xié)作相結(jié)合。
無論是實驗管理體系,還是實驗的課程設(shè)置,都沒有得到足夠的重視。在提倡素質(zhì)教育注重能力培養(yǎng)的今天,傳統(tǒng)的實驗教學(xué)已遠遠不能滿足時代的要求,如何提高高校實驗教學(xué)的質(zhì)量,培養(yǎng)學(xué)生的實踐能力和創(chuàng)新能力,是每位高等教育工作者應(yīng)該思考的問題。這種全新的實踐教學(xué)方式,不僅激發(fā)了學(xué)生參與的積極性和主動性,也為學(xué)生提供了發(fā)現(xiàn)問題、分析問題、解決問題的空間,同時也是培養(yǎng)學(xué)生進行探究性、協(xié)作性學(xué)習(xí)和團隊精神的最好方式。
中圖分類號:G64文獻標(biāo)識碼:B
[1]崔含鼎,梁仕云.現(xiàn)代教學(xué)系統(tǒng)工程模式論[M].廣西教育出版社,2001.
[2]程達.教學(xué)目標(biāo)論[M].湖南教育出版社,2001.