会员登录 - 会员注册 - 毕业设计做 手机版 淘论文网为广大需要写论文的同学提供论文学习,和论文辅导。QQ:1052602713

要怎么做毕业设计?


文章来源:淘论文网   发布者:毕业设计   浏览量:

下载地址:https://pan.baidu.com/s/1kXnCCuV
密码:(此设计免费下载)请扫码加微信取得密码 微信号:sj52abcd


要怎么做毕业设计?

就拿 计算机相关专业,如:物联网,通信专业,大数据专业,网络专业,计算机应用专业,信息专业,电子商务专业来讲

 

普通流程

大概分为这么几个步骤:

第一步,确定选题;

如何选题:计算机相关的,有软件 如:安卓APP,小程序开发,SSM,Java,python,php,asp.net,h5等语言开发.分为管理系统类别,网站,还有硬件加APP的方法,大数据方向,普通有爬虫,可视化,数据挖掘,智能AI分析等。

第二步,收集材质;

当确定好题后,进入这里搜索一下相应的文献

http://www.taolw.com/w/

输入你要找的题目。

普通像某某管理系统等

收集的资料包括:书籍、报刊、论文期刊、专利、著作、年鉴以及此类文献资料,也可以是互联网资料,有助于毕业论文写作的文献资料都可以,普通用得最多的就是论文期刊,最后还需要找一篇或两篇外文文献。

第三步,写任务书或是开题申题表,然后是开题报告;

第四步,完成写作提纲、文献综述;

 

第五步,完成初稿;

 

理工类毕业设计普通还需要一篇论文。

大纲普通如下:

本科论文提纲

论文题目:

-研究目的与意义二国内外研究现状

三论文研究内容与技术方法四论文研究的难点与创新五论文结构与章节安排

第一章:××××××××××××××××××××××社

第一节:××××××××××××××××××××第二节:××××××××××××××××××××,

第二章:X×XX×X××××X××X××××××××××,

第一节:××××××××××××××××××××,第二节:××××××××××××××××××××

第三章:××XXXXXXXXX×××××××××××××

第一节:×××××××××××X××××××××第二节:××XXXX×XXXX×××××××××.

六参考文献

七致谢

第六步,完成二稿和定稿;

第七步,完成定稿后答辩准备和答辩。

例如:


   摘 要

 

本篇论文首先介绍了系统研究的背景和意义,分析论证了系统研发可行性,然后进行详细的系统分析。通过系统分析阐述了系统整体需求、系统主要流程、系统主要功能。在系统分析的基础上对系统的架构、功能模块、数据库等进行了设计。接着详细介绍系统是如何具体实现的。《C语言程序设计》网络考试系统题型包括单选题、多选题、判断题、简答题和编程题,能够实现自动组卷,客观题自动评分,主观题任课教师批改的功能。

《C语言程序设计》网络考试系统基于B/S结构,采用SQL sever 为后台数据库,Tomcat为WEB服务器,使用Servlet和JSP网页技术设计实现。该网络考试系统的开发促进了高职院校信息化建设,提升了课程教学的实效性,极大地减少了任课教师的工作量,为计算机基础考试模式的改革提供有益的经验与借鉴。

 

关键词:网络考试系统;B/S;Java Web技术

Abstract

This paper firstly introduces the background and significance of system research, analyzes and demonstrates the feasibility of system development, and then carries out detailed system analysis. Through system analysis, the paper describes the system's overall requirements, main system processes, and main functions. Based on the system analysis, the system architecture, function modules, and database are designed. Then system implementation is described in detail. 'C language programming' network test system includes the following topics, such as single choice questions, multiple choice questions, judgment questions, short answer questions and programming questions. The system achieves a series of functions, such as automatic test paper, automatic scoring of objective questions, teacher correction of subjective questions.

'C language programming' network examination system is designed and implemented based on the B/S structure, SQL Sever as the background database, tomcat as the WEB server, Servlet and JSP as web technology. The design and implementation of the network examination system would promote the information construction of higher vocational colleges and improve the effectiveness of curriculum teaching. Furthermore it can greatly reduce the workload of classroom teachers, and provide useful experience and lessons for the reform of the computer basic examination model.

 

Keywords: network examination system; B/S; Java Web technology

 

目  录

1.绪论

 

1.1 研究背景和意义

 

1.2 国内外研究现状

 

1.3 开发技术

 

1.4 本论文主要解决的问题  

 

1.5 预期目标  

 

2.系统开发的可行性  

 

3.系统分析  

 

3.3.3 成绩计算流程图  

 

3.4.3 试卷管理和成绩管理

 

3.4.4 试题库管理  

 

4.3.3 物理设计  

 

5.4 教师子系统的实现  

 

5.4.1 批改试卷  

 

5.5.3 组卷信息设置  

 

参考文献  

 

谢 辞

 

1.绪论

1.1  研究背景和意义

随着当今信息技术的迅速发展,Internet的应用己经进入到社会生活的方方面面,例如金融业、通信业、新闻业、商业、交通运输以及医疗保健行业等,信息技术的发展对社会生活的影响也无法避免地波及到教育教学领域,社会的快速信息化发展对当前的教育理念、教学内容、教学模式以至教育结构产生深远而重大的影响:在信息社会中,我们对教育有了新的需求,即教育的高效化、终身化、全球化[1]。正是在这种趋势下对于基于互联网的远程教育的研究逐渐成为当今教育教学技术领域的研究热点。

