謝樹龍,劉家素
(1.天津農(nóng)學(xué)院計算機與信息工程學(xué)院,天津 300384;2.天津市電大西青分校,天津 300380)
軟件工程與團(tuán)隊開發(fā)課程教學(xué)改革初探
謝樹龍1,劉家素2
(1.天津農(nóng)學(xué)院計算機與信息工程學(xué)院,天津 300384;2.天津市電大西青分校,天津 300380)
軟件工程與團(tuán)隊開發(fā)是軟件工程專業(yè)的一門專業(yè)課,本文從與其他專業(yè)課的相互關(guān)系、課程側(cè)重點的劃分、教學(xué)實習(xí)內(nèi)容的安排等方面介紹該課程的教學(xué)改革與實踐,通過跟蹤授課結(jié)果并進(jìn)行初步分析,基本上達(dá)到了預(yù)期目的,對于學(xué)生能力培養(yǎng)和素質(zhì)提高有一定促進(jìn)作用。
軟件工程學(xué);結(jié)構(gòu)化方法學(xué);面向?qū)ο蠹夹g(shù)
軟件工程與團(tuán)隊開發(fā)是軟件工程專業(yè)一門比較重要的專業(yè)課程,在本科高年級開設(shè),課程的重要性有目共睹,經(jīng)走訪本專業(yè)畢業(yè)生了解到,該課程是他們工作中知識點應(yīng)用較多的課程之一,另外,國家人事部、信息產(chǎn)業(yè)部舉辦計算機技術(shù)與軟件專業(yè)技術(shù)資格(水平)考試,各級別、各專業(yè)都有較多軟件工程知識進(jìn)行考核。因此,從課程的應(yīng)用遠(yuǎn)景來看,學(xué)生應(yīng)當(dāng)掌握軟件工程與團(tuán)隊開發(fā)的原理和應(yīng)用。結(jié)合本人在講課過程的體會,從以下三個方面介紹課程改進(jìn)的實施:
由于軟件工程與團(tuán)隊開發(fā)這門課程是在本科高年級開設(shè)的,在此之前已經(jīng)學(xué)習(xí)過幾門相關(guān)課程,包括軟件測試、UML統(tǒng)一建模、軟件開發(fā)標(biāo)準(zhǔn)化管理等課程,后續(xù)相關(guān)課程有:軟件項目管理、軟件需求分析等課程,這些課程之間有一定的連貫性,涉及到的知識點也存在少量的重合,因此需要處理好本課程和其他課程之間的關(guān)系,打個比方來說:其他的相關(guān)課程比作一個個珍珠,那么本課程就比作串起珍珠的鏈子,正是有了這門課才把各個知識點組織成一個有機的整體,學(xué)生對于知識的領(lǐng)會更加全面和系統(tǒng),否則,缺乏本課程的知識會使學(xué)生感覺知識點孤立,無法做到融會貫通[1]。所以在組織課程內(nèi)容時,注意協(xié)調(diào)已學(xué)過的軟件測試、UML統(tǒng)一建模等課程,重疊的知識內(nèi)容略講,要求學(xué)生課下加強復(fù)習(xí)并掌握。
軟件工程與團(tuán)隊開發(fā)課程目前采用的教材是張海藩編著的軟件工程導(dǎo)論(第六版),該教材從上世紀(jì)出版以來多次修訂,從最初的結(jié)構(gòu)化方法學(xué)發(fā)展到現(xiàn)在的面向?qū)ο箝_發(fā)技術(shù),即傳統(tǒng)方法學(xué)到現(xiàn)代方法學(xué)的演化。對于經(jīng)典的結(jié)構(gòu)化方法學(xué),有學(xué)生認(rèn)為過時了、沒用了,其實不然,正是結(jié)構(gòu)化軟件工程方法解決了早期爆發(fā)的軟件危機,使得軟件產(chǎn)業(yè)得以順利發(fā)展,其實傳統(tǒng)軟件工程學(xué)的很多觀點,比如:模塊獨立、逐步求精、低耦合高內(nèi)聚等原理,對于當(dāng)前程序開發(fā)仍然有指導(dǎo)作用,也有助于理解面向?qū)ο蟮姆庋b、繼承等特性[2]。因此,經(jīng)典的軟件工程方法學(xué)部分重點放在原理講解,這些結(jié)論經(jīng)歷時間的考驗理論上較為完善,但是在實習(xí)時不要求使用結(jié)構(gòu)化方法;現(xiàn)代軟件工程方法學(xué)是指面向?qū)ο蟮拈_發(fā)技術(shù),學(xué)生入學(xué)后學(xué)習(xí)編程時就開始接觸了,已經(jīng)構(gòu)建了面向?qū)ο蟮乃季S模式,因此,重點放在對于面向?qū)ο蠹夹g(shù)的應(yīng)用,要求學(xué)生在課程實習(xí)時使用面向?qū)ο蠹夹g(shù)開發(fā)。
軟件工程與團(tuán)隊開發(fā)是一門理論和應(yīng)用并重的課程,應(yīng)用的內(nèi)容既涉及技術(shù)又涉及管理。所以,學(xué)生在學(xué)完這門課后,不能僅停留在記住書上的概念和原理的層面上,而是應(yīng)當(dāng)把課程中的技術(shù)和管理知識都能靈活加以運用?;谶@個目標(biāo),在開課的最初兩周,安排學(xué)生自愿組成兩到三人的實習(xí)小組,按照自己熟悉的領(lǐng)域上報實習(xí)課的項目題目,一周后提供一次改題目的機會。由于是學(xué)生自己擬報的題目,因此可行性研究、需求分析等工作較為得心應(yīng)手,這樣,一直到后續(xù)的設(shè)計、開發(fā)、測試等環(huán)節(jié)實現(xiàn)起來也比較順利。由于和其他課程有內(nèi)容的交叉,因此對學(xué)生進(jìn)行約定:如果題目以前做過,那么在本課程的實習(xí)課上按照軟件工程學(xué)的要求把內(nèi)容補全,某項內(nèi)容在其他課上做過則需要改進(jìn),即版本升級,通過和其他任課教師溝通能掌握學(xué)生實習(xí)的工作量,這樣也讓學(xué)生體會系統(tǒng)升級的必要性以及精益求精的工作態(tài)度[3]。
在近幾年軟件工程與團(tuán)隊開發(fā)的教學(xué)過程中,本人經(jīng)過不斷嘗試和實踐,隨時把涌現(xiàn)出來的新知識和新技術(shù)補充到課堂上,同時也多聽取他人的建議以及畢業(yè)生提供的反饋意見,認(rèn)真改進(jìn)教學(xué)方式方法,不僅把軟件工程學(xué)的基本原理傳輸給學(xué)生,也不僅是幫助學(xué)生考試及格或取得軟件考試合格證書,而是要提高學(xué)生在開發(fā)過程中運用知識的能力、解決問題的能力。
[1]宋玉成,靳紹禮.案例法在軟件工程學(xué)教學(xué)中的應(yīng)用[J].中國科教創(chuàng)新導(dǎo)刊,2010NO16:72.
[2]馬海鳳.關(guān)于軟件工程學(xué)的理解認(rèn)識[J].價值工程,2013,32(05):191-192.
[3]張琳,賈瑜.軟件工程學(xué)課程多層次實踐教學(xué)體系的構(gòu)建[J].計算機教育,2011,9(10):67-70.
10.16640/j.cnki.37-1222/t.2016.22.224