王先平, 胡佳佳, 洪肖梅
(重慶文理學(xué)院軟件工程學(xué)院, 重慶 永川 402160)
?
基于SSH2的教材征訂系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
王先平, 胡佳佳, 洪肖梅
(重慶文理學(xué)院軟件工程學(xué)院, 重慶永川402160)
[摘要]針對高校教材征訂的實(shí)際情況,利用MVC模式,采用分層思想,以SSH2和Oracle等技術(shù)設(shè)計(jì)并實(shí)現(xiàn)教材征訂系統(tǒng).文中探討了系統(tǒng)的主要功能和整體架構(gòu)設(shè)計(jì),并進(jìn)行系統(tǒng)實(shí)現(xiàn).測試結(jié)果表明,系統(tǒng)具有功能完善、穩(wěn)健性強(qiáng)以及可移植好等優(yōu)點(diǎn),可以滿足一般高校教材征訂的需要.
[關(guān)鍵詞]教材征訂;系統(tǒng)設(shè)計(jì);軟件架構(gòu)
隨著信息技術(shù)的不斷發(fā)展,各大高校紛紛推出適合自己的信息管理系統(tǒng),這有利于提高高校內(nèi)部的管理水平和工作效率.校園信息管理已成為衡量一個(gè)學(xué)校教學(xué)質(zhì)量的重要手段.在校園信息化管理中,學(xué)校的教材管理也是一個(gè)重要問題.學(xué)校每學(xué)期期末都需要購買大量下一學(xué)期的教材,根據(jù)每學(xué)期所開設(shè)課程的不同,由教研室主任、系主任組織相關(guān)教師或課程團(tuán)隊(duì)負(fù)責(zé)人訂購大量教科書和學(xué)生用書.現(xiàn)在,這項(xiàng)工作很多學(xué)校都仍然是手工操作,不僅效率低下,而且不能及時(shí)了解教材庫存和領(lǐng)取的具體情況,也不能方便地進(jìn)行相關(guān)數(shù)據(jù)的分析[1-3].因此,設(shè)計(jì)并實(shí)現(xiàn)一個(gè)好的教材管理軟件不僅可以大大降低相關(guān)工作人員的勞動強(qiáng)度,同時(shí)也可以提高學(xué)校的管理效率.
1用戶需求分析
用戶需求分析就是對用戶進(jìn)行調(diào)研,調(diào)研做一個(gè)什么樣的系統(tǒng),即主要功能有哪些,非功能性需求是什么,是否適合用戶的實(shí)際工作需要,同時(shí)也是系統(tǒng)交付的重要依據(jù).因此,軟件系統(tǒng)的成敗在很大程度上取決于用戶需求分析的深度和廣度.
開發(fā)教材征訂系統(tǒng)之前,我們對涉及教材的相關(guān)用戶進(jìn)行了大量調(diào)研.調(diào)研結(jié)果表明:本系統(tǒng)主要有系統(tǒng)管理員、院級管理員和教師用戶3種角色.各角色分別需要完成的功能如下:
(1)系統(tǒng)管理員:對庫存信息管理操作,所有用戶的管理操作,用戶反饋的處理,數(shù)據(jù)的備份還原以及系統(tǒng)的開關(guān)時(shí)間設(shè)定等.
(2)院級管理員:將下學(xué)期的課程錄入系統(tǒng)中并指定教師訂購該課程使用的教科書;將指定教材的信息錄入保存,對自己選定的教材信息有增刪改權(quán)限;查看教材訂購情況,可郵件通知未訂購人員及時(shí)訂購教材,同時(shí)也可查看歷年的教材訂購情況;對本學(xué)院的教師用戶的管理操作.
(3)教師用戶:將指定教材的信息錄入保存,對自己選定的教材信息有增刪改權(quán)限;對本人信息的修改以及反饋;歷史教材訂閱的查閱.
2系統(tǒng)設(shè)計(jì)
通過對用戶的需求分析,采用自頂向下和逐步求精的方法,將本系統(tǒng)劃分為課程管理、教材訂購管理、庫存操作管理、綜合查詢管理以及系統(tǒng)維護(hù)五大模塊.模塊結(jié)構(gòu)圖如圖1所示.
圖1 系統(tǒng)模塊結(jié)構(gòu)圖
(1)用戶登錄模塊
實(shí)現(xiàn)系統(tǒng)管理員、院級管理員、教師用戶的登錄退出系統(tǒng)的功能.登錄要有提示信息,并且各用戶只能進(jìn)行具有相應(yīng)權(quán)限的操作.
(2)課程管理模塊
按照專業(yè)人才培養(yǎng)方案中的課程計(jì)劃進(jìn)行本學(xué)期課程的導(dǎo)入以及增刪改基本操作,并指定每門課程的教材選定人員.
(3)教材訂購模塊
主要是教師根據(jù)管理員分配的任務(wù)查看自己應(yīng)處理的教材,實(shí)現(xiàn)對特定課程教材的選定功能,并對所選的教材有增刪改操作權(quán)限.
(4)查詢統(tǒng)計(jì)報(bào)表模塊
包括實(shí)現(xiàn)歷年教材訂購的情況查詢以及課程的開設(shè)情況查詢,包括對本學(xué)期教材的訂購情況并實(shí)現(xiàn)郵件通知未訂購教師用戶及時(shí)訂購的郵件通知功能.
(5)庫存管理模塊
包括庫存的出入情況以及教材的領(lǐng)取與退訂功能.
(6)系統(tǒng)維護(hù)模塊
用戶管理:對用戶基本信息、密碼的錄入、修改、刪除以及權(quán)限分配等功能.
系統(tǒng)各用戶維護(hù)自己的基本信息,包括修改密碼等功能的實(shí)現(xiàn).
對數(shù)據(jù)庫的備份和恢復(fù)功能.
(7)打印模塊
根據(jù)教材征訂情況,統(tǒng)計(jì)征訂記錄,實(shí)現(xiàn)購書單、領(lǐng)書單的打印功能.
在信息管理系統(tǒng)中,數(shù)據(jù)庫的設(shè)計(jì)占據(jù)相當(dāng)?shù)牡匚?,?shù)據(jù)庫設(shè)計(jì)的好壞直接決定了系統(tǒng)的相應(yīng)性能.在數(shù)據(jù)庫的設(shè)計(jì)中,概要結(jié)構(gòu)設(shè)計(jì)尤為重要. E-R圖是用來描述數(shù)據(jù)之間聯(lián)系的有效方法, 有實(shí)體、屬性、聯(lián)系3種基本成分[4].系統(tǒng)根據(jù)數(shù)據(jù)庫設(shè)計(jì)的原則,在遵循數(shù)據(jù)庫設(shè)計(jì)范式理論的同時(shí)又結(jié)合實(shí)際功能的需要, 按照數(shù)據(jù)庫設(shè)計(jì)的步驟進(jìn)行詳細(xì)設(shè)計(jì).經(jīng)數(shù)據(jù)模型分析與設(shè)計(jì),部分關(guān)系模式如下:
(1)課程表(course):{課程編號,課程名,系院編號,用戶編號,年級,專業(yè),備注}
此為課程表實(shí)體對應(yīng)的關(guān)系模式,其中課程編號為主碼,用戶編號、系院編號為外碼.
(2)教材信息(textbook):{教材編號,教材名稱,作者,出版社,單價(jià),課程編號,訂購數(shù)量,狀態(tài),教材描述}
此為教材實(shí)體對應(yīng)的關(guān)系模式,其中教材編號為主碼,課程編號是外碼,其他一些冗余信息刪除.
(3)庫存信息表(bookstore):{庫存編號,教材編號,當(dāng)前庫存數(shù),備注}
此為庫存單實(shí)體對應(yīng)的關(guān)系模式,其中庫存編號為主碼,教材編號是外碼.
(4)庫存操作明細(xì)(bookstoredetail):{明細(xì)編號,庫存編號,出入庫類型,出入庫數(shù)量,操作時(shí)間,操作原因,備注}
良好的架構(gòu)和編程風(fēng)格有利于系統(tǒng)的穩(wěn)健性和可維護(hù)性.本系統(tǒng)采用MVC模式和分層結(jié)構(gòu),嚴(yán)格按企業(yè)級軟件開發(fā)的規(guī)范來設(shè)計(jì),采用JSP、SSH2(Struts2、Spring、Hibernate)和Ajax等技術(shù)來實(shí)現(xiàn)[5,6].
(1)數(shù)據(jù)訪問層(Dao):該層也是面向接口編程,即分為數(shù)據(jù)訪問接口和數(shù)據(jù)訪問接口實(shí)現(xiàn)兩部分.利用Hibernate3來實(shí)現(xiàn)ORM,非常方便地完成對數(shù)據(jù)庫的操作.
(2)業(yè)務(wù)邏輯層(Biz或Service):該層是面向接口編程,即分為業(yè)務(wù)接口和業(yè)務(wù)接口實(shí)現(xiàn)兩部分.該層主要是調(diào)用數(shù)據(jù)訪問層的方法進(jìn)行業(yè)務(wù)實(shí)現(xiàn).
(3)控制層(Controller):本系統(tǒng)采用Struts2作為控制層,功能是接(相關(guān)頁面)收用戶輸入,然后調(diào)用業(yè)務(wù)邏輯的方法進(jìn)行處理,根據(jù)調(diào)用執(zhí)行的結(jié)果轉(zhuǎn)到相應(yīng)頁面.
(4)視圖層(View):利用JSP+EL+JSTL來實(shí)現(xiàn),主要功能是提供輸入界面和進(jìn)行結(jié)果顯示.
(5)事務(wù)管理和依賴注入:由Spring來完成申明式事務(wù)管理和依賴注冊,用戶在程序中不必考慮事務(wù)問題,大大簡化了編程的復(fù)雜度.
(6)局部刷新:采用Jquery+Json來實(shí)現(xiàn),增強(qiáng)了用戶體驗(yàn)功能.
3系統(tǒng)實(shí)現(xiàn)
本系統(tǒng)開發(fā)環(huán)境是在Windows 2000+Tomcat7+JDK1.6上使用MyEclipse8.6集成開發(fā)環(huán)境,使用Oracle11g作為后臺數(shù)據(jù)庫存儲,以Java+JSP為開發(fā)語言,利用Struts2+Spring3+Hibernate3.x框架技術(shù)的有效集成進(jìn)行快捷、高效的實(shí)現(xiàn)[6].
事務(wù)處理適用多表作為一個(gè)整體操作,也是編程時(shí)必須考慮的事情之一.本系統(tǒng)充分利用Spring對申明式事務(wù)的支持,它以方法為單位進(jìn)行事務(wù)控制,只需在系統(tǒng)配置文件中配置.程序員在程序編碼時(shí)可以不關(guān)心事務(wù),可以一心一意地進(jìn)行業(yè)務(wù)編碼.Spring框架對事務(wù)管理進(jìn)行了高層次的抽象,可以使用AOP框架進(jìn)行申明式事務(wù)管理.本系統(tǒng)的Spring申明式事務(wù)管理配置片段如下:
圖2 課程管理界面
本系統(tǒng)功能模板較多,本文以課程管理為例介紹系統(tǒng)實(shí)現(xiàn).
課程管理模塊實(shí)現(xiàn)了課程的添加、修改以及刪除功能,并能通過關(guān)鍵值檢索內(nèi)容.如圖2.
實(shí)現(xiàn)關(guān)鍵代碼(CourseAction.java類)如下:
public String findCourses(){
try {
Long count=courseService.getQueryCount(queryParam);
pv = new PageView
……
ActionContext.getContext().put(“pv”,pv);
……
} catch (Exception e) {
ajaxResponse.setResponse(“300”,“操作失敗”);
e.printStackTrace();
}
}
4系統(tǒng)測試及分析
系統(tǒng)編碼完成后,必須進(jìn)行軟件測試.軟件測試是為了在軟件交付前盡可能多地發(fā)現(xiàn)錯(cuò)誤,排除潛伏的錯(cuò)誤,從而提高整個(gè)系統(tǒng)的質(zhì)量.本系統(tǒng)經(jīng)過嚴(yán)格測試,測試結(jié)果表明本系統(tǒng)是成功的.它主要具有以下特點(diǎn):
(1)可維護(hù)性好.由于采用MVC模式和多層結(jié)構(gòu),嚴(yán)格按企業(yè)級軟件開發(fā)標(biāo)準(zhǔn)進(jìn)行設(shè)計(jì)與實(shí)現(xiàn),為后期的維護(hù)和進(jìn)一步升級奠定了基礎(chǔ).
(2)健壯性較好.系統(tǒng)采用和Oracle重量級數(shù)據(jù)庫和目前主流SSH2輕量級框架技術(shù)進(jìn)行架構(gòu)和實(shí)現(xiàn),系統(tǒng)的穩(wěn)固性得到保障.
(3)系統(tǒng)交互性好.AJAX主要用Jquery+Json技術(shù)實(shí)現(xiàn),實(shí)現(xiàn)系統(tǒng)局部交互和刷新,增強(qiáng)了用戶體驗(yàn),提高了系統(tǒng)良好的交互效果,同時(shí)也提高了系統(tǒng)性能.
5結(jié)語
該系統(tǒng)作為高校數(shù)字化校園的一部分,以教學(xué)執(zhí)行部門的教材征訂信息化為目標(biāo),基于SSH2實(shí)現(xiàn)的教材征訂管理系統(tǒng),包括課程管理、教材訂購管理、庫存管理、綜合查詢管理、用戶管理等模塊,具有操作簡單、界面友善、靈活性好、運(yùn)行穩(wěn)定等特點(diǎn),可以滿足高校教材征訂的需要,并且對其它相關(guān)信息系統(tǒng)的建設(shè)有一定的借鑒意義.
[參考文獻(xiàn)]
[1]姜峰,徐海英,譚平,等.淺談高校教材管理的現(xiàn)狀與發(fā)展[J].經(jīng)濟(jì)師,2011(7):104-105.
[2]劉中秋.B/S 模式下教材管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科技資訊,2010(6):10-11.
[3]戴柯峰. 基于B /S 構(gòu)架的教材管理系統(tǒng)的設(shè)計(jì)[J].河南科技,2013(3):224-225.
[4]王珊, 薩師煊. 數(shù)據(jù)庫系統(tǒng)概論[M] . 北京: 高等教育出版社, 2006: 237- 258.
[5]閆丹.基于JSP畢業(yè)設(shè)計(jì)選題管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].重慶文理學(xué)院學(xué)報(bào),2013(3):92-95.
[6]李剛.輕量級Java EE企業(yè)應(yīng)用實(shí)戰(zhàn)Struts 2+Spring 3+Hibernate整合開發(fā)[M]. 北京:電子工業(yè)出版社,2011.
(責(zé)任編輯穆剛)
Design and implementation of textbook ordering system based on SSH2
WANG Xianping, HU Jiajia, HONG Xiaomei
(College of Software Engineering, Chongqing University of Arts and Sciences, Yongchuan Chongqing 402160, China)
Abstract:According to the actual situation of college textbook subscriptions, and in the MVC model, using hierarchical thinking, SSH2 and Oracle technology are used to design and realize the textbook ordering system. This paper discusses the main functions and the overall system architecture design, and system implementation. System test results show that: it has a perfect function, robustness and portability advantages, suitable for general college textbook subscriptions.
Key words:textbook ordering; system design; software architecture
[中圖分類號]TP311
[文獻(xiàn)標(biāo)志碼]A
[文章編號]1673-8004(2015)05-0130-04
[作者簡介]王先平(1972-),男,重慶合川人,講師,工學(xué)碩士,主要從事SOA及計(jì)算機(jī)應(yīng)用技術(shù)方面的研究.
[基金項(xiàng)目]重慶文理學(xué)院學(xué)生科研項(xiàng)目(XZ20120020);重慶市大學(xué)生創(chuàng)新創(chuàng)業(yè)項(xiàng)目(201310642006); 重慶市教委教育教學(xué)改革資助項(xiàng)目(1203197);國家級創(chuàng)新創(chuàng)業(yè)訓(xùn)練項(xiàng)目(201310642002);永川區(qū)自科基金項(xiàng)目(YCSTC2013NC8002);重慶文理學(xué)院校級科研項(xiàng)目(Z2013RJ14).
[收稿日期]2014-09-08