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