毕业论文_课表生成系统.doc_第1页
毕业论文_课表生成系统.doc_第2页
毕业论文_课表生成系统.doc_第3页
毕业论文_课表生成系统.doc_第4页
毕业论文_课表生成系统.doc_第5页
免费预览已结束,剩余33页可下载查看

下载本文档

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

文档简介

重庆三峡学院毕业设计 论文 题目 课表生成系统题目 课表生成系统 专专 业 软件工程业 软件工程 年年 级 级 20082008 级级 学学 号 号 作作 者 者 指导老师 指导老师 副教授 副教授 完成时间 完成时间 20122012 年年 5 5 月月 说 明 本系统的作用是对所有班级 老师 课程之间进行行之有效的管理 通过本系统不仅可以进 行对班级 老师 课程进行快速 高效的更优化排课管理工作 而且还可以对各班级信息 各个 老师信息进行快速查询 并可随时进行增加 修改 删除 等工作 使操作人员能够快速的对课 程进行有效的控制与管理 本论文从各年级 班级以及老师信息管理出发介绍了系统开发的背景 阐述了系统的设计思路与设计方法 并对系统中遇到的问题及应用前景作了阐述 本系统界面友 好 操作简单 比较实用 目 录 摘要 I ABSTRACT II 1 引言 1 2 系统简介 1 2 1 系统结构 1 2 2 研究的内容及意义 2 2 3 可行性分析 3 2 4 设计指导思想 3 2 5 开发技术概论 3 2 5 1 JSP 技术 4 2 5 2 SQL SERVER 2000 4 2 5 3 数据库访问接口 JDBC 技术 5 3 系统分析 6 3 1 需求分析 6 3 2 系统数据流图 6 3 3 数据字典 10 4 系统设计 11 4 1 系统的设计目标 11 4 2 系统结构设计 11 4 3 系统数据库的设计 13 4 4 系统中参数的传递 20 5 系统的实现 21 5 1 登录模块的实现 21 5 2 修改密码模块的实现 23 5 3 添加人员模块的实现 26 5 4 其它模块的实现 30 6 结论 32 致谢 32 参考文献 32 I 课表生成系统 摘要 现代大学的学科设置越来越科学 大学的学习方式也在不断的更新 许多国内的大学开始 向国际化方向发展 采用学分制的管理系统 然而 要采用这样一种先进的模式 首先要面对就 是学生选课时所依据的排课表该如何生成的问题 在以往的教学管理中 许多高校只能通过人工 的方式生成 伴随着学科范围的不断扩大 各个院系的学科科目也越来越多 庞大的课时 教师 教室信息令学校的教务安排人员眼花缭乱 无法迅速 高效地完成排课任务 智能排课系统就是 为了解决这一问题而开发的 它对旧的排课方式方法是一种革命性的冲击 智能排课系统具有高 效性 灵活性 可重复利用性等特点 它可以轻松 合理的解决了高校的排课问题 关键词 教学平台 网络 排课系统 智能 课表调整 II Schedule Generation System PENG Dao qing Grade 2008 Computer Science and Technology School of Computer Science and Engineering Chongqing Three Gorges University Wanzhou Chongqing 404000 Abstract The modern university discipline s installation is more and more science a lot of domestic universities begin to develop toward internationalization adopt the administrative system of the credit system But is it adopt advanced mode this to want should first face it is whom student base on at the course of selecting that arrange this problem of how to produce of the school timetable In past teaching management a lot of universities can only produce through artificial way Following the constant enlargement of the discipline range discipline subject of all institute department is getting more and more too make educational administration of the school arrange personnel dazzledly in huge period teacher classroom information it is unable to accomplish the task of arranging the lesson fast high efficient It is developed in order to solve this problem that intelligence arranges the lesson system It is a kind of revolutionary impact to old arranging the methods of the lesson It last lesson intelligence the systems there is efficiency flexibility can such characteristics as re utilizing etc It can light reasonable settlement university arrange the problem of the lesson Key words Teaching Platform Network Scheduling System Intelligent Curriculum Adjustment 2012 届计算机科学与技术专业毕业设计 论文 第 1 页 共 32 页 1 引言 近几年来 由于教师 教室和设备的相对紧张 如何进行合理地安排和分配 从而充分利用 教学资源是我们不得不面对的问题 而人工进行排课不仅任务重 效率低 而且易出错 难于维 护 想要排出一张各方面都满意的课表非常困难 并且随着高校规模的扩大手工排课的难度和工 作量呈几何级数增长 在实际的应用中 很多研究者都提出了各种解决课表生成问题的方法 由于课表生成问题的 复杂性 还没有找到有效的算法能获得 NP 完全问题的最优解 因此 如何运用近似算法和新的软 件技术来降低课表生成问题的计算复杂度 仍然是颇具挑战性的研究方向 课表生成系统是利用数据库管理系统开发的一种应用系统 其开发主要包括数据库的建立 充 分满足正常的题库管理的前提下 使学校管理人员可以随时掌握学校的排课情况 进一步指导学 校的教学 真正实现了业务一体化 为学校全方位的信息化管理奠定了基础 2 系统简介 课表生成系统实际上是时间表的优化问题 如何根据班级的课程设置 课程的周内次数 现 有教室资源 以及现有教师资源进行科学的合理安排 提供给学校的教务部门一个课表生成系统 在实际工作中具有一定的应用价值 在课表生成过程中 我们考虑了三类资源 一类是教师资源 一类是教室资源 一类是时间 资源 教师资源包括在编教师和每个教师历年所上过的课程 以及所上过课程的评价值 同一课 程可能有多名教师能开课 在资源分配允许的情况下 自然选择评价值高的教师上这门课 多数 情况下 在进行教学任务安排时 已经人为考虑了教师和课程之间的固定联系 教室资源是指现 有可用教室 时间资源是指允许可用的时间段 此外 按每学期教学大纲 本学期每个班 专业 所上课程和每门课的周学时数 次数 是预定的 同时 我们还需要考虑不同时间段的上课效果 排课问题是根据现有教师资源 教室资源和时间资源 如何使排课结果最佳 适当定义相应的一 些评价系数后 排课问题变成了一个时间表的优化问题 本文课表生成问题中的一些约束条件 定义了相关的评价系数 建立了排课问题的数学模型 利用遗传算法对问题进行求解 然后生成各类时间表 2 1 系统结构 课表生成系统三层体系结构如图 2 1 所示 课表生成系统 第 2 页 共 32 页 WWW 浏览器 课表 生成 系统 DB JSP JSP WWW 服 务 器 WWW 浏览器 WWW 浏览器 管理员 教师 学生 图 2 1 系统三层体系结构图 用户工作界面是通过 WWW 浏览器来实现 主要有三个部分 管理员 教师 学生 极少部分 事务逻辑在前端 Browser 实现 但是主要事务逻辑在服务器端 Server 实现 2 2 研究的内容及意义 随着科学技术的不断提高 计算机科学日渐成熟 其强大的功能已为人们深刻认识 它已进入人 类社会的各个领域并发挥着越来越重要的作用 作为计算机应用的一部分 使用计算机对排课信息 进行管理 具有着手工管理所无法比拟的优点 例如 检索迅速 查找方便 可靠性高 存储量大 保密性好 寿命长 成本低等 这些优点能够极大地提高排课管理的效率 也是的科学化 正规化 管理 与世界接轨的重要条件 因此 开发这样一套管理软件成为很有必要的事情 在下面的各章 中我们将以开发一套课表生成系统为例 谈谈其开发过程和所涉及到的问题及解决方法 计算机已经成为我们学习和工作的得力助手 今天 计算机的价格已经十分低廉 性能却有 了长足的进步 它已经被应用于许多领域 计算机之所以如此流行的原因主要有以下几个方面 首先 计算机可以代替人工进行许多繁杂的劳动 其次 计算机可以节省许多资源 第三 计算 机可以大大的提高人们的工作效率 第四 计算机可以使敏感文档更加安全 等等 在中小学中 用计算机管理排课的意义现在我国的中小学校中排课的管理水平还停留在纸介质的基础上 这样 的机制已经不能适应时代的发展 因为它浪费了许多人力和物力 在信息时代这种传统的管理方 法必然被计算机为基础的信息管理所取代 我作为一个计算机应用的大专生 希望可以在这方面 有所贡献 改革的总设计师邓小平同志说过 科学技术是第一生产力 我希望能用我四年的所学 编制出一个实用的程序来帮助中小学进行更有效的课程管理 归纳起来 好处大约有以下几点 1 可以存储历届的排课 安全 高效 2 只需一到二名排课录入员即可操作系统 节省大量人力 3 可以按照录入人员的输入来自动生成课程表 并尽量减少冲突等情况发生 排课的设 2012 届计算机科学与技术专业毕业设计 论文 第 3 页 共 32 页 计分析根据实际情况 我们使用原型法 Rapid Prototyping 即以少量代价快速地构造一个可执 行的软件系统模型 使用户和开发人员可以较快地确定需求 然后采用循环进化的开发方式 对 系统模型作连续的精化 将系统需具备的性质逐渐增加上去 直到所有的性质全部满足 此时模 块也发展成为最终产品了 2 3 可行性分析 1 系统环境分析 硬件 采用目前广泛使用的计算机 内存 128MB 以上 硬盘 40G 以上 系统软件平台 采用目前比较流行的中文 WINDOWS XP 系统 编程工具采用 JSP 与 DREAMWEAVER 相结合 数据库系统 采用 SQL server 数据库 系统的运行环境 采用网络上的浏览器 服务器方式 2 经济可行性 主要是对项目的经济效益进行评价 本系统属于自主开发 在经济上基本 没有负担 所以本系统在经济上是可行的 3 技术上的可行性 技术上的可行性分析主要分析技术条件能否顺利完成开发工作 硬 软件能否满足开发者的需要等 该管理系统采用了当前新兴的 Browser Server 模式进行开发 三 层的 Browser Server 体系结构具有许多传统 Client Server 体系结构不具备的优点 而且又紧密 的结合了 Internet Intranet 技术 是技术发展的大势所趋 它把应用系统带入了一个崭新的发 展时代 数据库服务器选用 SQL server 数据库 它能够处理大量数据 同时保持数据的完整性并 提供许多高级管理功能 它的灵活性 安全性和易用性为数据库编程提供了良好的条件 因此 系统的软件开发平台已成熟可行 硬件方面 科技飞速发展的今天 硬件更新的速度越来越快 容量越来越大 可靠性越来越高 价格越来越低 其硬件平台完全能满足此系统的需要 综上所述 系统开发目标已明确 在技术和经济等方面都可行 并且投入少 见效快 因此 系统的开发是完全可行的 2 4 设计指导思想 系统功能设计本着从用户角度出发的原则 要求实用 且符合用户提出的合理需求 系统设 计在不违反系统整体性的基础上 可根据用户的需求进行二次开发 不断完善系统功能 便于系 统的不断升级 2 5 开发技术概论 本系统是典型的基于 Web 的基于 B S 模式的课表生成系统 其开发的主要是后台数据库的设 计建立和围绕数据库进行的客户端的设计开发 后台数据库管理系统采用微软公司的 SQL Server 2000 本系统采用基于 Web 的 B S Browser Server 体系结构 采用标准 MVC 三层架构 JSP 课表生成系统 第 4 页 共 32 页 JavaBean Servlet 开发模式 其中 Servlet 担当主要逻辑控制 通过接受 JSP 传来的用户请求 调 用及初始化 JavaBean 再通过 JSP 传到客户端 本系统中 SqlBean 担当主要的与数据库的连接和 通信 JavaBean 在本系统中主要担当配合 JSP 以及 Servle 来完成用户的请求 而 JSP 主要担当接 受与响应客户端 在 JSP 中使用 Java 的 JDBC Java DataBase Connectivity 技术 实现对数据库 中表记录的查询 修改和删除等操作 JDBC 技术在 JSP 开发中占有很重要的地位 2 5 1 JSP 技术 JSP 是 Java Server Pages 的缩写 是由 Sun 公司 1999 于年推出的一种动态网页技术标准 JSP 是基于 Java Servlet 以及整个 Java 体系的 Web 开发技术 利用这一技术可以建立安全 跨平 台的先进动态网站 这项技术还在不断的更新和优化中 你可能对 Microsoft 的 ASP Active Server Pages 比较熟悉 ASP 也是一个 Web 服务器端的开发技术 可以开发出动态的 高性能的 Web 服 务应用程序 JSP 和 ASP 技术非常相似 ASP 的编程语言是 VBScript 和 JavaScript JSP 使用的是 Java 与 ASP 相比 JSP 以 Java 技术为基础 又在许多方面做了改进 具有动态页面与静态页面 分离 能够脱离硬件平台的束缚 以及编译后运行等优点 完全克服了 ASP 的脚本级执行的缺点 JSP 已逐渐成为 Internet 上的主流开发工具 当服务器上的一个 JSP 页面被第一次请求执行时 服务器上的 JSP 引擎首先将 JSP 页面文件 转译成一个 Java 文件 再将这个 Java 文件编译生成字节码文件 然后通过执行字节文件响应客户 的请求 而当这个 JSP 页面再被请求执行时 JSP 引擎将直接执行这个字节码文件来响应客户 这也是 JSP 比 ASP 速度快的一个原因 而 JSP 页面的首次执行往往由服务器管理者来执行 这个 字节码文件的主要工作是 把 JSP 页面中普通的 HTML 标记符号 页面的静态部分 交给客户的 浏览器负责显示 执行之间的 Java 程序片段 JSP 页面中的动态部分 并把执行结 果交给客户的浏览器显示 当多个客户请求一个 JSP 页面时 JSP 引擎为每个客户启动一个线程而不是启动一个进程 这些线程由 Web 服务器进程来管理 JSP 与传统的 CGI 为每个客户启动一个进程相比较 效率要 高的多 JSP 代码与 JavaScript 等网页脚本语言是不同的 在标准的 HTML 页面中可以出现的任何内 容都可以在 JSP 页面中出现 在一个典型的数据库应用中 JSP 页面将会调用某些 JavaBeans 这些组件可以通过 JDBC 直 接或间接地访问数据库 JSP 页面在运行之前要被解释成 Java Servlet 解释过程是按需进行的 有时可能会提前进行 然后它可以处理 HTTP 请求并生成相应信息 JSP 技术为编写 Servlet 程序提供了更为便利的途径 2 5 2SQL server 2000 Microsoft SQL Server2000 是由 Microsoft 公司开发的 简称 SQL Server 由一系列相互协作 的组件构成 能满足最大的 Web 站点和企业数据处理系统存储和分析数据的需求 2012 届计算机科学与技术专业毕业设计 论文 第 5 页 共 32 页 Microsoft SQL Server 2000 的特性包括 1 Internet 集成 SQL Server 2000 数据库引擎提供完整的 XML 支持 它还具有构成最大的 Web 站点的数据 存储组件所需的可伸缩性 可用性和安全功能 SQL Server 2000 程序设计模型与 Windows DNA 构架集成 用以开发 Web 应用程序 并且 SQL Server 2000 支持 English Query 和 Microsoft 搜 索服务等功能 在 Web 应用程序中包含了用户友好的查询和强大的搜索功能 2 可伸缩性和可用性 同一个数据库引擎可以在不同的平台上使用 从运行 Microsoft Windows 98 的便携式电脑 到运行 Microsoft Windows 2000 数据中心版的大型多处理器服务器 SQL Server 2000 企业版支 持联合服务器 索引视图和大型内存支持等功能 使其得以升级到最大 Web 站点所需的性能级 别 3 企业级数据库功能 SQL Server 2000 关系数据库引擎支持当今苛刻的数据处理环境所需的功能 数据库引擎充分 保护数据完整性 同时将管理上千个并发修改数据库的用户的开销减到最小 SQL Server 2000 分 布式查询使您得以引用来自不同数据源的数据 就好象这些数据是 SQL Server 2000 数据库的一 部分 同时分布式事务支持充分保护任何分布式数据更新的完整性 复制同样使您得以维护多个 数据复本 同时确保单独的数据复本保持同步 可将一组数据复制到多个移动的脱接用户 使这 些用户自主地工作 然后将他们所做的修改合并回发布服务器 4 易于安装 部署和使用 SQL Server 2000 中包括一系列管理和开发工具 这些工具可改进在多个站点上安装 部署 管理和使用 SQL Server 的过程 SQL Server 2000 还支持基于标准的 与 Windows DNA 集成的 程序设计模型 使 SQL Server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分 这些功能使您得以快速交付 SQL Server 应用程序 使客户只需最少的安装和管理开销即可实现 这些应用程序 5 数据仓库 SQL Server 2000 中包括析取和分析汇总数据以进行联机分析处理 OLAP 的工具 SQL Server 中还包括一些工具 可用来直观地设计数据库并通过 English Query 来分析数据 2 5 3 数据库访问接口 JDBC 技术 数据库是任何基于 B S 模式的网上教学教务系统的核心内容 目前 Web 与数据库接口技术 有很多 其中 JDBC Java DataBase Connectivity 是 Java 程序连接和存取数据库的应用程序接口 由一组用 Java 语言编写的类与接口组成 是执行 SQL 语句的 JavaAPI JDBC 最好的东西是它提 供单一的 API 集合来访问多种数据源 用户只需要房屋需求一个 API 集合 就可以访问任何数据 源 这些数据源可以是关系型的 层次型的或者任何其它格式 您需要的只是一个 JDBC 驱动程 序 用它连接到目标数据源 JDBC 做了大量的工作 将所有技术细节都封装到了一个实现软件 包中 从而将程序员从供应商特定的桎梏中解放出来 课表生成系统 第 6 页 共 32 页 3 系统分析 3 1 需求分析 目前大多数排课系统是采用各个教学单位进行教学任务的指派 然后将教学任务提交给教务 课 教务人员将数据输入微机 进行排课 打印课表等工作 如何更有效地利用人力 物力资源 充分发挥微机的辅助作用 减轻教务人员的工作强度 以高校排课系统的设计与实现为主要的研究对象 在深入分析高校的教学管理模式及排课要 求的基础上 对高校课表生成系统的架构与实现进行了探索性研究 一个完善的课表生成系统 应提供更为便捷与强大的管理及选择功能 由于开发时间和计算机软 硬件的限制 该系统提供这些功能有限 不能考虑到所有的情况 本性能比较简单 能录入的学 生信息也有限 对于管理方面也有一定的缺陷 课表生成系统可主要实现以下目标 分 3 个模块 登录模块 排课模块以及选课模块 排课 和选课为主要模块 本系统面向用户为 管理员 教师 学生 以不同身份登录所获得权限不同 登录的名为学生的学号以及教师的工号 管理员拥有最高权限 可进行 1 根据分配的学生编号和密码登录系统 如果学生编号和密码 正确允许登录 否则拒绝 登录 2 选择课程科目 由于必修课是必修选择的 在选择科目前 应该禁止学生取消掉必修科目 已经选择的权利 3 进行选课处理后 学生可以查看到那些选修课已经选择上 4 查看课程记录 学生可以查看课程被选的情况 3 2 系统数据流图 管理员 输出 教师信息 学生信息 教学计划 学生 输入 所选课程 输出 最终课表 教师信息 教室信息 成绩 教师 输入 学生成绩 输出 课程信息 1 0 层数据流图如图 3 1 所示 2012 届计算机科学与技术专业毕业设计 论文 第 7 页 共 32 页 图 3 1 系统 0 层数据流图 2 一层数据流图如图 3 2 所示 选修课程 最终课表 用户名密码课程信息 成绩 教学计划 学生信息 教师信息 用户名密码 课程信息 学生成绩最终课表 用户名密码 流图 学生成绩 图 3 2 一层数据流图 1 选课 2 教务管理 3 成绩管理 学生 管理员 教师 学生 课表生成系 统 管理员 老师 用户名 密 码选课 生成课表 成绩 用户名 密码 学生信息 教师信息 用户名 密码 学生成绩 课程信息 课表生成系统 第 8 页 共 32 页 3 选课的二层数据流图如图 3 3 所示 预选课课表最终课表 选修课程 最终课表 图 3 3 二层数据流图 选课 4 教务管理的二层数据流图如图 3 4 所示 教师信息 学生信息 教学计划验证信息课程信息 用户名密码学生成绩 图 3 4 二层数据流图 登录 5 成绩管理的二层数据流图如图 3 5 所示 合格 成绩 成绩 不合格 合格 不合格信息存储 图 3 5 二层数据流图 成绩管理 6 登录的三层数据流图如图 3 6 所示 1 1 选课 1 2 正选课 2 1 登录 2 2 信息管理 4 1 正考成绩 4 2 打印成绩 4 4 重修 4 3 补考 2012 届计算机科学与技术专业毕业设计 论文 第 9 页 共 32 页 管理员 帐号密码教师 验证码均正确 用户名密码 学生合格 不合格 帐号密码验证码 有一项不正确 图 3 6 三层数据流图 登录 3 3 数据字典 数据字典是关于数据的信息的集合 也就是对数据流图包含的所有元素的定义的集合 任何 字典最重要的用途都是供人查阅对不了解的条目的解释 数据字典的作用也正是在软件分析和设 计的过程中给人提供关于数据的描述信息 本系统的数据字典如下 表 3 1 课程编号 名字 课程编号 描述 唯一地标识课程库表中一门特定课程的关键域 定义 课程编号 8 char 表 3 2 教师登录号 表 3 3 管理员号 名字 教师登录号 描述 唯一的标识教师表中关键域 定义 教师登录号 10 char 名字 管理员号 描述 唯一标识管理员表中关键域 定义 管理员号 10 char 2 1 1 合法性 检验 2 1 2 判定类 型 2 1 3 不 能登陆 2 1 5 查询 2 1 6 资格审 查 2 1 4 管理 课表生成系统 第 10 页 共 32 页 表 3 4 学生编号 名字 学生编号 描述 唯一地标识学生表中关键域 定义 学生编号 10 char 表 3 5 时间 名字 时间表 描述 开始选课时间和截止时间 定义 开始时间 starttime 结束时间 finishtime 表 3 6 课表时间 名字 课表时间表 描述 学生学号 课程编号等 定义 设主键为 sno cno 将两表联系起来 表 3 7 上课时间 4 系统设计 4 1 系统的设计目标 完整性 课表生成系统管理员提交对应的字典型数据后 有个整体学校排课的动作 此动作完成 学生才可以选课 同时管理员觉得哪里不合理 可以手动调整对应课程 计算机处理排课规则 使其 数据不会遗漏 保密性强 学生选课 只可以查看到自己的选课情况 保存功能 管理员可将有价值的教室保存下来 已备在以后的选课中再用 系统简单易用 限时性 保密性 真实性强 系统使用灵活 学生可通过网络 获取课表 完成选课 使选课不再局限于教室 排课选课系统可主要实现以下目标 本系统分为 3 个模块 登录模块 排课模块以及选课模 块 排课和选课为主要模块 本系统面向用户为 管理员 教师 学生 以不同身份登录所获得 权限不同 前台主要用于学生再现选课和查询课程 后台主要用于管理员对选课信息 专业信息等进行 管理 后台管理登录 管理员登陆对系统的字典型数据进行设置 名字 上课时间 描述 开始上课时间 下课时间以及课程结束时间 定义 cweek 4 char ctime 4 char 2012 届计算机科学与技术专业毕业设计 论文 第 11 页 共 32 页 管理员具体操作 实现对管理员的基本操作 1 管理员登陆 输入账户密码登陆系统 默认 admin admin 2 管理字典型数据 以下数据均为完成 选课动作的 字典型数据 管理学生教师数据 主要包括学生教师查询 添加修改删除等动作 管理课程信息 主要包括课程信息查询 课程信息添加 课程信息修改和课程信息删除四 部分 配置数据 将教师与科目关联 就是这个教师上什么课 4 2 系统结构设计 系统总体设计框架如图4 1 所示 图4 1 总体设计框架图 系统各模块功能设计说明如下 登陆 注册模块 在教学系统中 不同的用户有不同的权限 根据注册身份进行区分 在这个模块中 可以新注册 一个帐号 或者用已注册的用户登陆 教师学生注册需经管理员添加 管理员模块 添加人员 添加教师 添加管理员 添加学生 人员管理 教师管理 管理员管理 学生管理 信息维护 信息发布 信息浏览 课程查找 课表生成系统 管理学生 删除学生 查询学生 查询课程 删除课程 修改课程 添加课程 查询教师 删除删除 修改教师 配置教师 科目教师配置 科目教室配置 科目班级配置 配置相关约束 修改管理员 管理课程管理教师配置信息修改 课表生成系统 第 12 页 共 32 页 信息管理 教师关联科目 教师关联科目设置 教师模块 教师管理 修改密码 评分管理 评判对应学生的分数情况 课表查看 选择所教科目信息数据 教师关联科目设置 学生模块 学生管理 主要是修改密码 选课浏览 浏览可以选择的课程 查看已选课程 课表查看 分数查看 4 3 系统数据库的设计 经过对课表生成系统的分析 我们将系统划分出了学生 教师 管理员 课程 教室 课表 等几个实体 其各个实体的属性如下 学生 学号 姓名 专业 学院 年龄 性别 密码 教师 登录名称 姓名 密码 所属学院 职位 管理员 登录名 密码 课程 课程号 课程名字 容量 课时 起始结束周 课程类别 上课时间 授课地点 学 分 教室 教室号 可容人数 所属类别 学生实体 E R 如图 4 2 所示 学生 性别 学号 姓名 学院 年龄 密码 专业 图4 2 学生实体E R 图 2012 届计算机科学与技术专业毕业设计 论文 第 13 页 共 32 页 教师实体E R 如图4 3 所示 教师 登录名称 职称 密码 所属学院 姓名 图4 3 教师实体E R 图 管理员实体E R 如图4 4 所示 管理员 登录名 密码 图4 4 管理员实体E R 图 课程实体E R 如图4 5 所示 课程 课程号 上课地点 学分 课程类别 起始时间 课时 容量 课程名字 上课时间 图4 5 课程实体E R 图 课表生成系统 第 14 页 共 32 页 各实体之间的总关系如图4 6 所示 图 4 6 实体之间的总关系图 开发一个基于 Web 的数据库 最重要的是后台数据库的结构设计 其设计原则必须符合整个 系统的需要 这里使用的是关系型数据库 系统中选用了 SQL Server 完成数据库的设计 在基于 B S 模式的网上教学教务系统中 主要是添加新课程 问题解答等输入的数据信息 并且以适当的方式进行汇总统计 并输出给用户 数据类型决定了处理的方式也就是算法 因此 数据是系统实现分析的起点 因为对每一种对象的管理都比较类似 在此仅以课程管理为例 来分析一下本系统中的数据 流向 首先 对学生来说 本系统接受学生的查询请求 经过对查询请求的分析得到用户的需要 然后把该需要转化为结构化查询语言 SQL 语句 送入数据库系统中 数据库根据 SQL 语句 查询 出结果 送回本系统 系统接收到数据库返回的查询结果集 经过一定的分析处理 转化为 JSP 页面 返回给客户端浏览器 其次 对管理员用户来说 本系统除了完成学生的查询请求之外 还接收管理员用户的数据 修改请求 经过对数据修改请求的检查 确定该请求是获得权限的管理员用户发出 即为有效请 求之后 对该请求进行分析 得到请求的具体内容 然后转化为结构化查询语言 SQL 语句 送入 数据库系统 更新数据库信息 本系统包括数据库的安全和服务器的安全 采用管理员表示和鉴定的方法实现数据库的安全 此安全管理措施并不在前台开发工具中实现 而是在后台数据库中实现 在登录数据库时 系统 让管理员户表示自己的身份 鉴别此管理员是否为合法用户 若是 系统进一步核实用户 通常 课程 专业 管理员 课表 学生 管理员 课程 管理 包含 包含 包含 管理 管理 管理 管理 管理 2012 届计算机科学与技术专业毕业设计 论文 第 15 页 共 32 页 要求用户输入口令 系统和对用户口令以鉴别用户身份 服务器的安全也是通过用户在登录服务 器时输入合法的用户名和密码来实现的 这是一种简单可行的方法 实现起来比较方便 根据需求分析 部分数据库如图所示 表 4 1 tbAdmin 表 4 2 tblTeacher 表 4 3 tLeaveWord 表 4 4 tArticle 课表生成系统 第 16 页 共 32 页 表4 5 tAdmin tAdmin 字段名称自动增长字段大小字段类型默认值允许空 fID 4int fUserName 50nvarchar fPassword 50nvarchar fPurview 50nvarchar f5 50nvarchar f4 50nvarchar f3 50nvarchar f2 50nvarchar f1 50nvarchar 表4 6 tbDeatil tblDeatil 字段名称自动增长字段大小字段类型默认值允许空 ID 4int TeacherId 4int SubjectId 4int 选修 50nvarchar 星期 50nvarchar 2012 届计算机科学与技术专业毕业设计 论文 第 17 页 共 32 页 节数 50nvarchar 表4 7 tbResult tblResult 字段名称自动增长字段大小字段类型默认值允许空 ID 4int ExamID 4int StudentID 4int 答案 400 0 nvarchar 分数 4int 表4 8 tblStudentDetail tblStudentDetail 字段名称自动增长字段大小字段类型默认值允许空 ID 4int DeatilID 4int StudentID 4int fen 4int 表4 9 tblTeacher tblTeacher 字段名称自动增长字段大小字段类型默认值允许空 课表生成系统 第 18 页 共 32 页 ID 4int fname 50nvarchar fpsw 50nvarchar fSex 50nvarchar fSchool 50nvarchar fZy 50nvarchar fSubject 50nvarchar fNote 50nvarchar fUpdateTime 8datetime getdate 表4 10 tChannel tChannel 字段名称自动增长字段大小字段类型默认值允许空 fChannelID 4int fChannelName 20nvarchar fTeacher 50nvarchar fCount 50nvarchar fTime 50nvarchar fAdd 50nvarchar fMoney 50nvarchar fNote 50nvarchar fKCXZ 50nvarchar 2012 届计算机科学与技术专业毕业设计 论文 第 19 页 共 32 页 fKCLX 50nvarchar 表4 11 tSubjectIn tSubjectIn 字段名称自动增长字段大小字段类型默认值允许空 fSubjectInID 4int fSubjectInName 20nvarchar 4 4 系统中参数的传递 本系统中涉及到参数传递问题 一种是直接由上页面传递给下一页面 这种参数是用 request 来 实现的 第二种参数是贯穿整个系统的 在系统的前后都有可能用到 是个静态的变量 这种参数用 session 来传递就可以实现 1 Request 它是通过直接读取提交表单中的数据来实现数据的交换 它常与 response 结合使用 实现服务 器与客户端数据的动态交换 Request 是向服务器的 Web 页传输数据 Request 对象的 getParameter 能够用于输入到HTML 表单的信息与服务器脚本通信 这取决于提交数据的 HTML 表单 的Method 属性 而 response 则是由服务器向客户端的浏览器传送数据 用户可以使用该对象将服 务器端的数据用 HTML 超文本的格式发送到用户端的浏器 其功能和 Request 恰恰相反 2 Session Session 其实指的就是访问者从到达某个特定的主页到离开为止的那段时间 每个访问者都可 以单独获得一个 session 在一个 Web 应用程序中 当一个用户访问该应用时 session 类型的变量 可以提供这个用户在该Web 应用的所有页面中共享数据 如果另一个用户也同时访问该 web 应用 它 也拥有自己的 session 变量 但两个用户之间无法通过 session 变量来共享信息 在大多数的情况 下 session 用来作为全局变量 Session 可以用来存储访问者的一些喜好 也可以用来创建网上购 物的虚拟购物栏 可以用来跟踪访问者的习惯 跟踪访问者从一个页面到另一个页面 还可以记录 一个人是否被授权了 如果被授权了 这样下次进入相同的页面就不用输入密码 总的来说 session 的发明弥补了 HTTP 协议的局限 使得一个用户在多个页面间切换的时候也能保存它的信息 课表生成系统 第 20 页 共 32 页 以下内容由本人独立完成 5 系统的实现 主要界面有 登陆界面 管理员操作界面 的添加学生 添加教师界面 学生操作界面的修改密码 选课 查看课表 查看已选课程 教师操作界面的修改密码查看课表 评分等界面的功能实现 5 1 登录模块的实现 登录界面的流程图 5 1 所示 T 开始 输入用户名 输入密码 判断用户名和密码 老师管理员学生 结束 输入验证码 F 图 5 1 登录界面的流程图 登录界面如图 5 2 所示 2012 届计算机科学与技术专业毕业设计 论文 第 21 页 共 32 页 图 5 2 登录界面 登录页面说明 用户输入用户名 密码 验证码 默认的是管理员和学生 如果是教师登录 则选教师登录 默认的管理员的用户名和密码是 admin admin 部分代码如下 课表生成系统 JSP SQL 首页 height 28 colSpan 3 align middle background image obj menu bg gif 课表生成系统 账户密码一般默认 admin admin 密 码 function checkspace checkstr var str for i 0 i 5 2 修改密码模块的实现 修改密码的程序流程图如图 5 3 所示 2012 届计算机科学与技术专业毕业设计 论文 第 23 页 共 32 页 开始 输入原密码 数据库中读 取判断是否 相等 相相等 输入新密码 重新输入新密码 两次输 入是否 一样 修改成功 更新数 据库 结束 T F T F 图 5 3 修改密码流程图 修改密码的界面如图 5 4 所示 图 5 4 修改密码界面 密码修改界面说明 首先要输入原密码 系统自动匹配是否为当前用户的密码 输入新密码 新密码不能和旧密码相同 再次输入新密码 再次输入的新密码必须和新密码相同 相同且不和 原密码相同 提交成功 否则重置 部分代码如下 String ID request getParameter ID if request getParameter psw null 课表生成系统 第 24 页 共 32 页 String psw new String request getParameter psw getBytes iso 8859 1 String psw1 new String request getParameter psw1 getBytes iso 8859 1 String psw2 new String request getParameter psw2 getBytes iso 8859 1 if psw1 equals psw2 else out print alert 新密码二次输入不正确 location href User Psw Update jsp return Statement stmtCount conn createStatement ResultSet TYPE SCROLL SENSITIVE ResultSet CONCUR UPDAT ABLE String sqlCount Select count from tadmin where fPassword psw and fID ID ResultSet RsCount stmtCount executeQuery sqlCount int Count 0 if RsCount next if RsCount getInt 1 1 out print alert 原密码不正确 location href User Psw Update jsp return RsCount close stmtCount close Statement stmtU conn createStatement String SqlU update tAdmin set fPassword psw where fID ID out print SqlU int gai stmtU executeUpdate SqlU stmtU close 2012 届计算机科学与技术专业毕业设计 论文 第 25 页 共 32 页 if gai 0 out print alert 操作成功 location href User Psw Update jsp Statement stmtChannel conn createStatement String Sql Select from tAdmin where fID ID ResultSet RsChannel stmtChannel executeQuery Sql 5 3 添加人员模块的实现 添加学生 添加教师模块流程图如图 5 5 添加教师 添加密码 性别 教师名 所属学 院 添加登录名 判定登录名 添加教师 T F 图 5 5 添加教师流程图 课表生成系统 第 26 页 共 32 页 添加教师界面如图 5 6 所示 图 5 6 添加教师界面 添加学生界面如图 5 7 所示 图 5 7 添加学生界面 模块说明 分别输入教师的登录名称 密码 性别 教师名 所属学院 职位和备注 添加存入 到数据库中 教师的登录名称是唯一的 分别输入学生学号 密码 姓名 学院 年级专业 性别 年龄 添加存入数据库中 学生的学号是唯一的 function form1 onsubmit if document form1 ChannelName value window alert 请输入课程名称 return false 2012 届计算机科学与技术专业毕业设计 论文 第 27 页 共 32 页 课程 管理 添加课程 0 out print 科目名称 fChannelName 添加成功 stmt ChannelADD close conn close 课表生成系统 第 28 页 共 32 页 课程名称 起始结束周 课程类别 课程 补考 等级考试 上课时间 备注 2012 届计算机科学与技术专业毕业设计 论文 第 29 页 共 32 页 5 4 其它模块的实现 学生选课浏览的界面如图 5 8 所示 图 5 8 学生选课浏览界面 Statement stmt Channel conn createStatement String SqlChannel Select from viwSubject ResultSet RsChannel stmt Channel executeQuery SqlChannel try Statement stmtChannelCount conn createStatement ResultSet TYPE SCROLL SENSITIVE ResultSet CONCU R UPDATABLE String sqlChannelCount Select count from viwSubject ResultSet RsChannelCount stmtChannelCount executeQuery sqlChannelCount int ChannelCount 0 if

温馨提示

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

评论

0/150

提交评论