摘? 要:隨著計(jì)算機(jī)網(wǎng)絡(luò)的飛速發(fā)展,OA系統(tǒng)已是高校信息化建設(shè)的重要標(biāo)志。本文研究了高校信息化辦公現(xiàn)狀,針對(duì)存在的問(wèn)題,設(shè)計(jì)并實(shí)現(xiàn)了基于B/S體系結(jié)構(gòu)的協(xié)同辦公系統(tǒng)。系統(tǒng)實(shí)現(xiàn)采用了MVC模式。經(jīng)測(cè)試,系統(tǒng)滿足設(shè)計(jì)需求,運(yùn)行可靠。
關(guān)鍵詞:MVC;B/S體系結(jié)構(gòu);OA系統(tǒng)
中圖分類號(hào):TP311?????????? 文獻(xiàn)標(biāo)識(shí)碼:A
1?? 引言(Introduction)
網(wǎng)絡(luò)技術(shù)和高校數(shù)字化建設(shè)的快速發(fā)展,以信息管理為核心的高校OA系統(tǒng)的應(yīng)用很廣泛,其內(nèi)涵和外延都也正發(fā)生著根本的變化。
2?? 需求分析(Demand analysis)
目前國(guó)內(nèi)許多高校的合并擴(kuò)建導(dǎo)致多校區(qū)并存問(wèn)題,只能靠遠(yuǎn)距離教學(xué)這種新型辦學(xué)模式來(lái)解決。顯然靠人工傳遞為主的這種紙上辦公的傳統(tǒng)方式已滿足不了新模式的要求,因此網(wǎng)絡(luò)辦公便在高校應(yīng)運(yùn)而生了。OA是一種將計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和現(xiàn)代化辦公相結(jié)合的一種新型技術(shù),它是一個(gè)具有頑強(qiáng)生命力的活躍技術(shù)應(yīng)用領(lǐng)域,是社會(huì)信息化的產(chǎn)物。開(kāi)發(fā)一套信息暢通和簡(jiǎn)單快速的OA系統(tǒng),是新的形勢(shì)下高校進(jìn)一步轉(zhuǎn)變其工作職能、方式和作風(fēng),能夠有效提高辦事效率、工作質(zhì)量和節(jié)約資源的重要手段。例如工作繁忙的校領(lǐng)導(dǎo)經(jīng)常開(kāi)會(huì)或外出考察時(shí),采用手機(jī)登錄OA系統(tǒng),可以及時(shí)查看電子公告、會(huì)議通知、簽閱文件和審批公文,實(shí)現(xiàn)了隨時(shí)異地辦公,極大的提高了工作效率[1]。
3?? 系統(tǒng)設(shè)計(jì)(The system design)
3.1?? 設(shè)計(jì)思想
建立以人為本、方便友好的操作界面。利用面向?qū)ο蟮乃枷胂到y(tǒng)設(shè)計(jì)完成了從傳統(tǒng)的面向業(yè)務(wù)到面向用戶的轉(zhuǎn)換。系統(tǒng)采用WEB技術(shù)、運(yùn)用B/S結(jié)構(gòu)、MVC模式,設(shè)計(jì)了高校協(xié)同辦公自動(dòng)化系統(tǒng)。
3.2?? 設(shè)計(jì)模式
系統(tǒng)采用MVC模式[2],具體模式如圖1所示。該模式采用“分治”的思想,一個(gè)應(yīng)用的輸入、處理和輸出流程被分成模型層、視圖層和控制層。MVC的基本原理為把應(yīng)用程序的商務(wù)邏輯、數(shù)據(jù)及其顯示和對(duì)數(shù)據(jù)的操作放到模型、視圖和控制器這些相異實(shí)體中。為了實(shí)現(xiàn)一種程序設(shè)計(jì)和Web系統(tǒng)的職能動(dòng)態(tài)分工,方便和簡(jiǎn)化了日后對(duì)程序的修改或擴(kuò)展,并可能重復(fù)利用某一部分的程序。MVC設(shè)計(jì)模式使系統(tǒng)在實(shí)現(xiàn)時(shí)用Servlet當(dāng)應(yīng)用程序控制器,把JSP文檔換為用Velocity模板視圖來(lái)顯示前臺(tái)界面,模型為Javabeans。Servlet接收所有請(qǐng)求,并依據(jù)請(qǐng)求信息將其分發(fā)到對(duì)應(yīng)的Velocity模板并得到響應(yīng),JavaBeans實(shí)例由Servlet根據(jù)Velocity模板需求生成并輸出到該模板。要得到JavaBeans中的數(shù)據(jù)需經(jīng)過(guò)Velocity模板,它采用直接調(diào)用或UseBean的自定義標(biāo)簽。
圖1 系統(tǒng)MVC模式圖
Fig.1 System MVC pattern
圖2 系統(tǒng)功能模塊圖
Fig.2 System function module chart
3.3?? 功能模塊設(shè)計(jì)
整個(gè)高校OA系統(tǒng)功能模塊有:綜合業(yè)務(wù)管理、信息管理、系統(tǒng)管理、會(huì)議管理和即時(shí)通信系統(tǒng),如圖2所示。起連接的作用和作為別的功能模塊總向?qū)鞘醉?yè),按子模塊的功能可將其劃分為更多的小模塊。
4?? 系統(tǒng)實(shí)現(xiàn) (System implementation )
采用的MVC(Servlet+JavaBean+Velocity)模式是基于Apache Velocity模板語(yǔ)言的,實(shí)現(xiàn)了OOD的概念,更高效于Servlet+Jsp的方式。此模式頁(yè)面開(kāi)發(fā)者要求遵從統(tǒng)一的文檔規(guī)范,將其更好地和業(yè)務(wù)開(kāi)發(fā)員的代碼進(jìn)行集成,代碼的可維護(hù)性高。
4.1?? 模型的實(shí)現(xiàn)
系統(tǒng)中各種對(duì)象的實(shí)體的描述靠的是模型。開(kāi)發(fā)OA系統(tǒng)時(shí),數(shù)據(jù)庫(kù)交互和存取數(shù)據(jù)由Model完成,一個(gè)Data Model與每張數(shù)據(jù)表對(duì)應(yīng)。便于模型具備優(yōu)良的擴(kuò)展性,先給模型定義一個(gè)IDBmodel,獲得數(shù)據(jù)、模型數(shù)據(jù)列表和保存、修改、刪除模型數(shù)據(jù)這幾種與數(shù)據(jù)庫(kù)交互的關(guān)鍵方法由IDBmodel來(lái)規(guī)定。再定義關(guān)鍵方法名稱和詳細(xì)解釋接口。然后定義該接口的DBModel,它實(shí)現(xiàn)了IDBmodel的一般方法,而且DBModel也定義了DataModel的抽象信息,留下虛函數(shù)待具體子類實(shí)現(xiàn),利用方法主要初始化模型字段和模型字段列表的返回。父類產(chǎn)生后,每個(gè)Model都要繼承DBModel,然后僅需覆蓋父類,再由具體的Data Table Structure定義Data Model的各字段,現(xiàn)在各Data Model都能公用父類(DBModel)中的方法來(lái)進(jìn)行保存、修改和刪除數(shù)據(jù)等操作,而無(wú)非在每個(gè)Model中單獨(dú)重寫一次。
4.2?? 模型窗體的實(shí)現(xiàn)
B/S結(jié)構(gòu)的系統(tǒng)要時(shí)常和用戶進(jìn)行表單數(shù)據(jù)交互,實(shí)際狀況是填好單個(gè)表單,提交至服務(wù)器,該數(shù)據(jù)被獲取后再被寫入Database中。因前面已對(duì)每個(gè)Data Model定義了具體的DBModel,這能自動(dòng)實(shí)現(xiàn)保存和刪除數(shù)據(jù)等操作。而表單提交的數(shù)據(jù)和DBModel之間的關(guān)聯(lián)建立靠DBForm來(lái)實(shí)現(xiàn),也能進(jìn)行數(shù)據(jù)的效驗(yàn),程序開(kāi)發(fā)的效率得到了提高,重復(fù)的代碼也能避免出現(xiàn)。
4.3?? 視圖的實(shí)現(xiàn)
前臺(tái)界面的展示由View來(lái)完成,采用了Velocity模板進(jìn)行前臺(tái)界面的展示是為了將業(yè)務(wù)代碼與展示部分徹底分開(kāi)。對(duì)模板文件的渲染由Velocity采用純文本方式,也做了一些變量的簡(jiǎn)單處理。為了提高代碼的復(fù)用性,封裝了View層的代碼,構(gòu)成這個(gè)統(tǒng)一InhopeVelocity,它能實(shí)現(xiàn)了初始化和添加對(duì)象這兩種方法。該方法完成初始化Velocity模板引擎和一些系統(tǒng)常用參數(shù),能在模板引擎中添加各種變量,在模板文件中方便調(diào)用。
4.4?? 控制器的實(shí)現(xiàn)
業(yè)務(wù)邏輯控制頁(yè)面的跳轉(zhuǎn)由控制器完成,采用了Servlet實(shí)現(xiàn)業(yè)務(wù)邏輯的控制有效的降低Controller的復(fù)雜性。在控制器中,先要對(duì)DBMmodel和View對(duì)象初始化,輸出不同的View決定于DBMmodel的執(zhí)行結(jié)果,View與Model的結(jié)合和一個(gè)完整的MVC模式由此誕生了。
5?? 結(jié)論(Conclusion)
針對(duì)目前高校的實(shí)際業(yè)務(wù)需求,設(shè)計(jì)和實(shí)現(xiàn)了OA系統(tǒng),提供了無(wú)紙化和數(shù)字化辦公環(huán)境,解決了資源共享[3]和信息實(shí)時(shí)交流的問(wèn)題。
參考文獻(xiàn)(References)
[1] 賈文海.辦公自動(dòng)化系統(tǒng)在高校信息化中的應(yīng)用[J].數(shù)字技術(shù)
與應(yīng)用,2014(5):221.
[2] 陸惠.基于J2EE體系結(jié)構(gòu)的OA系統(tǒng)研究與實(shí)現(xiàn)[J].電腦知識(shí)
與技術(shù),2010(10):8006-8007.
[3] 李莉.基B/S三層架構(gòu)的OA系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科技廣場(chǎng),
2014(5):63-66.
作者簡(jiǎn)介:
王曉妮(1977-),女,碩士,工程師.研究領(lǐng)域:軟件理論與
應(yīng)用.endprint
B/S結(jié)構(gòu)的系統(tǒng)要時(shí)常和用戶進(jìn)行表單數(shù)據(jù)交互,實(shí)際狀況是填好單個(gè)表單,提交至服務(wù)器,該數(shù)據(jù)被獲取后再被寫入Database中。因前面已對(duì)每個(gè)Data Model定義了具體的DBModel,這能自動(dòng)實(shí)現(xiàn)保存和刪除數(shù)據(jù)等操作。而表單提交的數(shù)據(jù)和DBModel之間的關(guān)聯(lián)建立靠DBForm來(lái)實(shí)現(xiàn),也能進(jìn)行數(shù)據(jù)的效驗(yàn),程序開(kāi)發(fā)的效率得到了提高,重復(fù)的代碼也能避免出現(xiàn)。
4.3?;?; 視圖的實(shí)現(xiàn)
前臺(tái)界面的展示由View來(lái)完成,采用了Velocity模板進(jìn)行前臺(tái)界面的展示是為了將業(yè)務(wù)代碼與展示部分徹底分開(kāi)。對(duì)模板文件的渲染由Velocity采用純文本方式,也做了一些變量的簡(jiǎn)單處理。為了提高代碼的復(fù)用性,封裝了View層的代碼,構(gòu)成這個(gè)統(tǒng)一InhopeVelocity,它能實(shí)現(xiàn)了初始化和添加對(duì)象這兩種方法。該方法完成初始化Velocity模板引擎和一些系統(tǒng)常用參數(shù),能在模板引擎中添加各種變量,在模板文件中方便調(diào)用。
4.4?;?; 控制器的實(shí)現(xiàn)
業(yè)務(wù)邏輯控制頁(yè)面的跳轉(zhuǎn)由控制器完成,采用了Servlet實(shí)現(xiàn)業(yè)務(wù)邏輯的控制有效的降低Controller的復(fù)雜性。在控制器中,先要對(duì)DBMmodel和View對(duì)象初始化,輸出不同的View決定于DBMmodel的執(zhí)行結(jié)果,View與Model的結(jié)合和一個(gè)完整的MVC模式由此誕生了。
5?;?; 結(jié)論(Conclusion)
針對(duì)目前高校的實(shí)際業(yè)務(wù)需求,設(shè)計(jì)和實(shí)現(xiàn)了OA系統(tǒng),提供了無(wú)紙化和數(shù)字化辦公環(huán)境,解決了資源共享[3]和信息實(shí)時(shí)交流的問(wèn)題。
參考文獻(xiàn)(References)
[1] 賈文海.辦公自動(dòng)化系統(tǒng)在高校信息化中的應(yīng)用[J].數(shù)字技術(shù)
;?;?;?;?; 與應(yīng)用,2014(5):221.
[2] 陸惠.基于J2EE體系結(jié)構(gòu)的OA系統(tǒng)研究與實(shí)現(xiàn)[J].電腦知識(shí)
;?;?;?;?; 與技術(shù),2010(10):8006-8007.
[3] 李莉.基B/S三層架構(gòu)的OA系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科技廣場(chǎng),
;?;?;?;?; 2014(5):63-66.
作者簡(jiǎn)介:
王曉妮(1977-),女,碩士,工程師.研究領(lǐng)域:軟件理論與
;?;?;?;?; 應(yīng)用.endprint
B/S結(jié)構(gòu)的系統(tǒng)要時(shí)常和用戶進(jìn)行表單數(shù)據(jù)交互,實(shí)際狀況是填好單個(gè)表單,提交至服務(wù)器,該數(shù)據(jù)被獲取后再被寫入Database中。因前面已對(duì)每個(gè)Data Model定義了具體的DBModel,這能自動(dòng)實(shí)現(xiàn)保存和刪除數(shù)據(jù)等操作。而表單提交的數(shù)據(jù)和DBModel之間的關(guān)聯(lián)建立靠DBForm來(lái)實(shí)現(xiàn),也能進(jìn)行數(shù)據(jù)的效驗(yàn),程序開(kāi)發(fā)的效率得到了提高,重復(fù)的代碼也能避免出現(xiàn)。
4.3?;?; 視圖的實(shí)現(xiàn)
前臺(tái)界面的展示由View來(lái)完成,采用了Velocity模板進(jìn)行前臺(tái)界面的展示是為了將業(yè)務(wù)代碼與展示部分徹底分開(kāi)。對(duì)模板文件的渲染由Velocity采用純文本方式,也做了一些變量的簡(jiǎn)單處理。為了提高代碼的復(fù)用性,封裝了View層的代碼,構(gòu)成這個(gè)統(tǒng)一InhopeVelocity,它能實(shí)現(xiàn)了初始化和添加對(duì)象這兩種方法。該方法完成初始化Velocity模板引擎和一些系統(tǒng)常用參數(shù),能在模板引擎中添加各種變量,在模板文件中方便調(diào)用。
4.4?;?; 控制器的實(shí)現(xiàn)
業(yè)務(wù)邏輯控制頁(yè)面的跳轉(zhuǎn)由控制器完成,采用了Servlet實(shí)現(xiàn)業(yè)務(wù)邏輯的控制有效的降低Controller的復(fù)雜性。在控制器中,先要對(duì)DBMmodel和View對(duì)象初始化,輸出不同的View決定于DBMmodel的執(zhí)行結(jié)果,View與Model的結(jié)合和一個(gè)完整的MVC模式由此誕生了。
5?;?; 結(jié)論(Conclusion)
針對(duì)目前高校的實(shí)際業(yè)務(wù)需求,設(shè)計(jì)和實(shí)現(xiàn)了OA系統(tǒng),提供了無(wú)紙化和數(shù)字化辦公環(huán)境,解決了資源共享[3]和信息實(shí)時(shí)交流的問(wèn)題。
參考文獻(xiàn)(References)
[1] 賈文海.辦公自動(dòng)化系統(tǒng)在高校信息化中的應(yīng)用[J].數(shù)字技術(shù)
;?;?;?;?; 與應(yīng)用,2014(5):221.
[2] 陸惠.基于J2EE體系結(jié)構(gòu)的OA系統(tǒng)研究與實(shí)現(xiàn)[J].電腦知識(shí)
;?;?;?;?; 與技術(shù),2010(10):8006-8007.
[3] 李莉.基B/S三層架構(gòu)的OA系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科技廣場(chǎng),
;?;?;?;?; 2014(5):63-66.
作者簡(jiǎn)介:
王曉妮(1977-),女,碩士,工程師.研究領(lǐng)域:軟件理論與
;?;?;?;?; 應(yīng)用.endprint
B/S結(jié)構(gòu)的系統(tǒng)要時(shí)常和用戶進(jìn)行表單數(shù)據(jù)交互,實(shí)際狀況是填好單個(gè)表單,提交至服務(wù)器,該數(shù)據(jù)被獲取后再被寫入Database中。因前面已對(duì)每個(gè)Data Model定義了具體的DBModel,這能自動(dòng)實(shí)現(xiàn)保存和刪除數(shù)據(jù)等操作。而表單提交的數(shù)據(jù)和DBModel之間的關(guān)聯(lián)建立靠DBForm來(lái)實(shí)現(xiàn),也能進(jìn)行數(shù)據(jù)的效驗(yàn),程序開(kāi)發(fā)的效率得到了提高,重復(fù)的代碼也能避免出現(xiàn)。
4.3?;?; 視圖的實(shí)現(xiàn)
前臺(tái)界面的展示由View來(lái)完成,采用了Velocity模板進(jìn)行前臺(tái)界面的展示是為了將業(yè)務(wù)代碼與展示部分徹底分開(kāi)。對(duì)模板文件的渲染由Velocity采用純文本方式,也做了一些變量的簡(jiǎn)單處理。為了提高代碼的復(fù)用性,封裝了View層的代碼,構(gòu)成這個(gè)統(tǒng)一InhopeVelocity,它能實(shí)現(xiàn)了初始化和添加對(duì)象這兩種方法。該方法完成初始化Velocity模板引擎和一些系統(tǒng)常用參數(shù),能在模板引擎中添加各種變量,在模板文件中方便調(diào)用。
4.4?;?; 控制器的實(shí)現(xiàn)
業(yè)務(wù)邏輯控制頁(yè)面的跳轉(zhuǎn)由控制器完成,采用了Servlet實(shí)現(xiàn)業(yè)務(wù)邏輯的控制有效的降低Controller的復(fù)雜性。在控制器中,先要對(duì)DBMmodel和View對(duì)象初始化,輸出不同的View決定于DBMmodel的執(zhí)行結(jié)果,View與Model的結(jié)合和一個(gè)完整的MVC模式由此誕生了。
5?;?; 結(jié)論(Conclusion)
針對(duì)目前高校的實(shí)際業(yè)務(wù)需求,設(shè)計(jì)和實(shí)現(xiàn)了OA系統(tǒng),提供了無(wú)紙化和數(shù)字化辦公環(huán)境,解決了資源共享[3]和信息實(shí)時(shí)交流的問(wèn)題。
參考文獻(xiàn)(References)
[1] 賈文海.辦公自動(dòng)化系統(tǒng)在高校信息化中的應(yīng)用[J].數(shù)字技術(shù)
;?;?;?;?; 與應(yīng)用,2014(5):221.
[2] 陸惠.基于J2EE體系結(jié)構(gòu)的OA系統(tǒng)研究與實(shí)現(xiàn)[J].電腦知識(shí)
;?;?;?;?; 與技術(shù),2010(10):8006-8007.
[3] 李莉.基B/S三層架構(gòu)的OA系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科技廣場(chǎng),
;?;?;?;?; 2014(5):63-66.
作者簡(jiǎn)介:
王曉妮(1977-),女,碩士,工程師.研究領(lǐng)域:軟件理論與
;?;?;?;?; 應(yīng)用.endprint