考试是目前评价教学和学习成果的基本形式,是实现教学目标以及检测考生水平的重要手段。传统考试模式从教师出卷、印制试卷、准备考场、确认考生身份、监督考生考试,再到阅改试卷、评分,往往需要消费较长时间,占用大量的人力及物力,因此传统的考试模式已经不能完全满足目前教学工作的需要,此时作为远程教育教学平台的重要组成部分网上网络考试系统成为了研究的热点。基于互联网的网络考试系统的出现是教学领域的一次十分重要的创新和改革,它成功地避免了传统模式下纸质试卷考试大量消耗人力物力财力的情况,也有效提高了考核模式的标准化、客观化、公平化、透明化的程度[2]。本网络考试系统的设计与实现有效的发挥和利用了当今计算机网络资源,大大降低了任课教师的工作量,显著提高了在校学生学习的积极性和实际动手操做技能,与此同时又确保了考生考试的公正性、提高了阅卷的正确率,改革了高职高校课程教学的考试方法,还提升了教育教学的时效性,极大的倡导了计算机教育教学网络化、信息化的发展概念。

基于B/S的C语言网络考试系统的设计与实现,其研究意义和目的主要体现在以下几个方面:

(1) 作为世界上最大的发展中国家,尽管我国还面临着工业化和生态化的双重任务,但我国主动承担起自己的责任,努力推动低碳经济发展,建设资源节约型,环境友好型社会已经成为我国可持续发展战略的重要组成部分[3]。如今国家大力提倡低碳环保的生产生活方法,我们更应该响应政府号召尽量做到低碳生活,而无纸化考试正是这一理念的鲜明体现。基于B/S的C语言网络考试系统在客观题部分完全实现了自动化,减少大量的纸张及人力物力财力等资源浪费,此网络考试系统采用B/S模式,在保证了系统实时性的同时,也很大程度上化简了系统使用终端的配置程序,极大减轻了C语言网络考试系统后期维护的工作量,使其成本得到了很大的降低。与此同时学生的学习模式不受时间空间的限制而变得比较灵活,完全符合节能环保型、低碳型信息化的理念。而且,C语言网络考试系统的无纸化使其能随时随性随地为师生提供需要,是远程信息化教育教学发展的里程碑[4]。

(2) 基于B/S的C语言网络考试系统能够保证组建试卷的效率与准确度。此网络考试系统在设计上采用的组建试卷的理念具有一定的逻辑性和科学性,在系统中进行随机抽取数据库里面储备的试题,极大提高考试试卷的准确度和组卷的效率,还能够使试卷不同题型间的难度保持一致性,协助任课教师方便快捷的出一份高质量、高保密性的课程考试试卷,避免了因为考试试卷一样而发生作弊行为的产生[5]。

(3) 基于B/S的C语言网络考试系统客观题部分自动阅卷正确率高、阅卷速度快。通常情况下,任课教师在传统考试模式下需要长时间阅卷,身体与视觉产生疲劳,阅卷难免出错,后期还要多次自查试卷,才能保障阅卷的准确度,而本系统具有客观题自动阅卷的功能,因此在阅卷时省时省力,阅卷标准一致,在输入系统的标准答案正确下不会出现错判试卷的情况,极大的增大了准确度,最为重要的是与传统阅改试卷模式相比,节省了大量的时间和人力物力财力资源,使阅改试卷的高效性有了极大的保证。

1.2  国内外研究现状

随着网络技术的发展,当今世界上许多国家都或多或少的开展了远程教育的研究与实施。尤其是有科技强国之称的美国,更是无论在远程教育的理论研究水平还是在实施应用方面都属于世界的前列。麻省理工学院(Massachusetts Institute of Technology)与犹他州立大学(Utah State University)等其他几所美国顶尖的高校联合制定的开放式课程计划,这使很多因为各种原因未能进入这些高等学府深造的有志青年新的机会[6]。另外加拿大的著名的OCHE公司研发了可以完成题型管理、试题管理、网络考试、成绩计算以及考试分析等功能的网络考试平台已经成为了世界上网络考试系统的主要模型之一。最近这些年,网络考试系统的创新发展并不是很大,仅仅在组卷算法、自动阅改试卷、系统安全性等方面有了一些完善和发展。

