查英華
摘 要:俱樂(lè)部是企業(yè)豐富員工業(yè)余生活的一種有效方式。本文對(duì)俱樂(lè)部管理系統(tǒng)系統(tǒng)需求和總體框架進(jìn)行了分析,本系統(tǒng)基于B/S模式,采用SSH技術(shù)和Bootstrap前端框架,并且給出了詳細(xì)的設(shè)計(jì)過(guò)程。本系統(tǒng)對(duì)公司內(nèi)部的俱樂(lè)部和活動(dòng)安排進(jìn)行管理,以滿足公司文化的建設(shè)需要。
關(guān)鍵詞:SSH技術(shù);管理系統(tǒng);Bootstrap
中圖分類號(hào):TP319 文獻(xiàn)標(biāo)識(shí)碼:A
Design of Club Management System Based on SSH Framework
ZHA Yinghua
(School of Computer and Software,Nanjing Institute of Industry Technology,Nanjing 210023,China)
Abstract:Club is an effective way to enrich amateur life for enterprise employees.In this paper,the club management system requirements and general framework are proposed.This system is used SSH technology and Bootstrap front-end framework based on B/S model,and a detailed design process is described.The company's internal clubs and activities are managed by this system for the needs of the construction of company culture.
Keywords:SSH technology;management system;bootstrap
1 引言(Introduction)
隨著互聯(lián)網(wǎng)行業(yè)規(guī)模的擴(kuò)大,IT企業(yè)間的競(jìng)爭(zhēng)越發(fā)激烈,為了增強(qiáng)公司的行業(yè)競(jìng)爭(zhēng)力,減少公司的人才流失,降低離職率,大多數(shù)IT公司都會(huì)建立形形色色的俱樂(lè)部,如:籃球、羽毛球、臺(tái)球、攀巖、自行車等,旨在豐富員工的業(yè)余生活,增加項(xiàng)目組成員間的了解,提高企業(yè)員工的凝聚力,對(duì)企業(yè)文化建立也有積極的推動(dòng)作用。為了便于對(duì)俱樂(lè)部的成員、費(fèi)用、活動(dòng)安排等進(jìn)行管理,開(kāi)發(fā)一個(gè)用于公司內(nèi)部的俱樂(lè)部管理系統(tǒng),將每次活動(dòng)的具體安排、費(fèi)用開(kāi)銷告知俱樂(lè)部成員,并對(duì)活動(dòng)的照片、視頻等進(jìn)行分享,吸引更多的成員加入。
本文主要針對(duì)公司內(nèi)部的俱樂(lè)部進(jìn)行信息化管理,運(yùn)用計(jì)算機(jī)的信息管理技術(shù),構(gòu)建一個(gè)運(yùn)行穩(wěn)定、高效的管理系統(tǒng)。本系統(tǒng)能對(duì)俱樂(lè)部信息、俱樂(lè)部成員、俱樂(lè)部活動(dòng)和俱樂(lè)部活動(dòng)分享等進(jìn)行維護(hù),俱樂(lè)部管理員和成員都能根據(jù)自己的需求自定義查詢相關(guān)的俱樂(lè)部信息,方便企業(yè)員工對(duì)俱樂(lè)部的了解,便于加入其中。
2 核心技術(shù)簡(jiǎn)介(Intro of core technology)
2.1 SSH技術(shù)
SSH技術(shù)是Struts2、Spring和Hibernate三大技術(shù)的簡(jiǎn)稱,是目前流行的、基于Java技術(shù)的一組Web應(yīng)用程序的開(kāi)源框架。SSH框架能幫助開(kāi)發(fā)人員快速搭建代碼結(jié)構(gòu)清晰、易于維護(hù)的Web應(yīng)用程序。SSH框架技術(shù)能提高系統(tǒng)的穩(wěn)定性、健壯性和可維護(hù)性[1]。
Struts作為系統(tǒng)的表示層架構(gòu),采用MVC模式,通過(guò)Struts框架的Controller控制業(yè)務(wù)跳轉(zhuǎn),利用Hibernate框架對(duì)持久層提供支持。Spring作為一個(gè)輕量級(jí)的IoC容器,負(fù)責(zé)創(chuàng)建和管理對(duì)象、對(duì)象及對(duì)象之間的依賴關(guān)系,并對(duì)事務(wù)和Hibernate的會(huì)話進(jìn)行管理,體系結(jié)構(gòu)如圖1所示。
圖1 SSH系統(tǒng)架構(gòu)圖
Fig.1 SSH system architecture
表示層通過(guò)JSP頁(yè)面實(shí)現(xiàn)交互,負(fù)責(zé)傳遞請(qǐng)求(request)和響應(yīng)(response),用戶請(qǐng)求通過(guò)Struts的前置過(guò)濾器StrutsPrepareAndExecuteFilter處理后,根據(jù)struts.xml配置文件將接收到的request委派給相應(yīng)的Action對(duì)象進(jìn)行處理。
在業(yè)務(wù)邏輯層,Spring框架通過(guò)基于JavaBeans技術(shù)的配置方式整合Struts2和Hibernate。Spring利用IoC容器特性,將Struts的Action組件、業(yè)務(wù)邏輯對(duì)象、數(shù)據(jù)持久化操作的DAO對(duì)象以及數(shù)據(jù)庫(kù)SessionFactory等組件統(tǒng)一管理,并提供事務(wù)處理、數(shù)據(jù)源、數(shù)據(jù)庫(kù)連接池等容器組件的管理,大大提升了系統(tǒng)性能,保證了數(shù)據(jù)的完整性。
Hibernate框架是一個(gè)基于Java的數(shù)據(jù)持久化中間層技術(shù),它對(duì)JDBC進(jìn)行了封裝,不僅提供了對(duì)象關(guān)系映射服務(wù),而且還提供了數(shù)據(jù)查詢和緩存功能。利用Hibernate可以使用面向?qū)ο蟮牟樵冋Z(yǔ)言(HQL)操作數(shù)據(jù)庫(kù),使開(kāi)發(fā)人員把主要精力集中在業(yè)務(wù)層。通過(guò)配置文件Hibernate.cfg.xml和表與持久化的對(duì)象的映射文件,不僅實(shí)現(xiàn)了視圖、控制器與模型的分離,而且還實(shí)現(xiàn)了業(yè)務(wù)邏輯層與持久層的分離,大大降低了組件之間的耦合度[2,3]。
2.2 Bootstrap框架
Bootstrap是由Twitter推出的前臺(tái)開(kāi)發(fā)的開(kāi)源工具包,是目前最受歡迎的HTML5、CSS、JavaScript框架,用于開(kāi)發(fā)響應(yīng)式布局、移動(dòng)設(shè)備優(yōu)先的Web項(xiàng)目。Bootstrap提供的組件以及豐富的CSS樣式,可以在很短的時(shí)間內(nèi)搭建一個(gè)美觀的網(wǎng)站。Bootstrap大大簡(jiǎn)化了前臺(tái)頁(yè)面的開(kāi)發(fā)。
Bootstrap不僅提供眾多的組件和豐富多彩的CSS樣式表,還提供了許多JavaScript插件,使前端開(kāi)發(fā)更快速、簡(jiǎn)單。如:模態(tài)框經(jīng)過(guò)優(yōu)化更加靈活,以彈出對(duì)話框的形式出現(xiàn),具有最小和最實(shí)用的功能集。滾動(dòng)監(jiān)聽(tīng)插件可以根據(jù)滾動(dòng)條的位置自動(dòng)更新所對(duì)應(yīng)的導(dǎo)航標(biāo)記。為頁(yè)面內(nèi)容添加一個(gè)小的覆蓋層,就像iPad上的效果一樣,為頁(yè)面元素增加額外的信息。控制按鈕狀態(tài)或創(chuàng)建按鈕組可以產(chǎn)生類似工具條之類的復(fù)雜組件。
3 系統(tǒng)設(shè)計(jì)(System design)
3.1 系統(tǒng)功能
系統(tǒng)用戶分為超級(jí)管理員、俱樂(lè)部管理員和會(huì)員三種角色。會(huì)員默認(rèn)為公司員工,可以申請(qǐng)加入俱樂(lè)部和申請(qǐng)成立俱樂(lè)部,并選擇參加俱樂(lè)部的活動(dòng),參加活動(dòng)后可以對(duì)活動(dòng)進(jìn)行評(píng)論、上傳并分享活動(dòng)圖片。俱樂(lè)部管理員對(duì)本俱樂(lè)部具有管理權(quán)限,可以對(duì)俱樂(lè)部及俱樂(lè)部成員進(jìn)行管理,發(fā)起活動(dòng),并對(duì)活動(dòng)的經(jīng)費(fèi)進(jìn)行管理。超級(jí)管理員是系統(tǒng)權(quán)限最高的用戶,可以對(duì)俱樂(lè)部申請(qǐng)進(jìn)行審核,可以查看所有俱樂(lè)部及俱樂(lè)部成員的信息,修改會(huì)員權(quán)限。
系統(tǒng)功能模塊結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)功能模塊圖
Fig.2 System function module structure
(1)系統(tǒng)登錄注銷
用戶輸入用戶名和密碼,系統(tǒng)確認(rèn)用戶名、密碼是否正確,并確定用戶權(quán)限。
(2)會(huì)員管理模塊
會(huì)員管理模塊主要包括會(huì)員信息的增刪改查,會(huì)員和管理員都可以對(duì)個(gè)人信息進(jìn)行增刪改查;俱樂(lè)部管理員可以查看本俱樂(lè)部的會(huì)員列表,添加和刪除會(huì)員;超級(jí)管理員可以查看所有俱樂(lè)部的所有會(huì)員的信息。
(3)俱樂(lè)部管理模塊
俱樂(lè)部管理模塊主要是對(duì)俱樂(lè)部進(jìn)行管理,包括俱樂(lè)部的增刪改查、公告發(fā)布、積分排名和經(jīng)費(fèi)管理。會(huì)員可以創(chuàng)建俱樂(lè)部、參加俱樂(lè)部,查看所參加俱樂(lè)部的積分排名和經(jīng)費(fèi)使用情況;俱樂(lè)部管理員可以修改俱樂(lè)部信息,發(fā)布俱樂(lè)部公告,并對(duì)所管理的俱樂(lè)部的經(jīng)費(fèi)使用進(jìn)行管理;超級(jí)管理員負(fù)責(zé)對(duì)會(huì)員的創(chuàng)建俱樂(lè)部的申請(qǐng)和俱樂(lè)部的經(jīng)費(fèi)使用情況進(jìn)行審核。俱樂(lè)部列表的界面效果如圖3所示。
圖3 俱樂(lè)部列表界面圖
Fig.3 Club list UI
(4)活動(dòng)管理模塊
活動(dòng)管理模塊主要對(duì)俱樂(lè)部開(kāi)展的活動(dòng)進(jìn)行管理,包括活動(dòng)發(fā)布、參加活動(dòng)、活動(dòng)簽到、活動(dòng)積分和活動(dòng)分享。會(huì)員選擇查看和參加本俱樂(lè)部的活動(dòng),參加活動(dòng)的簽到,上傳和分享活動(dòng)的一些圖片,并可以對(duì)活動(dòng)發(fā)表評(píng)論。俱樂(lè)部管理員發(fā)布活動(dòng),并可以修改活動(dòng)的信息。超級(jí)管理員可以查看所有活動(dòng)信息。俱樂(lè)部的積分采用如下規(guī)則進(jìn)行計(jì)算:舉辦一次活動(dòng)獲得50個(gè)積分,關(guān)注人數(shù)達(dá)到100獲得10個(gè)積分,會(huì)員一次活動(dòng)簽到加5個(gè)積分,發(fā)表活動(dòng)圖片并分享加20分。
3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)
根據(jù)系統(tǒng)功能的分析,俱樂(lè)部管理系統(tǒng)的數(shù)據(jù)庫(kù)包括會(huì)員信息表(user)、俱樂(lè)部信息表(club)、俱樂(lè)部公告表(club_notice)、俱樂(lè)部經(jīng)費(fèi)表(club_fund)、俱樂(lè)部申請(qǐng)表(club_apply)、活動(dòng)信息表(activity)、活動(dòng)報(bào)名表(activity_enter)、活動(dòng)簽到表(activity_sign)、活動(dòng)關(guān)注表(activity_attention)、活動(dòng)評(píng)論表(activity_comment)、活動(dòng)照片表(activity_photo)、評(píng)論回復(fù)表(comment_reply),其E-R關(guān)系如圖4所示。
圖4 數(shù)據(jù)庫(kù)E-R圖
Fig.4 Database E-R
會(huì)員表(user)存儲(chǔ)用戶的基本信息:會(huì)員工號(hào)、姓名、密碼、性別、部門等。俱樂(lè)部表(club)存儲(chǔ)俱樂(lè)部的基本信息,包括:名稱、介紹、俱樂(lè)部logo、創(chuàng)建時(shí)間、俱樂(lè)部審核狀態(tài)、俱樂(lè)部積分和管理員等。俱樂(lè)部公告表(club_notice)存儲(chǔ)俱樂(lè)部發(fā)布的公告,包括公告標(biāo)題、內(nèi)容、發(fā)布時(shí)間、俱樂(lè)部編號(hào)等。俱樂(lè)部經(jīng)費(fèi)表(club_fund)存儲(chǔ)俱樂(lè)部活動(dòng)使用的經(jīng)費(fèi)情況,包括俱樂(lè)部編號(hào)、經(jīng)費(fèi)用途、經(jīng)費(fèi)、經(jīng)費(fèi)使用時(shí)間、經(jīng)手人等。活動(dòng)信息表(activity)存儲(chǔ)俱樂(lè)部活動(dòng)的基本信息,包括活動(dòng)報(bào)名開(kāi)始時(shí)間、報(bào)名截止時(shí)間、活動(dòng)開(kāi)始時(shí)間、結(jié)束時(shí)間、活動(dòng)地點(diǎn)、活動(dòng)內(nèi)容、活動(dòng)限報(bào)人數(shù)等。
4 系統(tǒng)運(yùn)行效果(System running result)
系統(tǒng)基于B/S模式,采用Java EE體系架構(gòu),用戶界
面采用Bootstrap進(jìn)行布局,后臺(tái)采用Struts2、Spring3和Hibernate4進(jìn)行搭建,利用SSH的成熟框架,保證整個(gè)系統(tǒng)的層次清晰以及良好的穩(wěn)定性。數(shù)據(jù)庫(kù)采用MySQL,整個(gè)系統(tǒng)部署在tomcat服務(wù)器上[4]。系統(tǒng)由登錄頁(yè)面、俱樂(lè)部中心、活動(dòng)中心、個(gè)人中心等頁(yè)面組成,個(gè)人中心主要由個(gè)人信息、我的俱樂(lè)部、已參加的活動(dòng)等頁(yè)面組成,俱樂(lè)部中心主要由俱樂(lè)部列表、俱樂(lè)部介紹等頁(yè)面,活動(dòng)中心主要由活動(dòng)列表、活動(dòng)具體信息等頁(yè)面組成。
用戶登錄后,點(diǎn)擊俱樂(lè)部中心進(jìn)入俱樂(lè)部列表頁(yè)面,點(diǎn)擊一個(gè)俱樂(lè)部查看詳情,并選擇是否加入。點(diǎn)擊活動(dòng)中心,可以選擇感興趣的活動(dòng)點(diǎn)擊參加。點(diǎn)擊個(gè)人中心,可以查看所在俱樂(lè)部即將進(jìn)行的活動(dòng)、已經(jīng)參加的活動(dòng)和熱門俱樂(lè)部推薦。俱樂(lè)部管理員登錄后進(jìn)入管理員頁(yè)面,可以發(fā)布活動(dòng)、進(jìn)行經(jīng)費(fèi)錄入、管理俱樂(lè)部會(huì)員。超級(jí)管理員登錄后可以對(duì)申請(qǐng)的俱樂(lè)部進(jìn)行審核,查看俱樂(lè)部和活動(dòng)詳情,對(duì)俱樂(lè)部經(jīng)費(fèi)支出進(jìn)行審核。
系統(tǒng)在Window平臺(tái)運(yùn)行,使用LoaderRunner進(jìn)行壓力測(cè)試,通過(guò)模擬20個(gè)用戶對(duì)系統(tǒng)進(jìn)行30分鐘的測(cè)試,測(cè)試表明用戶可以在該系統(tǒng)完成所有操作,系統(tǒng)運(yùn)行穩(wěn)定。
5 結(jié)論(Conclusion)
本文針對(duì)公司內(nèi)部形形色色的俱樂(lè)部進(jìn)行管理的需求,提出一種基于SSH框架的俱樂(lè)部管理系統(tǒng),給出了系統(tǒng)的功能設(shè)計(jì)和系統(tǒng)架構(gòu),采用Java EE架構(gòu),使用流行的SSH框架和Bootstrap前臺(tái)框架,使得系統(tǒng)的整體設(shè)計(jì)邏輯清晰、功能穩(wěn)定、擴(kuò)展性強(qiáng),易于開(kāi)發(fā)和維護(hù)。隨著系統(tǒng)功能的進(jìn)一步完善,可在本系統(tǒng)基礎(chǔ)上進(jìn)行拓展,如,針對(duì)社區(qū)或體育中心的俱樂(lè)部管理等,對(duì)于類似的俱樂(lè)部管理系統(tǒng)的開(kāi)發(fā)亦具有參考借鑒意義。
參考文獻(xiàn)(References)
[1] 陳瑞軒,劉志強(qiáng).基于C#的高爾夫俱樂(lè)部會(huì)員管理系統(tǒng)的設(shè)計(jì)[J].科技信息,2014,6:118.
[2] 翟高粵.基于J2EE技術(shù)的SSH框架的改進(jìn)及應(yīng)用[J].計(jì)算機(jī)時(shí)代,2012(10):24-26.
[3] 于湛麟,李仲秋,任永昌.SSH框架實(shí)現(xiàn)MVC架構(gòu)的電子商務(wù)軟件平臺(tái)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012,22(10):169-172.
[4] 于海雯,婁芳.基于SSH框架技術(shù)的網(wǎng)站后臺(tái)管理功能的實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2014,30:017.