1、北华航天工业学院Web开发技术(ASP.NET)课程设计报告课设报告题目: 学生选课系统 作者所在系部: 计算机科学与工程系 作者所在专业: 计算机科学与技术 作者所在班级: 作 者 姓 名 : 作 者 学 号 : 指导教师姓名: 完 成 时 间 : 北华航天工业学院教务处制19摘 要随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。我选择了学生选课系统作为此次设计的题目。系统利用计算机的特点能够迅速的对学生选课的工作进行管理。大大提升了工作效率。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点
2、,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。前端应用程序是使用Microsoft Visual Studio 2010作为开发工具,而后端数据库的开发则选用Microsoft SQL Server2005.对于前者要求具有应用程序功能完备,易使用等特点。而对于后者则要求建立起数据独立性和完整性强、数据安全性好的库。本学生选课系统共有五个模块。它们是系统登录模块、管理员管理模块、教师管理模块、学生选课模块、更改用户密码模块。这些模块的主要功能是:系统登录模块:提供给访问系统的合法用户以使用权限;管理员管理模块:主要是学生,教师,系部信息
3、进行增、删、改、查。 学生选课主要实现学生查询课程成绩、选课、查询个人信息。更改用户密码模块:设计主要是用户名和密码的更改。关键词:动态网站 交互性 ASP.net 学生选课系统目 录摘 要1目 录2课程设计任务书4第1章 绪论51.1 选题的目的及意义51.2 课题研究的主要内容5第2章 系统需求分析62.1 问题的提出62.2 系统的设计目标6第3章 系统开发的技术背景83.1 开发技术及运行环境83.1.1 系统采用的开发技术83.1.2 系统运行环境83.2 关键技术简介83.2.1 系统前台开发工具(Visual Studio)概述83.2.2 后台数据库支持8第4章 系统分析与总体
4、设计94.1 系统结构框架94.2 主要模块功能分析94.2.1 用户管理模块94.2.2学生管理模块104.2.3 教师管理模块104.2.4 管理员管理模块10第5章 系统数据库设计115.1 管理员信息表(adminer)115.2学生信息表(stuInfo)115.3教师信息表(teaInfo)125.4课程信息表(course)125.5学生选课表(checkCourse)125.6学生成绩表(stuGrade)13第6章 系统各功能模块设计及实现146.1 系统登录146.2学生操作模块166.2管理员操作模块306.3教师操作模块41第7章 系统调试537.1 系统调试过程出现的
5、问题及解决办法53结 论54致 谢55参考文献56课程设计任务书课题名称学生选课系统完成时间13周指导教师职称讲师学生姓名班 级总体设计要求和技术要点本系统可以对学生信息、课程信息、教师信息、选课信息进行基于Web方法的管理及维护。本系统的用户分为管理员和学生。管理员可以对学生、班级、课程等信息进行统一的管理,包括学生信息管理、教师信息管理、基本课程信息管理、选课管理、学生成绩管理等。学生只能利用本系统进行与自己有关的操作,不能浏览或修改其他信息,主要包括管理个人信息,如浏览个人信息、修改密码、查询个人成绩等;执行选课操作,如可以进行选课、查看所选课程的基本信息和教师信息、查看选课人数和浏览个
6、人选课情况。1) 用户管理:包括对管理员和学生身份的识别和管理。2) 基本数据管理:包括对学生、教师、课程、班级、选课、成绩等有关基础信息的管理。3) 学生对个人数据的查询及管理:包括修改密码、浏览课程信息、执行选课操作、查询所选课程、查询个人成绩等。工作内容及时间进度安排111周:布置任务,软件设计212周、18周:编写代码,上机调试313周:软件验收,撰写课程设计报告4各班在13周周五将课程设计报告收齐并上交课程设计成果1课程设计报告2源程序代码第1章 绪论随着国内高校校园网的建立,基于互联网的应用系统的开发正在蓬勃发展并发挥着较大的作用。例如,我国许多高校的网上招生系统,学校的各种信息管
7、理系统,学校选课系统,还有一些医学院开发的网上诊所,远程诊断系统等等,都是基于校园网的应用系统。国外的教学科研软件与国内相比开发的早而且相对比较成熟。早在七十年代末,美国就建成了NSFNET(国家科学基金网),其课题的申报以及课题的进展情况汇报都是在网上进行。其网上教务管理系统也是十分的完善,世界各地的学生可以坐在家里通过互联网完成入学申报、选课、考试、毕业论文、取得学位这一学习生活的全过程。目前,国际上已具规模的远程教育院校就有数百所之多,网上教育正在发挥着巨大的作用,为世界各国培养出大批人才。所有这些都表明,基于Internet校园网的应用已经渗透到校园的各个方面。网上选课系统是基于校园网
8、的应用的一小部分,其目的在于方便学生选择课程以及教师的教学活动,更加有利于学校对学生上课,学分,学习成绩的高效统一的管理。1.1 选题的目的及意义在高等学校的教务管理工作中,安排学生上什么样的课程,以及课程表的安排都是一项十分复杂、棘手的工作。在排课的过程中除了满足大量的制约条件以外,还必须解决许多冲突与矛盾。我国不少高校都实行了学分制,它的核心是允许学生自由选课,即把学习的 自主权交给学生。在这里学生选课时的制约因素也比较复杂,工作量也很大,而且往往需要在很短的时间内完成。使用计算机辅助选课,既能实时的对大量选课数据进行检验和统计,十分方便的输出选课结果,同时也避免了人工处理时容易产生的错误
9、。从系统开发的复杂程度来看,计算机辅助排课与选课是高校教务系统中的两个关键子系统,目前很多教务系统尚未很好的解决排课与选课问题。本系统主要是针对高校中的选课问题,学生可针对自己的爱好与兴趣选择公选课程进行学习,也要必须完成必修课的选课工作。1.2 课题研究的主要内容根据软件工程的设计思想要求,本课程设计主要研究以下几个方面的内容:(1)选课系统的背景分析(2)选课网站建设的理论基础(3)在ASP.NET中用户控件和模版的使用(4)用户权限合法性验证的实现第2章 系统需求分析学生选课系统的性质决定了它的服务端工作负荷比较大,这就要求服务端的硬件配置要尽可能的高,主要是内存,而且操作系统也要尽可能
10、的稳定。基于.net的系统一般来说网络安全性比较好,但并不能说就一定安全,尤其在windows操作系统下,由于windows的漏洞比较多,系统装配在windows下并不是最佳的选择。系统的核心数据库,随着数据的不断增多,必然会产生冗余,导致系统运行效率降低,建议管理员定期备份和清理冗余数据,以保证系统的正常高效运行。学生选课系统,主要是针对学生的选课进行需求分析的。首先,学生选课的前提是课程已由教务,或者教师进行科学的,无冲突的排课后,才可以进行的。因此,在选课功能之前,排课成为了选课的前提。这两个功能所涉及的用户为学生、教师、管理员。而他们的信息也应该被合理的管理,这也决定了本系统中必然有的
11、三个功能:登陆管理、排课控制、选课控制。2.1 问题的提出随着Internet的发展,互联网络技术和多媒体技术对教育领域的影响日渐明显,各高校纷纷将“数字化”引入到教学、科研、管理和信息共享等学校日常工作和生活的各个环节,纷纷建立以计算机网络通讯为基础的信息管理和服务平台,用来辅助教学、科研和管理等各种活动。学生选课系统是一个学校不可缺少的部分,它的内容对学校决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。但是一直以来人们都使用传统人工的方式管理档案,这种管理方式存在许多缺点,如:效率低、保密性差、时间长、将产生大量的文件和数据,这对于查找、更新和维
12、护都带来了不少的困难。随着技术的不断提高,计算机科学日渐成熟,其强大的功能以为人们深刻的认识,它以渗透到人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大的提高教务管理的效率,也是学校的科学化、现代化管理,与世界接轨的重要条件。因此开发一套这样的软件是很重要的。2.2 系统的设计目标经过以上的初步调查和研究,并且确定了该平台的可行性,并决定开发本平台,为了能够对现行的平台内容进行充分了解,使所要开发的平台更具有实用性和适应性,设
13、计出该平台功能如下:1. 能够完成用户基本信息录入的注册和用户基本信息的个人前台与后台管理。2. 管理员主要针对系统进行维护,包括设置选课时段,选课规则,如选课前,学生不能登录,而选课后学生不得更改选课信息,只能查看。管理员可以对选课结果进行统计;查询选课情况,对学生的选课申请进行审查;进行用户管理,排课,发布选课信息等。3. 教师查看查询所有课程信息和自己所带课程信息,录入学生应选课程,评定学生成绩,查看个人资料等。4. 学生可以查看选课情况,查看成绩,查看个人资料,能够进行选课操作,维护本人的信息。第3章 系统开发的技术背景3.1 开发技术及运行环境3.1.1 系统采用的开发技术本学生选课
14、系统是一个基于Internet,采用B/S 模式,并根据现有的学生选课系统的现状而设计开发的平台。在这种模式下,用户工作界面是通过www浏览器来实现,极少部分事物逻辑在前端(Browser)实现,但主要事物逻辑在浏览器端(Sever)实现,形成三层结构。这样就大大简化了客户端电脑的负荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。在设计本系统的时候,后台数据库选用的是SQL Sever2005。3.1.2 系统运行环境Microsoft Visual Studio2005本身对软硬件环境没有特殊要求。所以只要求能以较快的速度运行Windows XP SP3或Windows Ser
15、ver 2003,可扩充多媒体配置符合国内外软硬件发展的潮流。(1)硬件环境(最低配置):奔腾386;1GB硬盘容量;256MB内存。(2)软件环境:中文Windows操作系统;安装了Microsoft Office组件;安装了Microsoft Visual Studio2005。3.2 关键技术简介3.2.1 系统前台开发工具(Visual Studio)概述Visual Studio开发系统是一套开发工具,旨在帮助软件开发人员(无论他们是新手还是经验丰富的专家)应对复杂的挑战并创建创新的解决方案。Visual Studio 的目的是改进开发流程,帮助人们更轻松地实现突破、获得更令人满意的
16、结果。3.2.2 后台数据库支持SQL Server 2005是微软推出的一个大型的关系型数据库管理系统。作为Windows数据库中出类拔萃的成员,SQL Server 2005能够满足各种类型的企业客户和独立软件供应商构建商业应用程序的需要。第4章 系统分析与总体设计4.1 系统结构框架本试网站采用模块化设计方法,根据系统功能来进行模块划分,确保模块内聚性高,模块之间耦合性低。经过以上的分析,学生选课系统分为四个个模块,登陆模块,学生操作模块,教师操作模块以及管理员操作模块。用户登录模块:包括用户注册、登录以及用户信息修改等功能,注册用户添加用户记录。学生操作模块:包括学生查询选课,进行选课
17、活动,查询成绩,查询个人资料,退选课程,更改注册秘密。教师操作模块:包括查询统计学生选课情况,安排学生应选课程,录入学生成绩,管理个人信息,修改注册密码。管理员操作模块:包括管理学生信息,管理教师信息,查看统计学生选课情况,管理系部班级信息。根据上述分析,又考虑到系统的安全性,本系统的结构框架图设计如图1-1所示。 学生选课系统 学生模块教师模块管理员模块用户管理用户修改用户注册进行选课查看选课与成绩录入学生成绩安排学生选课管理系部班级信息查看统计学生选课 管理教师学生信息图1-1 学生选课网站结构图4.2 主要模块功能分析4.2.1 用户管理模块该网站的用户可以分为三类:学生、教师和系统管理
18、员。学生可以在前台浏览个人资料,修改自己的密码,可以进行选课与退选活动,能够查询选课以及个人以往所学课程的成绩;教师用户负责安排学生所选的课程,查看学生选课情况,录入所教课程的成绩,查询课表。管理员负责查询学生教师信息,对学生教师信息进行增删改操作,查询系部班级系部,更新系部以及班级信息。4.2.2学生管理模块此部分功能由系统管理员以及教师完成,通过此模块对可以对学生信息进行添加、修改、删除对选课情况进行查看,统计。4.2.3 教师管理模块 此部分可以实现对课程信息的增加删除以及更新,用户登录后可以查看个人信息,可以安排学生的选课,录入学生的成绩,查看学生的成绩。4.2.4 管理员管理模块该用
19、户可以管理课程信息,统计学生选课情况,管理教师学生信息,管理系部班级信息,管理学生选课的情况。第5章 系统数据库设计根据前几章对系统各种功能需求的分析,本系统采用SQL Server 2005数据库,数据库名为Student_Check_Course.mdf,具体表的设计如表1-2至1-7所示。5.1 管理员信息表(adminer)管理员信息表adminer用于存储管理员的基本信息,表中各字段功能定义如表6-1所示。表1-2 adminer表字段名称字段说明字段类型字段大小备注admid管理员编号Int4主关键字adname管理员姓名varchar50不能为空adpwd密码varchar30不
20、能为空authority权限varchar50默认为admin5.2学生信息表(stuInfo)学生信息表stuInfo用于存储用户的基本信息。表中各字段功能定义如表1-3所示。表1-3 stuInfo表字段名称字段说明字段类型字段大小备注stuUseName用户名varchar50主关键字stuUserPassword用户密码varchar50不能为空StuNumber学号varchar10不能为空stuName姓名varchar50不能为空stuSex性别varchar2不能为空stuClass班级varchar10外键stuSubject专业varchar10外键stuDept系别var
21、char10外键stuTelphone联系电话varchar20无stuAddress家庭住址varchar50无stuPhoto照片varchar100无stuIntroduction简介varchar500无5.3教师信息表(teaInfo)商品信息表(teaInfo)用于存储教师的基本信息,表中各字段功能定义如表1-4所示。表1-4 teaInfo表字段名称字段说明字段类型字段大小备注teaUserName用户名Varchar50主关键字teaPassword用户密码varchar50不能为空teaNumber教师编号varchar10不能为空teaName姓名varchar50不能为空
22、teaSex性别varchar2无teaPosition职位vachar30不能为空teaTelphone联系电话varchar20不能为空teaAddress家庭住址varchar50无leader领导varchar20不能为空department部门varchar50不能为空teaphoto照片varchar100无teaIntroduction简介varchar500无5.4课程信息表(course)课程信息表(course)主要用于记录学生将要选择的课程的具体信息,表中各字段功能定义如表1-5所示。表1-5 course 表字段名称字段说明字段类型字段大小备注couNumber课程编号
23、varchar10主关键字couName课程名称varchar50不能为空couKind类别varchar20不能为空couIntroduction课程介绍varchar500无5.5学生选课表(checkCourse)学生选课表(checkCourse)主要用于记录学生的选课情况,表中各字段功能定义如表1-6所示。表1-6 checkCourse 表字段名称字段说明字段类型字段大小备注couNumber课程编号varchar10主关键字couAddress上课地点varchar50不能为空teaNumber授课教师varchar10不能为空couKind课程类别varchar20不能为空st
24、uCount学生总数Int4不能为空schoolYear开课学年varchar10外键term开课学期varchar10外键deptNumber开课系别varchar10外键subNumber开课专业varchar10外键ifCheck当前选课人数Int4无5.6学生成绩表(stuGrade)学生成绩表(stuGrade)主要用于记录每个学生每个学期的成绩,表中各字段功能定义如表1-7所示。表1-7 stuGrade 表 字段名称字段说明字段类型字段大小备注stuNumber学生编号varchar10主关键字couNumber课程名称varchar50不能为空teaNumber授课教师varc
25、har10外键grade成绩Int4无schoolYear上课学年varchar10外键schoolTerm上课学期varchar10外键第6章 系统各功能模块设计及实现6.1 系统登录本系统的登陆界面如图1-1所示,该界面主要完成各类用户的验证登陆,要输入正确的用户名与密码才能登陆。6.2学生操作模块(1)该模块的主界面如图1-2所示,该界面主要完成链接到学生的各个操作界面。(2)个人资料界面主要显示学生个人的详细信息,该界面如下图1-3所示。(3)成绩查询界面主要完成学生查询个人成绩功能,学生可按学科,学年来查询自己的成绩,该界面如下图1-4 所示。(4)选课界面主要完成学生的选课操作,学
26、生可以退选已经选过的课程,如下图1-5所示,当学生选完课后,已选人数就会加一,如果学生所选的课程应经选过了,系统会给出提示,如果学生退选课程前没有选择该课程,系统也会给出提示。当该课程人数已满,系统会给出提示,不能再进行选课操作。学生也可以查看课程的详细信息(5)查看学生选课界面主要完成学生对已选课程的查询与退选操作,界面如下图1-8所示。(6)信息维护界面,该界面主要完成学生对用户密码的修改,该界面如下图1-9所示。 6.2管理员操作模块(1)主界面,该界面主要完成链接到到各个管理界面的功能,界面如下图1-10所示。(2)“查看/删除教师信息”界面主要完成对教师信息的查看,与修改教师信息,管
27、理员可以填写教师编号来查询教师信息,也可以按系别查看教师信息。当点击“删除”按钮删除教师记录时,系统会给出提示,当点击“修改”修改教师记录时,系统会链接到“更新教师信息”的界面,“查看/删除教师信息”界面如下图1-11所示。(3)“添加教师信息”界面,该界面主要完成对教师信息的添加,添加成功后,系统会给出添加成功的提示,该界面如下图1-14所示。(4)其余对于学生与系部班级信息的操作类似于对教师信息的管理。 6.3教师操作模块(1)“主界面”主要完成链接到各个功能界面的作用,如下图1-15所示。(2)“查看开课信息”界面主要完成教师对自己所交课程的查询,教师可以按照课程性质进行查询。界面如下图
28、1-16所示。(3)“查看学生成绩”界面主要是完成对学生成绩的查询。教师可以完成对全部学生成绩信息的查看,也可以查看单独个人的成绩。界面如下图1-17所示。 (5)“填写开课菜单”界面,主要完成教师对学生选课的安排。当提交成功后,系统会给出提交成功的提示,当点击“重置”会清空当前所填信息,以便用户的再次填写。该界面如下图1-19所示。第7章 系统调试7.1 系统调试过程出现的问题及解决办法(1)由于是基于B/S的系统,网页在其中就承担着非常大的工作,包括向服务端后台写入和修改数据,以及服务端响应客户端的请求,向客户端页面返回数据,这些工作不可能只由几个网页来完成,但网页数量一多又必然结构混乱,
29、造成开发过程难以控制。为解决这个问题,我将页面分成了三类,即教师的操作界面、学生的操作界面、管理员的操作界面。每个类界面都存在一个主的导航界面,这样直接,显而易见的显示出用户的各种操作,方便用户需要,快捷有效的完成各种功能的同时,又清晰了界面结构。(2)第二个问题就是用户登陆以后,如果需要修改资料,系统会先将数据库中该用户的所有信息以列表形式显示出来,问题就是此时出现的用户密码信息是以明码形式出现的,这对用户来说就存在这很大的风险,容易被他人看到,最好是以一些特殊符号来代替从而防止信息泄漏,在参考了其他网站的登陆模块之后,我对代码进行了简单修改,即可实现,问题是由密码的输入框属性引起的。此时密
30、码输入框的属性为textmode也就是文本框,它会直接将数据以明码形式原封不动的输出,我们只需将其改为password属性即可,它以默认的黑色圆点代替真实数据,这样一个简单的修改,就保证了该部分的安全性。(3)第个三问题是当某个操作成功或者失败还是限制此项操作,操作人员在操作完成后都不清楚。例如添加教师信息,当添加完成后,管理人员不清楚或者忘记了是否添加了此条记录,当学生执行选课操作时,没门课程都会限制选课的总人数,如果超过了该人数,学生就不能执行选课操作,或者该操作无效。这样就造成了重复操作,造成数据的错乱难以管理,并且缺乏精确性。 为了解决这个问题,我采用系统提示消息的策略,当用户成功完成
31、此项操作后,会提示用户操作成功,如果用户操作失败,在提示操作失败的同时还会给出操作失败的原因,如果同一条记录重复录入,系统也会检测出来,给出提示信息,这样就规范了用户的操作,是数据精确的录入系统。结 论本设计使用当今较为流行的编程语言ASP.net,使用Microsoft SQL Server 2005创建后台数据库。通过这次的课设我深刻体会了熟练掌握一种开发语言的难度是那么的大,通过课上的学习,我只学到了ASP.net语言的一些基础知识,还不能熟练的应用,因此当做课设时,用到的一些功能,我都无从下手。在做课设的过程中,又失败,有兴奋。但是我坚持了下来,遇到困难我没有灰心,虽然有些知识我还没有
32、掌握,也不知道怎么运用,但是在做课设的过程中,我及时的向同学请教,有些同学也不会的问题,我就请教老师。这个过程中,我学会了很多,明白了很多课堂上应该记住的知识,也明白了在编程的时候,一个细微的细节都必须十分的注意,如果不认真思考决策,就会出现或大或小的错误,或者成为一个隐藏性的错误,如果早期的错误隐藏下来,对后面的工作就会影响很大,甚至会推倒许多前面工作。有时候自己觉得我写的程序非常的正确,但是在调试的的过程中,就是不能通过,会出现错误,但是经过同学的指点,才发现,就是因为平时编程时不注意的小方面而影响了自己。所以以后编程时,要养成良好的编程习惯,这样给调试程序带来方便,也是程序变得更加结构清
33、晰。这个过程中,也培养了我们的团队精神,我们经常几个人在一起讨论某个功能如何实现,出现的错误如何解决。总之,通过做这个课设,使我受益匪浅。本系统通过调试运行,结果表明系统具有可行性与可扩充性,但系统还有待于进一步完善。致 谢课程设计完成之际,我由衷地感谢指导老师的大力帮助和支持,感谢我的同学与朋友,在我遇到各种各样复杂问题的时候,给与我鼓励和帮助,使我的分析问题和解决问题能力有了很大的提高,为我解决了很多代码方面的问题,而且帮助我进行系统的测试,如果没有他们,我无法完成此次课程设计。设计期间,指导老师严肃的科学态度、严谨的治学精神、精益求精的工作作风深深地感染和激励着我。从课题的选择到项目的最
34、终完成,都始终给予我细心的指导和不懈的支持。 设计期间,同学给了我最有力的支持,是你们的耐心以及热心,让我有坚持做完做好课设的动力,是你们在我遇到问题的时候,及时的给予了我帮助,在我无从下手的时候你们指点了我该如何做,我们一起讨论问题,解决问题的时候,是我最快乐的时候,忠心的感谢你们的帮助。参考文献1 姚志安,周志宏,杨柳等ASP.NET精彩编程百例中国水利水电出版社,20032 郝思嘉等ASP.NET课程设计案例精编中国水利水电出版社,20063张文仲等ASP.NET网络开发技术人民邮电出版社 20064张固,汪晓平等ASP网络应用系统典型模块开发实例解析人民邮电出版社2004.75肖建ASP.NET编程实例与技巧集萃北京希望电子出版社2003.5指导教师评语及设计成绩 评 语 课程设计成绩: 指导教师: 日期: 年 月 日