由于国外一些发达国家在计算机技术方面的发展要远远超过中国,而计算机技术制约着网络考试的发展,所以在最初国内网络考试系统的发展远不如国外发达国家。但是现在随着我国计算机技术的快速发展,网络考试系统的研究和应用也有了较大的进步,已位于世界先进水平。在国内,从二十世纪九十年代末期才兴起了网络教育教学平台,并且将网络考试技术引入其中。在中国,同样有类似的案例:超星尔雅网络课程[7]。同学们可以在上面选择自己喜欢的任意学校的课程。除了远程教育的实现和研发外,国内也有许多科研机构和专家们投身于改进网络考试系统和相关算法的研究工作,其中组卷算法是一个比较热门的领域。组建试卷算法是所有网络考试系统中最为重要的算法之一,因此毫无疑问组卷算法成为众人最为感兴趣和研究的重点。组建试卷的方法经历了由手动组建试卷到系统自动组卷的转变。网络考试系统最初的时期基本上都是采用手动组建试卷的方法,然而因手动组卷效率极低,组建的试卷质量也很低,不能满足一些大型考试的需要。于是许多科研机构和专家们开始寻求替代方法。这时,自动组卷方法开始进入人们的视线。在自动组卷算法发展的初期,人们利用随机算法,优先权算法等来完成自动组卷,这些算法尽管避免了手工组卷的效率低下的问题,但是依然存在着组卷质量和组卷难度不一致的问题,需要引进先进的智能组卷算法来改进完善组卷算法[8]。如今在组卷算法领域,基于遗传算法和改进的遗传算法的智能组卷算法是主流算法。这两种算法显著提升了网络考试系统在组建试卷时的效率和正确率。

经过对国内外网络考试系统的研究和开发现状的分析,我们不难了解到网络考试系统在许多国家的使用已经十分普遍,考试系统的功能和结构以及开发技术已经比较完善。现在研究的难点与重点在相关支撑算法,例如智能组建试卷算法和系统自动阅改试卷算法等。

1.3  开发技术

本网络考试系统是基于B/S模式的,使用SQL Server 2005数据库存储相关数据,使用Java Web技术。

B/S模式即浏览器(browser)和服务器(server)的构架。用户通过浏览器可以对后端服务器进行各种请求与操作。因此用户只需要安装浏览器,而不用安装其他软件就可以。基于B/S模式的工作原理,用户在网络畅通的情况下,可以在任意时间地点访问后端数据库服务器。MVC框架,顾名思义,是由模型(model)视图(view)与操控器(controller)三个部分组成。模型(model)表示企业数据和业务规则[9]。视图(view)是能够先生在网页中的界面,用户可以通过交互界面进行操作。操控器(controller)的功能是收集用户的输入信息并完成用户请求。

Java 语言是现在主流的程序设计语言之一,而用Java 技术来解决Web 范围的技术总和被称为Java Web 技术。其主要包含Servlet技术、JSP技术(Java Server Pages)、EJB (Enterprise JavaBean)技术以及数据连接技术(Java Data-Base Connection, JDBC)。

1.4  本论文主要解决的问题

计算机基础教学中始终贯穿着一个重要的教学目标,即强化学生的计算机理论基础知识,提高学生的实操技能[10]。随着学院规模的不断扩大,设计开发一个适合我院课程教学大纲并且功能完善的网络考试系统已经迫在眉睫。网络考试系统的开发提高了课程考试的公平公正性,也为计算机课程的教学改革贡献自己的一份力量,锻炼自己的编程设计能力以及团队协作工作能力。

1.5  预期目标

使用可视化的编程工具完成具体的B/S模式网络考试系统,它主要功能包括题库管理、试卷生成、手动修改试卷功能,网上答题功能以及网上试卷批阅功能。

具体要求如下:

前端客户端:

(1) 学生登录考试系统

(2) 网上答题

(3) 提交试卷

后台服务器端:

(1) 导入学生名单

(2) 题库管理:各种题型的增、删、改。

(3)组卷:能够实现随机从题库中抽取试题、设置各题型的比例,为每位学生组套试卷。

(4) 试卷的批阅:选择题、判断题等客观题实现计算机阅卷;简答题、编写程序题等主观题,实现教师网上阅卷。

(5) 阅卷结束,统计及格率以及各分数段人数。 

2.系统开发的可行性

2.1  相关开发工具

MyEclipse 10(MyEclipse Enterprise Workbench)是Eclipse IDE 的基础上加入自己的插件的扩展平台。通过MyEclipse我们可以极为便利的进行JavaEE和数据库的开发。关于MyEclipse 10,此版本应用最新的桌面及Web开发技术。它比之前版本的强大之处在于检索和查错功能[11]。

Microsoft SQL Server 2005是一个最高效的关系型数据库之一,同时也是一个功能全面的数据库。SQL Server 2005是微软.NET平台战略的重要组成部分,也是其平台下最关键任务之一[12]。SQL Server采取可视化的安装、管理环境,且在硬件需求上不高,故有效降低了基础设施和数据管理成本。其特点:

(1) 可信任。Microsoft SQL Server一直立足于提高安全性,使公司或个人可以放心运行他们研发的程序项目。

(2) 高效性。开发和后期管理数据的时间和成本大大减少。

(3) 智能性。该版本除了拥有数据库管理功能外,还提供通知消息,可以在用户需要的时候发送他所需要的信息。是一个不错的功能全面的平台。

Tomcat是Apache Software Foundation的一个中心项目,由于Tomcat拥有比较先进的技术和稳定的性能以及免费等优点,所以获得了众多Java开发者的青睐,逐渐成为主流的服务器。

2.2  研究工作的基本前提、假设和条件

随着我国的改革开放,计算机技术也得到飞速的发展,而以计算机为基础的网络考试系统在国内也渐渐有了广泛的应用。基于B/S的网络考试系统的研发和改进将教师从组卷阅卷的繁重的工作中解放出来,极大的提高了教师工作的效率。

2.2.1 技术可行性

基于B/S的C语言网络考试系统,主要在于实现网页的动态显示,即从考试系统的数据库中随机取出试卷数据显示在网页中,并将考生输入的信息收集起来,可以管理考试进程。采用MyEclipse和SQL Server 2005技术开发,教师后台管理端和考生网络考试界面全面采用B/S模式。而且大型关系型数据库提供了数据的增删改查功能,所以说研发该系统,在技术层面上是完全可行的。

2.2.2 经济可行性

开发该系统通常周期为2-3个月,当今绝大部分笔记本电脑能够负担研发所需软硬件开销,所以研发时间和开销都不高[13]。同时,信息工程学院拥有高性能计算机和专业的系统维护教师,因此该系统在信息工程学院的运行和后期维护,基本上不会消费太高的费用。综上,研发该系统在经济上是完全可行的。

2.2.3 操作可行性

由于该系统具有高度友好的人机交互界面,且面向的对象是计算机专业的老师和同学,所以绝大部分用户几乎不用做任何相关培训就可以熟练操作使用该系统。因此从系统操作的可行性分析考虑,研发该系统是可行的。

2.3  基本理论概念

2.3.1 网络考试系统的概念

网络考试系统是基于计算机技术的发展而逐渐发展起来的检测学生学习程度的一款软件[14]。它是不同于传统考试模式的,全新的考试模型。其使用计算机技术与数据库技术,使考生考试具有自动性、智能性、公平性的特点使网络考试系统能够不受时间空间的约束,为使用者提供网络考试、阅改试卷、考生考试管理等功能。

2.3.2 B/S结构

目前比较主流的网络考试系统的结构有客户端/服务器结构(Client/Server)和浏览器端/服务器端(Browser/Server)结构。客户端/服务器结构,简称为C/S结构,顾名思义是需要通过特定的客户端应用软件才能和后端服务器进行数据交互的网络服务结构。浏览器/服务器结构,简称为B/S结构,它不需要客户端应用软件,只需要在有网络的情况下通过浏览器就可以和后端服务器交互。

C/S结构是一种协同式分布处理体系结构,用户通过客户端应用软件向服务器端发送请求,服务器接受请求并返回请求结果。在1980年代到1990年代初C/S结构应用比较普及,它不仅使资源能够共享,还避免了不对等资源的问题的发生。应用C/S结构的应用程序有两大部分:后台服务器和前台客户机。其中前台客户机完成配置操作系统、配置网络协议以及安装相应应用软件等功能,最重要的是将用户的请求及时正确的传达到后端服务器。而后端服务器则负责根据程序设定正确处理用户请求,并将处理结果反馈到客户端,因此需要前端和后端同时运行才能保证正常工作。在后端服务器需要研发一个考试系统,相对应的客户端也需要一个特定的应用软件[15]。C/S结构如图2-1所示。

   

图2-1 C/S结构示意图

B/S逻辑结构由表示层(Presentation Layer)、功能层(BusinessLogic layer)和数据层(Data Service Layer)组成。物理结构由客户端浏览器、web服务器以及数据库组成。在B/S结构的组成部分中重要的中心是Web服务器,其功能是接受客户浏览器的查询请求,然后将接受数据变换为符合数据库要求的类型并把它们发送到正确的后台数据库服务器中,再然后将后台数据库处理过的运行结果接受[16]。因为各种浏览器接受的数据类型不尽相同,所以此时Web服务器还需将经过数据库借口程序接收到的数据信息转换成客户端浏览器需要的类型,这样才能正确客户端显示出来。B/S结构如图2-2所示。

 

图2-2 B/S结构示意图

在使用B/S结构的网络考试系统中,使用动态网页部署到互联网上。用户仅需保证在有网络连接的情况下就可以通过客户端浏览器打开访问后台服务器。与传统的C/S结构相比,B/S结构具有很多更受大众欢迎的优点。例如:

(1) 成本更少。B/S结构不需要部署安装其他的客户端应用软件,只需要客户端的个人电脑上有浏览器就可以完成所有系统功能,成本自然减少很多[17]。而且此结构使系统研发和应用分为两个互相无关的部分,无疑大大提高了系统的可扩展性。

(2) 安全性更高。如果数据结构发生改变,也只需对后端服务器程序进行修改,客户端无需更改,增强了系统效率。B/S结构可以更好的适应跨地区使用,只要考生在Web服务器登录就可以进行网络考试。

3.系统分析

3.1  系统需求分析

根据宁夏大学信息工程学院学生考试规范和C语言课程特点,基于B/S结构的C语言网络考试系统的业务要求如下:

(1) 考试系统需要设计多种登录身份,例如任课教师,学生和系统管理员。任课教师可以阅改试卷、查看学生成绩等等[18]。而学生可以凭借学号密码登录系统、在特定时间限制内参加考试、查看个人考试成绩、修改登录密码等等。系统管理员能够对系统进行维护,以拥有管理其他用户的权限。

(2) 考试系统可以组建客观题和简答题两大类题目的试卷。因为传统考试模式都是客观题和主观题相结合,仅仅有客观题不足以检测考生真实水平,也不利于维护考试公平。所以系统设计应实现该功能。

