楊 林,方 芳,左澤均
(中國地質大學(武漢)信息工程學院,湖北武漢 430074)
課程的基本目標是介紹面向對象統一建模語言UML的基本概念和知識點,同時達到靈活運用一種UML建模工具進行分析和設計的要求。UML教學的問題主要體現在分析訓練不足和案例設計陳舊兩個方面。
目前課程教學中多采用傳統的講授法,主要講解建模原理、語法知識,同時結合一些上機實踐操作來鞏固和熟悉課堂上所講的一些知識點。學生雖然對建模工具的操作感興趣,也可以按照規范,畫出案例的各種圖。但是面對項目問題,學生很難利用UML圖來進行分析和設計。傳統的系統學習和講授就顯現出了許多缺點,經常表現為教學內容使理論與實踐相脫節,使課堂教學顯得空洞、呆板,學生缺乏學習興趣,束縛了學生的思維發展且不能考核出學生的實際操作水平、綜合分析能力及創新能力。
目前在“統一建模語言UML”課程中通常也是使用案例進行教學,但是在眾多的UML教材中,大多都采用比較陳舊的案例,這些案例多年不變,已經跟不上UML技術的發展;并且每章的案例不具有連貫性,導致學生不能系統地將UML技術應用到一個具體系統中,使得學生感到學不能用;有的甚至與軟件系統完全無關,使得學生學了案例后不知道怎么應用到實際的軟件開發中去。UML教學的最終目的是要讓學生學會使用UML工具進行軟件設計及軟件開發,培養學生的實際動手能力和探究、創新能力,所以在案例的選取方面要精,要有代表性和典型性。
軟件工程中的活動是以項目的形式來組織的。針對第一節提出的問題,筆者對“項目驅動型”教學方法進行了探索和研究。“項目驅動型”教學方法可以克服“重理論輕分析”、“案例單一陳舊不連貫”的問題,能更好地將教學內容有機組織于一體。
如何建設“項目驅動型”教學方法的課程結構,如何將項目與教學內容有機融合與貫穿是首先需要考慮的問題。課程的結構分為:基本概念及原理、案例分析及討論、實踐操作及強化三個基本組成部分。在第一部分“基本概念及原理”中,必須向學生講解清楚UML每種視圖的作用、使用時機,各種視圖包含的基本元素符號及涵義,各種視圖的建模方法。這部分內容是學生認知UML各種視圖的基礎知識,清楚地講解此部分內容是掌握UML的必要基礎。僅僅理解了基本圖形元素概念涵義,學生仍不知如何建模,因此必須貫穿建模方法內容。結合項目開發過程的不同階段,講授如何對項目進行分析并建立UML模型。第二部分“案例分析及討論”包含典型案例分析、項目案例分組建模與討論兩個部分,此部分教學內容為對基本知識的強化,是消化知識及創新的主要階段。第三部分“實踐操作及強化”包括建模軟件基本操作練習和項目案例建模實踐兩個部分。該部分教學內容是對兩部分內容的升華,當學生的理論沒有得到充分實踐,這些認知便不會深刻。而對第三部分內容的重視則會使得學生從實踐中獲得充分自信。
“項目驅動法”教學方法以項目為導線貫穿于課程的始終,因此需要以軟件開發過程的實際階段和順序為依據構建和組織UML課程內容。筆者依據業務模型、需求、分析與設計、實現、測試、配置幾個關鍵階段進行“基本概念及原理”、“案例分析及討論”以及“實踐操作及強化”三個部分對應內容的組織。例如在業務模型階段必要時需要活動圖輔助以建模,而傳統的活動圖會組織在比較靠后的動態視圖中進行講授。這樣學生在實踐的時候可能就無法運用活動圖,并充分體會實踐效果。通過這種循序漸進的方式,按照項目階段的進展將逐步提高學生分析設計能力,并輕松完成課程內容的講授。
“項目驅動型”教學方法旨在培養學生建模分析的能力。通過一個規模適中的真實系統作為項目貫穿于課程教學的每個環節中。具體的某個項目案例不會完全覆蓋到每個知識點。因此不能因為有了項目案例而放棄典型實例,典型實例對某些知識點的詮釋具有不可替代的作用。筆者建議以典型實例與項目案例相結合的方式進行,以典型實例講解清楚關鍵知識點,以項目實例培養學生實踐及實戰能力。
鑒于UML課程理論與實踐并重的特征,每一種類型UML的講授方法應按照圖的概念及基本元素講解、典型案例講解、實踐題目分析三個階段,完成所有理論的灌輸以及認識的形成。而實踐部分對于學生來說也是至關重要,包括涉及軟件操作、基本操作練習、實踐題目上機練習3部分。每種圖都依此順序完成理論和實踐兩個部分的內容。
在課程初期,教師與學生共同討論、擬定項目案例。在業務建模階段,教師首先對項目的需求給予清晰的描述。在將每個開發階段涉及的UML視圖的基礎概念知識講解完成后,教師再以項目為例引導學生進行某個階段某種視圖的建模,學生以分組形式進行分析與討論,在分析過程中必定能夠對剛剛講授完的理論知識有更加深刻的認識和理解。最后要注意對實踐環節的落實,切實確保學生熟練掌握UML建模軟件各種基本元素的操作,并能熟練完成各階段的建模。
教師參與各個小組的分析與討論并對于在首次分析過程中提出的疑問予以解答。促使形成一種項目的真實討論現場氣氛,激發學生分析解決問題的激情。為了提高教學效果,可以利用情景教學,使學生對項目開發有一個相對真實的體驗。采用小組討論、個別專題、典型示范等多種教學手段來使學生提高主動參與意識。這些教學方法使教師起到組織、引導、幫助和促進作用。
以“基于項目的、團隊式研究性學習”為核心,建立和完善UML課程對教與學都具有重要意義,創造了學生主動參與、自主協作、探索創新的新型創新實踐教學模式。學生將在團隊式合作中受益,能夠針對同一個項目進行頭腦風暴的沖擊、打開思維,不斷提出更優的解決方案;其次學生能夠真正將軟件工程理論貫穿于實際項目,在理論與實踐的結合中深化理論知識,在大腦中形成牢固的理論體系,切實提高學生的設計開發能力,從而培養出勇于開拓進取的創新實踐能力強的學生。
[1]張海潘.軟件工程導論[M].北京:清華大學出版社,1998:1-5.
[2]鄭玉,田偉.“統一建模語言UML”案例教學的思考與研究[J].中國電力教育,2008(126):86-87.
[3]雷軍環.基于行為導向的項目教學法在UML教學中的應用[J].科技信息,2009(26):190-191.
[4]戴長秀.任務驅動式教學法在《UML及其建模工具的使用》教學中的應用[J].科技信息,2008(1):193-200.
[5]周靜.《系統建模語言UML》教學探討[J].重慶電子工程職業學院學報,2009,18(4):163-164.
[6]馬志強,劉利民,趙俊生.“軟件過程與UML建模”課程增量式案例教學法的研究與實踐[J].重慶電子工程職業學院學報,2010(12):169-170.