




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于基于 B SB S 模式的在线考试管理子系统毕业论模式的在线考试管理子系统毕业论 文文 目 录 1 绪 论 1 1 1 在线考试系统的发展现状 1 1 2 在线考试系统的应用意义 2 2 开发平台工具简介 3 2 1 JSP 语言 3 2 2 MYSQL 4 2 2 1 MySQL 简介 4 2 2 2 MySQL 的应用和管理 5 2 2 3 MySQL 的特性 5 2 2 4 MySQL 语句 6 2 2 5 SQL 优点 6 2 3开发环境 7 2 3 1 TOMCAT 服务器 7 2 3 2 Sturst 框架 7 2 3 3 Spring 框架 8 2 4 JAVASCRIPT 9 2 4 1 JAVASCRIPT 介绍 9 2 4 2 JAVASCRIPT 的应用 10 2 5 B S 模式 11 2 5 1 采用 B S 开发的优点 11 2 5 2 B S 模式的数据库体系结构 13 3 系统总体设计 14 3 1 需求分析 14 3 2 总体设计 14 3 2 1 功能模块 14 3 2 2 数据库结构设计 15 4 界面设计与功能模块的实现 19 4 1 界面设计 19 4 2 典型代码设计 24 4 2 1 ACTION 24 4 2 2 BO 实现层 26 结 论 30 致 谢 31 参考文献 32 附录 1 外文参考文献 译文 33 附录 2 外文参考文献 原文 39 1 绪 论 随着 Web 技术的发展和电子商务时代的到来 人们不再满足于建立各种静态 地发布信息的网站 更多的时候需要能与用户进行交互 并能提供后台数据库的管 理和控制等服务的动态网站 现在很多国外的大学和社会其他部门都已经开设了远 程教育 通过计算机网络实现异地教育和培训 基于 WEB 在线考试与无纸化办公 一样已成为大势所趋 基于 WEB 在线考试也越来越成为学校的好帮手 它的优势 不但体现在人力上也体现在物力上 基于 WEB 的在线考试系统的自动评阅 计分 成绩存档功能将有效地避免资源的浪费 有利于环保 减少人员 提高效率 1 1 在线考试系统的发展现状 目前的一个发展趋势是采用大规模试题库的计算机网络考试模式 随着计算机 网络在生产生活 科技教育中的普及 传统试的考试出卷 答卷方式以及学绩管理 正发生着巨大的变革 因此 如何使考试过程变得方便 高效 快捷 公正 是现 代教育的一个重要课题 网络考试系统是传统考场的延伸 它可以利用网络的无限 广阔空间 随时随地对学生进行考试 加上数据库技术的利用 大大简化了传统考试 的过程 因此网络考试系统是电子化教学不可缺少的一个重要环节 有趋势表明 考试的标准化 计算机网络化已当今考试的发展方向 当前国际上许多考试认证 例如 GRE CISCO 其出题 答卷以及评分都是在计算机上完成的 无纸化的考 试形式有着其科学 及时 准确 公平等优点 具有传统考试形式无法替代和比拟 的优势 目前 我国教育正处在快速发展阶段 考试是反映学生掌握知识水平的一个重 要指标 高中阶段之前的教育单位基本都是传统的纸质试卷 老师面临出题困难 管理考题繁琐 评阅花费大量时间的各种麻烦 学生考试经常出现试题缺损 试卷 印刷模糊 考试后获取考试结果周期长等问题 它们严重制约教学的质量和效率 而信息技术发达的大学才有能力实现考试无纸化的在线 在线考试系统在这些高等 院校显示出卓越的成效 并且初具规模 而今信息时代 计算机技术与网络技术越 来越广地应用于各个领域 改变着人们的学习 工作 生活乃至思维方式 也引起了 教育领域的重大变革 将计算机与网络技术应用于现代高等教育中 是现代高等教 育发展的需要 也是改革教育模式 提高学校教学效果和教学效率 提高科研和管 理水平的必要手段 1 2 在线考试系统的应用意义 网络考试系统极大地提高了教学的灵活性 现在在许多领域已经有了广泛的 应用 最有影响的案例就是 ETS 美国教育考试中心 举办的 GRE 美国研究生 入学考试 的计算机化考试 它使考试由原来的每年只能有两次参加考试的机会变 成了每个工作日都可以参加的考试 现在 计算机硬件技术的发展已经达到了相当高的水平 但是 远程教育软 件的开发目前还处于起步阶段 随着这项技术的不断深入发展 就要求有更好 更 完善的软件系统应用到远程教育当中去 这就给软件设计人员提出了更高的设计要 求 远程教育包括很多环节 例如教学系统 答疑系统和考试系统等等 其中很重 要的一个环节就是在线考试系统 同时它也是最难实现的环节 相比传统的考试方式 基于 WEB 的在线考试系统的主要好处是一方面可以动 态地管理各种考试信息 只要准备好足够大的题库 就可以按照要求自动生成各种 试卷 另一方面 考试时间灵活 可以在规定的时间段内的任意时间参加考试 另外计算机化的考试的最大特点是阅卷快 系统可以在考试结束时当场给出客观题 考试成绩 计算机阅卷给了考生最大的公平感 因此 为了满足我国教育单位的需要 提高教学质量 巩固教学成果 给教学 系统增加考试功能 在线考试系统无疑是最好的选择 它的出现将是对传统考试的 一次革命 将会推动我国教育事业的发展和国民文化的提高 2 开发平台工具简介 本课题采用了 B S Browse Server 即浏览器 服务器 模式 基于 MVC 的开发 体系 采用 JSP Struts2 0 Hibernate2 5 Spring3 2 MYSQL5 0 Tomcat6 0 为主 要的开发技术 使用 Adobe Dreamweaver CS3 0 为主要的界面开发工具 用到 JavaScript 实现前台页面的输入校验 MyEclipse 为主要的 IDE 开发工具 完成整 体的系统开发 主要要求设计者能很好的掌握 MyEclipse Dreamweaver MySQL 等软件工具 前台界面用到了 Struts 的标签库 JavaScript 实现前台输入的校验功 能 Strust 控制页面的跳转 Hiberanate 实现数据的持久化 对数据库表的操作转 换成对对象的操作 直接操作数据的 JavaBean Spring 的 IoC 容器负责创建 Java 类的实例 对于小型项目三大框架整合的优点还体现不出来 而对于大型项目三大 框架就是他们的核心 大量的数据交给 Hibernate 处理 大量的实例交给 Spring 创建 大量页面的跳转交给 Struts 程序员就只需负责项目的业务逻辑 大大缩短 了系统的研发周期 本文着重阐述使用 JSP 技术建立企业网站自助建站管理系统 的方法 3 因为客户所能看到的所有数据信息和前端页面都可以通过强大的后台 管理系统来实时更新和管理 对日后网站建成后的维护打开了方便之门 并且达到 一般管理人员不必培训就能使用 为企业的宣传和管理工作带来便利 从而提高企 业的运营效率 2 1 JSP 语言 JSP 的英文全称为 Java Server Pages 它是由 Sun Microsystems 公司为创建 动态 Web 页面而定义的一种技术 它们是与 Java 相关的一种 HTML 文档 Java 提供动态内容 JSP 是在服务器端应用的一种脚本 它接受请求并相应生成 此请 求通常由一个 Web 客户端发送 而响应则是根据请求生成的一种 HTML 文档 待 文档需要返回给 Web 客户端 由于 JSP 是服务器端应用 所以它拥有对服务器端 资源的访问权限 诸如 Servlet JavaBean EJB 和数据库 JSP 在动态网页的建设中有其强大的功能 首先 使用 JSP 技术 Web 页面开 发人员可以使用 HTML 或者 XML 标识来设计和格式化最终页面 使用 JSP 标识 或者小脚本来生成页面上的动态内容 内容是根据请求来变化的 例如请求帐户信 息或者特定的一瓶酒的价格 生成内容的逻辑被封装在标识和 JavaBeans 组件中 并且捆绑在小脚本中 所有的脚本在服务器端运行 如果核心逻辑被封装在标识和 Beans 中 那么其他人 如 Web 管理人员和页面设计者 能够编辑和使用 JSP 页 面 而不影响内容的生成 在服务器端 JSP 引擎解释 JSP 标识和小脚本 生成 所请求的内容 例如 通过访问 JavaBeans 组件 使用 JDBCTM 技术访问数据库 或者包含文件 并且将结果以 HTML 或者 XML 页面的形式发送回浏览器 这有助于作者保护自己的代码 而又保证任何基于 HTML 的 Web 浏览器的完全可 用性 其次 绝大多数 JSP 页面依赖于可重用的 跨平台的组件 JavaBeans 或者 Enterprise JavaBeansTM 组件 来执行应用程序所要求的更为复杂的处理 开发人 员能够共享和交换执行普通操作的组件 或者使得这些组件为更多的使用者或者客 户团体所使用 基于组件的方法加速了总体开发过程 并且使得各种组织在他们现 有的技能和优化结果的开发努力中得到平衡 再次 与 SERVLETS 相比 JSP 能 提供所有 SERVLETS 功能 但它比用 println 书写和修改 HTML 更方便 此外 你 可以更明确的进行分工 WEB 页面设计人员编写 HTML 只需要留出地方让 SERVLETS 程序员插入动态部分即可 最后 作为 Java 平台的一部分 JSP 拥有 Java 编程语言 一次编写 各处运行 的特点 随着越来越多的供应商将 JSP 支持添 加到他们的产品中 您可以使用自己所选择的服务器和工具 更改工具或服务器并 不影响当前的应用 2 2 MySQL 2 2 1 MySQL 简介 MySQL 最初的开发者的意图是用 mSQL 和他们自己的快速低级例程 ISAM 去连 接表格 不管怎样 在经过一些测试后 开发者得出结论 mSQL 并没有他们需要 的那么快和灵活 这导致了一个使用几乎和 mSQL 一样的 API 接口的用于他们的数 据库的新的 SQL 接口的产生 这样 这个 API 被设计成允许为用于 mSQL 而写的第 三方代码更容易移植到 MySQL MySQL 是一个小型关系型数据库管理系统 开发者为瑞典 MySQL AB 公司 在 2008 年 1 月 16 号被 Sun 公司收购 目前 MySQL 被广泛地应用在 Internet 上的中 小型网站中 由于其体积小 速度快 总体拥有成本低 尤其是开放源码这一特点 许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库 2 2 2 MySQL 的应用和管理 与其他的大型数据库例如 Oracle DB2 SQL Server 等相比 MySQL 自有它的 不足之处 如规模小 功能有限 MySQL Cluster 的功能和效率都相对比较差 等 但是这丝毫也没有减少它受欢迎的程度 对于一般的个人使用者和中小型企业来说 MySQL 提供的功能已经绰绰有余 而且由于 MySQL 是开放源码软件 因此可以大大 降低总体拥有成本 目前 Internet 上流行的网站构架方式是 LAMP Linux Apache MySQL PHP 即使用 Linux 作为操作系统 Apache 作为 Web 服务器 MySQL 作为数据库 PHP 作 为服务器端脚本解释器 由于这四个软件都是遵循 GPL 的开放源码软件 因此使用 这种方式不用花一分钱就可以建立起一个稳定 免费的网站系统 可以使用命令行工具管理 MySQL 数据库 命令 mysql 和 mysqladmin 也可 以从 MySQL 的网站下载图形管理工具 MySQL Administrator 和 MySQL Query Browser PhpMyAdmin 是由 php 写成的 MySQL 资料库系统管理程式 让管理者可用 Web 介面管理 MySQL 资料库 PhpMyBackupPro 也是由 PHP 写成的 可以透过 Web 介面创建和管理数据库 它可以创建伪 cronjobs 可以用来自动在某个时间或周期备份 MySQL 数据库 2 2 3 MySQL 的特性 1 使用 C 和 C 编写 并使用了多种编译器进行测试 保证源代码的可移植 性 2 支持 AIX FreeBSD HP UX Linux Mac OS Novell Netware OpenBSD OS 2 Wrap Solaris Windows 等多种操作系统 3 为多种编程语言提供了 API 这些编程语言包括 C C Eiffel Java Perl PHP Python Ruby 和 Tcl 等 4 支持多线程 充分利用 CPU 资源 5 优化的 SQL 查询算法 有效地提高查询速度 6 既能够作为一个单独的应用程序应用在客户端服务器网络环境中 也能够 作为一个库而嵌入到其他的软件中提供多语言支持 常见的编码如中文的 GB 2312 BIG5 日文的 Shift JIS 等都可以用作数据表名和数据列名 7 提供 TCP IP ODBC 和 JDBC 等多种数据库连接途径 8 提供用于管理 检查 优化数据库操作的管理工具 9 可以处理拥有上千万条记录的大型数据库 2 2 4 MySQL 语句 MySQL 主要分成四个部分 1 数据定义 CREATE DROP ALTER 用于定义 删除和修改数据库中的对 象如关系表 视图都是数据库对象 2 数据操纵 INSERT UPDATE DELETE 用于增加 删除和修改数据库数据 3 数据查询 SELECT 用于查询数据 查询数据是数据库中使用最多的操作 4 数据控制 GRANT REVOKE 用于控制用户对数据库的操作权限 2 2 5 SQL 优点 SQL 广泛地被采用正说明了它的优点 使全部用户 包括应用程序员 DBA 管 理员和终端用户受益非浅 1 非过程化语言 SQL 是一个非过程化的语言 因为它一次处理一个记录 对数据提供自动导 航 SQL 允许用户在高层的数据结构上工作 而不对单个记录进行操作 可操作 记录集 所有 SQL 语句接受集合作为输入 返回集合作为输出 SQL 的集合特性 允许一条 SQL 语句的结果作为另一条 SQL 语句的输入 SQL 不要求用户指定对数 据的存放方法 2 统一的语言 SQL 可用于所有用户的 DB 活动模型 包括系统管理员 数据库管理员 应 用程序员 决策支持系统人员及许多其它类型的终端用户 基本的 SQL 命令只需 很少时间就能学会 高级的命令在几天内便可掌握 以前的数据库管理系统为上述 各类操作提供单独的语言 而 SQL 将全部任务统一在一种语言中 3 所有关系数据库的公共语言 由于所有主要的关系数据库管理系统都支持 SQL 语言 用户可将使用 SQL 的 技能从一个 RDBMS 转到另一个 所有用 SQL 编写的程序都是可以移植的 2 3 开发环境 2 3 1 TOMCAT 服务器 目前支持 JSP 的应用服务器是较多的 Tomcat 是其中较为流行的一个 Web 服 务器 被 JavaWorld 杂志的编辑选为 2001 年度最具创新的 Java 产品 可见其在业 界的地位 Tomcat 是一个免费的开源的 Serlvet 容器 在 Tomcat 中 应用程序的部署很 简单 你只需将你的 WAR 放到 Tomcat 的 webapp 目录下 Tomcat 会自动检测到 这个文件 并将其解压 你在浏览器中访问这个应用的 Jsp 时 通常第一次会很慢 因为 Tomcat 要将 Jsp 转化为 Servlet 文件 然后编译 编译以后 访问将会很快 Tomcat 也具有传统的 Web 服务器的功能 处理 Html 页面 但是与 Apache 相 比 它的处理静态 Html 的能力就不如 Apache 我们可以将 Tomcat 和 Apache 集成 到一块 让 Apache 处理静态 Html 而 Tomcat 处理 Jsp 和 Servlet Tomcat 是一个 很好的工具 不仅仅因为其免费 功能强大 更因为其开放性 越来越受到人们的 重视 2 3 2 Sturst 框架 Struts 是 Apache 软件基金下 Jakarta 项目的一部分 除 Struts 之外 还有其他 成功的开源产品 包括 Tomcat Ant 和 Velocity Struts 是一个开源软件 有助于 开发者更加快速和容易地建立 Web 应用程序 Struts 依靠绝大多数开发者已熟知的 标准技术 比如 JavaBeans Java servlet 以及 JavaServer Page JSP 通过基于标准 的技术 填空式 的软件开发方法 Struts 可以减轻在创建新项目时 的令人抱怨 的极费时间的工作 使用 Struts 的应用开发使用了大量的使能技术 这些技术并 不是专门针对 Struts 而是所有 Java web 应用都可以使用的 开发者使用 Struts 之 类的框架是为了隐藏在诸如 HTTP CGI 以及 JSP 之类技术后面的繁琐的细节 Struts 框架 Struts framework 是可重用的 半完成的应用程序 可以用来产生专 门的定制程序 Johnson 象人一样 软件应用的相似性比不同点要多 它们运行在 相同的机器上 期望从相同的设备输入信息 输出到相同的显示设备 并且存储数 据到相同的硬盘设备 工作在传 统桌面应用的开发人员习惯于那些可以覆盖应用 开发同一性的工具包和开发环境 构架在这些公共基础上的应用框架可以为开发人 员提供可以为他们的产品提供可重用服务的基础架构 2 3 3 Spring 框架 Spring 提供了一种轻量级的解决方案 用于建立 快装式企业应用 在此基础 上 Spring 还提供了包括声明式事务管理 RMI 或 Web Services 远程访问业务逻 辑 以及可以多种方法进行的持久化数据库地解决方案 另外 Spring 还有一个全 功能的 MVC 框架 并能透明的把 AOP 集成到你的软件中去 Spring 的 AO 封 装包提供了符合 AOP Alliance 规范的面向方面的编程 JSPect oriented programming 实现 让你可以定义 例如方法拦截器 method interceptors 和切 点 pointcuts 从逻辑上讲 从而减弱代码的功能耦合 清晰的被分离开 而且 利用 source level 的元数据功能 还可以将各种行为信息合并到你的代码中 这有 点象 Net 的 attribute 的概念 Spring 中的 Web 包提供了基础的针对 Web 开发的集 成特性 例如多方文件上传 利用 Servlet listeners 进行 IoC 容器初始化和针对 Web 的 application context 当与 WebWork 或 Struts 一起使用 Spring 时 这个包使 Spring 可与其他框架结合 Spring 中的 MVC 封装包提供了 Web 应用的 Model View Controller MVC 实现 Spring 的 MVC 框架并不是仅仅提供一种传统的实 现 它提供了一种 清晰的 分离模型 在领域模型代码和 web form 之间 并且 还可以借助 Spring 框架的其他特性 Core 封装包是框架的最基础部分 提供 IoC 和依赖注入特性 这里的基础概念是 BeanFactory 它提供对 Factory 模式的经典实 现来消除对程序性单例模式的需要 并真正地允许你从程序逻辑中分离出依赖关系 和配置 构建于 CORE 封装包基础上的 Context 封装包 提供了一种框架式的对 象访问方法 有些象 JNDI 注册器 Context 封装包的特性得自于 Beans 封装包 并添加了对国际化 I18N 的支持 例如资源绑定 事件传播 资源装载的方式 和 Context 的透明创建 比如说通过 Servlet 容器 DAO 提供了 JDBC 的抽象层 它可消除冗长的 JDBC 编码和解析数据库厂商特有的错误代码 并且 JDBC 封 装包还提供了一种比编程性更好的声明性事务管理方法 不仅仅是实现了特定接口 而且对所有的 POJOs plain old Java objects 都适用 ORM 封装包提供了常用的 对象 关系 映射 APIs 的集成层 其中包括 JPA JDO Hibernate 和 iBatis 利 用 ORM 封装包 可以混合使用所有 Spring 提供的特性进行 对象 关系 映射 如 前边提到的简单声明性事务管理 2 4 JAVASCRIPT 2 4 1 JAVASCRIPT 介绍 JavaScript 是一种基于对象和事件驱动的脚本语言 JavaScript 代码在客户端浏 览器被解释执行 因此 JavaScript 是客户端执行的脚本语言 并且可以被嵌入到 HTML 文件 之中 通过 JavaScript 可以做到当用户在输入信息时它不用经过传给 服务器在传回来的过程 而直接可以被客户端的 JavaScript 应用程序所处理 JAVASCRIPT 的特点 JavaScript 使网页增加互动性 JavaScript 使有规律地重复的 HTML 文段简化 减少下载时间 JavaScript 能及时响应用户的操作 对提交表单做即时的检查 无 需浪费时间交由 CGI 验证 JAVA 与 JAVASCRIPT 的不同 首先 语言产生的目的不同 JavaScript 是 netscape 公司为了扩展 netscape navigatior 功能而设计的一种插入 html 中的脚本语言 它的主要目的是为了提供浏 览器端的动态交互性质 它的前生是 live script java 是 sun 公司开发的一种自 然的网络面向对象语言 目的是开发分布式应用 它的前生是 OAK 它几乎应用于 分布式应用的各个部分 在浏览器端有 JAVA APPLET 在应用程序端有 J2SE 在服 务器端有 J2EE 还有再小终端上有 J2ME 等 其次 语言的执行过程和环境不一样 JAVASCRIPT 是有浏览器端解释执行 的 它不需要编译 Java 是需要通过 jdk 进行编译生成字节流 然后通过代码装 载器在 java 虚拟机执行 它可以在有虚拟机的任何地方加载运行 比如 java applet 尽 管它是在浏览器端执行的 但是它是有浏览器的 java 插件执行的 如果没有 java 虚拟机的浏览器 不能执行 java applet 再次 JavaScript 是内嵌在 HTML 网页中的 当然也可以动态转载 它是解释 性 而 JAVA 同 HTML 是没有关系的 当然 JAVA APPLET 是需要在网页中嵌 代码 最后 JavaScript 主要是在浏览器端提供动态交互作用的 除了可以调用 URL 之外 不能同 WEB SERVER 服务端 进行交互 而 JAVA JAVA APPLET 可 以同 WEB SERVER 建立各种联系和交互 2 4 2 JAVASCRIPT 的应用 一个 JavaScript 程序其实是一个文档 一个文本文件 它是嵌入到 HTML 文 档中的 所以 任何可以编写 HTML 文档的软件都可以用来开发 JavaScript 在 此我推荐大家用 FrontPage 2000 附带的 Microsoft 脚本编辑器 它是个像 Visual Basic C 一样的程序开发器 能对正在输入的语句作出简要提示 配 合 FrontPage 2000 使工作量大大减少 JAVASCRIPT 的基本概念 1 运算符 运算符就是完成操和的一系列符号 它有七类 赋值运算符 算术运算符 比 较运算符 逻辑运算符 条件运算 位操作运算符和字符串运算符 2 表达式 运算符和操作数的组合称为表达式 通常分为四类 赋值表达式 算术表达式 布尔表达式和字符串表达式 3 语句 JavaScript 程序是由若干语句组成的 语句是编写程序的指令 JavaScript 提供了完整的基本编程语句 它们是 赋值语句 switch 选择语句 while 循环语 句 for 循环语句 do while 循环语句 break 循环中止语句和 continue 循环中 断语句 4 函数 函数是命名的语句段 这个语句段可以被当作一个整体来引用不着和执行 使 用函数要注意以下几点 a 函数由关键字 function 定义 b 函数必须先定义后使用 否则将出错 c 函数名是调用函数时引用的名称 它对大小写是敏感的 调用函数时不可 写错函数名 d 参数表示传递给函数使用或操作的值 它可以是常量 也可以是变量 e return 语句用于返回表达式的值 也可以没有 5 对象 JavaScript 的一个重要功能就是基于对象的功能 通过基于对象的程序设计 可以用更直观 模块化和可重复使用的方式进行程序开发 一组包含数据的属性和对属性中包含数据进行操作的方法 称为对象 比如要 设定网页的背景颜色 所针对的对象就是 document 所用的属性名是 bgcolor 如 document bgcolor blue 就是表示使背景的颜色为蓝色 2 5 B S 模式 基于网站管理系统的特性 达到方便的管理和发布 本系统的开发采用了 B S 结构 所有的工作都能通过网络完成 简单易用 2 5 1 采用 B S 开发的优点 当前软件开发基于两种架构的开发 C S Client Server 客户端 服务器 和 B S C S 是指在服务器上安装服务器软件 同时在客户机上安装相应的客户端 使客户端得到相应的服务 客户端应用程序不仅要提供图形化的接口 与客户进行 人机交互 同时还肩负着数据处理 逻辑运算和商业规则处理等任务 显然加重了 客户端应用程序的负担 此外 C S 结构的致命弱点是 如果商业规则 逻辑运算 或者数据处理等发生变化时 原有的客户端应用程序必须重新编译成可执行文件 重新安装到每个客户的计算机上 才可以重新正常的工作 再者 数据库服务器同 样受到约束 它是数据存储管理的场所 负责管理每个客户端请求的连接 Connection 当客户连接多时 可能会超数据库服务器所规定的同时最大连接 数 导致后来打开客户端程序的客户无法存取数据库 随着企业规模的不断增大 其要求的规则将随之增多 应用程序的复杂程度也 就不断提高 这样 传统的 C S 式的架构由于自身的缺陷 严重的制约了其发展 和推广 与此同时 许多企业己经建起了自己的企业内部网 Internet 系统 WWW 网为众多的员工所接受 于是在考虑如何解决 C S 架构存在的问题时 技术人员 提出了 客户端的用户界面 User Interface 全部使用浏览器 通过对效率 处理 响应速度 扩充性和安全性的考虑 专家们最终提出了 B S 三层架构 7 B S 架构 采用 WWW 网的信息传递方式 客户端通过浏览器请求 Web Web 服务器处理 Web 请求 并按需与数据库进行交互 最终将 Web 页面发送到客户端的浏览器 于是客户端通过 Web 得到自己所需的信息 B S 架构的出现 其中一个主要动力 就是为了改善传统的 C S 架构存在的缺点 与 C S 架构相比 B S 架构具有许多优 点 其中主要有以下几个方面的优点 2 系统具有良好的增容性 B S 架构对客户端要求比较低 只需安装 IE4 以上的浏览器软件即可 客户端 接入 Internet 通过了系统认证 得到权限后 就可以得到系统的服务 集中了 C S 架构和基于主机模型 原有的工作站方式 的优点 服务器负责 向用户提供信息和要求的数据 通过客户端浏览器软件 呈现给用户的图形化界面 服务器控制信息的布局和内容 使得信息的控制和管理非常可靠 这是基于主机的 集中管理的优点 然而 客户不仅仅是一个终端 它执行类似信息高速缓存和在本 地存储由用户下载的信息类似这样的任务 因此 B S 处理架构吸取了 C S 架构的 精华 又结合了基于主机的优点 2 系统具有良好的可维护性 由于客户端只需要浏览器 而且程序的运行在服务器上进行 数据库统一集中 管 理 整个系统只有一个主数据库 存放在总部的服务器里 所以当商业逻辑或 者数学运算规则等发生变化时 客户端无需进行任何改动 只需维护服务器上的相 关程序或者组件即可 从而减轻了系统维护与升级的成本和工作量 8 整个软件 的开发可集中在服务器端进行 不必对客户端进行特殊设置和软件安装 降低维护 成本 3 可靠的安全性 由于内网一般都通过防火墙与 Internet 相通 所以任何来自 Internet 的浏览器 提交的请求 都要通过防火墙 得到认证后 方可进入 这虽然不能保证百分之百 的安全 但至少阻断了大多数不当或者恶意的入侵 4 具有优秀的跨平台性和高的信息共享度 超文本链接标示语言 HTML 语言 Hypertext Markup Language 是数据格 式的一个开放标准 大多数流行的操作系统软件都支持 HTML 因而只需在平台 上安装支持 HTML 的相应的浏览器软件 即可享受共享的信息 2 5 2 B S 模式的数据库体系结构 近年来由于 Internet Intranet 技术的发展和普及 各种各样的信息都在 WWW WORLD WIDE WEB 上发布 人们之间的信息沟通比以往变得更为高效快捷 WEB 技术的应用己成为一种必然 但传统的客户机 服务器模式的数据库设计与 WEB 的相关技术互相独立 两者无法进行集成 浏览器 服务器模式的数据库体系 是利用 WEB 服务器和 Java Server Pages 动态服务器网页 以下简称 JSP 作为 数据库操作的中间层 将客户机 服务器模式的数据库结构与 WEB 技术密切结合 从而形成具有三层 WEB 结构的浏览器 服务器模式的数据库体系 具体结构如图 2 1 所示 前端浏览器WEB 服务器后台数据库 图 2 1 三层 WEB 浏览器 服务器模式 工作原理 在前端采用 IE 浏览器将用户提交的操作信息传向 WEB 服务器 然 后通过 JSP 访问后台数据库 操作结果以 HTML 页面的形式返回给前端浏览器 17 3 系统总体设计 3 1 需求分析 随着网络技术的飞速发展 现在很多国外的大学和社会其他部门都已经开设了远 程教育 通过计算机网络实现异地教育和培训 现在 计算机硬件技术的发展已经达 到了相当高的水平 但是 远程教育软件的开发特别是在线考试的应用软件的实现目 前还处于起步阶段 通过设计在线考试系统 学生可以更方便的获取考试信息 简单 的上机进行模拟和正常考试 教师可以远程出题 阅卷和管理试卷 极大的提供了教 育单位的教学单位的质量和效率 本系统用户分为教师 学生 教师主要对学生信息进行管理 管理试卷的生成 维护考题 教师阅卷 报告分析 对学生考试成绩的管理 学生的功能主要是登录到 考试模块进行考试 对自己的考试成绩有查看的权利 3 2 总体设计 3 2 1 功能模块 1 系统功能模块图 系统功能模块图 图 3 1 系统功能模块图 TOS 系统系统 公共管理考试管理管理模块 登陆 注册 修改密码 模拟考试 考试 获取考试报告 控制考试时间成绩查询 用户管理 考试设置 考题管理 报告分析 教师阅卷 18 考试管理子系统主要实现考试管理模块这一部分的功能 2 考试管理子系统功能模块图 考试管理子系统功能模块图 图 3 2 考试管理子系统功能模块图 模拟考试功能 考生登陆后可以通过模拟考试测试 正常考试功能 考生登陆后进行正常的考试 考试成绩会存入数据库 后台负责数据 茆取报告功能 考生进入后可以获取模拟考试和正常考试考过的答郑具体情况 控制时间功能 老师可以通过该功能控制考试时间 3 2 2 数据库结构设计 数据库结构设计是将数据库逻辑结构设计所得到的每个关系进行符号化 使其成 为物理数据库中的数据库表单名称和字段名称 本系统采用 MySQL 作为后台开发工具 并利用其强大的数据库管理功能建立了考试系统数据库 包括各表 视图 储存过程 触发器以及各用户帐号等的创建 下面给出基于 B S 的在线考试系统与逻辑结构对应 的数据库表单结构 1 学生表 student 学生表中存放学生学好号 密码 姓名 学生状态等基本信息 表 3 1 学生表 student 表名表 student 列名数据类型 精度范围 空 非空 约束注释 student idVarchar 8 非空学生编号 不为空 IdInt 非空 PK自定义的一个 id 作 为主键 自增 Student nameVarchar 8 非空学生姓名 不为空 Student passVarchar 10 非空学生密码 不为空 Student statusEnum 0 1 2 非空学生状态 补充说明0 为注册后状态管理员未将其激活 不可登入 1 为可登入 2 为锁 定 考试管理 模拟 考试 正常 考试 控制考 试时间 获取考 试报告 19 2 教师表 teacher 教师表中存放教工编号 教师真实姓名 教师密码 性别 教师电话等教师的相 关信息 表 3 2 教师表 teacher 表名表 teacher 列名数据类型 精度范围 空 非空 约束注释 Teacher numberVarcher 8 非空教师编号 非空 IdInt非空 PK自定义的一个 id 作 为主键 自增 PasswordVarcher 10 非空教师登录密码 PhoneChar 11 教师的电话 NameChar 12 教师的真实姓名 Sexvarchar教师的性别 LockEnum 0 1 statusChar 12非空状态 3 题库信息表 exam question 该表记录了系统内的全部题目 通过 EP id 和 C id 字段作为外键与考试科目表建 立关联 表 3 3 题库信息表 exam question 表名表 exam question 列名数据类型 精度范围 空 非空 约束注释 Exam question idVarcher 10 非空题目编号 不为空 IdInt非空 PK自定义的一个 id 作 为主键 自增 C idINT非空科目表的主键 Ep idINT非空题目所在试卷编号 exam question typeVarcher 20 非空题目的类型 exam question askVarchar 255 非空题干 exam question offerAnswe r Varchar 255 题目的选项 exam question resultVarchar 255 考生所选答案 Exam question pointInt非空题目分值 大于 0 小 20 于 100 4 试卷信息表 exam paper 该表记录了试卷的所有信息 包括试卷编号 试卷所在学期 科目 表 3 4 试卷信息表 exam paper 表名表 exam paper 列名数据类型 精度范围 空 非空 约束注释 Exam paper idVarchar 8 非空试卷编号 8 个字符 不为空 idInt非空 PK自定义的一个 id 作 为主键 自增长 Exam paper nameVarchar 100 非空试卷的名称 不为空 Exam termVarchar 32 非空 Fk试卷所在学期 C idInt非空 Fk科目编号 外键 补充说明 5 成绩信息表 grade 记录该次考试考生考试试卷编号 考试科目 考试学期和试卷分数 表 3 5 成绩信息表 exam paper 表名表 Grade 列名数据类型 精度范围 空 非空 约束注释 Idint非空 PK自定义的一个 id 作 为主键 自增 S idint非空 Fk考试结果表引用学生 表的 ID EP idint非空 Fk考试结果表引用试卷 表的 ID C idInt 非空科目编号 Exam termVarchar 10 非空学期 不为空 Exam scoreInt空总分 补充说明 6 成绩结果表 exam result 21 记录考生考试试卷 试题编号 答题状态 每题分数等 表 3 6 试卷信息表 exam result 表名表 exam result 列名数据类型 精度范围 空 非空 约束注释 idint非空 PK自定义的一个 id 作 为主键 自增长 S idInt非空 Fk考试结果表引用学生 表的 ID EP idint非空 Fk考试结果表引用试卷 表的 ID EQ idInt非空 Fk考试结果表引用题库 表的 ID Result statusVarchar 12 非空结果状态 Exam question scoreint非空分值 根据状态得到 的分值 补充说明 22 4 界面设计与功能模块的实现 4 1 界面设计 1 管理员登陆界面管理员登陆界面 管理员用户登陆成功后使用该系统 图4 1 管理员登陆界面 2 教师考试设置页面教师考试设置页面 该页面主要用来要验证教师的登陆 然后转入相应的操作页面 如下图 4 2 所示 图4 2 教师考试设置页面 3 教师生成试卷页面教师生成试卷页面 教师登入此界面后 可根据题库中的试题生成试卷 删除试卷 同时生成的试卷以 xml 文件的形式保存在当前的项目中 便于考务员管理 如下图 4 3 所示 23 图4 3 教师生成试卷界面 4 考题管理页面考题管理页面 教师登入此界面后 可管理题库中的试题 如查询 更新 删除试 如图4 4所示 图4 4 考题管理界面 5 生成试题页面生成试题页面 进入该界面老师可以生成考试试题 如下图4 5所示 24 图 4 5 生成试题界面 6 考试报告分析页面考试报告分析页面 此界面给教师选择科目 学期进行查询 如图4 6所示 图4 6 报告分析界面 图4 7 报告分析结果界面 25 图4 8 报告分析结果界面 7 学生登陆页面学生登陆页面 学生输入用户名和密码进入学生首页 图4 9 学生登陆界面 8 学生考试界面学生考试界面 点击考试进入考试界面 教师要求学生输入考试的书卷类型和试卷编号 确定后试 题显示在界面上 学生考试答题 如下图 4 10 所示 26 图4 10 学生考试界面 9 学生获取考试报告页面学生获取考试报告页面 学生输入学期和考试试卷名称进入考试报告主界面 如下图 4 11 所示 图4 11 学生获取考试报告界面 10 教师阅卷页面教师阅卷页面 教师登陆后 点击开始阅卷 进入教师阅卷页面 输入要阅卷的试卷号及试题号提 交后获得对应的题目分值 内容 参考答案及学生的学号和答案 若学号及考生答案 为空 则此题无人做答 如下图 4 12 所示 图4 12 教师阅卷界面 11 教师总分页面教师总分页面 教师评分结束后 点击总分 每位学生的最后得分被写入数据库 如下图 4 13 所 示 27 图 4 13 教师总分界面 4 2 典型代码设计 4 2 1 ACTION package com yitong ExamSystem Actions import java sql ResultSet import java util ArrayList import java util Iterator import java util List import com opensymphony xwork2 ActionSupport import com yitong ExamSystem Bo ResultViewBO import com yitong ExamSystem beans ResultView import com yitong ExamSystem util DB public class AnalyzeReportAction extends ActionSupport private ResultViewBO resultViewBO private ResultView rv List rlist new ArrayList List slist new ArrayList public List getRlist return rlist public void setRlist List rlist this rlist rlist public ResultViewBO getResultViewBO return resultViewBO 28 public void setResultViewBO ResultViewBO resultViewBO this resultViewBO resultViewBO public List getSlist return slist public void setSlist List slist this slist slist Override public String execute throws Exception System out println 从数据库中查出学期 传到 showReport jsp 页面中的学期下拉列表中 ResultSet result this resultViewBO searchByExamTerm result last int rownum result getRow result beforeFirst for int i 0 i rownum i result next slist add result getString 1 DB close result 从数据库中查出试卷名 传到 showReport jsp 页面中的试卷名称下拉列表中 ResultSet rs this resultViewBO searchByExamName rs last int row rs getRow rs beforeFirst for int i 0 i row i rs next rlist add rs getString 1 DB close rs return SUCCESS package com yitong ExamSystem Actions import java io InputStream import java sql ResultSet import java util Map 29 import com opensymphony xwork2 ActionContext import com opensymphony xwork2 ActionSupport import com yitong ExamSystem Bo GradeViewBO public class GenerateExcelAction extends ActionSupport private GradeViewBO gradeViewBO private ResultSet resultSet public ResultSet getResultSet return resultSet public void setResultSet ResultSet resultSet this resultSet resultSet public GradeViewBO getGradeViewBO return gradeViewBO public void setGrad
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市绿化中昆虫的作用研究-洞察及研究
- 网络切片技术在车联网中的应用-洞察及研究
- 端点保护技术的创新与挑战-洞察及研究
- 评估模型与方法研究-洞察及研究
- 虚拟现实中的历史与文化背景在珠宝设计中的应用-洞察及研究
- 课程文化数字记忆-洞察及研究
- 2026届山西省晋中市数学七上期末综合测试试题含解析
- 山东省临沭县2026届数学八年级第一学期期末调研试题含解析
- 2026届湖南省怀化市会同一中学、溆浦一中学数学九上期末检测模拟试题含解析
- 江苏省无锡市钱桥中学2026届八年级数学第一学期期末学业水平测试模拟试题含解析
- 传染病学课件:霍乱完整版
- 化疗在晚期肺癌治疗中的应用讲解课件
- 十七世纪英国资产阶级革命
- 班主任专业化和家长资源开发韩似萍
- 【2019年整理】渠明清时期迁入姓氏探源
- 2023年Flexsim仿真实验报告
- WS/T 102-1998临床检验项目分类与代码
- 全国一等奖初中语文优质课《背影》精品课件
- 普通高等医学教育非直属附属医院认定标准测评表(普通高等医学院校临床教学基地建设与医学教育临床基地建设)
- 客户回访方案
- 贵州省公路路产损害赔(补)偿收费项目及标准
评论
0/150
提交评论