(3) 考试系统需要以自动组卷代替人工组卷。实现自动组卷是系统最基本最中心的功能。人工组建试卷耗时费力,应当被新时代淘汰。

(4)考试系统应实现正确管理考试时间,分数等。考试时间应由任课教师根据需要设置,超过答题时间系统将自动保存考生考试信息自动提交。另外考试试卷中每一题应设置明确的分数。

(5)考试系统应实现信息管理的功能,学生、教师的信息,密码的修改等。

总之,设计考试系统应将教师从繁重的组卷、阅卷工作中解放出来,节省印刷试卷的消费,释放传统考试占用的场地等等。其次,可以将学院高性能计算机资源利用起来,服务广大师生。

3.2  系统用户分析

经过以上对C语言网络考试系统的主要实现功能的分析,我们知道,考试系统至少包含3个用户角色,下面将详细分析每种用户角色将要实现的功能和拥有的权限。

(1) 系统管理员(System Administrator)。系统管理员主要功能是实现系统维护。包括如下权限:添加删除用户、管理题库、设置试卷中各类题所占的比例、考试时间管理等等。

(2) 学生(Student)。宁夏大学信息工程学院全体学生是该考试系统使用的主体之一。利用网络考试系统,他们可以进行登录系统、修改个人信息、进行网络考试、以及查看自己成绩等等。

(3) 任课教师(Teacher)。教师是除了学生外的另一主体。他们可以通过网络考试系统修改个人信息、批改学生主观题答题、查看学生成绩等等。网络考试系统用户角色分析如表3-1所示。

表3-1 网络考试系统用户角色分析

角色名称

角色需求

系统管理员(System Administrator)

添加删除用户、管理题库、设置试卷中各类题所占的比例、考试时间管理

学生(Student)

登录系统、修改个人信息、进行网络考试、以及查看自己成绩

任课教师(Teacher)

修改个人信息、批改学生主观题答题、查看学生成绩

3.3  系统主要流程分析

基于B/S的C语言网络考试系统的功能比较繁杂,因此在进行系统设计前应先进行业务流程分析。流程主要有组建试卷的流程、进行考试的流程和成绩计算的流程。本节将对这三个流程进行详细的分析。

3.3.1 组织考生试卷的流程图

系统管理员首先通过浏览器登陆网络考试系统,点击试题管理将试题及客观题答案导入题库,然后设置题型比例、考试时间、考试总分等考试信息,最终通过教务处向考生发布考试通知为止,一次流程完毕。组织考生试卷的流程图流程图如图3-1所示:

 

图3-1 组织考生试卷的流程图

3.3.2 考生考试流程图

考生考试流程图结构比较清晰简单。考生接到系统管理员发布的考试信息后,在规定的时间点凭借自己的考生号和登录密码进入在下考试系统,开始考试,在规定的时间内填写答案,考试结束后保存答案提交,若考生超出规定时间,系统自动终止考试,保存考生答案并提交。考生考试流程图如图3-2所示:

 

图3-2 考生考试流程图

3.3.3 成绩计算流程图

成绩计算是任课教师的任务。首先需要任课教师登录系统,点击查看修改试卷,查看试题和考生答案,选择题等客观题系统已经自动判定,任课教师需要批改考生的主观题,直到批改完所有考试试卷。然后任课教师可以查看成绩统计,系统将每个分数段人数都统计出来,教师可以直观的了解到此次考试情况。成绩计算流程图如图3-3所示:

   

图3-3 成绩评定流程图

3.4  系统功能分析

在面向对象的应用软件和程序设计中,统一建模语言(Unified Modeling Language),简称UML,是一种最受大众欢迎的分析方法。它是始于1997年的一个图形化语言,为应用软件开发提供模型化支撑,UML拥有众多优点,例如表达简明、方便理解、适用范围广等优势。UML将软件研发领域的一些手段融入到自身设计过程里边去。在面向对象的软件设计中,UML是一种常见的分析方法,它具有表达明确、理解容易、普遍适用等优点。UML将软件工程领域的一些新方法、新思想融入到设计过程中,不仅用于需求分析和设计,它支持软件工程的整个生命过程。本节将使用UML语言分析网络考试系统的具体功能需求。

3.4.1 考试管理

考试管理是由系统管理员操作的,管理员在组织考试之前首先就需要进行考试管理,考试管理的主要功能是考试信息的增删查改等。本系统将考试管理分为两部分:

组织考试和考试信息维护。其中组织考试是教师管理员新添加一项考试,确定试卷,设定考试时间,设定考试人员,发布考试通知等。考试信息维护就是修改考试、删除考试和查找考试等操作。考试管理的用例图如图3-4所示。

 

 

图3-4 考试管理用例图

3.4.2 网络考试

该系统的主要功能即学生能够网络考试,当学院学生获知C语言课程考试通知时,在学院规定的时间内登录系统,参加考试。与传统考试模式相同,网络考试同样有时间限制和客观题主观题两大题型,考生须在一定时间内完成答题,若超出系统规定时间,将不能继续答题,系统会自动保存答题卡提交后台。考生网络考试用例图如图3-5所示:

 

图3-5 考生网络考试用例图

