电子选课系统.doc_第1页
电子选课系统.doc_第2页
电子选课系统.doc_第3页
电子选课系统.doc_第4页
电子选课系统.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

I 电子选课系统 摘要 近年来 随着 Internet 的发展 网络已成为我们生活中不可分割的一部分 现 在人们的工作也越来越依靠网络 教育办公也是如此 当前学校的学生数量不断增多 现在学校普遍实行学分制 学生可以任意选课 使得教学信息量几十倍地增加 传统的人工选课系统已经不能适应这种要求 为了 提高对教学信息的管理效率 建立一种公平 快速 高效的 符合学分制度的管理 平台已经刻不容缓 因此 实行选课系统的网络化势在必行 本文介绍了电子选课系统的体系结构 关键技术和数据库设计 本系统利用 NET 结合数据库的技术 ODBC 实现电子选课系统的网络化 系统架构采用现在主 流的 B S 即 Browser Server 架构 它的三层结构为 应用层 客户端浏览器 业务逻辑层 Web Server 数据层 数据库服务器 这种结构不仅能更好地支 持动态网页技术 而且也易于扩展和维护 本系统简单易用 可以方便老师和学生的选课 它可以实现教师和学生的信息 查询 修改 网上选课的功能 可以增加或删除各种教学信息 以及教师和学生帐 户 同时 本系统也增加了许多专门应付用户的误操作的代码 对用户的操作进行 引导 以提高系统的安全性和健壮性 由于本系统采用 DTO 和 DAO 技术 使得对数 据库的操作更加方便 系统层次更加清晰 便于以后对各层代码的修改和添加 增强 了系统的可扩展性 关键词 选课 B S DTO DAO 教学 数据库 业务逻辑 II ELETRONIC ELECTIVE SYSTEM ABSTRACTIONG In recent years with the popularization of Internet network has become an indispensable part to our life Owing to the real time sharing and interaction of the Internet the daily woks are more and more dependent on the net including the education office business work Because of the amount of students increases Credit Hour System Carries out in colleges and the academician can select course at will teaching information content increases as several times and the traditional elective system can t meet it To improve the management of the teaching information we have no time to delay to establish a kind of elective system that is equitable speedy fit for credit hour system This paper introduces the architecture key technology and database design of the electronic elective system This system is a network electronic elective system with Net integrating database technology The system s architecture is the B S which is also called as Browser Server that is the mainstream nowadays Its triplex layers are Application Layer Client Browser Operation Logic Layer Web Server and Data Layer Database Layer This technology can also support the Active Pages Technology but prone to expand and maintenance This system is simplicity and easy to use and convenient to electives for teachers and students It can implement the teachers and students information searching altering and elective on net functions and add or delete all kinds of teaching information and accounts for teachers and students This system also includes many codes that are specially used to deal with the user s disoperation and to guide the users operations These codes have boosted the system s safeness and haleness Because of adapting the DAO Data Access Object and DTO Data Transfer Object technology it is convenient to operate on the database and the system arrangement is more in focus It is convenient to alter code latter and the system s extensibility has been enhanced KEY WORD elective DAO DTO teaching database operation logic III 目录目录 摘要 I ABSTRACTIONG II 目录 III 1 前言 1 1 1 电子选课系统概述 1 1 1 1 传统的选课模式和现在的电子选课系统 1 1 2 电子选课系统的一般需求 2 1 2 1 功能需求 2 1 2 2 性能需求 3 1 3 本课题目标 3 1 4 系统的优点 3 2 可行性分析 4 2 1 课题调研 4 2 2 可行性分析 4 3 系统需求分析 5 3 1 系统的模型 5 3 1 1 功能分析 5 3 1 2 系统架构 6 3 2 集成开发环境 6 3 2 1 硬件 6 3 2 2 软件 7 3 2 3 开发工具分析 7 3 2 4 数据库的选择 8 4 系统设计 8 4 1 功能模块设计 8 4 1 1 登陆模块设计 11 4 1 2 学生管理模块 11 IV 4 1 3 教师管理模块 11 4 1 4 管理员管理模块 12 4 1 5 选课信息管理模块 12 4 2 数据库设计 13 4 2 1 对象关系图 13 4 2 2 数据库设计 15 4 3 开发方法 17 4 3 1 数据库访问 17 4 3 2 界面友好性 20 4 3 3 系统安全性 20 5 系统实现 20 5 1 开发环境搭建 20 5 1 1 软件安装 20 5 1 2 IIS 5 1 配置 20 5 1 3 数据库的设计 21 5 1 3 项目框架搭建 21 5 1 登陆模块的实现 21 5 2 密码修改模块 22 5 3 学生管理模块 23 5 3 1 学生信息显示 23 5 3 3 学生信息删除 23 5 3 3 学生信息添加 24 5 3 3 学生信息修改 25 5 3 3 学生信息查询 26 5 3 3 班级选择 26 5 3 3 班级退选 27 6 结束语 29 参考文献 29 1 1 前言 1 1 电子选课系统概述 随着Internet网络的不断延伸以及计算机技术的迅猛发展 我们的生活正经历着 革命性的变化 对于接触新技术和新知识前沿的高等院校来说 传统的教学和管理模 式正受到新技术的挑战 基于网络的教学和管理越来越体现出了它的优势 但是 由 于各个学校的情况不尽相同 必须按照自己学校的实际情况进行设计 网络化的电子选课系统利用先进的网络通讯基础及先进的网络应用平台 建设一 个安全 可靠 开放 高效的信息管理电子化系统 为学校的课程管理提供现代化的 条件及丰富的综合信息服务 实现选课流程的统一性 规范性和一致性 使得教师和 学生可以方便快捷地进行网上的选课及查询实时选课信息 管理员通过对具体的信息 的配置处理使得选课过程协调一致 最终将绝大部分的选课工作交由计算机去处理 实 现办公的自动化 1 1 1 传统的选课模式和现在的电子选课系统 随着素质教育的不断推进 很多高校都陆续采用了学分制 大学生们以自由选择 自己感兴趣的课程 以前各院校采用以班级为单位的原始手工报送的选课方式 暴露 出了很多的缺点与不足 传统的选课一般是学校在每个学期单独开设若干门课程 用来作为选修课程 而 且为了避免和学生白天的课程冲突 这类课程基本上都开设在晚上 学生可以选择的 课程的种类非常少 课程可容纳的学生也有限 并且也不方便师生的学习和工作 而 选课是实行学分制的前提 如果没有充足的课程让学生去选择 则无法真正称为学分 制 这种原始的选课方式会出现不公平现象 因为每门课允许听课的人数都会有所限 制 这样以班级为单位的手工选课方式就会出现有些选课速度快的班级把某些课程首 先选满的情况 导致其他班不能对该课程进行选择 耗时较长等缺点 并且很难对选 课情况作出统计 生成报表 这样给教务人员的工作带来很大的压力 随着全球信息化技术的兴起 特别是Internet的日益普及 我国各大中专院校也 加快了信息化进程 并且都建立了自己的校园网 这为我们网络现代化教育管理提供 了必备的物质基础 现在基于web技术的电子选课系统一般是用多层架构实现的 通过校园网或 Internet利用Web服务提供的各种功能 使用浏览器访问选课服务器 对选课数据库 中数据的存储 查询和修改 进行网上选课 查看和发布成绩 提供一个分布式的教 学环境 与传统的远程教学相比 它应该具有如下特点 1 软件的易用性要高 使用要简便 不需经过专门的培训而在尽可能短的时间内 就可以掌握 用户端无需增加任何附加软件 2 2 信息要全面 学生可以通过本系统在极短的时间内获得所需的信息 如课程简 介 任课教师情况 使用的教材 参考资料等 学生和教师可以快速地相互交流信息 3 使用自由度要大 使用该系统应该无时间和空间的限制 教师和学生可以在任 何时间 任何地点访问本系统 但只能在规定的范围内选课 4 系统要具有一定的先进性 灵活性和鲁棒性 系统要易于维护 并对将来的业 务流程和内容的变化保持一定的弹性 1 2 电子选课系统的一般需求 1 2 1 功能需求 1 基本功能需求 登录模块 用户可以通过用户编号和密码登录到系统 在用户登录的同时记录 用户的基本信息 课程信息的查看模块 用户可以查看某一课程信息 课程信息的修改模块 用户可以修改课程信息 课程信息的删除模块 用户可以删除课程信息 课程信息的查询模块 用户可以有条件的查询课程信息 系统返回符合条件的 所有课程信息 课程信息的添加模块 用户可以添加课程信息 班级信息的查看模块 用户可以查看某一班级的具体信息 班级信息的修改模块 用户可以修改某一班级的具体信息 班级信息的显示模块 按照用户的不同权限显示全部的班级或部分班级的信息 班级信息的查询模块 用户可以有条件地查询班级信息 系统返回符合条件的所 有班级信息 班级信息的删除模块 用户可以删除班级的信息 班级信息的添加模块 用户可以添加班级信息 班级分配模块 管理员可以分配给教师相应的班级供其选择 个人信息的查看模块 用户可以查看自己的个人信息 个人信息的修改模块 用户可以修改自己的个人信息 选课信息的查询模块 用户可以查看当前选课的情况 选课信息的修改模块 用户可以实时修改自己选课的信息 选课信息的删除模块 用户可以按照自己的权限删除选课信息 选课信息的查看模块 显示给用户当前选课的信息 并且由于不同用户的需求 也可以只显示部分有用的选课信息 课程选择模块 按照老师 学生的不同角色选择课程 课程退选模块 按照教师 学生的不同角色退选已选的课程 3 密码修改模块 用户可以修改自己的密码 管理员可以修改任意一个用户的密码 配置信息修改模块 用户可以修改配置信息 配置信息添加模块 用户可以添加配置信息 配置信息查询模块 用户可以查询配置信息 配置信息删除模块 用户可以删除配置信息 退出系统 退出系统 返回登陆页面 1 2 2 性能需求 1 灵活性 管理员用户可以设置教师和学生的选课开始和结束时间 并设置他们的最大选课 数与最小选课数 不同角色的用户登陆系统后 根据自己的权限可以调用相应的功能 模块 以实现对用户权限的控制 2 可扩展性 本系统采用B S模式的三层架构 对数据库的操作 数据库信息的读取和业务逻 辑属于不同的层 各个功能模块之间也相对独立 将来要增加或修改功能 只要修添 加或修改相应的模块即可 3 安全性 管理员 教师和学生通过浏览网页的方式调用各自的不同模块 不属于自己的功 能模块是不能被调用到的 管理员拥有最高权限 几乎可以对数据库中的所有内容进 行修改 教师和学生的主要功能是查看 选课和退选 1 3 本课题目标 1 掌握采用Internet的TCP IP协议 以B S方式 ASP NET和C NET编程技术 多媒体技术 2 掌握SQL Server2000的应用 特别是对于SQL语句的灵活应用 3 学习用DTO Data Transfer Object 和DAO Data Access Object 的编程技术 4 深刻理解 Net Framework 1 1开发环境 5 熟悉项目开发的一般流程 从可行性研究到编码测试有清晰的认识 使自己 初步掌握开发小型项目的能力 1 4 系统的优点 本系统采用了Microsoft公司的 NET开发环境 前台页面采用了较先进的AS P NET技术 后台采用能全面支持 NET Framework的C NET技术 同时数据库用的是 Sql Server2000 因而它的安全性是有保障的 同时 本系统采用了分层的技术 由 于了DTO Data Transfer Object 和DAO Data Access Object 层的应用 对数据库 的表的配置简单了起来 对数据库的操作以及数据的传输基本集中在这两层中 而业 务逻辑则全都放在了web层中 所以 我们可以更加轻松地操作数据库 因此 此系 4 统更加易于维护和扩展 2 可行性分析 2 1 课题调研 1 在功能上 本课题主要用到了DataSet对象和DTO对象对于数据库中的数据的 存取 以及DataGrid控件显示和编辑的基本功能 这此功能都是可以实现的 由于这 些都是 NET编程中较常用到的功能 因此有关这方面的资料很多 其中也不乏写得较 详细的 所以 这此功能的实现基本上没有太大的问题 2 对数据库的操作上 由于引用了DAO Data Access Object 技术 我们对 于数据库数据的查询 添加 修改 删除等操作 可以很容易用C Net执行Sql语句 的命令来实现 因此 只要有正确的业务逻辑 这一层也是可以实现的 3 对业务逻辑上 我通过大学四年的生活 已经对课程有了基本的了解 再认 真研究学校教务处的电子选课系统后 相信会有很大的帮助 对于这个系统的业务逻 辑也可以直接向导师和教务处咨询 相信对于这个业务逻辑最熟悉的应当是教务处了 因此 业务逻辑的实现也是很现实的 2 2 可行性分析 1 技术可行性 本系统仅需要一台装有 IE 和 Office 软件的计算机即可 对机器本身没有太高的要求 一般当前学校或个人电脑完全可满足要求 对于软件技术要求 现在的程序设计语言已非常成熟 要运用 HTML 样式 图形 图象制作工具来制作生动活泼的网页及美观的图形文件或动画文件 数据库使用 SQL Server 2000 中提供的数据库桌面工具 ODBC 前台页面采用 ASP NET 后台用到 C NET 两种语言配合使用 同时也会运用少量的 JavaScript 技术 以使功能更加 完善 对于系统的开发环境用到的软件一般有 Microsoft Visual Studio 2003 数据 库用 SQL Server 2000 服务器软件为 IIS 5 0 这些软件较为常用 很容易获取 因 此开发环境是易于配置的 2 经济可行性 由于本系统是为学生选课管理使用的系统 装上该应用 软件 即可使用系统 系统成本主要集中在系统软件的开发上 当系统投入运行后可 以为学校节约大量的人力 物力 所带来的效益远远大于系统软件的开发成本 通过 前期的调查分析可知 此系统的开发一般人数不会很多 周期不长 在经济上完全可 行 3 操作可行性 界面设计时充分考虑管理人员的习惯 使得操作简单 数据录入迅速 规范 可靠 统计准确 制表灵活 适应力强 容易扩充 5 3 系统需求分析 3 1 系统的模型 3 1 1 功能分析 选课系统的中的用户 系统管理员 教师 学生 不同用户 具有不同的权限 1 系统管理员的权限 最高权限 可以为老师和学生分配账号 创建课程并指定任课教师 为教师开设的课程班级设定选课的最大人数和选课结束时间 对学生选课信息进行统计 2 教师的权限 在系统管理员指定给自己可以授课的课程中 选择自己想教的课程 并开设班级 3 学生的权限 在系统管理员为课程班级设置选课时间和班级最大人数之后 学生可以选择希望 选修的课程以及教授该课程的老师 任课老师最多可以开设 3 门课程 最少必设一门课程 并且要保证每门课至少有 一位教师开设 而学生至少选择两门课程 管理员可以对多门课指定多个任课教师 而一个学生选课可以针对某一门课选择 不同的教师 根据以上需求 从操作功能上可以分为两类 一种是通用功能操作 另一种是为 不同用户订制的功能操作 1 通用功能 a 修改密码 b 注销 2 用户功能 a 系统管理员 i 统计图表 查看每门课选课人数 老师选课统计 学生选课统计以及选课 数相关的统计 ii 添加人员 实现对另外两种用户的添加 修改 删除 查看 iii 课程设置 管理要开设的课程 选定相应的授课老师 设置老师和学生是 否可以选课的状态 iv 班级设置 管理开设课程所对应的班级 可以确定某一课程的班名 最多 可以选课的人数以及选课截止日期 6 v 添加学生班级 添加学生班级 而非课程班级 在添加学生时可以确定该 学生的所在班级 b 教师 i 信息显示 教师相关信息 ii 选择授课 在系统规定的课程范围内选定要选的课程 并允许退选 iii 列出自己所开课信息 并可以查看自己班级学生的信息 同时也能为自己 的学生评分 iv 列出所有班级信息 同时可以查看班级相应课程的信息 c 学生 i 信息显示 ii 学生选课 iii 列出选课信息 列出已选课信息 并允许退选 iv 列出所有班级信息 同时可以查看班级相应课程的信息 3 1 2 系统架构 为了充分利用网络的优势 基于网络的电子选课系统应该用 B S 架构来实现 而不 用以前的 C S 架构 C S 架构 即 Client Server 架构 这是以前开发项目时经常用 到的架构 是传统开发模式 一般以数据库和客户端的两层结构实现 也有加入中间 件的三层或多层结构 但随着科技的进步 网络编程技术的发展 这一技术逐渐被另 一技术所替代 即本系统所要用到的 B S 架构 B S 结构即是 Browser Server 结构 引用动态网页技术 弥补了 C S 结构的不足 主要用于 TCP IP 的访问 B S 结构方便 灵活 它的三层结构为 应用层 客户端浏 览器 业务逻辑层 Web Server 数据层 数据库服务器 图 3 1 B S 结构 3 2 集成开发环境 3 2 1 硬件 操作系统 Microsoft Windows XP Professional 5 1 版本 2600 处理器 AMD Sempron 2200 主频 1 5GHz 内存 256MB DDR333 7 IIS 5 1 服务器 数据库 Microsoft Sql Server 2000 数据库 3 2 2 软件 操作系统 Windows 2000 或更高版本 程序开发软件 Microsoft Visual Studio 2003 Net 数据库软件 Microsoft Sql Server 2000 sp3 辅助编程软件 EditPlus 2 3 2 3 开发工具分析 1 架构 本系统采用现在较为流行的 B S 架构 因为它是发展到现在较为完善的一种网络 编程架构 它采用动态网页技术 可以较好地实现电子选课系统的业务逻辑 对于数据库的中数据的查询 添加 修改 插入和删除操作 我们主要是采用 DTO 和 DAO 技术来实现 2 DTO 技术 DTO 就是数据传输对象 Data Transfer Object 的缩写 常见的方式就是为对应 数据库中的表建立一个类 该类包含这个对应这个表的所有字段的包含 get 和 set 方 法的公有属性 例如 数据库中用户表 User 有 name password 字段 则建立一个 DTOUser 类 public 属性有 name password 这两个属性运用 C 的技术实现 即分别用 get set 的 方法来读取和修改 name password 属性值 这样就可以把数据库中的数据作为参数传给其他函数 或者用外部数据来修改数 据库中的数据 3 DAO 技术 DAO 就是 Database Access Object 数据库访问对象的英文缩写 DAO 模型是设 计关系数据库系统结构的对象类的集合 它们提供了完成管理一个关系型数据库系统 所需的全部操作的属性和方法 这其中包括创建数据库 定义表 字段和索引 建立 表间的关系 定位和查询数据库等 本系统中的数据库编程就是创建数据访问对象 这些数据访问对象对应于被访问 物理数据库的不同部分 如数据库 表 字段和索引等 同时用这些对象的属性和方 法来实现对数据库的操作 以便在页面中使用绑定和非绑定控件来显示操作结果并接 收用户输入 例如 对应于数据库中的用户表 User 的操作 我们建立类 DAOUser 其中包含各 种对表 User 操作的数 GetAllUsers GetUserByUserName DeleteUserByUse rName 等 它们的返回值和参数可以是 DataSet DTO 对象 int 型 字符串或为空类型 这些 函数在对数据库进行操作时 基本都是运用 Sql 语句进行操作 4 动态网页的实现 8 网页的编写主要是用到 C NET 和 ASP NET 两种语言 也有极少的 javascript 语 句 对网页的外观设计用到了 Css 样式文件 C NET 和 ASP NET 是微软平台上较成熟 也是现在较为完善的编程语言 C NET 是一种全面支持 NET Framework 的语言 是微软公司在总结以前面向对 象编程语言的诸多优点的而开发的 ASP net 可以说是 ASP 技术的替代技术 是 ASP 的一大进步 在 Microsoft N ET Framework 的强大支持下 可以使用 C VB Javascript 三种语言来编写代码 采用 预先编译技术 使得代码安全性加强 3 2 4 数据库的选择 现在一般用户都使用 windows 操作系统 而且我们所设计的系统也是针对 windows 的 所以 UNIX Linux 下的数据库就不考虑了 在 windows 在最常用的是 MS Access 和 SQL Server 2000 在 MS Access SQL Server 2000 之间选择 本人选择 了 SQL Server 2000 MS Access 是属于小型数据库 Access 的文件容量有限 通常不超过 2G 同时 可以使用的用户数较少 尽管很多软件允许 255 个用户 但正常工作通常不超过 20 个用户 安全功能较弱 xBase 甚至于不能加密 不支持事务处理 有的任务需 要一次同时更新多个表 如果因为掉电或其他问题造成有的表修改了 而有的表没有 修改会使数据出现错误 而事务处理就是解决这个问题的 ACCEE 还不支持存储过 程及函数 这样将会使数据库的可操作性降低 而且 Access 的安全性也有很多问题 如果获得或者猜到 Access 数据库的存储路径和数据库名 则该数据库就可以被下载 到本地 由于 Access 数据库的加密机制非常简单 所以即使数据库设置了密码 解 密也很容易 SQL Server 属于大型数据库 SQL Server 2000 支持的最大数据库为 1 048 516 TB 而 Access 2000 的最大容量为 2GB 两者在这方面不是一个量级的 在安全性上 也是 SQL Server 2000 强很多 速度快慢要看你的任务 因为 SQL Server 2000 对系 统的要求比 Access 2000 高很多 如果当用户超过 12 个以后 ACCESS 数据库的性能 会降低 50 所以从这些方面考虑 本人还是选用 SQL Server 2000 4 系统设计 4 1 功能模块设计 功能模块结构图如下 9 电子选课系统 课程管理 班级管理 教师管理 学生管理 选课管理 配置管理 登录 退出 管理员管理 密码修改 图 4 1 电子选课系统的主要功能模块 学生管理 学生信息显示 学生信息修改 学生信息删除 学生信息查询 学生信息添加 班级选择 班级退选 图 4 2 学生管理模块 教师管理 教师信息显示 教师信息修改 教师信息删除 教师信息查询 教师信息添加 课程选择 课程退选 图 4 2 教师管理模块 10 管理员信息修改 管理员管理 管理员信息显示 管理员信息删除 管理员信息添加 图 4 3 管理员管理模块 班级管理 班级信息显示 班级信息修改 班级信息删除 班级信息查询 班级信息添加 图 4 4 班级管理模块 选课管理 选课信息显示 选课信息删除 选课信息查询 选课信息添加 图 4 5 选课信息管理 11 4 1 1 登陆模块设计 一共有管理员 教师和学生三种登陆方式 用户通过选择不同的登陆方式后 在 登陆界面中输入用户名和密码 系统验证后登陆到系统 将登陆到系统的用户信息保 存到 DTO 对象中 并用 Session 对象传送 系统按照用户角色的不同 显示出用户可 以执行的操作 4 1 2 学生管理模块 1 学生信息显示模块 每个用户都可以调用此模块 但权限有些不同 管理员可以查看每一个学生的信 息 学生用户只可以查看自己的信息 教师只可以查看自己班级学生的信息 2 学生信息修改模块 只有管理员和学生可以调用此模块 但权限有些不同 管理员可以修改第一个学 生的信息 学生用户只可以修改自己的信息 3 学生信息删除模块 只有管理员有权限执行这一操作 通过运行这一个模块 管理员可以将某一个或 多个学生信息从学生表中完全删除 4 学生信息添加模块 只有管理员有这一个权限 通过运行这一个模块 管理员可以在学生表中添加一 个学生的信息 并将学生信息中的学号 姓名等必要的信息初始化 5 学生信息查询模块 管理员和教师有权限执行这一操作 管理员可以在全部的学生列表中有条件地查 询 管理员在自己班级的学生列表中查询 系统返回符合条件的记录集 6 班级选择模块设计 只有学生用户在规定的选课期间内才调用这一模块 学生通过执行这一操作 选 择自己想要参加的班级 并添加到自己的课表中 7 班级退选模块 只有学生用户在规定的选课期间内才调用这一模块 学生通过执行这一操作 将 自己课表中的班级删除 4 1 3 教师管理模块 1 教师信息显示模块 每个用户都可以调用此模块 但权限有些不同 管理员可以查看每一个学生的信 息 教师用户只可以查看自己的信息 学生只可以查看自己班级教师的信息 2 教师信息修改模块 只有管理员和教师可以调用此模块 但权限有些不同 管理员可以修改每一个教 师的信息 教师用户只可以修改自己的信息 3 教师信息删除模块 12 只有管理员有权限执行这一操作 通过运行这一个模块 管理员可以将某一个或 多个教师信息从教师表中完全删除 4 教师信息添加模块 只有管理员有这一权限 通过运行这一个模块 管理员可以在学生表中添加一个 教师的信息 并将教师信息中的教师号 姓名等必要的信息初始化 5 教师信息查询模块 管理员和学生有权限执行这一操作 管理员可以在全部的教师列表中有条件地查 询 学生在自己班级的教师列表中查询 系统返回符合条件的记录集 6 课程选择模块设计 只有教师用户在规定的选课期间内才调用这一模块 教师通过执行这一操作 选 择管理员分配给自己的课程班级 从而完成开设班级的过程 7 课程退选模块 只有教师用户在规定的选课期间内才调用这一模块 教师通过执行这一操作 可 以退选自己已经选择的课程班级 4 1 4 管理员管理模块 1 管理员信息显示模块 只有特定的超级管理员可以调用此模块 通过调用这一模块 超级管理员可以查 看每一个管理员用户的信息 2 管理员信息修改模块 只有管理员可以调用此模块 通过调用此模块 管理员可以修改自己的信息 3 管理员信息删除模块 只有特定超级管理员有权限执行这一操作 通过运行这一个模块 超级管理员可 以将某一个或多个管理员用户信息从教师表中完全删除 4 管理员信息添加模块 只有特定超级管理员有这一权限 通过运行这一个模块 管理员可以在管理员表 中添加一个或多个管理员用户的信息 4 1 5 选课信息管理模块 1 选课信息显示模块 每个用户都可以调用此模块 但权限有些不同 管理员可以查看全部的选课息 教师只可以查看自己选择的课程班级信息 学生只可以查看自己的选课的信息 2 选课信息删除模块 每个用户都可以调用此模块 但根据用户的权限和执行的操作不同 其结果也不 同 通过运行这一个模块 可以将某一个或多个教师信息从教师表中完全删除 但通 常是在调用其它模块时自动调用此模块的 例如 当教师或学生退课时 当班级被删 除时 当课程被删除时都会调用此模块 3 选课信息添加模块 13 每个用户都可以调用此模块 但根据用户的权限和执行的操作不同 其结果也不 同 通过运行这一个模块 可以在数据库中的选课表中添加选课信息 通常是在调用 其它模块时自动调用此模块的 4 选课信息查询模块 每一个用户都可以调用此模块 通过执行此操作 在列出的选课信息列表中按条 件返回符合条件的选课信息 4 2 数据库设计 4 2 1 对象关系图 学生 学生 ID 学号 姓名 性别 密码 出生日期 院系 备注 教师 教师 ID 教师号 教师名 密码 性别 出生日期 院系 备注 管理员 管理员 ID 管理员号 管理员名 密码 备注 课程 课程 ID 课程号 课程名 学分 学时 备注 班级 班级 ID 班级号 班级名 课程号 任课老师号 上课时间 上课地点 最大人数 已选学生人数 状态 备注 院系 院系 ID 院系号 院系名 选课配置 类型 开始时间 结束时间 最大选课数 最小选课数 学生选课 选课 ID 班级号 学生号 分数 15 学生 学号姓名 ID密码 性别 出生日期 院系 备注 姓名 教师 教师号 ID 密码 性别 出生日期 备注 密码 管理员 编号 ID 姓名 密码备注 班级 ID 编号 名称 任课老师 上课时间 上课地点 最大人数 已选人数 状态 备注 课程 编号 ID 名称 学时 学分 学分备注 ID 编号名称 院系 属于 属于 属于 管理 图 4 6 电子选课系统对象关系图 16 4 2 2 数据库设计 列名数据类型长度描述 StudentIDint4自动生成 递增值为 1 主键 StudentNumbervarchar50学号 StudenttNamevarchar50学生姓名 Sexchar10性别 BirthdayDateTime8出生日期 Departmentvarchar50院系 Passwordvarchar50登陆密码 Remarktext16其他描述 表 4 1 学生表 Students 列名数据类型长度描述 TeacherIDInt4自动生成 递增值为 1 主键 TeacherNameVarchar50教师姓名 Sexchar10性别 BirthdayDateTime8出生日期 PasswordVarchar50登陆密码 DepartmentVarchar50院系 TeacherNumberVarchar50教师编号 Remarktext16其它描述 表 4 2 教师表 Teachers 列名数据类型长度描述 AdminIDInt 4自动生成 递增值为 1 主键 AdminNumberVarchar50管理员编号 AdminNameVarchar50管理员姓名 PasswordVarchar50登陆密码 Remarktext16其它描述 表 4 3 管理员表 Admins 列名数据类型长度描述 ElectiveIDInt4自动生成 递增值为 1 主键 ClassNumberVarchar50班级号 StudentNumberVarchar50学生号 Scoreint4成绩 表 4 4 学生选课成绩表 ElectiveCourse 17 列名数据类型长度描述 CourseIDInt4自动生成 递增值为 1 主键 CourseNumberVarchar50课程号 CourseNameVarchar50课程名 CourseTimeInt4学时 ScoreInt4学分 Remarktext16其它描述 表 4 5 课程表 Courses 列名数据类型长度描述 ClassIDInt4自动生成 递增值为 1 主键 ClassNumberVarchar50班级号 ClassNameVarchar50班级名 CourseNumberVarchar50所授课程的编号 ClassTimeInt4上课时间 PlaceVarchar50上课地点 UpperLimitStuden t Int4最大人数 TeacherNumberVarchar50任课老师的编号 SelectedStudents Int4已选择此课程的人数 Stateint40 表示未被教师选择 1 表示选择 Remarktext16其它描述 表 4 6 班级表 Classes 列名数据类型长度描述 DepartmentIDInt4自动生成 递增值为 1 主键 DepartmentNumberVarchar50院系的编号 DepartmentNameVarchar50院系的名称 表 4 7 部门表 Departments 列名数据类型长度描述 TypeInt40 表示对学生的配置 1 为教师 StartTimeDateTime8选课开始时间 EndTimeDateTime8选课结束时间 MaxSelectedInt4最大选课数 MinSelectedint4最小选课数 表 4 8 选课时间表 Period 18 4 3 开发方法 4 3 1 数据库访问 此项目返所使用的数据库为 SQL Server2000 数据库 登陆的用户名和密码均为 sa 在这个项目中的四个工程中的两个用于数据库的访问 它们是 ElectiveCou rse DataAccess 和 ElectiveCourse DataBase 其中 前者是访问数据库的接口 基本 上要执行的 SQL 语句都在这一部分书写 后者用来实现 SQL 语句对数据库的操作 这一 部分在项目实现的过程中是不用改动的 1 数据库操作的实现 对数据库的操作实现主要的代码是在工程 ElectiveCourse DataBase 中的内部类 SqlServerSQLCommandExecutive 来实现 它主要的函数为 public object Execute 取得连接字符串 并进行连接 string strConnection DataBaseFactory Instance ConnectionString SqlConnection connection new SqlConnection strConnection SqlCommand command new SqlCommand commandString connection if connection State ConnectionState Open connection Open 添加参数 try for int i 0 i 0 default connection Close return null catch SqlException ex throw ex finally 20 connection Close 代码说明 a 在获取连接字符串的语句 string strConnection DataBaseFactory Instance ConnectionString 中 先调用类 DataBaseFactory 的静态函数 Instance 将 其实例化 再调用这个实际的成员函数 ConnectionString 返回连接字符串 这两个函 数的代码为 public static DataBaseFactory Instance get if instance null instance new DataBaseFactory return instance public string ConnectionString get return Data Source local Initial Catalog ElectiveCourses System User ID sa Password sa Connection Reset FALSE b 在 SQL 语句执行过程中 通过判断类 DataBaseFactory 的属性 sqlType 的 值 来判断要执行的 Sql 语句的类型 其中 sqlType 是枚举型类 SQLCommand Type 的对象 由此 SQL 语句的类型共有以下几种 SELECT 选择并返回 DataSet 类型 SELECTREADER 选择并返回 Reader 类 型 INSERT 插入 UPDATE 更新 DELETE 删除 STOREDPROCEDURE 执 行存储过程并返回 DataSet SELECTBYTE 执行并返回二进制数 SELECTISEXIST 返回记录是否存在 2 对数据库的操作 对数据库的操作的函数全部放在项目 ElectiveCourse DataAccess 中 在这项目 中的类都是 DAO 的类 对数据库中的第一张表 我们都建立一个 DAO 类 用以存放对 21 这张表进行操作的函数 例如 我们建立类 DAOTeachers 并在这个类中义一个函数 GetTeachersBy TeachersNumber 用以返回这个表中的所有的记录 代码如下 public DataSet GetTeachersByTeachersNumber String Number string sqlCommandString Select From Teachers Where TeacherNumber Number 添加参数 ISQLCommandExecutive sqlCommandExecutive DataBaseFactor y Instance GetSQLExecutiveInstance sqlCommandString SQLCommandType SELECT sqlCommandExecutive AddParameter Number Number 执行SQL语句 并返回DataSet数据集 return DataSet sqlCommandExecutive Execute 4 3 2 界面友好性 在本系统中 用 DataGrid 控件显示用户的批量信息 并用到 DataGrid 的自动页功 能 在整个系统中采用上下形式的网页 同时对它的每一项功能的按键都放在显著的 位置上 在用户作出修改和删除 或误操作时也会给出提示 界面的外观使用样式文 件进行设计 使整个系统的风格统一 给人以美感 4 3 3 系统安全性 本系统的安全设置主要是按照用户角色的不同而设定的 根据是否为管理员 教 师或学生 执行相应的功能模块 其中管理员有最多的权限 可以在任何时候对其它 用户进行设置 其它两种用户只有在选课时间内才能进行修改限 否则只能进行浏览 操作 5 系统实现 5 1 开发环境搭建 5 1 1 软件安装 开发此系统用到的软件主要有 Visual Studio Net 2003 Sql Server2003 IIS 5 1 可选用的辅助软件有 DreamWeaver MX EditPlus 这部分没什么难度 只要按照要求按照即可 5 1 2 IIS 5 1 配置 1 配置 FrontPage 服务器扩展 在控制面板的信息管理中 右键点击默认站点项 在弹出的目录中选择配置服务器扩展项 按系统提示信息操作即可 2 设置虚拟目录 在信息管理的默认站点项上点右键 选择新建 虚拟目录 填 写虚拟目录名为 ElectiveCourse 并将其指向自己的项目目 Elective Course 下 22 5 1 3 数据库的设计 按前面数据库的设计要求创建数据库 ElectiveCourseSystem 并在其下设计相应 的表 先添加少量的数据用于测试用 5 1 3 项目框架搭建 在项目 ElectiveCourse 的解决方案中 添加四个工程 ElectiveCourse Common ElectiveCourse DataAccess ElectiveCourse DataBase ElectiveCourse We b 然后 就要添加依赖项了 具体做法为 为 ElectiveCourse Common 添加依赖 项 ElectiveCourse DataBase 为 ElectiveCourse DataAccess 添加依赖项 ElectiveCourse DataBase 和 ElectiveCourse DataAccess 为 ElectiveCourse Web 添加依赖项 Elective DataAccess 和 ElectiveCourse Common 最后 添加引用 在解决方案的各个工程的引用项中添加各自的依赖项 下面就剩编码工作了 在进行编码时最好先将 DAO 和 DTO 类编写完整 再去编写 页面代码 5 1 登陆模块的实现 下面是实现学生的登陆

温馨提示

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

评论

0/150

提交评论