高级语言程序设计考试系统的设计与实现毕业论文
2020-02-23 18:24:14
摘 要
在日益发达的当今社会,教育普及也做的越来越好。但是教育普及的同时伴随着许多的考试,国内很多教师的工作量也日益繁重。好在互联网行业的流行为在线考试的发展提供更大的可能,越来越多的学校和机构开始采用网络考试的方式来对学生们的学习成果进行测评。
本次毕业设计主要以武汉理工大学的《高级语言程序设计》课程为研究对象,实现校内学生的在线考试系统,以解决传统纸质考试中存在的各种问题,同时也可以减少人为因素的干扰,减轻教育者的压力。本次研发系统设计基于B/S模式,采用MVC设计模式,极大地减少了开发成本,加快开发速度。该系统的研究功能主要包括账号管理、教师管理、学生管理、试题管理、试卷管理、在线考试、交卷、、查看成绩、批改试卷等。该系统研究成功后,还可将其运用到其他的科目中。
论文共分为绪论、系统分析、系统概要设计、数据库设计、系统详细设计与实现、系统测试、总结与展望六大部分。本文详细的介绍了在线考试系统从系统分析、设计到系统实现的全部过程。
关键词:Java;在线考试;SSH框架;数据库
Abstract
In today’s increasingly developed society, education has become more and more popular. However, the popularization of education is accompanied by many examinations, and the workload of many domestic teachers is also increasing. Fortunately, the prevalence of the Internet industry offers greater possibilities for the development of online examinations. More and more schools and institutions have started to adopt online examination methods to evaluate students' learning outcomes.
This graduation project mainly focuses on Wuhan University of Technology's "High-Level Language Programming" course to achieve an on-campus student's on-line examination system to solve various problems existing in the traditional paper-based examination, and it can also reduce the interference caused by human factors. , reduce the pressure on educators. The Ramp;D system design is based on the B/S model and adopts the MVC design model, which greatly reduces development costs and speeds up development. The research functions of the system mainly include account management, teacher management, student management, test management, test paper management, online examination, handing in papers, viewing results, and reviewing test papers. After the system is successfully researched, it can also be applied to other subjects.
The paper is divided into six parts: introduction, system analysis, system outline design, database design, system detailed design and implementation, system testing, summary and outlook. This article describes in detail the entire process of online examination system from system analysis, design to system implementation.
Key Words:Java; online exam; SSH framework; database
目 录
第1章 绪论 1
1.1 选题的背景与意义 1
1.2 国内外研究现状 1
1.3 系统开发环境 3
1.4 系统开发思想与技术 4
1.5 论文组织结构 6
第2章 系统分析 7
2.1 需求分析 7
2.1.1 功能性需求 7
2.1.2 非功能性需求 10
2.2 任务概述 11
2.3数据流程图 12
2.3.1 顶层数据流程图 12
2.3.2 学生数据流程图 12
2.3.3 教师数据流程图 13
2.3.4 管理员数据流程图 14
第3章 系统概要设计 15
3.1 总体功能模块 15
3.2 管理员功能模块 16
3.2.1 教师管理子模块 16
3.2.2 学生管理子模块 17
3.2.3 账号管理子模块 17
3.3 教师功能模块 18
3.3.1 题库管理子模块 18
3.3.2 试卷管理子模块 19
3.3.3 阅卷管理子模块 19
3.4 学生功能模块 20
第4章 数据库设计 21
4.1 概念模型设计 21
4.2 逻辑模型设计 25
4.3 数据库表结构 25
第5章 系统详细设计与实现 31
5.1 管理员登陆模块 31
5.2 管理员账号管理模块 32
5.3 管理员教师管理模块 34
5.4 教师题库管理模块 36
5.5 教师试卷管理模块 38
5.6 学生考试管理模块 41
第6章 系统测试 43
6.1 测试分类 43
6.2 测试策略 43
6.3 测试用例 44
总结与展望 49
参考文献 50
致 谢 51
第1章 绪论
1.1 选题的背景与意义
在互联网还未盛行之前,无论是高校还是其他机构采用的都是传统的纸质考试,即便是信息技术以及互联网相当发达的今日,大多数高校依然采用的是纸质考试。传统的纸质考试不仅需要大量的人力物力来印刷试卷,浪费资源不说,还需要耗费大量的时间。不仅如此,考试机构需要安排固定的时间,固定的考试地点,学生做完试卷还需要教师花费大量的时间和精力去批改试卷。在计算机技术迅速发展的今天,不少教师和学生都希望可以进行网络考试,以减少纸质考试所占用的时间和资源。
事实上在线考试并不是一个新概念,通过其发展历程,我们可以知道在线考试早在90年代的时候就已经在美国开始出现了,只是那是国内互联网发展相对缓慢,没有成熟的发展平台。但是近年来,互联网的迅速发展给在线考试系统带来了新的活力以及更广阔的发展空间,基于网络的在线考试系统的研发已经成为各大高校及社会机构的一个新的发展方向。问题的添加、试卷的提交、成绩的批改等都可以在网络上自动完成[13]。只要建立了一套成熟的题库,学生的学习就可以自动化。教师需要做的只是详细设计问题并将问题加入题库,这大大减轻了教师的工作量。无论何时何地,无论时间,空间和地域限制,学生都可以随时在网上进行测评。我们研究的在线考试系统,采用B/S结构,用异步交互方式来替代原有的同步交互,以便页面可以在后台按需获取数据[10]。
针对《高级语言程序设计》这门课程开发在线考试的原因主要有两个:首先,通过这种在线考试系统,促进同学的学习,提高大学生对该课程的自主学习能力,同时减少同学因为赶往考试场地的时间,随时随地可以进行考试;其次,部分自动阅卷的功能可以减少老师们改卷的压力,让老师更好的评估学生们的只是水平;再者,学校不需要在分配教师作为考试场地,也无需印刷试卷,可减少不少资源的浪费。
1.2 国内外研究现状
教育信息化是当前教育改革和发展的主题之一。如何充分利用计算机构建开放,实用,灵活的在线考试系统一直是个值得声讨的话题。从20世纪90年代起,在国内外的教育中,在短短的几十年之中实现在线教育的想法一直都是教育界的一个主要研究重点。
- 国外研究现状
在这一领域的发展,国外一直要比中国的更加完善一些。在1990年,美国就开始针对计算机、注册会计师、注册建筑师预制相关的在线考试系统[17]。尤其是关于注册建筑师的在线考试系统,目前只有美国和加拿大两个国家具备。在90年代初,美国就研制出了注册建筑师的网络考试,并成功运行,其考试系统分为NcARB管理架构、考务管理架构、选择题管理架构、作图题管理架构四大架构。截止目前,该系统中的题库数量已经多达几万道,为试卷提供了非常丰富的试题资源。为了可以实现题库的更新、充实,美国的注册建筑师机构聘请了十六名建筑师专家来负责题库的管理,每年总出题量多达16320 道[12]。每2-3 年的时间,专家就要对新试题进行测试、评审,通过后才可以将其添加到系统的试题库中。
如今,国外的在线考试系统已经不仅仅局限在建筑师这一行业。 在线考试在国外的一些国家已经被广泛的应用,人们的选课和考试都是经过网上进行的。例如国外一些知名的考试,如Microsoft公司的MCSE(Microsoft系统工程师认证考试)、GMAT(工商办理硕士入学考试)、托福考试、GRE(美国研究生入学考试)等,都是选用网上考试的办法进行的[16]。
- 国内研究现状
而在国内,现在绝大多数考试还停留在纸质考试的办法上。虽然研究人员和教育工作者也一直在不断的探索和发展在线教育平台的开发,但是由于起步相对于欧美比较晚,发展十分有限。在现实生活中,考试项目众多,但在对互联网的应用仅仅局限于一些考试的网上报名作业和网上效果查询。大多数都是社会机构研发的一些针对自己公司的测评系统。在高校考试系统这一块,可以使用的考试系统简直是凤毛麟角,造成这种情况的主要原因有三种:
- 在线考试本身是一个应用性极强的过程。
考试系统需要在实践中完善发展,但是大多数研究在线考试系统的学者仅仅是在理论上研究,并没有深入到实际应用中[11]。偶尔有人开发出了在线考试系统,但是由于刚开始实施时会遇到各种各样,大多数也会在初期就放弃使用。
- 理论对于在线考试系统的研究是不全面的。
对于实践支持的少,大多数人无法突破这个障碍,深入到心理学、教育学层面去研究
在线考试。在线考试系统的理论还停留在比较肤浅的层面上。
- 开发成本高昂。
因为在线考试系统需要很大的人力资源成本、实施成本,而且开发周期漫长,没有哪个投资商愿意专门投资到这种在线考试系统的开发中。
因此,在国内高校在线考试系统比其他一些社会机构的测评系统还要少。
本次课题就是针对《高级语言程序设计》课程开发一个在线考试系统,可以用来测试武汉理工大学的学生对于《高级语言程序设计》这门课程的掌握程度。当然,随着技术及学校和学生需求的不断增加,各种各样的考试不断增加,我们在互联网的速度会有更高的要求,对考试系统的开发也会更加完善。
1.3 系统开发环境
本次在线考试系统的开发在Windows10系统中进行,主要开发语言为Java,使用到的开发工具有Eclipse、MySQL数据库、Tomcat服务器等。
- Eclipse
开发系统的过程中使用的主要开发工具是Eclipse。Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。
在Eclipse的官方网站中提供了一个Java EE版的Eclipse IDE。应用Eclipse IDE for Java EE,既可以创建Java项目,也可以创建动态Web项目,用来开发动态网络的WEB项目十分方便。
而且Eclipse目前主流的Web开发环境是Spring Struts Hibernate,其中Spring使用JavaBean来完成以前只可能由EJB完成的事,Struts提供MVC框架支持,Hibernate替代笨重的EJB来充当数据库的持久层。
- MySQL
系统数据库使用的是业界流行使用的MySQL开源数据库。MySQL是一种关系数据库,关系数据库将使用不同的表格保存不同的数据,而不是把所有数据全部存放到一个大的仓库内[15]。MySQL使用的 SQL 语句是用于访问数据库的常用标准化语言。
数据库MySQL具有的特性:第一,它可以运行在多种操作系统上,比如Linux、Solaris、Windows等。第二,MySQL为C、C 、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等编程语言提供了应用程序接口。第三,支持多线程充分利用CPU资源。第四,MySQL可以用来当做在客户端-服务器的网络环境中独立的应用程序,同时也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码方法有中文的GB2312和BIG5等[8]。第五,提供多种数据库连接的方法,例如通过TCP/IP、ODBC和JDBC等方式。
MySQL有其自身的许多优点,虽然Mysql没有其他数据库那么强大的功能,但是它轻便易于安装使用,同时它还是开源软件,对于一些普通用户来说再好不过,而且在管理Mysql的时候,可以使用Navicat等专门的数据库管理工具相当方便。
- Tomcat服务器
Tomcat 服务器是一个免费的开源Web 应用服务器,属于轻量级应用服务器,易于安装,方便上手,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选[2]。在计算机上配置Tomcat可以用它来响应访问HTML,Tomcat和IIS等服务器具有处理HTML页面的功能。
1.4 系统开发思想与技术
本次在线考试系统是基于B\S结构和MVC模式进行设计与开发的。
- B/S结构
目前在线考试系统主要分为两种模式:C/S结构(客户端/服务器)与B/S结构(浏览器/服务器)。C/S结构的考试系统主要应用局域网来完成考试,响应速度快而且处理事务的能力强,但是需要安装客户端,兼容性差,不利于后期的维护和开发[3]。B/S结构是网络流行之后迅速兴起的一种技术,它不需要安装任何客户端,就可以在浏览器中运行,与服务器进行交互。同时,B/S结构是真正的三层架构,以访问数据库为中心,HTTP为传输协议,客户端通过浏览器访问服务器与后台数据库,其主要优点是方便扩充,易于维护,极大的减少了开发成本[6]。
因此,本系统选择B/S结构进行开发设计。
B/S的三层结构如图1.1所示:
图1.1 B/S的三层结构
- MVC模式
本系统基于MVC模式开发,使用最常用的SSH框架(struts2、spring、hibernate)来增加系统的开发速度[4]。所谓的MVC模式是"Model-View-Controller"的缩写,中文翻译为"模式-视图-控制器"。程序是用struts2和hibernate来实现模式和控制器两层,jsp可以实现视图层。一般情况下,程序连接数据库到页面,jsp页面请求先到action,再到dao,再回到action,回到jsp页面,action用来处理页面请求,dao主要负责与数据库的交互,struts2主要用来处理来自页面的请求,处理请求后跳转回到页面[1]。Hibernate用于dao,包括对数据库的增加、删除、修改、查询的操作,而spring控制程序的流程。
- JQuery技术
JQuery是继prototype之后又一个优秀的Javascrīpt框架,它通过封装原先的JavaScript函数得到定义完整的方法。它的作者是John Resig,于2006年创建的一个开源项目,随着越来越多开发者的加入[14]。 jQuery已经集成了JavaScript、CSS、DOM和Ajax于一体的强大功能。它可以用最少的代码, 完成更多复杂而困难的功能,从而得到了开发者的青睐。它是一个轻量级的js库(压缩后只有21k) ,它与CSS3兼容,并且还兼容各种浏览器 (IE 6.0 , FF 1.5 , Safari 2.0 , Opera 9.0 )[9]。jQuery使用户能更容易处理HTML 文档、事件、实现动画效果。jQuery的另一大有限是,文档详细全面,就连各种应用程序也说得十分仔细,并且还有许多成熟的插件可供选择。jQuery不需要在html里面插入一堆JS来调用命令,只要定义id即可。
- JSP技术
JSP的全称是Java Server pages中文名称叫Java服务器页面,它是SUN动态网页技术标准,JSP实际上就可以看作是Servlet[7]。JSP与HTML不同的是:HTML是超文本标记语言,主要用于编写静态页面,而JSP是Java服务器网页技术,JSP中加入了JAVA程序片段和JSP标记,必须通过发布到类似Tomcat的服务器中转化为Servlet才可以运行。JSP具有以下优点[5]:
- 可以将表示层与业务层分离开来。
- 能够跨平台。
- 作为JAVA开发平台的一份子,JSP拥有JAVA开发的所有优点,比如:一次编
写,处处运行。
JSP工作原理图如图1.2所示:
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: