资源目录
压缩包内文档预览:
编号:512845
类型:共享资源
大小:4.76MB
格式:ZIP
上传时间:2015-11-11
上传人:QQ28****1120
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
6
积分
- 关 键 词:
-
毕业设计
- 资源描述:
-
教学管理系统设计,毕业设计
- 内容简介:
-
ntsntsnts0319102206 答辩材料 0319102206 Tim Defence 2007.6.7 nts系统概要 本系统运用 J2EE中的 JSP MODEL2的 MVC ( MODEL+VIEW+CONTROL)模型,运用 Eclipse3.1.8 + Tomcat5.0 + JDK5.0 + MSSQL 的组合开发平台开发测试。 B/S架构,在系统设计、实施上运用软件工程的思想,完全依照瀑布模型来编写设计文档。利用流程图, UML图等工具来设计程序,以避免逻辑上的错误。运用 PowerDesigner工具进行数据库的设计,运用 JUnit工具进行编写测试用例,进行单元测试和集成测试。在界面上运用 Ajax技术来实现 XML文件存放数据,并以人性化的控件完成复杂的业务流程。考虑到排课任务的繁重,设计了自动排课算法,可以完成特定需求的排课。优雅的分层设计、美观的页面设计、功能间低耦合、 SQL及算法语句的优化让系统增色不少。 系统名称:理学院教务管理系统 ntsMVC结构图 浏览器 browser 数据库 DataBase JSP servlet JavaBean View Model request response Control nts数据库物理设计图 nts控件设计与数据交互 1. 页面分层设计 ,没有冗余的页面; 2. 页面分页设计 ,减少用户拖拉滚动条的烦恼,每次取出当前页的数 据,减少数据库到系统的数据传输量,节省时间。 3. 数据库中的数据取出存放在 XML文件中,使架构更优美; nts权限模块设计 权限问题有多种解决方案,最系统的比如 Windows的用户组分类。为了减轻工作量和复杂度,这里没有给每个权限编号并为用户设定用户组。因为页面的独立,这里使用页面权限和登录权限。 理学院权限分析 : 1. 页面权限可以通过 JSP中的过滤器( Filter)来实现; 2. 登录权限可以用 JAVA代码实现; 3. 这样不同类型用户登录的是不同的页面,并且用户不能访问其它类型用户的页面。 nts项目相对周 A0111 项目相对时间 学期 星期 课程节数 项目中使用的构造时间字符串简介 排课时用到的时间并不是绝对时间。因为年份在项目中不起作用,而第几学期、第几周、星期几、第几节课反而是排课中时间的要素。当然由相对时间和班级的开班时间,用固定的公式可以得到绝对时间。 这里我们利用时间字符串不仅可以减少数据库存储多余的信息量,而且让后台对相对时间的操作更简单。 nts自动排课 -(分析篇 ) 自动排能问题是一个 NP问题 ,复杂度为 (时间 ,班级 ,老师 ,课程 ,教室 )五维 .加上其约束条件一起 ,其是一个数学上尚为解决的问题 . 理学院自动排课分析 : 1. 学院里同一届的班开班时间相同 ,而不同届的开班时间不同 . 2. 学院可以按周排课 ,特殊时可以变更单节课 ; nts 理学院自动排课解决方案 . 1. 简化五维关系 ,在自动排课之前 ,要求用户选择班级和阶段 ,再为班级的特定阶段规定 (课程 老师 ) 在同一班级同一学期的课程和老师 三维 : (班级 -学期 -课程 -老师 ) - 时间 - 教室 2. 为排课定制约束 * 1.如果取出的教室不为空 ,则给班分配一个随机的教室 . 如果为空 ,这节课就不上了 . * 2.如果取出的 (老师 -课程 )都有课 ,则这节课不上 . * 3.如果前 6节课有同样的课上过了 ,选其它的课 * 4.如果排到的课超过了当周应上课数 ,选其它的课 * 5.如果当天前三节课都上了 ,这节课不上 . * 1,2为自动排课的硬性约束 ,-3,4,5,为自动排课的软性约束 自动排课 -(方案篇 ) nts 自动排课 -(设计篇 ) DB 一阶段时间片断 (length=200) classroomList t_l_list t_l_time_list t_l_time_forweek_list ArrayList 第一周时间片断 (length=20) 得到当前时间的空教室链表 得到当前时间 ,班级和阶段的有空的 (老师 -课程 )链表 得到 (老师-课程 -课时 )信息 得到 (老师-课程 -单周课时 )信息 nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 理学院教务管理系统 学 院:理学院 专业班级:信息与计算科学专业 0302 班 摘要 本系统运用 J2EE 中的 JSP MODEL2 的 MVC ( MODEL+VIEW+CONTROL)模型,运用 Eclipse3.1.8 + Tomcat5.0 + JDK5.0 + MSSQL 的组合开发平台开发测试。 B/S 架构,在系统设计、实施上运用软件工程的思想,完全依照瀑布模型来编写设计文档。利用流程图, UML 图等工具来设计程序,以避免逻辑上的错误。运用 PowerDesigner 工具进行数据库的设计。运用 JUnit 工具进行编写测试用例,进行单元测试和集成测试。在界面上运用 Ajax 技术来实现 XML 文件存放数据,并以人性化的控件完成复杂的业务流程。考虑到排课任务的繁重,设计了自动排课算法,可以完成特定需求的排课。优雅的分层设计、美观的页面设计、功能间低耦合、 SQL 及算法语句的优化让系统增色不少。 关键词 j2EE MODEL2 MVC Ajax 自动排课 B/S Education Manage System of College Abstract : This System use JSP MODEL2 MVC (MODEL+VIEW+CONTROL) of J2EE, use Eclipse3.1.8+Tomcat5.0+JDK5.0+MSSQL-this Develops platform to develop and test. B/S construction, use software engineering thought in system design and implementation, according to Waterfall Model to write design document completely. Design software which used flow chart, UML chart and so on, this can make logic error little. Use the tool of PowerDesigner to design database, use the tool of JUnit to write test case, do cell test and integration test. On interface, use the technology of Ajax and put data to XML file, and complete difficult operation flow. Designed auto make curriculum schedule. It can complete special requirement. Gentler delamination design, beautiful page design, lowness coupling in fuctions , optimize of SQL and arithmetic nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 2 sentence make this system very well. Keywords: j2EE, MODEL2, MVC, Ajax, auto do curriculum schedule, B/S 目录 1 引言: 理学院教务管理系统为学院机构,提供电子化解决方案。致力于构建电子化领域中统一、规范、服务完善的技术平台。在电子化教学中结合人力资 源管理的理念,以人为本,由教学管理、考试管理、自动排课,成绩查询,贯彻教学的整体流程。在电子化教学中将网络技术与传统教学相结合,为学院提供远程教育技术解决方案,将高质量的教育服务延伸到社会的每一个角落。本系统正是为了实现教学管理电子化这一需求而开发。系统开发中运用到了 Eclipse、 tomcat、 DK 等开发工具与运行环境, Ajax, Web Model2 (MVC), Design pattern, jstl, 等技术和知识。 2 系统开发前的准备: 2.1 什么是 Eclipse Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 3 一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是, Eclipse 附带了一个标准的插件集,包括 Java 开发工具( Java Development Tools, JDT)。 2.2 什么是 JDK JDK(Java Development Kit, Java 开发包, Java 开发工具 )是一个写 Java 的 applet 和应用程序的程序开发环境。它由一个处于操作系统层之上的运行环境还有开发者编译,调试和运行用 Java 语言写的 applet 和应用程序所需的工具组成。 JDK(Java Development Kit)是 Sun Microsystems 针对 Java 开发员的产品。自从 Java 推出以来, JDK 已经成为使用最广泛的 Java SDK( Software development kit)。 2.3 什么是 Jsp 和 Servlet Jsp( JavaServer Page)是在普通 Html 中嵌入了 Java 代码的一个脚本,在这一点上,它与其它的脚本语言(如 Php)一样,但它与其它语言不同的是:其它脚本语言由服务器直接解释这个脚本,而 Jsp 则由 Jsp 容器(如 Tomcat)首先 将其转化为 Servlet,然后再调用 Javac将 Servlet 编译为 Class 文件。最终,服务器解释的是 Class 文件。那么什么是 Servlet 呢?Servlet 其实是一个特殊的 Java 类, Servlet 类一般从 HttpServlet 类继承而来,在这个类中至少要实现 doGet 或者 doPost 函数,在这两个函数中处理来自客户的请求,然后将结果返回。Servlet 和 Jsp 是 Sun 公司 J2EE 架构中重要的部分。由于基于 Java 语言,因此其可以方便的调用功能强大的 Java API(如 JDBC)。 2.4 什么是 Tomcat Tomcat 是一个免费的开源的 Serlvet 容器,它是 Apache 基金会的 Jakarta 项目中的一个核心项目,由 Apache, Sun 和其它一些公司及个人共同开发而成。由于有了 Sun 的参与和支持,最新的 Servlet 和 Jsp 规范总能在 Tomcat 中得到体现。 Tomcat 被 JavaWorld 杂志的编辑选为 2001 年度最具创新的 java 产品,可见其在业界的地位。 Tomcat 最新版本是 4.0x。 4.0x 与 3.x 的架构不同,而是重新设计的。 Tomcat4.0x 中采用了新的 Servlet 容器: Catalina, 完整的实现了 Servlet2.3 和 Jsp1.2 规范。 Tomcat 提供了各种平台的版本供下载,可以从 上下载其源代码版或者二进制版。由于 Java 的跨平台特性,基于 Java 的 Tomcat 也具有跨平台性。 nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 4 与传统的桌面应用程序不同, 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 部署和撤销应用。当然本地也可以。 Tomcat 不 仅仅是一个 Servlet 容器,它也具有传统的 Web 服务器的功能:处理 Html 页面。但是与 Apache 相比,它的处理静态 Html 的能力就不如 Apache。我们可以将 Tomcat和 Apache 集成到一块,让 Apache 处理静态 Html,而 Tomcat 处理 Jsp 和 Servlet。这种集成只需要修改一下 Apache 和 Tomcat 的配置文件即可。 2.5 什么是 Ajax Ajax( Asynchronous JavaScript and XML)是结合了 Java 技术、 XML 以及 JavaScript 等编程技术,可以让开 发人员构建基于 Java 技术的 Web 应用,并打破了使用页面重载的惯例。 Ajax 是使用客户端脚本与 Web 服务器交换数据的 Web 应用开发方法。这样, Web 页面不用打断交互流程进行重新加裁,就可以动态地更新。使用 Ajax,用户可以创建接近本地桌面应用的直接、高可用、更丰富、更动态的 Web 用户界面。 2.6 什么是 MVC 和 Model2 模型视图控制器( MVC)是 Xerox PARC 在八十年代为编程语言 Smalltalk 80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为 Sun 公司 J2EE 平台的设nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 5 计模式,并且受到越来越多的使用 ColdFusion 和 PHP 的开发者的欢迎。模型视图控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。 Model 2 被认为区别于 MVC 的一个原因是,观察者 /通知模式不能在 web 环境内工作的很好。 HTTP 是一个 “拉 ” 的协议 : 客户请求然后服务器响应。没有请求就没有响应。观察者模式需要一种“推”协议来进行通知,以便服务器能在模型改变时将信息推送到客户端。虽然也有一些方法能模拟将数据推送到客户端,但这和基本情况相悖,并且会视为是个权宜之计 的修补。 图 1: MVC 关系图 人们认为 Model2 不同于 MVC 的主要原因之一是:基于观察者 /通知模式的经典的 MVC是难以在 web 环境下实现的。 nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 6 因为 HTTP 协议是一个请求 /响应协议,客户端有请求,服务器端才会有响应,没有请求,就没有响应。而观察者 /通知模式要求在服务器端发生变化时能主动给用户端发消息更新。 为了解决经典 MVC 模式难于在 web 环境下实现的问题,引入层模式将状态改变和状态查询的职责加于控制器之上,并伴随着改变通知。 如图 2,分层的 web 应用使用一种比传统 MVC 模式更加 “扁平 ”的模式。控制器被夹在表现层 (View) 和 应用逻辑 (Model)之间。 图 2: web 应用的层模式 每个组件的主要职责并没有改变。流程有轻微改变, View 不再与 Model 有直接的联系,而它们之间的交互都通过 Controller。即查询状态和改变通知都必须通过控制器;当视图,或者表现 层需要加工动态页面时,它使用从控制器传递的数据而不是直接来自于模型层。这种改变去除了 View 和 Model 的耦合,允许控制器选择数据和显示这些数据的视图。 2.6.1 MVC 如何工作 MVC 是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用 MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。 2.6.2 视图 视图是用户看到并与之交互的界面。对老式的 Web 应用程序来说,视图就是由 HTML元素组成的界面,在新式的 Web 应用程序中, HTML 依旧在视图中扮演着重要的角色,但nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 7 一些新的技术已层出不 穷,它们包括 Macromedia Flash 和象 XHTML, XML/XSL, WML等一些标识语言和 Web services.如何处理应用程序的界面变得越来越有挑战性。 MVC 一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。 2.6.3 模型 模型表示企业数据和业务规则。在 MVC 的三个部件中,模型拥有最多的处理任务。例如它可能用象 EJBs 和 ColdFusion Components 这样的 构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。 2.6.4 控制器 控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击 Web 页面中的超链接和发送 HTML 表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。 2.7 什么是 jstl JSTL 是 Jsp Standard Tag Library 的缩写。这是一组通用标签并将成为 JSP 2.0 的一部分。其中包含赋值 ,分支 ,循环 ,查询数据库 ,更新数据库等。目前你需要像添加自定义标签库一样来添加 JSTL,但是可以预计 JSP 2.0 会将 JSTL 作为组成部分。标签库可以在 下载。注意 JSTL 需要在支持 JSP1.2 或更高版本的容器下运行。 nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 8 3 需求分析 3.1 说明 需求分析旨在为项目的分析和开发提供参考。 3.2 产品描述 本系统 旨在用 J2EE 的 B/S 架构为学院管理员、老师和学生开发 WEB 版的在线管理平台。以减少他们的大量重复的繁琐的工作。让学生和老师有更多的时间专注于学习和工作。系统分为 5 个模块。分别是权限模块、教学模块、学生模块、老师模块、考试模块。各模块又分为几个子功能,模块间耦合度较小。 3.3 产品功能列表 表 1: 产品功能列表 编号 名称 简述 1 网站部分 1.1 登录功能 系统的入口,能够选择身份(学生,老师,管理员) 1.2 学生课表 学生可以看到自己的上课课表 1.3 学生信息 可以修改自己的基本信息 1.4 学生考试 学生可以选课程,然后参加考试 1.5 学生成绩 学生可以查阅已经考试的课程成绩 1.6 老师课表 老师可以看到自己的授课课表 1.7 老师信息 可以修改自己的基本信息 1.8 排课信息 教学管理员安排上课的时间,教师,老师,课程 2 后台部分 2.1 用户权限管理 系统管理员对各个角色访问整个系统各部分功能的权限进行分配、修改和删除操作;系nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 9 统管理员可以添加其他管理员(教学管理员;BBS 管理员;图书管理员) 2.2 教学管理员模块 包括新增,更改,删除学生,教师,课程以及班级;排课要 保证同一教师在同一时间不能上两门课程 2.3 学生模块 学生课表,学生成绩 2.4 教师模块 老师课表 2.6 考试模块 能从数据库中随机抽取所需专业的考试题目;学生考完后可以自动评分 3.4 产品功能需求 3.4.1 学生登陆以后,可以选报课程。系统会根据学生所在系及课程的预修课判断 1. 系统会列出所有满足该生还未选报的课程,或者其预修课为公共课的课程。如果该生选报了未满足预修课要求的课程,系统会有相关的错误提示。例如:高等数学(二)的预修课为高等数学(一) 2. 学生可以查看自己的成绩,包括该生已选课 程的名称,学分以及该生的总分。如果教师还未给出成绩,则系统会有相关提示。 3. 该生可以更改自己的个人信息,包括密码,电话号码等,其中要求密码不能为空。 4. 学生课表,有时间,地点,课程名,老师名,如果老师还没有选择课程而此时学生又查询课表,老师名可以为空 3.4.2 教师在本系统中拥有是否接受学生所选课程,以及给学生打分的权力,只有先接受学生,才能给该生打分。 1. 系统要求教师选择学生,然后系统会列出该教师所代课程的班级,然后系统会列nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 10 出选报了该课程的所有学生;可以看到学生的一些详细情况 2. 学生考试完后,教师确认学生 成绩之后,系统会根据总成绩来判断该生是否通过了考试。 3. 总成绩是由考试成绩 80 +平时成绩 20;考试成绩由学生考完试后系统自动打分,平时成绩老师给出;平时成绩占老成绩的百分比由老师给出。 4. 考试成绩和平时成绩的分数范围 0-100,老师课表,有时间,地点,课程名,班级名 3.4.3 1. 管理员在本模块中有着最高的权力,包括新增,更改,删除学生,教师,课程以及班级。 2. 管理员负责排课, 要保证同一教师在同一时间不能上两门课程等等约束。 3.4.4 1. 能从数据库中随机抽取所需专业的考试科目。 2. 学生考完后自动评 分。 3.4.5 1. 所有 web 页面需要页面权限验证,对不同的模块分配不同的访问权限。例如:学生进入学生模块,而不能进入管理员模块;图书管理员只能进入图书借阅模块 2. 系统管理员可以增删改查其他管理员(教学管理员; BBS 管理员;图书管理员) 3. 系统管理员的用户名和密码可以预先在数据库中设定。 3.5 用户界面需求 表 2:: 用户界面需求表 需求名称 详细要求 nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 11 界面风格 界面风格统一;不需要很眩的页面设计,实现功能为第一 3.6 软硬件环境需求 表 3:: 软硬件环境需求表 需求名称 详细要求 服务器端硬件 CPU:P4 2.4 以上;内存 DDR1G 以上;硬盘 80G 以上 客户端硬件 P 、 Celeron 及上型号处理器;内存: 32M 以上;硬盘 2G 以上 服务器端软件 操作系统需安装 Windows 2000 server Oracle 9i, Tomcat5.0 或以上版本。 客户端软件 操作系统需安装 windows98 或以上版本 , IE 浏览器需 5.5 或以上版本 3.7 产品质量需求 表 4: 产品质量需求表 主要质量属性 详细要求 正确性 按照需求正确执行任务 ,完成各个模块的相应要求。 健壮性 具有较高的 容错能力 和 恢复能力。 可靠性 故障发生率每运行 1000 小时低于 3 次 性能,效率 软件的输出结果更新周期应该与系统的信息更新周期相同。 在网络情况良好的情况下, 3秒内可响应用户请求。 易用性 易理解性 : 软件研制过程中形成的所有文档语言简练、前后一致、易于理解以及语句无歧义 。 安全性 防止软件受到意外或蓄意的存取、使用、修改、毁坏或泄密的软件属性其数据 应能 集中存放于总部的数据库服务器,客户端不保存任何业务数据和数据库连接信息, 也不应 进行什么数据同步 . 可扩展性 能方便的进行二次开发,满足对功能的扩充或提高并能提高相应的安全 控制。 nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 12 兼容性 不易与其他软件起冲突。 可移植性 可方便移植到其他系统环境中正常运行。 4 概要设计 4.1 说明 概要设计主要是把项目分类和分析各接口之间的关系,让各个模块之间更好的协同工作。 4.2 总体设计结构图 图 3: 总体设计结构图 登录模块 学生模块 老师模块 管理员模块 查看个人信息 查看成绩 考试模块 查看课表信息 必修考试 选修考试 选报选修课 查看个人信息 打分 查看课程表 教学管理员 题库管理 系统管理员 nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 13 4.3 文档目录编排 图 4: 总体文档目录编排图 项目采用 MVC 模式,文档目录编排依照 MVC 模式。 4.3.1 M: MODEL Com.sevenEleven.Beans 包中主要包含数据库的持久化类。 Com.sevenEleven.javaBean 包及子包中包含连接数据库类以及业务层中的类。 此层为模型层。 4.3.2 V:VIEW WebContent 文件夹中包含着页面和页面元素。有 JSP, HTML, CSS, FLASH, JS 等。作为项目的视图层。 4.3.3 C:CONTROL Com.sevenEleven.servlet 包及子包包含了 WEB 中的 servlet 文件,作为控制层。控制nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 14 MODEL 层和 VIEW 层之间的数据流。 5 数据库设计 5.1 说明 数据库设计遵从面向关系的原则,保证各表之间不出现逻辑错误的同时,要尽可能满足存取的简单,三范式和二范式间的取 最优者,保证开发和维护的简便和数据库的可读性。 5.2 数据库的命名规则 5.2.1 表名的命名规则 一个表的表名要能简洁易懂的表达表的功能,一般从基本表开始命名。如 STUDENT 5.2.2 主键的命名规则 一个表的主键要一眼看得出来,一般用表名的首字母 +下划线 +ID。如 S_ID 5.2.3 外键的命名规则 一个表的外键是另一个表的主键,一般用相关表关键名来表示。如 CLASS 表的主键为 C_ID,在 STUDENT 表中做外键表名也为 C_ID nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 15 5.3 物理设计( Design by PowerDesigner) 图 5: 数 据库物理设计图 5.3.1 表汇总 表 5: 数据库表汇总 表名 功能说明 表 ADMINISTRATOR 管理员表,存放总管理员、教务管理员、图书管理员、 BBS 管理员等信息 表 STUDENT 学生表, 存放学生信息 表 TEACHER 老师表, 存放老师信息 表 CLASS 班级表, 存放所有班级 表 CLASSROOM 教室表, 存放所有教室信息 表 TIME 时间表, 存放一个学期的各个时间片断 nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 16 表 CHOOSE1 必修课考试的选择题的题库,包括单选题和多选题 表 CHOOSE2 选修课考试的选择题的题库 ,包括单选题和多选题 表 TEXT1 必修课考试的填空题的题库 表 TEXT2 选修课考试的填空题的题库 表 LESSON1 必修课课表,存放不同的必修课课程 表 LESSON2 选修课课表,存放不同的选修课课程 表 LESSON1_LIST 必修课课程表, 存放必修课的排课信息 表 LESSON2_LIST 供学生在线选报的选修课 表 S_LIST_AFTER_L2 学生选报后的选修课课表,包含学生信息 表 RESULT1 成绩表 1, 存放了所有学生的必修课成绩 表 RESULT2 成绩表 2, 存放 了所有学生的选修课成绩信息 表TEACHERANDLESSON1 FORCLASS 为某个班级的某个课程安排老师存放在这个表中。 为自动排课作准备 5.3.2 ADMINISTRATOR 表 表 6: 管理员表 表名 ADMINISTRATOR 列名 数据类型(精度范围) 说明 空 /非空 约束条件 A_ID int 管理员 ID (序列) 非空 主键 A_NAME varchar(10) 管理员帐号 非空 唯一 A_PASSWORD varchar(10) 管理员密码 非空 A_TYPE int 管理 员类型 非空 补充说明 根据管理员类型不同来区别是系统管理员还是教务管理员或是图书管理员 nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 17 5.3.3 STUDENT 表 表 7: 学生表 表名 STUDENT 列名 数据类型(精度范围) 说明 空 /非空 约束条件 S_ID int 学生 ID (序列) 非空 主键 C_ID int 班级 ID ( CLASS 表的主键) 非空 外键 S_NUMBER Vachar(10) 学生帐号(学号) 非空 唯一 S_NAME Vachar(10) 学生姓名 非空 S_PASSWORD Vachar(10) 学生密码 非空 补充说明 S_NUMBER 是学生的学号,也是学生登录的帐号 5.3.4 TEACHER 表 表 8: 老师表 表名 TEACHER 列名 数据类型(精度范围) 说明 空 /非空 约束条件 T_ID int 老师 ID (序列) 非空 主键 T_NUMBER Varchar(10) 老师帐号(工号) 非空 唯一 T_NAME Varchar(10) 老师姓名 非空 T_PASSWORD Varchar(10) 老师密码 非空 T_SKILL Varchar(50) 老师技能(课程名 ) 非空 补充说明 T_NUMBER 是老师的工号,也是老师登录的帐号 5.3.5 CLASS 表 表 9: 班级表 表名 CLASS nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 18 列名 数据类型(精度范围) 说明 空 /非空 约束条件 C_ID int 班级 ID (序列) 非空 主键 C_NAME Varchar(10) 班级名 非空 C_TYPE Varchar(10) 班级类别 (理工) 非空 补充说明 5.3.6 CLASSROOM 表 表 10: 教室表 表名 CLASSROOM 列名 数据类型(精度范围) 说明 空 /非空 约束条件 CR_ID int 教室 ID (序列) 非空 主键 CR_NAME Varchar(10) 教室名 非空 补充说明 5.3.7 TIME 表 表 11: 时间表 表名 TIME 列名 数据类型(精度范围) 说明 空 /非空 约束条件 TIME_ID Varchar(5) 时间字符串 (序列) 非空 主键 补充说明 A0111 表示 A 阶段第 1 周的星期 1 的第一堂课,可以唯一标识一个时间片断 5.3.8 CHOOSE1 表 表 12: 必修课选择题表 表名 CHOOSE1 列名 数据类型(精度范围) 说明 空 /非空 约束条件 nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 19 CH_ID int 必修课选择题 ID (序列) 非空 主键 L1_ID int 必修课 ID (序列) 非空 外键 CH_QUESTION Varchar(100) 题目 非空 唯一 KEYA Varchar(100) 答案 A 的信息 非空 KEYB Varchar(100) 答案 B 的信息 非空 KEYC Varchar(100) 答案 C 的信息 非空 KEYD Varchar(100) 答案 D 的信息 非空 CH_ANSWER Varchar(2) 正案答案 ( A, B, C, D) 非空 Check(A,B,C,D) CH_TYPE int 选择题的类型( 0, 1) 非空 Check(0,1) 补充说明 依靠 CH_TYPE 来区分是单选还是多选 5.3.9 Choose2 表 表 13: 选修课选择题表 表名 CHOOSE2 列名 数据类型(精度范围) 说明 空 /非空 约束条件 CH_ID int 选修课选择题 ID (序列) 非空 主键 L2_ID int 选修课 ID (序列) 非空 外键 CH_QUESTION Varchar(100) 题目 非空 唯一 KEYA Varchar(100) 答案 A 的信息 非空 KEYB Varchar(100) 答案 B 的信息 非空 KEYC Varchar(100) 答案 C 的信息 非空 KEYD Varchar(100) 答案 D 的信息 非空 CH_ANSWER Varchar(2) 正案答案 ( A, B, C, D) 非空 Check(A,B,C,D) CH_TYPE int 选择题的类型( 0, 1) 非空 Check(0,1) nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 20 补充说明 依靠 CH_TYPE 来区分是单选还是多选 5.3.10 TEXT1 表 表 14: 必修课填空 题表 表名 TEXT1 列名 数据类型(精度范围) 说明 空 /非空 约束条件 TEXT_ID int 必修课填空题 ID (序列) 非空 主键 L1_ID Varchar(10) 必修课 ID (序列) 非空 外键 TEXT_QUESION Varchar(10) 题目 非空 TEXT_ANSWER Varchar(10) 正案答案 非空 补充说明 必修课填空题题库 5.3.11 TEXT2 表 表 15: 选修课填空题表 表名 TEXT2 列名 数据类型(精度范围) 说明 空 /非空 约束条件 TEXT_ID int 选修课填空题 ID (序列) 非空 主键 L2_ID Varchar(10) 选修课 ID (序列) 非空 外键 TEXT_QUESION Varchar(10) 题目 非空 TEXT_ANSWER Varchar(10) 正案答案 非空 补充说明 选修课填空题题库 nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 21 5.3.12 LESSON1 表 表 16: 必修课表 表名 TEXT1 列名 数据类型(精度范围) 说明 空 /非空 约束条件 L1_ID int 必修课 ID (序列) 非空 主键 L1_NAME Varchar(50) 必修课名称 非空 唯一 L1_TIME int 必修课学时 非空 L1_SCORE int 必修课学分 非空 补充说明 必修课列表 5.3.13 LESSON2 表 表 17: 选修课表 表名 TEXT2 列名 数据类型(精度范围) 说明 空 /非空 约束条件 L2_ID int 选修课 ID (序列) 非空 主键 L2_NAME Varchar(50) 选修课名称 非空 唯一 L2_NEES_ID int 所需的预修课 ID 非空 L2_TIME int 选修课学时 非空 L2_SCORE int 选修课学分 非空 补充说明 选修课列表 5.3.14 LESSON1_LIST 表 表 18: 必修课排课表 表名 LESSON1_LIST nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 22 列名 数据类型(精度范围) 说明 空 /非空 约束条件 C_ID Int 班级 ID (序列) 非空 主键,外键 1 T_ID Int 老师 ID (序列) 非空 主键,外键 2 CR_ID Int 教室 ID (序列) 非空 主键 ,外键 3 L1_ID Int 必修课 ID (序列) 非空 主键,外键 4 TIME_ID Varchar(5) 时间字符串 (序列) 非空 主键,外键 5 补充说明 必修课已排课程表 5.3.15 LESSON2_LIST 表 表 19: 选修课供选修表 表名 LESSON2_LIST 列名 数据类型(精度范围) 说明 空 /非空 约束条件 T_ID Int 老师 ID (序列) 非空 主键,外键 1 CR_ID Int 教室 ID (序列) 非空 主键,外键 2 L2_ID Int 必修课 ID (序列) 非空 主键,外键 3 TIME_ID Varchar(5) 时间字符串 (序列) 非空 主键,外键 4 补充说明 选修课供选择列表 5.3.16 S_LIST_AFTER_L2 表 表 20: 选修课课表 表名 S_LIST_AFTER_L2 nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 23 列名 数据类型(精度范围) 说明 空 /非空 约束条件 T_ID Int 老师 ID (序列) 非空 主键,外键 1 S_ID int 学生 ID (序列) 非空 主键,外键 2 CR_ID Int 教室 ID (序列) 非空 主键,外键 3 L2_ID Int 必修课 ID (序列) 非空 主键,外键 4 TIME_ID Varchar(5) 时间字符串 (序列) 非空 主键,外键 5 补充说明 已选择后的选修课课表 5.3.17 TEACHERANDLESSON1FORCLASS 表 表 21: 一个班的老师和课程绑定表 表名 TEACHERANDLESSON1FORCLASS 列名 数据类型(精度范围) 说明 空 /非空 约束条件 T_L1_C_ID Int 老师 ID (序列) 非空 主键 T_ID int 老师 ID (序列) 非空 外键 1 C_ID Int 班级 ID (序列) 非空 外键 2 L1_ID Int 必修课 ID (序列) 非空 外键 3 补充说明 为某个班级的某个课程安排老师存放在这个表中。 为自动排课作准备 6 界面设计 6.1 说明 界面设计要求不大,但是要能够清晰表述页面的功能。让用户能够很好上手。页面之间的跳转不能出现逻辑错误。本系统界面设计采用了框架的结构,可展开式列表,人性化操作。 nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 24 6.2 主页面(登录) 图 6: 主页面设计图 6.3 图 7: 学生模块设计图 nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 25 6.4 图 8: 老 师模块设计图 6.5 图 9: 权限模块设计图 nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 26 6.6 图 10: 教务管理员模块设计图 7 详细设计 7.1 7.1.1 Model 层 nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 27 图 11: 共用文件的 Model 层文件图 表 22: Com.sevenEleven.Beans 包中的 共用文件表 包名 Com.sevenEleven.Beans 类名 类功能说明 CadminBean.java 系统管理员 Bean , 作为数据库信息在服务器上的持久化类 CchooseTestBean.java 选择题 Bean , 作为数据库信 息在服务器上的持久化类 CclassBean.java 班级 Bean , 作为数据库信息在服务器上的持久化类 Clesson1Bean.java 必修课 Bean , 作为数据库信息在服务器上的持久化类 Clesson2Bean.java 选修课 Bean , 作为数据库信息在服务器上的持久化类 CstudentBean.java 学生 Bean , 作为数据库信息在服务器上的持久化类 CteacherBean.java 老师 Bean , 作为数据库信息在服务器上的持久化类 CtextTestBean.java 填空题 Bean , 作为数据库信息在服务器上的持久化类 补充说明 包中包含了所有的数据库持久化类,便于各模块 MODEL 层的调用。类中属性对应数据库的字段。类中必需包含 setter(), getter()方法。 表 23: Com.sevenEleven.javaBean 包中的共用文件表 包名 Com.sevenEleven.javaBean 类名 类功能说明 CcheckUser.java 验证用户登录 CDBConnection.java 连接数据库基类 CConnectMSSQL.java 连接 MSSQL 数据库的实体类 CDBOracle.java 连接 Oracle 数据库的实体类 CdataFomat.java 不同类型的字符集的相互转换( unicode ,GB) Count.java 以往登录用户计数器类 Page.java 分页类 nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 28 CseparateTime.java 实现把一定规则的表示时间的字符串分解成特定的时间类 补充说明 本包包含了各个模块都可能要用到的辅助类。 7.1.2 View 层 图 12: 共用文件系的 View 层文件 表 24: WebContent 文件夹 中的文件列表 文件夹名 WebContent 文件名 类功能说明 Err.jsp 错误显示页面,把错误信息传到此页面显示 Error500.jsp 当页面出现 500 错误时,用此页面代替 index.jsp 主页面,嵌套了 login.jsp 页面 login.java 登录页面,嵌套在 index.jsp 页面上 Top.jsp 页面头,嵌套在各个子模块主页面上 补充说明 nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 29 7.1.3 Control 层 图 13: 共用文件系的 Control 层文件 表 25: com.sevenEleven.servlet 包 中的共用 servlet 列表 包名 com.sevenEleven.servlet 类名 类功能说明 CcheckUserServlet.java 验证用户登录的 Servlet ClogoutServlet.java 用户注消的 Servlet LoginFilter.java 有关登录的过滤器,过滤非法登录 OnlineCounterListener.java 在线人数监听器 TraceFilter.java 把 unicode 字符转为 GB2312 字符的过滤器 补充说明 nts湖北工业大学 2007 届本科生毕业设计 (论文 ) 30 7.2 MVC 的设计 图 13: MVC 设计图 如上图所示, MVC设计模式在 JAVA WEB项目中的体现为 JSP( VIEW层)、 Servlet(Control层 )、 JavaBean(Model 层 )。为了说明 MVC 在项目中代码中的体现,可以拿登录模块为例子来说明。 附录中的文件 1: WebContent/login.jsp 作为 VIEW 层,是用户登录的页面。该页面显示在浏览器上,用户可以在指定的位置键入用户名和密码,并选择用户的类型,点确定提交到 CcheckServlet; 附录中的文件 2: com.sevenEleven.servlet.CcheckUserServlet 作为 Control 层,是登录功能 的 控 制 器 , 负 责 控 制 MODEL 层和 VIEW 层 中 的 数 据 流 向 。 通 过request.getParameter(USERNAME)语句得到前台输入的数据,经过业务流程之后,再通过request.getRequestDispatcher(teacher/teacher.jsp).forward(request, response);这样的语句跳转到 therch/teacher.jsp 这样的 JSP 页 面。 附录中的文件 3: com.sevenEleven.javaBean. CConnectMSSQL 作为 Model 层,提供了SQLServer 数据库的连接和返回记录集。供 Control 层调用。 浏览器 browser 数据库 DataBase JSP servlet JavaBean View Model request response Control nts湖北工业大学
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。