在线报名管理系统的设计与实现.docx
- 文档编号:25882275
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:53
- 大小:887.56KB
在线报名管理系统的设计与实现.docx
《在线报名管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《在线报名管理系统的设计与实现.docx(53页珍藏版)》请在冰豆网上搜索。
在线报名管理系统的设计与实现
在线报名管理系统的设计与实现
学院:
专业:
姓名:
指导老师:
中国·珠海
二○二〇年四月
诚信承诺书
本人郑重承诺:
本人承诺呈交的毕业设计《在线报名管理系统的设计与实现》是在指导教师的指导下,独立开展研究取得的成果,文中引用他人的观点和材料,均在文后按顺序列出其参考文献,设计使用的数据真实可靠。
本人签名:
日期:
年月日
在线报名管理系统的设计与实现
摘要
基于SSH的在线报名管理系统(SSHBasedOnlineEnrollmentManagementSystem,简称SOEMS)本系统的主要功能:
包含两个子系统模块,第一个是员工系统模块(包含有活动查询,报名增加和报名查询,以及个人信息修改),第二个是管理员系统模块(包含有用户增加,用户查询,活动增加,活动查询,报名增加,报名查询)系统开发语言为JAVA,开发工具是MyEclipse10,Web服务器是MyEclipse10自带的Tomcat6版本,数据库为目前主流的MySql数据库。
使用spring+hibernate+struts整合方法实现。
本系统的优点是让公司和公司员工都能极其方便的通过在网上在线地报名并且管理报名,功能操作人性化,实现了员工与管理员操作的分割。
关键词:
SSH;报名管理;员工系统模块;管理员系统模块
SSHBasedOnlineEnrollmentManagementSystem
Abstract
SSHbasedonlineenrollmentmanagementsystem(soems),asthenameimplies,isasystemthatmakesitveryconvenientforboththecompanyanditsemployeestoregisteronlineandmanagetheregistration.Withtherapiddevelopmentofcomputertechnology,thenetworkismoreandmoreconvenient.Enterprisesalsohavethenecessityandsignificanceofpublishingandmanagingcompanyactivitiesormeetingsoncomputers.Thesystemmainlyconsistsoftwosub-systemmodules,thefirstistheemployeesystemmodule(includingactivityquery,enrollmentincreaseandenrollmentquery,aswellaspersonalinformationmodification),thesecondistheadministratorsystemmodule(includinguserincrease,userquery,activityincrease,activityquery,enrollmentincrease,enrollmentquery).Thesystemusesthethree-tierSSHarchitecture,andthedevelopmentlanguageisJAVA,thedevelopmenttoolisMyEclipse10,thewebserveristheTomcat6versionofMyEclipse10,andthedatabaseisthecurrentprevailingMySQLdatabase.
Keywords:
SSH;enrollingmanagement;Employeesystemmodule;Adminsystemmodule
1前言1
1.1课题背景及意义1
1.2课题研究目标1
1.3研究内容及重点1
2主要技术介绍2
2.1Tomcat2
2.2Spring2
2.3Hibernate3
2.4Struts23
2.5SSH整合4
2.6JSP4
2.7Mysql数据库5
3系统分析与设计5
3.1可行性分析5
3.1.1技术可行性5
3.1.2经济可行性5
3.1.3操作可行性6
3.1.4社会可行性6
3.2业务描述6
3.2.1在线报名管理系统的业务描述6
3.3系统需求分析6
3.3.1权限管理7
3.3.2报名事项管理7
3.3.3管理员对员工已报名事项管理7
3.3.4员工可报名事项查询7
3.3.5员工报名事项增加7
3.3.6员工已报名事项查询7
3.3.7员工管理8
3.3.8员工信息管理8
3.3.9用例图8
3.4系统设计之系统主要操作流程图9
3.4.1类图10
3.4.2系统的开发结构设计11
4数据库设计13
4.1E-R图13
4.2数据库物理模型14
5系统详细设计16
5.1系统操作演示16
5.1.1登陆16
5.1.2员工-主页浏览17
5.1.3员工-活动查询18
5.1.4员工-活动报名19
5.1.5员工-已报名查询19
5.1.6管理员-用户增加20
5.1.7管理员-用户查询20
5.1.8管理员-可报名活动增加21
5.1.9管理员-可报名活动查询22
5.1.10管理员-代员工报名23
5.1.11管理员-已报名事项查询24
5.2系统分层25
6系统测试26
6.1软件测试26
6.2软件测试方法与测试用例27
6.2.1登陆注册功能测试29
6.2.2管理员用户管理功能测试30
6.2.3管理员可报名活动管理功能测试32
6.2.4管理员已报名活动管理功能测试34
6.2.5员工可报名活动查询功能测试37
6.2.6员工报名活动功能测试38
7总结39
参考文献41
谢辞42
1前言
Web所拥有的强大的开发能力让JAVA语言一直在计算机程序语言排行榜中名列前茅,称之为java的奠基之石也不为过。
早期的web的结构是相对简单的,此时的web应用被称呼为website。
随着时间的推移逐渐发展成webapplication,接着又来了真正的三层web开发,使得客户可以与服务器进行交流,并且获得可以数据储存的数据库。
Servelt核心组件让javaweb以线程为单位,使得处理更加高效。
它与javabean和jsp由MVC结构组合。
本系统使用开放式模式开发,可以缓解公司不方便管理活动日程的烦恼,以及活动预定冲突等麻烦。
此系统大大方便了公司全体员工以及管理员的日常的活动报名管理同预订。
1.1课题背景及意义
报名管理是一个公司或者企业与员工互动所经常做的事。
在一个企业或公司的行程中,向员工要求参加活动,让员工参加培训,和员工举办会议,并鼓励员工踊跃报名,是他们的日常。
如果员工不在公司,正在居家休息,这时公司突然要求员工去办公室参与活动报名,这位员工将陷入天大的麻烦中,对公司而言也是极其不利的。
这时一个网络化的报名管理系统便展现出其便利性和高效性了,这也是现在的公司单位所想要的。
因此研究这一课题相当符合现代网络社会的发展状况,也是必然的。
计算机技术来源于西方世界,并改变了人们的生活,它的地位也越来越高。
人们挖掘计算机的潜力,在办公室应用中出现了越来越多的著名应用,比如microsoft的office系列,其word文档软件让员工可以无纸化共享办公资料。
员工从繁杂的纸质文件中挣脱出来。
本论文中所使用的技术是最流行的基于SSH的java开发。
1.2课题研究目标
此在线报名管理系统的实现,将大大降低管理工作人员的工作量同时增加公司进行会议活动培训安排的效率。
它将解开公司员工管理的枷锁,用计算机来代替人完成这一系列工作,释放生产力。
1.3研究内容及重点
本在线报名管理系统由三个子系统组成,分别为报名事项管理系统、报名事项的发布管理和报名事项的申请管理、不同权限的用户和管理员个人信息管理。
(1)用户和管理员信息管理系统的简单介绍
用户管理模块:
主要对各个公司员工的基本信息进行管理。
普通用户(即公司员工)可以修改个人信息(包括密码)。
管理员可以对用户基本信息(例如:
用户名,密码,性别,部门,姓名,出生日期,工号,籍贯,部门,家庭住址,身份类型,电话,邮箱等)进行添加,修改,删除等。
(2)报名事项管理系统:
报名事项管理模块:
此块是整个系统的核心。
普通用户(即公司员工)对其根据类别进行搜索查询。
可以通过查询情况进行对还有报名余额的报名事项的申请和查询,管理员可以对报名事项基本信息(例如:
活动名称,活动类型,活动描述,创建日期,活动介绍,开始时间,结束时间,备注,限选人数)进行添加,修改,删除等,并可以分析报名事项申请情况。
(3)报名事项的发布管理和报名事项的申请管理:
这一部分主要是管理员通过账号登录SSH在线报名管理系统后发布报名事项。
用户通过账号登录SSH在线报名管理系统后查询可报名的报名事项,然后根据自己的时间安排以及任务安排进行报名。
同时管理员可以看到其报名情况并且根据实际情况进行删除。
2主要技术介绍
2.1Tomcat
ApacheTomcat软件,Tomcat凭借其免费的使用权限,稳定的性能和优越的技术得到众多java开发者的青睐,以及许多软件开发商的承认。
Tomcat是现在流行的中小型系统中常用的,用于调试开发JSP程序的源代码开放的WEB轻量级应用服务器。
他的主要组件:
container容器,connector连接器(这两个是tomcat的核心)service服务,server服务器。
Server组件同时管理着多个service服务(一个也可以)并为其正常使用提供生存环境。
而service服务是由一个或多个连接器connector加一个容器container加其他支持组件共同组成的。
其中Tomcat的主配置文件是server.xml,包含Service,Connector,Engine,Realm,Valve,Hosts主组件的相关配置信息;
2.2Spring
Spring作为拥有分层架构的开源框架,负责把企业应用程序开发的复杂性解决。
组成Spring框架的模块有:
1.SpringAOP,2.Spring上下文,3.核心容器,4.SpringDAO,5.SpringWeb模块,6.SpringMVC框架,7.SpringORM。
这些模块既可以单独存在,也可以与其他一个或多个模块联合实现。
他的功能可以用在任何J2EE服务器中。
控制反转模式(IOC也称作依赖性介入)和面向方面的编程(AOP)互相补充,用松散耦合的方式将分散的系统集成在一起。
Spring有三个组件,分别是Beans,core还有Content。
他们在AOP,WEB等上层的特性功能上发挥着作用。
Bean就像舞台中的演员一样,因为他通过依赖注入机制将对象之间的依赖关系转化为配置文件并进行管理。
至于Context和core就像是舞台里的道具,Context为对象中的数据提供生存环境,识别每个bean之间的关系。
Core定义了资源的访问方式。
Spring能有效地组织程序的中间层(即应用服务器层)对象。
提供接口来锻炼程序员的编程习惯,降低编程的代价。
用它构建的应用程序更加便于单元测试。
2.3Hibernate
Hibernate是一个开源的轻量级的ORM(对象关系映射)工具。
简化了java应用程序与数据库交互的开发。
其中ORM工具简化了数据的创建,处理和访问,将对象映射到数据库中存储。
Hibernate框架有极高的性能,他有一级缓存二级缓存这两种类型的缓存,并在框架内部使用。
使用Hibernate将无需手动在数据库中创建表因为他可以自动的创建数据库表。
Hibernate架构中有4层Java应用层,hibernate框架层,反手api层和数据库层。
Hibernate架构的元素有会话工厂(SessionFactory),会话(Session),事务(Transaction),连接提供者(ConnectionProvider)和事务工厂(TransactionFactory)。
Session对象为编程提供“应用程序”和“存储在数据库中的数据”之间的接口。
它是一个短生命周期的对象并包装JDBC连接。
它是事务,查询和标准的工厂。
Hibernate将在作为其配置文件的hibernate.cfg.xml中配置数据库的所有信息,并声明创建的实体列表。
例如
Hibernate它跟程序员在系统中选择的任何类型的数据库没有依赖关系,只要编写完成就可运行在所有类型的数据库上,因为他可以识别不同数据库的方言dialect,有HQL自带的查询语言用于在实体类中查询对象数据。
2.4Struts2
Struts2的一个基本思想是MVC思想,即用松耦合让Model(模型),View(视图),Control(控制器)协同工作,将一个应用分为三个基本part。
Struts2使用了WebWork的设计核心,使用拦截器来出来用户请求,来使得访问者的业务逻辑控制器跟servletAPI分离。
由于Struts2的清晰结构和灵活方便的特点,一经问世就得到大量程序开发者的喜爱,程序员得以从复杂烦琐的代码劳动中脱身。
其中,struts.xml文件负责配置Action,指定说明该Action的实现类,而且完成该Action处理结果与视图资源之间的映射关系的定义。
struts.properties文件负责配置Struts2全局属性。
Struts2的优点:
1.支持标签,2.支持AJAX标签,3.易于整合,如spring,4.综合性能分析调试和配置应用程序。
5.为JSP等视图技术提供支持。
Struts2是最好的Web框架之一。
web.xml、struts.xml、struts-config.xml以及struts.properties是Struts2的配置文件。
在这些文件里有Struts2的配置。
2.5SSH整合
SSH是struts和spring和hibernate的一个Web应用程序开源集成框架,其系统分为四层,分别为表示层,业务逻辑层,数据持久层和域模块层。
SSH框架基于传统的J2EE框架,继承他的分层架构模式,比J2EE好的地方是相同的运算任务下消耗更少的系统资源。
在SSH框架中,用户使用JSP页面与系统交互,传输请求(Request),structs根据配置文件将ActionServlet接收到的Request交给相应的Action。
Action再给业务逻辑层,业务逻辑层再交给持久层,通过hibernate的对象化映射与数据库交互。
使用这样的系统,无论前端进行怎样的变化,由于视图,控制器与模型完全分离,只需要极少的改动模型层即可,而且数据库的变化也不会太多地影响前端。
如此一来,可复用性大大提高,并且团队成员的并行工作的效率也上升了。
2.6JSP
即JavaServerPages,用于动态网页开发,是一种技术标准。
通过在HTML网页中运用JSP标签来插入Java代码。
JSP标签功能丰富,无论是记录用户选择的信息,还是访问JavaBeans组件,亦或是访问数据库,甚至是传递控制信息和共享信息于不同网页,都可以做到。
虽然有着和CGI相似的功能,JSP有更多的优势,比如1.可以直接在HTML网页中动态嵌入元素从而使得性能更优越。
2.不需要先载入解释器和目标脚本这种CGI才会做的事。
3.与ASP相比,JSP易于移植。
JSP具有可以把Java代码和一些其他预定义的动作嵌入到静态页面中的特性。
2.7Mysql数据库
Mysql作为一种建立在关系模型基础上的关系数据库管理系统,受各类中小型公司欢迎,用来开发规模不大的网站。
它是一个拥有着开放源码的关联式小数据库管理系统,具有的特点是源码开放带来的成本低,体积小,反应快,虽然比之那些大型数据库比如oracle和DB2有不足的地方,但是在个体和小单位看来它所具备的能耐已经足以满足自己的需求。
3系统分析与设计
3.1可行性分析
基于SSH的在线报名管理系统----该系统的主要使用者分前台和后台,前台是员工,后台是公司管理员,二者综合起来,构成了这个系统。
它综合了对员工的管理,对管理员的管理,报名事项的预定,管理和审核。
由于公司的活动,会议和培训充满不确定性,即无法保证员工即时在办公楼现场参与报名,总有忙碌的员工来不及参与线下报名的情况,也无法保证公司的报名事项出现变更,临时有些小修改,需要重新打印报名表。
因此,基于SSH的在线报名管理系统的开发将极大方便在公司工作的人们。
该系统的成功开发将能解决公司单位所苦恼的灵活报名管理的问题。
实行电子化报名管理将能节约公司纸张资源,既降低了运作成本,又可以为世界环保添一份力。
3.1.1技术可行性
该系统可以在大众操作系统如Win7和Win10运作。
该系统采用mysql作为数据库,具备源码开放的免费特性。
由于目前招聘的企业都倾向于招有mysql使用经验的人,作为程序员应该敢于接触新鲜事物,并且不断学习,因此使用mysql作为数据库选择。
该系统使用轻量级java技术开发。
该系统使用myeclipse10作为开发软件,版本功能稳定。
3.1.2经济可行性
该系统可以在多个系统平台中运行,并且维护成本很低,因此可以在多个公司中得到运用,还能够极大降低单位和公司的运行成本与工作量,也可以大大方便公司办公楼的活动培训会议的报名。
3.1.3操作可行性
该在线报名管理系统操作简单,首页整体以蓝色作为基调,给人舒服的感受,首页就只有简单的登陆功能和注册功能,简明易懂,而且界面UI喜人,不同身份的用户(比如公司员工和管理)登陆进入页面看到的功能也是不一样的,只需要点击自己想要的功能进行操作即可。
3.1.4社会可行性
本在线报名管理系统由本人开发,没有侵犯他人利益,使用起来便于理解,人们可以马上学会操作使用。
3.2业务描述
3.2.1在线报名管理系统的业务描述
(1)公司员工和管理员可以登录系统与修改密码。
(2)公司员工可以查询可报名的报名事项。
(3)公司员工可以对可报名的报名事项进行报名。
(4)公司员工可以对已报名的报名事项进行查询。
(5)公司员工可以对自己的员工信息进行修改。
(6)管理员可以对自己的管理员信息进行修改。
(7)管理员可以对公司员工账号进行创建。
(8)管理员可以对公司员工账号进行查询。
(9)管理员可以对公司员工账号进行信息和密码修改和删除。
(10)管理员可以对报名事项进行增加。
(11)管理员可以对报名事项进行查询。
(12)管理员可以对报名事项进行修改和删除。
(13)管理员可以安排代替公司员工对可报名的报名事项进行报名。
(14)管理员可以对员工已报名事项进行查询。
(15)管理员可以对员工已报名事项进行删除。
(16)管理员可以查看所有员工已报名事项的统计。
(17)公司员工可以查看自己的已报名事项在全公司的总报名人数的统计。
3.3系统需求分析
3.3.1权限管理
(1)在线报名管理系统的管理员负责给单位员工发放用户账号和密码,单位员工也可以自己注册账号,如果员工需要,可以根据自己的想法改密码。
如果管理员想,完全可以直接修改员工账号密码,但员工不可以修改管理员密码。
3.3.2报名事项管理
(1)报名事项的查询和修改:
管理员登陆进入所在相关页面后可以见到所有的报名事项,管理员将能够对这些报名事项进行查询,查询条件包括:
活动名称,创建日期,活动类型,介绍,描述,开始时间,结束时间,限选人数。
管理员将能够对这些报名事项进行修改,比如:
修改报名事项的活动名称,创建日期,活动类型,介绍,描述,开始时间,结束时间,限选人数,备注。
(2)报名事项的增加:
系统管理员登陆进入所在相关页面后将能够对报名事项进行增加,详细内容比如:
活动名称,创建日期,活动类型,介绍,描述,开始时间,结束时间,限选人数,备注。
3.3.3管理员对员工已报名事项管理
(1)已报名事项的查询:
管理员登陆进入所在相关页面后可以见到所有的员工已报名事项,管理员将能够对这些员工已报名事项进行查询,查询条件包括:
活动,员工,报名编号,报名日期,报名类型。
(2)已报名事项的增加:
管理员登陆进入所在相关页面后将能够代替员工参加报名,具体到某一事项,具体到哪位员工。
(3)已报名事项的删除:
管理员登陆进入所在相关页面后将能够代替员工对已报名事项进行删除,具体到某一事项,具体到哪位员工。
3.3.4员工可报名事项查询
(1)单位的员工因为其他忙碌的事情去往别处不在办公楼,此时此刻他便需要登陆系统对报名事项进行查询了。
查询条件包括:
活动名称,创建日期,活动类型,介绍,描述,开始时间,结束时间,限选人数。
3.3.5员工报名事项增加
(1)单位的员工由于不在办公楼而公司马上要求他进行报名,此时此刻他便需要登陆系统对报名事项进行增加了。
3.3.6员工已报名事项查询
(1)单位的员工在进行报名事项增加后,就可以对已报名事项进行查询。
查询条件包括:
活动,员工,报名编号,报名日期,报名类型。
3.3.7员工管理
(1)员工的账号和密码都被管理员进行修改与编辑。
(2)员工的账号和密码都被管理员进行删除。
(3)管理员将能够对员工进行查询,查询条件包括:
姓名,出生日期,性别,联系方式,工号。
3.3.8员工信息管理
(1)系统管理员把员工的信息录入到系统中。
(2)系统管理员将录入到系统中的员工的信息进行修改与编辑。
(3)系统管理员将录入到系统中的员工的信息进行删除。
(4)系统管理员将录入到系统中的每位员工的信息进行查看。
(5)系统管理员可以对公司员工的籍贯,工号,邮箱,家庭住址,联系方式,部门进行添加。
3.3.9用例图
用例的意思是它可以描述一个角色在系统中担当了什么职位责任,它表明角色与系统是如何交互以完成业务活动的。
通过站在系统角色的角度,用例可以对系统功能进行建模,换句话说就是用例意味着事件表的延伸。
而事件表以第一速度抓取到系统当前最有必要做出响应的事件,接着完成对系统角色的分析,判断出有哪些系统角色,并确认这些角色分别有哪些行为和属性,然后使用用例图来对系统功能进行建模。
用例图显示为一个人形图标来代表一个角色,一个椭圆里面放文字说明来代表一个用例,人形图标和椭圆之间的连线代表这个角色参与了哪些用例,这条连线代表着关联关系。
角色与角色之间存在着关系。
角色相当于类,拥有类的属性,于是角色与角色之间存在着泛化关系。
用例之间也是有关系的。
用例和用例之间的关系基本有三种,分别是依赖关系,扩展关系还有包含关系。
其中,包含关系的意思是某一用例在执行任务期
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 在线 报名 管理 系统 设计 实现