1、 密级: NANCHANG UNIVERSITY学 士 学 位 论 文THESIS OF BACHELOR(2004 2008 年)题 目: 学 院: 系 专 业: 班 级: 学 号: 学生姓名: 指导教师: 起讫日期: 2007 年 11 月-2008 年 5 月 南昌大学选课系统开发 1南昌大学选课系统摘 要随着在校大学生人数的不断增加,教务系统的数据量也不断的上涨。以往的选课方法是随堂报名。这种方法虽然直接,但是造成选课的盲目性和教务处处理数据的繁重性。为了减轻教务处工作,以及每个学生更好的选择自己所喜欢的科目。针对学生选课这一环节,本系统从学生网上自主选课以及教师的课程发布两个大方面进
2、行了设计,基本实现了学生的在线信息查询、选课功能以及教师对课程信息发布的管理等功能。本文通过分析浏览器/服务器结构的特点并结合选课的实际情况,提出了基于浏览器/服务器结构网上选课系统的基本设计思想,简要介绍了系统各功能模块及数据库的设计,着重讨论了用 ASP.NET技术和SQL Server 2000开发网上选课系统时的数据库访问技术和动态网页制作技术,并给出了部分实现代码。通过该系统,使学生可以方便地在校园网上进行网上选课。该B/S结构的系统在Windows XP系统和VS.NET平台下开发完成,使用C作为ASP.NET的开发语言,SQL Server 2000作为数据库。系统有较高的安全性
3、和较好的性能。其中连接数据库的字符串可以随时在web.config里修改,并经过编码加密,增加了灵活性,保护了数据库的安全。代码尽量使用存储过程和尽量减少数据库连接的打开时间等手段来提高性能。本文中除了有对程序的系统分析、总体设计、数据库设计、功能实现等主体部分外,在这之前还介绍了与网上选课系统相关的信息、IIS介绍、IIS与ASP.NET的结合等的基本内容及发展情况。关键词:网上选课,浏览器/服务器结构,ASP.NET,数据库管理系统南昌大学选课系统开发 2AbstractWith the development of the enrolling number, the data for d
4、aily registry is increasing, too. And always we should goto classroom to enroll. Although this method directly,but result in blindness of the course enrollment and registry data processing of the heavy .In order to reduce the work registry ,and better each student to choose their own favorite subjec
5、ts .This system is special for the on-line course choosing to design both from the aspect of the student and the teacher. The student can choose the course independently and the teacher can manage the information of the announcing course, also. This paper gives the basic design idea of the Browser/S
6、erver structure based online course elect system by analyzing the characteristic of the Browser/Server structure and combining with the actual public elective courses conditions of our school It introduces the function module and database design briefly,followed by a discussion on database accessing
7、 technology and the active page technology of the course elect system based on ASP.NET and SQL Server 2000By using this system,students can elect courses online efficientlyThis Browser/Server structure system is developed under VS.NET platform in Windows XP operating system, using C# as ASP.NET deve
8、lopment language and SQL Server 2000 as the database. This system is of higher security and better performance. The character string, which is used to connecting to the database, can be modified at any time in the file “ web.config”. The string is encoded and encrypted, increasing flexibility of the
9、 system and security of the database. In code, making use of stored procedure and minimizing the database opening time to improve performance of the system. This paper includes the system analysis ,the main designing ,the database designing, the function designing and , before this , some basic know
10、ledge and present development of the programs mentioned above. Keywords: online course elect, Browser/Server structure,ASP.NET, DBMS南昌大学选课系统开发 3目录摘 要 .1ABSTRACT.2第一章 引言 .41.1 课题研究的目的 .41.2 课题研究的意义 .41.3 课题的可行性分析 .5第二章 系统分析与总体设计 .621 系统分析 .62.2 系统总体设计 .7第三章 数据库设计与实现 .93.1 数据库系统分析 .93.2 数据库逻辑设计 .123.3
11、 数据库物理实现 .13第四章 公共类与公共页面设计 .164.1 WEB.CONFIG 页面设计 .164.2 数据库连接操作类 DB 类 .194.3 工具类 MYUTILITY 类 .204.4 错误信息类和错误显示页面 .21第五章 系统说明书 .2251 系统界面说明 .225.2 系统管理说明 .275.2 教师管理说明 .30第 6 章 总结 .34参考文献 .35致 谢 .36南昌大学选课系统开发 4第一章 引言1.1 课题研究的目的1.掌握采用 Internet 的 TCP/IP 协议,以 B/S 方式,ASP.NET 编程技术,多媒体技术。2.掌握一种多任务多用户操作系统3
12、.ASP.NET 的动态网页和 SQL Server 大型的数据库。4.学会使用某种开发工具。5.培养相互合作的精神。1.2 课题研究的意义 学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算
13、机应用的一部分,使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套软件成为很有必要的事情,在下面的各章中我们将以开发一套学生选课系统为例,谈谈其开发过程和所涉及到的问题及解决方法。本文中所做的主要工作如下:(1)介绍了个性化页面的背景及 Win2000server+IIS+ASP.NET 系统的一般原理;(2) 阐述整个个性化页面生成系统的系统结构及工作原理;分析了系统实现中的特殊性、难点和重点。(3
14、) 设计实现用户管理、课程管理、选课信息录入管理、新生信息录入管理、课程的浏览和查找、学生查找等 ASP.NET 页面 。(4) 分析并解决实现中的若干技术问题。 (5) 建立完整的网上选课,进行测试并分析结果。南昌大学选课系统开发 51.3 课题的可行性分析1.3.1 课题调研(1)与实践活动和相关的文件和资料由教师提供。(2)本课题要求学生有熟练的 ASP.NET 开发能力,有较强的自学能力以及一定的关系数据库理论开发功底。(3)具有对复杂表进行处理的能力。(4)具体问题再做详细调查研究并与指导老师面谈。1.3.2 可行性分析(1)技术可行性-本系统仅需要一台装有 Office 软件的计算
15、机即可,对机器本身没有太高的要求,一般当前学校或个人电脑完全可满足要求。对于软件技术要求,现在的程序设计语言已非常成熟,要运用 HTML 样式,图形图象制作工具来制作生动活泼的网页及美观的图形文件或动画文件,数据库使用 SQL Server 2000 中提供的数据库桌面工具ODBC。() 经济可行性-由于本系统是为学生选课管理使用的系统,装上该应用软件,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,物力。所带来的效益远远大于系统软件的开发成本。在经济上完全可行。() 操作可行性-界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可
16、靠;统计准确;制表灵活;适应力强;容易扩充。第 2 章内容主要是:系统需求分析包括,现有系统介绍;系统的实体分析,实体关系图。南昌大学选课系统开发 6第二章 系统分析与总体设计21 系统分析在本系统中,有三类用户:系统管理员,教师和学生。三种不同的用户所具有的操作权限以及操作内容均不一样。本选课系统给予教师很大的自主权,系统管理员只负责向系统中添加学生和教师的个人信息以及教学楼教室信息。系统管理员不参与开设课程、选择课程等,一切均由教师、学生等录网站自行完成。系统管理员设置一个选课时间段,在到达时间段以前,教师可以开设课程;到达时间段以后,学生可以登陆网站选择课程。教师用户登陆网站后可以开设课
17、程,为自己的课程编辑上课时间和地点,当系统中出现时间地点冲突的时候,系统向教师用户报告并推荐一个时间地点。每门课程可以是必修或则选修,教师为每门课程设置一个学分,并可以在课程结束后给予分数,如果学生及格,学生将获得该课程的学分。对于学生用户,每个学生除了必须选择必修课程外,至少还要选择两门选修课程,学生可以对自己选课信息锁定,以免不小心被修改。当时候超过选课时段后,系统自动锁定学生的选课课程。系统可以根据学生的选课信息,生成一份学生自己的课表。课程结束后学生可登录网站查询成绩与学分。根据上面的要求,从操作功能上可以分为两个类:一个是通用操作,主要实现用户的登录注销和修改密码等;另一种是为不同用
18、户定制不同操作。1。通用操作(1)登录与注销每个用户都可以用自己的帐号登录系统。用户操作完成后推出系统,注销后可以重新登录系统。(2)修改密码每个用户第一次登录都用默认密码(教师和学生与帐号一样) 。2。用户所具有功能(1)系统管理员设置选课时间段:系统管理员通过此项功能设置选课时段,只有在选课时间段里,学生才可以选择课程,超过次时间段,学生选课信息被自动所定,不得修改。录入学生与教师个人信息:通过此项功能可以实现对教师和学生的个人信息添加删除。录入教学楼教室信息:通过此项功能可以把学校里所有的教学楼教室的信息录入到系统中,以便教师在开设课程时候设置上课的教室。(2)教师用户显示和修改个人信息
19、:教师用户登录系统后,可以查看和修改教师的个人信息,如姓名,电话,E-mail 地址等。开设课程:教师用户登录系统后,可以开设课程,可以设置该课程为必修课程或则选修课程,可以设置该课程的最大人数。教师还可以为该课程设置一个前导课程,若学生没有学习或则选择前导课程则不能选择该课程。编辑课程上课时间:教师在开设了课程后,可以灵活地设置上课时间和地点。给学生分数:课程结束后,教师用户登录系统,可以为学过课程的学生给予相应的成绩,南昌大学选课系统开发 7若及格,给予学生学分。(3)学生用户显示和修改个人信息:学生登录系统后,可以查看和修改学生的个人信息,如姓名,性别,电话等。查看必修课程:学生登录后,
20、可以查看所有的必修课程。查看该课程的信息,上课时间地点,开课教师信息等。选择选修课程:学生登录系统后,在所有选修课程中可以选择至少两门选修课程。同时可以查看相关信息。锁定选课信息:学生登录系统,确定了所选课程后,可以锁定自己的选课信息,以防被别人或则自己不小心修改。查看最终选课信息:学生登录系统后,可列出已选择的课程,若选课信息未被锁定,则可以退选,若所选课程少于两门,系统会提示选择的课程少于两门。查看学分和成绩课程结束后,学生登录系统可查看自己学习课程的成绩和已获的学分。2.2 系统总体设计在前面的系统的系统功能分析中,将系统划分成 10 个模块,如图:用户登录身份验证模块设置选课时间模块录
21、入信息模块 开设课程模块编辑程序时间地点模块评分模块查看课程模块 选课和锁定模块数据库模块数据库访问模块南昌大学选课系统开发 8用户登录身份验证模块验证用户名和密码,并根据不同的用户类型,跳转到对应的页面中。设置选课时间模块提供给系统管理员修改选课时间段。录入信息模块提供给系统管理员,用来录入学生和教师信息,以及录入教学楼教室等信息。开设课程模块提供给教师用户,用来开设一门必修课程或则选修课程。编辑课程时间地点模块提供给教师用户,编辑课程的上课时间地点友好的界面和操作。评分模块用于教师用户给选修该教师开设的课程的学生评分。查看课程模块包括查看必修课程、查看选修课程、查看已选课程、查看课程成绩单
22、。选课和锁定模块中实现选择选修课程和锁定选课信息的功能。第三章 数据库设计与实现数据库是此类系统的核心,系统中所有的信息都存储在数据库中,在所有 ASP.NET 页面中通过 ADO.NET 与数据库连接,操作数据库中的数据,从而实现所有需要的功能。数据库软件有很多,如 Microsoft SQL Server 2000 等。本系统中数据库采用 Microsoft SQL Server 2000 作为数据库工具。数据库是网站的核心,数据库设计的合理与否对网站的建设有着至关重要的影响。一个良好的数据库开发过程一般是先系统分析,再逻辑设计,然后物理实现。系统分析中分析数据库用户需求,并画出 E-R
23、图直观地表示出数据库系统的需求。逻辑设计中根据系统分析设计的一个关系模型。物理设计为逻辑设计中的数据模型选取一个最合理的应用环境的物理结构,通常选取一个常用数据库软件,用数据库软件创建与逻辑设计中数据模型对应的数据库。3.1 数据库系统分析本系统的数据库实体主要有“学生” 、 “教师” 、 “教学楼” 、 “教室” 、 “课程”等。其中“教师”与“课程”存在“开设”联系,并且一个教师可以开设 N 门课程,即“教师”与“课程”之间是一对多的关系。同样“教学楼”与“教室”也存在一对多的关系。一个学生可以学习 N 门课程,一门课程可以有 M 个学生学习,即“学生”与“课程”之间是多对多的关系。同样“课程”与“教室”之间也是多对多的关系。整个数据库可以用一个 E-R图表示,如图:南昌大学选课系统开发 9ER 图中的实体图:教师 1 开设 N 课程 选修 学生教室管理员教学楼上课地点时间属于N MM1教学楼教学楼 ID教学楼名称教室教室ID教学楼 ID教室名称