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