毕业论文---网络考试系统的设计与实现.doc_第1页
毕业论文---网络考试系统的设计与实现.doc_第2页
毕业论文---网络考试系统的设计与实现.doc_第3页
毕业论文---网络考试系统的设计与实现.doc_第4页
毕业论文---网络考试系统的设计与实现.doc_第5页
免费预览已结束,剩余36页可下载查看

下载本文档

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

文档简介

i 网络考试系统的设计与实现 专业: 网络通讯与信息安全 学号: 8000106263 姓名: 曾祥禄 指导老师: 涂敏 摘 要 本文主要讲述的是一个web的网络考试系统的整体架构,其整体开发模式基于b/s 模式,还讲述了该网络系统的整体模块划分,及对应的模块设计和开发。系统采用经 典的struts架构、mvc三层架构。在m层,即模型层,主要是通过dao和javabean进行 逻辑层的处理及对数据库的链接。v(视图层),struts表单元素占据着重要的角色。 控制层:主要通过配置struts-config.xml的action实现控制。本文还简单的介绍 了web技术和b/s模式。对该网络系统进行了详细的分析和功能结构就行了划分,主要 把该系统分为两个大的功能模块:前台和后台,即学生用户端和管理员端。 后台利用的是microsoft sql server 2005数据库。本文由针对性的讲述了采用 sql server 2005的原因,很阐明了其特征。本文根据该数据库的特征进行了对该系 统的详细的数据库分析设计。 关键字:网络考试系统 mvc javabean sql server 2005 数据库 struts ii the system of an examination online abstract this paper described a web of network test system, the overall framework of its overall development model is based on b / s model, also described the network system and the corresponding moduledivides, module design and development. system uses the classic struts framework, mvc three-layer structure. in m layer, and the model layer, mainly through the dao, and javabean logical layer processing and database links. v (view layer), struts form elements occupy an important role. control layer: mainly through the struts-config.xml configuration of action to achieve control. this article also describes a simple web technology and b / s mode. the network carried out a detailed analysis of the structure and function of the division on the line, mainly to the system is divided into two major functional modules: front and back, the students and administrators the client side. the background is using microsoft sql server 2005 database. this article describes the specific reason for using sql server 2005, it set out its features. this according to the characteristics of the database carried out a detailed database of the system analysis and design. keywords: network examination system mvc javabean sql server 2005 database struts 目录 摘 要 i abstractii 第一章 前言 .1 1.1 选题背景 .2 1.2 网络考试系统的技术线路 .3 第二章 系统设计相关原理 4 2.1 jsp技术 .4 2.2 sql server 2005 4 2.3 b/s 模式及其优势 .5 第三章 系统设计 7 3.1 系统分析 .7 3.2 系统功能结构 8 3.3 数据库设计 .12 第四章 系统功能模块详细设计 .20 4.1 前台主要功能模块设计 .20 4.2 后台主要功能模块设计 .25 第五章 系统的发布与维护 .34 5.1 运行环境 .34 5.2 web 服务器的架设 34 第六章 设计总结 36 参 考 文 献 .37 致谢 38 1 第一章 前言 目前,随着网络的迅速发展,我国在线网络教育得到迅速的发展。许多认证教育 也得到了充分的发展。所以,在这个网络高速发展的时代,接受教育不在限制与校园 之内。各阶层人员都希望通过各种网络考试认证来提升自己。 在学校接受教育、进行考试,这种传统的教育方式已经不能满足现在的需求,给 已经在职的工作人员带来极大不便。对于成人教育机构和大部分培训机构,也很难于 集中所有的学员,为此又要投入更多的人理资源、物力,增加大量的额外开销。 随着网络的发展,计算机也得到了普及,学校的大部分课程教学、日常管理,行 政管理改变传统模式,通过现在的网络技术和软件技术迅速的朝着信息化、功能自动 化方向改革。教育方式的逐渐改革,不仅给学生,也给在职人员带来了更多学习和提 升自己的机会。大部分网络学校、网络认证考试也借助于此得到了如火如荼的发展。 通过网络,学习人员不再受空间和时间的限制,通过网络可以实现在线网络授课, 进行在线的网络考试。人们可以随时随地的进行学习。不再局限于单纯的学校之内。 可以满足各阶层人员对知识的需求。 因此,为了顺应教育信息化改革的趋势,设计这个网络考试系统,为现代了网络 考试提供一个解决方案。 网络系统借助于网络技术,能够在windows系列平台上,使用浏览器,完成套题 的选择、考试、交卷,并且能够保证实时交卷,如果在规定时间内没有完成交卷,则 系统自动交卷。学生通过网络进行选择试卷,然后作答、交卷。交卷同事系统自动完 成评分,生成考试成绩数据和对考试结果进行自动化的分析。教师和学生都可进行在 线的成绩查询。管理员也可以对考生信息进行管理。 这个系统从技术上来讲使用的是b/s 模式,在windows平台上,使用ie浏览器, 完成考试、交卷等考试任务,还可以通过多媒体手段来完成监考。 后台模块通过管理员添加套题和试题,添加、修改和删除专业,添加、删除课程 的信息,考生在线进行作答,考试结果和分析结果数据回收到数据库表中。 “网络考试系统”是集合现代考试理论、方法和现代信息技术手段的智能化网上 考试系统,学生可以随时随地的进行课程考试。此系统为学生个性化学习提供“灵活、 方便、科学、公平”的“个别化考试服务” 。 随着网络技术和软件技术的迅速发展,基于网络的考试已为大势所趋,它不但约 b/s 结构:即 browserserver( 浏览器服务器) 结构,就是只安装维护一个服务器(server),而客户端 采用浏览器(browse) 运行软件。 2 了大量的物力,还节约大量的人力资源。大大提高了工作的效率。 随着网络技术的发展,涌现出了大量的网络考试系统。该“网络考试系统”是用 myeclipse软件,采用jsp的技术开发出来的,具有良好的开放性,允许管理员对试题 库进行增删与修改,有效地保证了题库的时效性。 对本网络考试系统,其功能是目标是实现评卷的自动化、成绩的结果的分析处理, 还有就是完成从有纸考试到无纸考试的转变过程。 为了更好的为学校的教学、科研、管理服务,可以大规模的实行考试,实现考试 的客观、公证性,自动化组卷、阅卷可以减轻教师的工作强度。传统考试一般要求老 师打印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷等这是一 个很复杂的过程,已不适应现代教学,在线考试则可以对这些改进。学生可以对自己 的所学知识进行选题自动组卷,随机生成试题进行测试。也可以参加任课老师所指定 的考试。 在线考试系统一个最大的特点就是从减轻教师的工作负担出发的。面向普通教师, 可以快速的生成高质量的试卷,可以在学生提交试卷的同时完成对试卷的评分。 1.1 选题背景 随着现代网络技术的飞快的发展,网络技术已经渗入到每个人的生活中,随着大 量的成人教育学校和网络培训机构的出项,固定地点、固定时间的传统模式考试已经 不能满足现在的需求,随着信息化教育的不断改革,网络化教育改革的一个发展方向, 已成为教育发展改革的一个特征,并对教育的发展形成新的推动力,其上的远程教育 成为现在教育技术未来发展方向之一,网络考试作为远程教育的一个子系统也成为了 一个重要的部分。现如今我国远程教育不断的发展起来,但是目前来说大部分学校和 社会上的教育都仍然采用传统的考试模式。采用传统的考试模式,不久需要人工出题、 人工阅卷,还需要人工完成成绩的评估和试卷的分析,这将是一个非常繁琐的过程, 这样不仅工作效率低,还会浪费大量的教育资源、人力资源。因此,传统的考试模式 已经不可以满足现代教育的需求。 现在国外很多的大学和认证部门开通了远程教育,通过网络实现不同地点的教育 和考试,如今,计算机硬件技术已经到达了相当高的水平。但是远程教育软件还是处 于起步发展阶段。随着远程教育的不断发展。就会要求更好的软件系统应用到远程教 育中去。 利用 java、jsp 技术进行开发的网络考试系统,支持多用户同时在线考试,实现 试卷的自动评分,很好的管理考试用户,考试时间也可以得到很好的控制, 能够满 足现代考试的需求。 3 随着 web 技术的发展和电子商务时代的到来,人们不再满足于建立各种静态地发 布信息的网站,更多的时候需要能与用户进行交互,并能提供后台数据库的管理和控 制等服务的动态网站。jsp 技术可以用于管理动态内容、支持数据库、处理会话跟踪, 甚至构建整个电子商务站点。jsp 在 windows 操作系统下运行。 1.2 网络考试系统的技术线路 本文主要讲述一个网络系统的操作过程。该系统测试用户信息主要由数据库直接 输入,该系统主要有管理员在后台添加学生,管理员把每个学生的学号密码分布给各 个学生,学生可以通过输入管里员给的学号、密码登陆考试界面。登陆成功后学生可 以修改自己的密码和个人信息,也可以开始进行在线考试,考生一旦开始考试即开始 倒计时,不可刷新界面,否则视为交卷处理。考试界面主要有返回主页、在线考试、 查询历史成绩,关键实现了考生在进入考试页面,考试计时,考试时间到,系统强制 考生退出,及考完后对客观题的自动评分、存档。当用户在忘记密码的情况下,可以 进入忘记密码界面,输入学生证号码,再提交信息,进入密码提示问题,输入正确的 问题答案,就可获取密码。管理员进入系统管理页面,主要进行学生、专业、课程、 套题、题目的修改。 4 第二章 系统设计相关原理 2.1 jsp 技术 jsp(java server pages)是由 sun 公司倡导、许多公司参与一起建立的一种服务 端的脚本语言。自从 1999 年推出以来。逐步发展成为 web 应用的一项重要的技术, jsp 可以嵌套在 html 中,而且支持多个操作系统平台,一个 jsp 开发的 web 系统, 不用进行什么改动就可以在不同的操作系统中运行。 jsp 本质上就是把 java 代码嵌套在 html 中。然后经过 jsp 容器的编译执行,可 以根据这些动态代码的运行结果生成对应的 html 代码,从而可以在客户端的浏览器 中正常显示。 选择 jsp 的原因: 在 web 应用开发中,可供选择的动态页面语言技术有很多,如 php、asp、jsp 等。在这些动态页面语言中,jsp 凭借其自身的优点成为开发人员最喜欢的语言之一, 下面列出的几条就是开发人员钟爱的重要原因。 (1).jsp 就是 html 嵌入 java 代码,所以在本质上 jsp 程序就是 java 程序, jsp 程序继承 java 的一切优点,jsp 程序有严格的 java 语法和丰富的 java 类库支 持。 (2).jsp 页面在服务器中都会自动编译成对应的 serverlet。所以就拥有 java 跨平台的优点,所有的 jsp 程序,无需改动就可以方便的迁移到其它操作系统平台, 这是其它动态脚本语言中无法想象的。 (3).jsp 中可以使用 javabean 进行逻辑封装,这样就可以实现逻辑功能代码的 重用,从而大大提高了系统的可重用性,同时也提高了程序的开发效率。 (4).jsp 程序容易上手,如果有 html 和 java 的基本知识,那么学 jsp 程序就 没有任何的困难。 (5).在 java 领域,开源的项目越来越多,这些开源的项目是全世界 java 爱好 者的结晶,在我们的 jsp 程序中可以非常方面地使用这些开源工具,在开源项目的支 持上,jsp 更是其它动态语言不能相比的。 2.2 sql server 2005 microsoft sql server2005 由一系列相互协作的组件构成,能满足最大的 web 站 5 点和企业数据处理系统存储和分析数据的需要。 sql server 2005 提供了在服务器系统上运行的服务器软件和在客户端运行的客 户端软件,连接客户和服务器计算机的网络软件则由 windows nt/2000 系统提供。 sql server 2005 的数据库系统的服务器运行在 windows nt/2000 系统上,负责 创建和维护表和索引等数据库对象,确保数据完整性和安全性,能够在出现各种错误 时恢复数据。 客户端应用程序可以运行在 windows 9x/nt/2000 系统上,完成所有的用户交互 操作。将数据从服务器检索出来后,可以生成拷贝,以便在本地保留,也可以进行操 作。 sql server 2005 的客户/服务器提供了许多传统主机数据库所没有的先进功能。 数据访问并非局限于某些已有的主机数据库应用程序。sql server 2000 的一个主要 优点就是与主流客户/服务器开发工具和桌面应用程序的紧密集成。可以使用许多方 法访问 sql server 2000 数据库。例如,可以在 visual basic、visual c+、access、power builder、delphi 和 visual foxpro 中访问 sql server 2005 数据库。在进行数据库应用程序开发时,可以使用数据访问对象(dao )、远程数据对 象(rdo)、 activex 控件、 ole db、odbc、db-library 和其他第三方提供的开发工具 访问 sql server 数据库。 sql server 2005 的客户端应用程序可以通过 sql server 2005 提供的应用程序 接口来访问服务器端的数据。有 4 个主要的访问方法:odbc api、ole db、transact-sql 和 db-library。对于客户机,可以将这些 api 作为动态连接库来 使用,并且通过客户端的网络库与 sql server 2005 服务器通信。 2.3 b/s 模式及其优势 b/s(browser/server,浏览器/服务器)模式又称b/s结构。它是随着internet 技术的兴起,对c/s模式应用的扩展。在这种结构下,用户工作界面是通过ie浏览器 来实现的。b/s模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的 地点,以不同的接入方式(比如lan, wan, internet/intranet等)访问和操作共同 的数据;最大的缺点是对企业外网环境依赖性太强,由于各种原因引起企业外网中断 都会造成系统瘫痪。 随着internet和www的流行,以往的主机终端和cs都无法满足当前的全球网 络开放、互连、信息随处可见和信息共享的新要求,于是就出现了bs型模式,即浏 览器服务器结构。b/s模式最大特点是:用户可以通过www浏览器去访问internet上 的文本、数据、图像、动画、视频点播和声音信息,这些信息都是由许许多多的web 6 服务器产生的,而每一个web服务器又可以通过各种方式与数据库服务器连接,大量 的数据实际存放在数据库服务器中。客户端除了www浏览器,一般无须任何用户程序, 只需从web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指 令,由web服务器交给数据库服务器来解释执行,并返回给web服务器,web服务器又 返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全 球网。而各个企业可以在此结构的基础上建立自己的internet。 b/s维 护 和 升 级 方 式 简 单 。 目 前 , 软 件 系 统 的 改 进 和 升 级 越 来 越 频 繁 , c/s系 统 的 各 部 分 模 块 中 有 一 部 分 改 变 , 就 要 关 联 到 其 它 模 块 的 变 动 , 使 系 统 升 级 成 本 比 较 大 。 b/s与 c/s处 理 模 式 相 比 , 则 大 大 简 化 了 客 户 端 , 只 要 客 户 端 机 器 能 上 网 就 可 以 。 对 于 b/s而 言 , 开 发 、 维 护 等 几 乎 所 有 工 作 也 都 集 中 在 服 务 器 端 , 当 企 业 对 网 络 应 用 进 行 升 级 时 , 只 需 更 新 服 务 器 端 的 软 件 就 可 以 , 这 减 轻 了 异 地 用 户 系 统 维 护 与 升 级 的 成 本 。 如 果 客 户 端 的 软 件 系 统 升 级 比 较 频 繁 , 那 么 b/s架 构 的 产 品 优 势 明 显 所 有 的 升 级 操 作 只 需 要 针 对 服 务 器 进 行 , 这 对 那 些 点 多 面 广 的 应 用 是 很 有 价 值 的 , 例 如 一 些 招 聘 网 站 就 需 要 采 用 b/s模 式 , 客 户 端 分 散 , 且 应 用 简 单 , 只 需 要 进 行 简 单 的 浏 览 和 少 量 信 息 的 录 入 。 7 第三章 系统设计 3.1 系统分析 采用结构化系统分析的方法,建立新系统的逻辑模型,此模型尽量避免使用计算 机术语,便于企业的计算机人员与系统开发人员的共同讨论。本系统的结构是层次化 的暗盒模块结构。对高层模块,将采用以事物为中心的设计策略,把一个大的复杂的 系统逐步分解成小的相对简单的暗盒模块,对低层模块,采用以变换为中心的设计策 略。因此,为了提高模块的内聚性,降低模块的耦合程度,数据库的设计原则是把它 作为模块间的邮政信箱,从而为实现数据共享由提高了模块的独立性,使系统具有很 高的可修改性。系统的易用性和易维护性:实现这一点,就要求系统应该尽量使用用 户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线 帮助,缩短用户对系统熟悉的过程。 系统的数据要求: (1) 数据录入和处理的准确性和实时性; (2) 数据的一致性与完整性; (3) 数据的共享与独立性。 3.1.1 考生使用网络考试系统的流程: (1) 根据分配的学生学号和密码登录系统:如果学生学号和密码,正确允许 登录,否则拒绝登录。 (2) 选择考试科目:由于每一课只允许考试一次,在选择考试科目前,应该先判 断该学生所选科目是否已考过,如果考过,不允许重考。 (3) 进行考试,并启动计时器:如果在规定时间内没有交卷,系统会强制提交。 (4) 交卷,查看成绩单。 3.1.2 系统的特点 本系统的特点是: 限时性强:限制学生在规定的时间内完成答题,如果学生在规定的时间内没有完 成答题,系统则会自动完成提交试卷。 保密性强:学生进行一次考试,交卷成功后试题自动关闭,以保证考试能反映学 生真实水平。 系统简单易用,限时性、保密性、真实性强。 系统使用灵活,学生可通过网络、获取卷进行考试,使考试不再局限于教室。 8 3.1.3 系统目标 管理员 : 管理员管理主要是完成学生的添加、删除。,学校专业的添加、删除,课程的添 加、删除,套题的添加、删除、修改。还有可以通过学生学号来对学号考试成绩的查 询。 学生用户: 学生用户登陆以后,首先修改管理员分发给每个学生的密码,还有修改帮助学生 用户找回密码的问题和答案。以便以后找回自己的密码。学生可以选择套题进行在线 考试。在规定的时间内完成试题的解答并提交试卷。最后可以进行自己的考试成绩查 询。 3.2 系统功能结构 3.2.1 系统总体构架设计 本系统设计遵循结构化设计原则: 1. 模块独立性、适度性原则 模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。模块 独立性是通过指定具有单一功能并且和其它模块没有过多联系的模块来实现的。 模块独立性是由内聚性和偶合性两个定性指标来度量的。内聚性是度量一个 模块功能强度的一个相对指标。偶合性是用来度量模块之间的相互联系的程度。 模块过大时,模块的可理解性会迅速下降。另外对过大的模块分解时,也不 应降低模块的独立性。因为当对一个大的模块分解时,可能会增加模块间的依赖 java 三层模式架构: 表示层:利用 jsp 、html、xml; 业务逻辑层: javabeans 数据层:sql server 2005 开发工具采用 myeclipse 数据库 sql server 2005, 服务器:tomcat 6.0 java 中连接数据库的技术是 jdk 9 图 3-1 系统总体构架设计图 本系统整体上采用的是mvc三层架构 (1) 数据库是保存系统的所有的数据。 (2) 模型层,建立在数据库层之上,提供访问连接数据库,访问数据库的方法 (3) 控制层:完成页面功能的逻辑控制,和页面的跳转。 3.2.2 系统模块设计 本系统采用的是 b/s 模式,可以将系统设计成前台和后台两个大的模块,分别对 应学生用户和后台管理员。 前台主要用于学生密码的修改,进行在线考试、成绩的查询;后台主要用于增删 学生用户、专业、课程、套题,还可以对学生用户的成绩进行。 3.2.3 前台功能模块 网络考试前台 用户登陆 在线考试 课 程 选 择 套 题 选 择 开 始 考 试 考 试 结 束 成绩查询 成 绩 查 询 退出系统 图 3-2 前台功能结构图 前台主要功能就模块主要有系统登录模块,该模块用于学生用户登陆系统 ,登陆系 试 系登录 在线考试 查询成绩 出系统 课 程 选 择 套 题 选 择 准 备 考 试 开 始 考 试 考 试 结 果 成 绩 查 询 业务逻辑层 数据访问层 数据库 10 统后用户可以点击进入在线考试模块,用户在该模块可以进行课程选择、套题选择、 成绩查询 ,主要是学生进行成绩查询,在系统登录页面上点击忘记密码,用户可以 进入密码找回模块。 首页 登陆 成功? 否 在线考试修改密码 成绩查询 选择课程和套题 提交? 否 是 是 考试 时间到? 否 是 交卷 退出 图 3-3 前台系统流程图(考生使用流程图) 11 前台模块的功能: 学生登录考试系统:打开考试系统首页,只有通过验证才能进入考试页面、进 行考试。 考生可以在首页进行选择直接登陆或者找回自己的密码 忘记密码:便于学生找回密码。 找回密码时:学生输入学号,系统根据学号查询出找回密码的问题。学生输入 自己的答案,如果答案正确,则把正确的密码显示给学生。 成绩查询:用户可以通过该功能查询自己的考试成绩。 在线考试:用于考生进行在线考试。 (1). 选择考试课程:根据学生的学号查询该学生的专业,根据学生的专业列出该 学生的所有课程 3.2.4 后台功能模块 网络考试系统后台 用户管理 专业/课程管理 试题管理 成绩查询 添 加 学 生 用 户 删 除 学 生 用 户 添 加 专 业 添 加 课 程 删 除 课 程 添 加 套 题 添 加 试 题 成 绩 查 询 图3-4 后台功能结构图 12 首页 管理理按钮? 是 管理员登陆 成功? 否 是 用户管理 添加用户 删除用户 课程管理 添 加 专 业 添 加 课 程 删 除 课 程 试题管理 添 加 套 题 添 加 试 题 成绩查询 成 绩 查 询 退出系统 图 3-5 后台系统流程图(管理员使用流程图) 后台模块的功能: 后台管理登录: 管理员在首页点击管理员按钮,进入管理员登陆页面。 管理员输入姓名跟密码就能登陆管理员页面。 学生管理:主要包括注添加学生,查询学生、删除学生。 管理课程信息:主要包括课程的增删查找 专业信息管理:主要包括专业信息添加,专业信息查询,专业信息删除和 专业信息修改四部分。 3.3 数据库设计 13 本系统使用sql server 2005作为应用程序的数据库。 3.3.1 .系统 e-r 图 首先确定该系统的实体:主要实体有学生、管理员、专业、课程、套题、试题、学生 成绩,其中学生、管理员也是该系统的用例。 其中:学生实体与其它实体之间的关系如图 3-6 图3-6 学生与其它实体e-r图 该图是考生用户和其他实体间的 e-r 图,考生受管理员管理他们之间是多对一的 关系、考生拥有考试成绩他们之间是一对多的关系,考生可以选择套题进行考试他们 之间是多对多的关系。 管理员实体与其它实体之间的关系 得分 管理员 成 绩 管理 选择 考 生 套 题 课程 专业 管理员 套 题 学生 管理员 试题 管理 包含 包含 包含 管理 管理 管理 管理 管理 14 课 程 信 息 课程编号 课程名称 加入时间 所属专业的编 号 图3-7 管理员与其它实体的e-r图 该图是管理员实体和其它实体间的e-r 关系图,从该图可以看出管理员实体添加 删除学生实体它们之间是一对多的关系、管理员实体可以添加删除专业它们之间是一 对多的关系,并且同课程、套题之间也是一对多的关系 各实体信息如下: 图3-8 课程信息实体 由图3-8可以知道课程信息实体包含:课程编号、课程名称、所属专业的编号、加入 时间。 图3-9 管理员信息实体 由图3-9可以知道管理员信息包含:系统管理员编号、管理员名称、管理员密码、加 入时间。 管 理 员 信 息 系统管理员编号 管理员名称 加入时间管理员密码 专 业 信 息 专业编号 专业名称 加入时间 15 图3-10 专业实体 由图 3-10 可以知道专业信息包含:专业编号、专业名称、加入时间。 图 3-11 套题实体 由图 3-11 可以知道套题信息包括:套题编号、套题名称、所属课程号,加入时 间。 图 3-12 学生实体 由图 3-12 可以知道学生信息包含:学生证号、学生姓名、学生密码、性别、加入时 间、密码问题、密码答案、所选专业号。 套 题 信 息 套题编号 套题名称 加入时间所属课程号 注册学生信息 学生证号 学生姓名 学生密码 性别 加入时间 密码问题 密码答案 所选专业号 16 图 3-13 题目实体 由图 3-13 可以知道考试题目信息包含:实体编号、试题主题、试题类型、试题加入 时间、所属课程编号、所属课程号、所属套题号、选项 a、选项 b、选项 c、选项 d、试题答案、注释。 3.3.2 表设计 根据系统的实际需求,数据库系统至少需要实现学生用户、管理员用户、成绩表、 试题、套题数据保存。因此本系统需要以下表,学生信息表(tb_student)、课程表 (tb_lesson)等,其表结构如下所示: 表3-1 管理员信息表(tb_administrators) 列名 数据类型 数据长度 主键 非空 功能描述 id bigint 8 是 否 自动增加,管理员编号 name varchar 50 否 否 管理员名称 pwd varchar 50 否 否 管理员密码 jointime datetime 8 否 是 加入时间 表3-2 课程信息表(tb_lesson) 列名 数据类型 数据长度 主键 非空 功能描述 id bigint 8 是 否 课程编码 name varchar 60 否 是 课程名称 professionid bigint 8 否 是 所属专业的编号 jointime datetime 8 否 是 加入时间 17 表3-3 专业信息表(tb_profession) 列名 数据类型 数据长度 主键 非空 功能描述 id bigint 8 是 否 专业编号 name varchar 200 否 是 专业名称 jointime datetime 8 否 是 加入时间 表3-4 考试问题信息表(tb_questions) 列名 数据类型 数据长度 主键 非空 功能描述 id bigint 8 是 否 试题编号 que_subject varchar 50 否 是 试题主题 que_type char 10 否 是 试题类型 que_joindate datetime 8 否 是 试题加入时间 que_lessonid int 4 否 是 所属课程号 que_professionid int 4 否 是 所属专业号 que_toatiid bigint 8 否 是 所属套题编号 option a varchar 50 否 是 选项a optionb varchar 50 否 是 选项b optionc varchar 50 否 是 选项c optiond varchar 50 否 是 选项d que_answer char 10 否 是 试题答案 note varchar 50 否 是 注释 18 表3-5 注册学生信息表(tb_student) 表3-6 学生成绩信息表(tb_sturesult) 列名 数据类型 数据长度 主键 非空 功能描述 res_id bigint 8 是 否 试题结果编号 stu_id varchar 50 否 是 所属学生编号 which_lesson varchar 50 否 是 所属课程编号 taotiid bigint 8 否 是 所属套题编号 taotiname varchar 50 否 是 所属套题名称 res_single int 4 否 是 单选成绩 res_more int 4 否 是 多选成绩 res_total int 4 否 是 总成绩 res_subdate datetime 8 否 是 成绩提交时间 表3-7 套题信息表(tb_taoti) 列名 数据类型 数据长度 主键 非空 功能描述 id bigint 8 是 否 套题编号 name varchar 50 否 是 套题名称 lessonid bigint 8 否 是 所选课程号 jointime datetime 8 否 是 加入时间 3.3.3 创建表间关系 要让表与表之间进行关联,通过外键的方式把两个表关联起来,在该网络考 列名 数据类型 数据长度 主键 非空 功能描述 id varchar 50 是 否 学生证号 name varchar 20 否 是 学生姓名 pwd varchar 20 否 是 学生密码 sex varchar 2 否 是 性别 jointime datetime 8 否 是 加入时间 question varchar 50 否 是 密码问题 answer varchar 50 否 是 密码答案 profession bigint 8 否 是 所选专业号 19 试系统中,创建的关系如下图所示。如下图所示: 表3-8 表间关系 主键表 外键表 关系 名称 字段名 名称 字段名 级联更新 级联删 除 tb_ id tb_sturesult stu_id 是 是 tb_profession id tb_ lesson ofprofession 是 是 tb_ student id tb_ sturesult stu_id 是 是 tb_lesson id tb_ taoti lessonid 是 是 tb_taoti id tb_questions que_taotiid 是 是 20 第四章 系统功能模块详细设计 改考试系统主要分为前台和后台两部分,分别对应学生用户和后台管理员用户。 4.1 前台主要功能模块设计 4.1.1 登录页面 图 4-1 首页 图 4-1 是首页,学生用户打开该页面后,在学生证号栏输入学号和密码,点击 提交进行身份验证。管理员直接点击管理按钮,链接到管理员登录页面。 其关键代码如下: /*验证学生用户 * 返回 true 表示验证成功 * 返回 false 表示验证失败或者读取数据库失败*/ public boolean bchecklogin(string stunum,string password) string sql=“select * from tb_student where stunum =“+stunum+“and password =“+password+“; try rs = stmt.executequery(sql); if(rs.next() return true; else return false; catch (sqlexception e) e.printstacktrace(); 21 return false; 4.1.2 学生登录在线考试页面 图 4-2 用户登录成功后的页面 图 4-2 页面是考生用户登录成功后的页面,学生身份通过验证后就进入该页面, 在该页面学生可以进行修改密码、在线考试、成绩查询等操作。 4.1.3 修改密码 图 4-3 修改密码页面 在该页面。用户可以修改自己的密码 4.1.4 在线考试 22 图 4-4 选择套题 用户选择要进行考试的套题 图 4-5 进行答题 用户作答相关的题目,其主要代码 public set getquestions(int num ,string taotiid) throws sqlexception/获取 一套试题的id数组 int i; string idarr=new stringnum; set set=new hashset(); string sql; examform examform; sql=“select * from tb_questions where que_taotiid=“+taotiid+“ order by id“; resultset rs=stmt.executequery(sql); for(i=0;i 题错 正确答案为: 第题:对 第题:错 正确答案为: 25 总成绩: 4.2 后台主要功能模块设计 管理员可以管理题库,进行专业、课程、套题、题目的查询、添加、删除和修改, 查询管理成绩。 4.2.1 登录页面 图 4-7 管理员登录页面 图 4-3 页面是管理员用户登录页面,打开网络考试系统的首页,点击管理按钮进 入管理员该页面。如图 4-3 所示输入管理账号和管理密码点击登陆就可以登陆管理页 面。 后台登录页面涉及的 html 表单元素如下表所示: 名称 类型 含义 login form 表单 学生学号(stunum) text 学生证号文本域 密码(password) text 密码文本域 登录 submit 【登录】按纽 管理 button 【注册】按纽 忘记密码 href 【忘记密码】链接 26 注:该表数据来源于数据库 管理员登陆验证的主要代码是: /*验证管理员用户 * 返回true表示验证成功 * 返回false表示验证失败或者读取数据库失败*/ public boolean bchecklogin(string name,string password) string sql=“select * from tb_administrators where name =“+name+“and password =“+password+“; try rs = stmt.executequery(sql); if(rs.next() return true; else return false; catch (sqlexception e) e.printstacktrace(); return false; catch (sqlexception e) e.printstacktrace(); return false; 4.2.2 管理专业信息页面 图 4-8 管理员登录成功后的页面 27 图 4-4 是添加专业页面,点击“课程管理”里面的“添加专业” ,链接到该页面。 在专业名文本框中输入专业名称,点击添加就可以添加专业。 添加专业的代码如下: /* * 添加专业*/ public boolean addprofession(string name) string sql=“insert into tb_profession(name)values(“+name+“)“; try stmt.executeupdate(sql); return true; catch (sqlexception e) e.printstacktrace(); return false; 4.2.3 管理课程信息页面 图 4-8 添加课程页面 图 4-5 所示页面是添加课程页面,主要是针对某个特定的专业添加课程,专业那 个下拉框与数据库中专业表绑定,把所有的数据库中的已有专业都列出到下拉框中, 管理员只要通过下拉框选择专业,输入该专业下的课程名,点击提交就可以添加课程。 专业与数据库绑定的代码: /* * 添加课程*/ public boolean addcourse(string name,string professionid) string sql = “insert into tb_lesson(name,professionid)values(“+name+“,“+professionid+“)“; try stmt.executeupdate(sql); return true; catch (sqlexception e) 28 e.printstacktrace(); return false; 添加课程 专业: 课程名: 29 4.2.4 管理套题信息页 图 4-10 添加套题页面 图 4-6 页面是为课程添加套题的页面,管理员可以选择要添加套题的所属专业, 所属课程下拉框中通过级联会自动弹出该专业下的所有课程,该级联通过 ajax 框架 完成,管理员再对课程进行选择。 /* 30 * 添加专业*/ public boolean addprofession(string name) string sql=“insert into tb_profession(name)values(“+name+“)“; try stmt.executeupdate(sql); return true; catch (sqlexception e) e.printstacktrace(); return false; 添加考试题目页面涉及的 html 表单元素如下: 名称 类型 含义 addques form 表单 考试题目 text 考试题目 ques_type select 考试类型 选项 a text 选项 a 文本框 选项 b text 选项 b 文本框 选项 c text 选项 c 文本框 选项 d text 选项 d 文本框 que_answer_dan select 单选列表框 que_answer_dou checkbox 选项 a 复选框 que_answer_dou checkbox 选项 b 复选框 que_answer_dou checkbox 选项 c 复选框 que_answer_dou checkbox 选项 d 复选框 note text 注释文本框 submit submit 【添加】按钮 reset reset 【重置】按钮 4.2.4 添加试题页面 31 图 4-11 添加题目页面 图 4-7 所示页面时添加试题的页面,主要是针对某一套题添加试题,在该页面中所属 专业、所属课程、套题名这三个下拉框是个三级联动下拉框,采用 ajax框架。管理 员输入开始的题目,选项 a、b、c、d,该题目的正确答案和题目类型。题目类型分 为单选和多选。 主要代码: /ajax页面响应、请求代码 /创建xmlhttprequest对象 function createxmlhttprequest() if(window.activexobject) try xmlhttp = new activexobject(“msxml2.xmlhttp“); catch(e) xmlhttp = new activexobject(“microsoft.xmlhttp“); else if(window.xmlhttprequest) xmlhttp = new xmlhttprequest(); 32 /处理服务器响应结果 function handleresponse() /判断对象状态 if(xmlhttp.readystate=4) if(xmlhttp.status=200) var out=“; var res = xmlhttp.responsexml; clearlist(); var courses = res.getelementsbytagname(“course“); for(var i = 0;i0) courselist.removechild(studentslist.childnodes0); function addoption(id ,name) var courselist = document.getelementbyid(“courses“); var option = document.createelement(“option“); option.appendchild(document.createtextnode(name); courselist.appenchild(option); function sendrequest(url) createxmlhttprequest(); xmlhttp.open(“get“,url,true); xmlhttp.onreadystatechange = handleresponse; xmlhttp.sen

温馨提示

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

评论

0/150

提交评论