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

下载本文档

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

文档简介

1、网上选课系统的设计与实现(代码)网上选课系统的设计与实现(代码) 目录 摘要1 ABSTRACT2 第一章 引言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 第六章 测试及

2、设计过程中的问题及解决27 6.1 数据库的连接 27 6.2 参数的传递 27 6.3 运行环境 28 第七章 结论29 致 谢30 参考文献31 摘要 在没有学生选课系统之前,选课方法是随堂报名,这种方法虽然简单,但 是造成选课的盲目性和教务处处理选课数据的繁重性,并且容易发生数据丢失 和统计错误。为了减轻教务处工作量,以及更加合理的分配教学资源,对学生 选课系统进行设计和开发。 本文主要针对学生选课系统管理员端,以及登录,注销,修改密码这些功 能的设计和开发。针对管理员的功能,主要从管理员对教师,学生,院系,课 程,以及管理员自身信息功能的添加,查看,修改,删除进行了设计和开发, 实现了

3、对教师,学生,院系,课程,以及管理员自身信息的管理功能。 学生选课系统的基本设计思想是使用B/S结构来开发,另外着重讨论了用 ASP.NET技术和SQL Server 2000来开发该系统,并给出了主要部分的实现代码 及控件的使用,另外还对控件的优点进行讨论。系统在Windows XP系统和 VS2008.NET平台下开发完成,使用C作为开发语言。由于架构比较合理,系 统有较高的安全性和较好的使用性能。其中连接数据库的字符串可随时在 web.config里修改,增加了配置的灵活性,保证了数据库的安全。 关键词:学生选课,ASP.NET,B/S结构,管理员端 ABSTRACT Elective

4、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

5、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. F

6、or the administrators 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 wel

7、l 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 c

8、ontrol 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 connec

9、tion 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 课题背景及意义 学生选课系统是一个高等院校十分重要的部分,它的内容对于学校的决策 者和管理者来说都至关重要。高等院校现在实行的是学生的自主选课模式。自 主选课如果仍然是课堂通过

10、纸上的方式选课,有可能会造成选课的盲目性,有 些课堂选课时人满为患,有些课堂无人选课。另外还需浪费大量的人力进行统 计分类,另一方面还可能在人为的统计过程中出现各类差错等情况。基于传统 人工方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,时 间一长将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的麻 烦。 因此开发基于 Web 的学生选课系统来管理学生选课很重要。意义在于,使 用了网上选课系统以后,可以在开课前就在网上选课,每个学生的课程在开课 前就确定好,可以使教学资源平均合理的分配,此外,学生选课信息以及课程 成绩可以使用计算机来管理,方便快捷,另外,管理教师

11、提出课程申请,完成 课程发布也容易的多,可以大幅减少教师的工作量。 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 介绍:它是一种全新的交互式网页编程技术,被设计为首编译方

12、 式,采用代码分离技术,提高程序的编制效率,缩短开发周期,支持 vb,c#等 语言。优点有:ASP.NET 使执行常见任务变得容易,从简单的窗体提交和客户 端身份验证到部署和站点配置。另外,它采用基于文本的分层配置系统,简化 了设置应用服务器环境和 Web 应用程序。只需将必要的文件复制到服务器, 即可将 ASP.NET 框架应用程序部署到服务器。不需要重新启动服务器,即使 是在部署或替换运行的编译代码时。 最后,借助内置的 Windows 身份验证和 基于每个应用程序的配置,可以保证应用程序是安全的。 图 1.1 本地运行 ASP.NET (2)SQL Server 2000 介绍:本系统以

13、 SQL server 2000 做为数据库。SQL server 2000 是 Microsoft 公司开发的一个具有客户/服务器体系结构的关系数 据库管理系统,它使用 SQL 语言在客户机和 SQL server 服务器之间传递请求 和响应。 (3)IIS 6.0 介绍:IIS 全称是 Internet 信息服务(Internet Information Service) 。是微软提供的一个 Web 服务程序,在开发中称之为 Web 容器。 服 务器上总要有个程序在运行,来响应用户的访问请求,这个程序就是 Web 服务 程序。IIS 是微软提供的,支持微软的一套开发环境开发的 Web 程序

