摘 要
XX 学院体育选向课程平台是针对在校学生和教师使用的一个选排课系统,其
开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。本系
统采用 B/S 架构,构建于 JAVA EE 平台之上,整个系统应用了 MVC 三层架构模式。
本系统主要用户是学生、教师、系教务管理员和系统管理员。系统管理员管
理系统的基本信息,学生和教师通过系统完成不同的工作。系统需要实现的功能
主要有 4 个,系统管理员对整个系统基本信息的维护,教务人员对课程的编排,
教师对应的查课功能,以及学生对应的选课功能。
论文首先对系统进行大致的说明,再介绍了设计开发过程中用到的技术,其
次是系统需求分析,系统总体设计,系统详细设计,然后具体讲解了系统的实现
与测试,最后对本次论文做了一个小结。
关键字:选排课系统;数据库;选向课程
I
Abstract
The PE Elective and Arrangement Course Platform is aimed to support the
students and teachers of XiangNan University for PE course arrangement and election.
Its development includes database construction and application program production.
This platform which bases on JAVA EE and B/S construction, and platform use MVC
three layers framework pattern.
Its majority users are students, teachers, educational managers and platform man
agers. The platform managers manage the essential information of the system, and the
students and teachers finish different work with this system. Through this platform
there are 4 tasks that can be finished: platform manager can preserve the information
of the whole system, educational managers can arrange the curriculum, the teachers
can look for the courses and the students can select courses.
This article take a brief introduction of the system at first, then introduction the
technology used during designing and building this system, in the next, analysis the
system demand, overall design and detailing structure, then explain the system’s
enforce and test in details. In the end, this article takes a conclusion of this system
design.
Key words: course selection system, selective curriculum, database
II
1 概述
1.1 选向课程平台介绍
XX 学院体育选向课程平台是一个选排课系统,选排课系统作为计算机应用的
一部分,使用计算机对课程信息进行管理,有着手工管理所无法比拟的优点[1]。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低
等。这些优点能够极大地提高人事劳资管理的效率,也是各大院校科学化、正规
化管理的重要条件。XX 学院体育选向课程平台主要用户是学生、教师、系教务
管理员和系统管理员,教务人员管理系统的基本信息(如课程、老师、学生等),
学生和教师通过系统完成不同的工作。系统需要实现的功能总体来说共有 4 个,
分别如下:
(1) 系统管理员可以维护整个系统的基本信息;
(2) 教务人员可以对课程进行编排管理;
(3) 教师可以查看课表;
(4) 学生可以选课;
1.2 开发背景及意义
1.2.1 背景
目前 XX 学院体育选向课程采用的方式是教师通过表格手工登记学生选课信
息,但是当前 XX 学院学生人数已经到达 2 万。如果采取传统的手工方式,就需
要教务管理人员和教师花费大量的时间和精力对选课信息进行统计整理,然后根
据统计信息进行手动编排课程,这种方式不利于教师及教务管理人员的管理。因
此教务处委托谢老师开发一个体育选向课程网站,谢老师把这个当作一个毕业设
计课题,我在谢老师的指导下开发了这个系统。
III
1.2.1 意义
解决了传统方式所造成的教务管理人员工作的浪费,大大提高了教务管理员
的工作效率。
1.3 国内外研究动态
随着 Internet 的逐步发展,网络不仅仅是科研部门学术交流的平台,在其
他的方面上也得到了很大的发展,尤其是在校园网的分支教务管理上[2]。同时在
教务管理的主要分支选课排课系统的应用上得到了较大的发展。
国外针对此问题展开的研究较早。1963 年 C C Gotlieb 在他的文章《The
Construction of Class-Teacher Time-Tables》中提出了课表编排的数学模型。
这篇文章引起了人们对于选排课问题的重视。
而国内对选排课问题的研究较晚。1984 年,清华大学在《清华大学学报》上
发表了林漳希和林尧瑞在该课题上的实验性研究成果《人工智能技术在课表编排
中的应用》,标志着我国开始了对选排课问题的研究。
目前,我国高校都实行了学分制,它的核心是允许学生自由选课,即把学习
的自主权交给学生。在这里,学生选课时的制约因素比较复杂,工作量也很大,
而且往往需要在较短的时间内完成。运用计算机辅助选课,即能实时地对大量选
课数据进行检验和统计,十分方便地输出选课结果,同时也避免了人工处理时容
易产生的错误。在高等学校的教务管理工作中,课程表的编排是一项十分复杂、
棘手的工作。在排课过程中,除了满足大量的制约条件以外,还必须解决许多冲
突与矛盾[3]。利用计算机辅助进行课表编排工作,既提高了排课工作的科学性,
又可大大减轻管理人员的工作强度,提高工作效率,从而使学校教务管理现代化
迈上了一个新台阶。
1.4 论文的组织结构
第一章是绪论,简述设计本系统的初衷以及背景。
IV
第二章是开发技术简介,简述本系统开发和设计过程中用的到的主要技术。
第三章是系统需求分析,简述自己分析系统,对项目进行需求分析。
第四章是系统的概要设计,简述系统的概要设计的。
第五章是详细设计,简述系统设计的详细过程。
第六章是系统的实现,简述系统是如何实现的。
第七章是系统的测试,对系统进行必要的测试。
最后是结论,总结了本论文的主要工作和系统特色,以及本次论文设计的心
得。
2 系统开发环境及相关技术理论介绍
2.1 开发环境
2.1.1 硬件环境
CUP:至少 PentiumIII800 以上
内存:至少 128M 以上
硬盘:至少 20G 硬盘空间以上
显示器:15 显示器
2.1.2 软件环境
运行环境: Windows 7
开发工具: MyEclipse8.6
数据库: MySQL5.5
Web 服务器: Tomcat6.0.32
浏览器: IE 8.0
V
2.2 相关技术简介
2.2.1JAVA EE 概述
J2EE 是美国 Sun 公司推出的一种全新概念的应用程序模型,是一套全然不同
于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发
与部署,进而提高可移植性、安全与再用价值。与传统的互联网应用程序模型相
比有着不可比拟的优势。
目前,Java 2 平台有 3 个版本,它们是适用于小型设备和智能卡的Java 2
平台Micro版(Java 2 Platform Micro Edition,J2ME)、适用于桌面系统的Java
2 平台标准版(Java 2 Platform Standard Edition,J2SE)、适用于创建服务
器应用程序和服务的Java 2 平台企业版(Java 2 Platform Enterprise Edition,
J2EE)。J2EE是一种利用Java 2 平台来简化企业解决方案的开发、部署和管理相
关的复杂问题的体系结构。Java语言相对于windows变成语言来说,最大优势在
java语言是跨平台的,而widows的编程通常都是针对windows系统来开发,可移
植性远不及Java。J2EE技术的基础就是核心Java平台或Java 2 平台的标准版,
J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特性、方便
存取数据库的JDBC(Java DataBase Connectivity)应用程序接口(API,
Application Program Interface)技术以及能够在Internet应用中保护数据的安
全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、
JSP(Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个
能够使企业开发者大幅缩短投放市场时间的体系结构[4]。
2.2.2 Struts 2 框架与 MVC 简介
Struts 2 是 Struts 的下一代产品,是在 struts 和 WebWork 的技术基础上
进行了合并的全新的 Struts 2 框架。其全新的 Struts 2 的体系结构与 Struts 1
的体系结构的差别巨大。Struts 2 以 WebWork 为核心,采用拦截器的机制来处
理用户的请求,这样的设计也使得业务逻辑控制器能够与 Servlet API 完全脱离
VI
开,所以 Struts 2 可以理解为 WebWork 的更新产品。虽然从 Struts 1 到 Struts
2 有着太大的变化,但是相对于 WebWork,Struts 2 只有很小的变化,如图 2-1
所示:
图 2-1 Struts 的工作原理图
MVC 模式英文即 Model-View-Controller,即把一个应用的输入、处理、输出流程按照
Model、View、Controller 的方式进行分离,这样一个应用被分成三个层——模型层、视图层、
控制层。
视图(View)代表用户交互界面,对于 Web 应用来说,可以概括为 HTML 界面,
但有可能为 XHTML、XML 和 Applet。随着应用的复杂性和规模性,界面的处理也
变得具有挑战性。
模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的
处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处
理结果。业务模型的设计可以说是 MVC 最主要的核心。
控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,
共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一
个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。
控制层并不做任何的数据处理。
VII
模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用
户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都
应反映到 这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化
通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制[5]。
如图 2-2 所示:
图 2-2 MVC 的原理图
2.2.3 Hibernate 与 ORM 简介
对象-关系映射(Object/Relation Mapping,简称 ORM),是随着面向对象的
软件开发方法发 展而产生的。面向对象的开发方法是当今企业级应用开发环境
中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存
储系统。对象和关系数 据是业务实体的两种表现形式,业务实体在内存中表现
为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,
而在数据库中,关系数据无法 直接表达多对多关联和继承关系。因此,对象-
关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库
数据的映射。
Hibernate 是轻量级 Java EE 应用的持久层解决方案,Hibernate 不仅管理
Java 类到数据库表的映射(包括 Java 数据类型到 SQL 数据类型的映射),还是
提供数据查询和获取数据的方法,可以大幅度缩短使用 JDBC 处理数据持久化的
时间。
VIII