查英华
摘 要:俱乐部是企业丰富员工业余生活的一种有效方式。本文对俱乐部管理系统系统需求和总体框架进行了分析,本系统基于B/S模式,采用SSH技术和Bootstrap前端框架,并且给出了详细的设计过程。本系统对公司内部的俱乐部和活动安排进行管理,以满足公司文化的建设需要。
关键词:SSH技术;管理系统;Bootstrap
中图分类号:TP319 文献标识码: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)
随着互联网行业规模的扩大,IT企业间的竞争越发激烈,为了增强公司的行业竞争力,减少公司的人才流失,降低离职率,大多数IT公司都会建立形形色色的俱乐部,如:篮球、羽毛球、台球、攀岩、自行车等,旨在丰富员工的业余生活,增加项目组成员间的了解,提高企业员工的凝聚力,对企业文化建立也有积极的推动作用。为了便于对俱乐部的成员、费用、活动安排等进行管理,开发一个用于公司内部的俱乐部管理系统,将每次活动的具体安排、费用开销告知俱乐部成员,并对活动的照片、视频等进行分享,吸引更多的成员加入。
本文主要针对公司内部的俱乐部进行信息化管理,运用计算机的信息管理技术,构建一个运行稳定、高效的管理系统。本系统能对俱乐部信息、俱乐部成员、俱乐部活动和俱乐部活动分享等进行维护,俱乐部管理员和成员都能根据自己的需求自定义查询相关的俱乐部信息,方便企业员工对俱乐部的了解,便于加入其中。
2 核心技术简介(Intro of core technology)
2.1 SSH技术
SSH技术是Struts2、Spring和Hibernate三大技术的简称,是目前流行的、基于Java技术的一组Web应用程序的开源框架。SSH框架能帮助开发人员快速搭建代码结构清晰、易于维护的Web应用程序。SSH框架技术能提高系统的稳定性、健壮性和可维护性[1]。
Struts作为系统的表示层架构,采用MVC模式,通过Struts框架的Controller控制业务跳转,利用Hibernate框架对持久层提供支持。Spring作为一个轻量级的IoC容器,负责创建和管理对象、对象及对象之间的依赖关系,并对事务和Hibernate的会话进行管理,体系结构如图1所示。
图1 SSH系统架构图
Fig.1 SSH system architecture
表示层通过JSP页面实现交互,负责传递请求(request)和响应(response),用户请求通过Struts的前置过滤器StrutsPrepareAndExecuteFilter处理后,根据struts.xml配置文件将接收到的request委派给相应的Action对象进行处理。
在业务逻辑层,Spring框架通过基于JavaBeans技术的配置方式整合Struts2和Hibernate。Spring利用IoC容器特性,将Struts的Action组件、业务逻辑对象、数据持久化操作的DAO对象以及数据库SessionFactory等组件统一管理,并提供事务处理、数据源、数据库连接池等容器组件的管理,大大提升了系统性能,保证了数据的完整性。
Hibernate框架是一个基于Java的数据持久化中间层技术,它对JDBC进行了封装,不仅提供了对象关系映射服务,而且还提供了数据查询和缓存功能。利用Hibernate可以使用面向对象的查询语言(HQL)操作数据库,使开发人员把主要精力集中在业务层。通过配置文件Hibernate.cfg.xml和表与持久化的对象的映射文件,不仅实现了视图、控制器与模型的分离,而且还实现了业务逻辑层与持久层的分离,大大降低了组件之间的耦合度[2,3]。
2.2 Bootstrap框架
Bootstrap是由Twitter推出的前台开发的开源工具包,是目前最受欢迎的HTML5、CSS、JavaScript框架,用于开发响应式布局、移动设备优先的Web项目。Bootstrap提供的组件以及丰富的CSS样式,可以在很短的时间内搭建一个美观的网站。Bootstrap大大简化了前台页面的开发。
Bootstrap不仅提供众多的组件和丰富多彩的CSS样式表,还提供了许多JavaScript插件,使前端开发更快速、简单。如:模态框经过优化更加灵活,以弹出对话框的形式出现,具有最小和最实用的功能集。滚动监听插件可以根据滚动条的位置自动更新所对应的导航标记。为页面内容添加一个小的覆盖层,就像iPad上的效果一样,为页面元素增加额外的信息。控制按钮状态或创建按钮组可以产生类似工具条之类的复杂组件。
3 系统设计(System design)
3.1 系统功能
系统用户分为超级管理员、俱乐部管理员和会员三种角色。会员默认为公司员工,可以申请加入俱乐部和申请成立俱乐部,并选择参加俱乐部的活动,参加活动后可以对活动进行评论、上传并分享活动图片。俱乐部管理员对本俱乐部具有管理权限,可以对俱乐部及俱乐部成员进行管理,发起活动,并对活动的经费进行管理。超级管理员是系统权限最高的用户,可以对俱乐部申请进行审核,可以查看所有俱乐部及俱乐部成员的信息,修改会员权限。
系统功能模块结构如图2所示。
图2 系统功能模块图
Fig.2 System function module structure
(1)系统登录注销
用户输入用户名和密码,系统确认用户名、密码是否正确,并确定用户权限。
(2)会员管理模块
会员管理模块主要包括会员信息的增删改查,会员和管理员都可以对个人信息进行增删改查;俱乐部管理员可以查看本俱乐部的会员列表,添加和删除会员;超级管理员可以查看所有俱乐部的所有会员的信息。
(3)俱乐部管理模块
俱乐部管理模块主要是对俱乐部进行管理,包括俱乐部的增删改查、公告发布、积分排名和经费管理。会员可以创建俱乐部、参加俱乐部,查看所参加俱乐部的积分排名和经费使用情况;俱乐部管理员可以修改俱乐部信息,发布俱乐部公告,并对所管理的俱乐部的经费使用进行管理;超级管理员负责对会员的创建俱乐部的申请和俱乐部的经费使用情况进行审核。俱乐部列表的界面效果如图3所示。
图3 俱乐部列表界面图
Fig.3 Club list UI
(4)活动管理模块
活动管理模块主要对俱乐部开展的活动进行管理,包括活动发布、参加活动、活动签到、活动积分和活动分享。会员选择查看和参加本俱乐部的活动,参加活动的签到,上传和分享活动的一些图片,并可以对活动发表评论。俱乐部管理员发布活动,并可以修改活动的信息。超级管理员可以查看所有活动信息。俱乐部的积分采用如下规则进行计算:举办一次活动获得50个积分,关注人数达到100获得10个积分,会员一次活动签到加5个积分,发表活动图片并分享加20分。
3.2 数据库设计
根据系统功能的分析,俱乐部管理系统的数据库包括会员信息表(user)、俱乐部信息表(club)、俱乐部公告表(club_notice)、俱乐部经费表(club_fund)、俱乐部申请表(club_apply)、活动信息表(activity)、活动报名表(activity_enter)、活动签到表(activity_sign)、活动关注表(activity_attention)、活动评论表(activity_comment)、活动照片表(activity_photo)、评论回复表(comment_reply),其E-R关系如图4所示。
图4 数据库E-R图
Fig.4 Database E-R
会员表(user)存储用户的基本信息:会员工号、姓名、密码、性别、部门等。俱乐部表(club)存储俱乐部的基本信息,包括:名称、介绍、俱乐部logo、创建时间、俱乐部审核状态、俱乐部积分和管理员等。俱乐部公告表(club_notice)存储俱乐部发布的公告,包括公告标题、内容、发布时间、俱乐部编号等。俱乐部经费表(club_fund)存储俱乐部活动使用的经费情况,包括俱乐部编号、经费用途、经费、经费使用时间、经手人等。活动信息表(activity)存储俱乐部活动的基本信息,包括活动报名开始时间、报名截止时间、活动开始时间、结束时间、活动地点、活动内容、活动限报人数等。
4 系统运行效果(System running result)
系统基于B/S模式,采用Java EE体系架构,用户界
面采用Bootstrap进行布局,后台采用Struts2、Spring3和Hibernate4进行搭建,利用SSH的成熟框架,保证整个系统的层次清晰以及良好的稳定性。数据库采用MySQL,整个系统部署在tomcat服务器上[4]。系统由登录页面、俱乐部中心、活动中心、个人中心等页面组成,个人中心主要由个人信息、我的俱乐部、已参加的活动等页面组成,俱乐部中心主要由俱乐部列表、俱乐部介绍等页面,活动中心主要由活动列表、活动具体信息等页面组成。
用户登录后,点击俱乐部中心进入俱乐部列表页面,点击一个俱乐部查看详情,并选择是否加入。点击活动中心,可以选择感兴趣的活动点击参加。点击个人中心,可以查看所在俱乐部即将进行的活动、已经参加的活动和热门俱乐部推荐。俱乐部管理员登录后进入管理员页面,可以发布活动、进行经费录入、管理俱乐部会员。超级管理员登录后可以对申请的俱乐部进行审核,查看俱乐部和活动详情,对俱乐部经费支出进行审核。
系统在Window平台运行,使用LoaderRunner进行压力测试,通过模拟20个用户对系统进行30分钟的测试,测试表明用户可以在该系统完成所有操作,系统运行稳定。
5 结论(Conclusion)
本文针对公司内部形形色色的俱乐部进行管理的需求,提出一种基于SSH框架的俱乐部管理系统,给出了系统的功能设计和系统架构,采用Java EE架构,使用流行的SSH框架和Bootstrap前台框架,使得系统的整体设计逻辑清晰、功能稳定、扩展性强,易于开发和维护。随着系统功能的进一步完善,可在本系统基础上进行拓展,如,针对社区或体育中心的俱乐部管理等,对于类似的俱乐部管理系统的开发亦具有参考借鉴意义。
参考文献(References)
[1] 陈瑞轩,刘志强.基于C#的高尔夫俱乐部会员管理系统的设计[J].科技信息,2014,6:118.
[2] 翟高粤.基于J2EE技术的SSH框架的改进及应用[J].计算机时代,2012(10):24-26.
[3] 于湛麟,李仲秋,任永昌.SSH框架实现MVC架构的电子商务软件平台[J].计算机技术与发展,2012,22(10):169-172.
[4] 于海雯,娄芳.基于SSH框架技术的网站后台管理功能的实现[J].电脑知识与技术,2014,30:017.