在线报名管理系统的设计与实现_第1页
在线报名管理系统的设计与实现_第2页
在线报名管理系统的设计与实现_第3页
在线报名管理系统的设计与实现_第4页
在线报名管理系统的设计与实现_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京理工大学珠海学院2020届本科生毕业设计在线报名管理系统的设计与实现摘要基于SSH的在线报名管理系统(SSHBasedOnlineEnrollmentManagementSystem,简称SOEMS)本系统的主要功能:包含两个子系统模块,第一个是员工系统模块(包含有活动查询,报名增加和报名查询,以及个人信息修改),第二个是管理员系统模块(包含有用户增加,用户查询,活动增加,活动查询,报名增加,报名查询)系统开发语言为JAVA,开发工具是MyEclipse10,Web服务器是MyEclipse10自带的Tomcat6版本,数据库为目前主流的MySql数据库。使用spring+hibernate+struts整合方法实现。本系统的优点是让公司和公司员工都能极其方便的通过在网上在线地报名并且管理报名,功能操作人性化,实现了员工与管理员操作的分割。关键词:SSH;报名管理;员工系统模块;管理员系统模块SSHBasedOnlineEnrollmentManagementSystemAbstractSSHbasedonlineenrollmentmanagementsystem(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前言 11.1课题背景及意义 11.2课题研究目标 11.3研究内容及重点 12主要技术介绍 22.1Tomcat 22.2Spring 22.3Hibernate 32.4Struts2 32.5SSH整合 42.6JSP 42.7Mysql数据库 53系统分析与设计 53.1可行性分析 53.1.1技术可行性 53.1.2经济可行性 53.1.3操作可行性 63.1.4社会可行性 63.2业务描述 63.2.1在线报名管理系统的业务描述 63.3系统需求分析 63.3.1权限管理 73.3.2报名事项管理 73.3.3管理员对员工已报名事项管理 73.3.4员工可报名事项查询 73.3.5员工报名事项增加 73.3.6员工已报名事项查询 73.3.7员工管理 83.3.8员工信息管理 83.3.9用例图 83.4系统设计之系统主要操作流程图 93.4.1类图 103.4.2系统的开发结构设计 114数据库设计 134.1E-R图 134.2数据库物理模型 145系统详细设计 165.1系统操作演示 165.1.1登陆 165.1.2员工-主页浏览 175.1.3员工-活动查询 185.1.4员工-活动报名 195.1.5员工-已报名查询 195.1.6管理员-用户增加 205.1.7管理员-用户查询 205.1.8管理员-可报名活动增加 215.1.9管理员-可报名活动查询 225.1.10管理员-代员工报名 235.1.11管理员-已报名事项查询 245.2系统分层 256系统测试 266.1软件测试 266.2软件测试方法与测试用例 276.2.1登陆注册功能测试 296.2.2管理员用户管理功能测试 306.2.3管理员可报名活动管理功能测试 326.2.4管理员已报名活动管理功能测试 346.2.5员工可报名活动查询功能测试 376.2.6员工报名活动功能测试 387总结 39参考文献 41谢辞 42前言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.1TomcatApacheTomcat软件,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.2SpringSpring作为拥有分层架构的开源框架,负责把企业应用程序开发的复杂性解决。组成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.3HibernateHibernate是一个开源的轻量级的ORM(对象关系映射)工具。简化了java应用程序与数据库交互的开发。其中ORM工具简化了数据的创建,处理和访问,将对象映射到数据库中存储。Hibernate框架有极高的性能,他有一级缓存二级缓存这两种类型的缓存,并在框架内部使用。使用Hibernate将无需手动在数据库中创建表因为他可以自动的创建数据库表。Hibernate架构中有4层Java应用层,hibernate框架层,反手api层和数据库层。Hibernate架构的元素有会话工厂(SessionFactory),会话(Session),事务(Transaction),连接提供者(ConnectionProvider)和事务工厂(TransactionFactory)。Session对象为编程提供“应用程序”和“存储在数据库中的数据”之间的接口。它是一个短生命周期的对象并包装JDBC连接。它是事务,查询和标准的工厂。Hibernate将在作为其配置文件的hibernate.cfg.xml中配置数据库的所有信息,并声明创建的实体列表。例如<mappingclass="com.yiibai.entities.Department"/>或<mappingresource="bysj/net/model/User.hbm.xml"/>Hibernate它跟程序员在系统中选择的任何类型的数据库没有依赖关系,只要编写完成就可运行在所有类型的数据库上,因为他可以识别不同数据库的方言dialect,有HQL自带的查询语言用于在实体类中查询对象数据。2.4Struts2Struts2的一个基本思想是MVC思想,即用松耦合让Model(模型),View(视图),Control(控制器)协同工作,将一个应用分为三个基本part。Struts2使用了WebWork的设计核心,使用拦截器来出来用户请求,来使得访问者的业务逻辑控制器跟servletAPI分离。由于Struts2的清晰结构和灵活方便的特点,一经问世就得到大量程序开发者的喜爱,程序员得以从复杂烦琐的代码劳动中脱身。其中,struts.xml文件负责配置Action,指定说明该Action的实现类,而且完成该Action处理结果与视图资源之间的映射关系的定义。perties文件负责配置Struts2全局属性。Struts2的优点:1.支持标签,2.支持AJAX标签,3.易于整合,如spring,4.综合性能分析调试和配置应用程序。5.为JSP等视图技术提供支持。Struts2是最好的Web框架之一。web.xml、struts.xml、struts-config.xml以及perties是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用例图用例的意思是它可以描述一个角色在系统中担当了什么职位责任,它表明角色与系统是如何交互以完成业务活动的。通过站在系统角色的角度,用例可以对系统功能进行建模,换句话说就是用例意味着事件表的延伸。而事件表以第一速度抓取到系统当前最有必要做出响应的事件,接着完成对系统角色的分析,判断出有哪些系统角色,并确认这些角色分别有哪些行为和属性,然后使用用例图来对系统功能进行建模。用例图显示为一个人形图标来代表一个角色,一个椭圆里面放文字说明来代表一个用例,人形图标和椭圆之间的连线代表这个角色参与了哪些用例,这条连线代表着关联关系。角色与角色之间存在着关系。角色相当于类,拥有类的属性,于是角色与角色之间存在着泛化关系。用例之间也是有关系的。用例和用例之间的关系基本有三种,分别是依赖关系,扩展关系还有包含关系。其中,包含关系的意思是某一用例在执行任务期间会调用其他的用例来完成任务,比如用户登录用例包含了在数据库中对信息进行存取的用例。扩展关系是指这个用例是在原本的用例上进行扩展得来的。比如手机端用户登录用例是用户登录用例的扩展。依赖关系是说第一个用例需要调用第二个用例完成一部分任务后(比如取得二号用例的返回结果)才能继续执行任务。本系统按功能分为4个模块:1.已报名事项管理模块,2.可报名事项管理模块,3.登陆模块,4.用户管理模块。以下是图3.1系统主页用例图(按照功能划分)。图3.1系统主页用例图3.4系统设计之系统主要操作流程图流程图,顾名思义即为使用规定的图形和符号,用上文字说明来表示算法的图,它还有另一种叫法:输入-输出图,因为它可以用一种直观感性的方式来表达一个工作过程的明确的动作顺序。流程图可以有效地对黑箱一般的系统程序进行展示和把握,对程序开发者决策的制定有辅助的作用。他的主要结构有四种。第一种是顺序结构,第二种是条件结构(或者叫选择结构),第三种是循环结构,第四种是分支结构。该在线报名管理系统用户操作流程图主要叙述了从一个请求被创建到此请求被执行中该系统所做出的响应的流程,见图3.2。图3.2用户操作流程图该在线报名管理系统管理员操作流程图主要叙述了从一个请求被创建到此请求被执行中该系统所做出的响应的流程,见图3.3。图3.3管理员操作流程图3.4.1类图类图是用来对系统的结构化设计进行表达,是使用频率极高的UML图的一种。类图中有着七种元素,第一个是类Class,第二个是接口Interface,第三个是关联关系Association,第四个是组合关系Composition,第五个是依赖关系Dependency,第六个是实现关系Realization,第七个是聚合关系Aggregation。类在面向对象编程object-orientedprogramming中的意思是对真实世界中一组具有共同客体特性的物体(比如汽车里奔驰和宝马都有四个轮子)进行高度概括的抽象。类由名称,属性和方法这三个部分组成。在本在线报名管理系统中,事务Transaction通过抽象化从而得到实体类。本系统的实体类有:系统使用者(t_user),可报名事项(t_curriculum),员工已报名事项(t_courseselection),下面将对系统的类图以及类与类之间的关联关系进行图示。见图3.4。图3.4系统实体类图3.4.2系统的开发结构设计在程序开发的第一阶段,程序开发者首先需要对应用系统的开发环境进行搭建。在本在线报名管理系统中的步骤是:(1)用MyEclipse程序开发软件来写代码并且搭建structs+hibernate+spring整合的框架环境。由于项目的开发需要使用来自第三方的JAR包,所以下面把它列出来。见图3.5,3.6,3.7,3.8。图3.5第三方JAR包(1)图3.6第三方JAR包(2)图3.7第三方JAR包(3)图3.8第三方JAR包(4)(2)SSH框架是javaapplication的后台核心,structs+hibernate+spring互相关联,struct2把action对象交给spring管理,hibernate把sessionFactory交给Spring管理,Spring掌握各层。4数据库设计4.1E-R图E-R图,又叫实体-联系图,有三个核心部分,第一个是实体(entity),表现为长方体,代表着在数据模型里的数据对象,比如动物。动物实体里的猫和狗等等就叫做实体成员,这些实体成员是不会在ER图里展示的。第二个是属性(attribute),表现成椭圆形,意味着数据对象拥有的属性,比如动物具有动物名称和身长和体重和主要食物来源等属性,动物名称一般来说是这个动物实体的唯一属性,就是唯一一个可以用来分辨这个动物实例的属性,每个实体都至少有一个,并使用下划线作表示。第三个是关系(relationship),其在E-R图中的形状表现为菱形,意思是表现数据对象之间的联系,比如动物的实体和动物分类表的实体具有联系,表现为每个动物都有自己的动物分类(种属科目纲门)。实体-联系图作为一种概念模型,可以用来对现实世界进行描绘叙述。本在线报名管理系统的实体-联系图如图4.1所示。图4.1系统E-R图4.2数据库物理模型物理模型是建立在逻辑模型(系统想实现什么事物)的基础之上的,用什么具体的物体介质工具来实现逻辑模型的内容的一种模型。在myspl数据库里创建数据库selectionsystem,创建用户信息表t_user,这个数据库表负责记录用户和管理员的信息。Id是用户的编号,是这个表的主键。如表4.1。表4.1t_user(用户表)字段类型长度主键外键非空约束含义IdInt11YYY用户编号UsernameVarchar下同255下同N下同N下同N下同登陆名登陆号码Password登陆密码Name用户名称birthday诞生日sex性别tel联系方式jjlxr工号jjtel部门jg籍贯address地址bm邮箱type用户类型员工/管理员bz备注创建可报名事项表t_curriculum,这个表负责记录管理员创建的可以报名的事项,id是可报名事项表的编号,也是这个表的主键。见表4.2。表4.2t_curriculum(可报名事项表)字段类型长度主键外键非空约束含义IdInt11YYY非空可报名事项编号C_nameVarchar下同255下同N下同N下同N下同活动名称C_time创建日期C_type活动类型C_number介绍C_day描述C_start开选时间C_end截止时间C_miao限选人数C_bz备注创建已报名事项表t_courseselection,这个表用来记录员工的已报名事项。id是已报名事项表的编号,也是这个表的主键。Curriculum是外键,指向t_curriculum的id,user是外键,指向t_user的id。见表4.3。表4.3t_courseselection(已报名事项表)字段类型长度主键外键非空约束含义IdInt11YNY非空已报名事项编号CurriculumInt11NYN下同外键可报名事项idUserInt11NY外键用户idC_numberVarchar下同255下同N下同N下同报名编号C_type报名类型C_jies报名状态C_bz备注5.系统详细设计5.1系统操作演示5.1.1登陆图5.1登陆图示1.输入登录名。2.输入密码。3.输入验证码。4.点击登录。5.login.jsp的登陆盒窗口位置自适应浏览器窗口宽度功能代码。见图5.2。图5.2自适应浏览器窗口宽度功能代码5.1.2员工-主页浏览图5.3员工-主页浏览1.右上角可以退出登录,修改密码,修改个人信息。2.左边是系统菜单栏,员工可以进行可报名事项查询和活动报名和已报名事项查询。3.图5.4为系统的主界面框架代码main.jsp,连接着top框架,left框架和index内容框架的代码。这几个jsp都有用到共同的内容或静态资源,于是这些资源由common.jsp负责引入。Common.jsp放在页面的<head>部分,里面记录了<script>标签等内容,也写了一个function使得left.jsp可以1.点击某“一级菜单A”时程序先滑动隐藏所有一级菜单,然后该“一级菜单A”滑动显示或滑动隐藏其所有二级菜单。2.点击某“二级菜单a”时程序先把这个一级菜单内所有的二级菜单恢复普通样式,然后把该“二级菜单a”的背景色变蓝。这一部分的功能代码见图5.5。图5.4main.jsp图5.5common.jsp节选5.1.3员工-活动查询图5.6员工-活动查询1.点击活动管理-查询,进入可报名事项的查询页面。2.根据查询条件进行分类查询。3.选择某一活动点击“查看”可以查看备注等详细信息。5.1.4员工-活动报名图5.7员工-活动报名1.选择已有的活动,选择报名日期,填写报名类型,填写备注,点击“保存”即可报名成功。2.员工只能给自己报名,管理员才能给所有员工报名。3.如果该员工已报名,再报会弹出“该活动已报名!”。见图5.8。图5.8该活动已报名4.备注栏使用了kindeditor文本编辑器插件。见图5.9。图5.9kindeditor使用声明5.1.5员工-已报名查询图5.10员工-已报名查询1.可根据各种查询条件进行查询。2.点击“查看”进入详细信息页面。5.1.6管理员-用户增加图5.11管理员-用户增加1.进入管理员页面,点击“用户管理”的“增加用户”。2.输入用户名和密码等基本信息,身份类型选择“管理员”就能够增加管理员,选择“员工”即可添加员工。3.点击保存即可成功添加管理员或员工。4.如果用户名相同即登陆名相同就会增加失败,提示“该用户名已被使用”。见图5.12。图5.12该用户名已被使用5.1.7管理员-用户查询图5.13管理员-用户查询1.点击“查询用户”。2.可根据查询条件输入关键字进行分类查询。3.点击某一条目的修改按钮,就可以进入用户信息修改页面。4.点击删除把所选用户删除。5.1.8管理员-可报名活动增加图5.14管理员-可报名活动增加1.这个部分是只有公司管理员才拥有的页面,只有管理员才能对活动事项进行添加。2.点击“活动管理”的“增加”,进入增加活动界面。3.公司的相关部门可以根据活动需求来填写活动属性。4.点击保存。5.如果没有填限选人数,会增加失败,弹出提示“数量填写数字!”。见图5.15,代码见图5.16。填写限选人数则输入的数值以string形式存入实体类“活动”的私有变量util的s_7,代码里先把他转换成整型数据,没有异常就把当前页面输入的数据拿去更新然后前往查询页面,如果出现异常(比如为限选人数为空或不是整形数字),就会清空当前页面的输入数据(活动名称和类型等)并显示错误信息“数量填写数字!”,返回结果“saveOrUpdate”,struts.xml根据结果转到管理员-可报名活动增加页面,错误信息保留。于是在使用者看来就像页面刷新并出现提示一样。图5.15数量填写数字!图5.16提示数量填写数字的代码5.1.9管理员-可报名活动查询图5.17管理员-可报名活动查询1.点击“活动管理”的查询,进入查询界面。2.公司的相关部门可根据查询条件(如活动名称等)输入关键字进行条件查询。3.点击“修改”进入详细信息页面。4.点击“删除”可将该活动事项删除。5.勾选条目后点击“批量删除”弹出提示“是否确认删除所选记录”,见图5.18。代码见图5.19。图5.18批量删除提示图5.19弹出提示的代码5.1.10管理员-代员工报名图5.20管理员-代员工报名1.点击“报名管理”的增加,进入代报名界面,如果员工口头约定好参加某个活动,可以让公司部门帮忙代填。2.填写活动和指名具体某位员工。3.点击“保存”。4.如果该员工已经报名过该项目,会报名失败并弹出“该活动已报名!”。见图5.21图5.21该活动已报名5.1.11管理员-已报名事项查询图5.22管理员-已报名事项查询1.点击“报名管理”的查询,进入已报名事项查询页面。2.可根据查询条件输入关键字进行条件查询。3.统计里可以用图表方式宏观查看各活动报名状况。图表使用了bootcdn的echarts.min.js,在find.jsp里引用。图5.23通过地址引用echarts4.点击“删除”可将已报名事项删除。5.2系统分层见图5.24系统分层。图5.24系统分层6.系统测试6.1软件测试软件测试有着发现软件错误的目标,用来弄清楚程序现阶段能不能按照开发人员的想法运行,以及如果不能,就还要弄清楚这个程序实际表现和理想表现有多大区别。修改软件错误并不属于软件测试的范畴,而是属于软件调试的范畴。软件测试可以对软件产品进行全面的质量评估,并为软件的产品发布和性能规划等决策提供参考。其连续的测试能够迅速又持久地反馈产品的质量,让开发人员在编程时可以马上对产品进行改进,避免产品完成出售出去被顾客使用时才发现大问题,被迫返工重修,从而大大减少了程序编写的成本。通过软件测试降低的风险可以在顾客里形成良好的口碑,从而提高公司的产品竞争力,在市场中立稳脚跟。而且对产品测试得多了可以总结出出错的模式,可以减少犯下相同错误的事情的发生。软件测试的第一种测试方法叫静态测试方法,即不启动软件,单纯的静态地检查程序,比如检查程序代码有没有按照规范来写,检查用户手册对需求的说明能不能贴合实际的用户需求。第二种测试方法叫动态测试,顾名思义就是通过启动程序输入数据来观察程序计算的结果有没有和预期的相符合。第三种测试方法是黑盒测试,完全不顾及程序内部的逻辑结构等情况是怎样的,完全不去想这个功能是如何实现的,只留意程序的功能可不可以按照设想好的需求正常使用,因此也叫作功能测试。频繁使用的黑盒测试方法有等价类划分法和边界值分析法。等价类划分法将软件接受的所有可能的数据分为若干个有效等价类和无效等价类,然后从每个等价类中选择具备标志意义的数据作为测试用例。边界值分析法选择用所有可能的程序输入输出值里刚好处在边界或者刚好超出边界或者刚好差一点到达边界的状态的测试用例进行测试。第四种是白盒测试,要求将程序的内部结构透明地呈现在测试人员眼前,对于各个模块里每一条独立的执行路径都需要测试一遍以上,对所有路径进行穷举。它有六种典型的覆盖方法,比较复杂的是路径覆盖和条件组合覆盖。6.2软件测试方法与测试用例测试主要针对功能的需求以及能否正确实现。具体选择的测试方法用了:边界值分析法和等价类测试法。6.2.1登陆注册功能测试功能描述员工或管理员在登录页面中,通过用户名,密码,验证码登录系统。所属模块登陆注册模块用例目的验证登录功能是否符合需求定义前提条件系统里面有我们准备测试的员工用户名:10001密码:111。管理员用户名:admin密码:123用例ID输入/动作期望结果实际情况测试结果FTC-001用户名:空密码:空验证码:空或错码登录失败,并提示“校验码错误!”登录失败,并提示“校验码错误!”登录失败,并提示“校验码错误!”FTC-002用户名:空密码:空验证码:正确登录失败,并提示登录失败,并提示登录失败,并提示FTC-003用户名:空密码:111验证码:正确登录失败,并提示登录失败,并提示登录失败,并提示FTC-004用户名:10001密码:空验证码:正确登录失败,并提示登录失败,并提示登录失败,并提示FTC-005用户名:admin密码:空验证码:正确登录失败,并提示登录失败,并提示登录失败,并提示FTC-006用户名:10001密码:111验证码:正确登录成功,并进入员工页面登录成功,并进入员工页面登录成功,并进入员工页面FTC-007用户名:admin密码:123验证码:正确登录成功,并进入管理员页面登录成功,并进入管理员页面登录成功,并进入管理员页面功能描述员工在新用户注册页面中,通过用户名,密码,验证码注册新账号。所属模块登陆注册模块用例目的测试注册功能是否符合需求定义前提条件不与系统里面的员工用户名和管理员用户名重复,系统已存在员工用户名:10001密码:111用例ID输入/动作期望结果实际情况测试结果FTC-008用户名:空密码:空验证码:空或错码注册失败,并提示“校验码错误!”注册失败,并提示“校验码错误!”注册失败,并提示“校验码错误!”FTC-009用户名:10001密码:111验证码:正确注册失败,并提示“该用户名已使用!”注册失败,并提示“该用户名已使用!”注册失败,并提示“该用户名已使用!”FTC-010用户名:10002密码:111验证码:正确注册成功并且跳转到登陆页面注册成功并且跳转到登陆页面注册成功并且跳转到登陆页面功能描述员工在修改密码页面中,通过输入原密码,新密码,确认新密码来改变密码。所属模块员工-密码管理模块用例目的验证密码修改功能是否符合需求定义前提条件系统已存在员工1用户名:10001密码:111用例ID输入/动作期望结果实际情况测试结果FTC-011原密码:空新密码:空确认新密码:空密码修改失败,并提示“旧密码错误!”密码修改失败,而且提示“旧密码错误!”密码修改失败,并提示“旧密码错误!”FTC-012原密码:111新密码:222确认新密码:333密码修改失败,并提示“两次密码不一致!”密码修改失败,并提示“两次密码不一致!”密码修改失败,并且提示“两次密码不一致!”FTC-013原密码:111新密码:222确认新密码:222密码修改成功密码修改成功密码修改成功表6.1登录注册功能测试6.2.2管理员用户管理功能测试功能描述管理员在用户增加页面中,通过用户名,密码注册新账号并填写用户信息。所属模块管理员-用户管理模块用例目的测试用户增加功能是否符合需求定义前提条件不和系统里面的员工用户名和管理员用户名重复,系统内已经存在员工用户名:10001密码:111。管理员用户名:admin密码:admin用例ID输入/动作期望结果实际情况测试结果FTC-014输入用户名:空输入密码:空用户增加失败,并提示“请输入用户名”用户增加失败,并提示“请输入用户名”用户增加失败,并提示“请输入用户名”FTC-015填入用户名:10001填入密码:101用户增加失败,并提示“该用户名已使用!”用户增加失败,并提示“该用户名已使用!”用户增加失败,并提示“该用户名已使用!”FTC-016填入用户名:admin密码:111用户增加失败,并提示“该用户名已使用!”用户增加失败,并提示“该用户名已使用!”用户增加失败,并提示“该用户名已使用!”FTC-017输入用户名:10002密码:121用户增加成功然后跳转到用户查询页面用户增加成功然后跳转到用户查询页面用户增加成功然后跳转到用户查询页面FTC-018用户名:10002密码:空用户增加成功然后跳转到用户查询页面用户增加成功然后跳转到用户查询页面用户增加成功然后跳转到用户查询页面功能描述管理员在用户查询页面中,对已有的用户进行批量删除所属模块管理员-用户管理模块用例目的验证用户批量删除功能是否符合需求定义前提条件系统里面有足够的员工,尚未勾选。其中员工1员工2有报名活动,员工3员工4没有报名活动用例ID输入/动作期望结果实际情况测试结果FTC-019不勾选任何一位员工直接点击批量删除按钮用户批量删除失败,并弹出提示“至少选中一条记录”用户批量删除失败,并弹出提示“至少选中一条记录”用户批量删除失败,并弹出提示“至少选中一条记录”FTC-020勾选员工3然后点击批量删除按钮用户批量删除成功,用户查询页面此名用户消失用户批量删除成功,用户查询页面该名用户消失用户批量删除成功,用户查询页面这位用户消失FTC-021勾选员工3和员工4然后点击批量删除按钮用户批量删除成功,用户查询页面这名用户消失用户批量删除成功,用户查询页面该名用户消失用户批量删除成功,用户查询页面此名用户消失FTC-022勾选员工1和员工2然后点击批量删除按钮用户批量删除失败,两位员工仍旧存在用户批量删除失败,两位员工仍然存在用户批量删除失败,两位员工依旧存在FTC-023勾选员工1和员工3然后点击批量删除按钮员工1删除失败,员工3删除成功员工1删除失败,员工3删除成功员工1删除失败,员工3删除成功功能描述管理员在用户查询页面中,对已有的用户进行分类查询所属模块管理员-用户管理模块用例目的测试用户分类查询功能是否符合需求前提条件系统里面有足够的员工,其中有7位员工姓名里含有“一”字。用例ID输入/动作期望结果实际情况测试结果FTC-024查询条件选择“姓名”,输入字符为空用户查询页面出现所有员工用户查询页面出现所有员工用户查询页面出现所有员工FTC-025查询条件选择“性别”,输入字符为“一”用户查询页面没有任何一个员工出现用户查询页面没有任何一个员工出现用户查询页面没有任何一个员工出现FTC-026查询条件选择“出生日期”,输入字符为“一”用户查询页面没有任何一个员工出现用户查询页面没有任何一个员工出现用户查询页面没有任何一个员工出现FTC-027查询条件选择“姓名”,输入字符为“一”用户查询页面出现了全部7位员工用户查询页面出现了全部7位员工用户查询页面出现了全部7位员工表6.2管理员用户管理功能测试6.2.3管理员可报名活动管理功能测试功能描述管理员在可报名活动增加页面中,建立新可报名活动并填写可报名活动具体信息和要求。所属模块管理员-活动管理模块用例目的验证可报名活动增加功能是否符合需求定义前提条件无用例ID输入/动作期望结果实际情况测试结果FTC-028输入活动名称:空输入限选人数:2可报名活动增加失败,并弹出提示“请输入内容”可报名活动增加失败,并弹出提示“请输入内容”可报名活动增加失败,并弹出提示“请输入内容”FTC-029活动名称:聚餐限选人数:不填可报名活动增加失败,并提示“数量填写数字!”可报名活动增加失败,并提示“数量填写数字!”可报名活动增加失败,并提示“数量填写数字!”FTC-030活动名称:聚餐限选人数:2可报名活动增加成功,跳转到查询页面可报名活动增加成功,跳转到查询页面可报名活动增加成功,跳转到查询页面功能描述管理员在可报名活动查询页面中,对可报名活动进行批量删除。所属模块管理员-活动管理模块用例目的验证可报名活动的批量删除功能能不能符合需求的定义前提条件系统里面有足够的可报名活动,而且尚未勾选。其中会议A会议B已有员工来报名,培训C培训D尚未有员工进行报名。用例ID输入/动作期望结果实际情况测试结果FTC-031不勾选可报名活动直接点击批量删除按钮可报名活动批量删除失败,并弹出提示“至少选中一条记录”可报名活动批量删除失败,并弹出提示“至少选中一条记录”可报名活动批量删除失败,并弹出提示“至少选中一条记录”FTC-032勾选一项可报名活动会议A,然后点击批量删除按钮可报名活动批量删除失败,会议A仍然存在可报名活动批量删除失败,会议A依旧存在可报名活动批量删除失败,会议A还是存在FTC-033勾选两项可报名活动会议A会议B,然后点击批量删除按钮可报名活动批量删除失败,会议A会议B仍旧存在可报名活动批量删除失败,会议A会议B依然存在可报名活动批量删除失败,会议A会议B依旧存在FTC-034勾选一项可报名活动培训C,然后点击批量删除按钮可报名活动批量删除成功了,培训C在列表中被删除可报名活动批量删除成功了,培训C在列表中被删除可报名活动批量删除成功了,培训C在列表中被删除FTC-035勾选两项可报名活动培训C培训D,然后点击批量删除按钮可报名活动批量删除成功了,培训C培训D在列表中被删除可报名活动批量删除成功了,培训C培训D在列表中被删除可报名活动批量删除成功了,培训C培训D在列表中被删除FTC-036勾选两项可报名活动会议A培训D,然后点击批量删除按钮会议A删除失败还是在列表中,培训D删除成功,在列表中被删除会议A删除失败还是在列表中,培训D删除成功,在列表中被删除会议A删除失败还是在列表中,培训D删除成功,在列表中被删除功能描述管理员在可报名活动查询页面中,对已有的可报名活动进行分类查询所属模块管理员-活动管理模块用例目的验证活动分类查询功能有没有符合需求定义前提条件系统里面有足够的可报名活动,其中有2项活动的[活动类型]里都含有“培训”两字,都没有“会议”二字,另外它们的[介绍]里没有“培训”二字。用例ID输入/动作期望结果实际情况测试结果FTC-037查询条件选择“介绍”,输入字符为空可报名活动查询页面出现所有活动可报名活动查询页面出现所有活动可报名活动查询页面出现所有活动FTC-038查询条件选择“介绍”,输入字符为“培训”活动查询页面没有任何一个活动被检索到活动查询页面没有任何一个活动被检索出来活动查询页面没有任何一个活动被检索列出来FTC-039查询条件选择“活动类型”,输入字符为“会议”活动查询页面没有任何一个活动被检索列出活动查询页面没有任何一个活动被检索列出来活动查询页面没有任何一个活动被检索到FTC-040查询条件选择“活动类型”,输入字符为“培训”可报名活动查询页面出现2项活动,[活动类型]里都含有“培训”两字可报名活动查询页面出现2项活动,[活动类型]里都含有“培训”两字可报名活动查询页面出现2项活动,[活动类型]里都含有“培训”两字表6.3管理员可报名活动管理功能测试6.2.4管理员已报名活动管理功能测试功能描述管理员在已报名活动增加页面中,代替员工报名活动并填写报名具体信息。所属模块管理员-报名管理模块用例目的验证代员工已报名活动增加功能是否符合需求定义前提条件员工1事先已经报名会议A,没有报名培训B,活动C剩余可选人数已为0用例ID输入/动作期望结果实际情况测试结果FTC-041活动名称:会议A被报名者:员工1代员工报名活动增加失败,并弹出提示“该活动已报名”代员工报名活动增加失败,并弹出提示“该活动已报名”代员工报名活动增加失败,并弹出提示“该活动已报名”FTC-042活动名称:活动C被报名者:员工1报名增加页面没有活动C可选项,代员工报名活动增加失败报名增加页面没有活动C可选项,代员工报名活动增加失败报名增加页面没有活动C可选项,代员工报名活动增加失败FTC-043活动名称:培训B被报名者:员工1代员工报名活动增加成功代员工报名活动增加成功代员工报名活动增加成功功能描述管理员在已报名活动查询页面中,对已报名活动进行批量删除。所属模块管理员-报名管理模块用例目的验证已报名活动的批量删除功能有没有符合需求的定义前提条件系统里面有足够的已报名活动,而且尚未勾选。其中有会议A-员工1和培训B-员工2。用例ID输入/动作期望结果实际情况测试结果FTC-044不勾选已报名活动并直接点击批量删除按钮已报名活动批量删除失败,并弹出提示“至少选中一条记录”已报名活动批量删除失败,并弹出提示“至少选中一条记录”已报名活动批量删除失败,并弹出提示“至少选中一条记录”FTC-045勾选一项已报名活动会议A-员工1,然后点击批量删除按钮可报名活动批量删除成功,会议A-员工1消失可报名活动批量删除成功,会议A-员工1消失可报名活动批量删除成功,会议A-员工1消失FTC-046勾选两项已报名活动会议A-员工1和培训B-员工2,然后点击批量删除按钮可报名活动批量删除成功,会议A-员工1和培训B-员工2消失可报名活动批量删除成功,会议A-员工1和培训B-员工2消失可报名活动批量删除成功,会议A-员工1和培训B-员工2消失功能描述管理员在已报名活动查询页面中,对已报名活动进行分类查询所属模块管理员-报名管理模块用例目的验证已报名活动分类查询功能有没有符合需求定义前提条件系统里面有足够的已报名活动,其中有2项报名的[活动]里都含有“培训”两字,都没有“会议”二字,另外它们的[员工]里没有“培训”二字。用例ID输入/动作期望结果实际情况测试结果FTC-047查询条件选择“活动”,输入字符为空已报名活动查询页面出现所有活动已报名活动查询页面出现所有活动已报名活动查询页面出现所有活动FTC-048查询条件选择“员工”,输入字符为“培训”报名查询页面没有任何一个活动被检索到报名查询页面没有任何一个活动被检索出来报名查询页面没有任何一个活动被检索列出来FTC-049查询条件选择“活动”,输入字符为“会议”报名查询页面没有任何一个活动被检索列出报名查询页面没有任何一个活动被检索出来报名查询页面没有任何一个活动被检索出来FTC-050查询条件选择“活动”,输入字符为“培训”已报名活动查询页面检索出2项活动,[活动]里都含有“培训”两字已报名活动查询页面检索出2项活动,[活动]里都含有“培训”两字已报名活动查询页面检索出2项活动,[活动]里都含有“培训”两字表6.4管理员已报名活动管理功能测试6.2.5员工可报名活动查询功能测试功能描述员工在可报名活动查询页面中,对已有的可报名活动进行分类查询所属模块员工-活动管理模块用例目的验证活动分类查询功能有没有符合需求定义前提条件系统里面有足够多的可报名活动,其中有3项活动的[活动名称]里都含有“活动”两字,都没有“培训”二字,另外它们的[描述]里没有“活动”二字。用例ID输入/动作期望结果实际情况测试结果FTC-051查询条件选择“描述”,输入字符为空可报名活动查询页面出现所有活动可报名活动查询页面出现所有活动可报名活动查询页面出现所有活动FTC-052查询条件选择“描述”,输入字符为“培训”活动查询页面没有任何一个活动被检索到活动查询页面没有任何一个活动被检索出来活动查询页面没有任何一个活动被检索列出来FTC-053查询条件选择“活动名称”,输入字符为“培训”活动查询页面没有任何一个活动被检索列出活动查询页面没有任何一个活动被检索列出来活动查询页面没有任何一个活动被检索到FTC-054查询条件选择“活动名称”,输入字符为“活动”可报名活动查询页面出现3项活动,[活动名称]里都含有“活动”两字可报名活动查询页面出现3项活动,[活动名称]里都含有“活动”两字可报名活动查询页面出现3项活动,[活动名称]里都含有“活动”两字表6.5员工可报名活动查询功能测试6.2.6员工报名活动功能测试功能描述员工在活动报名页面中,报名活动并且输入报名的具体信息。所属模块员工-报名管理模块用例目的验证员工活动报名功能是否符合需求定义前提条件员工2事先已经报名培训A,没有报名活动B,会议C剩余可选人数已为0用例ID输入/动作期望结果实际情况测试结果FTC-055活动名称:培训A被报名者:员工2员工2报名活动失败,并提示“该活动已报名”员工2报名活动失败,并提示“该活动已报名”员工2报名活动失败,并提示“该活动已报名”FTC-056活动名称:会议C被报名者:员工2报名增加页面没有会议C可选项,员工2报名活动失败报名增加页面没有会议C可选项,员工2报名活动失败报名增加页面没有会议C可选项,员工2报名活动失败FTC-057活动名称:活动B被报名者:员工2员工2报名活动增加成功员工2报名活动增加成功员工2报名活动增加成功功能描述员工在已报名活动查询页面中,对已报名活动进行分类查询所属模块员工-报名管理模块用例目的验证已报名活动分类查询功能能不能贴合需求定义前提条件系统里面员工3有足够的已报名活动,其中有4项报名的查询条件[报名类型]里都含有“会议”两字,所有已报名活动的查询条件[报名类型]都没有“活动”二字。用例ID输入/动作期望结果实际情况测试结果FTC-058查询条件选择“报名类型”,输入字符为空已报名活动查询页面出现所有活动已报名活动查询页面出现所有活动已报名活动查询页面出现所有活动FTC-059查询条件选择“报名类型”,输入字符为“活动”报名查询页面没有任何一个活动被检索到报名查询页面没有任何一个活动被检索出来报名查询页面没有任何一个活动被检索列出来FTC-060查询条件选择“活动”,输入字符为“会议”报名查询页面没有任何一个活动被检索列出报名查询页面没有任何一个活动被检索出来报名查询页面没有任何一个活动被检索出来FTC-061查询条件选择“报名类型”,输入字符为“会议”已报名活动查询页面检索出4项活动,[报名类型]里都含有“会议”两字已报名活动查询页面检索出4项活动,[报名类型]里都含有“会议”两字已报名活动查询页面检索出4项活动,[报名类型]里都含有“会议”两字表6.6员工报名活动功能测试7.总结本论文主要介绍了“基于SSH的在线报名管理系统的设计与实现”的从需求分析到程序设计最终到实现的过程。完成了主要技术介绍,数据流程介绍,数据库物理模型介绍,系统操作演示和软件测试。经过初期的系统设计和长时间的开发,本在线报名管理系统开发已经完成,任务书中的各项功能也都得到了实现。本在线报名管理系统使用便利,界面清爽,完成了三大功能。第一大功能是用户注册和登陆,第二大功能是员工报名,第三大功能是管理员活动管理和已报名事项管理。本在线报名管理系统的完成可以极大地方便公司对于会议活动和培训的员工报名电子化管理,降低管理人员处理门槛,减少用纸成本,方便及时更改报名内容。本在线报名管理系统的前端使用div和css的方法设计,使得布局页面非常精简,方便网页设计统一管理。后台系统则使用了ssh整合框架,用spring整合structs和hibernate,hibernate框架取代原始jdbc连接,用hql取代sql,使得系统的移植更加方便轻松。通过配置Spring使得控制反转得以实现。SSH整合框架让程序更加健壮,更加高效。本在线报名管理系统完成了需求分析中的功能还在此之上完善细节,使得系统更加人性化,但是本在线报名管理系统还是有所不足的,比方说页面细节不够,造型不够美观,页面设计上仍然有不尽人意之处,所以本在线报名管理系统仍然有许多地方有待改进。参考文献[1]PhilHanna.JSP技术大全[M].北京:机械工业出版社,2002:24-48.

[2]许勇.Struts2+Hibernate+Spring整合开发深入剖析与范例应用[M].北京:清华大学出版社,2013:15-27.

[3]喻浩.CSS+DIV网页样式与布局从入门到精通[M].北京:清华大学出版社,2013:23-78.

[4]朱红,司光亚.JAVAWeb编程指南[M].电子工业出版社,2001:73-256.

[5]孙卫琴,李洪成.Tomcat与JavaWeb开发技术详解[M].北京:电子工业出版社,2003:22-173.

[6](美)阿诺德,KenArnold,等.Java程序设计语言[M].北京:人民邮电出版社,2006:54-213.

[7]张孝祥.深入JavaWeb开发内幕—核心基础[M].北京:电子工业出版社,2006:13-197.

[8]刘京华.JavaWeb整合开发王者归来[M].北京:清华大学出版社,2010:46-210.

[9]计文柯.深入解析Spring架构与设计原理[M].北京:北京机械工业出版社,2012:33-145.

[10]王珊,萨师煊.数据库系统原理[M].北京:高等教育出版社,2002:17-203.

谢辞首先,我在此向指导老师表达诚挚由衷的谢意,本在线报名管理系统的开发离不开指导老师的悉心指导,本论文也离不开老师提供的详细的修改建议的帮助。从需求分析到细节实现都有老师的指导。然后还要感谢陪伴我走过四年青葱岁月的大学同学,在我需求分析起步的时候就给我提供了许多帮助,向我推荐各种java学习网站,以及详细开发的教学,教会了我自学的方法。每当我遇到难题,虽然不能直接相见,但他们依然能通过网络解答我的疑惑,毫无保留地把自己的想法告诉我,让我的网页设计更加人性化。非常高兴能够遇到这么友善可爱的同学们。我还要感谢四年来上课遇到的所有学校老师。是老师们课上的悉心教导培养了我们的计算机思想,锻炼了我们的逻辑思维,从更深入的角度看待问题,并且通过鼓励同学积极提出问题让我们在课堂活跃参与。最后我还想向学校表示感谢。学校提供的图书馆场所让我可以自由的借阅各种工具书和人文书籍,令我在提升专业知识的同时也能陶冶情操,增长人文见识,多方面发展。由于时间有限,而且本人的经验仍有许多不足,所以本论文依然有不少可以纠正的地方,因此我非常希望能够听到大家的宝贵的建议,让我的能力向上更进一步。

捷键与一些电脑小技巧HYPERLINKwinkey+d:

这是高手最常用的第一快捷组合键。这个快捷键组合可以将桌面上的所有窗口瞬间最小化,无论是聊天的窗口还是游戏的窗口……只要再次按下这个组合键,刚才的所有窗口都回来了,而且激活的也正是你最小化之前在使用的窗口!

--这个就是winkeywinkey+f:

不用再去移动鼠标点“开始→搜索→文件和文件夹”了,在任何状态下,只要一按winkey+f就会弹出搜索窗口。

winkey+r:

在我们的文章中,你经常会看到这样的操作提示:“点击‘开始→运行’,打开‘运行’对话框……”。其实,还有一个更简单的办法,就是按winkey+r!

alt+tab:

如果打开的窗口太多,这个组合键就非常有用了,它可以在一个窗口中显示当前打开的所有窗口的名称和图标●,选中自己希望要打开的窗口,松开这个组合键就可以了。而alt+tab+shift键则可以反向显示当前打开的窗口。

winkey+e:

当你需要打开资源管理器找文件的时候,这个快捷键会让你感觉非常“爽”!再也不用腾出一只手去摸鼠标了!

小提示:

winkey指的是键盘上刻有windows徽标的键●。winkey主要出现在104键和107键的键盘中。104键盘又称win95键盘,这种键盘在原来101键盘的左右两边、ctrl和alt键之间增加了两个windwos键和一个属性关联键。107键盘又称为win98键盘,比104键多了睡眠、唤醒、开机等电源管理键,这3个键大部分位于键盘的右上方。

再补充点

F1显示当前程序或者windows的帮助内容。

F2当你选中一个文件的话,这意味着“重命名”

F3当你在桌面上的时候是打开“查找:所有文件”对话框

F10或ALT激活当前程序的菜单栏

windows键或CTRL+ESC打开开始菜单

CTRL+ALT+DELETE在win9x中打开关闭程序对话框

DELETE删除被选择的选择项目,如果是文件,将被放入回收站

SHIFT+DELETE删除被选择的选择项目,如果是文件,将被直接删除而不是

放入回收站

CTRL+N新建一个新的文件

CTRL+O打开“打开文件”对话框

CTRL+P打开“打印”对话框

CTRL+S保存当前操作的文件

CTRL+X剪切被选择的项目到剪贴板

CTRL+INSERT或CTRL+C复制被选择的项目到剪贴板

SHIFT+INSERT或CTRL+V粘贴剪贴板中的内容到当前位置

ALT+BACKSPACE或CTRL+Z撤销上一步的操作

ALT+SHIFT+BACKSPACE重做上一步被撤销的操作

Windows键+D:最小化或恢复windows窗口

Windows键+U:打开“辅助工具管理器”

Windows键+CTRL+M重新将恢复上一项操作前窗口的大小和位置

Windows键+E打开资源管理器

Windows键+F打开“查找:所有文件”对话框

Windows键+R打开“运行”对话框

Windows键+BREAK打开“系统属性”对话框

Windows键+CTRL+F打开“查找:计算机”对话框

SHIFT+F10或鼠标右击打开当前活动项目的快捷菜单

SHIFT在放入CD的时候按下不放,可以跳过自动播放CD。在打开wo

rd的时候按下不放,可以跳过自启动的宏

ALT+F4关闭当前应用程序

ALT+SPACEBAR打开程序最左上角的菜单

ALT+TAB切换当前程序

ALT+ESC切换当前程序

ALT+ENTER将windows下运行的MSDOS窗口在窗口和全屏幕状态间切换

PRINTSCREEN将当前屏幕以图象方式拷贝到剪贴板

ALT+PRINTSCREEN将当前活动程序窗口以图象方式拷贝到剪贴板

CTRL+F4关闭当前应用程序中的当前文本(如word中)

CTRL+F6切换到当前应用程序中的下一个文本(加shift可以跳到前

一个窗口)

在IE中:

ALT+RIGHTARROW显示前一页(前进键)

ALT+LEFTARROW显示后一页(后退键)

CTRL+TAB在页面上的各框架中切换(加shift反向)

F5刷新

CTRL+F5强行刷新1.打开“我的电脑”-“工具”-“文件夹选项”-“查看”-在“显示所有文件和文件夹”选项前打勾-“确定”

2.删除以下文件夹中的内容:

x:\DocumentsandSettings\用户名\Cookies\下的所有文件(保留index文件)

x:\DocumentsandSettings\用户名\LocalSettings\Temp\下的所有文件(用户临时文件)

x:\DocumentsandSettings\用户名\LocalSettings\TemporaryInternetFiles\下的所有文件(页面文件)

x:\DocumentsandSettings\用户名\LocalSettings\History\下的所有文件(历史纪录)

x:\DocumentsandSettings\用户名\Recent\下的所有文件(最近浏览文件的快捷方式)

x:\WINDOWS\Temp\下的所有文件(临时文件)

x:\WINDOWS\ServicePackFiles(升级sp1或sp2后的备份文件)

x:\WINDOWS\DriverCache\i386下的压缩文件(驱动程序的备份文件)

x:\WINDOWS\SoftwareDistribution\download下的所有文件

3.如果对系统进行过windoesupdade升级,则删除以下文件:x:\windows\下以$u...开头的隐藏文件

4.然后对磁盘进行碎片整理,整理过程中请退出一切正在运行的程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论