3.4.3 试卷管理和成绩管理

 

图3-6 试卷管理和成绩管理用例图

试卷管理是任课教师的主要权限。任课教师登录网络考试系统后点击查看学生试卷,其中客观题部分由系统自动评分,主观题部分需要任课教师根据实际情况给分,最后由系统自动算出该学生总成绩,直到所有学生试卷都被改完。然后系统会将各分数段学生成绩统计出来,供老师参考。任课教师批改完试卷,学生也可登录查看自己成绩。试卷管理和成绩管理用例图如图3-6所示。

3.4.4 试题库管理

试题库管理是系统管理员所使用的功能。每个系统管理员负责维护自己专业试题库。本系统提供两大种类型的题目:客观题和主观题。在进行试卷管理时,根据题目类型分别管理。试题库用例图如图3-7所示。

 

图3-7 试题库管理用例图

4.系统设计

4.1  系统架构设计

经过对系统详细的分析,我们决定使用三层B/S架构进行网络考试系统的研发。用户通过客户端浏览器发送请求,界面层将信息发送到业务逻辑层,然后业务逻辑层通过数据库连接程序把信息发送到数据层。

4.2  系统功能模块划分

系统的总体结构包含两部分:网络考试前台,用于考生考试及成绩查询、教师批改试卷等等。试题管理后台,系统管理员进行试题库维护、考试试卷具体设置、用户信息管理等等。功能模块如图4-1所示。

图4-1 功能模块

4.3  数据库设计

数据库基本上是所有应用系统的中心部分,若数据库设计的不科学合理,将会对程序运行效果产生重大影响。本小节将从数据库概念设计、逻辑设计、物理设计三个方向对数据库部分进行详细的分析与设计。

4.3.1 概念设计阶段

本系统使用E-R图完成数据库概念设计阶段。分析过程可分为两个阶段:分析设计局部E-R图,然后把所有局部E-R图整合为一个全局E-R图。得到的全局E-R图即为概念模型。

(1)局部E-R图

系统设计的局部E-R图如图4-2至图4-7所示:

 

图4-2 学生实体

 

图4-3 系统管理员实体

 

图4-4 任课教师实体

 

 

 

图4-5 成绩实体

 

图4-6 试卷实体

 

 图4-7 试题实体

全局E-R图

将局部E-R图合并优化得到全局E-R图如图4-8所示。

 

图4-8 全局E-R图

 

4.3.2 逻辑结构设计

根据数据库的概念分析,将上述得到的抽象模型变换为数据库表,可以设计如下各表:

用户(用户编号,用户类型,姓名,密码,性别)

题库(试题编号,试题类型,课程类型,题干,选项A,选项B,选项C,选项D,标准答案)

成绩(用户编号,课程类型,总分,单选题得分,多选题得分,判断题得分,简答题得分,编程题得分)

试卷成绩(用户编号,试题编号,课程类型,得分,试题类型,试题位置)

试卷(课程类型,单选题,单选题分值,多选题,多选题分值,判断题,判断题分值,简答题,简答题分值,编程题,编程题分值,考试时间)

4.3.3 物理设计

根据前面逻辑结构的分析,设计的数据库表分为以下几类:

题库信息表、考生各题型得分统计表、考生试卷成绩表、考生参加考试信息表、用户信息表。

其中题库信息表的主键是试题编号Qid,qtype代表试题类型、course代表课程类型、ques代表试题题干、KeyA到KeyD代表选项,answer代表标准答案。题库信息表如图4-9所示。

 

图4-9 题库信息表

考生成绩表共包含八个字段,其中表的主键为考生编号Uid。Course代表课程类型、score代表总分、single代表单选题得分、multiply代表多选题得分、judge代表判断题得分、jd代表简答题得分,program代表编程题得分。考生成绩表如图4-10所示。

 

图4-10 考生成绩表

考生试卷成绩表由七个字段构成,主键为考生编号Uid。Tnumber代表试卷中该题在对应题型中的位置。考生试卷成绩表如图4-11所示。

 

图4-11 考生试卷成绩表

考卷信息表由十二个字段构成,主键为课程类型。其中sinc代表试卷中单选题个数,persin代表每个单选题分值。mulc代表试卷中多选题分数,permul代表每个多选题分值。同理judge、perju、jd、perjd、program、perpro分别代表判断题个数、每个判断题分值、简答题个数、每个简答题分值、编程题个数每个编程题分值。totaltime代表考试时间。考卷信息表如图4-12所示。

 

图4-12 考卷信息

用户信息表主键为用户编号Uid。utype代表用户类型,即考生、任课教师、系统管理员。name代表用户姓名、password代表用户密码,sex代表用户性别。用户信息表如图4-13所示。

 

图4-13 用户信息表

5.系统实现

5.1  系统实现平台

本文所设计的网络考试系统基于Java web来实现完成,因为Java语言具有跨平台性良好的特点,所以客户端的硬件以及操作系统差异可以忽略。因为采用了三层的B/S模式来做系统结构,客户端与服务器端独立操作,代码运行在服务器端,在客户端的浏览器上可以显示出结果。针对客户端需要动态实现的功能,只需在客户端浏览器通过脚本语言实现。的访问后台的数据库,采用三层体系结构,在浏览器端只要通过应用程序就可以灵敏并可以进行操控。表示层、业务逻辑层、构中是相对独立的单元,杜绝客户机直接操作后台数据库的能力。对系统后台的非法入侵。数据层在三层体系结,卓有成效的防止了论文研究的考试管理系统开发环境如下:

