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