学生选课系统的设计与实现
杨慧清指导老师:颜清
(上饶师院数学与计算机系02级3班,江西上饶334001)
摘要:学生选课系统是一个针对高校学生选课而开发的学生选课信息管理系统,是为学生选课提供安全、快捷、方便的服务而建立的应用软件。本系统是一个典型的信息管理系统,其开发主要包
括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和
完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。另外,本文还
着重论述了信息管理系统的系统功能与实现,包括数据流程及存储、学生课程设置、学生信息设置、
用户注册、网上选课修改及删除等。本系统可以使老师、学生更方便的选课。实现全校学生选课在
线查询。由于学生上课情况复杂,可以实现信息修改,及时调整学生的基本情况。切实的提高学校
的管理的工作效率。
关键词:学生选课系统;PowerBuilder;数据库
中图分类号:TP39文献标识码:A
1应用背景的分析
1.1学校管理系统的开发现状及方法
在高等学校的教务管理工作中,课程表的编排是一项十分复杂、棘手的工作。在排课过程中,除了满足大量的制约条件以外,还必须解决许多冲突与矛盾,例如:两位教师不能同一时间在同一班级上课、一位教师不能在同一时间上两门课等等。利用计算机辅助进行课表编排工作,既提高了排课工作的科学性,又可大大减轻管理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新台阶。
我国不少高校都实行了学分制,它的核心是允许学生自由选课,即把学习的自主权交给学生。在这里,学生选课时的制约因素比较复杂,工作量也很大,而且往往需要在较短的时间内完成。运用计算机辅助选课,即能实时地对大量选课数据进行检验和统计,十分方便地输出选课结果,同时也避免了人工处理时容易产生的错误。
从系统开发的复杂程度来看,计算机辅助排课与选课是高校教务系统中的两个关键子系统,目前不少教务系统尚未很好地解决排课与选课问题。本文主要对高校教务管理系统中计算机课表编排与选课子系统的基本功能、设计思想、需求分析以及实现技术进行探讨。
我想大家肯定都经历过学生时代,也许很多人还对那个时候的选课记忆犹新,每个学期都要排着长长的队伍去选。现在,我们已经进入到Internet时代了,选课系统自然也要随着更新。
大学中,公选课较多,学生可根据自己的专业及兴趣选择公选课程进行学习,本系统将从教学部门的要求出发,实现公选课的选择、查询与统计。
数据库是从60年代初发展起来的计算机技术。经过四十来年的发展,数据库技术己经趋于成熟。Web数据库在新的Internet环境中发生了很大的变化。就数据应用而言呈现出多样化的空间,如数字图书馆、电子出版物、电子商务、远程教育系统等的出现,给web数据库技术提出了更多、更高的要求。同时,随着国内高校校园网的建设,基于互联网的应用系统的开发正在蓬勃发展并发挥着较大的作用。例如,我国许多高校的网上招生系统,学校的各种管理信息系统,学校选课系统,还有一些医学院校开发出的网上诊所、远程诊断系统等等,都是基于校园网的应用系统。
国外的教学科研软件与国内相比开发的早而且比较成熟。早在七十年代末,美国就建成了NSFNET(国家科学基金网),其课题的申报及课题的进展情况汇报都在网上进行。其网上教学教务管理系统也十分完善,世界各地的学生可以坐在家里通过互联网完成入学报名、选课、考试、毕业论文、取得学位这一学习生活的全过程。目前,国际上已具规模的远程教育学校就有数百所之多,网上教育正在各地发挥着巨大的作用,为世界各国培养出大批人才。所有这些都表明,基于Internet的校园网的应用已深入到校园内的各个方面。
1.2本课题研究的可行性分析
1.2.1课题调研
(1)到学校教务处通过对学生选课情况的具体调查,发现学生选课系统的实用性和必要性。
(2)本课题要求学生具有熟练的PowerBuilder开发能力,有较强的自学能力和一定的关系数据库理论开发功底。
(3)在具体的内容操作方面,具有对复杂表进行处理的能力。
(4)开发过程中遇到的具体问题再做详细调查研究并与指导老师面谈。
1.2.2可行性分析
(1)技术可行性-----本系统仅需要一台装有PowerBuilder软件的计算机即可,对机器本身没有太高的要求,一般当前学校或个人电脑完全可满足要求。对于软件技术要求,现在的程序设计已非常成熟,要运用数据库生成可执行的文件,并打包成相应的安装文件。
(2)经济可行性-----由于本系统是为学生选课管理使用的系统,装上该应用软件,即可使用系统,系统成
本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,物力。所带来的效益远远大于系统软件的开发成本,因此在经济上是完全可行的。
(3)操作可行性-----界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩充。
1.3学生选课系统的应用价值
这份可行性研究报告是对学生选课系统作的可行性研究分析及指出存在的必性。本报告的编写目的在于研究选课系统软件的开发途径和应用方法。
当今时代是飞速发展的信息时代。在各行各业中离不开信息处.理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信
息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。
本系统就是为了管理好选课信息而设计的。学校作为一种信息资源的集散地,学生和课程繁多,包含很多的信息数据的管理,现今,有很多的学校都是初步开始使用,甚至尚未使用计算机进行信息管理。根
据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于选课情况的统计和查询等往往采用对课程的人工检查进行,对学生的选课权限、以及选课代号等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查。总的来说,缺乏系统,规范的信息管理手段。尽管学校都有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。学校采取手工方式对学生选课情况进行人工管理,由于信息比较多,选课信息的管理工作混乱而又复杂;一般选课情况是记录在文件上,课程的数目和代号也记录在文件中,学校的工作人员也只是当时对它比较清楚,时间长了,如再要进行查询,就得在众多的资料中翻阅、查了,造成查询费时、费力。如要对很长时间以前的选课进行更改就更加困难了。
基于这些问题,我认为有必要建立一个学生选课系统,使选课管理工作规范化,系统化,程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。
2学生选课系统的设计
2.1应用需求分析
本系统主要实现教师信息管理、学生信息管理、课程信息管理和系信息管理,其中教师信息管理有教师姓名、教师工号、教师职称、教师所属系;学生信息管理有学生姓名、学生学号和学生所在系、年龄、
性别;课程信息管理有课程名称、人数、课程性质、开课系、课程人数;系信息管理有系号和系名。
(1)学生信息模块完成学生的登陆,然后根据各位同学所在的系不同,调用相应的选课模块。其中学生登录模块的功能是验证登录人员确实是本院的学生,学生启动本系统后,系统提示输入学生学号码和密码,验证后进入主控操作界面。
(2)课程信息管理包括必修课程和选修课程,学生必需先登录才能进行对课程的选课否则不能进入选课系统。
(3)系信息管理中学生必需登录学号才能进行选课,否则并不能进行选课。
2.2对软件和硬件的要求
系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动和安全性,运行效率等方面的考虑。
本系统运行环境为单环境,在运算时对系统整体性能要求过高,要求:
软件系统环境:PowerBuilder10.0。
硬件系统环境:C600、64MB(RAM)、500MB(HD)。系统运行时对数据的保密性要求不高对一般的数据不要求进行加密。此外,对其它软件几乎没有依赖性,程序独立性较好。
2.3运行需求
硬件条件:处理器:Intel PII450或更好;内存:256M或更大。
软件条件:Microsoft Windows/95/98或更高版本的操作系统;
PowerBuilder10.0;Microsoft Office2000。
2.4其他需求
本系统有较好的可维护性、可靠性、可理解性、效率。易于用户理解和操作,可维护性包括了可读性、可修改性、可测试性等含义。可靠性通常包括正确性和安全性。开发过程中,在各种矛盾的目标之间作权衡,并在一定的限制的条件(经费、时间、可用的软、硬件资源等)下,使上述各方面最大限度的得到满足。
2.5系统结构分析
2.5.1数据库应用系统开发简介
在数据库应用系统开发之前,对开发数据库的基本概念应当了解,对数据库的结构、开发数据库应用程序的步骤、开发体系及方法都应当有相当清晰的了解和认识。数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,把它们转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。数据库技术在计算机软件邻域研究中一直是非常重要的主题,产生于60年代,30多年来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统。并且,近年来,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。用户数据目前表明,大多数主流数据库管理系统把用户数据表示为关系。现在把关系看作数据表。表的列包含域或属性,表的行包含对应业务环境中的实体的记录。并非所有的关系都同样符合要求,有些关系比其它关系更结构化一。
2.5.2系统简要分析
管理员可以通过用户身份登录,对系统进行全面的管理,对新用户的添加,删除,对信息进行管理。
学生进入界面通过查询本学期所开设课程进行选择。
2.5.3业务流分析
学生成绩管理系统的业务流程:首先由教师或系统管理员等有录入权限的用户将各自权限范围内的信息
进行录入,然后保存信息到数据库中。有权限的人可以对这些库信息进行修改和删除。所有用户均可以进行信息查询和统计,有权限用户还可以基于已有信息进行奖学金评定,评定结果可以报表打印。
2.5.4数据流分析输入学生姓名查询成绩在线查
学生成绩管理系统的数据流程:首先由教师或系统管理员等有录入权限的用户将各自权限范围内的信息进行录入处理,然后保存信息到数据库中。有权限的人可以对这些库信息进行修改和删除处理。所有用户均可以进行信息查询和统计,有权限用户还可以基于已有信息进行奖学金的
评定处理过程,评定结果可以报表打印。
3数据库设计
3.1设计E-R图
根据学生与课程这两个实体之间的联系,所设计的E-R图如下:
从E-R图可知应建立三个数据关系表,即学生信息表:S(sno,sname,sex,age,sdept);学生课程信息表:C(cno,cname,cdept,tname),学生选课信息表:SC(sno,cno,grade)。
3.2系统流程图
3.3创建数据表
建立学生信息表s:
表1
sno sname sex age sedept
9801李铭男19计算机软件
9802刘晓鸣男20计算机应用
9806刘成刚男21计算机软件
9807王铭男22计算机应用
9808宣明尼女18计算机应用
9809柳红利女19计算机软件
9803李明男22计算机应用
9804张鹰女21计算机软件
9805刘竟静女22计算机软件建立学生课程信息表c:
表2
cno cname cdept tname
C1PASCAL计算机应用王晓名
C2数据结构计算机应用刘红
C6WINDOW技术计算机软件吴志刚
C3离散数学计算机应用李严劲
C4计算机原理计算机软件王晓名
C5数据库原理计算机应用吴志刚
C9系统结构计算机软件刘红
C8编译原理计算机应用蒋莹岳
建立学生选课信息表sc:
表3
sno cno grade
9801C256
9801C666
9801C478
9803C188
9803C276
9804C167
9804C276
9804C367
9805C167
9805C391
9805C278
9806C178
4应用程序各窗口的创建及相应代码
4.1窗口w_course_creat的源代码