jsqoracle在线考试系统毕业论.doc_第1页
jsqoracle在线考试系统毕业论.doc_第2页
jsqoracle在线考试系统毕业论.doc_第3页
jsqoracle在线考试系统毕业论.doc_第4页
jsqoracle在线考试系统毕业论.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科生毕业论文(设计) 河南财经政法大学在线考试系统 分析与设计 姓 名 学 号 专 业 指导教师 2012 年 5 月 25 日 I 摘 要 在计算机网络飞速发展的今天,互联网应用在人们政治、经济、生活等各个 方面发挥着重要的作用,然而在教育方面却没有得到充分的利用。在追求效率 与公平的时代,为了使学校、教师以及学生在考试过程减少时间、金钱的投入, 因此设计开发了这个在线考试系统。 本文论述了一个以Internet 为网络平台、三层架构(B/S)的在线考试系统 的设计原理、设计思想及具体的实现过程,对在设计过程中涉及到的关键算法 及重要作业流程作了具体分析和介绍,并对各个模块的设计思想及设计过程作 了详细阐述。本系统采用Jsp+Servlet 等技术,设法为学校创建一个便捷公平的 在线考试平台。本论文阐述了系统所要实现的功能,其中包括学生考试,人员 管理,题库管理等多个功能,对各功能模块的实现流程以及后台数据库的设计 进行说明,并详细介绍了在线考试系统主要业务的实现方式。对于不同用户角 色,本文将分别关于功能结构进行介绍,并对其逻辑和代码实现进行解释和说 明。 关键词:在线考试;Oracle 数据库;Jsp;MVC II Abstract Along with the rapid development of information technique such as computer and network nowadays, in peoples daily life, especially in politics, economy and education etc, the Internet is playing an important role. However, in the education aspect, it has not been fully utilized. In order to pursuit higher efficiency and quality of the examination process, and also to reduce the cost of money and time, an on-line examination system is therefore necessary. This thesis proposes three architectures (B/S) of the online examination system design, and also introduces the design idea and the realization process of design. The process of the algorithm and the key important work flow is also analyzed and introduced. This system uses the Jsp + Servlet technology creates a convenient online examination platform. This thesis describes the system functions, including students test, personnel management and management etc. For different user roles, this thesis introduces the function respectively of structure, including the logic and code realization to explanation and instructions. Key words: Online Examination, Oracle Database, JSP, MVC III 目 录 1 引 言1 1.1 课题的背景1 1.2 课题的目的和意义1 1.3 本文的内容安排2 2 开发工具及相关技术3 2.1 系统的 B/S 结构简述3 2.2 开发环境及开发工具3 2.2.1 Dreamweaver .3 2.2.2 Eclipse4 2.2.3 Oracle 数据库.4 2.2.4 Tomcat 服务器.4 2.3 相关技术5 2.3.1 CSS+DIV .5 2.3.2 JavaScript 和 jQuery.5 2.3.3 Servlet 和 JSP5 2.3.4 MVC 模式6 2.3.5 JDBC7 2.4 本章小结7 3 系统分析8 3.1 系统需求分析8 3.1.1 系统功能的需求.8 3.1.2 系统性能的需求.8 3.2 系统可行性分析9 3.2.1 经济可行性分析.9 3.2.2 技术可行性分析.9 3.3 系统流程分析9 3.3.1 业务流程分析.10 3.3.2 数据流程分析.10 3.4 本章小结11 4 系统设计12 4.1 系统总体规划12 4.2 数据库设计13 4.2.1 概念结构设计.13 4.2.2 逻辑结构设计.15 4.3 本章小结18 5 系统实施19 5.1 创建与数据库的连接19 5.2 系统的登录页面20 IV 5.3 学生主页面22 5.3.1 考试科目查询.22 5.3.2 进行考试.22 5.3.3 成绩查询.26 5.4 教师主页面27 5.4.1 题库管理.27 5.4.2 试卷管理.27 5.4.3 考生成绩查询.28 5.5 管理员主页面29 5.5.1 人员信息管理.29 5.5.2 考试科目管理.29 5.6 本章小结30 6 系统测试31 6.1 测试的目标与方法31 6.2 测试用例31 6.2.1 系统登录测试.31 6.2.2 学生模块测试.32 6.2.3 教师模块测试.32 6.2.4 管理员模块测试.33 6.3 本章小结33 7 结束语34 参考文献35 致谢36 1 1 引 言 1 1. .1 1 课课题题的的背背景景 从计算机网络的诞生至今天,计算机网络应用已进入人类社会的各个方面并 发挥着越来越重要的作用,我们发现我们的生活、工作、学习等越来越离不开网 络。在线考试系统是一款基于网络浏览器的适用于学校以及教育培训机构等的实 用型系统,他一改传统的考试模式为我们的考试带来新的体验,是计算机网络应 用的标准体现。 众所周知,教育是治国之本,因此如何更好的做好教育工作是大家一直都 很关注的问题。只有率先认识到网络技术在当今教育中的重要作用,用它解决 教育中的问题,把它作为教育的基本工具,才能在全球教育竞争中立于不败之地 。 如今,越来越多的学校、教育培训机构等都将网络技术应用于教育,通过计算机 网络实现在线教育或培训,网络教学便由此而生。目前 我国网络教学系统的开发 和使用还处于发展阶段,各项功能的实现还不够完善。 网络教学包括很多环节,例如选课系统、教学系统、问答系统和考试系统 等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。 目前大多数学校和社会上的考试依然采用传统的考试模式,在此模式下,组织 一次考试一般需要经过人工出题、复印试卷、考生考试、人工阅卷和成绩统计等 五个环节。显然,教师和考务工作人员的工作量很大,效率也很低,并且难免 会出现各种各样的错误,严重影响了教学的效率和质量,可以说传统的考试模式 已经逐渐满足不了当今的考试需求。人们迫切需要一种自动化程度相当高的计 算机系统来进行在线考试,并进行题库信息的管理。在此背景下,我们需要开 发一款在线考试系统。 1 1. .2 2 课课题题的的目目的的和和意意义义 在线考试系统将使学校的考试管理工作更加规范化,自动化,简单 化。一方 面方便考生考试;另一方面减轻教师及考务人员的工作负担,提高工作效率。 从而提高教学质量。 基于网络技术的在线考试系统可借助校园局域网进行。将试题内容放在服 务器上,考生通过帐号和密码进行登录参加考试,考试答案也存放在服务器上, 这样考试的公平性、答案的安全性可以得到有效的保证。试题可以根据题库中 的内容随机生成,可有效避免考试前的押题;同时每个人的考试题目都不会完 全一样,这样可有效避免考试抄袭;而且可以采用大量标准 格式化的试题,从而 2 使用计算机判卷,大大提高阅卷效率;还可以直接把成绩送到数据库中,进行 统 计、排名等操作,便于对考试结果进行分析。可见,采用在线考试模式 将是未来 考试发展的趋势。因此,结合我校教学考试现状,我设计并开发了河南财经政法 大学在线考试系统。 1 1. .3 3 本本文文的的内内容容安安排排 在本论文中,首先论述了在线考试系统的研究背景及其意义;然后对要开 发的河南财经政法大学在线考试系统进行了较为详细的分析(包括需求分析、流 程分析、系统可行性分析等);对本系统所使用的开发语言、相关技术以及开 发环境和开发工具进行了简单的介绍;对本系统进行了功能模块设计(包括考 生考试模块、教师管理模块、管理员管理等);在对系统分析与设计的基础上, 运用 Jsp+Servlet 和 Oracle 开发了河南财经政法大学在线考试系统;最后对已 经开发的系统进行了测试。 本论文的内容安排如下: 第一章、引言,其中介绍了课题研究的背景,课题的目的和意义。 第二章、系统开发工具及相关技术介绍,其中包括对B/S 结构、CSS+DIV 网 页布局、JSP、Servlet、Oracle 等的简单介绍。 第三章、系统分析,其中包括需求分析、系统流程分析、可行性分析等。 第四章、系统设计,其中包括功能设计、数据库设计等。 第五章、系统实施,对系统的各个模块的实现做详细的介绍。 第六章、系统测试,其中包括对测试的目的和方法、简单的测试用例等 。 第七章、结束语,对在写整篇论文过程中的感受和收获进行总结。 3 2 开发工具及相关技术 河南财经政法大学在线考试系统是基于B/S 模式设计的,它选择的前台开 发语言为 Jsp,后台数据库管理工具为Oracle 10G,开发工具为 Eclipse,其 Web 服务器为 Tomcat 6.0 及以上版本。 2 2. .1 1 系系统统的的 B B/ /S S 结结构构简简述述 B/S 结构(Browser/Server,浏览器/服务器模式)是WEB 兴起后的一种网 络结构模式,WEB 浏览器是客户端最主要的应用软件。这种模式统一了客户端, 将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。 客户机上只要安装一个浏览器(Browser),如 Netscape Navigator 或 Internet Explorer,服务器安装Oracle、Sybase、Informix 或 SQL Server 等 数据库。浏览器通过Web Server 同数据库进行数据交互。 B/S 结构的优点:具有分布性特点,可以随时随地进行查询、浏览等业务处 理;业务扩展简单方便,通过增加网页即可增加服务器功能;维护简单方便, 只需要改变网页,即可实现所有用户的同步更新;开发简单,共享性强。 2 2. .2 2 开开发发环环境境及及开开发发工工具具 本系统开发环境选择微软平台作为主导,一方面考虑目前微软的飞速发展, 越来越多的企业在规划内部网络时,将微软平台作为首选方案;令一方面从技 术角度来讲,微软平台上的应用无论是在开发上,还是在软件的部署上都是非 常容易,而且性能优越。以下简单介绍本系统所使用的开发工具 : 2.2.1 Dreamweaver Dreamweaver 是美国 MACROMEDIA 公司开发(后被Adobe 公司收购)的集网 页制作和管理网站于一身的所见即所得网页编辑器。Dreamweaver 可以用最快速 的方式将 Fireworks,FreeHand,或 Photoshop 等档案移至网页上。使用检色吸 管工具选择荧幕上的颜色可设定最接近的网页安全色。对于选单, 快捷键与格式 控制,都只要一个简单步骤便可完成。Dreamweaver 能与您喜爱的设计工具,如 Playback Flash,Shockwave 和外挂模组等搭配,不需离开Dreamweaver 便可完 成,整体运用流程自然顺畅。除此之外,只要单击便可使Dreamweaver 自动开启 Firework 或 Photoshop 来进行编辑与设定图档的最佳化。 本系统采用Dreamweaver CS4 版本,其特点是界面设计紧凑,使用方便。 4 2.2.2 Eclipse Eclipse 是一个开放源代码的、基于Java 的可扩展开发平台。就其本身而 言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是, Eclipse 附带了一个标准的插件集,包括Java 开发工具(Java Development Kit,JDK)。 虽然大多数用户很乐于将Eclipse 当作 Java 集成开发环境(IDE)来使用, 但 Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展Eclipse 的软件 开发人员,因为它允许他们构建与Eclipse 环境无缝集成的工具。由于Eclipse 中的每样东西都是插件,对于给Eclipse 提供插件,以及给用户提供一致和统 一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。 本系统采用的是Eclipse 3.5 版本,其特点是性能稳定。 2.2.3 Oracle 数据库 Oracle Database,又名 Oracle RDBMS,或简称 Oracle。是美国 ORACLE 公 司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的 客户/服务器(CLIENT/SERVER)或 B/S 体系结构的数据库之一。ORACLE 数据库是 目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它 具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品; 作为分布式数据库它实现了分布式处理功能。Oracle 数据库具有数据的大量性、 数据的保存的持久性、数据的共享性和数据的可靠性等特点。 本系统采用的是Oracle 10G 数据库。Oracle 10G 数据库相对于以前版本关 键提高有二:1 降低管理开销,2 提高性能。 Oracle 10G 有对高可用性的增强、 新的 Flashback 能力、支持回滚更新操作;对安全性的增强,便于管理大量的用 户;BI 方面的增强,包括改进的SQL 能力、分析功能、OLAP、数据挖掘的能力等; 对非关系型数据存储的能力得到了改进;XML 的能力;对开发能力支持的加强, 对生物信息学( Bioinformatics)的支持。 2.2.4 Tomcat 服务器 本系统运行环境为Tomcat 6.0。Tomcat 是 Apache 软件基金会(Apache Software Foundation)的 Jakarta 项目中的一个核心项目,由Apache、Sun 和 其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的 Servlet 和 JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的 Servlet 2.4 和 JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费, 因而深受 Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流 行的 Web 应用服务器。 5 2 2. .3 3 相相关关技技术术 2.3.1 CSS+DIV CSS 是层叠样式表(Cascading Style Sheets)的缩写,用于定义HTML 元 素的显示形式,是W3C 推出的格式化网页内容的标准技术。 CSS+DIV 是网站标准设计中常用术语之一,是一种比较成熟的网页布局方法。 可实现网页页面内容与表现相分离,即在不改变Html 源代码的同时,能够根据 CSS 中对标签的的不同定义而显示出不同的页面效果。能够实现 传统的表格 (Table)布局定位方式所不能实现的效果。当然,本人在使用中并没有完全摒 弃表格(Table),而是 DIV 与之相结合使用,使页面灵活、工整、多层次的显 示。 2.3.2 JavaScript 和 jQuery JavaScript 是一种能让你的网页更加生动活泼的程式语言,也是目前网页 中设计中最容易学又最方便的语言。你可以利用JavaScript 轻易的做出亲切的 欢迎讯息、漂亮的数字钟、有广告效果的跑马灯及简易的选举,还可以显示 浏览 器停留的时间。让这些特殊效果提高网页的可观性。本系统中主要使用 JavaScript 的表单验证功能以及对时间的控制。 jQuery 是一个优秀的Javascript 框架。它是轻量级的js 库(压缩后只有 21k),它兼容 CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。jQuery 使用户能更方便地处理HTML documents、events、实现 动画效果,并且方便地为网站提供AJAX 交互。jQuery 还有一个比较大的优势是, 它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可 供选择。jQuery 能够使用户的html 页保持代码和html 内容分离,也就是说, 不用再在 html 里面插入一堆js 来调用命令了,只需定义id 即可。 在使用过程中本人发现jQuery 与传统的 JavaScript 相比,优势之一在于 JavaScript 是单线程的,而jQuery 可以实现多线程,即点击一个按钮可以同时 触发多个事件,使用起来更加方便。 2.3.3 Servlet 和 JSP Servlet 是 Java Servlet 的简称,是一种服务器端的Java 应用程序,具有 独立于平台和协议的特性,可以生成动态的Web 页面。它担当客户请求(Web 浏 览器或其他HTTP 客户程序)与服务器响应(HTTP 服务器上的数据库或应用程序) 的中间层。Servlet 是位于 Web 服务器内部的服务器端的Java 应用程序,与传 统的从命令行启动的Java 应用程序不同,Servlet 由 Web 服务器进行加载,该 Web 服务器必须包含支持Servlet 的 Java 虚拟机。 6 JSP(Java Server Pages)是由 Sun Microsystems 公司倡导、许多公司参与 一起建立的一种动态网页技术标准。JSP 是在 Servlet 技术基础上发展而来的, 但在实际使用中功能又有很大的区别,JSP 技术有点类似ASP 技术,它是在传统 的网页 HTML 文件中插入Java 程序段(Scriptlet)和 JSP 标记(Tag),从而形成 JSP 文件(*.jsp)。 另外用 JSP 开发的 Web 应用是跨平台的,既能在Linux 下运 行,也能在其他操作系统上运行。 JSP 技术不是 Java Servlet 技术的全部,它只是Java Servlet 技术的一个 成功应用。JSP 技术屏蔽了Servlet 对象创建的过程,使得Web 程序设计者只须 关心 JSP 页面本身的结构、设计好各种标记。有效地分离页面的视图和数据处 理等,不必再用 println 语句来输出每一行HTML 代码。更重要的是,借助内容 和外观的分离,页面制作中不同性质的任务可以方便地分开: 比如,由页面设计 者进行 HTML 设计,同时留出供Servlet 程序员插入动态内容的空间。 2.3.4 MVC 模式 MVC 是三个单词的缩写,分别为:模型(Model),视图(View)和控制 Controller)。MVC 模式的目的就是实现Web 系统的职能分工。Model 层实现系统 中的业务逻辑,通常可以用JavaBean 或 EJB 来实现。View 层用于与用户的交互, 通常用 JSP 来实现。Controller 层是 Model 与 View 之间沟通的桥梁,它可以分 派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并 将它们映射为模型层可执行的操作。 使用 MVC 设计模式,应用程序将被分成三个核心部件:模型、视图、控制 器。它们各自处理自己的任务。本系统将使用第一种常见的MVC 设计模式 Jsp+Servlet+JavaBean 进行开发,即通过创建一些 Servlet 对象,配合JSP 页 面来完成整个Web 系统。其数据传递过程如图2-1 所示: Web 浏览器 Servlet (控制器) 数据库 服务器 请求 响应JSP(视图) JavaBean (模型) Call 图 2-1 MVC(Jsp+Servlet+JavaBean)设计模式原理图 7 2.3.5 JDBC JDBC(Java Data Base Connectivity,java 数据库连接)是一种用于执行 SQL 语句的 Java API,可以为多种关系数据库提供统一访问,它由一组用Java 语言编写的类和接口组成。JDBC 为数据库开发人员提供了一个标准的API,据此 可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据 库应用程序。 有了 JDBC,向各种关系数据发送SQL 语句就是一件很容易的事。换言之, 有了 JDBC API,就不必为访问Oracle 数据库专门写一个程序,为访问Sql Server 数据库又专门写一个程序,或为访问Mysql 数据库又编写另一个程序等 等,程序员只需用JDBC API 写一个程序就够了,它可向相应数据库发送SQL 调 用。同时,将Java 语言和 JDBC 结合起来使程序员不必为不同的平台编写不同 的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java 语言 “编写一次,处处运行”的优势。 2 2. .4 4 本本章章小小结结 本章主要介绍了河南财经政法大学在线考试系统所用的开发环境、开发工 具以及相关技术。对系统所运用的B/S 结构进行了介绍,并结合本系统对将要 使用的 Eclipse、Oracle 开发软件和JSP 及 MVC 等相关技术进行了详细介绍。 8 3 系统分析 系统分析对于河南财经政法大学在线考试系统的设计至关重要,在本章中 对河南财经政法大学在线考试系统进行了需求分析、系统流程分析、可行性分 析。 3 3. .1 1 系系统统需需求求分分析析 系统需求分析是为了深入描述系统的功能和性能,借助于当前系统的逻辑 模型导出目标系统逻辑模型,解决目标系统“做什么”的问题。主要分为功能的 需求和性能的需求。 3.1.1 系统功能的需求 河南财经政法大学在线考试系统的设计目的是方便考生及管理人员, 所以其 整体要求清晰实用、界面亲和、操作简单、运行流畅。系统应该具备以下的基本 功能: 用户类别:登录系统的身份定为三种,一是管理员,二是 教师,三是学生, 只有被授权的用户才可以使用本系统。 权限管理:系统需要经过有效的身份验证可以登录。用户的身份不同,使 用的系统资源也不同。考生只可以参加在线考试;普通教师可以管理题库 ,控制 考试、成绩查询、添加试题、阅卷等。管理员可添加、修改学生、教师、考试科 目等信息,可以查询考生成绩。 在线考试功能:考生输入帐号和密码登陆系统后,选择考试科目可进行考试, 科目有考试时间设置,未到考试时间或考试已结束将不能参加考试 。答题中,有 倒计时的功能,考试结束时还没提交就自动交卷,系统将自动对客观题进行评 分。如果有主观题,能将主观题答案返回至该科目教师页面。 试卷管理:由管理员设置考试时间,教师设置题型并向题库中添加试题,试 卷随机从题库中抽取试题组合而成。 3.1.2 系统性能的需求 河南财经政法大学在线考试系统的性能要求在稳定的基础上快速反应,操 作系统以 Windows XP 或 WIN7 为标准,硬件配置以RAM:2.00GB 为标准。基本信 息的添加,修改部分反应时间应控制在3 秒以内,查询部分应控制在5 秒以内, 生成试卷的信息量较大,处理的流程较多响应时间会较慢,添加、修改部分的 响应时间不应该太长。 9 3 3. .2 2 系系统统可可行行性性分分析析 可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的 开发是否具备必要性和可能性,对新系统的开发从技术、经济、管理的方面进 行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的 就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行 性分析包括以下几个方面的内容。 3.2.1 经济可行性分析 主要是对项目的经济效益进行评价,利用计算机来实现网上考试以成为适 应当今教学管理的方式。开发一套能满足网上考试系统的软件是十分必要的, 实现试卷管理和试卷生成自动化,在减少由于认为失误而早成损失的同时,也 可以使教师减少工作量。本系统在经济上是可以接受的,并且本系统实施后可 以显著提高考试效率,有助于学院完全实现网络化管理。所以本系统在经济上 是可行的。 3.2.2 技术可行性分析 技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软 件能否满足开发者的需要等。 软件方面,网络化考试需要的各种软件环境都已具备,数据库方面我们选 择的 Oracle,能够处理大量数据,同时保持数据的完整性并提供许多高级管理 功能。其灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系 统的软件开发平台已成熟可行。服务器方面服务器端:由于在线考试是多人同 时操作,对服务器的需求是必须考虑的问题。根据我校在校生人数,服务器要 求能承受 3000-5000 人同时在线。300 个并发操作响应时间不得超过5 秒。由于 单纯的 Tomcat 支持的并发量较小。因此在实际部署系统时服务器端可采用 Apache+Tomcat*3 的模式加大并发数。服务器端操作系统为Linux,硬件配置为 8G 内存,2.0GHz、8 核 CPU。 硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越 大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。 3 3. .3 3 系系统统流流程程分分析析 河南财经政法大学在线考试系统流程简单,主要是教师向题库中添加试题, 管理员设置考试科目信息,学生登录系统选择科目进行考试。下面从业务流程 和数据流程两方面对系统进行分析。 10 3.3.1 业务流程分析 业务流程分析,是对系统业务功能的进一步细化,从而得到业务流程图即 TFD (Transaction Flow Diagram ),是一个反映系统业务处理过程的“流水 帐本”。图 3-1 表示河南财经政法大学在线考试系统核心业务流程图。 试卷 管理员 教师题库 试题 添加 查 询 填写 学生 考试科目 生成 选择填空 题目答案 学生 提 交 问答题答案 填写 提 交 问答题得分 自动判 卷 手动打 分 添加 选择填空 得分 学生成绩 图 3-1 系统业务流程图 3.3.2 数据流程分析 数据流程分析就是把数据在现行系统内部的流动情况抽象出来,舍去了具 体组织机构、信息载体、处理工作等物理组成,单纯从数据流动过程来考察实 际业务的数据处理模式。图 3-2 表示河南财经政法大学在线考试系统数据流程 图。 11 F1科目信息 D1科目信息表 F2试题信息 S2教师 D3试卷信息表 S3学生 D2试题信息表 S1管理员 添加科目 P1 添加试题 P2 查询科目 P3 填写答案 P5 D4答案信息表 判卷打分 P6 D5成绩信息表 选择科目 P4 图 3-2 系统数据流程图 3 3. .4 4 本本章章小小结结 软件开发过程中系统分析是很重要的一部分,为了开发出真正满足用户需 求的软件产品,本章对系统进行了详细的分析,其中包括对系统的需求分析、 可 行性分析以及流程分析,从而能够更全面的掌握整个系统的设计流程并且判断 系统是否可行。 12 4 系统设计 对河南财经政法大学在线考试系统进行详细的系统分析之后,需要对其进 行功能模块和数据库的设计。在本章中,我将会对即将开发的河南财经政法大 学在线考试系统进行详细设计。 4 4. .1 1 系系统统总总体体规规划划 河南财经政法大学在线考试系统按用户角色分为三大模块:管理员模块:实 现教师信息,学生信息,考试科目信息的添加、修改、删除、查询等功能 ;教师 模块:实现题库管理、试卷管理、学生成绩查询等;学生模块:包括查询考试科 目、开始考试、个人成绩查询等功能。 对于河南财经政法大学在线考试统进行整体功能分析之后,可以设计出该 系统的功能模块总体框架如图4-1 所示: 河南财经政法大学在线考试系统 管理员 教师 学生 教师管理 学生管理 考试管理 题库查询 题库更新 试卷管理 学生成绩 考试进行 成绩查询 选择科目 图 4-1 系统总体规划图 13 三种角色通过同一登录界面进入不同操作页面:其中管理员帐号和密码由 系统后台添加。教师和学生帐号和密码由管理员添加,个人不能注册。 1.管理员: (1)学生信息管理:管理每个学生的个人信息,包括学号、姓名、院系、专 业、班级等。管理员可以对学生信息进行添加、修改、删除、查询等操作。并且 可以查询所有考生的考试成绩。 (2)教师信息管理:管理每个教师的个人信息,包括工号、院系、所教科目 等。管理员可以对教师信息进行添加、修改、删除、查询等操作。 (3)考试信息管理:管理考试安排,包括考试科目、考试日期、考试开始时 间、考试结束时间等。管理员可以对考试科目进行添加、修改、删除、查询等操 作。 2.教师: (1)题库管理:题型包括选择题、填空题、问答题。教师可以对各种题型进 行增加、修改、删除、查询。添加试题时可以设置试题难度。教师只能对所教科 目的题库进行操作。 (2)试卷管理:可以设置考试题型,包括各种题型的数目和每道题的分值。 如果出问答题,则可查询到学生的答案,进行手工批改,并提交成绩至数据库。 (3)成绩查询:教师可以查看可以查询所教科目的学生成绩。 3.学生: (1)考试科目:可以显示全部考试科目,考生也可以根据关键字搜索 想要考 试的科目。科目有时间设置,未到考试时间或考试已结束将不能参加考试。 (2)考试进行:从考试科目页面进入考试页面,考试页面按照教师所设置的 考试题型以及题目的难度随机生成试卷并显示考试倒计时。 (3)成绩查询:考生可以查询考试过的科目的成绩,包括各种题型的成绩以 及总成绩。 4 4. .2 2 数数据据库库设设计计 4.2.1 概念结构设计 概念结构设计的任务是在系统分析的基础上,按照特定的方法把它们抽象 为一个不依赖于任何具体机器的数据模型,即概念模型。概念模型使设计者的 注意力能够从复杂的实现细节中解脱出来,而只集中在最重要的信息的组织结 构和处理模式上。概念数据模型,是结合将要开打的系统按照用户的观点来对数 据和信息进行建模,利用实体关系图来实现.它描述系统中的各个实体以及相关 实体之间的关系,是系统特性的静态描述.概念结构设计的方法一般是先画出组织 的局部 E-R 图,然后将其合并,在此基础进行优化和美化。 14 在考试系统中,共分 10 个实体:分别为管理员信息、教师信息、学生信息、 科目信息、题库信息(包括选择题信息、填空题信息、问答题信息)、试卷信 息、答案信息、成绩信息,它们之间相互都有联系。 由于实体数量较多,不一一画出实体属性 E-R 图,仅分别列举说明: 管理员信息(管理员帐号、管理员密码、管理员姓名) 教师信息(教职工号、教师姓名、教师密码、所在院系、所教科目) 学生信息(学生学号、学生密码、学生姓名、学生性别、所在院系、所在 专业、所在班级) 科目信息(科目号、科目名、所属院系、选择题数、填空题数、问答题数、 考试日期、开始时间、结束时间) 选择题信息(题目编号、题目名、选项 A、选项 B、选项 C、选项 D、正确 答案、难度、科目号) 填空题信息(题目编号、题目名、正确答案、难度、科目号) 问答题信息(题目编号、题目名、参考答案、难度、科目号) 考生试卷信息(学号、科目号、选择题编号、填空题编号、问答题编号) 考生答案信息(学号、科目号、选择题答案、填空题答案、问答题答案) 考生成绩信息(学号、科目号、选择题得分、填空题得分、问答题得分、 总分) 各个实体之间的关系如下: 管理员与教师、学生、科目信息之间存在一个管理与被管理的关系,一个 管理员可以管理多个教师、一个管理员可以管理多个学生、一个管理员可以管 理多个考试科目。 教师与科目之间存在教授与被教授的关系,一个教师可以教授多个科目; 一个科目可以由多个教师来教授。教师与试卷之间有管理与被管理的关系,一 个教师可以管理多个试卷。教师与题库之间的关系也是管理与被管理的,一个 教师可以管理多个题库,一个题库可以被多个教师管理。 科目与学生之间存在考试与被考试的关系,一个学生可以考试多个科目, 一个科目可以由多个学生来考试;科目与试卷之间存在属于与被属于关系,一 个科目可以属于多份试卷,一份试卷只能属于一个科目。 试卷与学生时间存在作答与被作答的关系,一个考生一次只能作答一份试 卷,一份试卷也只能被一个考生作答。 题库与试卷之间存在抽取与被抽取的关系,一个题库可以抽取出多份试卷, 一份试卷只能从一个题库中抽取。 根据以上各个实体之间的关系,可以画出本系统的总体 E-R 图。图 4-2 表 示在线考试系统总体 E-R 图: 15 管理员教师 学生管理 1 管理 1 N 管理 1 科目 N 属于 1 试卷 N 考试 1 1 题库 出卷 1 M 抽取 管理 N M M N N 教授 N M 考试 M N 图 4-2 在线考试系统总体 E-R 图 4.2.2 逻辑结构设计 数据库逻辑结构设计阶段的任务是将概念结构设计阶段所得到的概念模型 转换为具体DBMS 所能支持的数据模型(即逻辑结构),并对其进行优化。 逻辑 结构设计的主要任务是根据 E-R 图建立各种实体的数据库表。 数据表是关于数据信息的集合,也就是对数据流中包含的所有元素的定义 的集合。任何表最主要的用途都是供人查阅对不了解的条目的解释,数据表的 作用也正是在系统分析和设计的过程中给人提供关于数据的描述信息。以下一一 列出本系统所使用的各个数据库表: 如表 4-1 所示,管理员信息表(tb_Admin)用于存储管理员信息。 表 4-1 管理员信息表 列名含义类别长度是否为空约束 Adminid 管理员帐号 char6 否主键 Apassword 密码 varchar210 否 Aname 姓名 varchar220 否 16 如表 4-2 所示,教师信息表(tb_Teacher)用于存储教师信息。 表 4-2 教师信息表 列名含义类别长度是否为空约束 Teacherid 教职工号 number6 否主键 Tpassword 密码 varchar210 否 Tname 姓名 varchar220 否 Depart 院系 varchar230 否 如表 4-3 所示,学生信息表(tb_User)用于存储学生信息。 表 4-3 学生信息表 列名含义类别长度是否为空约束 Userid 学号 number11 否主键 Upassword 密码 varchar211 否 Uname 姓名 varchar220 否 Usex 性别 char2 否 Depart 院系 varchar250 否 Major 专业 varchar250 否 Classid 班级号 number6 否 State 状态 number2 否 如表 4-4 所示,选择题信息表(tb_Select)用于存储选择题信息。 表 4-4 选择题信息表 列名含义类别长度是否为空约束 Selectid 题目编号 number10 否主键 Stitle 题目名 varchar21000 否 SelectA 选项 A varchar21000 否 SelectB 选项 B varchar21000 否 SelectC 选项 C varchar21000 否 SelectD 选项 D varchar21000 否 Ranswer 正确答案 varchar24 否 Difficulty 难度 char4 否 Subjectid 科目号 number6 否外键 17 如表 4-5 所示,填空题信息表(tb_Blank)用于存储填空题信息。 表 4-5 填空题信息表 列名含义类别长度是否为空约束 Blankid 题目编号 number10 否主键 Btitle 题目名 varchar21000 否 Ranswer 正确答案 varchar2100 否 Difficulty 难度 char4 否 Subjectid 科目号 number6 否外键 如表 4-6 所示,问答题信息表(tb_Question)用于存储问答题信息。 表 4-6 问答题信息表 列名含义类别长度是否为空约束 Questionid 题目编号 number10 否主键 Qtitle 题目名 clob 否 Ranswer 正确答案 clob 否 Difficulty 难度 char4 否 Subjectid 科目号 number6 否外键 如表 4-7 所示,考试科目信息表(tb_Subject)用于存储考试科目信息。 表 4-7 考试科目信息表 列名含义类别长度是否为空约束 Subjectid 科目号 number6 否主键 Sname 科目名 varchar250 否 Teacherid 教职工号 number6 否主键,外键 ExamDate 考试日期 date 否 ExamStart 开始时间 date 否 ExamEnd 结束时间 date 否 Snumbere 易选择题数 number3 否 Snumberh 难选择题数 number3 否 Bnumbere 易填空题数 number3 否 Bnumberh 难填空题数 number3 否 Qnumbere 易问答题数 number3 否 Qnumberh 难问答题数 number3 否 18 如表 4-8 所示,考生试卷信息表(tb_Exam)用于存储考生试卷信息。 表 4-8 考生试卷信息表 列名含义类别长度是否为空约束 Userid 学号 number11 否主键,外键 Subjectid 科目号 number6 否主键,外键 AllSid 选择题编号 varchar21000 否 AllBid 填空题编号 varchar21000 否 AllQid 问答题编号 varchar21000 否 如表 4-9 所示,考生答案信息表(tb_Answer)用于存储考生答案信息。 表 4-9 考生答案信息表 列名含义类别长度是否为空约束 Userid 学号 number11 否主键,外键 Subjectid 科目号 number6 否主键,外键 AllSans 选择题答案 varchar2300 否 AllBans 填空题答案 varchar2500 否 AllQans 问答题答案 clob 否 如表 4-10 所示,考生成绩信息表(tb_Score)用于存储考生成绩信息。 表 4-10 考生成绩信息表 列名含义类别长度是否为空约束 Userid 学号 number11 否主键,外键 Subjectid 科目号 number6 否主键,外键 Sselect 选择题得分 number4 否 Sblack 填空题得分 number4 否 Squestion 问答题得分 number4 否 Stotal 总分 number4 否 4 4. .3 3 本本章章小小结结 本章对河南财经政法大学排课系统进行了功能设计,将该系统分为管理员、 教师和学生三个模块。同时对该系统进行了数据库设计,画出了各个实体之间 的 E-R 图,共设计了 10 个数据库表。 19 5 系统实施 经过一系列的准备,对于系统的分析、设计已经完成。以下开始对河南财 经政法大学在线考试系统进行详细设计,即系统实施。 5 5. .1 1 创创建建与与数数据据库库的的连连接接 本系统采用JDBC 连接方式与Oracle 建立连接,其步骤是首先加载数据库 驱动并获得与数据库的连接,然后使用 DriverManager 建立连接。 DriverManager 类是 JDBC 的管理层,作用于用户和驱动程序之间,它跟踪可用 的驱动程序,并在数据库和相应的驱动程序之间建立连接。 下面是本系统与Oracle 数据库建立连接的代码: public class ConnectDB private final String DRIVER = “oracle.jdbc.driver.OracleDriver“; private final String URL = “jdbc:oracle:thin:localhost:1521:orcl“; private final String USERNAME = “scott“; private final String PASSWORD = “tiger“; private Connection connection = null; / 构造函数中加载驱动 public ConnectDB() try Class.forName(DRIVER); catch (Exception e) System.out.println(“加载驱动失败!“); / 创建连接 public Connection createConnection() try connection = DriverManager.getConnection(URL, USERNAME, PASSWORD); catch (Exception e) System.out.println(“创建连接失败!“); return connection; 20 5 5. .2 2 系系统统的的登登录录页页面面 用户登录页面主要功能是系统根据用户选择的不同身份对用户输入的用户 名和密码进行验证。当用户单击“登录”按钮时,首先是 javascript 脚本验证 输入格式是否正确,不符合格式会给出提示。其次是后台验证,如果不正确, 跳 转到错误页面,并提示用户重新登录。如果正确,则根据用户不同身份进入相 应页面使用系统。如果输入信息错误,可以单击“重置”按钮,重新输入信息; 图 5-1 表示河南财经政法大学在线考试系统登录界面。 图 5-1 河南财经政法大学在线考试系统登录页面 下面是登录过程的主要代码: LoginServlet.java 中主要代码 public class Logi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论