王 居 儒
(上海醫(yī)療器械高等專科學(xué)校 教務(wù)處,上海 200093)
隨著高校辦學(xué)規(guī)模不斷擴(kuò)大,學(xué)生人數(shù)越來(lái)越多,校區(qū)越來(lái)越多,專業(yè)教學(xué)計(jì)劃更貼近社會(huì)需要,教材更新的速度越來(lái)越快等原因,導(dǎo)致教材在管理、發(fā)放等環(huán)節(jié)都不能夠滿足現(xiàn)代大學(xué)教學(xué)需要。另外一個(gè)角度,教材采購(gòu)?fù)歉咝8瘮《喟l(fā)地,通過(guò)信息化手段以及學(xué)生自主選擇,能很好地從技術(shù)和制度上避免腐敗發(fā)生。基于以上原因,設(shè)計(jì)并實(shí)現(xiàn)基于B/S架構(gòu)的高校教材選購(gòu)管理信息系統(tǒng)。
教材選購(gòu)系統(tǒng)是一個(gè)集任課教師、學(xué)生、教材管理員、供應(yīng)商等多方參與的開放性綜合系統(tǒng),業(yè)務(wù)環(huán)節(jié)涉及到教學(xué)執(zhí)行計(jì)劃教材設(shè)定、學(xué)生選購(gòu)、教材管理員匯總、供應(yīng)商配貨、發(fā)放等。具體流程見圖1。
根據(jù)圖1業(yè)務(wù)流程可以看出,該系統(tǒng)是一個(gè)綜合的信息系統(tǒng),涉及到其他管理信息系統(tǒng)的信息,將傳統(tǒng)學(xué)生向?qū)W校購(gòu)買教材,學(xué)校向供應(yīng)商購(gòu)買教材的模式徹底打破,形成了學(xué)生直接向供應(yīng)商購(gòu)買教材,學(xué)校起到中間橋梁的作用,提供完善的管理服務(wù),保證學(xué)生的最大利益。同時(shí),學(xué)生有自主選擇權(quán),在選擇教材的時(shí)候,可以看到教材的所有信息,包括價(jià)格。學(xué)生選購(gòu)教材結(jié)束后,供應(yīng)商根據(jù)訂貨量進(jìn)行處理,根據(jù)學(xué)生宿舍信息,進(jìn)行教材發(fā)放,徹底解決了多校區(qū),發(fā)放困難等問(wèn)題。對(duì)于供應(yīng)商而言,訂購(gòu)數(shù)量準(zhǔn)確,庫(kù)存積壓小,保障了供應(yīng)商利益。
對(duì)于系統(tǒng)設(shè)計(jì)而言,該系統(tǒng)涉及到教學(xué)計(jì)劃、選課數(shù)據(jù)、宿舍信息等重要信息,要確保信息的安全性、數(shù)據(jù)的唯一性、訂購(gòu)的準(zhǔn)確性等。所以,要做好頂層規(guī)劃設(shè)計(jì),資源共享。
根據(jù)系統(tǒng)業(yè)務(wù)流程,將該系統(tǒng)分為以下處理模塊,邊界界定清晰,權(quán)限定義準(zhǔn)確,如圖2所示。
教材管理員涉及到的業(yè)務(wù)處理有基礎(chǔ)信息維護(hù),包括教材庫(kù)維護(hù)、學(xué)生基本信息維護(hù)、各角色權(quán)限分配、教學(xué)計(jì)劃導(dǎo)入、宿管信息導(dǎo)入、教材訂購(gòu)匯總統(tǒng)計(jì)、輸出各類報(bào)表等功能。
學(xué)生涉及到的業(yè)務(wù)處理有維護(hù)自己登錄信息、教材選購(gòu)、退訂等功能。
教師涉及到的業(yè)務(wù)處理有維護(hù)自己登錄信息、制定開課教材、訂購(gòu)教師用書等功能。
供應(yīng)商涉及到的業(yè)務(wù)處理有維護(hù)自己登錄信息、訂購(gòu)匯總、按照學(xué)生為單位生成訂單、按照宿舍樓進(jìn)行訂單配送等功能。
考慮到校區(qū)分散,各用戶在各地點(diǎn)均可以使用的特性,采用B/S架構(gòu)。應(yīng)用MVC模式的基本思想,實(shí)現(xiàn)該系統(tǒng)。并在學(xué)校教務(wù)處成功應(yīng)用。
MVC是一種面向?qū)ο笏枷氲拈_發(fā)模式。是Model-View-Controller的縮寫,其架構(gòu)見圖3。
(1) Model(模型)。Model表示數(shù)據(jù)和業(yè)務(wù)模型部分,是整個(gè)系統(tǒng)中的核心部分。Model采用面向?qū)ο蟮乃枷?,將現(xiàn)實(shí)世界的對(duì)象抽象成為應(yīng)用程序里的對(duì)象,通常一方面封裝了這些對(duì)象的屬性,另一方面封裝了對(duì)數(shù)據(jù)的存儲(chǔ)和隱含的業(yè)務(wù)邏輯。
(2) View(視圖)。View表示用戶視圖部分,是用戶看到的與之交互的界面。其中并沒(méi)有真正的處理發(fā)生,視圖只是作為一種輸出數(shù)據(jù)并供用戶選擇操作的方式。
(3) Controller(控制器)。Controller表示流程控制部分。它調(diào)用相應(yīng)模型或試圖來(lái)完成用戶的要求,是Model與View之間的樞紐。具體而言,一方面,它能解析和傳遞View輸入的數(shù)據(jù),將其轉(zhuǎn)化成系統(tǒng)能夠識(shí)別的對(duì)象,識(shí)別用戶的操作,解釋成對(duì)Model特定方法的調(diào)用。另一方面,對(duì)Model執(zhí)行的結(jié)果和View事件,能夠調(diào)用相應(yīng)的View來(lái)反饋用戶。
如圖4所示,該系統(tǒng)設(shè)計(jì)為B/S架構(gòu),應(yīng)用服務(wù)器采用Tomcat5.0,后臺(tái)數(shù)據(jù)庫(kù)為SQL Server 2005。應(yīng)用JSP[2]技術(shù)實(shí)現(xiàn)視圖的功能,用Servlet[3]技術(shù)實(shí)現(xiàn)控制器的功能,用JavaBean技術(shù)實(shí)現(xiàn)模型的功能。
(1) 視圖部分。視圖是用戶看到并與之交互的界面,用Jsp文件定義信息的具體顯示形式(表單、表格、標(biāo)簽等)并向Servlet傳遞用戶請(qǐng)求信息。
(2) 控制器部分。控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。Servlet充當(dāng)控制器的角色,調(diào)用doGet[3]方法或者doPost[3]方法,根據(jù)HttpServletRequest[3]中參數(shù)的取值來(lái)決定何種操作,然后根據(jù)事件的不同從設(shè)置的系統(tǒng)XML[3]文件中讀取將要導(dǎo)向的頁(yè)面。
(3) 模型部分。模型表示數(shù)據(jù)和業(yè)務(wù)規(guī)則。Model層由多個(gè)Java文件封裝了高校教材選購(gòu)管理系統(tǒng)的相應(yīng)業(yè)務(wù)邏輯。此外還有一些各模塊公用的Bean,例如對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)等操作。
采用MVC模式的三層架構(gòu),將視圖與業(yè)務(wù)邏輯完全分離,一個(gè)業(yè)務(wù)邏輯可以呈現(xiàn)到不同的視圖。在視圖中其實(shí)沒(méi)有真正的邏輯處理發(fā)生,視圖上呈現(xiàn)的數(shù)據(jù)都是來(lái)自業(yè)務(wù)邏輯。作為視圖來(lái)講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。被模型返回的數(shù)據(jù)是中立的,就是說(shuō)模型與數(shù)據(jù)格式無(wú)關(guān),這樣一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù)。由于應(yīng)用于模型的代碼只需寫一次就可以被多個(gè)視圖重用,所以最大程度上減少了代碼的重復(fù)性??刂破鞅旧聿惠敵鋈魏螖?shù)據(jù)和做任何處理。它只是接收請(qǐng)求并決定調(diào)用哪個(gè)模型構(gòu)件去處理請(qǐng)求,然后再確定用哪個(gè)視圖來(lái)顯示模型處理返回的數(shù)據(jù)。保障了系統(tǒng)的安全性、開放性、可擴(kuò)展性、可維護(hù)性。
目前該系統(tǒng)取得了良好的效果,從根本上解決了教材訂購(gòu)的困難,使學(xué)生能夠及時(shí)準(zhǔn)確訂購(gòu)教材、發(fā)放教材。對(duì)學(xué)校教材科而言,將傳統(tǒng)繁雜的工作轉(zhuǎn)變?yōu)楦咝П憬莸墓ぷ鳌母旧辖鉀Q了教材訂購(gòu)產(chǎn)生的腐敗問(wèn)題。得到了學(xué)校、學(xué)生、供應(yīng)商一致好評(píng)。隨著數(shù)字化校園建設(shè)的逐步深入,高校教材采購(gòu)系統(tǒng)必然進(jìn)入更高的階段,和其他信息系統(tǒng)進(jìn)行高度融合。
[1] 孫衛(wèi)琴.基于MVC的Java Web設(shè)計(jì)與開發(fā)[M].北京:電子工業(yè)出版社,2004.
[2] 張洪偉.JSP網(wǎng)絡(luò)開發(fā)技術(shù)與整合應(yīng)用[M].北京:清華大學(xué)出版社,2006.
[3] SERVLET與JSP核心編程 [M]. 趙學(xué)良譯.2版.北京:清華大學(xué)出版社,2004.
[4] 李維杰,孫乾君.SQL Server 2005 數(shù)據(jù)庫(kù)原理與應(yīng)用簡(jiǎn)明教程[M].北京:清華大學(xué)出版社,2007.
[5] 羅 維.MVC程序設(shè)計(jì)[M].北京: 中國(guó)水利水電出版社,2013.
[6] [美] 埃克爾(Bruce Eckel)著 陳昊鵬 譯.Java編程思想[M].4版.北京:機(jī)械工業(yè)出版社,2007.
[7] [美]昊斯特曼.Java核心技術(shù)(卷1)[M].葉乃文,鄺勁筠,杜永萍 譯.北京:機(jī)械工業(yè)出版社,2008.
[8] [美] 昊斯特曼.Java核心技術(shù)(卷2)[M].葉乃文,鄺勁筠,杜永萍譯.北京:機(jī)械工業(yè)出版社,2008.
[9] 周 濤,呂偉臣,廉 穎.SQL SERVER 2005數(shù)據(jù)庫(kù)企業(yè)級(jí)應(yīng)用[M].北京:清華大學(xué)出版社,2008.
[10] 焦晉生.基于MVC架構(gòu)的WEB設(shè)計(jì)研究[J].電子科技,2008,21(8):69-72.
JIAO Jin-sheng.School of Computer Science and Technology[J]. Electronic Science and Technology, 2008,21(8):69-72.
[11] 劉 亮.基于MVC的通用型模式的設(shè)計(jì)與實(shí)現(xiàn)[J].中國(guó)科學(xué)技術(shù)大學(xué)學(xué)報(bào),2010,40(6):635-639.
LIU Liang. Design and actualization of universal MVC pattern[J]. Journal of University of Science and Technology of China, 2010,40(6):635-639.
[12] 施衛(wèi)峰.基于MVC的分布式作戰(zhàn)應(yīng)用框架研究[J].指揮控制與仿真,2010,32(3):80-85.
SHI Wei-feng. Research on Distributed Operational Application Framework Based on MVC[J]. Command Control & Simulation,2010, 32(3):80-85.
[13] 葉 青.基于Web 的教材選購(gòu)與管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].江西師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2006,30(2):134-136.
YE Qing. Design and implementation of the college textbook ordering management system based on WEB[J]. Journal of Jiangxi Normal University(Natural Sciences Edition), 2006,30(2):134-136.
[14] 伍勁宇.高校采購(gòu)管理系統(tǒng)的建設(shè)與實(shí)踐[J]. 實(shí)驗(yàn)室研究與探索,2012,31(8):429-431.
WU Jing-yu. Construction and Implementation of the Purchase Management System in Colleges and Universities[J]. Research and Exploration in Laboratory, 2012,31(8):429-431.
[15] 周 輝.MVC設(shè)計(jì)模式及其在信息系統(tǒng)開發(fā)中的應(yīng)用[J].軟件導(dǎo)刊.2012,11(10):120-122.
ZHOU Hui. Application of MVC design pattern in information system development[J].Software Guide. 2012,11(10):120-122.
·名人名言·
治學(xué)有三原則:廣見聞,多閱讀,勤實(shí)驗(yàn)。
——戴布勞格林