羅曦
摘要:面向?qū)ο蠓治雠c設(shè)計是一門研究和掌握使用面向?qū)ο蠹夹g(shù)進行軟件開發(fā)的專業(yè)課程,是軟件工程專業(yè)的必修課程,在專業(yè)課中占據(jù)重要位置。這是一門抽象性很強的課程,如何將抽象的建模理論為學(xué)生所接受是該課程講授過程的重點。本文從高等院校面向?qū)ο蠓治雠c設(shè)計的課程特點出發(fā),在實際教學(xué)中引入了“講授—案例—互動—實踐—考評”五段課堂教學(xué)新模式,在教學(xué)實踐活動中綜合運用多種教學(xué)方法和手段,希望能提高學(xué)生的面向?qū)ο笙到y(tǒng)分析與設(shè)計能力及面向?qū)ο筌浖_發(fā)能力,且?guī)椭囵B(yǎng)學(xué)生的創(chuàng)新能力。
1.引言
面向?qū)ο蠓治雠c設(shè)計方法學(xué),代替?zhèn)鹘y(tǒng)的面向過程的結(jié)構(gòu)化分析與設(shè)計方法,已逐漸成為現(xiàn)代軟件工程領(lǐng)域中的主流方法。特別是隨著90年代末統(tǒng)一建模語言UML的廣泛應(yīng)用,結(jié)合UML的面向?qū)ο蠓治雠c設(shè)計方法在國內(nèi)外學(xué)術(shù)界和產(chǎn)業(yè)界普遍受到重視,成為軟件工程三個要素之一。
面向?qū)ο蠓治雠c設(shè)計是軟件工程專業(yè)開設(shè)的一門重要的專業(yè)基礎(chǔ)課程。該課程主要分為UML基礎(chǔ),面向?qū)ο蟮脑O(shè)計原則和面向?qū)ο蟮脑O(shè)計模式。而統(tǒng)一建模語言UML貫穿于軟件開發(fā)過程的不同階段,為軟件開發(fā)人員建立整個系統(tǒng)的模型 告訴開發(fā)人員做什么和怎么做。在軟件開發(fā)的不同階段的側(cè)重點又有不同:在需求分析階段,系統(tǒng)分析師可以用UML來描述用戶的業(yè)務(wù)模型,從而給系統(tǒng)設(shè)計師做進一步的設(shè)計。在系統(tǒng)設(shè)計階段,系統(tǒng)架構(gòu)師或系統(tǒng)設(shè)計師可以用UML來描述架構(gòu)模型以便讓程序設(shè)計師進行實現(xiàn)設(shè)計,在詳細設(shè)計階段程序設(shè)計師可以用UML來描述具體對象模型給編程者來具體實現(xiàn)。由此可以看出UML是用來清晰地描述模型的,它的作用是將計算機軟件開發(fā)技術(shù)和面向?qū)ο蟮脑O(shè)計思想聯(lián)合起來,對軟件生產(chǎn)工業(yè)產(chǎn)生了極大的影響。因此,統(tǒng)一建模語言UML課程的重要性顯而易見。面向?qū)ο笤O(shè)計原則是設(shè)計模式的靈魂,它描述了對象設(shè)計和職責(zé)分配的基本原則。面向?qū)ο笤O(shè)計模式是在面向?qū)ο笤O(shè)計中針對重復(fù)發(fā)生的問題的描述和解決辦法的統(tǒng)稱。綜上所述,該課程的主要內(nèi)容涵蓋了軟件開發(fā)過程中的各個階段,以及面向?qū)ο笤O(shè)計原則和處理常見問題的方法,對軟件工程專業(yè)的學(xué)生是極其重要的。
2.“講授—案例—互動—實踐—考評”五段課堂教學(xué)新模式
該教學(xué)模式通過“講授”讓學(xué)生系統(tǒng)掌握整個知識體系,運用“案例”激起好奇心和引發(fā)應(yīng)用和創(chuàng)新的動力,引導(dǎo)學(xué)生自主學(xué)習(xí)“擴展”知識面和建構(gòu)自己的新知識,在項目“實踐”中綜合應(yīng)用強化創(chuàng)造,最后通過綜合“考評”合理評定出學(xué)生的成績。加強工程化的教學(xué)內(nèi)容建設(shè),在課堂教學(xué)系統(tǒng)地傳授知識的基礎(chǔ)上,注重工程性的課程案例和循序漸進的課程項目實踐的有機結(jié)合,為學(xué)生自主性和研究性的擴展學(xué)習(xí)搭建優(yōu)良的網(wǎng)絡(luò)教學(xué)環(huán)境。
1)“系統(tǒng)講授”讓學(xué)生系統(tǒng)地掌握整個知識體系。教學(xué)內(nèi)容強調(diào)工程化,適應(yīng)軟件開發(fā)技術(shù)發(fā)展快的特點,不斷跟蹤國際最新標準和最新技術(shù),及時更新教學(xué)內(nèi)容,反映基于構(gòu)件、模型驅(qū)動和面向服務(wù)等現(xiàn)代軟件開發(fā)技術(shù)的最新發(fā)展趨勢。課堂教學(xué)采用啟發(fā)式教學(xué),指導(dǎo)學(xué)生閱讀經(jīng)典學(xué)術(shù)論文并進行綜述、評介和討論,撰寫讀書筆記,培養(yǎng)學(xué)生閱讀、概括、評價、撰寫和表達等基本科研能力。
2)“案例教學(xué)”讓學(xué)生置身于模擬的真實環(huán)境中,學(xué)習(xí)如何進行具體實踐和問題解決,引發(fā)學(xué)生研究性學(xué)習(xí)和創(chuàng)新的動力。案例分為基礎(chǔ)-擴展-提高等3個階段?;A(chǔ)階段針對UML和OOAD方法等基本內(nèi)容,著重于單項練習(xí)和簡單系統(tǒng)設(shè)計;擴展階段著重于架構(gòu)設(shè)計和設(shè)計模式、框架設(shè)計和復(fù)用等現(xiàn)代技術(shù),將基礎(chǔ)階段的簡單系統(tǒng)擴展為基于構(gòu)件和框架復(fù)用、支持持久框架的Web系統(tǒng);提高階段則結(jié)合專題講座,了解最新技術(shù)發(fā)展趨勢。
3)“網(wǎng)絡(luò)加自主的互動方式” 創(chuàng)造多元化的教學(xué)環(huán)境,將課堂上的教學(xué)與課堂外的師生互動無縫的進行集成。當今互聯(lián)網(wǎng)環(huán)境為我們提供了便捷、豐富的交互手段,借助其以整合不同的教學(xué)要素來提升整體的教學(xué)效果,這也符合以學(xué)生為中心的教學(xué)理念?;谝陨系恼J識,在教學(xué)過程中,可以依托網(wǎng)絡(luò)教學(xué)平臺提供豐富的互動方式,在網(wǎng)絡(luò)上共享學(xué)習(xí)資源、在線討論、即時溝通,達到了充分調(diào)動學(xué)生學(xué)習(xí)熱情的目的。在交互的過程中,通過開放性的問題驅(qū)動學(xué)生自主選擇感興趣的方向做深入的學(xué)習(xí)和研究,充分地釋放學(xué)生的個性和創(chuàng)造力。整體而言,課下教學(xué)組織在網(wǎng)絡(luò)加自主的互動方式支持下有力的支持并拓展了傳統(tǒng)的課堂教學(xué),不僅對教學(xué)效果有明顯的提升,而且對培養(yǎng)學(xué)生的主動性、協(xié)作能力乃至鉆研精神和創(chuàng)新意識都有著潛在的不可忽視的幫助。
4) “項目實踐”培養(yǎng)學(xué)生運用知識、解決問題和團作協(xié)作的能力。學(xué)生參照課程案例、文檔模板、實踐指南和參考資料,結(jié)合有助教指導(dǎo)的課內(nèi)上機、課外自由上機和有助教在線指導(dǎo)的網(wǎng)上輔導(dǎo)教室等多種教學(xué)手段,以3-5人的小組為單位的團隊方式完成一個課程項目,項目題目和需求是在教師指導(dǎo)下由學(xué)生自主確定,以鼓勵創(chuàng)新。項目進度和課堂教學(xué)及課程案例基本同步,循序漸進。
5)“綜合考評”從知識、創(chuàng)新、應(yīng)用等多方面進行評價,根據(jù)每節(jié)課、每次作業(yè)、項目的每階段評審和考試來綜合考核成績。成績一般由課堂表現(xiàn)、每周作業(yè)、讀書筆記、項目階段審核和項目答辯、期末考試等部分組成。
本課程充分利用信息技術(shù),課堂教學(xué)采用多媒體信息技術(shù)手段,基于Web的網(wǎng)絡(luò)教學(xué)平臺提供論壇、答疑、作業(yè)、問卷調(diào)查等課程互動功能,網(wǎng)上輔導(dǎo)可提供無時空限制的即時學(xué)習(xí)、小組討論和輔導(dǎo)幫助等功能。
課堂教學(xué)實施方面,研究啟發(fā)式、交互式等多種形式的教學(xué)方式。建立網(wǎng)絡(luò)教學(xué)平臺,同學(xué)生充分溝通,不斷學(xué)習(xí)、改革和實踐。擯棄了過去只注重書本內(nèi)容的教授,引進了實際工作的案例。大量的案例分析,促使學(xué)生從實際出發(fā),從現(xiàn)實的角度看待問題、分析問題。對項目工程的親身實踐,使得學(xué)生把所學(xué)轉(zhuǎn)化為所用,并在所用中不斷充實。
3.教學(xué)內(nèi)容順序及對應(yīng)的學(xué)時安排如表1
除本課程的課程項目實踐外,還可鼓勵學(xué)生參加其他實踐活動,如大學(xué)生學(xué)生創(chuàng)新項目的申報,可進一步強化5段式教學(xué)新模式中的 “實踐”,培養(yǎng)學(xué)生解決實際問題的能力和創(chuàng)新能力。
4.課程的重點、難點及解決思路
本課程的設(shè)計符合UML最新國際標準,覆蓋了國際軟件工程知識體系的相關(guān)知識點,分析和設(shè)計并重,原理和案例兼顧。課程內(nèi)容的重點主要有UML可視化建模技術(shù)、領(lǐng)域建模和面向?qū)ο笙到y(tǒng)分析方法、面向?qū)ο笙到y(tǒng)設(shè)計方法、設(shè)計模式、框架設(shè)計和復(fù)用等方面。課程內(nèi)容的難點主要有對UML的深入理解和運用、領(lǐng)域?qū)ο笞R別和關(guān)系分析、架構(gòu)因素分析和架構(gòu)設(shè)計、分析類與設(shè)計元素的區(qū)別和聯(lián)系、設(shè)計模式的深入理解和運用等。解決辦法主要是通過分階段的綜合性課程案例、循序漸進的工程性課程項目實踐等加強實踐性教學(xué)環(huán)節(jié),讓學(xué)生在實踐中學(xué)習(xí)和領(lǐng)悟。 另外,本課程由于工程性和實踐性很強、相關(guān)技術(shù)發(fā)展快、涉及面廣,在課程體系建設(shè)、教學(xué)建設(shè)和實施等方面都存在挑戰(zhàn)。
5.實踐教學(xué)的設(shè)計思想
循序漸進、手段多樣的工程性課程項目實踐。學(xué)生參照課程案例、文檔模板、實踐指南和參考資料,結(jié)合有助教指導(dǎo)的課內(nèi)上機、課外自由上機和有助教在線指導(dǎo)的網(wǎng)上輔導(dǎo)教室等多種教學(xué)手段,以3-5人的小組為單位的團隊方式完成一個課程項目,鼓勵創(chuàng)新。進度與課堂教學(xué)和課程案例基本同步,循序漸進。
進一步搭建網(wǎng)絡(luò)教學(xué)平臺,將部分學(xué)生的優(yōu)秀作品在平臺中展示。學(xué)生利用課外時間以團隊方式完成多個實際軟件項目的開發(fā),實驗進度和課堂教學(xué)基本同步。項目題目和需求是在教師指導(dǎo)下由學(xué)生自主確定,以鼓勵創(chuàng)新。通過實踐,學(xué)生能把所學(xué)轉(zhuǎn)化為所用,并在所用中不斷充實,同時也加強了軟件工程規(guī)范的訓(xùn)練,培養(yǎng)了學(xué)生的團隊精神和溝通能力。
6.結(jié)束語
通過本課程的教學(xué),使學(xué)生掌握面向?qū)ο蠹夹g(shù)原理、面向?qū)ο蟮能浖到y(tǒng)分析和設(shè)計方法、軟件設(shè)計模式等,能結(jié)合UML和工具進行面向?qū)ο蟮能浖到y(tǒng)分析和設(shè)計,并具有軟件開發(fā)實踐和項目組織的初步經(jīng)驗、創(chuàng)新意識、團隊精神。
此外,面向?qū)ο蠓治雠c設(shè)計是一門知識更新和發(fā)展很快的課程,業(yè)界的許多新方法新技術(shù)在不斷涌現(xiàn),因此該課程的教學(xué)方式也需要與時俱進。因此,除了對授課模式、互動方式以及考核形式的改進之外,教師自身的專業(yè)素養(yǎng)的不斷提升亦是至為重要的。endprint