文章首发地址:https://www.canterdanai.top/?p=1078
1 绪论
1.1课题研究背景及意义
随着我国国力的增强和计算机技术的不断发展和进步,个人计算机早已走入了寻常百姓家,上到几十岁的中老年人,下到十几岁的学生朋友都会操作计算机。可以说计算机技术像驾驶一样早已成为了一项基本的生活技能,所以从小学到大学的各大教学阶段都安排了信息技术课程,目的就是为了我国的学生们都可以学会操作计算机。而计算机等级考试的出现就是为了让学生有一个证明自己计算机水平的契机,但随着人口的增加和高校的不断扩招,每年参加计算机等级考试的考试也逐年增加,所以对考试的报名流程提出了很大的挑战。在计算机技术没有广泛应用在人们的生活中之前,不论哪种类型的考试的报名都是非常繁琐的,因为都是通过人工进行记录和统计,信息都记录在纸面上,所以不容易保存,而且考试报名的信息容易出错。
1.2国内外研究现状及发展趋势
随着当今社会计算机技术发展越来越迅速,传统的通过电话或线下进行订票或设备租赁的方式逐渐没落,这是不能避免的。其实不只是信息的查询方式,其实人们生活中的各个领域都发生了改变,人们的生活质量也在不断提升。
随着当今计算机技术的不断发展,信息的保存和传播早已不再需要通过纸和笔进行,取而代之的是人们通过各种计算机网络系统进行信息的查询及保存。因为利用数据库技术可以将信息永久的进行保存,不用再担心因为记录了信息的书本和纸张丢失导致的信息泄露或难以找寻。目前国家高度重视高校大学生们的计算机水平,国家每年都会组织多次计算机等级考试,在考生了解考试信息和进行考试报名的过程中大学生们和负责此项工作老师们需要进行个人信息和申请信息的录入和保存,在计算机应用于大家的工作和生活之前,都是通过人工进行手写记录的,但效率太差。通过计算机技术可以提高学生和老师记录信息的效率,但现在依然有很多的考试在报名的过程中使用人工记录的方法,这种方式不仅浪费时间而且容易出错,所以设计一套基于互联网的计算机考试报名系统是非常重要的。在当下五花八门的应用程序或软件中,我认为提高用户的体验和增强功能的丰富性才是更重要的。
1.3本文的研究思路与结构
本系统的开发遵循着软件工程学的设计原则,在决定自己的毕业设计做什么之前会进行项目的前期调研和可行性分析,如果可行的话就对项目进行立项。在项目立项之后会对整体的功能进行需求分析和数据库设计,这可以保证后期编码的顺利进行。在所有的前期准备工作完成之后会对所有的功能模块进行计划,保证在某一个时间段完成对应的功能。最后就是项目的编码与测试,这两者最好可以同时进行,在保证开发效率的同时还能提升测试的准确性。
2 开发工具及技术介绍
在确定了项目的主题和研究背景之后,就要确定本系统的架构了。主流的架构有两种,一种是B/S架构,一种是C/S架构。C/S的全称是Client/Server,Client是客户端的意思,Server是服务器的意思,所以C/S架构就是客户端-服务器的模式,我们常用的电脑上的软件比如QQ、微信都是C/S架构的程序。B/S架构的全称是Browser/Server,含义是浏览器-服务器,我们常用的一些网站系统就是属于B/S架构。本系统的开发框架为B/S架构,与传统的C/S架构相比,它不需要繁琐的安装,并且运行时只需要打开浏览器即可,对电脑的硬件要求和对操作者的要求较低。
本系统的后台语言使用的是JSP,JSP是一种动态编程语言,可以对数据进行增删改查等操作。在JSP、ASP、PHP等动态语言出现之前,很多网站就只能用静态的HTML语言宣传自己的网站,但这种网站不具备数据的存储操作功能,因为无法连接数据库,本系统使用的JSP语言可以与HTML语言有效的结合起来,不仅可以将各类素材展现在页面上,还可以将数据保存在数据库中。
而SpringBoot是JSP项目中的一种框架,在创建JSP项目的时候可以将其设置为SpringBoot类型的项目,程序员们可以使用最少的代码实现最多的功能。因为这个框架可以自动生成一些简单的逻辑代码,程序员们只需要在基本逻辑的基础上进行补充就可以了,极大地提高了代码的复用率和开发效率。
2.3 HTML及Vue技术的介绍
本系统的前台语言使用的是HTML5,HTML5是最新的HTML技术,与之前的版本相比增加了许多功能,比如自带的表单验证及响应式设计。HTML语言可以将文字、图片或者视频展现在网页上,但仅仅使用标签排列会使得网页杂乱无章,所以本系统的前台页面还使用了CSS技术和JavaScript技术。
Vue是一种前端的框架,Vue的核心技术是组件和指令。在此系统中,我可以利用本身的生命周期函数中各个事件将网页前端中的不同的元素设置为组件,然后使用V-for、V-On及V-bind等指令对元素进行操作,最后使用Vue的列表渲染功能将数据显示在页面上,这种编码方式比传统的使用后台代码实现要更快。
本系统用来进行数据存储的数据库是MYSQL数据库,基本的使用与其他数据库相似。都可以使用表进行数据的存储。除此之外还可以使用存储过程、事务、触发器等对象。以下是MYSQL的几个优点:
(1)首先就是因为MYSQL较为小巧、易于安装和维护,而且MYSQL是完全开源并且免费的,非常适合计算机专业的学生作为学习工具使用,虽然MYSQL小巧但它的查询速度、执行效率都是非常快的。
(2)选择MYSQL的第二个原因就是它具有稳定的查询和存储机制,可以避免因为数据库的原因导致系统的数据出错。
(3)选择MYSQL作为本系统数据库的第三个原因就是它具备较为稳定的与程序进行连接的优点,可以使数据稳定地在系统内进行存储和更新。
通过本节来介绍本系统的开发环境,开发的环境为个人笔记本电脑,处理器为I5十代,内存为8GB,硬盘为500G固态硬盘,浏览器为谷歌浏览器。用来编程的工具为MyEclipse,它是功能强大的编辑工具,在市面上进行Java和JSP编程时非常流行,具备代码提示、代码自动缩进和换行等基本功能,还能用来对程序进行部署和测试等。用来进行MYSQL编辑的工具为Navicat for MySQL,它非常直观,可以对数据进行导入和导出。
3 需求分析
系统的可行性分析主要目的是在系统立项开始前对系统所做的一系列的评估,综合各项评估决定是否对该项目进行立项。一般来说一个系统的可行性分析主要分为技术可行性、操作可行性及经济可行性等。
一个系统的经济可行性主要是指网站去除成本后还是否可以盈利,该系统为计算机专业大学生的毕业设计,主要目的是为了使用大学四年所学的知识开发出一个有价值的系统,证明自己可以达到毕业的要求。该项目几乎没有任何成本,因为所有的设备及开发软件都为电脑上已安装的免费版本,该项目为非商业项目,所以从经济可行性上分析,本系统是可行的。
系统的技术可行性主要是在开发开始前对本系统所使用的开发环境、开发技术等进行分析,对所有可能遇到的问题进行预估等。本系统的开发环境为自己的个人电脑,所有使用的工具都是平时学习时用过的,所用的开发技术大多数都是大学期间学习过的,如果遇到没有涉及的领域可以通过在CSDN、博客园等技术论坛寻找答案,也可以咨询指导老师。所以从技术层面分析,本系统是可行的。
系统的操作可行性也可以被称为运行可行性,主要对系统运行或操作进行分析。在当前这个电脑走入寻常百姓家的时代,不管是成年人还是小朋友都多多少少对电脑操作略知一二,本系统只要有简单的电脑常识就可以熟练使用,所以说从系统的操作方面是可行的。
本系统共分为两个角色,分别为考生用户和管理员用户。下面是详细的功能需求分析:
考生用户:
- 首页展示:不管是已经注册的用户还是暂时没有注册的用户,在输入正确的域名之后都可以访问本网站的首页,但没有注册的用户无法使用所有功能。
- 个人资料管理功能:用户在登陆自己的账号之后可以对自己的个人账号信息进行修改,比如可以修改自己的联系方式等信息。
- 报名查询:用户可以在网站中查看和管理自己的报名信息,具体的功能为对考试信息和报名信息的查询。
- 考场查询:用户在进行报名之后可以对自己要参加的考试进行考场查询,可以具体查看考场的地址及其他信息。
- 修改密码:考生用户的密码对考生而言是非常重要的,考试在修改密码时需要先正确输入原密码,在进行新密码的更新。
管理员用户:
- 修改密码:管理员的权限对本系统是非常重要的,管理员用户可以定 期通过本功能对密码进行修改。
- 注册用户管理:管理员用户通过此功能可以查询全部或者某一个用户的基本信息,还可以对其进行修改和删除。
- 系统用户管理:系统用户指的就是本系统的管理员用户,系统用户管理功能可以对管理员的信息进行维护。
- 考场信息管理:管理员可以管理网站内的考场信息,并且可以在输入考场信息之后进行考场的添加。
- 考点信息管理:管理员用户可以通过考点管理查看和管理考点信息。
- 考试信息管理:在需要进行考试之前,管理员用户可以通过此功能进行考试信息的添加,添加后还可以及时地进行维护。
- 报名管理:管理员用户可以查看用户在个人界面进行的报名信息,并且可以进行审核及删除等操作。
3.3 非功能需求
对本系统来说,除了具有交通及订单信息查询等功能外,保障系统的稳定性和安全性是非常重要的,所以在开发本系统之前需要对系统的性能及安全性进行分析。对于本系统而言,系统的性能及稳定性非常重要,因为本网站涉及到大额的金钱交易,如果在交易期间系统发生崩溃会造成比较大的影响,其次如果不能保证稳定性,则多人共同访问网站时也可能会出现系统崩溃等问题。
除了性能及稳定性,安全性对本系统也非常重要,如果不能提高安全性,被一些不法分子或居心叵测的人钻了漏洞,会对本系统及本系统的用户财产产生非常大的影响,所以提高安全性是本系统优先级很高的一个需求。
4 总体设计
本系统的用户分为两个角色,分别是注册用户和管理员用户。注册用户主要是参加计算机等级考试的考生,功能主要是进行各种信息的浏览及考试的报名操作,除此之外用户还可以对自己的个人信息进行维护。后台数据管理端的使用角色为本系统的管理员,功能主要为对已注册的用户信息、系统产生的报名信息、考试及考场等信息进行管理,系统结构图如下所示:
4.2 系统数据库设计
数据库的设计在整个系统的开发过程中是非常重要的,而且一定要在开始编程之前就对数据库进行设计,这样可以避免编程过程中无谓的返工。比如在进行考试信息功能的开发时,又想突然加上考试类别的功能,这样就要再添加一个表,但数据库发生改变之后所有的代码都需要进行修改,非常的费事费力。在进行数据库表及其他数据库对象的设计之前,必须先绘制数据库的E-R图,下图为本系统的整体的E-R图:
经过上文对系统功能的需求分析,我认为本系统的数据库应该具有以下表:
(1)考生信息表,用户注册之后的个人信息会存储在此表中。这个表中的用户ID应设置为主键,除此之外还要有用户名、密码、注册时间等列。
(2)考试分类及考试信息表,每次考试的详细信息都会保存在此表中,设置两张表的目的是可以使用分类表管理考试的分类,使用考试信息表来详细的管理考试的信息。
(3)报名信息表,这张表主要存储系统中的报名信息,当用户或管理员对报名信息进行查看时就需要对此表进行查询。此外,报名信息表中应设置一列来反映当前报名的报名状态,如未报名、报名中和已报名等。
(4)站内新闻表,站内新闻表用来保存本系统内的站内新闻信息,管理员会定期对本表进行维护,让用户看到最新的新闻。
(5)管理员信息表,管理员信息表用来保存本系统内的管理员信息,当管理员对自己的个人信息进行修改之后就会在此表中进行更新。
5 系统功能实现
5.1 注册用户
用户登录:
系统中各用户在输入正确的域名后即可访问本系统,输入自己的账户密码即可进入本系统。
首页展示:
考生在登录时需要选择考生的身份,登录后就可以通过左侧的菜单栏查看考生可以使用的所有功能,包括各种信息的查询及个人信息的维护,在考试信息列表中点击某一个考试信息还可以进行报名。
考试查询功能:
在报名管理的模块中点击考试查询即可查看本系统中所有的考生信息,可以详细的查看考试的名称、时间段及报名费用等,在最后一列还可以对考试进行报名和详细查看的操作。
报名查询功能:
点击报名管理模块中的报名查询可以查看自己某个考试的报名情况,可以查看报名号、考试名称及考场名称等。
考场信息查看功能:
点击菜单栏中的交通信息可以查看不同交通方式前往本滑雪场的方法,每一种交通方法下都有附件,用户可以下载该附件进行详细的查看。
5.2 管理员用户
后台主界面:
管理员用户负责管理本系统产生的所有后台数据,比如考生的个人信息、报名信息及考场和考试信息等,在后台界面的左侧管理员可以选择不同的功能进行操作,右侧为具体的操作界面。后台管理的具体界面如下:
考生信息查询及维护:
登录管理员帐号后点击注册用户管理可以进入此界面,界面上方可以通过账号及用户姓名对用户的信息进行查询,查询后可以看到用户的姓名、年龄和地址等信息,还可以对信息进行编辑和删除。具体界面如下:
考场信息管理:
此模块主要有两个功能,第一个功能为对网站内考场进行添加,输入相关信息后就可以进行考场的添加,添加之后可以通过下方的考场查询功能查看所有已经提交过的考场信息,具体界面如下:
考点管理:
管理员用户在此功能中可以查看系统中已经存在的考点信息,并可以对其进行删除和修改,如果想要添加新的考点信息还可以通过数据列表最右方的添加按钮完成考点的添加。
———–