操作系统:Windows7操作系统

JDK工具:jdk-1.6.0_ 26

服务器:Apache Tomcat 7.0

集成开发工具:Myeclipse 10

后台数据库:SQL Server 2005

5.2  数据库连接

 

图5-1 数据库连接

其中加载驱动和URL路径的语句为:Class.forName('sun.jdbc.odbc.JdbcOdbcDriver');

     String dbURL = 'jdbc:sqlserver://localhost:1433; DatabaseName=ExamOnline';

User和password定义了数据库用户名和登录密码。并利用DriverManager.getConnection(dbURL,user,password)方法建立与数据库的连接,返回连接对象conn。数据库连接代码如图5-1所示。

5.3  考生子系统的实现

5.3.1 网上考试

 

图5-2 考生考试信息核对界面

 

图5-3 考生考试界面

考生考试界面如图5-3所示,以下为具体代码实现。

public ArrayList getQuestion(String course,int count,int type)//得到选择题的方法

{

ArrayList al = new ArrayList();

int totalCount = this.getCount(type,course);//得到选择题数目

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

int temp = (int)(Math.random()*totalCount);//随机产生一个0-总题数之间的随机整数

try{

conn = db.getConnection();

for(int i = 0;i

{

int tempCount = (temp+i)%totalCount;

//System.out.println(tempCount);

String sql = 'select top 1 * from Question where qtype='+type+' and course=''+course+'' and Qid not in(select top '+tempCount+' Qid from Question where qtype='+type+' and course=''+course+'')';

ps = conn.prepareStatement(sql);

//ps.setInt(1, type);

//ps.setInt(2, tempCount);

//ps.setInt(3, type);

rs = ps.executeQuery();

Question ques = new Question();

if(rs.next())

{

  ques.setId(rs.getInt(1));

  ques.setType(1);

  ques.setQues(rs.getString(4));

  ques.setKeyA(rs.getString(5));

  ques.setKeyB(rs.getString(6));

  ques.setKeyC(rs.getString(7));

  ques.setKeyD(rs.getString(8));

  ques.setAnswer(rs.getString(9));

  al.add(ques);

}

  

}

}catch(Exception e)

{

e.printStackTrace();

}finally

{

db.CloseDB(conn, ps, rs);

return al;

}

}

5.3.2 成绩查询

学生可以查询已考科目的成绩。成绩查询如图5-4所示。

 

图5-4 成绩查询

5.3.3 个人信息修改

学生可以对个人基本信息作出修改。个人信息修改如图5-5与图5-6所示。

 

图5-5 密码修改

 

图5-6 个人信息修改

5.4  教师子系统的实现

5.4.1 批改试卷

 

图5-7 批改试卷

试卷批改界面如图5-7所示。相关代码分析如下:

public boolean updateTest(String Uid,int Qid,float score)//修改试卷库中相应试题的分数

{

Connection conn = db.getConnection();

PreparedStatement ps = null;

ResultSet rs = null;

boolean flag = false;

try{

String sql = 'update Test set score=? where Uid=? and Qid=?';

ps = conn.prepareStatement(sql);

ps.setFloat(1, score);

ps.setString(2, Uid);

ps.setInt(3, Qid);

int i = ps.executeUpdate();

if(i!=0)

{

 flag = true;

}

}catch(Exception e)

{

e.printStackTrace();

}

1.4.2 成绩统计

成绩统计界面如图5-8所示。

 

图5-8 成绩统计

5.5  管理员子系统的实现

5.5.1 人员管理功能

系统管理员可以进行增删改操作。人员管理界面如图5-9所示。

 

图5-9 人员管理功能

5.5.2 题库维护

题库维护界面如图5-10所示。

 

图5-10 题库维护

5.5.3 组卷信息设置

组卷信息界面如图5-11所示。

 

图5-11 组卷信息设置

6.系统测试

网络考试系统的主要功能实现后,我们还要对系统进行细致的测试来完善系统的研发,减少或避免bug,提高用户体验。

6.1  测试任务

内容测试过程中的主要任务是测试系统能否对各种用户请求做出正确的响应。其次还要测试系统各个功能能否正常实现以及各个界面能否按照系统设定显示。

6.2  建立测试实例

测试实例1:用户登录

用户登录功能测试如表6-1所示。

表6-1 用户登录测试表

测试过程

预期结果

测试实际结果

输入不正确的用户名、密码

提示用户名或密码错误

用户登录功能可以正确实现。

输入与用户类别不相符的信息

无法登录

 

输入正确信息

登录成功

 

测试实例2:设置考卷格式信息:

设置考卷格式信息测试如表6-2所示。

表6-2 设置考卷格式信息测试表

测试过程

预期结果

测试实际结果

输入信息不完整

提示信息不完整

系统可以正确实现该功能

输入正确题型、题目数目等信息

可以建立保存试卷格式信息

 

测试实例3:随机组卷功能

随机组卷功能测试如表6-3所示。

表6-3 随机组卷功能测试表

测试过程

预期结果

测试实际结果

用多个考生用户名密码登录考试

各考生试卷不尽相同

系统可以较好实现随机组卷功能

用错误的用户名登录

不能登录

 

 

测试实例4:网络考试功能

网络考试功能测试如表6-4所示。

 

表6-4 网络考试功能测试表

测试过程

预期结果

测试实际结果

开始考试

正常开始

网络考试功能可正常实现

提前交卷

可以正常保存试卷

 

超时答题

系统中止考试,保存当前试卷

 

测试实例5:任课教师批改试卷功能

任课教师批改试卷功能测试如表6-5所示。

表6-5 任课教师批改试卷功能测试表

测试过程

预期结果

测试实际结果

任课教师查看试卷

可以查看

任课教师批改试卷功能可以实现

任课教师查看试卷

可以批改

 

任课教师批改试卷

提示错误,更改分数

 

6.3  测试结论

经过对该网络考试系统的主要功能的测试可以知道,该系统虽然功能比较简单,但主要的功能都能正常实现,出现非法输入时系统会给出适当提示,基本满足学生和任课老师的需求。

7.总结与展望

本文成功完成了一个《C语言程序设计》网络考试系统的设计与开发。系统基于B/S结构,利用MyEclipse 10和SQL Server 2005作为开发工具完成了系统的设计和实现。该网络考试系统实现了用户管理、网络考试管理、试题库管理、成绩管理等功能,基本满足学生和任课老师的需求。通过这次毕业设计,本人深深体会到从项目需求分析、设计到实现、测试过程的复杂程度,同时 Java Web技术的理解,极大的提高了我的动手能力,积累了一定的项目开发经验,付出了很多,也收获了许多。

由于研发时间和本人能力的局限,系统只是实现了一些主要的功能,可能还有一些还未发现的bug存在。在今后的学习中,还可以对系统进行进一步的开发,比如增加考试类型,使其可以提供更多类型的课程的网络考试,更好的服务广大师生。

参考文献

[1]Bruce Eckel.Java编程思想[M].北京:机械工业出版社,2009,30-32

[2]姚向东.基于B/S结构的学校管理信息系统的研究与开发[D].成都:四川大学,2004

[3](美)舒尔第.Java2-The complete reference[M].北京:电子工业出版社,2007,20-23

[4]郝平,王万良.数据库开发与应用[M].北京:科学出版社,2005,21-25

[5]马荣飞.基于B/S结构的网络考试系统[D].西安:西安电子科技大学,2013

[6]朱福喜.Java语言与面向对象程序设计[M].武汉:武汉大学出版社,2007,53-61

[7]Peter Haggar.Practical Java[M].北京:中国电力出版社,2003,26-29

[8]Steven Haines.Java 2 primer plus[M].北京:人民邮电出版社,2003,17-40

[9]H. M. Deitel.Java How to Program[M].北京:清华大学出版社,2015,31-34

[10]Bruce ckel.Thinking in JAVA[M].北京:机械工业出版社,2012,13-32

[11]周兆确.Java数据对象[M].北京:人民邮电出版社,2004,42-51

[12]唐俊武,南理勇,左强.在线考试系统开发中的几个问题及解决方法[J].计算机与数字工程,9(1):2015,14-18

[13]肖华波.高校在线考试系统的设计与实现[D].南昌:南昌航空大学,2017

[14]T. HUSTED, C. DUMOULIN. Struts in Action: BuildingApplications with the Leading Java Framework[M]. US: Manning Publications, 2002, 46-50

[15]檀晓红.基于推荐及遗传算法的个性化课程生成与进化研究[D].南京:南京大学,2013

[16]赵学武.面向对象程序设计中的多态性[J].电脑知识与技术,2014,21(1):5036-5039

[17]徐美霞.基于web技术的网上考试系统[D].山东青岛:中国海洋大学,2011

[18]李红.数据库原理与应用[M].北京:高等教育出版社出版社,2010, 251-258

谢 辞

 

在毕业设计的实现和毕业论文的撰写中,我受到许多无私的帮助。值此毕业论文完成之际,向那些关心爱护我的教师和同学表达最真诚的感谢。

首先,我要衷心感谢我的导师施文英教授。她学识渊博,师德高尚,和蔼可亲。从论文选题开始,施老师无时不关心我们的毕设和论文的进展情况,针对毕设和论文出现的一些问题,施老师都及时指出并帮助我们改正。从论文选题到完成,其间修改了数稿,每一次都是在施老师的悉心指导下完成,正是因为施老师中肯的意见,细心的指导,不懈的支持与帮助,才能促使我充满信心地完成毕业设计与毕业论文。在此我要向施老师致以深深的谢意,并祝施老师身体健康,工作顺利,阖家欢乐。

其次,我还要感谢宁夏大学信息工程学院的老师。感谢他们在思想上对我们的积极鼓励,学习上的细心教导,生活上的无私帮助。同时也感谢信息工程学院2014级的全体同学,是你们让我四年的大学生活充满种种美好的回忆。

最后,向所有大学期间给与我关心和帮助的老师和同学们致以最真诚的感谢。