14、。 HTML 介绍: (4)HTML 介绍:HTML 的英文全称是Hypertext Markup Language,中文为 “超文本标记语言”。“超文本”就是指页面内可以包含图片,链接,音乐, 程序等非文字的元素。 一个 HTML 文件中包含了所有将显示在网页上的文字信 息,其中也包括对浏览器的一些指示,如哪些文字应放置在何处,显示模式是 什么样的等。如果你还有一些图片、动画、声音或是任何其它形式的资源, HTML 文件也会告诉浏览器到哪里去查找这些资源,以及这些资源将放置在网页 的什么位置。浏览的网页就是由 HTML 语言编写出来的。HTML 的格式非常简单, 只是由文字及标记组合而成,因

15、此任何文本编辑器都可以制作 HTML 页面。 1.3 课题的可行性分析 (1)技术可行性:ASP.NET 制作基于 Web 的信息管理系统技术已经相当成熟, 微软有良好的框架和实现方案。 (2)经济可行性:本系统是为学生选课管理使用的系统,用户只要有浏览器, 并且能连上互联网,即可使用此系统,系统成本主要集中在系统软件的开发上, 当系统投入运行后可以为学校节约大量的人力,所带来的效益远大于软件的开 发成本,在经济上完全可行。 第二章 系统总体分析与设计 2.1 设计构想 (1)登录与注销 每个用户(管理员,教师,学生)都可以用自己的帐号登录系统。用户 操作完成后可以退出系统,注销后可以重新登录

16、系统。 (2)修改密码 每个用户(管理员,教师,学生)第一次登录都使用默认密码,登录以 后可以自己修改密码。 (3)系统管理员功能 录入管理员信息:通过此项功能可以实现对管理员信息的添加。 查看修改删除管理员信息:通过此项功能可以实现对管理员信息的查看 修改删除。 录入教师个人信息:通过此项功能可以实现对教师个人信息的添加。 查看修改删除教师个人信息:通过此项功能可以实现对教师个人信息的 查看修改删除。 录入学生个人信息:通过此项功能可以实现对学生个人信息的添加。 查看修改删除学生个人信息:通过此项功能可以实现对学生个人信息的 查看修改删除。 录入课程信息:通过此项功能可以实现对课程信息的添加

17、。 查看修改删除课程信息:通过此项功能可以实现对课程信息的查看修改 删除,另外还可以导出课程信息到 EXCEL。 录入院系信息:通过此项功能可以实现对院系信息的添加。 查看修改删除院系信息:通过此项功能可以实现对院系信息的查看修改删 除。 图 2.1 管理员功能菜单 2.2 界面规划界面规划 界面左上角使用 Logo,界面正上方中间为标题,界面左边为导航栏,界面 正中央为主题,界面最底端为版权信息。 图 2.2 界面规划 2.3 数据流程规划 用户登录身份验证模块验证用户名和密码,并根据不同的用户类型,跳 转到对应的欢迎界面。然后通过单击左侧导航栏可以跳转到相应模块,当跳转 到管理员界面时,录

18、入信息模块提供给系统管理员,用来录入学生和教师信息, 录入课程信息以及录入院系及管理员信息。查看修改删除模块提供给管理员对 学生,教师,课程信息,院系信息,管理员个人信息进行管理,最后注销退出 系统。 图 2.3 数据流程 用户登录 退出系统 跳转到各个管理 页面 单击左侧导航栏 进入欢迎界面 第三章 数据库设计与实现 学生选课系统中所有的信息都存储在数据库中,在所有 ASP.NET 页面中 通过 ADO.NET 与数据库连接,操作数据库中的数据,从而实现所有需要的功能。 本系统中数据库采用 SQL Server 2000 作为数据库工具。数据库是网上选课系 统的核心,数据库设计的合理与否对选

