毛燕琴 李莉 馮曉虹
摘 要 UML課程是軟件工程專業(yè)一門重要的專業(yè)技術(shù)基礎(chǔ)課,分析UML課程傳統(tǒng)教學(xué)中存在的問(wèn)題,針對(duì)傳統(tǒng)教學(xué)模式存在的不足,在實(shí)際教學(xué)中提出并運(yùn)用案例啟發(fā)教學(xué)法,該方法能夠激發(fā)學(xué)生的學(xué)習(xí)興趣, 培養(yǎng)和提高學(xué)生的自主學(xué)習(xí)和創(chuàng)新應(yīng)用能力。
關(guān)鍵詞 統(tǒng)一建模語(yǔ)言課程教學(xué) 案例 啟發(fā)式教學(xué)
中圖分類號(hào):G424文獻(xiàn)標(biāo)識(shí)碼:A
Application of Case Inspired Approach in UML Course Teaching
MAO Yanqin[1], LI Li[1], FENG Xiaohong[2]
([1] School of Computer Science & Technology,
Nanjing University of Posts and Telecommunications, Nanjing, Jiangsu 210003;
[2] The Principal's Office, Nanjing University of Posts and Telecommunications, Nanjing, Jiangsu 210003)
Abstract UML software engineering curriculum is an important professional technical courses, analyze the problems in UML course traditional teaching, for the shortcomings of traditional teaching mode exists in the actual teaching and the use cases presented inspired teaching, the method can stimulate students' interest in learning, to cultivate and improve students' self-learning ability and innovative applications.
Key words unified modeling language teaching; case; inspired teaching
UML(Unified Modeling Language,統(tǒng)一建模語(yǔ)言)是一種面向?qū)ο蟮臉?biāo)準(zhǔn)建模語(yǔ)言,采用成熟的軟件工程思想及建模技術(shù),對(duì)大型、復(fù)雜的軟件系統(tǒng)進(jìn)行分析、設(shè)計(jì)和文檔化,方便軟件設(shè)計(jì)開發(fā)人員交流和使用。目前,高校軟件類專業(yè)基本都開設(shè)了UML基礎(chǔ)等軟件建模課程,然而UML課程教學(xué)輕實(shí)踐重理論,①學(xué)生運(yùn)用UML工具對(duì)軟件系統(tǒng)進(jìn)行分析與設(shè)計(jì)的能力欠缺,無(wú)法滿足企業(yè)對(duì)軟件人才的需要。因此,如何有效提升UML課程的教學(xué)效果,是值得我們從教人員深入思考和探索的地方。
1 UML課程教學(xué)現(xiàn)狀和問(wèn)題
UML作為軟件行業(yè)標(biāo)準(zhǔn)的建模語(yǔ)言,是計(jì)算機(jī)、軟件工程等專業(yè)學(xué)生必須掌握的專業(yè)基礎(chǔ)知識(shí)。UML課程傳統(tǒng)的教學(xué)模式②是根據(jù)學(xué)校制定的專業(yè)培養(yǎng)方案,結(jié)合課程教學(xué)內(nèi)容確定教學(xué)計(jì)劃,教學(xué)形式以課堂教學(xué)為主,實(shí)踐教學(xué)為輔。課堂教學(xué)“老師講、學(xué)生聽”,實(shí)驗(yàn)教學(xué)“學(xué)生練、老師指導(dǎo)”,學(xué)時(shí)分配以課堂教學(xué)為重。
UML課程重點(diǎn)講解軟件建模的方法和技術(shù),以及建模工具的使用,③傳統(tǒng)課堂教學(xué)以知識(shí)點(diǎn)為中心,先逐一講授知識(shí)點(diǎn),然后通過(guò)簡(jiǎn)單的案例進(jìn)行示范說(shuō)明,這種正向教學(xué)模式雖然具有一定的知識(shí)連貫性,但從企業(yè)對(duì)軟件人才的需求角度來(lái)看,學(xué)生解決綜合問(wèn)題的能力得不到鍛煉。課程內(nèi)容特點(diǎn)是細(xì)節(jié)知識(shí)繁雜、內(nèi)容枯燥抽象、關(guān)聯(lián)知識(shí)較多、實(shí)踐性較強(qiáng)。④由于學(xué)生實(shí)踐經(jīng)驗(yàn)不足,普遍存在對(duì)UML的作用缺乏認(rèn)識(shí),學(xué)習(xí)熱情和積極性不高。
UML課程教學(xué)要求并不明確,大多數(shù)教材主要介紹各種UML建模元素,以及如何使用ROSE或VISIO這類建模工具軟件,知識(shí)點(diǎn)內(nèi)容本身比較簡(jiǎn)單,建模工具單一,如使用早期的建模工具軟件就不能描述UML2.0中的交互概觀圖(Interaction Overview Diagram)。課程教學(xué)與實(shí)踐結(jié)合難度大,存在理論與應(yīng)用脫節(jié)的現(xiàn)象,然而系統(tǒng)分析與設(shè)計(jì)的經(jīng)驗(yàn)和體會(huì)必須通過(guò)軟件開發(fā)過(guò)程實(shí)踐才能獲得。教材中使用的案例主要來(lái)源于早期的學(xué)術(shù)著作和文獻(xiàn),內(nèi)容缺乏新意,舉例簡(jiǎn)單,看起來(lái)容易理解明白,但在遇到實(shí)際的軟件項(xiàng)目開發(fā)時(shí)卻很難加以創(chuàng)新性運(yùn)用,致使學(xué)生難以理解UML的實(shí)際應(yīng)用價(jià)值。
UML課程實(shí)驗(yàn)環(huán)節(jié)雖然可以幫助學(xué)生鞏固所學(xué)知識(shí)點(diǎn),提高學(xué)生解決問(wèn)題的能力,但實(shí)驗(yàn)學(xué)時(shí)較短,難度中等偏下,選題比較陳舊,與軟件企業(yè)實(shí)際項(xiàng)目課題的規(guī)模相距甚遠(yuǎn)。此外,學(xué)生動(dòng)手實(shí)踐能力參差不齊,實(shí)驗(yàn)過(guò)程缺少協(xié)作,有畏懼情緒的同學(xué)遇到問(wèn)題幾乎不咨詢指導(dǎo)老師,甚至出現(xiàn)實(shí)驗(yàn)報(bào)告抄襲的情況。
UML課程的考核方式主要采用筆試,實(shí)驗(yàn)成績(jī)作為輔助參考,以考核知識(shí)點(diǎn)為主,綜合設(shè)計(jì)題所占比例不大,難以體現(xiàn)學(xué)生的綜合能力,學(xué)生在學(xué)習(xí)過(guò)程中必然會(huì)忽視系統(tǒng)設(shè)計(jì)能力的鍛煉和主動(dòng)思維習(xí)慣的培養(yǎng)。
針對(duì)上述現(xiàn)狀和存在的問(wèn)題,為了提高教學(xué)效果,培養(yǎng)學(xué)生自主學(xué)習(xí)與創(chuàng)新應(yīng)用能力,鼓勵(lì)學(xué)生積累軟件系統(tǒng)設(shè)計(jì)經(jīng)驗(yàn),轉(zhuǎn)變教學(xué)思路,提出案例啟發(fā)式教學(xué)實(shí)踐框架。
2 案例啟發(fā)式教學(xué)實(shí)踐框架
案例啟發(fā)式教學(xué)改變傳統(tǒng)教學(xué)主要靠“講”的教學(xué)方式,而是先通過(guò)IT行業(yè)應(yīng)用案例來(lái)啟發(fā)學(xué)生思考,設(shè)置投石問(wèn)路的情景問(wèn)題,采用“問(wèn)”的方式逐一將相關(guān)知識(shí)點(diǎn)“引”出來(lái),避免了傳統(tǒng)教學(xué)按部就班地給出名詞、下定義、解釋、舉例、應(yīng)用所帶來(lái)的枯燥和不易理解,激發(fā)學(xué)生的學(xué)習(xí)興趣;針對(duì)相關(guān)知識(shí)點(diǎn)提出不同的任務(wù)布置給學(xué)生“學(xué)”,學(xué)生獨(dú)自完成任務(wù),可以利用教材、參考書、網(wǎng)絡(luò)等資源進(jìn)行自主和協(xié)作學(xué)習(xí),撰寫學(xué)習(xí)報(bào)告,使被動(dòng)學(xué)習(xí)變?yōu)橹鲃?dòng)學(xué)習(xí),帶著問(wèn)題和任務(wù)去尋找答案,提高學(xué)生的學(xué)習(xí)熱情,鍛煉學(xué)生的自主學(xué)習(xí)能力;針對(duì)學(xué)生學(xué)習(xí)任務(wù)完成情況,結(jié)合學(xué)習(xí)內(nèi)容,授課教師再進(jìn)行有針對(duì)性和選擇性的補(bǔ)充“講”解和總結(jié),將相關(guān)知識(shí)點(diǎn)轉(zhuǎn)化為實(shí)例,如果有條件還可以進(jìn)行現(xiàn)場(chǎng)UML建模分析演示,這樣既可以起到引導(dǎo)示范的作用,也給學(xué)生留下深刻印象;學(xué)習(xí)和講解完成后,學(xué)生分組進(jìn)行項(xiàng)目演“練”,學(xué)生之間分工合作,互學(xué)互幫互助,確定需求共同完成系統(tǒng)分析與設(shè)計(jì)方案,最后以演講與答辯的方式上臺(tái)展示、講解系統(tǒng)模型,并回答老師和學(xué)生的提問(wèn),實(shí)現(xiàn)對(duì)知識(shí)點(diǎn)的理解和應(yīng)用,鍛煉學(xué)生實(shí)踐操作的能力、獨(dú)立解決問(wèn)題的能力和交流與演講能力,培養(yǎng)團(tuán)隊(duì)合作的精神,如果有條件可以考慮利用手機(jī)和網(wǎng)絡(luò)構(gòu)建交流學(xué)習(xí)平臺(tái)。⑤
案例啟發(fā)式教學(xué)實(shí)踐框架要求授課教師精心準(zhǔn)備恰當(dāng)?shù)陌咐?,使得案例具有針?duì)性,能與知識(shí)點(diǎn)相銜接,易于學(xué)生理解和掌握,同時(shí)也要盡量調(diào)動(dòng)學(xué)生的積極性和主動(dòng)性,給予適當(dāng)?shù)膶W(xué)習(xí)任務(wù)和項(xiàng)目實(shí)踐的壓力,這種壓力可以通過(guò)綜合考評(píng)來(lái)施加,改變傳統(tǒng)的期末考試定分?jǐn)?shù)高低的片面評(píng)價(jià)體系,而是采用多內(nèi)容、多形式的復(fù)合評(píng)價(jià)系統(tǒng)來(lái)綜合評(píng)定學(xué)生的成績(jī)。多內(nèi)容包括任務(wù)學(xué)習(xí)報(bào)告成績(jī)、項(xiàng)目實(shí)訓(xùn)成績(jī)、期末考試成績(jī)等;多形式包括學(xué)生自我評(píng)價(jià)、學(xué)生互評(píng)、教師評(píng)價(jià)等。采用復(fù)合評(píng)價(jià)系統(tǒng)的目的是為了體現(xiàn)教學(xué)過(guò)程所取得的學(xué)習(xí)效果,而不是僅僅獲得一個(gè)課程分?jǐn)?shù)。
3 UML課程案例啟發(fā)教學(xué)模式的實(shí)施
結(jié)合上述案例啟發(fā)式教學(xué)實(shí)踐框架,以“案例啟發(fā)思維、學(xué)生自主學(xué)習(xí)、老師總結(jié)評(píng)價(jià)、項(xiàng)目實(shí)踐訓(xùn)練”為教學(xué)理念,強(qiáng)調(diào)培養(yǎng)學(xué)生團(tuán)隊(duì)協(xié)作解決實(shí)際問(wèn)題的能力,在此基礎(chǔ)上改進(jìn)完善UML教學(xué)模式,下面以筆者所承擔(dān)的軟件工程專業(yè)“基于UML的面向?qū)ο蠓治雠c設(shè)計(jì)”課程為例進(jìn)行闡述。
(1)案例啟發(fā)課堂教學(xué)。 按照軟件工程專業(yè)培養(yǎng)計(jì)劃,此課程安排在大三上學(xué)期,教學(xué)對(duì)象是具有一定基礎(chǔ)編程開發(fā)經(jīng)歷及基礎(chǔ)專業(yè)知識(shí)的學(xué)生,但系統(tǒng)開發(fā)經(jīng)驗(yàn)不足,軟件系統(tǒng)分析與設(shè)計(jì)能力有限,因此,課程初始應(yīng)以學(xué)生熟知的應(yīng)用軟件或系統(tǒng)為切入點(diǎn)展開說(shuō)明此課程的目標(biāo)和作用,讓學(xué)生對(duì)課程的總體內(nèi)容和課程重點(diǎn)有所了解。如何選擇合適的應(yīng)用案例,如何利用應(yīng)用案例來(lái)引導(dǎo)學(xué)生思考是這個(gè)環(huán)節(jié)的關(guān)鍵。應(yīng)用案例要貼近學(xué)生生活,業(yè)務(wù)流程清晰,容易理解,案例規(guī)模要適合學(xué)生能力水平,例如很多教材中使用了學(xué)校圖書館管理系統(tǒng)、學(xué)生選課與成績(jī)管理系統(tǒng)等。筆者以“銀行ATM系統(tǒng)”為應(yīng)用案例,展開課程的介紹和內(nèi)容的引導(dǎo),基于應(yīng)用需求逐步推進(jìn)介紹,從系統(tǒng)分析、設(shè)計(jì)到實(shí)現(xiàn),從用例建模、靜態(tài)建模、動(dòng)態(tài)視圖到架構(gòu)建模,應(yīng)用案例始終貫穿其中,學(xué)生在深入理解應(yīng)用系統(tǒng)設(shè)計(jì)開發(fā)流程的同時(shí),課程內(nèi)容框架也建立起來(lái),對(duì)課程的作用和學(xué)習(xí)重點(diǎn)也有清晰的認(rèn)識(shí)。
(2)自主學(xué)習(xí)與歸納。提前預(yù)習(xí)課程內(nèi)容是比較好的學(xué)習(xí)習(xí)慣,但自覺預(yù)習(xí)的學(xué)生并不多,被動(dòng)地接受陌生的知識(shí)取得的學(xué)習(xí)效果不如帶著問(wèn)題主動(dòng)學(xué)習(xí)的效果好,因此,采取作業(yè)提前“做”的思路,在講解每章內(nèi)容之前,把每個(gè)章節(jié)涉及的重點(diǎn)內(nèi)容轉(zhuǎn)變成為問(wèn)題,布置成作業(yè),讓學(xué)生自主學(xué)習(xí),并歸納整理成報(bào)告。例如,如何獲得并收集用戶需求?如何分類整理用戶需求?如何描述ATM系統(tǒng)用戶身份驗(yàn)證業(yè)務(wù)流程?身份驗(yàn)證業(yè)務(wù)流程涉及哪些實(shí)體類?等等此類問(wèn)題讓學(xué)生先進(jìn)行思考。這個(gè)環(huán)節(jié)突出鍛煉學(xué)生的自主學(xué)習(xí)能力、知識(shí)分析歸納能力及報(bào)告撰寫能力。
(3)討論式課堂教學(xué)。在學(xué)生自主學(xué)習(xí)的基礎(chǔ)上,結(jié)合之前所提出的問(wèn)題,教師與學(xué)生共同探討問(wèn)題的答案,總結(jié)相關(guān)知識(shí)點(diǎn)內(nèi)容,將知識(shí)講解與“銀行ATM系統(tǒng)”應(yīng)用案例講解相融合,用知識(shí)解釋案例,以案例帶動(dòng)知識(shí)的學(xué)習(xí)。學(xué)生也可以質(zhì)疑所學(xué)內(nèi)容,例如,客戶需求經(jīng)常變化該怎么辦?不同方式的身份驗(yàn)證安全性如何?除了常用的Visio, Rose之外,輕量級(jí)的UML軟件工具有哪些?等等。通過(guò)此環(huán)節(jié),學(xué)生可以進(jìn)一步鞏固消化知識(shí)點(diǎn),加深對(duì)知識(shí)點(diǎn)的理解和掌握。
(4)實(shí)訓(xùn)與演示。課程重點(diǎn)內(nèi)容講解結(jié)束后,布置“火車訂票系統(tǒng)”或者“航班訂票系統(tǒng)”給學(xué)生進(jìn)行實(shí)踐訓(xùn)練,以小組為單位,每個(gè)小組人數(shù)相同,在規(guī)定的時(shí)間內(nèi)完成系統(tǒng)分析與設(shè)計(jì),提交建模文檔,并上講臺(tái)進(jìn)行演示說(shuō)明,各小組及老師共同參與評(píng)價(jià)。由于“銀行ATM系統(tǒng)”與“火車/航班訂票系統(tǒng)”有相似之處,也有不同之處,學(xué)生在進(jìn)行系統(tǒng)分析與設(shè)計(jì)時(shí),以案例系統(tǒng)作為參照,對(duì)所學(xué)知識(shí)進(jìn)行回顧,但同時(shí)又激發(fā)學(xué)生進(jìn)行獨(dú)立思考解決新問(wèn)題,經(jīng)歷從照葫蘆畫瓢到應(yīng)用創(chuàng)新的轉(zhuǎn)變。在這個(gè)環(huán)節(jié)中,師生可以共同探討各小組系統(tǒng)設(shè)計(jì)中存在的問(wèn)題,綜合歸納普遍存在的設(shè)計(jì)錯(cuò)誤;小組之間可以互相比較設(shè)計(jì)的優(yōu)劣,互相促進(jìn),在糾正自身錯(cuò)誤的同時(shí)也避免重復(fù)其他小組的錯(cuò)誤;在保證設(shè)計(jì)思路正確的情況下,允許各種不同設(shè)計(jì)方案的存在,不要統(tǒng)一標(biāo)準(zhǔn)和答案,鼓勵(lì)學(xué)生勇于創(chuàng)新,提出自己的想法,在后續(xù)的課程學(xué)習(xí)和集中性實(shí)踐課程中要貫徹系統(tǒng)分析與設(shè)計(jì)的理論方法,指導(dǎo)自己軟件系統(tǒng)的開發(fā),達(dá)到學(xué)以致用的目的。
基金項(xiàng)目:南京郵電大學(xué)2013年教學(xué)改革項(xiàng)目課題“UML課程案例驅(qū)動(dòng)教學(xué)模式的探索與實(shí)踐”(JG00413JX68)
注釋
① 許波,陳曉龍.UML結(jié)合軟件工程教學(xué)改革探討[J].計(jì)算機(jī)教育,2011(2):34-37.
② 王志國(guó).基于動(dòng)式理念的UML課程項(xiàng)目實(shí)踐教學(xué)模式研究[J].綏化學(xué)院學(xué)報(bào),2013(3):139-141.
③ 陳昊,明仲,彭小剛.在UML課程的實(shí)踐教學(xué)中實(shí)施CDIO的探討[J].計(jì)算機(jī)教育,2010(14):125-128.
④ 張麗平,李松,郝曉紅.結(jié)合案例和任務(wù)驅(qū)動(dòng)的UML教學(xué)方法研究[J].黑龍江教育學(xué)院學(xué)報(bào),2012.31(3):50-52.
⑤ 田俊梅,王國(guó)枝,趙巧娥,趙興勇.專業(yè)基礎(chǔ)課程教學(xué)改革[J].教育理論與實(shí)踐,2014.18:49-50.