学生选课系统
摘 要:
Internet 网是目前全球最大的计算机通信网,它遍及全球几乎所有的国家
和地区。www 系统是一个大型的分布式超媒体信息数据库,它极大的推动了
Internet 的发展,己经成为 Internet 中最流行、最主要的信息服务方式。www
技术之所以能在全球普及,一个重要的原因就是它与数据库管理系统相互融合,
成为一个处理和共享信息的强大工具。一方面,数据库是一种强大的信息管理工
具,另一方面,www 提供了共享数据的方法。两者强强联合取长补短,发挥各自
优势,使用户可以在 Web 浏览器上方便地检索数据库的内容。
本文主要包括学生选课系统方案分析与网络规划,本系统是一个典型的信息
管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的
开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
随着在校大学生人数的不断增加,教务系统的数据量也不断的上涨。以往的
选课方法是随堂报名。这种方法虽然直接,但是造成选课的盲目性和教务处处理
数据的繁重性。为了减轻教务处工作,以及每个学生更好的选择自己所喜欢的科
目。针对学生选课这一环节,本系统实现学生选课的基本功能,包括学生退选课,
查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、
管理学生、管理成绩、添加教师、管理教师和管理课程等。系统利用.Net 平台
技术进行开发,实现学生选课的动态管理,使得对信息的管理更加及时、高效,
提高了效率。同时还对系统的开发原理、功能特点和设计方案进行了介绍。
关键词:学生选课 数据库 管理 ASP.NET
第 2 页 共 41 页
目 录
摘要…………………………………………………………………………………………………2
一、引言…………………………………………………………………………………………….5
1.1 课题研究的目的……………………………………………………………………………...5
1.2 课题研究的意义……………………………………………………………………………...5
二、可行性分析…………………………………………………………………………………….6
1.概述………………………………………………………………………………………………6
1.1 课题题目……………………………………………………………………………………….6
1.2 系统的主要目标……………………………………………………………………………….6
1.3 系统的开发环境及运行环境………………………………………………………………….6
2.可行性分析研究的前提…………………………………………………………………………6
2.1 要求…………………………………………………………………………………………….6
2.2 目标…………………………………………………………………………………………….7
2.3 条件、假定和限制…………………………………………………………………………….7
2.4 进行可行性研究的方法……………………………………………………………………….7
2.5 评价尺度……………………………………………………………………………………….7
3.问题定义…………………………………………………………………………………………7
4.可行性分析………………………………………………………………………………………7
5.结论………………………………………………………………………………………………8
三、需求分析………………………………………………………………………………………9
1.系统需求分析……………………………………………………………………………………9
2.应用需求分析…………………………………………………………………………………..10
3.数据流分许……………………………………………………………………………………..12
4.功能需求分析…………………………………………………………………………………..12
4.1 系统的主要用户……………………………………………………………………………...12
4.2 主要功能划分………………………………………………………………………………...12
5.E-R 图…………………………………………………………………………………………...13
四、概要设计……………………………………………………………………………………..16
1.引言……………………………………………………………………………………………..16
1.1 编写目的……………………………………………………………………………………...16
1.2 背景说明……………………………………………………………………………………...16
2.用户需求分析成果……………………………………………………………………………..16
3.总体设计………………………………………………………………………………………..16
3.1 设计目标、依据和方法………………………………………………………………………16
3.2 软件结构体系………………………………………………………………………………...16
3.3 软件模块功能设计…………………………………………………………………………...17
3.4 人机交互系统设计…………………………………………………………………………...17
4.数据库设计………………………………………………………………………………..........19
4.1 数据库逻辑设计……………………………………………………………………………...19
4.2 数据库的物理实现…………………………………………………………………………...20
5.界面设计………………………………………………………………………………………..23
五、详细设计……………………………………………………………………………………..25
1.引言……………………………………………………………………………………………..25
第 3 页 共 41 页
1.1 通用操作……………………………………………………………………………………...25
1.2 用户所具有功能……………………………………………………………………………...25
2.模块系统的组织结构…………………………………………………………………………..26
3.模块分析………………………………………………………………………………………..26
3.1 教师系统功能………………………………………………………………………………...26
3.2 课程系统功能………………………………………………………………………………...26
3.3 学生系统功能………………………………………………………………………………...26
3.4 选课系统功能………………………………………………………………………………...27
4.操作方法………………………………………………………………………………………..27
4.1 登录…………………………………………………………………………………………...27
4.2 课程预览……………………………………………………………………………………...27
4.3 选课…………………………………………………………………………………………...27
4.4 退课…………………………………………………………………………………………...27
4.5 密码修改……………………………………………………………………………………...27
4.6 管理员登录…………………………………………………………………………………...27
4.7 退出系统……………………………………………………………………………………...27
5.模块设计说明…………………………………………………………………………………..27
5.1 系统用户登录流程图………………………………………………………………………...28
5.2 用户密码修改流程图………………………………………………………………………...29
5.3 教师提交成绩流程图………………………………………………………………………...30
5.4 管理员添加课程流程图……………………………………………………………………...31
5.5 学生选修课程流程图………………………………………………………………………...32
六、测试文档……………………………………………………………………………………..32
1.概述……………………………………………………………………………………………..32
2.适用对象和范围………………………………………………………………………………..32
3.测试工作流程…………………………………………………………………………………..32
3.1 测试管理总流程……………………………………………………………………………...32
3.2 制定测试计划工作流程……………………………………………………………………...33
3.3 设计测试用例工作流程……………………………………………………………………...33
3.4 执行测试工作流程…………………………………………………………………………...34
4.测试方法和方式………………………………………………………………………………..40
5.通过测试的标准………………………………………………………………………………..41
6.测试中断与开始的标准………………………………………………………………………..41
7.测试任务………………………………………………………………………………………..41
七、总结…………………………………………………………………………………………..42
八、致谢……………………………………………………………………………………………42
第 4 页 共 41 页
一、 引言
数据库是从 60 年代初发展起来的计算机技术。经过四十来年的发展,数据
库技术己经趋于成熟。Web 数据库在新的 Internet 环境中发生了很大的变化。
就数据应用而言呈现出多样化的空间,如数字图书馆、电子出版物、电子商务、
远程教育系统等的出现,给 web 数据库技术提出了更多、更高的要求。同时,随
着国内高校校园网的建设,基于互联网的应用系统的开发正在蓬勃发展并发挥着
较大的作用。例如,我国许多高校的网上招生系统,学校的各种管理信息系统,
学校选课系统,还有一些医学院校开发出的网上诊所、远程诊断系统等等,都是
基于校园网的应用系统。
国外的教学科研软件与国内相比开发的早而且比较成熟。早在七十年代末,
美国就建成了 NSFNET(国家科学基金网),其课题的申报及课题的进展情况汇报
都在网上进行。其网上教学教务管理系统也十分完善,世界各地的学生可以坐在
家里通过互联网完成入学报名、选课、考试、毕业论文、取得学位这一学习生活
的全过程。目前,国际上已具规模的远程教育学校就有数百所之多,网上教育正
在各地发挥着巨大的作用,为世界各国培养出大批人才。所有这些都表明,基于
Internet 的校园网的应用已深入到校园内的各个方面。
在高等学校的教务管理工作中,课程表的编排是一项十分复杂、棘手的工作。
在排课过程中,除了满足大量的制约条件以外,还必须解决许多冲突与矛盾,例
如:两位教师不能同一时间在同一班级上课、一位教师不能在同一时间上两门课
等等。利用计算机辅助进行课表编排工作,既提高了排课工作的科学性,又可大
大减轻管理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了
一个新台阶。
我国不少高校都实行了学分制,它的核心是允许学生自由选课,即把学习的
自主权交给学生。在这里,学生选课时的制约因素比较复杂,工作量也很大,而
且往往需要在较短的时间内完成。运用计算机辅助选课,即能实时地对大量选课
数据进行检验和统计,十分方便地输出选课结果,同时也避免了人工处理时容易
产生的错误。
从系统开发的复杂程度来看,计算机辅助排课与选课是高校教务系统中的两
个关键子系统,目前不少教务系统尚未很好地解决排课与选课问题。本文主要对
高校教务管理系统中计算机课表编排与选课子系统的基本功能、设计思想、需求
分析以及实现技术进行探讨。
1.1 课题研究的目的
(1)掌握采用 Internet 的 TCP/IP 协议,ASP 编程技术。
(2)掌握一种多任务多用户操作系统
(3)ASP 的动态网页和 SQL Server 的数据库。
(4)学会使用某种开发工具。
(5)培养刻苦创新的精神。
1.2 课题研究的意义
学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管
理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷
的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式
第 5 页 共 41 页
存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,
这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深
刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理
所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、
寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的
科学化、正规化管理,与世界接轨的重要条件。
因此,开发这样一套软件成为很有必要的事情,在下面的各章中我们将以开
发一套学生选课系统为例,谈谈其开发过程和所涉及到的问题及解决方法。
本文中所做的主要工作如下:
(1)阐述整个个性化页面生成系统的系统结构及工作原理;分析了系统实
现中的特殊性、难点和重点。
(2)设计实现用户管理、课程管理、选课信息录入管理、新生信息录入管
理、课程的浏览和查找、学生查找等 ASP 页面 。
(3)分析并解决实现中的若干技术问题。
(4)建立完整的网上选课,进行测试并分析结果。
二、 可行性分析
1.概述
1.1 课题题目:学生选课系统
1.2 系统的主要目标:
本系统目标是实现选课系统所需的各种基本功能,包括学生选课、退课功能
和教师查看选修课程、提交课程成绩功能以及管理员添加学生、维护学生信息、
成绩管理、添加教师、维护教师信息、维护选修课程,还有公用的修改密码等功
能。
1.3 系统的开发环境及运行环境:
操作系统:Windows XP SP3
数据库系统:SQL Server2000
开发工具:Visual Studio 2005
Web 服务器:ASP.NET 2.0
2.可行性分析研究的前提
2.1 要求:
a.功能:所有学生可以直接上网进行选课操作,教师可以将课程教室、时间、
学分等信息上传,并有管理员进行统一管理。
b.性能:能够具有操作简单方便一目了然。
c.输出:各种课程查询,与选择。
d.输入:教师输入的课程信息,学生选课完成输入的选课信息。
第 6 页 共 41 页
e.处理流程:教师先导入信息到服务器中,供给学生进行选课操作。
f.安全保密:各个用户直接由自己的用户名与密码,互相之间保密。
g.完成期限:具有一定的时限控制,只准许在特定的时间内操作。
2.2 目标:
建立完善的学生选课系统。
2.3 条件、假定和限制:
在网络条件可行的情况下,假定以建立选课系统,对登入的人员进行时限,
看系统是否能够达到预定的效果。
2.4 进行可行性研究的方法:
a.复查系统规模和目标。
b.研究目前正在使用的系统。
c.导出新系统的高层逻辑模型。
d.进一步定义问题。
e.导出和评价供选择的解法。
f.推荐行动方针。
g.草拟开发计划。
h.书写文档提交审查。
2.5 评价尺度:
从经济、技术、操作等等多方面论证本系统是否可以进行开发。
3.问题定义
在计算机飞速发展的今天,各大高校的学生选课也利用学生选课管理系统,
让同学们能在网上轻松的选课,也让管理人员能轻松的管理,明确的设想到任何
选课存在的问题,制作完美的学生选课管理系统。
4.可行性分析
可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过
程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的
分析是非常必要的,也是很重要的。
(1)经济可行性
开发成本低是优点,学生选课系统可以统一的将本学期所有课程供广大学校
查询选择,并作一些简单的介绍,考试完成后可以把分数直接在网络上公布出来,
避免了考试后公布成绩的一大难题,同时也做到了节约,及时,方便人们使用,
任何时间地点你都可以随时查询。
现在的大学专业多,课程也多,而且经常性的发生变化,常常使学生一头雾
水不知道选什么课程好。学生选课系统可以很好的将课程统一起来,统一分类,
统一发布,方便学生查询选择,节省了人力物力。大学毕业学分是关键,学生选
课系统加入学分计算,可以方便学生及时了解自身所修学分的不足。
总之大大节约平时教学成本的同时还方便人们使用。所以经济上可行。
第 7 页 共 41 页
(2)技术可行性
这次编写学生选课系统主要功能是在界面上显示数据库中的课程信息,并且
可以对数据库中的课程信息进行查询,插入,更新,删除操作,同时在学生选课
时将学生信息放入课程信息的一个子类中。这些功能可以用 visual studio 2005
开发工具,用 c++技术实现。c++语言我在以前的课程中已经学习过了,经过复
习可以在短时间内上手并完成这个学生选课系统。所以在技术上也是可行的。
(3)运行可行性
学生选课系统采用基于 Windows 的图形用户界面,而该系统是大家熟悉的操
作系统,对于那些有一般的计算机知识的人员就可以轻松上手。而整个学生选课
系统采用友好的交互界面,简洁明了,对数据库的操作也比较简单。
由此,该系统的运行是可行的,有必要开发该系统。
5.结论
当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计
算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行
信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了
其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机
进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。
本系统就是为了管理好选课信息而设计的。学校作为一种信息资源的集散
地,学生和课程繁多,包含很多的信息数据的管理,现今,有很多的学校都是初
步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信
息管理的主要方式是基于文本、表格等纸介质的手工处理,对于选课情况的统计
和查询等往往采用对课程的人工检查进行,对学生的选课权限、以及选课代号等
用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容
易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管学校都
有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这
就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,
出错后不易更改。学校采取手工方式对学生选课情况进行人工管理,由于信息比
较多,选课信息的管理工作混乱而又复杂;一般选课情况是记录在文件上,课程
的数目和代号也记录在文件中,学校的工作人员也只是当时对它比较清楚,时间
长了,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费
力。如要对很长时间以前的选课进行更改就更加困难了。
基于这些问题,我认为有必要建立一个学生选课系统,使选课管理工作规范
化,系统化,程序化,避免选课管理的随意性,提高信息处理的速度和准确性,
能够及时、准确、有效的查询和修改选课情况。
第 8 页 共 41 页
三、 需求分析
1.系统需求分析
学生选课系统需要满足来自三方面的需求,这三个方面分别是学生、教师和
管理员。学生的需求是查询院系的课程、学生选课情况及学生信息的修改;教师
对选课系统学生选课情况进行操作,同时形成学生选课查看确认;选课管理员的
功能最为复杂,包括对学生、教师、选课进行管理和统计,及系统状态的查看、
维护并生成选课报表。学生可以直接查看选课情况,学生可以根据本人学号和密
码登录系统,还可以进行本人学科成绩情况的查询和维护部分个人信息。一般情
况下,学生只应该查询和维护本人的选课情况和个人信息,若查询和维护其他学
生的选课及成绩查询信息,就要知道其他学生的学号和密码。这些是很难得到的,
特别是密码,所以不但满足了学生的要求,还保护了学生的个人隐私。
学校工作人员有修改学生选课的权限,所以需对工作人员登陆本模块进行更
多的考虑。在此系统中,学校工作人员可以为学生加入选课或是登陆记录,并打
印生成相应的报表给用户查看和确认院系管理人员功能的信息量大,数据安全性
和保密性要求最高。本功能实现对选课信息、教师信息、总体选课情况信息的查
询和统计、工作人员和管理人员信息查看及维护。学校管理员可以浏览、查询、
修改、统计选课的基本信息;浏览、查询、统计和修改学生选课的基本信息,浏
览、查询、统计学生信息,但不能添加删除和修改学生的信息,这部分功能应该
由院系工作人员执行,但是,删除某条学生选课基本信息记录时,应实现对该学
生选课的级联删除。并且还应具有生成选课报表,并打印输出的功能。设计不同
用户的操作权限和登陆方法对所有用户开放的学生选课查询和个人部分信息维
护查看个人情况信息维护学生个人密码根据选课情况对数据库进行操作并生成
报表根据选课情况对数据库进行操作并生成报表查询及统计各种信息维选课信
息维护工作人员和管理员信息维护学生信息处理信息的完整性。
本系统主要实现教师信息管理、学生信息管理、课程信息管理和系信息管理,
其中教师信息管理有教师姓名、教师工号、教师职称、教师所属系;学生信息管
理有学生姓名、学生学号和学生所在系;课程信息管理有课程名称、学分、上课
地点、已选人数、课程性质、开课系、课程人数;系信息管理有系号和系名。
第 9 页 共 41 页