摘要:《軟件工程》是計(jì)算機(jī)軟件專業(yè)的一門核心課程,非常重要,但這門課程也有它的特點(diǎn):內(nèi)容抽象,理論性、邏輯性比較強(qiáng),如果采用傳統(tǒng)的教學(xué)方法,教師上課僅僅講解一堆的理論,學(xué)生失去學(xué)習(xí)興趣,處于被動(dòng)狀態(tài),通過(guò)本課程的學(xué)習(xí),提高學(xué)生的軟件開發(fā)能力,為將來(lái)從事軟件開發(fā)及項(xiàng)目管理工作打下堅(jiān)實(shí)的基礎(chǔ),更是無(wú)稽之談。正因如此,我們需打破傳統(tǒng)的教學(xué)方法,在軟件工程的教學(xué)中,采用一種比較好的教學(xué)方法,即以案例教學(xué)法促進(jìn)軟件工程教學(xué)。
關(guān)鍵詞:軟件工程;案例教學(xué)法;實(shí)施
中圖分類號(hào):TP311.5-4 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 09-0000-02
一、引言
《軟件工程》是計(jì)算機(jī)軟件專業(yè)的一門核心課程,在軟件開發(fā)實(shí)踐中發(fā)揮了重要作用?!盾浖こ獭分械姆椒ㄅc技巧不僅能用于軟件開發(fā)過(guò)程,還能促進(jìn)組織管理協(xié)作能力的發(fā)展,對(duì)培養(yǎng)學(xué)生的軟件素質(zhì),提高學(xué)生的軟件開發(fā)能力具有重要的意義,為將來(lái)從事軟件開發(fā)及項(xiàng)目管理工作打下良好的基礎(chǔ)。
《軟件工程》是一門比較難學(xué)的課程,內(nèi)容抽象,理論性、邏輯性比較強(qiáng)。對(duì)于學(xué)生來(lái)講,一些知識(shí)點(diǎn)很難學(xué)懂學(xué)透;對(duì)于老師來(lái)說(shuō),如果僅僅是照本宣科,純理論的講解,那么學(xué)生聽不懂,會(huì)失去學(xué)習(xí)的興趣,教學(xué)效果差。
采用什么樣的教學(xué)方法能提高學(xué)生學(xué)習(xí)本門課程的興趣,提高他們的教學(xué)效果,促進(jìn)本課程的教學(xué)?是我們每位教師值得思考的問(wèn)題。通過(guò)多年軟件工程的教學(xué),總結(jié)經(jīng)驗(yàn)得出案例教學(xué)法可以促進(jìn)軟件工程的教學(xué)。
二、案例教學(xué)法
案例教學(xué),就是在教師的指導(dǎo)下,根據(jù)教學(xué)目的要求,組織學(xué)生對(duì)案例的調(diào)查、閱讀、思考、分析、討論和交流等活動(dòng),教給他們分析問(wèn)題和解決問(wèn)題的方法或道理,進(jìn)而提高分析問(wèn)題和解決問(wèn)題的能力,加深學(xué)生對(duì)基本原理和概念的理解的一種特定的教學(xué)方法。
案例教學(xué)方法有一個(gè)基本的假設(shè)前提,即學(xué)員能夠通過(guò)對(duì)這些過(guò)程的研究與發(fā)現(xiàn)來(lái)進(jìn)行學(xué)習(xí),在必要的時(shí)候回憶并應(yīng)用這些知識(shí)與技能。案例教學(xué)法非常適合于開發(fā)分析、綜合及評(píng)估能力等高級(jí)智力技能。為使案例教學(xué)更有效。學(xué)習(xí)環(huán)境必須能為受訓(xùn)者提供案例準(zhǔn)備及討論案例分析結(jié)果的機(jī)會(huì),必須安排受訓(xùn)者面對(duì)面地討論或通過(guò)電子通訊設(shè)施進(jìn)行溝通。但是,學(xué)習(xí)者必須愿意并且能夠分析案例,然后進(jìn)行溝通并堅(jiān)持自己的立場(chǎng)。
案例教學(xué)的具有自身的特色:1.鼓勵(lì)學(xué)員獨(dú)立思考。案例教學(xué)沒(méi)人會(huì)告訴你應(yīng)該怎么辦,而是要自己去思考、去創(chuàng)造,使得枯燥乏味變得生動(dòng)活潑,而且案例教學(xué)的稍后階段。每位學(xué)員都要就自己和他人的方案發(fā)表見(jiàn)解。通過(guò)這種經(jīng)驗(yàn)的交流。一是可取長(zhǎng)補(bǔ)短、促進(jìn)人際交流能力的提高,二也是起到一種激勵(lì)的效果。2.引導(dǎo)學(xué)員變注重知識(shí)為注重能力。學(xué)員一味的通過(guò)學(xué)習(xí)書本的死知識(shí)而忽視實(shí)際能力的培養(yǎng),對(duì)自身的發(fā)展有著巨大的障礙。3.重視雙向交流。在案例教學(xué)中,學(xué)員拿到案例后,先要進(jìn)行消化,然后查閱各種他認(rèn)為必要的理論知識(shí).這無(wú)形中加深了對(duì)知識(shí)的理解,而且是主動(dòng)進(jìn)行的。捕捉這些理論知識(shí)后,他還要經(jīng)過(guò)縝密地思考,提出解決問(wèn)題的方案,這應(yīng)視為能力上的升華。同時(shí)他的答案隨時(shí)要求教師給以引導(dǎo),這也促使教師加深思考,根據(jù)不同學(xué)員的不同理解補(bǔ)充新的教學(xué)內(nèi)容。
三、在軟件工程教學(xué)中采用案例教學(xué)法的意義
傳統(tǒng)的軟件工程教學(xué)是給學(xué)生講解許多的理論知識(shí),并沒(méi)有說(shuō)明如何將理論知識(shí)與實(shí)踐相結(jié)合,以理論指導(dǎo)實(shí)踐,通過(guò)實(shí)踐加強(qiáng)對(duì)理論知識(shí)的理解,采用的是填鴨式的教學(xué)方法,學(xué)生上課積極性、主動(dòng)性不高,感覺(jué)學(xué)習(xí)枯燥乏味,產(chǎn)生厭學(xué)心理,學(xué)生的情緒會(huì)同時(shí)影響老師的積極性,使課堂氣氛非常的沉悶。
要有好的教學(xué)效果,除了要求老師對(duì)本門課程的知識(shí)非常熟悉,教學(xué)經(jīng)驗(yàn)豐富以外,還要求老師在上課時(shí),采用比較好、先進(jìn)的教學(xué)手段和教學(xué)方法。通過(guò)本人對(duì)軟件工程課程的研究,認(rèn)為在軟件工程教學(xué)中以“案例導(dǎo)向、項(xiàng)目驅(qū)動(dòng)”的教學(xué)方法,引導(dǎo)學(xué)生理論與應(yīng)用相結(jié)合,理論指導(dǎo)實(shí)踐,通過(guò)實(shí)踐反過(guò)來(lái)加深對(duì)理論知識(shí)的理解,學(xué)生利用軟件工程的原理、方法、工程技術(shù)在實(shí)踐中學(xué)會(huì)發(fā)現(xiàn)問(wèn)題、分析問(wèn)題、研究問(wèn)題、解決問(wèn)題,更好地進(jìn)行軟件開發(fā)。
四、案例教學(xué)法在軟件工程教學(xué)中如何實(shí)施
案例教學(xué)法在軟件工程教學(xué)中組織實(shí)施的總原則:先從小的案例教學(xué)入手,學(xué)生適應(yīng)后再進(jìn)行大的案例教學(xué),把學(xué)生分成若干個(gè)組,在規(guī)定的時(shí)間讓學(xué)生閱讀材料,之后讓學(xué)生互相提討論并解答,讓學(xué)生對(duì)案例進(jìn)行展示,老師對(duì)學(xué)生的案例進(jìn)行評(píng)價(jià)和總結(jié)。以下分別講解案例教法在軟件工程教學(xué)的理論、實(shí)驗(yàn)、課程設(shè)計(jì)中的實(shí)施。
(一)案例教學(xué)法在軟件工程理論教學(xué)中的實(shí)施
本課程主要介紹了軟件危機(jī)的產(chǎn)生、消除軟件危機(jī)的途徑、軟件工程的定義和基本原理;軟件生命周期的基本任務(wù)、軟件模型;傳統(tǒng)方法學(xué):結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)、結(jié)構(gòu)化實(shí)現(xiàn);面向?qū)ο蠓椒▽W(xué):面向?qū)ο蠓治?、面向?qū)ο笤O(shè)計(jì)、面向?qū)ο髮?shí)現(xiàn);統(tǒng)一建模語(yǔ)言;軟件計(jì)劃、組織、控制、國(guó)際標(biāo)準(zhǔn)。重點(diǎn)和難點(diǎn)的內(nèi)容是:軟件工程的定義和基本原理;軟件生命周期的基本任務(wù)、軟件模型;結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)、結(jié)構(gòu)化實(shí)現(xiàn);面向?qū)ο蠓治?、面向?qū)ο笤O(shè)計(jì)、面向?qū)ο髮?shí)現(xiàn)。
這門課程涉及的理論知識(shí)比較多,內(nèi)容比較抽象,教師在講解課程內(nèi)容時(shí),如何使這門課程上得有聲有色,學(xué)生聽得津津是道,除了優(yōu)化課程教學(xué)內(nèi)容,有較強(qiáng)的表達(dá)能力以外,還要采用好的教學(xué)方法。
在本課程的理論教學(xué)中,我們都是以案例為導(dǎo)向,對(duì)軟件生命周期的基本任務(wù)、軟件模型的教學(xué),舉出三個(gè)案例,結(jié)合我們的理論知識(shí),要求學(xué)生分析與計(jì)論出三個(gè)案例分別適合采用哪種軟件模型,以及采用這種模型的原因。通過(guò)倉(cāng)庫(kù)管理系統(tǒng)、教師工資支付系統(tǒng)等案例講解如何采用傳統(tǒng)方法學(xué)對(duì)軟件進(jìn)行分析、設(shè)計(jì)、實(shí)現(xiàn),面向?qū)ο蠓治?、面向?qū)ο笤O(shè)計(jì)、面向?qū)ο髮?shí)現(xiàn)知識(shí)的講解,貫穿的案例是ATM自動(dòng)取款機(jī)系統(tǒng)、電梯系統(tǒng)。
(二)案例教學(xué)法在軟件工程實(shí)驗(yàn)教學(xué)中的實(shí)施
軟件工程知識(shí)的掌握,不僅需要掌握理論知識(shí),也需要大量的實(shí)際動(dòng)手的訓(xùn)練。在實(shí)驗(yàn)課中,以案例為主線設(shè)計(jì)實(shí)驗(yàn)內(nèi)容。本課程安排的實(shí)驗(yàn)如下:
1.系統(tǒng)分析----數(shù)據(jù)流圖。2.系統(tǒng)分析----狀態(tài)圖及數(shù)據(jù)字典。3.軟件總體設(shè)計(jì)---軟件的系統(tǒng)結(jié)構(gòu)。4.軟件詳細(xì)設(shè)計(jì)---程序流程圖及判定表。5.白盒測(cè)試-----邏輯覆蓋。6.白盒測(cè)試-----基本路徑測(cè)試。7.黑盒測(cè)試---等價(jià)劃分及邊界值分析。8.自動(dòng)售貨機(jī)系統(tǒng)對(duì)象模型的創(chuàng)建。9.自動(dòng)售貨機(jī)系統(tǒng)動(dòng)態(tài)模型的分析。10.自動(dòng)售貨機(jī)系統(tǒng)功能模型的創(chuàng)建。配套與教學(xué)內(nèi)容相對(duì)應(yīng)的上機(jī)實(shí)驗(yàn),使理論與實(shí)踐想結(jié)合,使學(xué)生得以融會(huì)貫通所學(xué)知識(shí),學(xué)生能對(duì)所學(xué)的理論知識(shí)有更深的理解,加強(qiáng)實(shí)踐運(yùn)用的能力。
(三)案例教學(xué)法在軟件工程課程設(shè)計(jì)中的實(shí)施
精心設(shè)計(jì)和實(shí)施綜合性的課程設(shè)計(jì),以循序漸進(jìn)的任務(wù)驅(qū)動(dòng)方式,指導(dǎo)學(xué)生完成綜合性的實(shí)驗(yàn)任務(wù)。本課程安排了56節(jié)課的課程設(shè)計(jì),課程設(shè)計(jì)案例的題目:1.教師工資支付系統(tǒng)的研究與設(shè)計(jì);2.倉(cāng)庫(kù)管理系統(tǒng)的研究與設(shè)計(jì);3.ATM模擬系統(tǒng)的研究與設(shè)計(jì);4.圖書管理系統(tǒng)的研究與設(shè)計(jì);5.無(wú)紙化考試系統(tǒng)的研究與設(shè)計(jì);6.校友錄系統(tǒng)的研究與設(shè)計(jì);7.餐飲系統(tǒng)的研究與設(shè)計(jì);學(xué)生也可以自擬題目??梢匀齻€(gè)人一組或單人完成一個(gè)項(xiàng)目,在完成項(xiàng)目期間,學(xué)生可以互相探討,也可以與老師探計(jì)。項(xiàng)目成果最終以論文+系統(tǒng)的形式上交,論文要求如下:第一章是引言,第二章是系統(tǒng)分析,第三章是系統(tǒng)設(shè)計(jì),第四章是系統(tǒng)實(shí)現(xiàn),第五章是系統(tǒng)測(cè)試,第六章是總結(jié),然后附錄是主要的代碼。這些項(xiàng)目可以使用傳統(tǒng)方法學(xué)的方法,也可以采用面向?qū)ο蟮姆椒ㄟM(jìn)行分析、設(shè)計(jì)、編碼和測(cè)試。
通過(guò)案例項(xiàng)目開發(fā)過(guò)程中發(fā)現(xiàn)的問(wèn)題,有針對(duì)性地學(xué)習(xí)軟件工程理論。使學(xué)生在實(shí)踐中學(xué)會(huì)發(fā)現(xiàn)問(wèn)題、研究問(wèn)題、分析問(wèn)題、解決問(wèn)題。使得學(xué)生能對(duì)所學(xué)的知識(shí)建立完整的知識(shí)體系。
五、總結(jié)
在軟件工程的教學(xué)過(guò)程中,采用案例教學(xué)法,打破了傳統(tǒng)的填鴨式的教學(xué)方式,實(shí)現(xiàn)以”案例教學(xué)法”促進(jìn)”軟件工程”教學(xué),激發(fā)了學(xué)生學(xué)習(xí)的興趣,使得枯燥乏味的課堂學(xué)習(xí)變得生動(dòng)活潑,提高了學(xué)生學(xué)習(xí)的主動(dòng)性,達(dá)到了較好的教學(xué)效果,學(xué)生通過(guò)軟件工程課程的學(xué)習(xí),掌握軟件工程的原理和方法,根據(jù)軟件規(guī)模,用傳統(tǒng)方法學(xué)或面向?qū)ο蠓椒▽W(xué)對(duì)軟件系統(tǒng)進(jìn)行分析、設(shè)計(jì)、編碼、測(cè)試、運(yùn)行維護(hù)。提高學(xué)生的軟件開發(fā)能力,為將來(lái)從事軟件開發(fā)及項(xiàng)目管理工作打下堅(jiān)實(shí)的基礎(chǔ)。
參考文獻(xiàn):
[1]張海藩著.軟件工程(第3版).人民郵電出版社,2010,3
[2]宋雨著.軟件工程實(shí)踐教程.清華大學(xué)出版社,2011,3
[3]劉光潔著..NET軟件工程與項(xiàng)目案例教程.清華大學(xué)出版社,2012,1
[4]張凱著.軟件工程與開發(fā)技術(shù).清華大學(xué)出版社,2012,1
本文是廣東技術(shù)師范學(xué)院天河學(xué)院(2011THEGH025)的部分成果