随着在校大学生人数的不断增加,教务系统的数据量也不断的上涨。以往的选课方法是随堂报名。这种方法虽然直接,但是造成选课的盲目性和教务处处理数据的繁重性。为了减轻教务处工作,以及每个学生更好的选择自己所喜欢的科目。针对学生选课这一环节,本系统从学生网上自主选课以及教师的课程发布两个大方面进行了设计,基本实现了学生的在线信息查询、选课功能以及教师对课程信息发布的管理等功能。
内容:程序代码,毕业论文(10971字),开题报告,任务书,答辩PPT,外文翻译
摘要:随着在校大学生人数的不断增加,教务系统的数据量也不断的上涨。以往的选课方法是随堂报名。这种方法虽然直接,但是造成选课的盲目性和教务处处理数据的繁重性。为了减轻教务处工作,以及每个学生更好的选择自己所喜欢的科目。针对学生选课这一环节,本系统从学生网上自主选课以及教师的课程发布两个大方面进行了设计,基本实现了学生的在线信息查询、选课功能以及教师对课程信息发布的管理等功能。
本文通过分析浏览器/服务器结构的特点并结合选课的实际情况,提出了基于浏览器/服务器结构网上选课系统的基本设计思想,简要介绍了系统各功能模块及数据库的设计,着重讨论了用 ASP.NET技术和SQL Server 2000开发网上选课系统时的数据库访问技术和动态网页制作技术,并给出了部分实现代码。通过该系统,使学生可以方便地在校园网上进行网上选课。该B/S结构的系统在Windows XP系统和VS.NET平台下开发完成,使用C#作为ASP.NET的开发语言,SQL Server 2000作为数据库。系统有较高的安全性和较好的性能。其中连接数据库的字符串可以随时在web.config里修改,并经过编码加密,增加了灵活性,保护了数据库的安全。代码尽量使用存储过程和尽量减少数据库连接的打开时间等手段来提高性能。
本文中除了有对程序的系统分析、总体设计、数据库设计、功能实现等主体部分外,在这之前还介绍了与网上选课系统相关的信息、IIS介绍、IIS与ASP.NET的结合等的基本内容及发展情况。
关键词:网上选课,浏览器/服务器结构,ASP.NET,数据库管理系统
目 录
第一章 引言
1.1 课题研究的目的
1.2 课题研究的意义
1.3 课题的可行性分析
第二章 系统分析与总体设计
2.1 系统分析
2.2 系统总体设计
第三章数据库设计与实现
3.1 数据库系统分析
3.2 数据库逻辑设计
3.3 数据库物理实现
第四章 公共类与公共页面设计
4.1 Web.config页面设计
4.2 数据库连接操作类-Db类
4.3 工具类MyUtility类
4.4 错误信息类和错误显示页面
第五章 系统说明书
5.1 系统界面说明
5.2 系统管理说明
5.2 教师管理说明
第6章 总结
致 谢
第二章 系统分析与总体设计
2.1 系统分析
在本系统中,有三类用户:系统管理员,教师和学生。三种不同的用户所具有的操作权限以及操作内容均不一样。
本选课系统给予教师很大的自主权,系统管理员只负责向系统中添加学生和教师的个人信息以及教学楼教室信息。系统管理员不参与开设课程、选择课程等,一切均由教师、学生等录网站自行完成。系统管理员设置一个选课时间段,在到达时间段以前,教师可以开设课程;到达时间段以后,学生可以登陆网站选择课程。
教师用户登陆网站后可以开设课程,为自己的课程编辑上课时间和地点,当系统中出现时间地点冲突的时候,系统向教师用户报告并推荐一个时间地点。每门课程可以是必修或则选修,教师为每门课程设置一个学分,并可以在课程结束后给予分数,如果学生及格,学生将获得该课程的学分。
对于学生用户,每个学生除了必须选择必修课程外,至少还要选择两门选修课程,学生可以对自己选课信息锁定,以免不小心被修改。当时候超过选课时段后,系统自动锁定学生的选课课程。系统可以根据学生的选课信息,生成一份学生自己的课表。课程结束后学生可登录网站查询成绩与学分。
根据上面的要求,从操作功能上可以分为两个类:一个是通用操作,主要实现用户的登录注销和修改密码等;另一种是为不同用户定制不同操作。
1.通用操作
(1)登录与注销
每个用户都可以用自己的帐号登录系统。用户操作完成后推出系统,注销后可以重新登录系统。
(2)修改密码
每个用户第一次登录都用默认密码(教师和学生与帐号一样)。
2.用户所具有功能
(1)系统管理员
设置选课时间段:系统管理员通过此项功能设置选课时段,只有在选课时间段里,学生才可以选择课程,超过次时间段,学生选课信息被自动所定,不得修改。
录入学生与教师个人信息:通过此项功能可以实现对教师和学生的个人信息添加删除。
录入教学楼教室信息:通过此项功能可以把学校里所有的教学楼教室的信息录入到系统中,以便教师在开设课程时候设置上课的教室。
(2)教师用户
显示和修改个人信息:教师用户登录系统后,可以查看和修改教师的个人信息,如姓名,电话,E-mail地址等。
开设课程:教师用户登录系统后,可以开设课程,可以设置该课程为必修课程或则选修课程,可以设置该课程的最大人数。教师还可以为该课程设置一个前导课程,若学生没有学习或则选择前导课程则不能选择该课程。
编辑课程上课时间:教师在开设了课程后,可以灵活地设置上课时间和地点。
给学生分数:课程结束后,教师用户登录系统,可以为学过课程的学生给予相应的成绩,若及格,给予学生学分。
(3)学生用户
显示和修改个人信息:学生登录系统后,可以查看和修改学生的个人信息,如姓名,性别,电话等。
查看必修课程:学生登录后,可以查看所有的必修课程。查看该课程的信息,上课时间地点,开课教师信息等。
选择选修课程:学生登录系统后,在所有选修课程中可以选择至少两门选修课程。同时可以查看相关信息。
锁定选课信息:学生登录系统,确定了所选课程后,可以锁定自己的选课信息,以防被别人或则自己不小心修改。
查看最终选课信息:学生登录系统后,可列出已选择的课程,若选课信息未被锁定,则可以退选,若所选课程少于两门,系统会提示选择的课程少于两门。
(4)查看学分和成绩
课程结束后,学生登录系统可查看自己学习课程的成绩和已获的学分。
2.2 系统总体设计
在前面的系统的系统功能分析中,将系统划分成10个模块。
用户登录身份验证模块验证用户名和密码,并根据不同的用户类型,跳转到对应的页面中。设置选课时间模块提供给系统管理员修改选课时间段。录入信息模块提供给系统管理员,用来录入学生和教师信息,以及录入教学楼教室等信息。开设课程模块提供给教师用户,用来开设一门必修课程或则选修课程。编辑课程时间地点模块提供给教师用户,编辑课程的上课时间地点友好的界面和操作。评分模块用于教师用户给选修该教师开设的课程的学生评分。查看课程模块包括查看必修课程、查看选修课程、查看已选课程、查看课程成绩单。选课和锁定模块中实现选择选修课程和锁定选课信息的功能。
第三章 数据库设计与实现
数据库是此类系统的核心,系统中所有的信息都存储在数据库中,在所有ASP.NET页面中通过ADO.NET与数据库连接,操作数据库中的数据,从而实现所有需要的功能。数据库软件有很多,如Microsoft SQL Server 2000等。本系统中数据库采用Microsoft SQL Server 2000作为数据库工具。数据库是网站的核心,数据库设计的合理与否对网站的建设有着至关重要的影响。一个良好的数据库开发过程一般是先系统分析,再逻辑设计,然后物理实现。系统分析中分析数据库用户需求,并画出E-R图直观地表示出数据库系统的需求。逻辑设计中根据系统分析设计的一个关系模型。物理设计为逻辑设计中的数据模型选取一个最合理的应用环境的物理结构,通常选取一个常用数据库软件,用数据库软件创建与逻辑设计中数据模型对应的数据库。
3.1 数据库系统分析
本系统的数据库实体主要有“学生”、“教师”、“教学楼”、“教室”、“课程”等。其中“教师”与“课程”存在“开设”联系,并且一个教师可以开设N门课程,即“教师”与“课程”之间是一对多的关系。同样“教学楼”与“教室”也存在一对多的关系。一个学生可以学习N门课程,一门课程可以有M个学生学习,即“学生”与“课程”之间是多对多的关系。同样“课程”与“教室”之间也是多对多的关系。
3.2 数据库逻辑设计
数据库逻辑设计就是将E-R图转换为关系模型的过程,即将所有实体和关系转换成一系列的关系模式。转换过程中常见规则有:
(1)一个实体型转换为一个关系模式;
(2)一个一对一的联系可转换成一个独立的关系模式,也可与任意一端对应的关系模式合并;
(3)一个一对多的联系可以转换成一个独立的关系模式,也可与多的那一端对应的关系模式合并;
(4)一个多对多的关系转换成一个关系模式。
根据以上四条规则,下面将E-R图转换成关系模型。
对于“教学楼”、“教室”和两者之间的关系,就可以根据规则(3)转换成两个关系模式
教学楼(教学楼ID,教学楼名称)
教室(教室ID,教学楼ID,教室名称)
对于“学生”、“课程”和它们之间的“选修”关系就可以规则(4)转换成三个关系模式。
学生(学号,姓名,性别,年龄,登陆密码,学分,地址,电话,电子邮件)
课程(课程编码,课程名称,开课教师编号,学分,最大人数,课程简介,前导课程编号)
选课(学号,课程编号,成绩)
依次类推,剩下的关系转换成下面三个关系模式:
教师(教师编号,姓名,性别,年龄,电话,电子邮件,个人简介)
课程时间地点(课程编号,开始周次,结束周次,上课时间,上课教室ID)
管理员(帐号,密码)
第四章 公共类与公共页面设计
4.1 Web.config页面设计
Web.Confi
g文件是用来保存网站的很多全局设置,代码是通过using Configuration引用,在Web.Config文件中添加数据库连接字符串。在ADO.NET中用一个字符串来表示一个数据库,一般都把这个字符串放到Web.Config文件中,在整个项目中均可使用。
4.2 数据库连接操作类-Db类
在ASP.NET中通过ADO.NET技术对数据库进行操作。ADO.NET中有许多很方便的类可用来操作数据库,例如SqlConnection类、SqlDataAdapter类、SqlCommand类、DataSet类等。由于在选课系统中,操作数据库的地方非常多,为了避免很多重复代码的编写,所以对数据库操作做了简单的封装-Db类。在Db类中有三个静态函数ExecuteSelectSql、ExecuteSql和ExecuteInsertSql,其中ExecuteSelectSql函数用来执行查询操作,ExecuteSql用来执行修改、插入和删除三类操作,ExecuteInsertSql执行需要返回刚插入记录的identity的insert语句。
通过ADO.NET执行SQL语句从而对数据库进行操作,一般顺序为:先通过SqlConnection的Open函数连接到数据库,然后再通过Sqlcommand执行指定的SQL语句,执行结束后再调用SqlConnection的Close函数关闭数据库连接。
4.3 工具类MyUtility类
在网站的编写过程中经常会有很多公共函数调用,把它们都写在一个工具类里:MyUtility类,每个函数作为工具类的一个静态成员函数。其中包括MD5静态成员函数以及Alert静态成员函数。
MD5静态成员函数:MD5算法。MD5算法是一个不可逆的加密算法,通常用于重要信息的加密,如登录密码,在ASP.NET中,提供有MD5的算法实现函数。
4.4 错误信息类和错误显示页面
在用户使用系统过程中,可能由于用户操作失败或则网络原因等,系统运行会出现一些错误,为了便于统一,本系统定义专用的错误信息类和错误显示页面。在错误信息类ErrorInfo类中,定义了所有的本系统中所出现的错误情况和函数Message。函数Message根据错误情况得到相应显示字符串。错误显示页面根据URL中错误代码参数显示不同的错误信息。
4.5 登录页面
登录页面是所有用户公用的功能。不同的用户登录到系统中将转向不同的页面。解决方法运用了ASP.NET的内置对象Session记录用户登录信息,同样也可以在网站里随时判断用户是否已经登录。
参考文献:
[1] 吴晨,《ASP.NET+SQL Server-数据库开发与实例》,清华大学出版社,出版2006年7月
[2](美)内格尔,《C#高级编程(第4版)》,清华大学出版社,出版2006年10月
[3](美)solid,《SQLServer2005从入门与精通(应用技术基础)》,清华大学出版社,出版2006年09月