董 萍
三門峽職業(yè)技術(shù)學(xué)院是集教學(xué)研究、技術(shù)培訓(xùn)、項(xiàng)目開發(fā)、技術(shù)服務(wù)為一體的高等專科院校,最初的辦公管理存在管理復(fù)雜、煩瑣及信息冗余等弊端.隨著計(jì)算機(jī)的普及和學(xué)院對(duì)協(xié)同辦公要求的提高,對(duì)日常辦公、基礎(chǔ)信息管理、信息交流、即時(shí)溝通、數(shù)據(jù)共享、移動(dòng)辦公等方面提出了更進(jìn)一步的需求.針對(duì)這一需求,筆者設(shè)計(jì)了融合最新辦公自動(dòng)化理念,能夠支持智能查找、動(dòng)態(tài)報(bào)表、及時(shí)交流等功能的學(xué)工管理系統(tǒng).該系統(tǒng)能客觀地反映學(xué)工管理系統(tǒng)中存在的問題,為決策提供重要依據(jù),從而提高管理的科學(xué)性、針對(duì)性和高效率.
SSH是Struts、Spring、Hibernate三種技術(shù)的簡(jiǎn)稱,是目前軟件開發(fā)人員使用比較高的Web應(yīng)用程序開源框架,該框架繼承了J2EE的分層架構(gòu)模式,其框架中的業(yè)務(wù)邏輯的實(shí)現(xiàn)是通過Java對(duì)象完成[1].其中Struts框架是一種擁有Java類、servlet類和Jsp頁面的可重復(fù)使用的MVC框架,具有程序可讀性好、系統(tǒng)可維護(hù)性強(qiáng)、程序間各個(gè)層次的耦合度低的優(yōu)點(diǎn).Spring框架是一種基于JavaBean的由七個(gè)模塊構(gòu)成的分層框架技術(shù).Hibernate是一個(gè)面向Java環(huán)境的對(duì)象/關(guān)系數(shù)據(jù)庫(kù)映射工具,是一個(gè)開放源碼的ORM數(shù)據(jù)訪問層框架[2].
SSH框架將服務(wù)器端應(yīng)用分為DAO層、Service層、Action控制層、Spring容器層、視圖層,各層之間通過接口聯(lián)系.在該框架中,DAO層完成數(shù)據(jù)庫(kù)增加、刪除、修改等細(xì)節(jié),并將底層數(shù)據(jù)庫(kù)訪問操作和業(yè)務(wù)邏輯分開,對(duì)業(yè)務(wù)層提供面向?qū)ο蟮脑L問接口.Service業(yè)務(wù)層提供了處理應(yīng)用程序的業(yè)務(wù)邏輯和業(yè)務(wù)校驗(yàn).控制層的控制器Action接受用戶的輸入并調(diào)用業(yè)務(wù)層的業(yè)務(wù)方法和表示層的組件去完成用戶的請(qǐng)求.服務(wù)器的各種組件的生成都是由Spring容器來控制,Spring容器提供了依賴注入、實(shí)例管理、事務(wù)處理等服務(wù).視圖層是用戶看到并與之交互的界面,視圖向用戶顯示相關(guān)的數(shù)據(jù),并能接受用戶的輸入數(shù)據(jù),但不能進(jìn)行任何實(shí)際的業(yè)務(wù)處理[3,4].SSH2架構(gòu)設(shè)計(jì)圖如圖1所示.
圖1 SSH架構(gòu)設(shè)計(jì)圖
通過用戶訪談、收集資料、問卷調(diào)查、小組會(huì)議的需求捕獲技術(shù)對(duì)學(xué)工管理系統(tǒng)進(jìn)行需求獲取.準(zhǔn)確的需求分析可以減少系統(tǒng)的開發(fā)周期,降低系統(tǒng)開發(fā)成本和維護(hù)成本.
目前高校對(duì)學(xué)工管理的主要方式仍以人工為主,使用計(jì)算機(jī)系統(tǒng)較少.因此每年高校在學(xué)工管理工作上所花費(fèi)的時(shí)間和精力非常大,并且這個(gè)比例隨著學(xué)生人數(shù)的增加呈現(xiàn)越來越高的趨勢(shì).為了降低學(xué)生管理成本,提高學(xué)生管理效率,提升學(xué)生管理品質(zhì),實(shí)現(xiàn)國(guó)家提出的和諧校園基本思想,需要設(shè)計(jì)一款適合普通高校使用的學(xué)工管理系統(tǒng).
用例圖確定需求的范圍,這些需求是設(shè)計(jì)開發(fā)的依據(jù).用例圖將系統(tǒng)看作黑盒,從外部執(zhí)行者的角度來理解系統(tǒng).圖中的用例是用戶與計(jì)算機(jī)之間一次典型的交互作用,在UML中,用例表示為一個(gè)橢圓,執(zhí)行者是指用戶在系統(tǒng)中用類似人的圖形來表示的[5,6].
學(xué)工管理系統(tǒng)模塊主要有:人員角色管理、角色管理、權(quán)限管理、角色權(quán)限管理、分欄管理、部門管理和學(xué)生登錄信息管理功能.根據(jù)學(xué)工管理系統(tǒng)項(xiàng)目需求分析,得出系統(tǒng)主要用例圖,如圖2所示.主要角色(Actor)包括系統(tǒng)管理員、學(xué)工管理員、班主任、學(xué)生.
圖2 系統(tǒng)管理用例
基于SSH框架的學(xué)工管理系統(tǒng)的硬件系統(tǒng)架構(gòu)如圖3所示.根據(jù)該系統(tǒng)整體需求,基于SSH架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)的學(xué)工管理系統(tǒng)主要五大功能模塊,如圖4所示.
圖3 硬件系統(tǒng)架構(gòu)圖
一個(gè)優(yōu)秀的軟件系統(tǒng)具有接口豐富、易開發(fā)和易維護(hù)的特點(diǎn).模塊化是實(shí)現(xiàn)這些特性的前提.因此在設(shè)計(jì)本系統(tǒng)軟件架構(gòu)時(shí)充分利用模塊化概念能夠更有利于實(shí)現(xiàn)上述軟件特性.
圖4 系統(tǒng)管理功能結(jié)構(gòu)圖
軟件系統(tǒng)主要由GUI層、業(yè)務(wù)邏輯層、數(shù)據(jù)處理層和數(shù)據(jù)庫(kù)層四個(gè)層次組成.
首先,GUI層是面向用戶的,向用戶提供Web使用界面,主要包含功能集合樹、顯示表、各功能輸入、查詢、修改模版等.用戶在GUI層可以與系統(tǒng)進(jìn)行各種交互,使用系統(tǒng)的各種功能.其次,是業(yè)務(wù)邏輯層.業(yè)務(wù)邏輯層主要對(duì)用戶的各項(xiàng)請(qǐng)求進(jìn)行業(yè)務(wù)分類,并進(jìn)入對(duì)應(yīng)的業(yè)務(wù)處理邏輯中對(duì)GUI的請(qǐng)求進(jìn)行處理,實(shí)現(xiàn)邏輯上的處理.再次,是數(shù)據(jù)處理層.這層實(shí)現(xiàn)對(duì)數(shù)據(jù)的處理.針對(duì)數(shù)據(jù)的處理,在本層實(shí)現(xiàn)了與業(yè)務(wù)相關(guān)的數(shù)據(jù)處理和數(shù)據(jù)庫(kù)訪問函數(shù),實(shí)現(xiàn)對(duì)數(shù)據(jù)的處理和訪問.最后,是數(shù)據(jù)庫(kù)層.在本層實(shí)現(xiàn)了數(shù)據(jù)庫(kù)的所有數(shù)據(jù)表和數(shù)據(jù)關(guān)系.軟件系統(tǒng)設(shè)計(jì)架構(gòu)圖如圖5所示.
圖5 軟件系統(tǒng)設(shè)計(jì)架構(gòu)圖
由于前三層和數(shù)據(jù)庫(kù)層實(shí)際運(yùn)行在兩臺(tái)不同的硬件計(jì)算機(jī)上,因此它們之間的通信是建立在數(shù)據(jù)庫(kù)中間件的基礎(chǔ)上.中間件是負(fù)責(zé)管理Web服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器之間通信并提供應(yīng)用程序服務(wù)的一種服務(wù)程序.由于中間件是駐留在Web服務(wù)器上,因此這種軟件能夠調(diào)用原本作為Web服務(wù)器數(shù)據(jù)庫(kù)服務(wù)器間的外部程序或代碼,這樣可以讓程序設(shè)計(jì)更加靈活.中間件可以進(jìn)行查詢.通過將查詢傳遞到數(shù)據(jù)庫(kù)并將輸出編排為HTML頁面的方式來工作.隨后只需由Web服務(wù)器將HTML頁面返回到Web瀏覽器,從而將信息顯示給最終用戶.
數(shù)據(jù)庫(kù)設(shè)計(jì)的好壞直接影響著系統(tǒng)的開發(fā)與設(shè)計(jì).在學(xué)工管理系統(tǒng)中,數(shù)據(jù)庫(kù)設(shè)計(jì)主要是用SQL Server 2008進(jìn)行設(shè)計(jì)的,在設(shè)計(jì)的前期還運(yùn)用了Powerdesigner進(jìn)行數(shù)據(jù)庫(kù)的輔助設(shè)計(jì).一個(gè)好的學(xué)工管理系統(tǒng)需要有一個(gè)健壯的數(shù)據(jù)庫(kù)來支持,因此,數(shù)據(jù)庫(kù)的設(shè)計(jì)是基于SSH的學(xué)工管理系統(tǒng)設(shè)計(jì)的重點(diǎn)之一.在Web系統(tǒng)中,后臺(tái)程序使用SQL語句對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢和讀寫來完成用戶的操作.
3.2.1 數(shù)據(jù)庫(kù)系統(tǒng)需求分析
數(shù)據(jù)庫(kù)模型主要參考軟件模型的模塊化設(shè)計(jì),對(duì)管理對(duì)象進(jìn)行抽象,分離出不同的系統(tǒng)表來進(jìn)行管理.根據(jù)分析,可以建立學(xué)生基本信息表、專業(yè)表、課程表、成績(jī)表、學(xué)分表、畢業(yè)信息表、辦公行政表等.以學(xué)生為對(duì)象的數(shù)據(jù)組成關(guān)系圖如圖6所示.
圖6 以學(xué)生為對(duì)象的數(shù)據(jù)組成關(guān)系圖
3.2.2 數(shù)據(jù)庫(kù)的設(shè)計(jì)過程
數(shù)據(jù)庫(kù)的設(shè)計(jì)結(jié)構(gòu)是否合理、功能是否齊全直接影響到本系統(tǒng)設(shè)計(jì)應(yīng)用程序的性能.因此,在設(shè)計(jì)過程中需要嚴(yán)格按照確定用戶需求→數(shù)據(jù)概念模型的設(shè)計(jì)→邏輯結(jié)構(gòu)的實(shí)現(xiàn)三個(gè)步驟進(jìn)行.在數(shù)據(jù)庫(kù)設(shè)計(jì)過程中,通過對(duì)應(yīng)用環(huán)境和項(xiàng)目要求進(jìn)行詳盡的調(diào)查分析,使用多層數(shù)據(jù)流圖和數(shù)據(jù)字典描述整個(gè)系統(tǒng),并設(shè)計(jì)學(xué)務(wù)管理系統(tǒng)的E-R圖.通過對(duì)學(xué)院學(xué)工管理系統(tǒng)的需求進(jìn)行分析和聯(lián)系之后,可以得到數(shù)據(jù)庫(kù)系統(tǒng)的E-R圖.以該系統(tǒng)的成績(jī)管理子用例的E-R圖為例,如圖7所示.
3.2.3 數(shù)據(jù)庫(kù)關(guān)鍵表單的設(shè)計(jì)
表單是數(shù)據(jù)庫(kù)中所有的數(shù)據(jù)庫(kù)對(duì)象,其設(shè)計(jì)工作直接影響著后期的操作.根據(jù)系統(tǒng)設(shè)計(jì)的需要將各個(gè)分E-R圖對(duì)系統(tǒng)進(jìn)行表單設(shè)計(jì).在一個(gè)關(guān)系數(shù)據(jù)庫(kù)的表單中,數(shù)據(jù)按照類似于Excel表格的方式組織,按行組成記錄,每一列為一個(gè)字段.因此,在學(xué)工管理系統(tǒng)的設(shè)計(jì)過程中,設(shè)計(jì)人員需要根據(jù)系統(tǒng)需要對(duì)表單的形式、字段的名稱、類型、長(zhǎng)度、主鍵和外鍵等信息進(jìn)行設(shè)計(jì).
圖7 成績(jī)管理子用例的E-R圖
以用戶信息表為例進(jìn)行說明.一個(gè)用戶信息表包括編號(hào)、姓名、性別、出生日期、手機(jī)號(hào)、固定電話、電子郵箱、QQ、家庭信息這幾項(xiàng)信息,本文設(shè)計(jì)了表1作為用戶信息表.
表1 _用戶信息表
其他諸如角色表、權(quán)限角色表、權(quán)限表、分欄表、部門表與上述用戶表類似,這里就不贅述了.
系統(tǒng)模塊中共涉及七張核心表,同時(shí)它也不同程度的和教師用戶,學(xué)生用戶表之間都有相關(guān)的聯(lián)系,分別是:角色表、權(quán)限角色表、用戶表、權(quán)限表、用戶信息表、分欄表、部門表,Powerdesigner中的系統(tǒng)管理pdm表結(jié)構(gòu)如圖8所示.
主要從開發(fā)平臺(tái)、程序結(jié)構(gòu)圖、項(xiàng)目模塊頁面幾方面進(jìn)行詳細(xì)說明.
圖8 pdm表結(jié)構(gòu)圖
圖9 cdm表結(jié)構(gòu)圖
3.4.1 開發(fā)平臺(tái)
學(xué)工管理系統(tǒng)采用Tomcat作為服務(wù)器、SQL Server2008作為數(shù)據(jù)庫(kù)系統(tǒng)、Windows XP作為操作系統(tǒng)、pring2.0+Hibernate+JavaScript+struts2作為平臺(tái)技術(shù)支持進(jìn)行系統(tǒng)開發(fā).
3.4.2 程序結(jié)構(gòu)圖
程序結(jié)構(gòu)圖如圖10所示.
圖10 stu OA程序結(jié)構(gòu)圖
stu OA為項(xiàng)目的名稱,也是項(xiàng)目的根目錄.Web Root為Web目錄,包括圖片目錄images和JSP文件.WEB-INF目錄、lib目錄及web.xml依然為固定的目錄和文件.Src目錄包含類似Action包、Service包、DAO包、Test包、Model包等包文件和 applicationContext.xml、struts.properties、struts.xml等配置文件.
3.4.3 項(xiàng)目模塊頁面
在電影《瘋狂的石頭》中,一塊價(jià)值連城的祖母綠讓眾人為之瘋狂,在現(xiàn)實(shí)生活中,也有一種這樣的寶貝,從二十幾年前的每塊三、五元,飆升到現(xiàn)在的每克拉千元以上,價(jià)格數(shù)十倍于黃金。20多年間其身價(jià)翻了上千倍,讓不少當(dāng)?shù)乩习傩铡氨└弧?,出現(xiàn)拿一塊石頭換一輛寶馬車甚至一套好房子的現(xiàn)象……而造就這一切的,就是昌樂藍(lán)寶石。
學(xué)工管理系統(tǒng)的核心模塊是系統(tǒng)的管理功能,該功能主要是針對(duì)用戶權(quán)限進(jìn)行管理的.該系統(tǒng)有學(xué)生、班主任、學(xué)工管理員、系統(tǒng)管理員等不同的用戶,用戶不同權(quán)限就不同.
⑴ 系統(tǒng)用戶登錄頁面
根據(jù)用戶的類型不同,進(jìn)入不同的操作界面.
圖11 系統(tǒng)用戶登錄頁面
(2)人員角色添加管理頁面
點(diǎn)擊“添加”鏈接,如圖12,管理員對(duì)系統(tǒng)中各角色的用戶進(jìn)行添加.
圖12 人員角色添加管理頁面
測(cè)試環(huán)境的配置按照下面四個(gè)步驟進(jìn)行:
(1)安裝JDK和 My Eclipse6.5、Tomcat6.0、SQL Server2008;
(2)在tomcat6.0下的webapps目錄下將stu OA.war拷到下面;
(3)啟動(dòng)tomca,在登錄http://ip地址:8080/stu OA/login.jsp后到達(dá)項(xiàng)目根目錄;
(4)發(fā)布成功后即可進(jìn)入登錄頁面.
以用戶管理信息系統(tǒng)為例進(jìn)行測(cè)試,本模塊使用等價(jià)值劃分法、邊界值法和場(chǎng)景法進(jìn)行測(cè)試.首先進(jìn)行測(cè)試項(xiàng)等價(jià)類劃分,由于測(cè)試項(xiàng)眾多,因此只列出典型值作為示例.如表2所示.
表2 用戶管理信息系統(tǒng)等價(jià)值劃分表
將表2中的最大值、最小值進(jìn)行提取,就可以得到邊界值.經(jīng)過測(cè)試,用戶管理信息系統(tǒng)工作正常,對(duì)各種有效輸入響應(yīng)結(jié)果與預(yù)期一致.
系統(tǒng)的性能測(cè)試主要是對(duì)多用戶并發(fā)時(shí)在系統(tǒng)響應(yīng)速度、資源使用情況、網(wǎng)絡(luò)吞吐量方面進(jìn)行的測(cè)試,主要是為了檢驗(yàn)系統(tǒng)性能是否符合設(shè)計(jì)需求.目前,Load Runner是業(yè)界公認(rèn)的測(cè)試軟件,該軟件能夠通過模擬實(shí)際用戶的操作行為和實(shí)行實(shí)時(shí)性能監(jiān)測(cè)的方式來確認(rèn)和查找問題,是一種預(yù)測(cè)系統(tǒng)行為和性能的負(fù)載測(cè)試工具,能夠?qū)φ麄€(gè)企業(yè)架構(gòu)進(jìn)行測(cè)試.基于SSH框架的學(xué)工管理系統(tǒng)的性能測(cè)試結(jié)果如圖13所示.
圖13 基于SSH框架的學(xué)工管理系統(tǒng)的性能測(cè)試結(jié)果
本系統(tǒng)提出了以SSH2框架作為開發(fā)技術(shù)、SQL Server2008數(shù)據(jù)庫(kù)作為數(shù)據(jù)庫(kù)系統(tǒng)、Tomcat作為服務(wù)器、Windows XP作為操作系統(tǒng)、Spring2.0+Hibernate+JavaScript+struts2作為平臺(tái)技術(shù)支持的基本方案.首先對(duì)高校學(xué)工管理系統(tǒng)的現(xiàn)狀進(jìn)行分析,指出基于SSH框架的系統(tǒng)設(shè)計(jì)架構(gòu)、數(shù)據(jù)庫(kù)設(shè)計(jì)和系統(tǒng)的實(shí)現(xiàn)過程,并對(duì)系統(tǒng)進(jìn)行測(cè)試驗(yàn)證.實(shí)驗(yàn)證明該系統(tǒng)具有界面友好、使用方便、設(shè)計(jì)先進(jìn)、通用性好的特點(diǎn),基本達(dá)到系統(tǒng)預(yù)期的設(shè)計(jì)目標(biāo).但由于系統(tǒng)設(shè)計(jì)時(shí)采用的基礎(chǔ)構(gòu)件較為簡(jiǎn)單,易于調(diào)整設(shè)計(jì),因此對(duì)于后續(xù)的開發(fā)者可以根據(jù)實(shí)際情況大幅度地修改系統(tǒng),以滿足不同院校或機(jī)構(gòu)對(duì)不同管理的需求.
參考文獻(xiàn):
[1]馮鵬.基于SSH的教務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].電子科技大學(xué),2008.
[2]董萍.基于B/S模型的高校學(xué)務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].沈陽工程學(xué)院學(xué)報(bào):自然科學(xué)版,2014,10(03):260-265,270.
[3]秦衡.基于SSH2的學(xué)生信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科技信息,2010(1):833,817.
[4]林喆.基于SSH架構(gòu)的學(xué)生信息化管理軟件的設(shè)計(jì)與實(shí)現(xiàn)[D].電子科技大學(xué),2011.
[5]張興科.基于J2EE的框架技術(shù)研究與應(yīng)用[J].計(jì)算機(jī)與數(shù)字工程,2011,39(06):68-71.
[6]劉茜.基于SSH框架畢業(yè)實(shí)習(xí)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].廈門大學(xué),2014.
周口師范學(xué)院學(xué)報(bào)2015年2期