1、 目 录 I 目录 第 1 章 绪 论 . I 1.1 课题背景 . 1 1.2 国内外现状 . 1 1.3 发展趋势 . 2 第 2 章 技术及开发工具介绍 . 3 2.1 系统开发涉及的技术 . 3 2.1.1 SERVLET 技术简介 . 3 2.1.2 JSP 及其特点 . 4 2.1.3 JDBC 技术 . 4 2.2 系统开发所用工具 . 5 2.2.1 Apache Tomcat . 5 2.2.2 MySQL 数据库 . 5 2.3 系统开发采用的设 计模式 . 6 2.4 开发平台的选择 . 7 2.5 系统运行环境 . 7 2.5.1 硬件环境 . 7 2.5.2 软件环境
2、 . 8 第 3 章 系统总体设计 . 9 3.1 教学管理系统需求分析 . 9 3.2 教学管理系统的功能分析 . 11 3.2.1 管理员登录模块 . 11 3.2.2 教师基本信息管理模块 . 11 3.2.3 学生课程管理模块 . 11 3.2.4 学生基本信息管理模块 . 12 3.3 系统结构图 . 13 3.4 数据库概念结构设计 . 13 3.5 实体 E-R图 . 14 3.6 实体联系 E-R 图 . 16 3.6.1 E-R 图向关系模型的转 换 . 17 3.6.2 关系模式设计 . 17 3.6.3 数据表结构 . 18 第 4 章 系统实现详细设计与实现 . 21
3、4.1 系统登陆界面的设计与实现 . 21 4.2 主控制平台的设计与实现 . 22 4.3 教师管理系统界面的设计与实现 . 23 4.4 课程管理界面的设计与实现 . 29 4.5 学生管理界面的设计与实现 . 31 第 5 章 测 试 . 35 5.1 常用的测试方法 . 35 5.2 系统测试 . 36 5.3 系统的安全性分析 . 38 目 录 II 5.4 系统的实用性分析 . 38 结 论 . 39 致 谢 . 40 参考文献 . 41 1 第 1 章 绪 论 1.1 课题背景 随着国民经济的加速发展,我校办学规模的不断扩大,按照传统的人工方式进行教学管理,由于业务量大,以及人为
4、主观因素的影响,已难以适应新形势的需要,不便于工作的顺利开展。为了加强管理,减轻工作人员的负担,提高工作效率,设计出一套实用性较强的教学管理系统。为用户提供丰富的信息、快捷的查询手段。使用户摆脱人工操作的工作模式,实现教学信息管理的科学化、现代化。 作为培养人才的基地,各个学校的进步与发展对整个社 会起着巨大的作用。没有管理的自动化,就没有管理的现代化。各个学校都朝着现代化、科学化的方向发展,而确保这两条出路畅通的基本条件就是计算机在学校各项管理工作的广泛应用。 现在我国许多学校的教学管理水平还处于手工阶段,造成了严重落后的局面,这样的机制已经不能适应时代的发展。为此,以智能化为导向,基于计算
5、机硬件的软件管理系统开始应运而生。 1.2 国内外现状 Web 作为教学管理系统的媒体,其优势不仅在于它是很好的内容载体,可以随时随地地访问,还在于它提供了很多交流渠道,可以促进师生之间、学生之间的充分讨论, 这对于提高教学质量、促进学生高级认知能力的开发是十分重要的。所以,也有一些远程教学管理平台就是在远程会议系统之上增加了教育管理功能,并逐步向全面支持网上教学方向扩展。如 DataBeam 公司 DataBeam Learning Server。 Lotus 的 LearningSpace 是基于 Lotus Domino 框架,提供了学生与学生、学生与老师之间强大的交流功能。 现在国际上
6、最有影响的 WBT System 的 TopClass 、 Lotus 公司的 LearningSpace 英属哥伦比亚大学计算机科学系开发的 WebCT (Web Course Tools)、加拿大 Simon Fraser 大学的2 VirtualU 都在全球发展了一定的用户群,每种软件都至少有 10 所大学或公司在使用,各开设了上百门课程,授课学生人数均超过 5000 人次。其中一些产品已进入中国市场,如中国有四所大学在使用 Lotus 公司的 LearningSpace, VirtualU 也在去年到中国做过宣传。目前大量的教学支撑平台还只是大学实验室的产物,处于继续开发或 “beta
7、“测试阶段。 1.3 发展趋势 1系统日趋开放,遵从标准:为了更好地交流和服务,促 进资源的共享和优势互补,研究制定相关的标准并遵从实施,是大趋势。标准化也是开放性的前提。 2与学校的其他有关系统有机结合,这不仅是数据交换层面的结合,还包括用户统一的门户界面,统一身份验证和授权等一系列互操作问题。 3强调对教学策略的支持,特别是对混合学习方式的支持:这包括课堂教学管理和课程网站如何更合理结合,异步学习资源和同步学习材料如何配合,服务器的一般性服务和本地个性服务如何更好融合等一系列问题,其实现技术涉及 WEB SERVICES, XML MESSAGING。 3 第 2 章 技术及开发工具介绍
8、2.1 系统开发涉及的技术 本系统采用 Servlet+JSP+Apache( MVC 模式)技术配 MySQL 数据库进行系统开发 1。 2.1.1 SERVLET 技术简介 Servlet 是 Java 技术对 CGI 编程的回答。 Servlet 程序在服务器端运行,动态地生成 Web页面。同时它也作为一个中间层,负责连接来自 Web 浏览器或其他 HTTP 客户程序的请求和 HTTP 服务器上的数据库或应用程序。与传统的 CGI 和许多其他类似 CGI 的技术相比,Java Servlet 具有更高的效率,更容易使用,功能更强大,具有更 好的可移植性,更节省投资,更高效。 Servle
9、t 被调用的流程如图 2.1 所示。 图 2.1 Servlet 被调用的流程 图 2.1 说明: 4 (1)客户端(通常为 Web 浏览器)向 Web 服务器发送一个基于 HTTP 协议的请求。 (2)Web 服务器接收到该请求,并将请求交给 Servlet 容器处理。 (3)Servlet 容器根据 Servlet 的配置来 查找或创建 Servlet 的实例,并执行该 Servlet,Servlet 容器必须把客户端请求和响应封装成 Servlet 规范中规定的请求和响应对象传给Servlet。 (4)Servlet 可以使用请求对象获取客户端的信息,比如 IP 地址、请求的参数等,以及
10、执行特定的业务逻辑。 Servlet可以使用响应对象向客户端发送业务数据及业务执行的结果。 (5)Servlet 处理完该请求后, Servlet 容器要保证 Servlet 的响应内容能够发送到客户端去( flush),最后返回到 Web 服务器。 2.1.2 JSP 及其特点 JSP 及其特点 2: JavaServer Pages( JSP)是一种实现普通静态 HTML 和动态 HTML混合编码的技术。 JSP 和 ASP 相比具有两方面的优点首先,动态部分用 Java 编写,而不是VB Script 或其他 Microsoft 语言,不仅功能更强大而且更易于使用。第二, JSP 应用可
11、以移植到其他操作系统和非 Microsoft 的 Web 服务器上。 JSP 和纯 Servlet 相比 JSP 并没有增加任何本质上不能用 Servlet 实现的功能。但是,在 JSP 中编写静态 HTML 更加方便,不必再用 println 语句来输出每 一行 HTML 代码。更重要的是,借助内容和外观的分离,页面制作中不同性质的任务可以方便地分开:比如,由页面设计专家进行 HTML 设计,同时留出供 Servlet 程序员插入动态内容的空间 4。 2.1.3 JDBC 技术 JDBC 技术 3: Java 联接数据库引擎。一个独立于 DBMS 的接口将使得与各种各样DBMS 连接变得最为
12、便捷,开发更加迅速。定义一个通用的 SQL 数据库存取框架,在各种各样的提供数据库连接模块上提供统一的界面是十分有意义的。 Sun 公司设计了一个适合于 Java 使用的数据库操作引擎: JDBC(Java Data Base Connectivity)6,并于 1996 年 3 月份5 发布。它为各种常用数据库提供无缝联接的技术,并且沿袭了 ODBC 的设计思想,采用了与 ODBC 一样的设计基础: X/Open SQL Call Level Interface(简称 CLI)。 ODBC(OpenData Base Connectivity),称为开放式数据库互联技术,是由 Microso
13、ft 公司倡导并得到业界普遍响应的一门数据库连接技术。为了使 JDBC 功能更加强大,还开发了一个 “JDBC-ODBC 的翻译器 ”(也被称为桥接器 )。通过它,还可以使用数据库的 ODBC 驱动程序。 2.2 系统开发所用工具 2.2.1 Apache Tomcat Tomcat 是 Servlet 2.2 和 JSP 1.1 规范的官方参考实现。 Tomcat 既可以单独作为小型Servlet、 JSP 测试服务器,也可以集成到 Apache Web 服务器。直到 2000 年早期, Tomcat还是唯一的支持 Servlet 2.2 和 JSP 1.1 规范的服务器,但已经有许多其它服
14、务器宣布提供这方面的支持 5。 2.2.2 MySQL 数据库 MySQL 数据库技术: MySQL 是一个快速的多线程、多用户和健壮的 SQL 数据库服务器。 MySQL 服务器支持关键任务。重负载生产系统的使用,也可以将它嵌入到一个大配置 (mass-deployed)的软件中去。 (1)MySQL 是一个数据库管理系统。 一个数据库是一个结构化的数据集合。它可以是从一个简单的销售表到一个美术馆、或者一个社团网络的庞大的信息集合。如果要添加、访问和处理存储在一个计算机数据库中的数据,你就需要一个像 MySQL 这样的数据库管理系统。从计算机可以很好的处理大量的数据以来,数据库管理系统就在计
15、算机处理中和独立应用程序或其 他部分应用程序一样扮演着一个重要的角色。 (2)MySQL 是一个关系数据库管理系统。 关系数据库把数据存放在分立的表格中,这比把所有数据存放在一个大仓库中要好得多,这样做将增加你的速度和灵活性。 “MySQL”中的 SQL 代表 “Structured Query Language”6 (结构化查询语言)。 (3)MySQL 服务器是一个快的、可靠的和易于使用的数据库服务器。 如果这是你正在寻找的,你可以试一试。 MySQL 服务器还包含了一个由用户紧密合作开发的实用特性集。 (4)MySQL 服务器工作在客户 /服务器或嵌入系 统中。 MySQL 数据库服务器
16、是一个客户 /服务器系统,它由多线程 SQL 服务器组成,支持不同的后端。多个不同的客户程序和库。管理工具和广泛的应用程序接口 (APIs)。 (5)MySQL 也可以是一个嵌入的多线程库,你可以把它连接到你的应用中而得到一个小、快且易于管理的产品。 2.3 系统开发采用的设计模式 设计模式是面向对象的程序设计人员用来解决编程问题的一种形式化表示。目前,在大多数 Browser/Server 结构的 Web 应用中,浏览器直接通过 HTML 或者 JSP 的形式与用户交互,响应用户的请求 7。虽然 很直观,但是大多数管理信息系统操作的数据量都是惊人的,随着代码的增多会使 JSP 页面臃肿不堪,
17、 Web 服务器的负荷过重。因此,在中间层上采用基于模型视图控制器( MVC, Model-View-Controller)的设计模式。 Model 层用来实现业务逻辑, View 层用来显示用户界面, Controller 层主要负责 View 层和 Model 层之间的控制关系。具体实现时,把 Servlet 用作应用程序的控制器,把 JSP 文档作为视图, JavaBeans被用来表示模型。所有的请求都被发送给作为控制器的 Servlet,它接受请求 ,并根据请求信息将它们分发给适当的 JSP 来响应。同时, Servlet 还根据 JSP 的需求生成 JavaBeans 的实例并输出给
18、 JSP环境。 JSP可以通过直接调用方法或使用 Use Bean的自定义标签得到 Java Beans 中的数据。这种设计模式很好地实现了数据层与表示层的分离,使开发工作更加容易和迅速 10。 数据库是管理信息系统的核心内容。目前, Web 与数据库接口技术有很多,其中 JDBC是 Java 程序连接和存取数据库的应用程序接口,由一组用 Java 语言编写的类与接口组成,是执行 SQL 语句的 Java API。 本文介绍的管理信息系统中,在数据的存取方面,采用了 JSP/Servlet+JDBC 的技术,即客户端不产生数据库查询命令,客户端上的浏览器通过 URL和中间层的 Web 服务器建
19、立连接。 Web 服务器主要负责接收本地或远程浏览器的 HTTP 数7 据请求,然后中间层的 Servlet 收到请求后,通过执行程序中的 SQL 语句,利用 JDBC 提供的标准 API 对数据库进行访问和相应的操作处理。 Servlet 再将查询的数据传给 JSP,最后生成标准的 JSP 页面将结果返回给提出请求的浏览器。这样,不仅将客户端与数据库服务器端分开,同时提高了 数据库的访问效率 8。 2.4 开发平台的选择 在现阶段软件开发领域,用于网站设计主流软件有许多,例如 JSP、 ASP.NET、Dreamweaver 系列、 FrontPage 系列等,由于 JSP 流行且功能强大,
20、可跨平台操作,我个人比较了解和熟悉,所以我选用了 JSP 作为开发工具。开发平台我选择 MyEclipse,它可以支持各种不同的开发技术及相应的代码,并有很强的可视化操作能力,与后台数据库连接相当快捷,是目前开发 B/S 系统最流行的开发平台 9。有以下优势: 1可以对 JSP 代码进行颜色识别,自动完成代码 。 2内置数据库管理工具,可以直接进行数据库查询、修改工作。 3内置群体开发协作管理功能,支持多人同时开发一个网站 11。 2.5 系统运行环境 2.5.1 硬件环境 后台数据库服务器: 因为服务器为数据库服务器,且要完成高密度的运算量,所以应采用较高档的服务器。考虑到与软件的兼容性,建
21、议采用 Intel Pentium 4 多处理器系统、 512MB RAM、 80GB 以上硬盘。 客户机: 采用 Intel Pentium 4 多处理器系统、 512MB RAM、 80GB 以上硬盘。 网络配置: 10M/100M 网络带宽、 100Mb/s 网卡、 16 口交换机。 8 2.5.2 软件环境 操作系统的选择: 数据库服务器:因为服务器为数据库服务器,特别对稳定性有极高的要求,且支持多CPU。所以应采用 Windows 2000 Server,因为它有优良的稳定性和操作性。 数据库的选择: 因大部分情况下软件都是在 Windows 系统下使用的,考虑 MySQL 的优势在于中国普遍使用的免费数据库软件并且与系统的兼容度较高,并支持集成性安全检测,且对系统的资源消耗较小。相比之下, Oracle 数据库虽然性能较高,但由于其可操作性和方便 性不如MySQL 好,并且服务器没有使用磁盘阵列和多处理器,无法发挥 Oracle 数据库设计上的性能优势,并且对系统性能要求较高。至于 Access 之类的数据库,由于其性能较低,且并发度太低又不具安全性,故不予考虑。最终决定后台数据库用 MySQL5.0。当然整个系统只能在 Windows 下运行。