基于jsp(java)网络教学平台系统的设计和开发_第1页
基于jsp(java)网络教学平台系统的设计和开发_第2页
基于jsp(java)网络教学平台系统的设计和开发_第3页
基于jsp(java)网络教学平台系统的设计和开发_第4页
基于jsp(java)网络教学平台系统的设计和开发_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

论文是本团队帮同学做过的案例 需要毕业论文设计 论文 源程序 答辩 PPT 的同学联系 799523222 毕业设计 论文 基于基于 jspjsp javajava 网络教学平台系统的设 网络教学平台系统的设 计和开发计和开发 姓 名 系 别 专 业 导 师 姓 名 职 称 完 成 时 间 I 摘摘 要要 远程教育作为现代教育技术的形式 给教育思想与技术带来了革命性的变 革 己经成为现代教育的必然要求 远程教育要得以顺利 高效的实施 必然 离不开高效的管理与支撑平台环境 构建基于 Java 技术的网络教学管理系统是 进行远程教学的迫切需要 本文首先介绍了远程教育的发展状况 面向对象的系 统开发平台以及对 Web 应用系统的支持 对象建模语言 UML 的基本知识 然后 主要介绍了以 UML 为建模语言 开发基于 JSP Servlet 的网络教学管理系统的 过程使用用例图 顺序图和活动图来寻找用户需求 明确用例中对象之间的关 系 从而建立系统的用例模型 分析类 确定了系统中的对象抽象成类 这样 完成了系统分析 在系统设计过程中 首先设计系统构架 划分功能模块 并 给出功能设计 在功能设计中 构建设计类 运用设计类顺序图 类图来实现 了系统的设计模型 数据库设计给出数据库模型和数据库中各个表的字段结构 最后一章对系统关键实现做了探讨 分别实现了用户身份鉴别 会话跟踪 数 据库连接池和数据优化并对系统安全作出说明 本文对如何运用面向对象的方 法来快速高效的开发一个复用性良好的安全的网络应用程序提供了一个良好的 思路 关键词 远程教育 教学管理 UML 网络教学 II Abstract As a representation of contemporary education remote education which has brought the traditional education revolutionary ideas and technologies and optimized the educational resources has been the trend of the contemporary education Remote education can t run well without an efficient management platform To architect a teaching management system through internet based on JSP Servlet becomes very important The paper first introduces the development of remote education the object oriented development platform JSP and the brief knowledge of UML Then a detailed introduction is given on the development process of a teaching management system through internet based on JSP with UML as modeling language Constructing use case model through using use case diagram sequence diagram and activity diagram to make clear user s requirement and the relation between objects in use case Through analysing classes to confirm the objects in system and abstract them to classes So the analysis of system is completed Among the design process of system designing the system architecture partitioning the system to several subsystem and function models according to use cases and giving the function design of one subsystem The function design includes the classes design and the following sequence diagram and class diagram Database design involves a database logic model and the structure of all labels In the end I implement some key technologies of system such as user s identity session track database pool data process optimizing and system security To ensure security a reliable and practical security policy in which container based declarative security is dominant and programmatic security is complementary is given respectively to the web tier EJI tier and data tier of the system according to the system framework This article also supplies a good idea on how to develope reusable and safe web application quickly with object oriented methodology Key words remote education leaching management JSP UML 目 录 III 1 引言 1 1 1 网络教学系统的技术 1 1 2 本系统的特点和意义 2 2 系统核心技术特点 2 2 1 web 系统应用研究 2 2 1 1 N 层体系结构 2 2 1 2 基于组件开发 3 2 2 JSP Servlet 对 web 应用系统的支持 3 3 系统分析 4 3 1 用例分析 4 3 2 用例建模 5 3 2 1 标识参与者 6 3 2 2 用例图 6 3 2 3 顺序图 7 3 2 4 活动图 8 3 3 分析类 10 3 3 1 边界类 10 3 3 2 实体类 10 3 3 3 控制类 11 4 系统设计 12 4 1 体系结构设计 12 4 2 系统功能设计 13 4 2 1 功能模块划分 13 4 2 2 功能实现设计 15 4 2 3 用例设计 18 4 3 数据库设计 19 4 3 1 数据库设计原则 19 4 3 2 系统数据库设计 20 5 关键技术及实现 22 5 1 用户身份鉴别 22 5 2 对会话的跟踪和处理 23 5 3 数据库连接池的实现 24 5 4 数据访问优化实现 26 5 5 系统安全实现 27 5 5 1 网络层安全 27 5 5 2 数据层安全 28 6 结束语 28 参考文献 29 毕业设计 1 1 引言引言 1 1 网络教学系统的技术 基于 Internet 的网络教学系统是现代远程教育的方向 支持网上教学的教 学管理系统在其中扮演着重要角色 网络教学的目标是培养合格的人才 完成 既定的教学任务和实现国家规定的教学目标 教学管理居于一个至关里要的地 位 它起着调配教学资源 组织教学活动 总结教学数据等重要作用 教学管 理系统使得教学能够顺利实施 也可实现整个教学管理过程的现代化和管理的 规范化 另外还能及时 准确地反映教学现状 分析教学效果 建立一个通过 Internet 实现教学信息发布和师生交流 网上选课 并能实现教师授课和课酬管 理的基于网络的教学管理系统 是十分必要的 也是切实可行的 我们的思路 正是构建一种如图 1 1 所示的基于 Web 的开放式网络教学管理系统 图 1 1 系统实例图 基于上述的分析 为了实现这样一个开放式的网络教学管理系统 我们采 用了这样的一个技术体系 本系统是依照 J2EE Java 2 Enterprise Edition 标准 综合采用 JSPIServlet JDBC 等 Java 相关技术开发的大型网络应用软件 系统的开发建立在 Web 服 务器 Web Server 应用服务器 ApplicationServer 和数据库服务器的多层架构之 上 这种多层结构可将数据处理的业务逻辑 用户界面 内容显示等部分分开 从而使系统的业务逻辑集中于 Application 层次 利用 JavaBean 服务器组件的可 重用性和跨平台性 可以快速开发和二次开发出复杂的大型平台应用程序 以 适应多种用户的不同需求 因此 该平台具有极佳的可靠性 可管理性和可扩 毕业设计 2 展性 1 2 本系统的特点和意义 本系统具有通用性 可适用于各类学校 成人教育 职业培训和技术培训 等机构在远程教育平台上进行教学管理 是对传统教育管理模式的改革和创新 其推广使用对于教学管理的改革 实现开放式教育管理 扩大受教育面 有限 的师资发挥更大的作用等方面具有重要的意义 本系统具有以下主要特点 1 通用性强 能适用于各种机构的网络教学管理 2 实现时间和空间的分布性 在教学管理方面 节约大量的人力物力 提高了效率 3 资源库的标准化 使得在 Intemet 上可以比较容易的和使用其他平台的 机构之间共享资源 从而做到互通有无 真正实现系统的开放性 总的来说 笔者经历了本课题的系统分析 设计 实现的开发周期 构建 起一个开放性的网络教学管理系统 基本上完成了课题研究的目标 在课题研 发期间 独立完成了本系统的业务需求分析 建立了用例模型 并对对象模型 进行了详细设计以及对数据库的设计 在下面几章中 将会详细介绍本课题的 设计与分析过程 以及系统关键技术的实现 2 系统核心技术特点系统核心技术特点 2 1 web 系统应用研究 2 1 12 1 1 N 层体系结构层体系结构 90 年代初 传统的企业信息系统 EIS 供应商为满足用户要求从二层的 C S 应用模型转向更为灵活的三层或 N 层 n tier 应用模型 N 层 n tier 结构可以取 得更好的整体平衡 它将表示逻辑与业务逻辑从底层数据中分离开来 不断增 长的 Intranet 企业应用也积极倡导轻量级 便于部署的客户端 需要注意的是 N 层中的每一层并不意味着就是软件中单独的一个部分 虽然也可能是这样的层 首先与软件中分离方法有关 软件内的不同的层在逻 辑上也有区别 但可以共存于一台机器上 或者跨越多台机器进行分布 下面是使用 N 层结构的特点 1 加快开发过程 降低开发成本 通过重用现有 预先测试过的业务组件 毕业设计 3 和数据访问组件 可以更快的开发新的应用程序 2 隔离了由于改变带来的影响 只要接口保持不变 一个层上的改变不会 影响其它层上的组件 3 更容易管理改变 例如 一个业务组件驻留在业务层 该业务组件位于一 个或多个专用服务器上 那么我们可以很容易地用它的新版本替换旧版本 而 不用替换不同城市甚至全球范围内的上百或上千的客户端应用程序了 2 1 22 1 2 基于组件开发基于组件开发 组件提供了比单纯的类更祖粒度的问题封装方法 接口封装了组件提供的 服务 隐藏了实现细节的可见性 因此组件间耦合更为松散 由于组件表示一 个或多个较细粒度类的逻辑集合 且被定义在较高级别 具有较粗粒度级 所 以一个组件可以直接封装一个己经划分的问题 该问题更直接地产生于分析和 设计模型 组件通过组件模型定义实现互换性和兼容性 组件模型的接口定义了其它 代码和组件之间的关系 其它代码实体可以是容器 应用程序代码 其它组件 其它组件模型以及一些专门服务提供商 近年来 人们开发了各种不同的组件 模型 例如 Microsoft 的 ActiveX 后来的 COM Sun Microsystems 的 applet 和 JavaBean 组件为企业开发提供了许多方便 建立在面向对象软件和开发概念之上的 组件提供了一个更高级的开发模型 并且能加速企业应用程序的建立 而且 系统质量也会被加强 因为这会促使商业组件的生产商集中于提高组件的质量 并提供有很好文档的接口 这样就不要求内部人员具有很好的特定底层实现技 术的知识和与实现服务相关的知识 2 2 JSP Servlet 对 web 应用系统的支持 JSP 对 web 应用系统提供了以下功能的支持 用户交互 基于 Web 的 Java 小应用程序 Applet 和桌面应用客户程序能够 使用基于 Java 的 GUI 技术创建 并能驻留在独立的 J2 SE 环境或 J2EE 环境中 传统的非面向 Java 的 Web 浏览应用程序能够与基于 J2EE 的 Web 服务器一起 使用 除此以外 非基于 Java 的客户程序也可以使用分布式通信技术 如 CORBA DCOM 及 TCP IP 与服务器组件进行通信 数据使能 Java 数据库连接 JDBC 方法用于与数据库通信 J2EE Web EJB 应用程序 以及应用程序客户程序都使用 JDBC API 运行于 J2 EE 环境之外 独立的 Java 企业应用程序都可以使用 JDBC API 毕业设计 4 系统保证 各种系统保证属性 如可靠性 可用性 可维护性 保护性和 安全性是系统重要的特性 基于 Java 的企业环境封装了许多具有不同 API 的安 全服务 CORBA 也在 CORBA 安全服务规范中定义了安全服务 对于在应用 环境中的安全互操作特别有用 Web 使能 虽然 HTML 己经是最典型的创建 Web 页面的格式 但 XML 却 是用于描述 Web 页面内所需要的数据和控制更灵活的 更可扩展的机制 Java ServIet 和 JavaServerPages 是接收基于 Web 的请求和产生基于 HTML 或基于 XML 响应的标准 J2EE 机制 Web 使能应用程序也可利用各种全局服务用于分 布通信 通信服务以及保证服务 应用程序使能 XML 也能用于使系统应用能与外部系统的其它应用程序通 信 各种各样的应用集成技术也是应用程序使能的一部分 通过上述机制 我 们会得到如下应用需求原则 1 将应用程序划分为多层 tier 以构建可伸缩的大型企业级应用 2 将系统分解为相对的粗粒度组件 以便于快速开发 因此 可以用 层 tier 组件十服务 来描述 JSP Servlet 对 web 应用系统的支持 3 系统分析系统分析 系统分析是软件工程的重要阶段 是所有开发的依据 在系统分析阶段 通过对系统的综合研究 对问题域进行抽象 准确的理解系统需求和系统内部 运行机制 有助于准确的掌握系统的需求 从而正确的定义问题域 确定软件 开发的具体内容 对系统的分析过程采用面向对象分析 OOA 应用可视化面向对象建模技术 UML 统一建模语言 Unified Modeling Language 建立系统模型 3 1 用例分析 用例是从用户和业务的角度来描述系统提供需要执行的功能 下面列出了 本系统主要的用例 1 教师信息查询 学生和管理员为了解教师情况而查看教师信息 2 教师信息录入与维护 由教师本人录入自己的基本信息 包括教育背景 研究方向 科研成果以 及发表论文 专著和获奖等方面的情况 并由教师本人对信息进行修改和维护 毕业设计 5 3 学生信息查看 教师和管理员查看学生信息 了解基本情况 4 发布教学公告 管理员在网站的主页上发布教学公告信息 包括课程名称 开课时间 起 止日期 主讲教师等 通过设置链接还能查看课程的详细介绍 5 教学公告维护 管理员不定期的更新教学公告并对此进行维护 6 课程资源浏览 学生可以查询课程内容 了解课程的章节目录等信息 7 课程资源管理 任课教师录入新的课程资源信息或者修改 删除旧的课程资源 8 学生选课 加入到某个选课班 学生在查看了系统发布的教学公告之后 根据自己的实际情况和兴趣选取 要求学习的课程 学生在选定课程之后 未缴纳相应的费用之前 可以对选课 内容进行修改 9 成绩查询 学生通过查询条件可随时查看自己的考试成绩 10 成绩管理 教师录入学生的考试成绩 评定成绩等级 更改或删除学生成绩 学生查 询成绩 11 作业管理 教师对选课班进入作业任务的发布 批改 统计 查询 学生可在线做作 业 提交作业 查看批改结果 12 在线答疑 学生在线提问 教师在线答疑 13 在线测试 教师利用系统生成考卷并发布出去 学生在线答卷并由系统自动评分 12 消息提醒 对教师布置作业 在线答疑 在线测试进行短消息提醒 11 用户登录 使用本系统的用户必须登录才能进入本系统查看信息 匿名用户不具有访 问权限 12 用户注销 用户退出本系统 毕业设计 6 3 2 用例建模 用例模型描述的是外部执行者 Actor 所理解的系统功能 它的建立是系统 开发者和用户反复讨论的结果 表明了开发者和用户对需求规格达成的共识 在需求分析阶段 可以用用例来捕获用户需求 以描述对系统感兴趣的外部角 色及其对系统 用例 的功能要求 3 2 13 2 1 标识参与者标识参与者 参与者是指系统的分类用户 分别代表一个唯一的角色 对本系统来说 存在相互联系如下 3 类用户 管理员 通过系统管理学生档案 维护学生选课内容 发布教学公告 成 绩管理 以及数据备份恢复工作等等 管理员是系统中权限最大的用户 业务 范围几乎涉及所有方面 教师 通过系统管理自己的基本信息 查看课程资源 查看选课情况 业 务范围为与自己和教学相关的信息 学生 通过系统查看教学公告 教师信息和课程资源信息 查看成绩 业 务范围为与教学相关的信息 3 2 23 2 2 用例图用例图 用例图 Use Case 是参与者 系统外部用户 所能观察到的系统功能的模型图 它描述参与者与系统提供的用例之间的某种联系 用例图就是从参与者的角度 描述出系统中的用例和参与者 以及用例与参与者之间的关系 哪个参与者参与 了哪个用便的执行 根据上面的用例分析 得到系统的用例图如下面 3 张图所示 图 3 1 超级管理员用例图 毕业设计 7 图 3 2 教师用例图 图 3 3 学生用例图 所有用户都包括用户登录和注销这两个用例 图中未画出 3 2 33 2 3 顺序图顺序图 为进一步说明系统需求 可以通过顺序图 协作图和活动图来描述用例之 间或用例内部的动态关系 这里我使用了顺序图和活动图 将陆续介绍 用例是一种真正的文本描述 主要用于解释 顺序图用于更准确地 以技 术语表达用例 按照参与者与系统的交互关系来描述用例就可以做到这一点 顺序图 Sequence Diagram 是 UML 中一种重要的动态视图 它是以时间顺序显 示对象交互的图 它显示了参与交互的对象和所交换消息的顺序 是一种交互 关系 并强调了交互发生的时间顺序 这里我给出的例子是学生选课顺序图 毕业设计 8 图 3 4 学生加入选课班顺序图 3 2 43 2 4 活动图活动图 活动图的主要作用是表示系统的业务工作流和并发处理过程 它能够更容 易显示参与者的决定和系统异常所要执行的多条路径 而这用顺序图是难以表 达的 活动图在概念上与流程图相似 用它来为工作流程建模 以及用来图解用 例的动态行为和操作的详细设计是很有用的 一旦一个活动完成 执行就转到 由活动的有效转移所确定的下一种状态 在活动图中 泳道可用于在一个活动 图中显示多个对象 以及它们如何在一起完成整个用例 根据需求分析为系统的核心业务绘制活动图 明确在业务工作流中参与者 与系统各用例之间以及系统用例之间可能的交互 用例可以认为是获得对参与 者有用的东西 而需执行的步骤 顺序图和活动图对精确标识和理解用例行为 都是有用的 毕业设计 9 图 3 5 学生流程活动图 图 3 6 教师流程活动图 毕业设计 10 3 3 分析类 根据用例模型 我们抽象出系统中的对象和类 系统中存在三种类 边界 类 控制类和实体类 每一种类在系统模型中执行一定的作用口 3 3 13 3 1 边界类边界类 在系统模型中 边界类表示系统内部工作方式与其周围环境之间的各种交 互作用 包括 通过图形化用户界面与用户交互 与其他参与者交互 如代表其 他系统的参与者 与设备通信等 使用边界类的优点之一是 它们可以把系统 的其余部分与外界环境隔离和屏蔽起来 见表 3 1 表 3 1 系统边界类 边界类名称边界类职责 主页面显示最新教学公告和其他相关信息链接 登录页面允许用户输入有效的帐号和密码 检验用户身份 注销页面允许用户退出系统 教师信息列表页面允许学生查看教师信息 管理员可删除信息 教师信息输入页面允许教师输入个人信息 教师信息编辑页面允许教师对个人信息进行编辑 修改 教师信息查询页面允许所有用户查询教师信息 教师信息查询结果页面显示查询结果 课程资源列表页面允许教师和学生查看课程信息 管理员可删除信息 课程资源输入页面允许管理员输入课程信息 课程资源编辑页面允许管理员对课程信息进行编辑 修改 课程资源查询页面允许所有用户查询课程资源 课程资源查询结果页面显示查询结果 学生信息查看页面允许管理员和教师查看学生信息 教学公告发布页面允许管理员设置开课信息并发布 开课信息列表页面 允许学生和教师查看开课的详细信息 管理员可删 除信息 开课信息编辑页面允许管理员更改开课信息 选课页面允许学生选课 选课信息查看页面允许学生查看自己的选课内容并对此修改 成绩查询页面允许学生查询自己的考试成绩 成绩查询结果页面显示查询结果 成绩录入页面允许管理员输入学生的考试成绩 成绩修改页面允许管理员修改学生的成绩 信息发布页面允许管理员发布教学信息 3 3 23 3 2 实体类实体类 实体对象表示对系统的重要信息 它们通常是持久的 并能在一个延续的 毕业设计 11 时期内存在 它们的主要的目的是表示和管理系统内的信息 实体类通常表示 为一种逻辑的数据结构 见表 3 2 表 3 2 系统实体类 实体类名称实体类属性 用户基本信息用户名 编号 用户类别 登录密码 教师基本信息 姓名 编号 性别 出生年月 身份证号 学历 职称 原 属学校 电子邮件 从教时间 研究方向 主讲课程教师业 绩 成果名称 获奖等级 获奖时间 著作名称 出版社 出 版时间 论文名称 课程资源信息 课程名称 课程编号 教材名称 所属学科 学时数 培训 类型 课件介绍信息 视频文件名 章节目录 选课信息选课名称 课程编号 选课学生姓名 选课时间 开课信息开课名称 课程编号 授课时间 主讲教师 信息发布时间 成绩单 课程名称 课程编号 学生姓名 学生编号 考试成绩 成 绩等级 3 3 33 3 3 控制类控制类 控制类用于系统内的模型行为 用于对某一个具体的用例相关的控制或者 其他业务逻辑建模 通常将协调 排序等事物处理或者涉及多个对象的复杂事 务逻辑隔离在一个或多个控制类中 见表 3 3 表 3 3 系统控制类 控制类名称控制类职责 用户登录响应用户登录请求 检验用户身份的合法性 用户注销用户退出系统 教师信息查看对学生提出的教师信息查询请求进行处理 增加教师信息对教师提出的增加个人信息请求进行处理 编辑教师信息对教师提出的编辑个人信息请求进行处理 教师信息列表对显示教师信息列表请求进行处理 删除教师信息对删除教师信息请求进行处理 课程资源查看对学生提出的课程信息查询请求进行处理 增加课程资源对管理员提出的增加课程信息请求进行处理 编辑课程资源对管理员提出的编辑课程信息请求进行处理 课程资源列表对显示课程资源列表请求进行处理 删除课程资源对删除课程资源请求进行处理 学生信息查看对教师和管理员提出的学生信息查询请求进行处理 教学公告发布对管理员提出的新增开课信息请求进行处理 开课信息查看对学生和教师提出的开课信息查看请求进行处理 编辑开课信息对管理员提出的编辑开课信息请求进行处理 选课对学生提出的选课请求进行处理 选课内容查看对学生提出的查看自己的选课内容请求进行处理 成绩查询对学生提出的成绩查询请求进行处理 毕业设计 12 成绩录入对管理员提出的新增成绩请求进行处理 成绩修改对管理员提出的修改成绩请求进行处理 4 系统设计系统设计 4 1 体系结构设计 一个体系就是各部分一起定义整个系统的蓝图 结构 接口和通信技术 使用体系结构有这样一些意义 1 软件分解成更小的块 有助于理解 管理 开发和维护软件 2 软件体系结构可以帮助基于组件开发 3 使用被验证的体系结构 便于管理软件的性能和保证质量 4 通过正确的体系结构可以更好地实现重用性 5 正式的体系结构会使系统很脆弱 难以升级和实现收缩 等等 本系统采用 MVC Modet View Control 2 的模式来设计系统结构并利用 JSP Servlet 的技术来实现 本着业务逻辑和表现逻辑分离 对系统资源进行合 理有效管理 优化系统性能的指导思想 设计总体框架如图 4 1 所示 图 4 1 采用 MVC 设计模式的 J2EE 框架 系统的各组成部分如下 1 客户层 在本系统中主要是 Web 浏览器 2 web 层 所有的用户界面的开发和简单的业务逻辑都在这层得到实现 考虑到 JSP 能够嵌人 HTML 中 开发容易和产生的用户界面灵活等优点 故本 毕业设计 13 系统采用 JSP 实现用户界面 而简单的业务逻辑一般都由 Servlet 来开发 响应 用户的查询等请求并调用业务逻辑层的 JavaBean 组件来实现复杂的业务逻辑 3 业务逻辑层 这一层主要由 EJB 组件的开发来实现 会话 Bean 的主要 任务是处理商务逻辑 客户端交互 返回给它计算结果等 而实体 Bean 的主要 任务是表达数据库中的数据 用来完成据库的访问 实体 Bean 是通过 JDBC 访 问数据库 完成记录插入 查找和删除等操作 4 数据层 负责数据的存储管理 安全性管理和完整性管理等各种数据 库服务 存放系统中的持久性的数据信息 系统采用浏览器服务器模型 Browser Server 一般的 客户通过浏览器发 送 HTTP 请求给服务器端 Web 服务器 Web 服务器接收该请求并且进行相应处 理 然后将处理后的结果返回到客户的浏览器中 在客户端 浏览器中呈现的 正是该系统的视图部分 系统将很好地结合使用 JSP 与 Servlet 由 JSP 把用户提出的 httpRequest 送 达 Servlet Servlet 根据请求的类型不同分别进行不同的处理 选择不同的操作 模块 具体地说比如说对数据库的读写更新查询操作等 Servlet 处理完这些比 较复杂的请求之后 选定 JSP 页面把最后的结果回应给使用者 此时的 JSP 就 只是起到了视图的作用 并不做逻辑上运算只是将控制器方面传过来的资料展 示给用户而己 系统中的业务层中主要是 JavaBean 组件 它们负责接收由 servlet 传来的请 求并对此进行处理 比如连接数据库执行查询等操作 JavaBean 组件称为系统 的模型 Model 4 2 系统功能设计 4 2 14 2 1 功能模块划分功能模块划分 网络教学系统是一个综合性的教学管理应用系统 它包含一个教育系统的 很多方面 这些方面不是孤立的而是相互联系的 本网络教学系统作为网络教 学的一个重要支撑平台 从功能上来看 分为网络课程管理系统 系统管理和 信息交流管理三个子系统 课程管理子系统包括学生选课管理 课程资源管理 教学公告管理等功能 整个系统的功能结构如图 4 2 所示 毕业设计 14 教学平台网络教学 平台 系统设置管理子系统网络教学管理子系统信息交流子系统 系统机构设置 系统用户管理息 角色 权限管理 系统日志管理 数据库操作 学期管理 课程管理 在线短消息 成绩查询 班级管理 教学信息发布 网络教学 教学论坛 图 4 2 系统功能结构图 对各子系统功能模块的详细描述如下 1 网络教学管理 学生选课管理 学生根据自己的实际情况选取要求学习的课程的选课班级 管理员对学生选课的内容进行维护 教师可以查看 审核自己所教课程的选课情 况 课程资源管理 课程资源信息包括课程名称 课程类别 在线备课 在线浏 览课件 所有注册登录的用户都可以浏览和查询该信息 管理员和教师执行对 课程信息的维护功能 教学公告发布 管理员发布某门课程的教学公告 教学公告的详细信息包 括课程名称 开课时间 起止日期 主讲教师等 通过设置链接还能查看课程 的详细介绍 管理员对教学公告进行维护 学生成绩管理 包括成绩录入 修改 成绩统计与查询 成绩统计是对各 门课程平均成绩的计算以及各分数段人数的统计 成绩查询则可以检索和查看 任何一位学生的成绩 学生只能查询自己的考试成绩 其他功能由管理员执行 2 个人信息管理 教师档案管理 包括教师信息的录入 更新 查询 删除等功能 这里的 教师信息主要包括教师的教育背景 研究方向 科研成果以及发表论文 专著 和获奖等方面的情况 只有教师本人才能对自己的信息进行修改 管理员可执 行删除功能 学生档案查看 提供教师和管理员对学生信息的查看功能 毕业设计 15 3 系统管理 用户登录和用户注销 下面给出系统的详细功能设计 4 2 24 2 2 功能实现设计功能实现设计 1 类设计 边界类 边界类设计为 ISP 页面 主要有以下边界类 如表 4 1 所示 表 4 1 边界类设计 功能模块页面 学生选课管理Choosecourse jsp 选课页面 Viewchoosecourse jsp 查看选课内容页面 ChoosecourseEdit jsp 选课修改页面 课程资源管理Course jsp 课程资源列表页面 Addcoursejsp 新增课程资源页面 Editcourse jsp 编辑课程资源页面 CourseSeek jsp 课程查询页面 Courseseekresult jsp 课程查询结果页面 教学公告管理Addteachcourse jsp 发布教学公告页面 TeachcourseList jsp 开课信息列表页面 TeachcourseSeek jsp 查询页面 TeachcourseSeekresult jsp 查询结果页面 Editteachcourse jsp 编辑开课信息页面 课程管理 成绩管理Marklnput jsp 成绩录入页面 MarkSeekjsp 成绩查询页面 MarkEdit jsp 成绩修改页面 MarkSeekResult jsp 查询结果页面 个人信息管理Teacherlnfolnput jsp 教师信息输入页面 TeacherlnfoEdit jsp 教师信息修改页面 TeacherlnfoList jsp 教师信息列表页面 TeacherlnfoSeek jsp 教师信息查询页面 TeacherlnfoSeekResult jsp 查询结果页面 教师档案管理 学生档案查看StulnfoListjsp 学生信息列表页面 StulnfoSeekjSP 学生信息查询页面 StulnfoSeekResult jsp 查询结果页面 用户登录Login jsp 登录页面 Main jsp 主页面 用户登录注销 用户注销Logoutjsp 注销页面 实体类 实体类设计为实体 Bean 实体组件是存储在关系型数据库中的数据模型 代表了数据库中业务数据的对象视图 并提供了访问和操作数据的对象封装 实体组件具有持久性 1 支持多用户的共享访问 毕业设计 16 使用实体组件作为业务数据的对象视图 客户端可以通过实体组件提供的 接口间接地实现对数据库业务数据的访问与操作 控制类 我们使用实体组件封装了业务数据 用处理特定业务功能的会话组件来封 装与该业务操作相关的实体组件 由特定的会话组件控制和协调各实体组件之 间的交互 把数据查询 更新和新增的业务操作迁移到业务功能层来处理 从 而向客户端提供了一个简单的功能接口 减少了通过网络和跨越服务层之间的 远程通讯 同时也避免了把实体组件对象直接暴露给远程的客户端 降低了两 层之间的耦合程度 因此在本子系统中设计了下面这些控制类如表 4 3 表 4 3 控制类设计 功能模块控制类名称操作 CourseUstSevlet显示课程资源列表 CourseSeekSevlet查询课程资源 CourseAddSevlet增加课程资源 CourseEditSevlet编辑课程资源 CourseDeleteSevlet删除课程资源 CourseControlSevlet前端请求总控制器 课程资源管理 CourseBean封装所有对课程资源的操 作 TeachCourseListSevlet显示开课信息列表 TeachCourseSeekSevlet查询开课信息 TeachCourseAddSevlet增加开课信息并提交发布 TeachCourseEditSevlet编辑开课信息 TeachCourseDeleteSeviet删除开课信息 TeachCourseControlSevlet前端请求总控制器 教学公告管理 TeachCourseBean封装所有对开课信息的操 作 ChooseCourseServlet学生选课提交 ChooseCourseViewServlet查看选课内容 ChooseCourseEditServlet修改选课内容 ChooseCourseControlServlet前端请求总控制器 学生选课管理 ChooseCourseBean封装所有对选课信息的操 作 MarkAddServlet添加成绩 MarkSeekServlet查询成绩 MarkEditServlet修改成绩 MarkDeleteServiel删除成绩 MarkControlServlet前端请求总控制器 成绩管理 MarkBean封装所有对成绩的操作 TeacherEditServlet修改教师信息教师信息管理 TeacherSeekServlet查询教师信息 毕业设计 17 TeacherDeleteSeNlet删除教师信息 TeacherListServlet显示教师信息列表 TeacherControlServlet前端请求总控制器 TeacherBean封装所有对教师信息的操 作 StuListServlet学生信息列表显示学生信息查看 StuSeekServlet学生信息查询 LoginServlet用户登录控制 UserBean身份验证 系统管理 LogoutServlet用户注销 显示开课信息列表 入口参数 无 返回结果 结果集 查询开课信息 入口参数 无 查询条件 类型 字符串 返回结果 结果集 增加开课信息 入口参数 开课名称 类型 字符串 开课日期 类型 日期型 主讲教师 类型 字符串 收费数目 类型 整型 返回结果 布尔型 如果添加成功 返回 TRUE 否则返回 FALSE 编辑开课信息 入口参数 开课名称 类型 字符串 开课日期 类型 日期型 主讲教师 类型 字符串 收费数目 类型 整型 返回结果 布尔型 如果修改成功 返回 TRUE 否则返回 FALSE 删除开课信息 入口参数 课程编号 类型 字符串 毕业设计 18 返回结果 布尔型 如果删除成功 返回 TRUE 否则返回 FALSE 4 2 34 2 3 用例设计用例设计 设计用例是为了识别类或者子系统 其实例去执行用例的事件流 定义对 设计对象或子系统及其接口的操作需求 为用例捕获实现性需求 UML 提供了版类 stereotype 这个扩展机制来区分不同类型的类 UML 的 创始人 Jacobson 定义了三种类型的版类对象类 stereotype object types 边界对 象 boundary object 实体对象 entity object 和控制对象 control object 在 ROSE 中 可以设置类的 stereotyp 域为 和 这个阶段我们得到系统的类图和详细的顺序图 对 JSP 以及 JavaBean 组件我们现在都可以用类为它们建模 方便类图和序列图中的表示 对于系统中的用例 可以根据设计类来进一步细化其顺序图 下面显示了发布 教学公告和学生选课用例的细化顺序图 图 4 3 学生选课细化顺序图 在类图中我们可以看到在用例实现的过程中所涉及到的类以及它们之间的 关系 这些类之间的关系是这些类产生代码的基础 同一 JSP 网页被分解成两 个部分 客户页和服务器页其中后者和前者的关系是构建和被构建的关系 即图 4 7 中的 Build 的关系 当网页中的表单中的内容需要提交到 Servlet 时 表单 和它们的关系是提交的关系 调用 Servlet 的 doPost 或 doGet 方法 在 UML 的语法中类之间的关系主要分为以下儿种 协作 依赖 泛化 实现 积聚 协作关系在 Java 语法中表现为一个类对另一个类的引用 如图 4 4 所示 毕业设计 19 图 4 4 发布教学公告类图 4 3 数据库设计 4 3 14 3 1 数据库设计原则数据库设计原则 1 一致性原则 对信息进行统一 系统的分析与设计 协调好各数据源 做到 数出一门 算法统一 度量一致 保证系统数据的一致性和有效性 2 完整性原则 数据库的完整性是指数据的正确性和相容性 要防止合法用户使用数据库 时向数据库加入不合语义的数据 对输入到数据库中的数据要有审核和约束机 制 3 安全性原则 数据库的安全性是指保护数据 防止非法用户使用数据库或合法用户非法 使用数据库造成数据泄露 更改或破坏 要有认证和授权机制 4 可伸缩性原则 数据库结构的设计应充分考虑发展的需要 移植的孺要 具有良好的扩展 性 伸缩性和适度冗余 5 规范化 毕业设计 20 数据库的设计应遵循规范化理论 规范化程度过低的关系 可能会存在插 入 删除异常 修改复杂 数据冗余等问题 解决的方法就是对关系模式进行 分解或合并 A 范化 转换成高级范式 规范化一共有六个级别 1NF 2NF 3NF BCNF 4NF 5NF 但也应当注意到 并不是规范化程度越高的关系就越好 在 具体应用时 到底规范化进行到什么程度需要权衡利弊 一般而言 做到第三 范式 3NF 就足够了 4 3 24 3 2 系统数据库设计系统数据库设计 网络教学管理系统数据库的设计遵循以上原则 数据库中的表包括用户信 息 教师基本信息 课程资源信息 选课信息 开课信息 学期信息 课件信 息 作业信息等 设计各表的数据结构如下 表 5 1 教师学生信息表 字段名类型说明 idint 11 自动增加 主键 userIDvarchar 50 用户登录 ID passwordvarchar 50 登录密码 userNamevarchar 50 真实姓名 deptBHvarchar 50 用户所在部门编号 外 键 userLeveltinyint 3 用户类型 roleBHvarchar 50 用户所属角色编号 外 键 isLockedtinyint 1 用户审核标识 表 5 2 系统机构表 字段名类型说明 DeptBHvarchar 50 部门编号 Depnamevarchar 50 部门名称 表 5 3 学期信息表 字段名类型说明 idint 11 自动增加 主键 termNamevarchar 50 学期名称 startTimedate开始时间 endTimedate结束时间 表 5 4 课程信息表 毕业设计 21 字段名类型说明 idint 11 自动增加 主键 courseNamevarchar 30 课程名称 isUsedtinyint 1 是否可用 0 不可用 1 可用 introtext课程介绍 表 5 5 选课班级信息表 字段名类型说明 idint 11 自动增加 主键 classNamevarchar 30 班级名称 teachervarchar 30 任课教师 courseidsmallint 6 讲授课程 termtinyint 3 上课学期 personCounttinyint 3 班级人数 periodvarchar 50 每周上课时间 表 5 6 选课班级 学生信息表 字段名类型说明 idint 11 自动增加 主键 ClassidInt 11 选课班级 StudidInt 11 学生 ID 表 5 7 布置作业信息表 字段名类型说明 idint 11 自动增加 主键 titlevarchar 200 作业标题 teachervarchar 50 布置作业教师 classidsmallint 6 交作业班级 subtimedate发布作业时间 deadLineTimedate最后交作业时间 introtext 作业内容 attachvarchar 100 作业附件 表 5 8 学生提交作业及教师批发信息表 字段名类型说明 idint 11 自动增加 主键 hwidmediumint 9 需交作业 ID 毕业设计 22 stu idvarchar 50 交作业学生 titlevarchar 100 作业标题 introtext作业内容 subtimedate提交时间 attachvarchar 100 作业附件 commenttext教师评语 scoretinyint 3 教师成绩 5 关键技术及实现关键技术及实现 5 1 用户身份鉴别 身份鉴别通常包括用户提交的一个用户名和口令 你可以只使用用户名或 口令对用户进行鉴别 也可以选择通过 IP 地址来鉴别 通过 IP 地址来鉴别只 有当用户拥有静态 IP 时才起作用 所以并不常用 在此我采用基于表单的身份 鉴别 在基于表单的鉴别中 提示用户名和口令的 Web 页面由服务器来提供 而 不是依靠浏览器显示对话框 这样 在需要用户登录时就可以给用户提交额外 的信息和选项了 需要注意的是 虽然输入口令时显示为星号 但是浏览器还 是以纯文本传送口令本身 非加密 不进行 Base64 编码 只是纯文本 如果采 用 GET 方法将表单数据提交给服务器 用户浏览器将在 URL 中明显地显示出 口令 而且浏览器还会将它保存在最近浏览地页面列表中 因此 在笔者实现 基于表单的身份验证时 使用的是 POST 方法提交表单数据给服务器 当用户登录认证的表单请求后 表单采用 POST 方法提交到 LoginServlet LoginServlet 将获得的参数传给 Userbean 是一个 JavaBean 如果通过验证就进 入系统的功能区 否则就返回登录界面 下面介绍用户 bean Usecjava 它定义了一组属性 包括 1 userlD 这是一个只读属性 标示

温馨提示

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

评论

0/150

提交评论