《在线考试系统的设计与实现毕业设计(论文).doc》由会员分享,可在线阅读,更多相关《在线考试系统的设计与实现毕业设计(论文).doc(49页珍藏版)》请在三一办公上搜索。
1、毕业设计(论文)在线考试系统的设计与实现学生学号学生姓名学院名称专业名称指导教师2013年11月20日摘要在线考试系统旨在实现在线考试中阅卷过程的计算机化。在线考试通过网络进行,可以有效提高教学考试的效率,减少教师的工作量,有助提高教学质量。本文所述的在线考试系统包括试题库管理、考生及教师信息管理、在线制作试卷、控制学生考试时长的设置、试卷状态修改等功能。本论文主要介绍了对JAVA在线考试系统的分析、设计和开发的全部过程。全文共分为开发背景和目的、需求分析、关键技术、系统设计、系统实现,结论六部分。开发背景和目的中主要介绍开发在线考试系统的应用背景和目的、开发方案的选择及开发框架的技术的确定;
2、需求分析介绍了在线考试系统的总体需求及系统各模块的功能需求;关键技术介绍了在具体实现时需解决的一些技术,如开发框架的整合技术、开发框架与其他用到的技术;系统设计介绍了系统设计的指导思想、数据库的设计、系统模块的设计;系统实现部分主要是功能模块的分析、整体页面的设计、代码的设计;结论部分是自己开发的一些感想和遇到的一些问题。关键词: java;在线考试;J2EE;Struts2AbstractThe online exam system designed to achieve the computerization of the online exam marking process. Onli
3、ne examination through the network, can effectively improve the teaching efficiency of the examination, to reduce the workload of teachers to help improve the quality of teaching. Described in this article online exam marking management subsystem includes a test library management, candidates and te
4、achers, information management, online production of paper settings in the control students examination papers state change function. This paper introduces the JAVA online exam marking management subsystem analysis, design and development process.The full text is divided into a development backgroun
5、d and objectives, requirements analysis, key technologies, system design, system implementation, the conclusion of six parts. Introduces the development background and purpose of the application background and purpose of the development of online examination system, the technology selection and deve
6、lopment framework for the development of programs to determine the function of each module of the overall demand for online examination system and system needs; needs analysis; Key Technology to be addressed in the concrete realization of a number of technical, such as the development framework for
7、the integration of technology and development framework with other techniques used; system design introduces the guiding ideology of the system design, database design, system module design; system to achieve some of the major analysis of functional modules, the overall page design, the design of th
8、e code; conclusion developed some feelings and some of the problems encountered. Keywords: Java; Online Examination; J2EE; struts2目 录1 绪 论61.1选题的背景和意义61.2国内外研究现状61.3本论文的主要内容与结构72 系统的开发环境及技术简介82.1 系统开发环境82.1.1 MyEclipse82.1.2 MySQL82.2系统开发的思想与技术92.2.1JSP技术与MVC模式92.2.2 Jquery技术92.2.3 Ajax技术93 系统分析113.
9、1 需求分析113.2任务概述113.3数据流程图123.3.1顶层数据流程图123.3.2学生数据流程图123.3.3教师数据流程图133.3.4管理员数据流程图144 系统总体设计164.1 总体功能模块164.2管理员功能模块164.2.1用户信息管理子模块174.2.2科目和题库管理子模块174.2.3试卷管理子模块184.2.4其他管理子模块194.3 教师管理功能模块204.3.1阅卷管理子模块204.4 学生管理功能模块214.4.1考试管理子模块215系统详细设计与实现235.1设计思想概述235.2数据库设计245.2.1概念模型设计245.2.2数据库逻辑模型275.2.3
10、数据库表结构275.3部分功能模块的设计与实现295.3.1用户信息管理子模块295.3.2题库管理子模块335.3.3试卷管理子模块355.2.4阅卷管理子模块375.2.5考试管理子模块406系统测试436.1开发期测试436.2功能测试446.2.1测试策略446.2.2测试用例456.2.3测试结果47结论48致谢50参考文献511 绪 论1.1选题的背景和意义在线考试并不是一个新概念,可以说,在几十年前主机系统出现时就诞生了。近年来,Internet的出现给了在线考试系统以新的活力,基于网络的在线考试系统已经成为一个新的热点。在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在
11、网络上自动完成。只要形成一套成熟的题库就可以实现学生学习的自动化。教师所要做的只是精心设计题目、维护题库,从而大大减轻了工作量。学习者可以不受时间、空间和地域的限制,在任何时间、任何地点都可以通过网络自主测试。我们研究的在线考试系统,改变原有的同步交互为异步交互方式,使页面在后台按需获取数据,前台进行局部刷新,不仅节省了带宽,同时提高了网络响应速度,大大提升了用户体验。建立该系统有两个主要原因:第一,为同学们的学习提供了便利,从而也通过这个在线测试系统,来提高在校大学生的自主学习能力;第二,减少老师们批改作业的工作量,同时也让老师们对自己的学生们在掌握知识的程度方面有更好的评估,从而提高老师的
12、讲课质量,最终达到学生和老师互利双赢的良好教学成果。1.2国内外研究现状教育信息化工作是目前教育改革和发展的主旋律之一,考试是教学过程中的一个重要环节。如何充分利用计算机,构建一个具有开放性、实用性和灵活性的在线测试系统,是一个值得探讨的课题。纵观国内外教育,从90年代末开始,在短短的十几年时间里,实行网络教学的理念早己经成为教育界的一大研究热点,研发人员和教育者对网络教学平台的开发也处于不断地探索和发展之中,从最开始的单一的网络教学,逐步发展成为一种集合网络教学和在线考试系统的综合系统。随着网络的不断发展,多媒体网络技术也越来越趋向于成熟,网络能够实现实时地检索在线教学内容,部分网上学习系统
13、能根据学生的要求简单选择教学的内容,对学生的学习进行一定的评估测试,而这里,我就开发一个在线考试系统,用来进行测试分析。当然,随着技术及学校和学生需求的不断提高,考试的形式也变的多种多样,网络上的学习及考试种类都在不断增加,并且网络速度也是一个不得不关注的问题;例如:现行城市里的交通堵塞,需要交通灯疏通,而网络堵塞时又该如何解决呢?为此,我们需要一个可以解决网络堵塞的技术Ajax技术,该技术的特点是不必刷新整个页面,而是只是针对页面的局部进行更新,这样就减少了数据的流通,从而可以节省网络带宽、提高网页加载速度,减少用户在线等待时间,改善操作体验,是一个强大的客户端脚本库的网站技术开发包。本课题
14、设计的基于Ajax技术的在线考试系统,充分利用了Ajax的各项技术特点,结合Java的各项技术,实现了系统所需的各项功能。1.3本论文的主要内容与结构本论文在第二章论述系统开发平台以及相关技术,包括jsp技术,MVC模式,SSH框架,jquery框架技术,ajax技术。第三章是系统分析,分别画出了顶层数据流程图,其他功能模块的数据流程图。第四章是系统功能设计,分别描述了总体功能模块,管理员功能模块,教师功能模块和学生功能模块。管理员功能模块包括:科目管理的功能,用户管理的功能,成绩管理的功能,试题库管理的功能,试卷管理的功能;教师管理模块包括:改卷管理的功能,成绩管理的功能,以及成绩管理的功能
15、;学生管理模块:在线测试的功能,错题集管理的功能,历史试卷管理的功能,以及成绩查询等功能。第五章论述了系统详细设计与实现,系统模块结构设计,数据库设计中的数据库E-R图,数据库关系模型,数据库表结构。第六章是系统的运行和测试,最后是结束语和参考文献。2 系统的开发环境及技术简介2.1 系统开发环境2.1.1 MyEclipse在开发本系统所用到的开发工具为MyEclipse。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的一种扩展,利用MyEclipse,我们可以在数据库和J2EE的开发、发布
16、,以及在应用程序服务器的整合当中极大地提高系统的工作效率。MyEclipse是一个功能非常丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。从结构角度来讲,MyEclipse具有以下特征,分别是J2EE模型、EJB开发工具、WEB开发工具、应用程序服务器的连接器、J2EE项目部署服务、数据库服务、MyEclipse整合帮助等。简单来说,MyEclipse就是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。2.1.2 My
17、SQL数据库使用的是业界流行使用的MySQL开源数据库。数据库MySQL具有的特性:第一,MySQL使用C和C+语言开发而成,而且用多种编译器进行测试过,这样就保证了源码的可移植性。第二,它可以运行在多种操作系统上,比如Linux、Solaris、Windows等。第三,MySQL为C、C+、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等编程语言提供了应用程序接口。第四,支持多线程充分利用CPU资源。第五,优化的SQL查询算法,有效地提高查询速度。第六,MySQL能够作为一个单独的应用程序应用在客户端服务器网络环境中,同时也能够作为一个库而嵌入到其他的软件中提供多语
18、言支持,常见的编码方法有中文的GB2312和BIG5等。第七,提供多种连接数据库的方法,例如通过TCP/IP、ODBC和JDBC等方式。MySQL以其自身的许多优点,它有着很广泛的应用。相比其他的大型数据库Oracle、DB2、SQL Server,MySQL也有许多不足之处,比如规模较小、功能不是很强大等,但是这对于一般的个人客户和中小型企业来说,MySQL提供的功能已经完全能够满足,除此之外,MySQL是开源软件,所以可以大大降低软件开发成本。2.2系统开发的思想与技术2.2.1JSP技术与MVC模式本系统采用jsp技术,基于MVC模式开发,使用SSH框架(struts2、spring、h
19、ibernate)来增加系统的开发速度。所谓的MVC模式是Model-View-Controller的缩写,中文翻译为模式-视图-控制器。程序就是用struts2和hibernate这两个框架来实现模式和控制器这两层,jsp实现视图这一层。一般来说程序就是在数据库和页面之间起桥梁作用的,jsp页面请求先到action,再到dao,再回到action,回到jsp页面,action主要处理来自页面的请求,dao主要是和数据库的交互,struts2主要用在action,处理来自页面的请求,处理完请求后跳转回页面。Hibernate主要用在dao,包括对数据库的增、删、改、查的操作,spring控制程
20、序的流程。2.2.2 Jquery技术本系统采用jquery框架来对Ajax进行封装,运用jquery框架为系统提供Ajax技术的交互。Jquery是继prototype之后又一个优秀的Javascrpt框架。它是轻量级的js库(压缩后只有21k) ,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件
21、可供选择。jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆JS来调用命令了,只需定义id即可。2.2.3 Ajax技术AJAX是(Asynchronous JavaScript and XML)的简写,它并不是单纯的一种技术,而是由几种蓬勃发展的技术以新的强大方式组合而成。主要有三部分组成:DHTML(动态HTML)、XMLHttpRequest、Server Files(服务器文件)。DHTML过滤用于在页面上显示的数据,在这当中,Ajax用XHTML来制作内容,用CSS来制作外观,用DOM和JavaScript来制作动态内容显示;XMLH
22、ttpRequest主要通信代理,在服务器和页面间传送数据,进行异步数据的交互,是实现AJAX应用的核心技术。Ajax技术最大的优点就是页面无刷新,在页面内与服务器通信,给用户的体验非常好,这一优点在本系统中也有很好的体现,例如:管理员的试题添加与筛选试题的功能等等。Ajax技术之中,最核心的技术就是XMLHttpRequest,主要是通过ActiveX组件来创建XMLHttpRequest对象。本系统中判断浏览器类型也是运用了该对象。XMLHttpRequest对象是整个AJAX开发的基础,提供了客户端和服务器端进行异步通信的能力。一方面它向服务器提交一个请求,获取指定的内容;另一方面将指定
23、的数据提交到服务器端。XMLHttpRequest对象由JavaScript创建并使用,客户端可以只从服务器端获取需要的信息,通过与DOM和CSS的结合,可以实现局部刷新;同时还可以通过XMLHttpRequest对象异步提交信息,将输入的数据在后台提交到服务器而无需每次刷新页面,也不用每次都将数据处理的工作都交给服务器来做;这样既减轻了服务器负担又加快了响应速度、缩短了用户的等待时间。3 系统分析3.1 需求分析通过调查分析,在线考试系统主要包括教师、管理员、学生。我重点调查分析的三种用户的职能。其中管理员主要负责教师、学生以及管理员用户信息的添加、修改和删除操作,以及科目、试题的添加、删除
24、和修改操作,并创建试卷,同时也具有查看成绩以及修改个人信息的功能。教师主要根据学生考好的试卷进行阅卷,查看学生考试试题,以及学生测试成绩生成的检查和修改操作,同时也具有查看学生成绩以及修改个人信息的功能。学生主要是负责在线测试并且可以在线查看自己提交的试卷答案,学生可以在成绩查询一栏中查看自己的成绩,同时也具有修改个人信息的功能。在考试系统的设计和实现过程中,为了使系统便于管理和保障系统的安全性,在线测试系统中编辑设计了管理员登录,并且在添加管理员信息的时候,管理员必须先验证自己的用户名密码,再进行添加。管理员在添加用户信息时,将用户的登录密码默认设置为该用户登录的账号,因此用户登录后,可以先
25、修改自己的登录密码,以保证个人账户的安全性。学生登录后可以选择自己测试的课程,选用考卷卷进行考试,测试完成后可以查看自己的试题和分数;查询考过课程的历史试卷。为了方便管理员对系统的管理,还特地为用户、科目和试题这三栏添加的搜索功能,以方便管理员查找,并且对其进行各项操作。3.2任务概述1)由于考试对应的是特定的对象,所以系统需要经过身份验证才可以登陆相应的主页。2)系统的权限分为三种:管理员,老师和学生。不同的身份使用不同的权限和功能。3)教师权限的老师需要参与阅卷,查看和修改学生的成绩等等。4)管理人员需要对教师和考生账号进行有效的管理,并负责试题的收录及更新和修改,对试题的分类,每次考试前
26、,需要对试场环境和考生状态进行考前初始化工作。要注意的是, 鉴于考试环境一般为机房,考试者之间的距离很近,为了在线考试做到规范,对于每个应试者来说,试卷的试题和题量都应是相同的。5)系统要有良好的试卷提交功能,确保信息传送的正确性。6)系统要有一个亲和的界面,这样才能确保考生考试的顺利进行。7)因为试卷中的主观题需要老师批改,需要教师阅卷以后才能查询到成绩。但如果试卷是由客观题型组成的,考生就可以在考试结束后查询到自己客观题的成绩了。8)系统提供对考生成绩的查询和历史试卷的查询等管理功能。9)系统应具有一定的安全性管理3.3数据流程图3.3.1顶层数据流程图顶层数据流程图说明了系统与其外部环境
27、中各实体之间的信息交流。如图3-1所示,在线测试系统的外部实体主要有教师、管理员和学生。系统管理人员通过添加教师学生等信息,以及添加测试科目与教师学生建立关系。学生通过在线测试与教师建立关系。并且教师可以评阅学生的试卷,评阅成功之后,系统将自动统计老师给的分数,给出学生的总成绩,学生也可以通过成绩查询来查看自己的成绩。管理员在线考试系统学生参加考试给出试卷修改成绩教师查看成绩查看试卷修改个人信息查看个人信息提交试卷提交阅卷修改个人信息查看个人信息查看成绩添加修改删除用户添加修改删除试题查看用户查看试题添加修改删除试卷查看试卷添加修改删除科目图3-1 顶层数据流程图3.3.2学生数据流程图首先学
28、生开始测试,需要登陆系统。此时需要读取学生信息表匹配用户名密码是否正确。然后开始进入系统进行测试。学生可选择试卷名称,从而生成试卷。当提交之后,生成成绩并显示答案,系统自动判断试卷的选择和判断题,并且学生的考试记录将被提交到考试试题记录表中。其他题型将由老师进行阅卷后产生,并且把该学生的成绩提交到考试阅卷信息表,之后学生可以查看成绩,并且可以查看自己的历史试卷,当学生要查看自己的历史试卷时,系统将从考试试题记录表中取出考生曾考过的试题。图3-2学生测试管理数据流程图3.3.3教师数据流程图教师登陆该系统以后可以对学生考试产生的试卷进行阅卷,这也是教师部分主要的功能。图3-3教师数据流程图3.3
29、.4管理员数据流程图管理员可以添加用户,并将该用户信息保存在用户信息表中,以及对学生、教师和管理员用户的信息修改,管理员还可以对试题、科目进行相应的操作,并进行组卷。主要目的是让更多的教师和学生可以更好地使用该在线测试系统。通过让更多的教师和学生参与,才能保证题库的题量更多,学生做试题的次数更多,从而让在线测试系统更好地发展起来。图3-4管理员数据流程4 系统总体设计4.1 总体功能模块通过了解学校现行的考试流程,和学校教务管理人员进行交谈,获取需求,并据此设计出系统的功能模块。在线考试系统主要有三种用户:管理员,教师用户,学生用户。总体功能图4-1所示:图4-1总体结构图根据对高校正在使用的
30、在线考试系统的实地调查,本系统根据以事物为中心的设计策略,系统主要包括了五个子功能模块还有其他小的功能模块,其中五个主要功能模块分别为在线测试模块、题库管理模块、试卷管理、阅卷管理模块、用户信息管理模块。4.2管理员功能模块管理员主要有科目和题库管理、试卷管理、用户管理、成绩管理和个人信息管理这五个模块。管理员的功能图如4-2所示:图4-2管理员的功能4.2.1用户信息管理子模块用户信息管理模块:管理员可以添加用户,并将该用户信息保存在用户信息表中,以及对用户信息进行修改和删除等功能,主要目的是让教师和学生可以使用该在线考试系统。让教师和学生能够更好的使用该系统,完成教育的宗旨。用户管理功能图
31、如4-3所示:图4-3用户管理的功能4.2.2科目和题库管理子模块科目管理的功能主要用于管理科目的信息,管理员可以对科目进行查询、添加、删除和修改操作。科目管理功能图如4-4所示:图4-4科目管理的功能题库管理模块:管理员登陆该系统以后可以对在线考试系统的试题题库进行管理。题库管理的功能主要是对添加试题,并将试题保存与题库信息表中,同时也可以对试题进行删除和修改操作。管理员主要包括负责不同科目试题的录入以及对试题进行编辑、修改和删除。如果管理员发现存在一些问题,可以将该试题删除或者修改,这也是该系统主要的功能。这个功能模块是决定生成随机试卷的关键。试题管理的功能主要用于查看当前科目的所有试题,
32、并且可以添加、修改、删除(选择题、判断题、填空题、简单题),试题管理功能图如4-5所示:图4-5试题管理的功能4.2.3试卷管理子模块试卷管理模块:该模块,是管理员模块的关键模块之一,管理员可以这里创建考卷,并将考卷保存到试卷信息表中,同时还可以进行修改试卷、删除试卷、使用试卷、停用试卷等操作,当学生登陆在线测试系统以后,选择试卷,便可以进行在线考试了。试卷管理的功能主要是组卷,在试卷管理中,管理员可以创建、修改、删除试卷,并且可以查看、管理试卷里面的试题,对已经有的试卷可以进行状态设置。基本功能图如4-6所示:图4-6试卷管理的功能4.2.4其他管理子模块成绩管理主要用于用户查看成绩和已考考
33、卷的信息。如4-7所示:图4-7成绩管理的功能个人信息管理主要用于用户修改个人的基本信息。如4-8所示:图4-8个人信息管理的功能4.3 教师管理功能模块教师主要有阅卷管理、查看学生考卷、修改个人信息这三项功能,在这里我们主要介绍一线教师所特有的阅卷功能。教师总体功能图如4-9所示:图4-9教师管理的功能图4.3.1阅卷管理子模块阅卷管理模块:当学生提交考过的试卷后,试卷将被保存到考试阅卷信息表中,系统将自动批阅选择题和判断题的成绩,填空题和问答题将由教师在改卷管理中评分,给出成绩,从而生成学生的总成绩,并将该学生的成绩保存在数据库中。如果教师在批阅期间发现存在一些问题,可以修改该学生的成绩,
34、这也是该系统主要的功能。教师管理模块主要体现在阅卷管理中,对学生考的试卷的题目进行阅卷,并且对每道题进行评分,评分成功之后,系统将自动计算每道试题的分数,显示试卷的总分。具体功能图4-10所示:图4-10改卷管理的功能图4.4 学生管理功能模块学生的功能主要有参加考试、查询成绩、个人信息管理这三项主要功能,成绩查询与管理员和老师的成绩管理的功能是一样的。学生总体功能图如4-11所示:图4-11学生管理的功能图4.4.1考试管理子模块考试管理模块:首先学生开始考试,需要登陆系统。此时需要读取学生信息表匹配用户名密码是否正确。然后开始进入系统进行测试。选择自己要考的试卷名,系统将从试卷信息表中读取
35、试卷信息,学生开始进行考试。当提交时候生成成绩,系统自动评阅试卷的选择题和判断题,并显示选择题和判断题的分数,填空题和问答题,由教师进行批阅改卷后产生,并且把该学生的成绩提交到数据库。参加考试管理功能是该在线测试系统的核心,学生也是通过该功能模块进行在线测试和在线联系的。首先学生登陆进入自己的页面,点击参加考试,点击确定开始考试之后,系统会让你选择卷子,例如系统中所提到的,期末模拟卷1、期末模拟卷2等等,提交之后,系统依然呈现正确答案,和自己的答案,学生也可以查看自己的历史试卷查看自己的错误之处,来加强和提升自己的学习成绩。5系统详细设计与实现5.1设计思想概述在线考试系统充分利用了Browe
36、r/Server结构的特点,实现了将考试系统移植到Internet的功能,该系统的优势在于极大的简化了老师出题的工作和学生考试的试题,做到了出题的多样性。目前比较流行的两种网络开发模式分别是Client/Server模式与Brower/Server模式。Client/Server模式主要是在以局域网为基础的环境下展开应用的,它受到地域的限制,并需要事先在客户端机上装载Client端。而Brower/Server模式样通过Internet进行通信,可以不受地域和客户端的限制,但是它不能够进行联机事务处理,并且在大量数据处理的情况下,服务器访问速度较慢。从目前的开发技术来看,Brower端作为信息
37、收集源,特别是大量的数据录入工作Brower还不能完全取代Client端的用户界面。在大量数据录入工作这方面,Client端的各种开发工具的功能更加强大也更加灵活,相对而言Browser端却由于其结构的限定显得过于“瘦小”和不稳定。对于本在线考试系统,其功能目标是实现将现有的纸张答题式考试向基于Internet的无纸张考试系统的转变,所以它必须面向整个考试流程,实现对系统不同权限的账号不同管理,以及完成考试、阅卷、评分这些分类环节上的处理。由于本考试系统对数据收集的实时性要求并不高,并且数据的流通量也不是很多,因此采用Browser/Server结构来进行设计是可行的。图5-1是本系统的网络应
38、用原理示意图。考生浏览器服务器Internet统后台数据库图5-1考试系统原理示意图5.2数据库设计5.2.1概念模型设计概念模型设计的典型方法是用E-R图方法,即用实体-联系模型表示。E-R方法是用E-R图来描述显示世界,E-R图包含三个基本成分:实体、联系、属性。它直观易懂,能够比较准确地反映现实世界的信息联系,从概念上表示一个数据库的信息组织情况。本在线考试系统E-R图如下:图5-2整体关系E-R图nNn1111学生教师试题管理员管理管理管理阅卷图5-3用户信息的E-R图用户名ID密码创建时间角色状态真实姓名用户课程IDID题目分数选项D选项C选项B选项A答案状态试题添加时间题型图5-4
39、试题E-R图课程名ID状态课程图5-5课程信息E-R图图5-6试卷信息E-R图试卷名ID总分用户ID课程编号状态试卷考生时间使用状态状态试卷ID成绩用户ID考试编号阅卷状态阅卷添加时间成绩2图5-7阅卷信息E-R图状态ID试题ID用户ID考试编号得分测试时间题目使用编号答案考试记录点评是否给分图5-8考试记录信息E-R图状态ID用户ID试题编号试卷编号试题使用分值图5-9试题使用信息E-R图5.2.2数据库逻辑模型课程信息表(课程编号、课程名称)用户信息表:(用户编号、姓名、用户名、管理员号、密码、添加时间、用户类型、状态)题库信息表(试题编号、题目、A、B、C、D、答案、创建时间、题型、知识
40、点、正确、错误、课程编号、用户编号)试卷信息表(试卷编号、创建时间、试卷名、考试时间、使用状态、总分、课程编号、用户编号、学院编号)考试阅卷信息表(考试阅卷编号、成绩、成绩2、测试时间、考试编号、阅卷状态、试卷编号、用户编号)考试试题记录表(试题记录编号、测试时间、得分、考试编号、我的答案、题目使用编号、试题编号、用户编号)考试题目使用信息表(题目使用编号、分值、试卷编号、试题编号、用户编号)5.2.3数据库表结构1. 用户信息表字段类型长度说明idbigint20主键 自动增长 usernamevarchar255用户名 passwordvarchar255用户密码truenamevarch
41、ar255真实姓名createtimedatetime/添加时间roleint11角色userlockInt11状态2. 课程信息表字段类型长度说明Idbigint20主键 自动增长kechengmingvarchar255课程名Kechenglockint11状态3. 试卷信息表字段类型长度说明idbigint20主键 自动增长createtimedatetime/添加时间juanmingvarchar255试卷名kaoshishijianint11考试时间shifoushiyongvarchar255使用状态zongfendouble/总分kechengidbigint20课程编号shij
42、uanlockInt11状态useridbigint20外键 用户编号 4. 考试阅卷信息表字段类型待添加的隐藏文字内容3长度说明idbigint20主键 自动增长createtimedatetime/添加时间 chengjivarchar255成绩 chengji2Double/成绩2 kaoshibianhaovarchar255考试编号zhuangtaivarchar255阅卷状态shijuanidbigint20外键 试卷编号 useridbigint20外键 用户编号5. 考试试题记录表字段类型长度说明idbigint20主键 自动增长createtimedatetime/测试时间
43、defenDouble/得分 kaoshibianhaovarchar255考试编号wodedaanvarchar255我的答案 shijuanitemidbigint20题目使用编号 shitiidbigint20外键 试题编号useridbigint20外键 用户编号dianpingvarchar255点评shifougeifenvarchar255是否给分6. 考试题目使用信息表字段类型长度说明idbigint20主键 自动增长 fenzhiDouble/分值 shitiidbigint20外键 试题编号 shijuanidbigint20外键 试卷编号 useridbigint20外键
44、 用户编号 shijuanitemlockint11状态7. 考试题目信息表字段类型长度说明idbigint20主键 自动增长avarchar255A bvarchar255Bcvarchar255Cdvarchar255Dcreatetimedatetime/创建时间shitilockint11状态daanvarchar255答案 leixing varchar255题型 zhishidianvarchar255知识点 wentivarchar255 题目 kechengidbigint20外键 课程编号 useridbigint20外键 用户编号5.3部分功能模块的设计与实现5.3.1用户信息管理子模块l 功能设计用户信息管理子模块:首先要登录系统,验证用户身份,判断是否是管理员,是管理员则进入管理员端,管理员可以管理学生和教师账号,管理员可以先添加账号,然后修改、删除账号,这里就需要把账号信息显示在页面上,才能实现操作。登录系统首先进入一个登录到用户登录界面,根据身份的不同可以登录相应的界面。从数据库中判断用户名是否合法,用户密码,用户类型是否正确,若果都正确,用户是管理员则进入管理员端,用户是教师则进入教师端,用户是学生则进入学生端,如果用户名或密码错误则提示错误,要求重新登录。该模块的流程图见图5-10所示。开始登录密码及用户类型验证?用户名及密码NY进入相应功能主界面