还剩39页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
目录编号本科毕业论文基于B/S全国计算机等级考试网上报名系统的设计与实现院系姓名学号专业年级指导教师职称完成日期摘要随着科学技术的迅速发展,特别是近些年来,计算机技术以突飞猛进的速度渗透到了各个领域,成为人们生活中不可或缺的一部分迄今,我国的信息化建设已取得长足进步,各行各业及政府部门的信息系统建设、传统技术的改造、基础设施建设都有较快发展教育现代化、科学化管理是各个国家都十分重视的内容计算机技术和应用也越来越受到人们的关注,全国计算机等级考试作为面向社会、用于考查应试人员计算机应用知识与能力的全国性计算机水平考试体系,其社会影响力在不断提高,报考人数也不断增多然而,全国计算机等级考试考务管理的信息化程度还有待进一步提高,大部分考点采用简单的单击程序来实现报考信息的录入与维护,使得考试报名管理工作效率低下,不便考生报考,阻碍了登记考试的进一步发展本课题在分析了全国计算机等级考试报名现状以及对现有的考试报名系统进行研究比较的基础上,针对计算机等级考试报名的特殊性,设计研发了一套基于Web技术的全国计算机等级考试报名系统本系统前台主要使用JSP作为开发语言,后台使用MySQL作为数据库管理系统,开发环境是MyEclipse,服务器采用tomcat,开发出的一个基于Web技术的B/S结构的全国计算机等级考试报名系统关键词数据库;JSP;B/SAbstractWiththerapiddevelopmentofscienceandtechnologyespeciallyinrecentyearscomputertechnologytomakeaspurtofprogressspeedofpenetrationintothevariousfieldshasbecomeanindispensablepartofpeopleslife.Sofartheinformatizationconstructionofourcountryhasmadeconsiderableprogressbusinessesandgovernmentinformationsystemconstructionthetransformationoftraditionaltechnologyinfrastructureconstructionandrapiddevelopment.Themodernizationofeducationscientificmanagementisthevariouscountrieshaveattachedgreatimportancetothecontent.Computertechnologyandapplicationisalsogettingmoreandmoreattentionbypeoplethenationalcomputerrankexaminationorientedsocietyasforcomputerapplicationknowledgeandabilitytoexaminethecandidatesofthenationalcomputerlevelexaminationsystemthesocialinfluenceisincreasingthenumberofcandidateshavecontinuedtoincrease.Howeverthedegreeofinformationofnationalcomputerrankexaminationmanagementhavetobefurtherimprovedmostsitesusingasimpleclicktheprogramtorealizetheregisterinformationinputandmaintenancemaketheexaminationregistrationmanagementlowefficiencyinconvenientcandidateshinderthefurtherdevelopmentofregistrationexamination.ThispaperanalysistheNationalComputerRankExaminationaswellasthestatusquooftheexistingexaminationsystemwerecomparedonthebasisofthecomputergradeexaminationspecialapplicationdesignedasetofNationalComputerRankExaminationSystemBasedonWebtechnology.ThefrontofthesystemusingJSPasthedevelopmentlanguageMySQLasthedatabasemanagementsystemthedevelopmentenvironmentisMyEclipsetheserverusingtomcatdevelopedaNationalComputerRankExaminationSystemBasedonB/SstructureofWebtechnology.KeyWords Database;JSP;B/S目录TOC\o1-3\h\z\u1绪论
11.1课题背景与意义
11.2论文的研究内容
11.3论文的组织结构22系统的关键技术理论和开发环境
32.1开发工具及技术
32.
1.1MyEclipse
32.
1.2Tomcat
32.
1.3MySQL
32.
1.4JSP技术
42.2系统的开发环境53系统分析
63.1可行性分析
63.
1.1技术可行性
63.
1.2经济可行性
63.
1.3社会可行性
63.2总体设计原则
73.3系统需求分析
73.4部分用例
83.5系统数据流图94系统设计
114.1系统功能设计
114.2数据库设计
114.
2.1数据库理论基础
114.
2.2数据库需求分析
124.3数据库概念结构图
134.
3.1概念结构设计
144.
3.2数据库表设计
164.4数据库连接185系统实现
205.1注册登陆界面设计
205.2系统管理员主页面
235.3院系信息管理模块
235.4注册用户管理模块
245.5报名信息管理模块
245.6院系管理员登录主页面
255.7院系管理员个人信息和报名信息管理
265.8浏览系统信息
265.9在线报名功能
275.10用户系统留言296软件测试
306.1软件测试的重要性
306.2测试实例的研究与选择
306.3测试环境与测试条件
316.4测试用例
316.5系统评价337总结与展望34参考文献35致谢361绪论
1.1课题背景与意义科技在发展,社会在进步,计算机在今天已应用于各个领域之中,计算机等级考试网上报名系统就是其中之一传统的手写管理由于工作量巨大、存放麻烦、更新困难、不易备份,简单而重复性的操作浪费了大量的人力物力,它已随着时代的发展而落伍了传统的报名方式是由考务管理人员手工将考生信息输入到考务管理系统中,同时还要为考生照相并将电子照片手工导入系统随着报名人数的不断增加,传统报名方式的工作量越来越大,且容易出错近年来许多考点都相继建立了全国计算机等级考试网上报名系统,但功能和性能都有一定的欠缺,需要进一步完善本课题为基于B/S全国计算机等级考试网上报名系统的设计与实现,对改善现有的全国计算机等级考试报名方式将会起到很大的帮助通过利用SSH技术开发一个全国计算机等级考试报名系统,能够使现代信息化管理方式提高工作效率、减轻管理人员的负担,同时也为考生考试报名提供方便另一方面,基于B/S全国计算机等级考试网上报名系统的设计与实现本身就是一次很好的锻炼机会,不仅能巩固软件工程、项目管理、数据库设计等大学的专业课程,还能够增强自己的独立思考能力、学习探索能力以及创新能力
1.2论文的研究内容通过认真分析全省考务工作的整个流程,提出一种报名由现场到网上、数据采集由下级到上级、考务的实施由分散到集中的设计方案,得出系统的需求由两部分构成,一部分主要完成报名信息的发布、报名数据的采集、报名信息的审核、报名疑问的解答、考生分数的查询等功能,主要以网页网站的方式,即B/S模式实现另一部分主要完成报名数据的筛选、准考证号的编排、考生数据的下发,主要以应用程序的方式,即C/S模式实现,用来辅助报名工作的顺利完成针对具体功能模块进行详细设计主要包括考试项目简介、报名点查询、报名流程、考生报名、报名信息的修改、考生问答、成绩查询、考点管理登录和网上报名辅助程序考生报名中重点设计了身份证号的有效验证、有保留成绩的校验、报名号自动生成、考点自动分配、上传和裁剪相片、网上交费等内容;考点管理登录中重点设计了报名信息的审核、现场交费、报名数据筛选等内容;网上报名辅助程序中重点设计了对各考点管理员的管理、考点归属设置、准考证号编排、报名数据的导出分发、合并成绩和报名库、数据的维护和备份等内容除各功能的实现外,为缓解访问压力,防止系统崩溃,还对数据库数据的缓冲和更新进行了精心的设计,从而达到安全高效的目的另外,还从安全角度考虑,对系统硬件架构采用两层防火墙设计,公共区和内部区公共区主要涉及面向考生的Web服务;内部区主要用于考试机构内部进行数据交换,以及对核心数据的控制
1.3论文的组织结构⑴绪论对课题的研究背景及现状进行了分析,阐述了本课题设计研究的意义和主要设计思路⑵系统的关键技术理论和开发环境对系统的开发环境以及所用到的技术的介绍⑶系统分析对系统开发进行综合分析,保证系统能够长期、安全、稳定、可靠、高效的运行,并对系统的具体实现提出了模块划分和阐述,以此提出系统的开发方法,完成本系统的前期准备工作⑷系统设计对本系统的设计原理以及结构组成进行详细的描述,对系统硬件架构进行分析,对数据库的访问及缓冲机制进行分析,设计系统的数据库,确定系统的开发和运行环境⑸系统实现详细说明了考务功能模块设计的重点、设计思想、解决方案以及类结构图,根据前面的分析和设计给出了系统具体实现的界面和部分代码⑹软件测试测试表明整个系统运行正常,各项主要功能均处理正确⑺总结与展望对全文进行总结,指出系统的成功与不足,并对以后系统技术的改进和遇到类似系统开发的注意事项2系统的关键技术理论和开发环境
2.1开发工具及技术
2.
1.1MyEclipseMyEclipse,是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate
2.
1.2TomcatTomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选可以这样认为,在一台机器上配置好Apahce服务器,可利用它响应对HTML页面的访问请求实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的
2.
1.3MySQLMySQL是最受欢迎的开源SQL数据库管理系统,它由MySQLAB开发、发布和支持MySQLAB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司MySQL是MySQLAB的注册商标MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置mass-deployed的软件中去MySQL网站http://www.mysql.com提供了关于MySQL和MySQLAB的最新的消息 MySQL是一个数据库管理系统一个数据库是一个结构化的数据集合它可以是从一个简单的销售表到一个美术馆、或者一个社团网络的庞大的信息集合如果要添加、访问和处理存储在一个计算机数据库中的数据,你就需要一个像MySQL这样的数据库管理系统从计算机可以很好的处理大量的数据以来,数据库管理系统就在计算机处理中和独立应用程序或其他部分应用程序一样扮演着一个重要的角色MySQL是一个关系数据库管理系统关系数据库把数据存放在分立的表格中,这比把所有数据存放在一个大仓库中要好得多,这样做将增加你的速度和灵活性“MySQL”中的SQL代表“StructuredQueryLanguage”(结构化查询语言)SQL是用于访问数据库的最通用的标准语言,它是由ANSI/ISO定义的SQL标准SQL标准发展自1986年以来,已经存在多个版本SQL-86,SQL-92,SQL:1999,SQL:2003,其中SQL:2003是该标准的当前版本MySQL是开源的开源意味着任何人都可以使用和修改该软件,任何人都可以从Internet上下载和使用MySQL而不需要支付任何费用如果你愿意,你可以研究其源代码,并根据你的需要修改它MySQL使用GPLGNUGeneralPublicLicense,通用公共许可,在hpt://www.fsf.org/licenses中定义了你在不同的场合对软件可以或不可以做什么如果你觉得GPL不好或者想把MySQL的源代码集成到一个商业应用中去,你可以向MySQLAB购买一个商业许可版本
2.
1.4JSP技术JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能JSP与Servlet一样,是在服务器端执行的,通常返回给客户端就是一个HTML文本,因此客户端只要有浏览器能浏览JSP页面由HTML代码和嵌入其中的Java代码所组成服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点JSP技术的优点⑴一次编写,多处运行除了系统之外,代码不用做任何更改⑵系统的多平台支持基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展相比ASP/.net的局限性是显而易见的⑶强大的可伸缩性从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力⑷多样化和功能强大的开发工具支持Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下⑸支持服务器端组件web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能JSP可以使用成熟的JAVABEANS组件来实现复杂商务功能内部对象说明request客户端请求,此请求会包含来自GET/POST请求的参数;response 网页传回客户端的响应;pageContext网页的属性是在这里管理;session与请求有关的会话;applicationservlet正在执行的内容;out用来传送响应的输出流;config 代码片段配置对象;page JSP网页本身;exception 针对错误网页,未捕捉的例外
2.2系统的开发环境在网上报名系统课题的开发中使用的操作系统平台是Windows7,数据库系统采用的是免费的MySQL关系型数据库管理系统,体系结构采用的是基于B/S的三层架构,实现客户端表现层、业务逻辑层和数据持久层分层,以使得系统更加灵活,并且增加系统的可靠性和便于系统维护在上述开发平台上使用以下开发环境来开发网络招生报名系统开发语言采用JAVAJDK
1.6,系统前台页面开发设计使用DreamweaverMX2010,采用免费的MyEclipse
8.5作为系统开发的集成开发环境,并且使用Tomcat
6.0作为JSP的服务器引擎3系统分析系统分析就是对系统从技术可行性、经济可行性和操作可行性进行分析对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排,明确开发目标本系统采用的架构是mvc模式
3.1可行性分析可行性分析也称为可行性研究,是在调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会等方面进行分析和研究,以避免投资失误,保证系统的开发成功可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决下面将分别从技术、经济、社会三个方面对全国计算机等级考试报名系统的建设进行分析和研究
3.
1.1技术可行性根据系统功能、性能及实现系统的各种约束条件,确定系统目标来衡量所需的技术是否具备,本系统是一个基于数据库的管理系统,现有的JSP技术已较为成熟硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标同时考虑到开发期限也较为充裕,预计系统是可以在规定期限内完成开发的由以上分析可知,本系统开发在技术上是可行的
3.
1.2经济可行性本系统采用的软件都是开源的,不用额外花费费用,这样可以削减很多的精力和资源,起到减少成本的作用同时本系统对计算机配置的条件很低,乃至网吧淘汰下来的低配置计算机也可以满足需要,因此在经济上完全具有可行性由以上分析可知,本系统开发在技术上是可行的
3.
1.3社会可行性本系统的社会可行性主要从法律因素、用户使用可行性两方面进行研究⑴法律因素本系统是根据全国计算机等级考试报名的实际情况开发研制的,是通过大量的调研得出的,系统的软件设计是在独立的环境下完成的,无可供抄袭的软件产品⑵用户使用可行性本系统对用户的要求,除了需要具备在MicrosoftWindows平台上使用个人电脑的知识外,并不需要特别的技术能力使用系统的管理员,需要具备对Tomcat服务器的使用能力,在投入使用前,无需对操作系统的人员进行培训这样既减少投入成本又简化了操作环节由以上分析可知,本系统具有社会可行性
3.2总体设计原则本系统为了设计、实现和后期维护的方便,以及系统用户使用的便利,所以必须采取一定的设计原则其主要设计原则有简单性在实现系统的功能的同时,尽量让系统操作简单易懂,这对于一个系统来说是非常重要的针对性本系统设计是针对全国计算机等级考试报名系统的需求定向开发设计,所以具有专业突出和很强的针对性实用性要求本系统能够满足全国计算机等级考试报名的基本需求,因此具有良好的实用性一致性页面整体设计风格以及命名规则的一致性整体页面布局和用图用色风格及变量、类名和其他元素的命名规则保持一致功能一致性完成同样的功能应该尽量使用同样的元素元素风格一致性界面元素的美观风格、摆放位置在同一个界面和不同界面之间都应该是一致的变量命名规则的一致性变量应该用统一的规则进行命名,做到任意变量均能从上下文推断其义先进性本系统采用JSP技术、MySQL等被广泛采用系统开发技术和数据库,因此本设计具有良好的先进性,具体表现在其具有良好的可扩展性,可开发性
3.3系统需求分析系统的需求分析是软件设计和开发的出发点,合理的需求分析是系统成败的关键能够完整全面的理解客户的合理需求,才是良好的系统需求开发,才能够在软件系统的开发中起到指导作用系统由十个模块构成,其中,前台分为五个模块,后台分为五个模块前台的五个模块分别为注册登录、在线报名、留言、报名流程、报考信息查询各模块的功能描述如下1注册登录实现考生注册、个人信息填写、照片上传、考生登录验证;2在线报名实现在线报名;3留言实现在线留言功能、查看留言、查看回复;4报名流程查看报名准则;5报考信息查询院系查询、报考等级查询、考号查询、考场查询;后台的五个模块分别为报名结果查询、个人信息管理、院系管理、考生管理、报考信息管理各模块的功能描述如下1报名结果查询查看报名情况;2个人信息管理管理员信息查看以及管理信息修改;3院系管理添加、删除院系及院系管理员;4考生管理考生信息管理;5报考信息管理考生报考信息管理;
3.4部分用例⑴管理员用例图系统管理员是系统的核心用户,涉及到几大功能模块,能够及时动态的掌握系统的各项情况用例图如图3-1所示登陆系统用户信息管理有权限的管理人员修改登录密码报名信息管理院系管理留言模块图3-1管理员用例图⑵用户用例图用户可在线注册成为注册用户,用例图如图3-2所示在线报名考试顾客查看报名流程系统留言在线注册与登录查看考生须知图3-2用户用例图
3.5系统数据流图⑴总体数据流图本系统总体数据流图如图3-3所示图3-3系统总体数据流图⑵用户报名数据流图如图3-4所示图3-4用户报名数据流图4系统设计
4.1系统功能设计系统设计是一个把软件需求转换成用软件系统表示的过程通过对目标系统的分析和研究,做出系统的总体规划,这是全面开发系统的重要基础从数据流图出发,对数据流图进行分析,得出的层次化的系统功能模块结构图4-1所示人员1��#0;人员2�#0;#0;#0;全国计算机等级考试报名系统报名信息管理院系信息管理注册用户管理修改登录密码修改登录密码管理本院报名院系管理员查看考试流程查看考生须知在线考试报名系统管理员用户在线注册登录系统留言交流图4-1系统功能模块图
4.2数据库设计
4.
2.1数据库理论基础数据库是本系统的核心和基础它设计的好坏直接影响着整个系统的质量数据是一切系统设计的基础,通俗地说,数据库设计就像高楼大厦的根基一样,如果设计的不合理、不完善,将在系统开发过程中,甚至到后期的系统维护、功能变更和功能扩充时,引起较多问题,严重时甚至要重新设计,重做大量已完成工作一个成功的系统,是建立在许多条件之上的,而数据库是其中一个非常重要的条件和关键技术系统所涉及的数据库设计分五个步骤数据库需求分析、概念设计、逻辑设计、物理设计与加载测试⑴数据库需求分析的任务是将业务管理单证流化为数据流,划分主题之间的边界,绘制出DFD图,并完成相应的数据字典⑵概念设计的任务是从DFD出发,绘制出本主题的实体-关系图,并列出各个实体与关系的纲要表⑶逻辑设计的任务是从E-R图与对应的纲要表出发,确定各个实体及关系的表名属性⑷物理设计的任务是确定所有属性的类型、宽度与取值范围,设计出基本表的主键,将所有的表名与字段名英文化,实现物理建库,完成数据库物理设计字典⑸加载测试工作贯穿于程序测试工作的全过程,整个录入、修改、查询、处理工作均可视为对数据库的加载测试工作要设计出一个好的系统数据库,除满足系统所要求的功能外,还必须遵守下列原则基本表的个数越少越好主键的个数越少越好键是表间连接的工具,主键越少,表间的连接就越简单字段的个数越少越好⑷所有基本表的设计均应尽量符合第三范式数据库的设计中,如何处理多对多的关系和如何设计主键,是两个有着较大难度、需要重点考虑的问题下面我们着重从SQL应用、数据库设计范式和查询优化等方面来分析本课题的系统关键技术和实现难点并加以解决
4.
2.2数据库需求分析⑴用户分普通考生、院系管理员和系统管理员用户⑵每个考试等级都从属于一种类型⑶一个考生一次只能报考一个等级⑷一个等级可以给多个考生报考⑸任何人都可对网站留言经过上述的需求分析总结,设计如下的数据项和数据结构⑴管理员信息,包括数据项帐号、密码等⑵普通考生,包括数据项姓名、身份证号、联系方式等⑶报考信息表,包括数据项考生身份证号、报考等级⑷留言表,包括数据项留言内容、留言时间
4.3数据库概念结构图根据以上的数据分析设计可规划出的实体有管理员信息实体、考生信息实体、报考信息实体、留言表实体其中各个实体之间关系的E-R图如图4-2所示图4-2实体之间关系的E-R图各个实体具体描述E-R图如图4-3——4-6所示
4.
3.1概念结构设计从数据需求分析中得出系统的实体属性图⑴管理员实体属性图如图4-7所示考勤管理奖惩类型管理员信息管理员ID登录账号登录密码图4-7管理员实体属性图⑵用户信息实体属性图如图4-8所示考勤管理奖惩类型�用户信息学号姓名性别电话用户ID年龄密码图4-8用户信息实体属性图⑶报名信息实体属性图如图4-9所示考勤管理奖惩类型�报名信息等级科目用户ID学号电话报名ID年龄身份证姓名性别图4-9报名信息实体属性图⑷留言信息实体属性图如图4-10所示考勤管理奖惩类型留言信息内容回复时间回复用户ID留言时间留言ID图4-10留言信息实体属性图
4.
3.2数据库表设计
(1)管理员信息表t_admin管理员信息表主要用于保存系统管理员的信息,主要字段包括管理员ID、登陆账号、登陆密码表4-1管理员信息表(t_admin)列名数据类型长度允许空是否主键说明userIdint10否是管理员IDuserNamevarchar50否否登陆账号userPwvarchar50否否登陆密码
(2)注册用户信息表t_user注册用户信息表主要保存注册用户的相关信息表4-2注册用户信息表(t_user)列名数据类型长度允许空是否主键说明idint10否是用户IDxuehaovarchar50否否学号xingmingvarchar50否否姓名xingbievarchar50否否性别nianlingint10否否年龄dianhuavarchar50否否电话loginpwvarchar50否否密码
(3)报名信息表t_baoming报名信息表主要保存报名的相关信息表4-3报名信息表(t_baoming)列名数据类型长度允许空是否主键说明idint10否是报名IDdengjivarchar50否否等级kemuvarchar50否否科目xuehaovarchar50否否学号xingmingvarchar50否否姓名xingbievarchar50否否性别nianlingint10否否年龄dianhuavarchar50否否电话shenfenzhengvarchar50否否身份证userIdint10否否用户ID
(4)留言信息表t_liuyan留言信息表主要保存留言的相关信息表4-4留言信息表(t_liuyan)列名数据类型长度允许空是否主键说明idint10否是留言IDneirongint500否否内容liuyanshiint50否否留言时间userIdvarchar10否否用户IDhuifuint500否否回复huifushidecimal50否否回复时间
4.4数据库连接采用JDBC连接数据库的方式,只需在工程中导入对应数据库的jar包,就可以方便的对数据库进行连接,在程序中,用Class.forName方法来加载驱动程序,在用DriverManager的getConnection()方法就可以创建一个数据库连接程序采用的是DAO模式来操作数据库,DAODataAccessObject,数据访问对象,是Java编程中的一种经典模式,已被广泛应用,也是J2EE架构中持久层框架的基础知识,基于分层次式的软件架构来实现对数据库的访问操作DAO模式的主要思想就是从抽象数据源获取与操纵数据的方法抽象数据的含义就是编写应用程序的程序员不必关心数据库的物理位置,已经是何种数据库,只需使用封装数据库中表示记录的数据对象即可其思想如图4-11所示图4-11DAO模式类图图中BussinessObject是业务对象,是使用DAO模式的客户端;DataTransferObject数据传输对象,在应用程序不同层次之间传输对象,在一个分布式应用程序中,通常可以提高整理的性能;DataObjectAcces数据输入/输出对象封装了对数据源的一些基本操作;DataSource指的是数据源可以从图中看出,DAO模式分离了业务逻辑和数据罗即将,是的编写的软件具有良好的层次式体系结构本系统为了方便数据库的操作,主要使用DBContent的对象来接一个数据库(建立一个类DBContent),代码如下publicDBContent{StringCLASSFORNAME=com.mysql.jdbc.Driver;//连接数据库的驱动Stringurl=jdbc:mysql://localhost:3306/db_baomUnicode=trueharacterEncoding=utf-8;Stringuser=root;//连接数据库的用户名Stringpassword=root;//连接数据库的密码try{Class.forNameCLASSFORNAME;con=DriverManager.getConnectionurl,user,password;//加载数据库的驱动stmt=con.createStatementResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE;}catchExceptionex{ex.printStackTrace;}}在程序需要连接数据库的地方,只需要生成一个DBConnet的对象,就可以对数据库进行连接并操作5系统实现在管理信息系统的生命周期中,经过了需求分析、系统设计等阶段之后,便开始了系统实施阶段在系统分析和设计阶段,系统开发工作主要是集中在逻辑、功能和技术设计上,系统实施阶段要继承此前各个阶段的工作成果,将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶
5.1注册登陆界面设计如果需要注册新用户,就可以使用用户注册功能,用户注册模块用来完成用户的注册操作添加的信息包括用户的学号、姓名、性别、年龄、电话、密码等信息如果输入信息全部符合要求,系统会用一条插入的SQL语句将用户信息保存到数据库的用户表中在用户注册页面系统简单使用了正则表达式来对用户输入信息是否符合要求进行判别,是否为空是通过form表单中的onsubmit=returncheckForm来检查验证性别字段默认选择男,用户可以进行选择,信息输入完毕后点击确定按钮,之后系统会给出用户注册成功与否的提示信息用户注册窗口如图5-1所示图5-1用户注册页面设计为了保证系统的安全性,管理员要使用本系统必须先登陆到系统中管理员登录采用AJAX方式进行验证,先是在前台获取管理员输入的登录账号、密码,点击登录后,通过AJAX方式,后台异步进行验证,实现页面无刷新的管理员登录程序运行效果图如图5-2所示图5-2用户登陆页面设计在登陆页面输入用户名和密码,点击提交按钮,跳转到登陆的service中,在该service中会对用户名,密码进行判断,如果正确提示“通过验证”,进入到管理界面,如果错误则提示“用户名和密码不正确”,页面调转到登陆页loginservice关键代码Stringsql=select*fromt_adminwhereuserName=anduserPw=;Object[]params={userName,userPw};DBmydb=newDB;mydb.doPstmsql,params;try{ResultSetrs=mydb.getRs;booleanmark=rs==null||!rs.nextfalse:true;ifmark==false{result=no;}else{result=yes;TAdminadmin=newTAdmin;admin.setUserIdrs.getIntuserId;admin.setUserNamers.getStringuserName;admin.setUserPwrs.getStringuserPw;WebContextctx=WebContextFactory.get;HttpSessionsession=ctx.getSession;session.setAttributeuserType,0;session.setAttributeadmin,admin;}rs.close;}catchSQLExceptione{System.out.println登录失败!;e.printStackTrace;}finally{mydb.closed;}
5.2系统管理员主页面系统管理员主页面的左方页面展示了管理员可操作的功能菜单,进入相关的管理页面可以链接到子菜单,每个管理模块下面都有相应的子菜单程序运行效果图如图5-3所示图5-3系统管理员主页面在系统中必要的jsp页面将会对用户进行拦截操作,这样可以提高安全性,防止用户不经过登陆页面而进入任何子菜单页面ifsession.getAttributeuser==null{out.printscriptalert请先登录!;window.open../index.jsp_self/script;}
5.3院系信息管理模块系统管理员可以添加院系和院系管理员,以及对院系信息进行管理程序运行效果如图5-4所示图5-4院系信息管理
5.4注册用户管理模块该管理模块实现管理员对注册用户信息的管理操作点击注册用户管理菜单,系统调用后台对应的注册用户Action类查询出所有的注册用户信息,并把这些信息封装到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,通过el表达式显示出来在注册用户管理功能中,页面通过列表列出所有的注册用户信息,包括学号、姓名、性别、年龄、电话以及密码等信息点击列表的删除按钮,实现注册用户信息的删除操作程序效果图如图5-5所示图5-5用户信息管理
5.5报名信息管理模块该管理模块实现管理员对报名信息的管理操作点击报名信息管理菜单,系统调用后台对应的报名Action类查询出所有的报名信息,并把这些信息封装到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,通过el表达式显示出来在报名信息管理功能中,页面通过列表列出当前用户所有的报名信息,包括登记、科目、学号、姓名、性别、年龄、电话、身份证号等信息点击列表的删除按钮,实现报名信息的删除操作程序效果图如图5-6所示图5-6报名信息管理页面
5.6院系管理员登录主页面院系管理员登录采用AJAX方式进行验证,先是在前台获取管理员登陆界面,通过下拉菜单选取到院系管理员登录输入院系管理员的登录账号、密码,点击登录后,通过AJAX方式,后台异步进行验证,实现页面无刷新的管理员登录,进入院系管理员主界面程序运行效果图如图5-7所示图5-7院系管理员登录主页面
5.7院系管理员个人信息和报名信息管理院系管理员可对自身登录密码进行修改,以及对注册用户在本院系的报名信息进行管理程序运行效果如图5-8所示图5-8院系管理员功能管理
5.8浏览系统信息用户可以在首页浏览报名流程和考生须知,点击“报名流程”菜单,系统跳转到报名流程详细信息的页面,在这里系统将考生报名考试的详细流程呈现给用户,方便用户参加考试点击“考生须知”菜单,系统跳转到考生须知详细信息的页面,在这里系统将考生报名考试需要注意的事项列举出来,以便避免不必要的麻烦让考生能够顺利的参加考试程序效果图如下图5-
9、5-10所示图5-9报名流程页面图5-10考生须知页面
5.9在线报名功能用户登录系统之后点击添加在线报名菜单,系统跳转到填写报名信息的页面在此页面主要是添加报名考试的相关信息,包括填写或选择考试等级、考试科目、学号、姓名、性别以及年龄等,点击确定按钮完成报名,在这里是通过下拉框的形式将考试等级和考试科目呈现出来如果是没有输入完整的报名信息,比如没有输入学号,系统都会给出相应的错误提示,不能录入成功是否为空是通过form表单中的onsubmit=returncheckForm来检查程序效果图如图5-11所示图5-11在线报名页面用户可以对自己的报名信息进行管理,用户点击“我的报名”菜单,页面跳转到报名信息管理界面,系统将调用后台的报名信息Action类查询出所有的报名信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出报名信息包括考试等级、考试科目、学号、姓名、性别以及年龄等信息点击删除按钮,可以将对应的报名信息删除程序效果图如下图5-12所示图5-12报名信息管理页面
5.10用户系统留言该功能模块实现用户对系统进行留言的操作用户点击菜单栏的“留言板块”菜单,页面跳转到留言界面,系统将调用后台的留言Action类查询出所有符合条件的留言信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出留言信息点击我要留言咨询链接,可以输入留言内容进行留言程序效果图如下图5-13所示图5-13留言板块页面6软件测试测试是开发时期最后一个阶段,是保证软件质量的重要手段软件测试就是在受控制的条件下对系统或应用程序进行操作并评价操作结果的过程,所谓控制条件应包括正常条件与非正常条件软件测试过程中应该故意地去促使错误的发生,也就是事情在不该出现的时候出现或者在应该出现的时候没有出现从本质上说,软件测试是探测,在“探测”中发现软件的毛病
6.1软件测试的重要性软件测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计测试是所有工程学科的基本组成单元,是软件开发的重要部分自有程序设计的那天起测试就一直伴随着统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上而在软件开发的总成本中,用在测试上的开销要占30%到50%如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作
6.2测试实例的研究与选择程序测试的主要方法分为两大类,白盒测试和黑盒测试白盒测试一种是以程序的内部逻辑结构为依据而设计测试用例的方法,因而又称结构测试或玻璃盒测试,将软件看成一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查它与设计是否相符白盒测试就是要选取足够的测试用例,对源代码实行比较充分的覆盖,以便尽可能多地发现程序中的错误主要有两种方法一种称为逻辑覆盖法,另一种称为路径覆盖法黑盒测试也称功能测试,数据驱动测试等,它将待测对象堪称是一个黑盒子,在完全不考虑程序的内部结构和特性的情况下,只依据规格说明书检查程序的功能是否能正常使用黑盒测试主要是根据输入条件和输出条件的确定测试数据,来检查程序是否能产生正确的输出进行黑盒测试主要有下面几种方法等价分类法、边界值分析法、猜错法、因果图法本系统的测试综合了白盒测试、黑盒测试两种方法,但主要使用的是黑盒测试方法在测试当中遵循了“尽早地和不断进行测试”,“保证测试用例的完整性和有效性”原则通过测试达到以下测试目的⑴功能检查检查功能是否争取,是否遗漏或实现不了应该实现的功能等⑵接口检查检查能否正确地接受信息或输出信息⑶数据检查检查数据结构或外部信息是否有(如数据文件)访问错误⑷性能检查检查性能需求能否得到满足⑸初始化、终止检查检查是否能进行正确地初始化或终止
6.3测试环境与测试条件处理器InterRCoreTM2DuoT5750内存2GB硬盘160G操作系统WindowsXP数据库MySQL浏览器IE浏览器、FireFox浏览器
6.4测试用例以下表格的形式列出部分测试的示例表6-1功能测试被测页面测试步骤用例描述期望结果管理员后台登陆页输入正确的用户名和密码点击“登录”按钮用户名admin密码admin123角色管理员正常登陆转入对应的系统界面管理员后台登陆页用户名正确,密码输入错误,点击“登录”按钮用户名admin密码admin角色管理员不能正常登陆并显示相应提示栏目类别管理页成功登录后,点击“**信息管理”超联接用户名admin密码admin123角色管理员栏目类别对应的信息管理功能成功运行考生在线报名按格式填写完各项内容后,点报名用户名2015001密码000000角色注册用户能成功完成报名并跳转到对应页面表6-2连接负载测试被测页面并发数目预期结果响应时间管理员后台登录页1020ms15ms前台主界面页5030ms20ms表6-3权限测试被测页面用例描述预期的结果测试的结果管理员后台改密码页无非管理员用户登录不能访问正确管理员后台信息管理页无非管理员用户登录不能访问正确表6-4超时测试被测页面用例描述预期的结果测试的结果管理员后台主界面页用户名admin密码admin123角色管理员离开系统30分钟后,Session自动失效正确注册用户报名页面用户名2015001密码000000角色注册用户离开系统30分钟后,Session自动失效正确表6-5兼容性测试被测页面浏览器名称预期的结果测试的结果前台主页面IE
6.0良好兼容良好兼容前台主页面IE
7.0良好兼容良好兼容前台主页面FireFox良好兼容良好兼容
6.5系统评价系统评价是指系统在正式运行了一段时间之后,对它在功能上、技术上和经济上所进行的审核评价针对本系统的评价如下⑴系统功能评价根据本系统开发前所订的目标,在系统完成后经过测试运行,该系统达到了预定的开发目标,在实际使用中的功能可以满足用户需求⑵系统技术评价本系统设计合理,功能达到了预期目标,且系统运行后稳定可靠,安全性高,具有实用性,大大提高了信访办公效率系统经济评价在规定时间内,该系统完成了系统分析时所确定的系统开发目标,达到了设计要求,投入使用后为用户节省了大量人力物力财力,提高了科学管理水平7总结与展望计算机技术的飞速发展带动了很多行业的发展,计算机带给我们最直观的价值就是减少了人力物力的投资,提高了工作质量和效率,从而提高了整个社会的生产力本文在分析全国计算机等级考试报名系统的基础上,用JSP和MySQL数据库设计并完成本系统本系统基本完成了功能需求在整个设计过程中,采用瀑布模型和结构化的设计方法本系统界面美观友好,操作方便,做出了自己的特色在毕业设计和开发期间,经过老师的指导和三个多月的认真学习,同时翻阅了大量的资料,终于完了全国计算机等级考试报名系统开发设计其功能基本符合用户需求,能够完成课题的提交我感觉自己从理论到实践都有了长足的进步和很大的提高,使我在数据库设计方面、JSP编程技术方面有了长足的进步,对系统的开发过程、步骤有了比较深刻的认识通过毕业设计,我还明白了一点,合作是至关重要的虽然我是自己一个人为一组,但是在设计过程中也经常和同学们商量,相互借鉴一个完整软件程序需要若干个人的通力合作在系统开发过程中,我加强和同学们的沟通和交流,使得对每一个问题的解决获得较优的方案,从而保证系统的合理性、完整性,为该平台的进一步完善和扩充打下了良好的基础因系统开发的人力物力有限,在不少环节上还是存在着不完善的地方,有待于后期的改进和提高,日后对系统改进的主要方面有⑴为预报名系统提供更友好的交互应用界面⑵扩展系统的功能系统中有些功能并未完善,日后要根据工作的实际情况,考虑在后期的数据分析上增加数据挖掘功能等,有待于后期的完善⑶系统逐步将与湛江师范学院教务管理系统、校园一卡通系统等其他业务的系统实施全面的整合,构建一个功能更强大的综合考试报名系统管理平台以上需要改进的三点,可以对系统进行后期的扩充和完善撰写毕业论文期间,我深刻体会到,实践到理论的重要性在实践到理论的转化中,我将自己的工作过程清晰的展现在面前,而且增强了自己查阅资料的能力,获得了一些必要的知识总之,在整个毕业设计期间,我既有收获,也发现了自己的不足今后,我一定更加努力,弥补自己的不足,提高自己的水平参考文献
[1]刘耿龙.计算机等级考试网上报名系统的设计与实现[J].实验技术与管理,2010279172-
174.
[2]康牧.JSP动态网站开发实用教程[M].清华大学出版社.
2009.127-
127.
[3]陈艺.基于B/S模式的等级考试报名系统的设计与实现[J].四川文理学院学报200832:72-
74.
[4]韦妍.基于B/S模式的全国计算机等级考试报名系统[J].吉首大学学报2013341:33-
36.
[5]杨学瑜.高立军,软件开发过程与项目管理[M].电子工业出版社.
2008.43-
46.
[6]张琳.基于多层B/S结构的全国计算机等级考试网上报名系统设计[D].西安:西安电子科技大学
2009.
[7]戴维尔.JavaScript程序员教程[M].电子工业出版社.
2010.333-
334.
[8]黎连业、王华、李淑春.软件测试与测试技术[M].清华大学出版社.
2009.321-
322.
[9]余萍.设计模式在报名系统中的研究与应用[J].重庆文理院学报.200763:33-
35.
[10]JamesD.McCaffrey等.NET软件测试自动化之道[M].北京:电子工业出版社.
2007.213-
214.
[11]甘仞初.信息系统开发[M].北京:经济科学出版社.
2007.144-
145.
[12]马赫.DreamweaverMX2004网页设计经典108例[M].中国青年出版社.
2005.99-
101.
[13]唐友国湛洪波著.JSP网站开发详解[M].电子工业出版社.
2008.111-
112.
[14]卫红春等著.信息系统分析与设计[M].北京:清华大学出版社.
2009.51-
53.
[15]张大方李玮等著.软件测试技术与管理[M].湖南:湖南大学出版社.
2007.333-
334.
[16]美H.M.Deitel,P.Jdeitel.Java程序设计教程第五版[M].清华大学出版社.
2004.212-
212.
[17]彭伟新.肇庆科技学院计算机基础在线考试系统设计与实现[D].广州:华南理工大学
2011.
[18]孙卫琴等.精通struts:基于MVC的JavaWeb设计与开发[M].电子工业出版社.
2005.144-
144.
[19]张文静林琪著.JSP程序设计[M].人民邮电出版社.
2005.256-
257.
[20]孙卫琴李洪成著.Tomcat与JavaWeb开发技术详解[M].电子工业出版社.
2005.343-
344.
[21]盛锐韵湘.基于PowerDesigner的数据库设计与实现[J].电脑应用技术20066602:1-
5.致谢大学生活在这个时候即将划上一个句号但是对于我的人生道路来说,这仅仅是一个逗号,我将面对的是又一次征程的开始回忆过去,许许多多的事情浮现在脑海刚上大学时欢乐心情和兴奋的场景还历历在目一切都是那么新鲜,那么富有吸引力有快乐也有艰辛,有收获也有失落衷心感谢信息学院所有支持帮助过我的老师,谢谢你们多年来的关心和爱护同窗的友情同样难忘,你们与我共同走过了人生中不平凡的道路,给我留下了值得珍藏的美好记忆最后,我要特别感谢指导教师陈萍老师本论文是在她的悉心指导和热情帮助下完成的,老师认真负责的工作态度,严谨的治学精神和精深的理论水平都使我受益匪浅她无论在理论上还是在实践中,都给予我很大的帮助,使我专业技能的应用水平得到很大提高,这对于我以后的工作和学习都有益处值此论文完成之际,特别向指导老师表示衷心的感谢和崇高的敬意,谢谢她细心而又耐心地辅导,使得我得以顺利的完成毕业设计开发工作,同时也要感谢其他帮助过我的老师和同学,他们在我成长过程中给予了我很大的帮助,在此一并表示感谢由于本人水平有限,加上时间紧促,本文一定有不少缺点和不足,恳请各位老师给予帮助和指正院系管理员考生系统管理员报考信息报考注册留言表留言留言者管理员地址籍贯姓名身份证号密码帐号考生图4-4考生信息实体图·····图4-3管理员信息实体图·····报考号考生身份证号报考等级报考信息表图4-5报考信息实体图留言表留言者姓名留言时间图4-6留言表实体图留言编号留言内容使用封装BusinessObjectDataSourceDataAccessObject创建/使用获取/修改DataTransferObject-II-。