网上选课系统的设计与实现(代码).doc

上传人:豆**** 文档编号:28480441 上传时间:2022-07-28 格式:DOC 页数:37 大小:1.25MB
返回 下载 相关 举报
网上选课系统的设计与实现(代码).doc_第1页
第1页 / 共37页
网上选课系统的设计与实现(代码).doc_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《网上选课系统的设计与实现(代码).doc》由会员分享,可在线阅读,更多相关《网上选课系统的设计与实现(代码).doc(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date网上选课系统的设计与实现(代码)院 系:网上选课系统的设计与实现(代码)目录摘要1ABSTRACT2第一章 引言31.1课题背景及意义31.2开发工具的选用及介绍31.3 课题的可行性分析5第二章 系统总体分析与设计62.1设计构想62.2界面规划72.3数据流程规划8第三章 数据库设计与实现113.1数据库系统分析113.2数据库逻辑设计13第四章 登录界面详细设计

2、144.1界面设计144.2管理员/教师/学生登录功能144.3 密码修改页面18第五章 管理员详细设计225.1界面设计225.2设计方法22第六章 测试及设计过程中的问题及解决276.1 数据库的连接276.2 参数的传递276.3 运行环境28第七章 结论29致 谢30参考文献31-摘要在没有学生选课系统之前,选课方法是随堂报名,这种方法虽然简单,但是造成选课的盲目性和教务处处理选课数据的繁重性,并且容易发生数据丢失和统计错误。为了减轻教务处工作量,以及更加合理的分配教学资源,对学生选课系统进行设计和开发。本文主要针对学生选课系统管理员端,以及登录,注销,修改密码这些功能的设计和开发。针

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

4、,保证了数据库的安全。关键词:学生选课,ASP.NET,B/S结构,管理员端ABSTRACTElective 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 statistica

5、l 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 p

6、assword of these features the design and development. For 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

7、, 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, a

8、nd 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 securi

9、ty 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课题背景及意义学生选课系统是一个高等院校十分重要的部分,它的内容对于学校的

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

11、外,学生选课信息以及课程成绩可以使用计算机来管理,方便快捷,另外,管理教师提出课程申请,完成课程发布也容易的多,可以大幅减少教师的工作量。1.2开发工具的选用及介绍 Web应用程序的真正核心主要是对数据库进行处理。开发Web应用程序,可以使用JSP,ASP.NET,PHP动态网页技术。我们选择了ASP.NET技术,在WindowsXP操作系统下使用Visual Studio 2008开发,使用C作为开发语言,使用IIS 6.0作为Web服务器,SQLServer2000作为数据库。采用浏览器/服务器(Browser/Server)结构。(1)ASP.NET介绍:它是一种全新的交互式网页编程技术

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

13、 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的英文全称是Hy

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

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

16、录入管理员信息:通过此项功能可以实现对管理员信息的添加。查看修改删除管理员信息:通过此项功能可以实现对管理员信息的查看修改删除。录入教师个人信息:通过此项功能可以实现对教师个人信息的添加。查看修改删除教师个人信息:通过此项功能可以实现对教师个人信息的查看修改删除。录入学生个人信息:通过此项功能可以实现对学生个人信息的添加。查看修改删除学生个人信息:通过此项功能可以实现对学生个人信息的查看修改删除。录入课程信息:通过此项功能可以实现对课程信息的添加。查看修改删除课程信息:通过此项功能可以实现对课程信息的查看修改删除,另外还可以导出课程信息到EXCEL。录入院系信息:通过此项功能可以实现对院系信息

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

18、登录进入欢迎界面单击左侧导航栏跳转到各个管理页面退出系统图2.3 数据流程第三章 数据库设计与实现学生选课系统中所有的信息都存储在数据库中,在所有ASP.NET页面中通过ADO.NET与数据库连接,操作数据库中的数据,从而实现所有需要的功能。本系统中数据库采用SQL Server 2000作为数据库工具。数据库是网上选课系统的核心,数据库设计的合理与否对选课系统的建设有着至关重要的影响。一个良好的数据库开发过程一般是先系统分析,再逻辑设计,然后实现。系统分析中分析数据库用户需求,并画出E-R图直观地表示出数据库系统的需求。逻辑设计中根据系统分析设计的一个关系模型。另外,ASP.NET提供了五个

19、内建的数据源控件SqlDataSource、AccessDataSource、ObjectDataSource、XmlDataSource以及SiteMapDataSource。通过SqlDataSource,需要给出一个数据库连接字符串,还有SQL语句或是存储过程,然后就可以执行查询、插入、删除、更新操作了。当调用SqlDataSource的Select()、Insert()、Delete()以及Update()方法时,会连接到指定的数据库并发出相应的SQL查询。3.1数据库系统分析本系统的数据库实体主要有“学生”、“教师”、“院系”、“课程”等。其中“教师”与“课程”存在“开设”联系,并且

20、一个教师可以开设N门课程,即“教师”与“课程”之间是一对多的关系。一个学生可以学习N门课程,一门课程可以有M个学生学习,即“学生”与“课程”之间是多对多的关系。图3.1 实体及其联系图图3.2 学生实体属性图图3.3 教师实体属性图图3.4 课程,教师开课,管理员实体属性图图3.5 学生选课,院系实体属性图3.2数据库逻辑设计数据库逻辑设计就是将ER图转换为关系模型的过程,即将所有实体和关系转换成一系列的关系模式。学生(学号,院系ID,姓名,性别,年级,联系电话,电子邮箱,密码)。教师(教师ID,院系ID,姓名,职称,性别,联系电话,电子邮箱,密码)。课程(课程ID,名称,课程类型,课程学分,

21、上课教室,人数限制,上课时间,已选课人数,选课结束时间)。学生选课信息(学号,课程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表用于存储院

22、系信息,在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

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

24、entArgs 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 +; b

25、reak; 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.ConnectionStringsConnectionString.ConnectionStr

26、ing); 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

27、(7); if (userRole = 2) temp_getstring = 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:/身份是教师时

28、 Sessiont_id=userName; Session 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/用户不存在或用户名输入错误 lblmes

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

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

31、ToString(); string 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 = up

32、date 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 * fr

33、om 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.ConnectionStringsConnectionString.ConnectionSt

34、ring); 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

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

36、中编写重复的代码,并且在需要修改页面布局时只需修改母版页即可。 利用母版页,开发人员可以创建单个网页模板并在应用程序中将该模板用作多个网页的基础,这样就无需从头创建所有新网页。 一个网站可以设置多种类型的母版页,以满足不同显示风格的需要。(2)制作导航栏,TreeView控件TreeView控件显示在浏览器中呈现为一个树形结构。该控件主要用来显示分级数据。TreeView控件由一个或者多个节点构成,每个节点还可以有任意多个子节点,包含节点及其子节点的层次结构构成了TreeView空间所呈现的树形结构。4种节点类型:根节点:处于树形结构的最顶层。父节点:具有一个父节点,并且有一个或者多个子节点的节点。叶节点:处于树形结构的最下层。选定节点:对应于当前被访问网页的节点。图5.2 管理员母版页(3)内容页面内容页面的页面代码在这个标记之间: (4)使用控件GridViewGridView 是 DataGrid的后继控件,在.NET Framework 2 中,虽然还存在DataGrid,但是GridView已经走上了历史的前台,取代DataGrid的趋势已是势不

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