方俊
摘? 要:高職軟件專業(yè)課程體系中的課程以程序設(shè)計(jì)語言、數(shù)據(jù)庫、網(wǎng)頁設(shè)計(jì)等為主,注重培養(yǎng)學(xué)生編程能力。為培養(yǎng)學(xué)生工程能力,另外還開設(shè)了少量分析與建模的課程,此課程一般以UML為主要內(nèi)容。該文描述了UML課程的主要內(nèi)容及特點(diǎn),分析了以往教學(xué)中存在的主要問題,對如何改革課程教學(xué)方法給出了相關(guān)建議。提出應(yīng)根據(jù)軟件開發(fā)生命周期的各個(gè)階段合理組織教學(xué)內(nèi)容,采用情景式教學(xué)和啟發(fā)式教學(xué)方法為主的教學(xué)方式,充分調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性,只有這樣才能達(dá)到該課程的教學(xué)目標(biāo)。
關(guān)鍵詞:UML? 高職教育? 建模課程? 教學(xué)改革
中圖分類號:G64? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A? ? ? ? ? ? ? ? ? ?文章編號:1672-3791(2020)09(c)-0106-03
Abstract: The curriculum system of software major in higher vocational education mainly focuses on programming language, database, web design and so on, focusing on the cultivation of students' programming ability. In order to cultivate students' engineering ability, a small number of analysis and modeling courses are also offered, which generally takes UML as the main content. This paper describes the main content and characteristics of UML course, analyzes the main problems existing in the past teaching, and gives some suggestions on how to reform the teaching methods. It is suggested that the teaching content should be reasonably organized according to each stage of the software development life cycle, and the teaching methods of situational teaching and heuristic teaching should be adopted to fully mobilize the learning enthusiasm of students. Only in this way can the teaching objectives of this course be achieved.
Key Words: UML; Higher vocational education; Modeling course; Teaching reform
21世紀(jì)的中國已經(jīng)進(jìn)入數(shù)字經(jīng)濟(jì)時(shí)代,信息技術(shù)的飛速發(fā)展為數(shù)字經(jīng)濟(jì)插上了騰飛的翅膀。隨著信息技術(shù)的高速發(fā)展,社會(huì)對軟件技術(shù)人才的需求十分巨大。高職軟件專業(yè)作為軟件人才培養(yǎng)的重要力量,也進(jìn)入了難得的發(fā)展時(shí)期。要培養(yǎng)出滿足行業(yè)企業(yè)需要的專業(yè)技能人才,需要根據(jù)軟件技術(shù)最新發(fā)展?fàn)顩r和行業(yè)企業(yè)人才需求特點(diǎn),不斷進(jìn)行專業(yè)建設(shè),調(diào)整課程體系和課程內(nèi)容,改進(jìn)教學(xué)方法。該文以長沙民政職業(yè)技術(shù)學(xué)院軟件專業(yè)為例,結(jié)合近幾年教學(xué)實(shí)踐經(jīng)驗(yàn),就高職軟件專業(yè)課程《UML》(分析與建模)的教學(xué)改革進(jìn)行探討。
1? 課程內(nèi)容及特點(diǎn)
從課程體系看,高職軟件專業(yè)課程通常包括程序設(shè)計(jì)、數(shù)據(jù)庫、網(wǎng)頁設(shè)計(jì)等幾大塊,比較注重培養(yǎng)學(xué)生的編程能力。但軟件行業(yè)是工程性很強(qiáng)的行業(yè),工程能力也是軟件人才必須具備的基本素質(zhì)。為了培養(yǎng)學(xué)生工程項(xiàng)目開發(fā)能力,一般還會(huì)開設(shè)少量工程素質(zhì)培養(yǎng)方面的課程,主要有軟件測試和軟件工程方面課程。但軟件工程課程比較抽象,很多學(xué)校并未開設(shè),而是開設(shè)了相關(guān)的入門課程,如UML(統(tǒng)一建模語言)、系統(tǒng)分析與建模等。這些課程弱化了軟件開發(fā)過程相關(guān)知識,側(cè)重介紹開發(fā)過程中流行的建模工具。
考慮到職業(yè)院校學(xué)生的知識能力,UML課程內(nèi)容主要包含了對UML1.0中的9種圖的介紹,重點(diǎn)介紹每種圖的概念與用途、包含哪些圖形元素及其語義、如何使用工具繪制這些圖等。該課程的目標(biāo)是培養(yǎng)學(xué)生閱讀9種主要UML圖的能力及使用工具繪制UML圖的能力,使學(xué)生在軟件開發(fā)過程中具備基本的分析和建模的能力。
2? 課程教學(xué)中存在的問題
2.1 課程內(nèi)容設(shè)置問題
根據(jù)前述課程目標(biāo),在課程內(nèi)容選取上主要是對9種UML基本圖形的概念和用途的介紹,解釋每個(gè)圖形元素的含義,重點(diǎn)在使學(xué)生能夠看懂軟件開發(fā)中用到的各種UML模型。另外,為了使學(xué)生具有初步分析和解決問題的能力,還對面向?qū)ο蟮姆治龊驮O(shè)計(jì)方法進(jìn)行了介紹。但這種介紹也是比較籠統(tǒng)的概念性介紹,并未通過真實(shí)項(xiàng)目進(jìn)行驗(yàn)證,因此對學(xué)生利用UML進(jìn)行項(xiàng)目分析和設(shè)計(jì)的能力的培養(yǎng)內(nèi)容相對較少。之所以這樣設(shè)置主要有3點(diǎn)原因:第一,高職學(xué)生的接受能力,基于學(xué)生的素質(zhì)先考慮讓學(xué)生看懂;第二,教學(xué)條件限制,項(xiàng)目分析和設(shè)計(jì)能力的培養(yǎng)需要有接近真實(shí)項(xiàng)目開發(fā)的情景,還要有充足的時(shí)間和師資等;第三,目前UML建模方面的教材多是以教授UML建模概念和知識為主,對分析和設(shè)計(jì)能力培養(yǎng)的內(nèi)容相對不足,一般都是對每種圖結(jié)合項(xiàng)目舉例,重在知識驗(yàn)證,對分析能力培養(yǎng)作用不大。這樣的課程內(nèi)容設(shè)置使課程內(nèi)容顯得比較抽象,學(xué)習(xí)起來也比較枯燥,學(xué)生提不起學(xué)習(xí)興趣,影響了教學(xué)效果。
2.2 教學(xué)方法分析
教學(xué)中主要采用教師講課傳授理論知識,課堂實(shí)訓(xùn)進(jìn)行知識驗(yàn)證的方式。在實(shí)訓(xùn)環(huán)節(jié)中針對講授的理論知識,結(jié)合一些經(jīng)典項(xiàng)目進(jìn)行實(shí)訓(xùn),驗(yàn)證所講的知識點(diǎn),促進(jìn)學(xué)生的理解。在整個(gè)教學(xué)過程中,采用了一些常用的教學(xué)方法和手段,如基于崗位工作過程安排授課內(nèi)容、基于崗位工作任務(wù)安排學(xué)生的實(shí)訓(xùn)任務(wù)、基于實(shí)際項(xiàng)目進(jìn)行舉例和安排實(shí)訓(xùn)內(nèi)容、采用分組討論法提高學(xué)生參與的積極性等。但是,根據(jù)過往經(jīng)驗(yàn)分析,雖然這些方法和手段可以收到一定效果,但學(xué)生普遍還是覺得課程比較抽象,不知道如何運(yùn)用到實(shí)際開發(fā)中。首先,對于何時(shí)使用何種圖進(jìn)行問題分析不清楚,即使老師進(jìn)行了說明也不是很明白;其次,怎么對問題進(jìn)行分析,分析到何種程度也不清楚。
3? 教學(xué)方法改革探索
根據(jù)上述分析,在分析建模課程上無論從教學(xué)內(nèi)容還是教學(xué)方法上都需要進(jìn)行改革。首先,在教學(xué)思路上要進(jìn)行改革,不能只教UML9種圖怎樣畫并使學(xué)生能看懂圖就行,還應(yīng)該在課程中融入軟件工程的相關(guān)內(nèi)容,使學(xué)生清楚每種圖在項(xiàng)目開發(fā)中的具體作用。因此,要結(jié)合真實(shí)項(xiàng)目進(jìn)行講解。由于該課程所講內(nèi)容屬于軟件開發(fā)輔助工具,因此一定要進(jìn)行項(xiàng)目過程的仿真。其次,在教學(xué)方法上,應(yīng)采用情景式教學(xué)和啟發(fā)式教學(xué)相結(jié)合的方法,增加教學(xué)的真實(shí)感,提高學(xué)生的參與積極性。
3.1 教學(xué)內(nèi)容設(shè)置
依據(jù)前面對課程內(nèi)容設(shè)置中存在的問題的分析,需要對教學(xué)內(nèi)容進(jìn)行優(yōu)化完善。不能只講9種圖的概念和畫法,雖然現(xiàn)在很多教材對面向?qū)ο蟮姆治龊驮O(shè)計(jì)方法有介紹,但大多停留在理論層面,沒有結(jié)合真實(shí)項(xiàng)目將如何分析設(shè)計(jì)講得淺顯易懂。根據(jù)過往經(jīng)驗(yàn),在課程內(nèi)容上應(yīng)包含如下幾方面的內(nèi)容。
(1)軟件工程模型介紹。如果沒有開設(shè)軟件工程課,則在開始講解UML前應(yīng)先讓學(xué)生了解軟件生命周期、軟件開發(fā)過程模型的概念,讓學(xué)生對軟件開發(fā)的復(fù)雜過程有充分的認(rèn)識,了解軟件開發(fā)各個(gè)階段應(yīng)該完成的工作,這樣才能讓學(xué)生理解為什么要畫這么多圖。如果開設(shè)了軟件工程課,可以將UML與軟件工程合開,因?yàn)閷τ诟呗殞W(xué)生普遍難以接受軟件工程的抽象概念,可以適量減少一些軟件工程內(nèi)容,將其與UML結(jié)合起來,效果會(huì)更好一些。
(2)面向?qū)ο蟮姆治雠c設(shè)計(jì)方法。這部分內(nèi)容讓學(xué)生了解面向?qū)ο蟮姆治龊驮O(shè)計(jì)中涉及的一些基本概念,這些概念在編程課里面也會(huì)講到,但通常編程課講的是編程概念,此處講的是編程之前分析和設(shè)計(jì)的概念,另外,還包括分析和設(shè)計(jì)的一些基本方法。這部分內(nèi)容很抽象,但非常重要,可以指導(dǎo)學(xué)生采用正確的方法得到編程模型。
(3)UML。講解統(tǒng)一建模語言的內(nèi)容??紤]到適用性和學(xué)生接受能力,這部分主要包括UML的9種圖,介紹圖形的作用、適用的軟件開發(fā)階段、圖形的元素和語義。
3.2 教學(xué)方法改進(jìn)
3.2.1 合理組織教學(xué)內(nèi)容
根據(jù)學(xué)生的能力特點(diǎn)合理組織教學(xué)內(nèi)容,可以顯著提高教學(xué)效果。在高職教學(xué)中應(yīng)盡量避免枯燥的理論講解,將理論與實(shí)踐結(jié)合起來講解,這樣才能提起學(xué)生學(xué)習(xí)興趣,否則,UML這門課程很難達(dá)到教學(xué)目標(biāo)。
整個(gè)課程圍繞一個(gè)完整的實(shí)際項(xiàng)目開發(fā)過程展開,從軟件開發(fā)生命周期開始到結(jié)束安排教學(xué)內(nèi)容,按階段引入需要的UML圖,講解圖在該階段的使用。如在需求階段,首先引入用例圖,講解如何使用用例圖描述軟件的需求,接著引入類圖,講解使用類圖在分析階段進(jìn)行初步的概念分析。通過這種方式使學(xué)生搞清所學(xué)UML可以在軟件開發(fā)中做何事。
在講解具體某個(gè)圖的知識時(shí),除主線條的項(xiàng)目外,還可以引入一些小項(xiàng)目進(jìn)行實(shí)訓(xùn)以加深學(xué)生理解,鍛煉學(xué)生分析問題的能力。如可以要學(xué)生使用例圖設(shè)計(jì)記事本的需求,使用類圖對挖地雷游戲進(jìn)行類分析等。
3.2.2 采用情景式教學(xué)和啟發(fā)式教學(xué)結(jié)合的方法
在以往教學(xué)中,該課程采用了基于崗位工作過程安排授課內(nèi)容、基于崗位工作任務(wù)安排學(xué)生的實(shí)訓(xùn)任務(wù)、基于實(shí)際項(xiàng)目進(jìn)行舉例和安排實(shí)訓(xùn)內(nèi)容、采用分組討論法提高學(xué)生參與的積極性等多種教學(xué)方法和手段。但是,如前述仍存在不足。在對教學(xué)內(nèi)容進(jìn)行合理改進(jìn)后,還需在教學(xué)方法上進(jìn)行改進(jìn)。就該門課程而言,最困難的就是如何提高學(xué)生的學(xué)習(xí)興趣,增加學(xué)習(xí)主動(dòng)性。采用情景式教學(xué)方法,依據(jù)軟件開發(fā)過程模型和教學(xué)進(jìn)度,在課堂中首先導(dǎo)入應(yīng)用情景,即該次課項(xiàng)目進(jìn)入了哪個(gè)開發(fā)階段,在準(zhǔn)備階段說明此階段主要工作,需要有哪些角色參與,每個(gè)角色承擔(dān)的工作任務(wù)是什么。然后,說明完成該階段任務(wù)需要哪些UML圖從而導(dǎo)入課程主要內(nèi)容。在課堂實(shí)訓(xùn)時(shí),采用分組討論法將學(xué)生分組,按崗位分工合作完成實(shí)訓(xùn)。在講解理論概念時(shí)采用啟發(fā)式教學(xué)方法,通過引導(dǎo)的方式讓學(xué)生主動(dòng)探究知識,通過一定的啟發(fā)進(jìn)行思考、探索進(jìn)而掌握知識。例如,在講解類圖的設(shè)計(jì)時(shí),可以利用Windows中的挖地雷游戲,現(xiàn)場讓學(xué)生分析這個(gè)軟件中有哪幾個(gè)類,引導(dǎo)其思考這些類之間有什么關(guān)系,逐步畫出相應(yīng)類圖。
4? 結(jié)語
分析與建模是軟件開發(fā)從業(yè)者必須具備的職業(yè)素質(zhì)。在高職軟件專業(yè)教學(xué)中對學(xué)生這方面的培養(yǎng)卻相對薄弱,開設(shè)的相關(guān)課程也多是傳授建模理論知識為主,與實(shí)踐結(jié)合不夠。應(yīng)對現(xiàn)有相關(guān)課程的教學(xué)內(nèi)容進(jìn)行優(yōu)化整合,基于實(shí)際項(xiàng)目生命周期組織教學(xué),采用情景教學(xué)和啟發(fā)式教學(xué)提高學(xué)生學(xué)習(xí)和參與的興趣,只有這樣才能讓學(xué)生通過該課程學(xué)習(xí)了解到分析與建模的重要性,了解UML圖在軟件開發(fā)中的作用,達(dá)到開設(shè)該課程的目的。
參考文獻(xiàn)
[1] 謝菲菲,張杰,高瑜翔,等.啟發(fā)式教學(xué)在“高頻電子線路”課程中的應(yīng)用[J].無線互聯(lián)科技,2019(21):80-81.
[2] 羅春,夏位前,夏敏.高職軟件專業(yè)JAVA方向課程體系建設(shè)研究[J].電腦知識與技術(shù),2018(14):84-85.
[3] 王娜,喬志杰.基于工作過程教學(xué)模式在高職教育中的應(yīng)用[J].科技資訊,2018(20):164-165.
[4] 李麗萍,曾學(xué)龍.新時(shí)代職業(yè)本科思政課“教法創(chuàng)優(yōu)”探討[J].遼寧高職學(xué)報(bào),2019(12):35-38.
[5] 侯洋.我國高職教育國際化實(shí)踐研究[D].外交學(xué)院,2020.
[6] 左小翠.翻轉(zhuǎn)課堂在高職《計(jì)算機(jī)基礎(chǔ)應(yīng)用》課程中的應(yīng)用研究[D].河北師范大學(xué),2017.