H2003032101-韩光毕业论文--Smart系统-考试管理及成绩查询模块的设计与开发_第1页
H2003032101-韩光毕业论文--Smart系统-考试管理及成绩查询模块的设计与开发_第2页
H2003032101-韩光毕业论文--Smart系统-考试管理及成绩查询模块的设计与开发_第3页
H2003032101-韩光毕业论文--Smart系统-考试管理及成绩查询模块的设计与开发_第4页
H2003032101-韩光毕业论文--Smart系统-考试管理及成绩查询模块的设计与开发_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

分类号 分类号 TP311 1TP311 1 U U D D C C D10621 408 2007 D10621 408 2007 0 0 密密 级 公级 公 开开 编编 号 号 20030321012003032101 成成 都都 信信 息息 工工 程程 学学 院院 学学 位位 论论 文文 SmartSmart 系统系统 考试管理及成绩查询模块的设计与开发考试管理及成绩查询模块的设计与开发 论文作者姓名 论文作者姓名 韩光韩光 申请学位专业 申请学位专业 网络工程网络工程 申请学位类别 申请学位类别 工学学士工学学士 指指导导教教师师姓姓名名 职职称称 李谊瑞 研究员 李谊瑞 研究员 论文提交日期 论文提交日期 20072007 年年 0606 月月 0505 日日 SmartSmart 系统系统 考试管理及成绩查询模块的设计与开发考试管理及成绩查询模块的设计与开发 摘摘 要要 本文所涉及的系统是根据现代教育的需求所设计的一个在线考试系统 主要是基于Struts Spring Hibernate作为平台搭建的框架开发的一套软 件 本次设计作为Smart项目的一个组成部分 主要设计和开发了其中的两个 主要模块 考试管理及成绩查询模块 论文首先介绍了背景和相关的理论知 识 其次列出了根据需求而提出的设计方案 然后详细阐述了系统设计与实现 过程 包括数据库设计 新建考试信息管理 新建阅卷组管理和成绩查询 通过本系统的应用 可以满足目前教育模式的评估需求 对教育评估的发展 起到一定的促进作用 随着系统的不断深开发 会有更好 更完善的软件系统应用到远程教育 当中去 正在给传统教育模式带来新的变革 并对教育的发展形成新的推动 力 关键词关键词 Struts Spring Hibernate 考试管理 成绩查询 评估 The Smart System The Design and Implementation of the Examination Management and Score Inquiry Module Abstract This paper mainly introduces the online examination system which the modern education demands This software mainly takes the platform based on Struts Spring Hibernate frame This design is one part of the Smart Project mainly designs and develops two main modules the examination management and the score inquiry module The paper first introduced the background and the relation theories knowledge Then it listed the design proposal which proposed according to the demands and elaborate the system design and the realization process in detail Including the database design the information management of a new examination the groups management of testing paper and the score inquiry Through this system application it may satisfy the education appraisal demand and promote the educational evaluation development Along with the system development it can be used in the remote education as the better software system it can take the new change for the traditional education pattern and make the new propelling force to the education development Key words Struts Spring Hibernate Examination management Score inquiry module Appraisal 目目 录录 论文总页数 26 页 1引言 1 1 1课题背景 1 1 2国内现状 1 1 3本课题研究的意义 1 2相关理论知识及其技术 2 2 1系统开发环境与技术 2 2 2架构介绍 2 2 2 1 Struts 2 2 2 2 spring 简介 3 2 2 3 Hibernate 简介 5 2 2 4 SQLServer 2000 简介 5 2 2 5 JSP 组件 6 2 2 6 Tomcat 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 4 系统设计与实现 9 4 1 数据库设计 9 4 1 1 考试管理数据库 ER 图及其数据库表 9 4 1 2 阅卷组数据库 ER 图及其数据库表 15 4 1 3 成绩查询模块数据库 ER 图及其数据库表 16 4 2 系统实现 18 4 2 1 考试管理模块实现 18 4 2 2 成绩查询模块实现 22 5 测试 23 5 1 测试环境 23 5 2 测试结果 23 结 论 23 参考文献 24 致 谢 25 声 明 26 第 1 页 共 26 页 1 引言引言 1 11 1课题背景课题背景 随着网络技术的飞速发展 现在很多国外的大学和社会其他部门都已经开 设了远程教育 通过计算机网络实现异地教育和培训 现在 计算机硬件技术 的发展已经达到了相当高的水平 但是 在线考试软件的开发目前还处于起步 阶段 随着这项技术的不断深入发展 就要求有更好 更完善的软件系统应用 到在线考试当中去 正在给传统教育模式带来新的变革 并对教育的发展形成 新的推动力 本文以 Internet 为平台 研究了基于 Web 考试系统 考试管理及成绩查询 模块的设计与开发 包括系统需求分析和系统功能设计以及数据库设计 重点 阐述了考试管理及成绩查询模块的设计 1 21 2国内现状国内现状 在我国 虽然远程教育已经蓬勃地发展起来 但是目前学校与社会上的各 种考试大都采用传统的考试方式 在此方式下 组织一次考试至少要经过五个 步骤 即人工出题 考生考试 人工阅卷 成绩评估和试卷分析 随着考试类 型的不断增加及考试要求的不断提高 教师的工作量将会越来越大 并且其工 作将是一件十分烦琐和非常容易出错的事情 可以说传统的考试方式已经不能 适应现代考试的需要 1 31 3本课题研究的意义本课题研究的意义 随着计算机应用的迅猛发展 网络应用不断扩大 如远程教育和虚拟大学 的出现等等 且这些应用正逐步深入到千家万户 人们迫切要求利用这些技术 来进行在线考试 以减轻教师的工作负担及提高工作效率 与此同时也提高了 考试的质量 从而使考试更趋于公证 客观 更加激发学生的学习兴趣 在线考试是现阶段研究开发的一个热点 它是建立在国际互联网上的应用 系统 客户端的配置可以极为简单 使考试不受地域的局限 一个完备的在线 考试系统可以使用户在网上学习过后及时检验自己的学习效果 已发现自己的 不足 使得学习效率得到很大提高 只要形成一套成熟的题库和生成试卷的自 动化就可以实现考试的自动化 可以使教师方便的出卷 为教师提供很大的方 便 这样一来 教师所要做的只是精心设计题目 维护题库 智能出卷就可以 了的 从而大大减轻了教师的负担 这表明其经济性是相当可观的 为了适应 新形势的发展 我进行了这一系统的初步设计工作 也可以说是做一个初步的 探索 希望它能够在各类考试中发挥高效 便捷的作用 把老师从繁重的工作中 解脱出来 第 2 页 共 26 页 2相关理论知识及其技术相关理论知识及其技术 2 12 1 系统开发环境与技术系统开发环境与技术 集成开发环境 JDK5 0 Eclipse3 1 MyEclipse4 0 开发语言 Java SQL 2 22 2架构介绍架构介绍 本系统采用 struts spring 管理的 hibernate 作为平台框架搭建的 JSP或者其他视图 生成HTML WEB层 处理用户 输入 调用业务 层 选择视图 业务层 主要事务 及业务逻辑 DAO接口及实现层 Hibernate平台数据库 Spring平台 利用Struts框架包实现了 整个WEB层的MVC架构 图 1 系统架构图 2 2 12 2 1 Struts 1 MVC 设计模式 MVC 是一种设计模式 他强制性的把应用程序的输入 处理和输出分开 MVC 把应用程序分成三个核心模块 模型 视图和控制器 他们分别担负不同 的任务 下图显示了这几个模块各自的功能以及它们的相互关系 用户请求 图 2 MVC 设计模式 View 显示模型状态 接受数据更新请求 把用户输入数据传给控制器 Model 代表应用程序状态 响应状态查询 处理业务流程 通知视图业务状态更新 Controller 接受用户请求 调用模型响应用户请求 选择视图显示响应结果 选择视图 状态查询 通知数据库更新 第 3 页 共 26 页 2 Struts 概述 Struts 最早是作为 Apache Jakarta 项目的组成部分问世运做 项目的创立者 希望通过对该项目的研究 改进 提高 Java Server Pages JSPs Servlet 标签 库以及面向对象的技术水准 Struts 这个名字来源于在建筑和旧式飞机中使用的支持金属架 它的目的是 为了帮助开发者减少在运用 MVC 设计模型来开发 Web 应用的时间 开发者仍 然需要学习和应用该架构 不过它将可以完成其中一些繁重的工作 如果想混 合使用 Servlet 和 JSP 的优点来建立可扩展的应用 Struts 是一个不错的选择 Struts 是 MVC 的一种实现 它将 Servlet 和 JSP 标记 属于 J2EE 规范 用作实现的一部分 Struts 继承了 MVC 的各项特性 并根据 J2EE 的特点 做 了相应的变化与扩展 优点 Struts 跟 Tomcat Turbine 等诸多 Apache 项目一样 是开源软件 这是它 的一大优点 使开发者能更深入的了解其内部实现机制 除此之外 Struts 的优点主要集中体现在两个方面 Taglib 和页面导航 Taglib 是 Struts 的标记库 灵活动用 能大大提高开发效率 另外 就目前国 内的 JSP 开发者而言 除了使用 JSP 自带的常用标记外 很少开发自己的标记 或许 Struts 是一个很好的起点 关于页面导航 估计是今后的一个发展方向 事实上 这样做 使系统的 脉络更加清晰 通过一个配置文件 即可把握整个系统各部分之间的联系 这 对于后期的维护有着莫大的好处 尤其是当另一批开发者接手这个项目时 这 种优势体现得更加明显 缺点 Taglib 是 Struts 的一大优势 但对于初学者而言 却需要一个持续学习的 过程 甚至还会打乱初学者网页编写的习惯 但是 当习惯了它时 会觉得它 真的很棒 Struts 将 MVC 的 Controller 一分为三 在获得结构更加清晰的同时 也增 加了系统的复杂度 Struts 已逐步越来越多运用于商业软件 虽然它现在还有不少缺点 但它是 一种非常优秀的 J2EE MVC 实现方式 如果系统准备采用 J2EE MVC 架构 那 么 不妨考虑一下 Struts 2 2 22 2 2 spring 简介简介 Spring 是一个开源框架 是为了解决企业应用程序开发复杂性而创建的 第 4 页 共 26 页 框架的主要优势之一就是其分层架构 分层架构允许您选择使用哪一个组件 同时为 J2EE 应用程序开发提供集成的框架 Spring 框架由 7 个定义良好的 模块组成 Spring 模块构建在核心容器之上 核心容器定义了创建 配置和管 理 bean 的方式 如图 3 所示 图 3 Spring 框架 组成 Spring 框架的每个模块 或组件 都可以单独存在 或者与其他一 个或多个模块联合实现 每个模块的功能如下 核心容器 核心容器提供 Spring 框架的基本功能 核心容器 的主要组件是 BeanFactory 它是工厂模式的实现 BeanFactory 使用控 制反转 IOC 模式将应用程序的配置和依赖性规范与实际的应用程 序代码分开 Spring 上下文 Spring 上下文是一个配置文件 向 Spring 框 架提供上下文信息 Spring 上下文包括企业服务 例如 JNDI EJB 电 子邮件 国际化 校验和调度功能 Spring AOP 通过配置管理特性 Spring AOP 模块直接将面向 方面的编程功能集成到了 Spring 框架中 所以 可以很容易地使 Spring 框架管理的任何对象支持 AOP Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务 通过使用 Spring AOP 不用 依赖 EJB 组件 就可以将声明性事务管理集成到应用程序中 Spring DAO JDBC DAO 抽象层提供了有意义的异常层次结构 可用该结构来管理异常处理和不同数据库供应商抛出的错误消息 异常 层次结构简化了错误处理 并且极大地降低了需要编写的异常代码数量 例如打开和关闭连接 Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构 Spring ORM Spring 框架插入了若干个 ORM 框架 从而提 供了 ORM 的对象关系工具 其中包括 JDO Hibernate 和 iBatis SQL Map 所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构 第 5 页 共 26 页 Spring Web 模块 Web 上下文模块建立在应用程序上下文模块之 上 为基于 Web 的应用程序提供了上下文 所以 Spring 框架支持与 Jakarta Struts 的集成 Web 模块还简化了处理多部分请求以及将请求参 数绑定到域对象的工作 Spring MVC 框架 MVC 框架是一个全功能的构建 Web 应用 程序的 MVC 实现 通过策略接口 MVC 框架变成为高度可配置的 MVC 容纳了大量视图技术 其中包括 JSP Velocity Tiles iText 和 POI Spring 框架的功能可以用在任何 J2EE 服务器中 大多数功能也适用于不 受管理的环境 Spring 的核心要点是 支持不绑定到特定 J2EE 服务的可重用 业务和数据访问对象 毫无疑问 这样的对象可以在不同 J2EE 环境 Web 或 EJB 独立应用程序 测试环境之间重用 2 2 32 2 3 Hibernate 简介简介 Hibernate 是一个开放源代码的对象关系映射框架 它对 JDBC 进行了非常 轻量级的对象封装 它使得与关系数据库打交道变得十分轻松 就像您的数据 库中包含每天使用的普通 Java 对象一样 使得 Java 程序员可以随心所欲的使用 对象编程思维来操纵数据库 Hibernate 可以应用在任何使用 JDBC 的场合 既可以在 Java 的客户端程序实用 也可以在 Servlet JSP 的 Web 应用中使用 最具革命意义的是 Hibernate 可以在应用 EJB 的 J2EE 架构中取代 CMP 完成 数据持久化的重任 2 2 42 2 4 SQLServer 2000 简介简介 Server 是一个关系数据库管理系统 它最初是由Microsoft Sybase 和 Ashton Tate三家公司共同开发的 于1988 年推出了第一个OS 2 版本 在 Windows NT 推出后 Microsoft 与Sybase 在SQL Server 的开发上就分道扬镳 了 Microsoft 将SQL Server 移植到Windows NT 系统上 专注于开发推广SQL Server WindowsNT 版本 SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统 该版本继承了SQL Server 7 0 版本的优点 同时又比它增加 了许多更先进的功能 具有使用方便 可伸缩性好与相关软件集成程度高等优 点 SQL Server 不但可以应用于大中型数据库管理中 建立分布式关系数据库 并且也可以开发桌面数据库 事实上 SQLServer 数据库处理的基本结构 采 取关系型数据库模式 尽管如此 相信大家都可以轻易的发现 在SQL Server 的数据库处理方式 则是使用面向对象的操作方式与精神 也就是说 SQL Server 的所有功能 都可以基于系统已经建立好的一些对象来达成 是相当 OO 面向对象 的一个系统结构 SQL Server 企业管理器是 SQL Server 的主 第 6 页 共 26 页 要管理工具 它提供了一个遵从MMC 标准的用户界面 使用户得以 定义 SQL Server 实例组 为每个已注册的服务器配置所有 SQL Server 选项 在每个已注册的服务器中创建并管理所有 SQL Server 数据库 对象 登录 用户和权限 在每个已注册的服务器上定义并执行所有 SQL Server 管理任务 通过唤醒调用 SQL 查询分析器 交互地设计并测试 SQL 语句 批处 理和脚本 唤醒调用为 SQL Server 定义的各种向导 2 2 52 2 5 JSP 组件组件 在传统的 HTML 文件中加入 JAVA 程序片段和 JSP 标签 就构成了 JSP 网 页 JAVA 程序片段可以操作数据库 重定向网页以及发送 E MAIL 等 实现 建立动态望站所需要的功能 所有程序操作都在服务器端执行 网络上传送给 用户端的仅仅为输出结果 JSP 技术大大降低了对用户浏览器的要求 即使用 户浏览器端不支持 Java 也可以访问 JSP 网页 当 JSP 容器接受到 WEB 用户的一个 JSP 文件请求时 它对 JSP 文件进行 语法分析并生成 JAVA Servlet 源文件 然后对其进行编译 一般情况下 Servlet 源文件的生成和编译仅在初次调用 JSP 时发生 如果原始的 JSP 文件被 更新了 JSP 容器将检测所做的更新 在执行他之前重新生成 Servlet 并惊醒编 译 下图显示了 JSP 容器初次执行 JSP 的过程 尽管 JSP 在本质上是 Servlet 但这两者的创建方式不一样 Servelet 完全由 java 程序代码构成 擅长于流程 控制和事务处理 而通过 Servlet 来生成动态网页很不直观 JSP 由 HTML 代码 和 JSP 标签构成可以方便的编写动态网页 因此在实际应用中 采用 Servlet 来 控制业务流程 而采用 JSP 来生成动态网页 在 Struts 框架中 JSP 位于 MVC 设计模式的视图层 而 Servlet 位于控制层 浏览器 JSP 容器 JSP 文件 生成 Servlet 源代码 经编译的 Servlet 类 请求 响应 第 7 页 共 26 页 图 4 JSP 容器初次执行 JSP 的过程 2 2 62 2 6 Tomcat Tomcat 是一个免费的开源的 Servlet 容器 它是 Apache 基金会的 Jakarta 项 目中的一个核心项目 由 Apache Sun 和其它一些公司及个人共同开发而成 由于有了 Sun 的参与和支持 最新的 Servlet 和 Jsp 规范总能在 Tomcat 中得到 体现 Tomcat 被 JavaWorld 杂志的编辑选为 2001 年度最具创新的 java 产品 可见其在业界的地位 Tomcat 最新版本是 5 0 x Tomcat5 0 x 中采用了新的 Servlet 容器 Catalina 完整的实现了 Servlet2 3 和 Jsp1 2 规范 Tomcat 提供了各种平台的版 本供下载 可以从 http jakarta apache org 上下载其源代码版或者二进制版 由 于 Java 的跨平台特性 基于 Java 的 Tomcat 也具有跨平台性 与传统的桌面应 用程序不同 Tomcat 中的应用程序是一个 WAR Web Archive 文件 WAR 是 Sun 提出的一种 Web 应用程序格式 与 JAR 类似 也是许多文件的一个压 缩包 这个包中的文件按一定目录结构来组织 通常其根目录下包含有 Html 和 Jsp 文件或者包含这两种文件的目录 另外还会有一个 WEB INF 目录 这个 目录很重要 通常在 WEB INF 目录下有一个 web xml 文件和一个 classes 目录 web xml 是这个应用的配置文件 而 classes 目录下则包含编译好的 Servlet 类和 Jsp 或 Servlet 所依赖的其它类 如 JavaBean 通常这些所依赖的类也可以打包 成 JAR 放到 WEB INF 下的 lib 目录下 当然也可以放到系统的 CLASSPATH 中 但那样移植和管理起来不方便 在 Tomcat 中 应用程序的部署很简单 你只需将你的 WAR 放到 Tomcat 的 webapp 目录下 Tomcat 会自动检测到这个 文件 并将其解压 你在浏览器中访问这个应用的 Jsp 时 通常第一次会很慢 因为 Tomcat 要将 Jsp 转化为 Servlet 文件 然后编译 编译以后 访问将会很 快 另外 Tomcat 也提供了一个应用 manager 访问这个应用需要用户名和密 码 用户名和密码存储在一个 xml 文件中 通过这个应用 辅助于 Ftp 你可 以在远程通过 Web 部署和撤销应用 当然本地也可以 在 Tomcat5 中 你还可以利用 Servlet2 3 提供的事件监听器功能 来对你 的应用或者 Session 实行监听 Tomcat 也提供其它的一些特征 如与 SSL 集成 到一块 实现安全传输 还有 Tomcat 也提供 JNDI 支持 这与那些 J2EE 应用 服务器提供的是一致的 说到这里我们要介绍一下通常所说的应用服务器 如 WebLogic 与 Tomcat 有何区别 应用服务器提供更多的 J2EE 特征 如 EJB JMS JAAS 等 同时也支持 Jsp 和 Servlet 而 Tomcat 则功能没有那么强 大 它不提供 EJB 等支持 但如果与 JBoss 一个开源的应用服务器 集成到 一块 则可以实现 J2EE 的全部功能 既然应用服务器具有 Tomcat 的功能 那 第 8 页 共 26 页 么 Tomcat 有没有存在的必要呢 事实上 我们的很多中小应用不需要采用 EJB 等技术 Jsp 和 Servlet 已经足够 这时如果用应用服务器就有些浪费了 而 Tomcat 短小精悍 配置方便 能满足我们的需求 这种情况下我们自然会选择 Tomcat 基于 Tomcat 的开发其实主要是 Jsp 和 Servlet 的开发 开发 Jsp 和 Servlet 非常简单 你可以用普通的文本编辑器或者 IDE 然后将其打包成 WAR 即可 我们这里要提到另外一个工具 Ant Ant 也是 Jakarta 中的一个子项目 它所实 现的功能类似于 Unix 中的 make 你需要写一个 build xml 文件 然后运行 Ant 就可以完成 xml 文件中定义的工作 这个工具对于一个大的应用来说非常好 我们只需在 xml 中写很少的东西就可以将其编译并打包成 WAR 事实上 在 很多应用服务器的发布中都包含了 Ant 另外 在 Jsp1 2 中 可以利用标签库 实现 Java 代码与 Html 文件的分离 使 Jsp 的维护更方便 3 3需求分析和设计方案需求分析和设计方案 3 13 1 考试管理考试管理 3 1 13 1 1 考试管理需求分析考试管理需求分析 考试管理是考试前准备非常重要的一部分 新建一门考试它基于前面的公 共资源设置 出卷等模块 把与考试信息相关的东西综合起来 放到一张表中 生成一门信息完整的考试 并且设置考试开始和结束时间 还有发卷时间 每 门考试关联到哪张试卷 为后面的考试模块做了铺垫 阅卷组设置是因为试卷 中有主观题和客观题 客观题可以自动阅卷 但是主观题就要老师阅卷 这时 候 阅卷组把需要阅卷的试卷和老师组成的阅卷组关联起来 实现人工阅卷 3 1 23 1 2 考试管理设计方案考试管理设计方案 新建一门考试 首先在第一个页面显示已经存在的考试 点添加后 进入 到新建考试页面 在页面的上面可以选择考试类型和试卷类型 紧接着可以选 择学年和学期 这样设计是为了确定每次考试的唯一性 下面可以进行省 市 区县 学校 年级 科目的选择 这些字段在后台通过字符串相加 可以得到 考试名称 和学年 学期一起确定每次考试的唯一性 还可以进行适用班级的 选择 因为考虑到可能存在文科和理科班虽然有的科目一样 但是题的难度不 一样 所以每门考试都设置了适用班级 考试开始时间和结束时间的作用是在 后台调用公共的方法 两个时间的差值作为考试时长 发卷时间比考试开始时 间要提前 5 10 分钟 是为了让考生有充分的时间浏览一下整套试卷 然后点保 存 一门考试就建立好了 阅卷组 首先在第一个页面显示的是已经关联好了的考试和阅卷组 点击 添加阅卷组可以添加一个阅卷组 然后可以设置需要进行阅卷的考试和阅卷组 第 9 页 共 26 页 进行关联 3 23 2 成绩查询成绩查询 3 2 13 2 1 成绩查询模块需求分析成绩查询模块需求分析 既然是考试系统 肯定涉及到成绩 成绩查询模块就是方便学生对自己已 经考过的科目进行一下自我评定 这里可以看到自己所有的历史试卷 并且可 以知道每道题的得分情况 使考生对自己的情况有一个大致的了解 针对自己 的弱项进行复习 这样可以做到有的放矢 3 2 23 2 2 成绩查询模块设计方案成绩查询模块设计方案 首先确定用户的登陆身份 如果是学生登陆的话 展现给学生的是自己所 有的历史考试科目 成绩 以及使用的哪一套试卷 当点击该试卷时 弹出来 的是该整套试卷 并且可以看到自己每道题的得分情况 使考生对自己有一个 整体的了解 并在以后的考试中有一个努力的方向 4 4 系统设计与实现系统设计与实现 4 14 1 数据库设计数据库设计 4 1 14 1 1 考试管理数据库考试管理数据库 ER 图及其数据库表图及其数据库表 图 5 考试管理模块的数据库 ER 图 学校相关 第 10 页 共 26 页 图 6 考试管理模块的数据库 ER 图 考试相关 表 1 省级名称表 smart province 字段名类型说明约束备注 province idbigint标志Not null province nameVarchar 50 省名Not null remarkVarchar 500 备注 表 2 市级名称表 smart city 字段名类型说明约束备注 city idBigint标志Not null city nameVarchar 50 城市名Not null refer provinceBigint相关省Not null连接 smart province remarkVarchar 500 表 3 县级名称表 smart county 字段名类型说明约束备注 county idBigint标志Not null 第 11 页 共 26 页 county nameVarchar 50 县名Not null refer provinceBigint相关省Not null连接 smart province refer cityBigint相关城市Not null连接 smart city remarkVarchar 500 表 4 学校名称表 smart school 字段名类型说明约束备注 school idBigint标志Not null school provinceBigint相关省连接 smart province school cityBigint相关城市连接 smart city school countyBigint相关县连接 smart county school nameVarchar 100 学校名Not null school descVarchar 1000 学校描述 remarkVarchar 500 备注 表 5 物理年级表 smart real grade 字段名类型说明约束备注 grade idbigint标志Not null grade nameVarchar 50 年级名称Not null grade descVarchar 1000 年级描述 refer logic gradeBigint相关逻辑年级Not null连接 smart logic grade refer school idBigint相关学校Not null连接 smart school remarkVarchar 500 表 6 班级表 smart class 字段名类型说明约束备注 class idbigint标志Not null class nameVarchar 50 班名称Not null class numberVarchar 100 班级编号Not null 第 12 页 共 26 页 refer gradeBigint相关年级 物理 Not null连接 smart real grade class descVarchar 1000 班描述 remarkVarchar 500 refer teacherBigint班主任连接 smart user 表 7 课程表 smart course 字段名数据类型说明非空限制备注 course idbigint自增 idNot null course noVarchar 16 主键Not null course nameVarchar 50 课程名称Not null ref grade noVarchar 16 年级外键Not null连接 smart real grade section countInt章节数量 remarkVarchar 500 备注 表 8 试卷类型表 期末 期中等 code 字段名类型说明约束备注 code idVarchar 16 标志Not null code nameVarchar 50 代码名称Not null存的是试卷类型名称 code typeVarchar 100 代码类型Not null code valueVarchar 50 代码值Not null code moduleVarchar 50 代码的相 关模块 Not null code noVarchar 16 代码编号 versionInt版本号 remarkVarchar 500 表 9 考试类别表 自由 统一等 smart examtype 字段名类型说明约束备注 examtype noVarchar 16 标志Not null Examtype codeVarchar 50 考试类型代码Not null 第 13 页 共 26 页 Examtype yearVarchar 50 考试年份 examtype termVarchar 50 考试学期 examtype nameVarchar 50 考试类型名称Not null versionInt版本号 remarkVarchar 500 表 10 试卷列表 Smart exam paper list 字段名类型说明约束备注 exam paper idVarchar 16 自增 id 主键 Not null Ref Exam grade noVarchar 16 使用年级外键Not null连接 smart real grade Ref Exam subject noVarchar 16 使用科目外键Not null exam paper dateVarchar 50 生成时间Not null Ref teacher noVarchar 16 生成该试卷的老师Not null single choice numInt单选题数目 multi choice numInt多选题数目 Judgement numInt判断题数目 Jiand numInt简答题数目 Jis numInt计算题数目 Yued numInt阅读理解题数目 Tiank numInt填空题数目 ChutfshVarchar 50 出题方式 Exam name noVarchar 16 试卷名称 NoNot null连接 smart exam Paper typeVarchar 16 试卷类型Not null连接 code Span signInt跨年纪标志 Span setFloat各个年级知识点范 围设定 Ref school noVarchar 16 学校外键Not null Totle single scoreFloat单选总分 Total yued scoreFloat阅读总分 第 14 页 共 26 页 Total mul scoreFloat多选总分 Total jiand scoreFloat简答总分 Total tiank scoreFloat天空总分 Total judge scoreFloat判断总分 exam paper nameVarchar 50 试卷名称Not null Total ScoreInt试卷总分Not null Total NumInt试题总数Not null createByVarchar 50 出卷人名称Not null 表 11 考试表 smart exam 字段名类型说明约束备注 exam idBigint标志Not null exam nameVarchar 1000 考试名称Not null refer exam paperVarchar 16 试卷Not null连接 code refer examtype idVarchar 16 试卷类型Not null连接 smart examtype start timeDatetime开始时间Not null end timeDatetime结束时间Not null send timeDatetime发卷时间 exam delayBigint考试时长 class noVarchar 16 相关班级连接 smart class course noVarchar 16 相关课程连接 smart course exam descVarchar 500 考试描述 remarkVarchar 500 第 15 页 共 26 页 4 1 24 1 2 阅卷组数据库阅卷组数据库 ERER 图及其数据库表图及其数据库表 图 7 阅卷组的数据库 ER 图 表 12 阅卷组表 smart paper check group 字段名类型说明约束备注 group idBigint标志Not null group nameVarchar 50 名称Not null group descVarchar 500 描述 refer examBigint总分 表 13 阅卷组成员与阅卷组对应表 smart user check group 字段名类型说明约束备注 refer idBigint标志Not null user idBigint相关阅卷人Not null连接 smart user group idBigint相关阅卷组Not null连接 smart exam group 表 14 老师表 smart teacher 字段名类型说明约束备注 Teacher noVarchar 16 标志Not null Teacher idBigint老师 IDNot null Teacher nameVarchar 50 老师名字Not null uinVarchar 50 用户类别 Record numberInt版本号 第 16 页 共 26 页 Ref school numberVarchar 16 相关学校Not null连接 smart school Teacher subjectVarchar 16 相关科目Not null连接 Smart course remarkVarchar 500 4 1 34 1 3 成绩查询模块数据库成绩查询模块数据库 ERER 图及其数据库表图及其数据库表 图 8 成绩查询模块数据库 ER 图 表 15 学生表 smart student 字段名类型说明约束备注 student noVarchar 16 标志Not null student idBigint学生 IDNot null uinVarchar 50 用户类别Not null连接 code ref grade noVarchar 16 相关年级Not null连接 smart real grade ref class noVarchar 16 相关班级Not null连接 Smart class ref school noVarchar 16 相关学校Not null连接 Smart school student nameVarchar 50 学生姓名Not null register dateDatetime注册时间 record numberInt版本号 remarkVarchar 500 第 17 页 共 26 页 表 16 考试结果表 smart exam result 字段名类型说明约束备注 smart exam result id Varchar 16 标志Not null exam paper noVarchar 16 试卷号Not null连接 Smart exam paper list exam paper questi on no Varchar 16 试题号Not null连接 smart exam paper question list exam nameVarchar 1000 考试名称Not null student noVarchar 16 学生 NONot null连接 Smart student student nameVarchar 50 学生姓名Not null AnswerVarchar 50 试题答案 ScoreFloat试题得分 is rightInt是否正确 record numberInt版本号Not null remarkVarchar 500 表 17 考试结果统计表 smart exam stat result 字段名类型说明约束备注 smart exam stat res ult id Varchar 16 标志Not null exam paper noVarchar 16 试卷号Not null连接 Smart exam paper list student noVarchar 16 学生 NONot null连接 smart exam paper question list exam nameVarchar 500 考试名称Not null student nameVarchar 50 学生姓名Not null single choice scoreFloat单选题得分 multi choice score Float多选题得分 judgement scoreFloat判断题得分 score totalFloat总分 record numberInt版本号Not null remarkVarchar 500 第 18 页 共 26 页 4 24 2 系统实现系统实现 4 2 14 2 1 考试管理模块实现考试管理模块实现 图 9 已经存在的考试 图 9 显示的是已经存在的考试 可以点击考试类型 触发修改功能 还可 以进行删除操作 如果想新增加一门考试 点添加按钮 图 10 添加考试页面 这个页面主要实现的就是添加一门考试 考试类型和试卷类型是从 Smart examtype 和 code 表中读出来的 学年和学期是在公共资源中设置的 这 4 项都 是通过下拉框读取前面录入的值 接下来是设置学校相关信息 如图 2 所示 这里是用 AJAX 技术 每点击一个下拉框则触发下一级 班级那里是将标签中的 属性加了一个 multiple multiple 属性 可以进行多项选择 然后通过分隔符 存到一个字段里面 读取的时候在将每个字段解析出来 考试开始时间和结束 时间的录入是在后台进行了一次字符串相减 这样就可以得出考试时长 发卷 时间的录入要比考试开始时间提前 5 10 分钟 这样可以给考生有足够的时间浏 览试卷 在这里还有一个就是考试名称 为了以后评估和成绩查询 必须确定 每门考试的唯一性 我用的方法是将前面的下拉框中的值读取 然后在后台进 行一次字符串相加 正如图 9 中显示的考试名称一样 下面是部分代码及介绍 首先就是第一个页面 初始化加载是使用后台 Action 中的 init 方法初始 第 19 页 共 26 页 化页面 public ActionForward init ActionMapping mapping ActionForm form HttpServletRequest request HttpServletResponse response throws Exception initNewPage request 显示保存与退出按扭 这里设置了相应的权限 List result List this call new Carrier null BusinessConstants EXAM NEW EXAM BUSINESS SearchExamNewIndex request getSession setAttribute resultList result 如果有新建一些考试的话 在加载出来的时候就有一个列表 中间部分省略 SmartExam smartExam SmartExam this call new Carrier params BusinessConstants EXAM NEW EXAM BUSINESS LoadexamId 通 过后台的 business 中调用 LoadexamId 方法 中间部分省略 initEditPage request 这里设置了相应

温馨提示

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

评论

0/150

提交评论