19、课系统的建设有着至关重要的影响。一 个良好的数据库开发过程一般是先系统分析,再逻辑设计,然后实现。系统分 析中分析数据库用户需求,并画出 E-R 图直观地表示出数据库系统的需求。逻 辑设计中根据系统分析设计的一个关系模型。另外, ASP.NET 提供了五个内建 的数据源控件 SqlDataSource、AccessDataSource、ObjectDataSource、XmlDataSource 以及 SiteMapDataSource。通过 SqlDataSource,需要给出一个数据库连接字符串, 还有 SQL 语句或是存储过程,然后就可以执行查询、插入、删除、更新操作了。 当调用 Sql

20、DataSource 的 Select()、Insert()、Delete()以及 Update()方法 时,会连接到指定的数据库并发出相应的 SQL 查询。 3.1 数据库系统分析 本系统的数据库实体主要有“学生”、“教师”、“院系”、“课程”等。 其中“教师”与“课程”存在“开设”联系,并且一个教师可以开设 N 门课程, 即“教师”与“课程”之间是一对多的关系。一个学生可以学习 N 门课程,一 门课程可以有 M 个学生学习,即“学生”与“课程”之间是多对多的关系。 图 3.1 实体及其联系图 图 3.2 学生实体属性图 图 3.3 教师实体属性图 图 3.4 课程,教师开课,管理员实体属性

21、图 图 3.5 学生选课,院系实体属性图 3.2 数据库逻辑设计 数据库逻辑设计就是将 ER 图转换为关系模型的过程,即将所有实体和 关系转换成一系列的关系模式。 学生(学号,院系 ID,姓名,性别,年级,联系电话,电子邮箱,密码) 。 教师(教师 ID,院系 ID,姓名,职称,性别,联系电话,电子邮箱,密码) 。 课程(课程 ID,名称,课程类型,课程学分,上课教室,人数限制,上课时间, 已选课人数,选课结束时间) 。 学生选课信息(学号,课程 ID,院系 ID,成绩) 。 教师开课(教师 ID,课程 ID) 。 系统管理员(系统管理员 ID,登录账号,密码) 。 院系(院系 ID,院系名称

22、) 。 (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)学生选课表。学生选课表用于存储学生的

23、选课信息,使用 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 登录算法流程图 在登录页面对应的地方输入用户名、密码,然后选定用户角色后,确认登

24、录。 先是通过客户端验证是否输入了用户名,是否输入了密码,如果没有输入,给 出提示信息要求用户输入。在提交后的页面,先取得用户名和选择值,然后对 数据库中的表进行检索用户名,若检索到的记录集为空,则说明用户名不存在, 从而转到相应的出错处理程序,如果用户名正确,进而检查数据库中的密码和 输入框的密码是否相等,不相等,报告密码错误,相等则转入成功的操作页面, 并将信息以 session 对象保存起来。 编写代码如下: /登录按了以后触发 protected void LoginButton_Click(object sender, EventArgs e) /接收用户输入的参数 string u

25、serName = 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

26、 = 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.ConnectionStringsConnectionString.ConnectionString); SqlCommand cmd = new Sql

