基于UML的“JSP/Servlet Web應用程序設計”教學案例
(作者未知) 2010/9/10
摘要:本文針對“JSP/Servlet Web應用程序設計”課程中傳統(tǒng)教學法存在的弊端,通過“用戶登錄驗證模塊”的教學案例設計講解如何采用UML軟件建模來整合課程內容、重構課程體系。使學生能夠將眼光不僅僅拘泥在程序設計的代碼細節(jié)上,同時也理解軟件工程思想,融會貫通所學知識為己所用。
關鍵詞:UML軟件建模;MVC模式;JSP/Servlet Web應用程序設計;教學案例;登錄驗證模塊
1 “JSP/Servlet Web應用程序設計”課程教學現(xiàn)狀
針對于當前軟件人才的需求現(xiàn)狀,目前高職院校的軟件專業(yè)開始主要培養(yǎng)面向“軟件藍領”崗位的高技能應用型人才,開始注重“面向應用,突出能力”,開設了各種關于Java的應用課程,試圖提高計算機軟件專業(yè)高職生的行業(yè)競爭力。我院也針對市場需求對軟件開發(fā)專業(yè)課程體系進行不斷完善,逐漸形成了一個直接面向軟件企業(yè)Java開發(fā)崗位的系列課程。如Java初級程序設計、Java高級程序設計、JSP/Servlet Web應用程序設、Web應用程序編碼—Struts、軟件開發(fā)項目實訓等。
但如何將這一系列課程有效地進行組織,使培養(yǎng)的學生能夠更好地適應企業(yè)Java軟件開發(fā)崗位的能力需求,是Java課程群要解決的主要問題。以“JSP/Servlet Web應用程序設計”為例,它是Java課程體系中承上啟下的核心課程,它的教學效果直接影響到后續(xù)課程的教學。然而,目前該課程的教學存在著以下幾點不足,嚴重影響學生能力的培養(yǎng)。
(1)從課程體系來看,由于高職院校的學制較短,軟件開發(fā)專業(yè)通常在低年級學過一門程序語言之后,尚未熟練理解運用,而直接接觸Web 應用程序編碼,很多語法和機制難以理解,繼而影響學習效果。
(2)從教學方式來看,仍采用的是傳統(tǒng)的教學方法,在分析基于Java體系的Web應用程序的知識結構時,采用循序漸進地講授一門課程的知識點,學生按部就班地學習知識點的方式,而這種教學方法過于強調語法,學生往往在學了一堆語法知識點后對如何開發(fā)實際項目還是很茫然。
(3)從市面教材來看,它們有一個共性:純粹的語法,沒有軟件工程思想的體現(xiàn)或是純粹案例項目,卻沒有知識點的體現(xiàn)。
除此之外,開設此門課程的時間一般在第二學年上學期或下學期,此時學生已完成了“Java程序設計”“網頁設計”“數據庫程序設計”“計算機網絡”等基礎課程的學習,但每門課程之間相互獨立、割裂。在這種教學體系下,學生雖然也可照著教材,或教師指導完成一些小實例或小項目,但是作為整個課程來說,這些實例或小項目是孤立的、彼此沒有聯(lián)系的,課程之間更沒有任何聯(lián)系,對于學生而言無法理解每門課程在整個課程體系中的地位和作用,學生掌握的知識也是零散的,不系統(tǒng)的,缺乏對課程體系的整體把握,影響教學效果。
2 基于UML的“JSP/Servlet Web應用程序設計”的教學思路
針對當前教學過程中存在的現(xiàn)狀,講解“JSP/Servlet Web應用程序設計”課程不能再以課件為中心,照“屏”宣科。而需盡量保證知識推理過程需板書,老師邊寫邊講,使學生與教師思想同步。關鍵知識點上需要使用案例,且所有代碼都在真實的開發(fā)環(huán)境上開發(fā),通過教師的引導,在師生交互過程中完成編碼工作。
除去關鍵知識點的講解,針對學生情況,打破原有的知識分塊模式,遵循先夠用后升華的原則,通過選擇一個常見的網站項目,將具有代表性的任務貫穿在整個教學過程中,例如日常實際上網中經常使用的功能,如保存cookie、防止用戶非法登錄、驗證碼、網上投票,網絡購物等。各個知識點沿著項目主線展開,根據項目的每個模塊整理出相關的知識點要素,重新組建各個知識環(huán),環(huán)環(huán)相扣,避免了知識點零散,脫離實際應用的弊病。學生容易理解,易于掌握,同時也清楚明白整個網站構建所需的架構及其他知識。整個形成一套由點到面、循序漸進的教學體系。同時針對每個功能模塊的設計,采用UML來進行這一系列的建模,使學生能夠將眼光不僅僅拘泥在程序設計的代碼細節(jié)上,也能理解軟件工程思想,融會貫通所學知識為己所用。
3 基于UML的“JSP/Servlet Web應用程序設計”的教學案例設計
下面以Java Web網站項目中“用戶登錄驗證模塊”為例,剖析基于UML軟件建模教學模式的教學過程實施。
(1)設計案例,講解前序基本知識——MVC的設計模式。
首先,需講明MVC設計模式的基本概念,即Model View Controller,把一個應用的輸入、處理、輸出流程按照Model、View、Controller的方式進行分離,這樣一個應用被分為三層:模型層、視圖(未完,下一頁)
|