朱家全
摘 要:MVC設(shè)計(jì)模式在軟件開發(fā)中具有非常重要的作用,作為面向軟件開發(fā)一線的高職院校軟件專業(yè)的學(xué)生,必須掌握MVC設(shè)計(jì)模式的開發(fā)方法。文章分析了MVC設(shè)計(jì)模式在JSP課程的地位,結(jié)合民辦高職院校學(xué)生的特點(diǎn),提出適合民辦高職學(xué)生學(xué)習(xí)MVC設(shè)計(jì)模式的教學(xué)方法。
關(guān)鍵詞:MVC 設(shè)計(jì)模式 教學(xué)方法
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2018)02(a)-0155-02
隨著軟件開發(fā)技術(shù)的不斷更新和改進(jìn),為了提高軟件開發(fā)的效率并實(shí)現(xiàn)軟件開發(fā)產(chǎn)業(yè)化,軟件開發(fā)已步入軟件產(chǎn)品的模塊化和可復(fù)用性道路,MVC設(shè)計(jì)模式是當(dāng)前廣泛運(yùn)用的軟件設(shè)計(jì)方法,能夠提高軟件開發(fā)質(zhì)量和效率,也是培養(yǎng)面向軟件開發(fā)一線技能型應(yīng)用人才的高職院校軟件專業(yè)學(xué)生必須掌握的一項(xiàng)技能。本文結(jié)合民辦高職學(xué)生的實(shí)際情況,探討如何在民辦高職JSP課程中開展MVC設(shè)計(jì)模式的教學(xué)方法。
1 MVC設(shè)計(jì)模式在JSP課程的地位
JSP課程是民辦高職院校軟件技術(shù)專業(yè)和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的核心課程,是目前軟件開發(fā)中B/S架構(gòu)的首選技術(shù),也是學(xué)生能否在IT領(lǐng)域順利就業(yè)的技術(shù)基礎(chǔ)。
1.1 MVC處理流程
MVC是軟件工程中的一種軟件架構(gòu)模式,把軟件系統(tǒng)分為三個(gè)基本部分:模型(Model)、視圖(View)和控制器(Controller),核心思想就是把數(shù)據(jù)的輸入、處理、顯示分離開來,每個(gè)部件各自負(fù)責(zé)自己的任務(wù)。在JSP課程中最典型的MVC應(yīng)用就是JSP+Servlet+JavaBean。Model用JavaBean實(shí)現(xiàn),通過各種類來對(duì)數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行操作,并封裝在對(duì)象中,具體做法是:將數(shù)據(jù)庫中的一張表對(duì)應(yīng)面向?qū)ο笾械囊粋€(gè)類,表中的字段對(duì)應(yīng)類中的屬性,對(duì)表的操作如添加、刪除、修改、查詢等,對(duì)應(yīng)類中的方法,表中的每一行記錄就是一個(gè)對(duì)象,如果要返回多行數(shù)據(jù)即需要存儲(chǔ)多個(gè)對(duì)象,一般采用集合進(jìn)行返回。View用JSP實(shí)現(xiàn),通過直觀的JSP頁面來展示數(shù)據(jù)庫中的數(shù)據(jù)。Controller用Servlet來實(shí)現(xiàn),通過Servlet來獲取經(jīng)過JavaBean封裝后的對(duì)象,然后再發(fā)送數(shù)據(jù)數(shù)據(jù)到JSP頁面。
處理過程:當(dāng)用戶在客戶端通過瀏覽器發(fā)送一個(gè)請(qǐng)求給Tomcat服務(wù)器,服務(wù)器把這個(gè)請(qǐng)求交給Servlet,Servlet讀取請(qǐng)求信息,根據(jù)請(qǐng)求信息調(diào)用Model,然后把返回結(jié)果給Servlet,Servlet根據(jù)返回結(jié)果跳轉(zhuǎn)到相應(yīng)的JSP頁面。
1.2 MVC在JSP課程中的地位
在JSP課程中,采用的開發(fā)語言是Java,然而MVC并不是Java語言所特有的設(shè)計(jì)思想,也并不是Web應(yīng)用所特有的思想,它是所有面向?qū)ο蟪绦蛟O(shè)計(jì)語言都應(yīng)該遵守的規(guī)范。MVC設(shè)計(jì)模式在JSP的實(shí)現(xiàn),首先是JSP頁面的請(qǐng)求與Servlet交互,Servlet負(fù)責(zé)與后臺(tái)的JavaBean通信,系統(tǒng)開發(fā)被強(qiáng)制分隔為3層,降低了各層時(shí)間的耦合,提高系統(tǒng)的可擴(kuò)展性。
近年來,隨著Java語言的逐步強(qiáng)大,日趨成熟,深受程序員的青睞,JSP技術(shù)在網(wǎng)絡(luò)編程中的地位顯得越來越不可替代。隨著軟件開發(fā)規(guī)模越來越龐大,構(gòu)建大型復(fù)雜的系統(tǒng),如果沒有好的設(shè)計(jì)模式作為支撐,將會(huì)給后期的維護(hù)升級(jí)帶來災(zāi)難性的后果,甚至是毀滅性的,而MVC設(shè)計(jì)模式在軟件開發(fā)中優(yōu)勢明顯,已經(jīng)成為JSP課程教學(xué)的重要內(nèi)容。
2 MVC在民辦高職教學(xué)中存在的問題
民辦高職院校辦學(xué)較晚、辦學(xué)條件相對(duì)較差,因此,民辦高職學(xué)生的入學(xué)成績較低,基礎(chǔ)相對(duì)較差,理論學(xué)習(xí)興趣不濃,學(xué)習(xí)主動(dòng)性差,缺乏整體觀念和團(tuán)隊(duì)意識(shí),再加上教師在教學(xué)上不能很好的因材施教,所以民辦高職MVC設(shè)計(jì)模式教學(xué)效果都比較差,主要存在以下幾個(gè)方面的問題:
2.1 過多的理論講解,學(xué)生不愛聽
MVC設(shè)計(jì)模式與一般程序設(shè)計(jì)語言的編程方法不同,MVC將程序分成三層面:一是Model(模型)負(fù)責(zé)從數(shù)據(jù)庫中存取數(shù)據(jù);二是View(視圖)提供界面,將數(shù)據(jù)顯示出來,呈現(xiàn)給用戶查看;三是Controller(控制器)負(fù)責(zé)與用戶交互。而這三個(gè)層面之間既相對(duì)獨(dú)立又相互聯(lián)系,因此,為了能夠把這三個(gè)層面的設(shè)計(jì)思想、相互聯(lián)系、數(shù)據(jù)傳遞方式等講清楚,教師往往要花大量的時(shí)間進(jìn)行理論分析及分步講解,而對(duì)于基礎(chǔ)知識(shí)相對(duì)較差的民辦高職的學(xué)生來說學(xué)習(xí)難度非常大,有很多人是力不從心,根本無法理解這些理論知識(shí),到最后連課都不想聽。
2.2 教學(xué)內(nèi)容與實(shí)際應(yīng)用相脫離
由于民辦高職的教師很多都是剛畢業(yè)的大學(xué)生,軟件開發(fā)經(jīng)驗(yàn)較少,很多都沒有參與實(shí)際的軟件開發(fā)項(xiàng)目,因此,在教學(xué)中基本上是按照課本的內(nèi)容講解,最多舉一些常見的案例,如會(huì)員管理系統(tǒng)、通訊錄管理系統(tǒng)之類的,與其它編程課程的案例雷同,學(xué)生沒有新鮮感。
2.3 課堂教學(xué)比較沉悶,互動(dòng)較少
民辦高職學(xué)生整體水平偏低,對(duì)理論教學(xué)不感興趣,學(xué)習(xí)的習(xí)慣和思維方式存在很多問題,因此,在MVC教學(xué)中,經(jīng)常出現(xiàn)教師很想把課講好,也想進(jìn)行課堂互動(dòng),但由于能夠聽懂的同學(xué)很少,所以經(jīng)常出現(xiàn)老師提問沒人回答,老師在上面講,學(xué)生在下面玩手機(jī),甚至有相當(dāng)多同學(xué)不來上課。
3 創(chuàng)新民辦高職MVC設(shè)計(jì)模式教學(xué)方法
在90后、00后的民辦高職學(xué)生中,各種智能手機(jī)、電腦、數(shù)碼產(chǎn)品等現(xiàn)代化產(chǎn)品非常普及,學(xué)生信息的獲取渠道非常豐富。學(xué)生對(duì)傳統(tǒng)的教師教,學(xué)生學(xué)的灌輸式教學(xué)方法非常反感,傳統(tǒng)教學(xué)方法已經(jīng)不能適應(yīng)現(xiàn)在的課堂教學(xué),難以激發(fā)學(xué)生的學(xué)習(xí)興趣和創(chuàng)新意識(shí),不利于學(xué)生實(shí)際動(dòng)手操作能力的培養(yǎng)。針對(duì)民辦高職學(xué)生的特點(diǎn),筆者在MVC設(shè)計(jì)模式教學(xué)中主要采取以下幾種方式。
3.1 項(xiàng)目引導(dǎo)
民辦高職學(xué)生興趣愛好廣泛,好奇心強(qiáng),喜歡動(dòng)手操作,實(shí)踐能力強(qiáng)。如何引起學(xué)生的好奇,提起學(xué)習(xí)的興趣。筆者在MVC教學(xué)中,將自己使用MVC設(shè)計(jì)模式開發(fā)的“網(wǎng)上學(xué)習(xí)系統(tǒng)”項(xiàng)目作為教學(xué)案例,先讓學(xué)生在校園網(wǎng)上對(duì)“網(wǎng)上學(xué)習(xí)系統(tǒng)”的功能進(jìn)行逐一操作,然后提出如何實(shí)現(xiàn)這些功能,讓學(xué)生先進(jìn)行討論,無形中激起學(xué)生的好奇心,提起了學(xué)習(xí)的興趣。
3.2 團(tuán)隊(duì)合作
由于MVC知識(shí)相對(duì)抽象,很多同學(xué)比較難理解,因此,在教學(xué)中,將一個(gè)班級(jí)分及多個(gè)學(xué)習(xí)小組,每個(gè)小組一般由5~6人組成,由老師指定學(xué)習(xí)能力較強(qiáng)的同學(xué)擔(dān)任組長,同時(shí),模擬軟件公司的人員配置,每個(gè)同學(xué)擔(dān)任一個(gè)角色,有項(xiàng)目經(jīng)理、系統(tǒng)分析員、軟件工程師、軟件測試員、文檔管理員等。然后,每個(gè)小組選擇一個(gè)項(xiàng)目進(jìn)行模擬開發(fā)。
3.3“教、學(xué)、做”一體
在課堂上,老師以“網(wǎng)上學(xué)習(xí)系統(tǒng)”項(xiàng)目作為教學(xué)內(nèi)容,詳細(xì)分析“網(wǎng)上學(xué)習(xí)系統(tǒng)”的各個(gè)模塊以及各個(gè)模塊的關(guān)系,讓每個(gè)學(xué)習(xí)小組進(jìn)行討論與模仿,并將這些知識(shí)應(yīng)用到每個(gè)小組負(fù)責(zé)的項(xiàng)目中,做到“教、學(xué)、做”有效結(jié)合。
3.4 綜合考核
課程學(xué)習(xí)結(jié)束時(shí),每個(gè)學(xué)習(xí)小組要將小組開發(fā)的項(xiàng)目以及學(xué)習(xí)情況進(jìn)行匯報(bào),教師則根據(jù)各個(gè)小組在項(xiàng)目開發(fā)過程中的表現(xiàn)以及完成項(xiàng)目的效果,給每個(gè)學(xué)習(xí)小組進(jìn)行綜合評(píng)價(jià),而每個(gè)學(xué)習(xí)小組的成員則根據(jù)各自在參與項(xiàng)目的表現(xiàn)進(jìn)行無記名互評(píng),最后老師根據(jù)各個(gè)小組完成項(xiàng)目的效果及同學(xué)之間互評(píng)的結(jié)果給每個(gè)同學(xué)進(jìn)行評(píng)分。
筆者在MVC教學(xué)中以實(shí)際項(xiàng)目為引導(dǎo),充分發(fā)揮小組教學(xué)的優(yōu)勢,讓學(xué)生互相學(xué)習(xí)、互相幫助,同時(shí),實(shí)施“教、學(xué)、做”一體教學(xué)方法,取得較好的教學(xué)效果。
4 結(jié)語
隨著“互聯(lián)網(wǎng)+”行動(dòng)計(jì)劃在我國的不斷推進(jìn),各類應(yīng)用軟件將會(huì)暴發(fā)性增長,以MVC設(shè)計(jì)模式進(jìn)行的軟件開發(fā)項(xiàng)目將會(huì)更加普及,因此,民辦高職院校要更加注重MVC設(shè)計(jì)模式教學(xué)方法的研究,做到因材施教,為社會(huì)培養(yǎng)合格的軟件開發(fā)人才。
參考文獻(xiàn)
[1] 王秋艷.民辦高職院校教學(xué)方法研究[J].職業(yè)教育,2008:73-74.
[2] 周永平.MVC模式在軟件設(shè)計(jì)應(yīng)用中的研究[J].信息與電腦,2009(11):58-59.
[3] 張智慧.高職院校基于MVC模式的C語言課程教學(xué)實(shí)踐研究[J].計(jì)算機(jī)時(shí)代,2016(11):86-88,91.