网上选课系统的设计与实现(代码).doc_第1页
网上选课系统的设计与实现(代码).doc_第2页
网上选课系统的设计与实现(代码).doc_第3页
网上选课系统的设计与实现(代码).doc_第4页
网上选课系统的设计与实现(代码).doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 网上选课系统的设计与实现 代码 网上选课系统的设计与实现 代码 目录 摘要 1 ABSTRACT 2 第一章 引言 3 1 1 课题背景及意义 3 1 2 开发工具的选用及介绍 3 1 3 课题的可行性分析 5 第二章 系统总体分析与设计 6 2 1 设计构想 6 2 2 界面规划 7 2 3 数据流程规划 8 第三章 数据库设计与实现 11 3 1 数据库系统分析 11 3 2 数据库逻辑设计 13 第四章 登录界面详细设计 14 4 1 界面设计 14 4 2 管理员 教师 学生登录功能 14 4 3 密码修改页面 18 第五章 管理员详细设计 22 5 1 界面设计 22 5 2 设计方法 22 第六章 测试及设计过程中的问题及解决 27 6 1 数据库的连接 27 6 2 参数的传递 27 6 3 运行环境 28 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 第七章 结论 29 致 谢 30 参考文献 31 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 摘要 在没有学生选课系统之前 选课方法是随堂报名 这种方法虽然简单 但 是造成选课的盲目性和教务处处理选课数据的繁重性 并且容易发生数据丢失 和统计错误 为了减轻教务处工作量 以及更加合理的分配教学资源 对学生 选课系统进行设计和开发 本文主要针对学生选课系统管理员端 以及登录 注销 修改密码这些功 能的设计和开发 针对管理员的功能 主要从管理员对教师 学生 院系 课 程 以及管理员自身信息功能的添加 查看 修改 删除进行了设计和开发 实现了对教师 学生 院系 课程 以及管理员自身信息的管理功能 学生选课系统的基本设计思想是使用B S结构来开发 另外着重讨论了用 ASP NET技术和SQL Server 2000来开发该系统 并给出了主要部分的实现代码 及控件的使用 另外还对控件的优点进行讨论 系统在Windows XP系统和 VS2008 NET平台下开发完成 使用C 作为开发语言 由于架构比较合理 系 统有较高的安全性和较好的使用性能 其中连接数据库的字符串可随时在 web config里修改 增加了配置的灵活性 保证了数据库的安全 关键词 学生选课 ASP NET B S结构 管理员端 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 ABSTRACT Elective system in the absence of the students before the course is random application this method is simple but the cause of blindness and elective course dealing with the data of the Registrar Office of the heavy and prone to data loss and statistical error Office of Academic Affairs in order to reduce the workload as well as a more reasonable distribution of teaching resources student selection system design and development In this paper system administrator for the end of course students as well as the registry write offs modify the password of these features the design and development For the administrator s functions mainly from the administrator of the teachers students faculty curriculum and administrators to add their own information function view modify or delete a design and development the achievement of teachers students hospital Department the curriculum as well as the administrator of its own information management capabilities Students in the basic course design idea is to use the B S structure to develop while focused on the use of ASP NET technology and SQL Server 2000 to develop the system and gives the main part of the realization of code and control the use of other also discuss the advantages of control System in the Windows XP system and development platform VS2008 NET completed the use of C as development language Due to a more reasonable structure the system has high security and better performance In which the database connection string in web config can be readily modified to increase the flexibility of configuration to ensure the security of the database Keywords online course ASP NET B S structure management system 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 第一章 引言 1 1 课题背景及意义 学生选课系统是一个高等院校十分重要的部分 它的内容对于学校的决策 者和管理者来说都至关重要 高等院校现在实行的是学生的自主选课模式 自 主选课如果仍然是课堂通过纸上的方式选课 有可能会造成选课的盲目性 有 些课堂选课时人满为患 有些课堂无人选课 另外还需浪费大量的人力进行统 计分类 另一方面还可能在人为的统计过程中出现各类差错等情况 基于传统 人工方式管理文件档案 这种管理方式存在着许多缺点 如 效率低 保密性差 时 间一长将产生大量的文件和数据 这对于查找 更新和维护都带来了不少的麻 烦 因此开发基于 Web 的学生选课系统来管理学生选课很重要 意义在于 使 用了网上选课系统以后 可以在开课前就在网上选课 每个学生的课程在开课 前就确定好 可以使教学资源平均合理的分配 此外 学生选课信息以及课程 成绩可以使用计算机来管理 方便快捷 另外 管理教师提出课程申请 完成 课程发布也容易的多 可以大幅减少教师的工作量 1 2 开发工具的选用及介绍 Web 应用程序的真正核心主要是对数据库进行处理 开发 Web 应用程序 可以使用 JSP ASP NET PHP 动态网页技术 我们选择了 ASP NET 技术 在 Windows XP 操作系统下使用 Visual Studio 2008 开发 使用 C 作为开发语 言 使用 IIS 6 0 作为 Web 服务器 SQL Server 2000 作为数据库 采用浏览 器 服务器 Browser Server 结构 1 ASP NET 介绍 它是一种全新的交互式网页编程技术 被设计为首编译方 式 采用代码分离技术 提高程序的编制效率 缩短开发周期 支持 vb c 等 语言 优点有 ASP NET 使执行常见任务变得容易 从简单的窗体提交和客户 端身份验证到部署和站点配置 另外 它采用基于文本的分层配置系统 简化 了设置应用服务器环境和 Web 应用程序 只需将必要的文件复制到服务器 即可将 ASP NET 框架应用程序部署到服务器 不需要重新启动服务器 即使 是在部署或替换运行的编译代码时 最后 借助内置的 Windows 身份验证和 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 基于每个应用程序的配置 可以保证应用程序是安全的 图 1 1 本地运行 ASP NET 2 SQL Server 2000 介绍 本系统以 SQL server 2000 做为数据库 SQL server 2000 是 Microsoft 公司开发的一个具有客户 服务器体系结构的关系数 据库管理系统 它使用 SQL 语言在客户机和 SQL server 服务器之间传递请求 和响应 3 IIS 6 0 介绍 IIS 全称是 Internet 信息服务 Internet Information Service 是微软提供的一个 Web 服务程序 在开发中称之为 Web 容器 服 务器上总要有个程序在运行 来响应用户的访问请求 这个程序就是 Web 服务 程序 IIS 是微软提供的 支持微软的一套开发环境开发的 Web 程序 HTML 介绍 4 HTML 介绍 HTML 的英文全称是 Hypertext Markup Language 中文为 超文本标记语言 超文本 就是指页面内可以包含图片 链接 音乐 程序等非文字的元素 一个 HTML 文件中包含了所有将显示在网页上的文字信 息 其中也包括对浏览器的一些指示 如哪些文字应放置在何处 显示模式是 什么样的等 如果你还有一些图片 动画 声音或是任何其它形式的资源 HTML 文件也会告诉浏览器到哪里去查找这些资源 以及这些资源将放置在网页 的什么位置 浏览的网页就是由 HTML 语言编写出来的 HTML 的格式非常简单 只是由文字及标记组合而成 因此任何文本编辑器都可以制作 HTML 页面 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 1 3 课题的可行性分析 1 技术可行性 ASP NET 制作基于 Web 的信息管理系统技术已经相当成熟 微软有良好的框架和实现方案 2 经济可行性 本系统是为学生选课管理使用的系统 用户只要有浏览器 并且能连上互联网 即可使用此系统 系统成本主要集中在系统软件的开发上 当系统投入运行后可以为学校节约大量的人力 所带来的效益远大于软件的开 发成本 在经济上完全可行 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 第二章 系统总体分析与设计 2 1 设计构想 1 登录与注销 每个用户 管理员 教师 学生 都可以用自己的帐号登录系统 用户 操作完成后可以退出系统 注销后可以重新登录系统 2 修改密码 每个用户 管理员 教师 学生 第一次登录都使用默认密码 登录以 后可以自己修改密码 3 系统管理员功能 录入管理员信息 通过此项功能可以实现对管理员信息的添加 查看修改删除管理员信息 通过此项功能可以实现对管理员信息的查看 修改删除 录入教师个人信息 通过此项功能可以实现对教师个人信息的添加 查看修改删除教师个人信息 通过此项功能可以实现对教师个人信息的 查看修改删除 录入学生个人信息 通过此项功能可以实现对学生个人信息的添加 查看修改删除学生个人信息 通过此项功能可以实现对学生个人信息的 查看修改删除 录入课程信息 通过此项功能可以实现对课程信息的添加 查看修改删除课程信息 通过此项功能可以实现对课程信息的查看修改 删除 另外还可以导出课程信息到 EXCEL 录入院系信息 通过此项功能可以实现对院系信息的添加 查看修改删除院系信息 通过此项功能可以实现对院系信息的查看修改删 除 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 图 2 1 管理员功能菜单 2 2 界面规划界面规划 界面左上角使用 Logo 界面正上方中间为标题 界面左边为导航栏 界面 正中央为主题 界面最底端为版权信息 图 2 2 界面规划 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 2 3 数据流程规划 用户登录身份验证模块验证用户名和密码 并根据不同的用户类型 跳 转到对应的欢迎界面 然后通过单击左侧导航栏可以跳转到相应模块 当跳转 到管理员界面时 录入信息模块提供给系统管理员 用来录入学生和教师信息 录入课程信息以及录入院系及管理员信息 查看修改删除模块提供给管理员对 学生 教师 课程信息 院系信息 管理员个人信息进行管理 最后注销退出 系统 图 2 3 数据流程 用户登录 退出系统 跳转到各个管理 页面 单击左侧导航栏 进入欢迎界面 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 第三章 数据库设计与实现 学生选课系统中所有的信息都存储在数据库中 在所有 ASP NET 页面中 通过 ADO NET 与数据库连接 操作数据库中的数据 从而实现所有需要的功能 本系统中数据库采用 SQL Server 2000 作为数据库工具 数据库是网上选课系 统的核心 数据库设计的合理与否对选课系统的建设有着至关重要的影响 一 个良好的数据库开发过程一般是先系统分析 再逻辑设计 然后实现 系统分 析中分析数据库用户需求 并画出 E R 图直观地表示出数据库系统的需求 逻 辑设计中根据系统分析设计的一个关系模型 另外 ASP NET 提供了五个内建 的数据源控件 SqlDataSource AccessDataSource ObjectDataSource XmlDataSource 以及 SiteMapDataSource 通过 SqlDataSource 需要给出一个数据库连接字符串 还有 SQL 语句或是存储过程 然后就可以执行查询 插入 删除 更新操作了 当调用 SqlDataSource 的 Select Insert Delete 以及 Update 方法 时 会连接到指定的数据库并发出相应的 SQL 查询 3 1 数据库系统分析 本系统的数据库实体主要有 学生 教师 院系 课程 等 其中 教师 与 课程 存在 开设 联系 并且一个教师可以开设 N 门课程 即 教师 与 课程 之间是一对多的关系 一个学生可以学习 N 门课程 一 门课程可以有 M 个学生学习 即 学生 与 课程 之间是多对多的关系 图 3 1 实体及其联系图 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 图 3 2 学生实体属性图 图 3 3 教师实体属性图 图 3 4 课程 教师开课 管理员实体属性图 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 图 3 5 学生选课 院系实体属性图 3 2 数据库逻辑设计 数据库逻辑设计就是将 E R 图转换为关系模型的过程 即将所有实体和 关系转换成一系列的关系模式 学生 学号 院系 ID 姓名 性别 年级 联系电话 电子邮箱 密码 教师 教师 ID 院系 ID 姓名 职称 性别 联系电话 电子邮箱 密码 课程 课程 ID 名称 课程类型 课程学分 上课教室 人数限制 上课时间 已选课人数 选课结束时间 学生选课信息 学号 课程 ID 院系 ID 成绩 教师开课 教师 ID 课程 ID 系统管理员 系统管理员 ID 登录账号 密码 院系 院系 ID 院系名称 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 1 Student 表 Student 表用来存储学生的个人信息 使用学号 s id 作为主键 图 3 6 学生表 2 Teacher 表 Teacher 表用来存储教师的个人信息 用教师编号 t id 作为主键 图 3 7 教师表 3 Course 表 Course 表用来存储课程信息 Course 表以课程编号 c id 作为主键 图 3 8 课程表 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 4 Department 表 Department 表用于存储院系信息 在 Department 表 中使用院系编号 department id 作为主键 图 3 9 院系表 5 学生选课表 学生选课表用于存储学生的选课信息 使用 s id c id 做联合主键 图 3 10 学生选课表 6 System manager 表 system manager 表用来存放系统管理员信息 使用 manager id 作为主键 图 3 11 管理员表 7 Teach course t 表 Teach course t 表用来存储老师开课的信息 t id 和 c id 作为联合主键 图 3 12 教师开课表 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 第四章 登录界面详细设计 4 1 界面设计 图 4 1 登录界面设计 4 2 管理员 教师 学生登录功能 图 4 2 登录算法流程图 在登录页面对应的地方输入用户名 密码 然后选定用户角色后 确认登录 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 先是通过客户端验证是否输入了用户名 是否输入了密码 如果没有输入 给 出提示信息要求用户输入 在提交后的页面 先取得用户名和选择值 然后对 数据库中的表进行检索用户名 若检索到的记录集为空 则说明用户名不存在 从而转到相应的出错处理程序 如果用户名正确 进而检查数据库中的密码和 输入框的密码是否相等 不相等 报告密码错误 相等则转入成功的操作页面 并将信息以 session 对象保存起来 编写代码如下 登录按了以后触发 protected void LoginButton Click object sender EventArgs e 接收用户输入的参数 string userName UserName Text ToString Trim string userPwd Password Text ToString Trim 选择按钮 string userRole RadioButtonList1 SelectedValue Trim string selectStr switch userRole case 0 身份是学生时 selectStr select from student where s id userName break case 1 身份是教师时 selectStr select from teacher where t id userName break case 2 身份是管理员时 selectStr select from system manager where login id userName break 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 连接字符串 SqlConnection conn new SqlConnection ConfigurationManager ConnectionStrings ConnectionString ConnectionString SqlCommand cmd new SqlCommand selectStr conn try 打开连接 conn Open SqlDataReader sdr cmd ExecuteReader sdr GetString的意思是从数据库的某一列 例如密码列 中取出值来 if sdr Read string temp getstring 0 if userRole 0 temp getstring sdr GetString 3 if userRole 1 temp getstring sdr GetString 7 if userRole 2 temp getstring sdr GetString 2 判断密码是否正确 if temp getstring userPwd 记录session 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 Session UserRole userRole conn Close switch userRole case 0 身份是学生时 Session s id userName Session t id Session login id Response Redirect student student aspx break case 1 身份是教师时 Session t id userName Session s id Session login id Response Redirect teacher Teacher aspx break case 2 身份是管理员时 Session login id userName Session t id Session s id Response Redirect manager manager aspx break else 密码错误 给出提示信息 lblmessage Text 您输入的密码错误 请检查后重新输入 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 else 用户不存在或用户名输入错误 lblmessage Text 用户不存在或用户名输入错误 请检查后输入 数据库错误 catch Exception ee Response Write ee Message ToString finally conn Close 4 3 密码修改页面 图 4 3 密码修改页面 密码修改的前提是用户成功登录 选择密码修改后 按照页面上的提示 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 在相应的文本框中输入旧密码 新密码 确认新密码 确定后提交更改密码 系统首先在客户端进行验证 是否 3 个文本框都输入了字符 如果没有都输入 给出错误信息 如果已经都输入了 则判断新密码和确认新密码是否相等 如 果不等 给出错误信息 提交服务器后 首先根据传递的 session 值判断是管 理员用户 还是教师用户 或是学生用户 然后判断原始密码的正误 若错误 转到相应的处理程序 若正确 用新密码代替旧密码 更新数据库表中密码字 段 代码实现如下 protected void ChangePasswordPushButton Click object sender EventArgs e 获得session值 string StudentId Session s id ToString string TeacherId Session t id ToString string ManagerId Session login id ToString string oldpwd ChangePassword1 CurrentPassword string newpwd ChangePassword1 NewPassword string selectStr string updateStr switch Session UserRole ToString case 0 学生 selectStr select from student where s id StudentId and s password oldpwd updateStr update student set s password newpwd where s id StudentId break case 1 教师 selectStr select from teacher where t id TeacherId and t password oldpwd updateStr update teacher set t password newpwd where t id TeacherId break 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 case 2 管理员 selectStr select from system manager where login id ManagerId and manager password oldpwd updateStr update system manager set manager password newpwd where login id ManagerId break 数据库连接 SqlConnection conn new SqlConnection ConfigurationManager ConnectionStrings ConnectionString ConnectionString SqlCommand selectcmd new SqlCommand selectStr conn try conn Open SqlDataReader sdr selectcmd ExecuteReader if sdr Read sdr Close SqlCommand updatecmd new SqlCommand updateStr conn int i updatecmd ExecuteNonQuery if i 0 Response Write 成功修改密码 else Response Write 修改密码失败 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 else Response Write 您输入的密码错误 检查后重新输入 catch Exception ex 数据库出错 Response Write 系统出错 错误原因 ex Message ToString finally conn Close 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 第五章 管理员详细设计 5 1 界面设计 图 5 1 管理员添加教师 5 2 设计方法 1 母版页 ASP NET 2 0 以上版本为开发人员提供了一种在一个文件中定义多个 Web 页 面布局的功能 以 master 为扩展名的文件 称之为母版页 单个母版页可以 定义所有页面的相同外观和通用行为 因而开发人员无须在每个页面中编写重 复的代码 并且在需要修改页面布局时只需修改母版页即可 利用母版页 开发人员可以创建单个网页模板并在应用程序中将该模板用作多个网页的基础 这样就无需从头创建所有新网页 一个网站可以设置多种类型的母版页 以 满足不同显示风格的需要 2 制作导航栏 TreeView 控件 TreeView 控件显示在浏览器中呈现为一个树形结构 该控件主要用来显 示分级数据 TreeView 控件由一个或者多个节点构成 每个节点还可以有 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 任意多个子节点 包含节点及其子节点的层次结构构成了TreeView 空间 所呈现的树形结构 4 种节点类型 根节点 处于树形结构的最顶层 父节点 具有一个父节点 并且有一个或者多个子节点的节点 叶节点 处于树形结构的最下层 选定节点 对应于当前被访问网页的节点 图 5 2 管理员母版页 3 内容页面 内容页面的页面代码在这个标记之间 4 使用控件 GridView GridView 是 DataGrid 的后继控件 在 NET Framework 2 中 虽然还存在 DataGrid 但是 GridView 已经走上了历史的前台 取代 DataGrid 的趋势已是 势不可挡 GridView 和 DataGrid 功能相似 都是在 Web 页面中显示数据源中 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 的数据 将数据源中的一行数据 也就是一条记录 显示为在 Web 页面上输出 表格中的一行 GridView 控件的功能有 绑定到任何平面结构或多层结构的数据源空间 拥有 内置排序功能 编辑和删除数据记录 支持多个关键字段 根据主题和风格进 行可视化的调整 根据不同的设备来调整显示结果 可以指定背景图片等等 图 5 3 GirdView 与 DetailsView 联动 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 图 5 4 GirdView 实现编辑删除 5 制作导出到 EXCEL 图 5 5 导出到 EXCEL 代码编写如下 protected void Button3 Click object sender EventArgs e Response Clear Response Buffer true Response Charset GB2312 Response AppendHeader Content Disposition attachment filename FileName xls 设置输出流为简体中文 Response ContentEncoding System Text Encoding GetEncoding GB2312 设置输出文件类型为excel文件 Response ContentType application ms excel EnableViewState false System Globalization CultureInfo myCItradSystem Globalization CultureInfo ZH CN true 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 System IO StringWriter oStringWriter new System IO StringWriter myCItrad System Web UI HtmlTextWriter oHtmlTextWriter new System Web UI HtmlTextWriter oStringWriter GridView1 RenderControl oHtmlTextWriter Response Write oStringWriter ToString Response End 6 Session 的使用 在 ASP NET 中 Session 是 用于保持状态的基于 Web 服务器的方法 Session 允许将对象存储在 Web 服务器的内存中 可以在整个用户会话过程 中保持任何对象 存储需要在整个用户会话过程中保持其状态的信息 例如 登录信息或用户浏览 Web 应用程序时需要的其它信息 编写代码如下 Response Write 欢迎管理员 Session login id 使用本系统 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 第六章 测试及设计过程中的问题及解决 对于没有使用 session 的页面 测试过程中发现安全问题 对方可以直接 通过在浏览器敲入我的文件路径而越过我的验证 访问某些页面 对于这个问 题 可以通过以下的代码解决 if Session login id null Response Write 没有登陆访问 请重新登陆 Response Redirect login aspx 6 1 数据库的连接 在网上选课系统里面 由于每个页面都需要使用连接数据库的操作 所以 需要在 web config 文件中指定数据库连接字符串的配置信息 可以在 web config 文件添加代码 Data Source 表示数据库服务器地址 可以填 IP 地址 Initial catalog 表示数据库名称 Persist security info 表示数据库登录验证模式 SQL Server 支持用户名登录验证和 Windows 身份验证两种模式 User ID 表示登录数据库的用户名 Password 表示登录数据库的用户名的密码 6 2 参数的传递 在确保使用了命名空间 System Configuration 以后可以使用 configurationManager connectionStrings connectionstring connect ionstring 此文档收集于网络 如有侵权请联系网站删除 仅供学习与交流 6 3 运行环境 硬件处理器 AMD3000 或者更加高级 内 存 512M 或更高级 硬 盘 80G 或更高级

温馨提示

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

评论

0/150

提交评论