27、Command(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_ge

28、tstring = sdr.GetString(2); /判断密码是否正确 if (temp_getstring = userPwd) /记录session SessionUserRole = userRole; conn.Close(); switch(userRole) case 0:/身份是学生时 Sessions_id=userName; Session t_id=; Sessionlogin_id=; Response.Redirect(student/student.aspx); break; case 1:/身份是教师时 Sessiont_id=userName; Session

29、 s_id=; Sessionlogin_id=; Response.Redirect(teacher/Teacher.aspx); break; case 2:/身份是管理员时 Sessionlogin_id=userName; Session t_id=; Sessions_id=; Response.Redirect(manager/manager.aspx); break; else/密码错误,给出提示信息 lblmessage.Text=您输入的密码错误,请检查后重新输入; else /用户不存在或用户名输入错误 lblmessage.Text=用户不存在或用户名输入错误,请检查后输

30、入; /数据库错误 catch(Exception ee) Response.Write(ee.Message .ToString (); finally conn.Close(); 4.3 密码修改页面 图 4.3 密码修改页面 密码修改的前提是用户成功登录,选择密码修改后,按照页面上的提示, 在相应的文本框中输入旧密码,新密码,确认新密码,确定后提交更改密码。 系统首先在客户端进行验证,是否 3 个文本框都输入了字符,如果没有都输入, 给出错误信息,如果已经都输入了,则判断新密码和确认新密码是否相等,如 果不等,给出错误信息。提交服务器后,首先根据传递的 session 值判断是管 理员用

31、户,还是教师用户,或是学生用户,然后判断原始密码的正误,若错误, 转到相应的处理程序,若正确,用新密码代替旧密码,更新数据库表中密码字 段。 代码实现如下: protected void ChangePasswordPushButton_Click(object sender, EventArgs e) /获得session值 string StudentId = Sessions_id.ToString(); string TeacherId = Sessiont_id.ToString(); string ManagerId = Sessionlogin_id.ToString(); st

32、ring oldpwd = ChangePassword1.CurrentPassword; string newpwd = ChangePassword1.NewPassword; string selectStr = ; string updateStr = ; switch (SessionUserRole.ToString () case 0:/学生 selectStr = select * from student where s_id = + StudentId + and s_password = + oldpwd + ; updateStr = update student s

33、et 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_mana

34、ger 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.ConnectionStringsConnectionString.ConnectionString); SqlComm

35、and 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

36、 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 为扩展名的文件,称之为母版页。 单个母版页可以 定义所有页面的相同外观和通用行为,因而开发人员无须在每个页面

37、中编写重 复的代码,并且在需要修改页面布局时只需修改母版页即可。 利用母版页, 开发人员可以创建单个网页模板并在应用程序中将该模板用作多个网页的基础, 这样就无需从头创建所有新网页。 一个网站可以设置多种类型的母版页,以 满足不同显示风格的需要。 (2)制作导航栏,TreeView 控件 TreeView 控件显示在浏览器中呈现为一个树形结构。该控件主要用来显 示分级数据。 TreeView 控件由一个或者多个节点构成,每个节点还可以有 任意多个子节点,包含节点及其子节点的层次结构构成了TreeView 空间 所呈现的树形结构。 4 种节点类型: 根节点:处于树形结构的最顶层。 父节点:具有一

38、个父节点,并且有一个或者多个子节点的节点。 叶节点:处于树形结构的最下层。 选定节点:对应于当前被访问网页的节点。 图 5.2 管理员母版页 (3)内容页面 内容页面的页面代码在这个标记之间: (4)使用控件 GridView GridView 是 DataGrid 的后继控件,在.NET Framework 2 中,虽然还存在 DataGrid,但是 GridView 已经走上了历史的前台,取代 DataGrid 的趋势已是 势不可挡。GridView 和 DataGrid 功能相似,都是在 Web 页面中显示数据源中 的数据,将数据源中的一行数据,也就是一条记录,显示为在 Web 页面上输

39、出 表格中的一行。 GridView 控件的功能有:绑定到任何平面结构或多层结构的数据源空间,拥有 内置排序功能,编辑和删除数据记录,支持多个关键字段,根据主题和风格进 行可视化的调整,根据不同的设备来调整显示结果,可以指定背景图片等等。 图 5.3 GirdView 与 DetailsView 联动 图 5.4 GirdView 实现编辑删除 (5)制作导出到 EXCEL 图 5.5 导出到 EXCEL 代码编写如下: protected void Button3_Click(object sender, EventArgs e) Response.Clear(); Response.Buf

40、fer = 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.Globaliz

41、ation.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.Wri

42、te(oStringWriter.ToString(); Response.End(); (6)Session 的使用 在 ASP.NET 中,Session 是 用于保持状态的基于 Web 服务器的方法。 Session 允许将对象存储在 Web 服务器的内存中,可以在整个用户会话过程 中保持任何对象。 存储需要在整个用户会话过程中保持其状态的信息,例如 登录信息或用户浏览 Web 应用程序时需要的其它信息。 编写代码如下: %Response.Write(欢迎管理员+Session login_id+使用本系统!); 第六章 测试及设计过程中的问题及解决 对于没有使用 session 的页

43、面,测试过程中发现安全问题,对方可以直接 通过在浏览器敲入我的文件路径而越过我的验证,访问某些页面,对于这个问 题,可以通过以下的代码解决 if(Sessionlogin_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

温馨提示

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

评论

0/150

提交评论