学生选课系统毕业课程设计报告.docx
《学生选课系统毕业课程设计报告.docx》由会员分享,可在线阅读,更多相关《学生选课系统毕业课程设计报告.docx(31页珍藏版)》请在冰豆网上搜索。
学生选课系统毕业课程设计报告
(此文档为word格式,下载后您可任意编辑修改!
)
学生选课管理系统
摘要
随着社会的发展,学生的人数和课程的种类急速增加,传统的选课管理模式已经无法满足当前的实际需求,为此,我们开发了学生选课管理系统。
本人结合学生选课管理的实际需要,完成了对学生选课管理系统的需求分析、功能模块划分、数据库模式分析等,并由此设计了后台数据库以及前台应用程序。
文中首先对课题背景,数据库基础理论和SQL语言进行了简单的讨论;接着,对系统前台开发工具PowerBuilder9.0,学生选课管理系统进行了详细分析,划分了具体的功能模块;最后,给出了学生选课系统应用程序的设计过程,以及每个功能模块的核心代码。
系统可以实现学生选课的一些重要功能,如:
课程的添加、删除,信息查询、选课、生成课表,以及学生选课管理人员、用户个人信息的维护等。
关键词管理系统;数据库;PowerBuilder9.0;SQLServer2000
SelectCourse
ManagementSystemofStudents
ABSTRECT
Withthedevelopmentofsociety,notonlythestudent’snumberbutalsothekindsofcourseincreasedrapidly,thetraditionalmanagementmodehasbeenunabletoadapttoactualneed,sowedeveloptheselectcoursemanagementsystemofstudents.
Accordingtotheactualneedofselectcourse,Ianalyzedthedemand,dividedfunctionnodule,analyzeddatabasemodeofthesystem.Then,Idesigneddatabaseofbackstageandapplicationprogramofstage.
Firstly,IsimplydiscussedthebackgroundofthissubjectandthebasictheoryofthedatabaseandSQLlanguageinthearticle.ThenIanalyzedthedevelopmenttool—PowerBuilder9.0,analyzedindetailtosystemanddividedtheconcretefunctionmodule.Finally,Iprovidedthedesignprocessofthesystemandthekeycodeofeachfunctionnodule.
Thesystemaccomplishedsomeimportantfunctionsofmanagementsystemofbooks,suchas:
course’sinput,output,informationinquiry,selectcourses,createtableofcourse,modifyinformationoftheadministratorsandstudents,etc.
KEYWORDSManagementSystem,Database,PowerBuilder9.0,SQL
摘要I
ABSTRECTII
1绪论1
1.1课题的背景1
1.2课题的设计2
1.3本文的结构2
2相关知识基础3
2.1数据库的基础知识3
2.2关系型数据库5
2.3PowerBuilder9.0开发工具简介7
2.4SQL概述8
2.5本章小结11
3系统分析12
3.1系统分析12
3.1.1用户要求12
3.1.2业务流程分析12
3.1.3系统实体E-R图分析13
3.2本章小结14
4系统实现15
4.1创建一个工作空间和应用程序对象15
4.2创建数据库表15
4.3创建主窗口16
4.4创建主菜单17
4.5系统管理模块的实现18
4.5.1创建课程查询窗口18
4.5.2创建添加选课窗口20
4.5.3创建生成课表窗口24
4.5.4创建个人信息窗口26
4.5.5生成课表窗口的设计27
4.5.6创建登录窗口29
4.5.7splash界面的实现30
结束语32
致谢33
参考文献34
1绪论
数据库是数据管理的最新技术,是计算机科学的重要分支。
今天,信息资源已成为各个部门的重要财富和资源。
建立一个满足各级部门信息处理要求的行之有效的信息系统也成为一个企业或组织生存和发展的重要条件。
因此,作为信息系统核心和基础的数据库技术得到越来越广泛的应用。
从小型单项事务处理系统到大型信息系统,从联机事务处理到联机分析处理,从一般企业管理到计算机辅助设计与制造(CAD/CAM)、计算机集成制造系统(CIMS)、办公信息系统(OIS)等,越来越多新的应用领域采用数据库存储和处理他们的信息资源。
1.1课题的背景
当今时代是飞速发展的信息时代。
在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。
计算机的最到好处在于利用它能够进行信息管理。
使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。
本系统就是为了管理好学生选课信息而设计的。
学生选课作为一种信息资源的集散地,包含很多的信息数据的管理。
由于数据繁多,容易丢失,且不易查找。
总的来说,缺乏系统,规范的信息管理手段。
尽管有的学校有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发基本环境。
数据处理手工操作,工作量大,出错率高,出错后不易更改。
造成了时间上的浪费
基于这个问题,我认为有必要建立一个学生选课系统,使学生选课信息管理工作规范化、系统化、程序化,避免学生选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。
1.2课题的设计
本文就学生选课系统的设计与制作展开分析。
学生选课系统主要应用数据库技术开发,先从数据库的基本知识开始介绍,数据库的基本概念、数据库的发展、数据库的结构,还介绍了开发工具PowerBuilder9.0和SQL语言。
我主要是应用PowerBuilder9.0为前端开发工具,利用SQL语言实现数据查询。
设计系统时,先从系统的数据流程开始分析,设计系统的业务流程图、系统的数据流程图、系统的E-R图。
根据开题报告的设计要求开始进入系统的总体设计,接着制定系统的设计思想,分析系统的功能并设计系统的功能模块,这些都是系统制作前的准备工作;准备工作完成后,开始系统数据库的建立,主要有各个功能窗口的设计,将设计好的窗口集中到主菜单上,通过用户的用户名和密码的登录可以进入到主窗口,这样就完成系统的制作。
最后,对系统进行调试,性能分析。
1.3本文的结构
第2章,简单介绍了相关的基础知识(如:
数据库的基本概念、数据库的类型、数据库的结构、开发工具等),为系统的设计进行知识储备。
第3章,详细介绍了系统分析与设计。
第4章,介绍了系统的制作过程,如:
建立数据库、设计制作窗口等。
第5章,对系统进行运行、调试,对系统性能分析和评价。
2相关知识基础
2.1数据库的基础知识
2.1.1数据库系统的发展
数据库系统是在文件系统的基础之上发展而来的,经历了层次数据库、网状数据库和关系数据库三个阶段。
由于关系型数据库采用人们比较容易理解和接受的二维表格来组织数据,发展迅速,已成为数据库产品的主流。
这里介绍的数据库知识都是指的关系数据库。
数据库架构如图2-1所示。
图2-1数据库应用的架构
2.1.2基本概念
数据库(DataBase,简称DB)是按一定组织方式存储在计算机存储器中、相互关联的数据集合,数据库的建立独立于程序。
所谓关系数据库就是将数据表示为表的集合,通过建立简单表之间的关系来定义结构的一种数据库。
数据库管理系统(DBMS)是一个管理数据库的软件系统,为用户提供了描述数据库、操纵数据库和维护数据库的方法和命令,并且能自动控制数据库的安全以及数据完整。
常见数据库管理系统有:
Oracle、Sybase、MicrosoftSQLServer、MicrosoftAccess、MicrosoftFoxPro、IBMDB2等。
数据库系统(DBS)是一个具有管理数据库功能的计算机系统,它包括应用软件、数据库(DB)、数据库管理系统(DBMS)和数据库管理人员(DBA)几部分。
图2-1直观地表示了数据库应用的架够。
数据库管理人员(DBA)一般是针对大型的数据库应用而言的,主要负责数据库的日常运行和维护,如数据库备份等工作。
2.1.3数据库及数的研究领域
数据库学科的研究范围十分广泛的,概括地讲可以包括以下三个领域:
(1)数据库管理系统软件的研制
DBMS[3]是数据库系统的基础。
DBMS的研制包括DBMS本身及以DBMS为核心的一组相互联系的软件系统,包括工具软件和中间件。
研制的目标是提高系统的可用性、可靠性、可伸缩性;提高性能和提高用户的生产率。
DBMS核心技术的研究和实现是三十余年来数据库领域所取得的主要成就。
DBMS是一个基础软件系统,它提供了对数据库中的数据进行存储、检索和管理的功能。
(2)数据库设计
数据库设计的主要任务是DBMS的支持下,按照应用的要求,为某一部门或组织设计一个结构合理、使用方便、效率较高的数据库及其应用系统。
其中主要的研究方向是数据库设计方法学和设计工具,包括数据库设计方法、设计工具和设计理论的研究,数据建模和数据建模的研究,计算机辅助数据库设计方法及其软件系统的研究。
数据库设计规范和标准的研究等。
(3)数据库理论
数据库理论的研究主要集中于关系的规范化理论、关系数据理论等。
近年来,随着人工智能与数据库理论的结合、并行计算技术等的发展,数据库逻辑演绎和知识推理、数据库中的知识发现(KnowledgeDiscoveryfromDatabase,简称KDD[4])、并行算法等成为新的理论研究方向。
计算机领域中其他新兴技术的发展对数据库技术产生了重大影响。
数据库技术和其他计算机技术的互相结合、互相渗透,使数据库中新的技术内容层出不穷。
数据库的许多概念、技术内容、应用领域,甚至某些原理都有了重大的发展和变化。
建立和实现了一系列新型数据库系统,如分布式数据库系统、并行数据库系统、知识库系统、多媒体数据库系统等。
它们共同构成了数据库系统大家族,使数据库技术不断地涌现新的研究方向。
2.2关系型数据库
关系数据库由表组成。
一个关系是由一个二维表来定义的:
表的行保存事物的一组属性数据,表的列定义了事物的属性。
以下是关系型数据库系统[5]的一些特点:
·几乎当今所有的关系型数据库系统都采用SQL语言来操纵数据库中的数据。
SQL语言是在20世纪70年代由IBM发展起来的,后来成为工业标准。
·最重要的是必须保证数据的完整性。
否则,存储在数据库中的数据就是毫无价值的。
关系型数据库系统包括许多特性,目的是阻止不符和要求的数据进入数据库。
·关系型数据库系统被设计为一个便于修改的系统,因为商业需求几乎每天都在变化。
·在文件系统阶段,相同的数据常常重复出现在许多记录中,而关系型数据库系统则会排除大多数的冗余数据。
这就减少了对存储空间的需求,加快了数据访问的速度。
·应用程序可以通过多级的安全检查来限制对数据的访问。
2.2.1数据模型
模型是现实世界特征的模拟和抽象。
数据模型(DataModal[6])是对现实世界中数据特征的抽象。
存在于人们头脑之外的客观世界,称为现实世界。
数据库系统中保存的数据实际上是对现实世界的一种描述,它是采用数据模型对现实世界进行描述的。
数据模型是数据库系统中用于提供信息表示和操作手段的形式框架,是数据库系统的核心和基础。
数据模型分为两种,一种是概念数据模型,它是用来描述现实世界中数据及数据之间关系的模型,跟计算机没有关系。
这种模型主要描述高层次的概念,按照用户的观点对数据和信息进行建模,把现实世界中的客观对象抽象为某种信息结构,如被描述对象的意义、相互关系等。
另外一种就是实体数据模型,它是用来描述信息世界中数据及数据之间的关系及存储、处理特征的模型,主要包括层次模型、网状模型、关系模型,它是按照计算机的观点对数据建模,主要用于DBMS的实现。
在信息世界中,把客观存在并可相互区别的事物称为实体(Entity[7]),同型实体的集合称为实体集(EntitySet),实体所具有的某一特性称为属性(Attribute)。
2.2.2实体之间的联系
在现实世界中,各种事物之间往往有着各种各样的联系,这种联系必然在信息世界中有所反映。
实体之间的联系可以分为两类,一类是实体内部的联系,如组成实体的属性之间的联系,这种联系往往比较容易理解。
另外一种联系就是实体之间的联系,如学生和班级之间的联系:
一个学生属于某一个班级,而另一个班级有多个学生。
实体完整性规则规定基本关系的所有主属性都不能去空值,而不仅是主码整体不能取空值。
对于实体完整性规则说明如下:
1.实体完整性规则是针对基本关系而言的,一个基本表通常对应现实界的一个实体集。
例如学生关系对应于学生的集合。
2.现实世界中的实体是可区分的,即它们具有某种唯一性标识。
3.相应地,关系模型中以主码作为唯一性标识。
4.主码中的属性即主属性不能取空值。
所谓空值就是“不知道”或“无意义”的值。
如果主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与第2点相矛盾,因此这个规则称为实体完整性。
2.2.3规范化设计方法
构造数据库时,必须遵循一定的规则。
在关系数据库中,这种规则就是范式(NormalForm)。
或者说,满足一定条件的关系模式,称为范式。
在1971年至1972年,E.F.Codd系统地提出了第一范式(1NF)、第二范式(2NF)和第三范式(3NF)的概念。
1974年Codd和Boyce共同提出BCNF范式,为第三范式的改进。
关系数据库中的关系必须满足一定的要求,即需要满足不同的范式。
目前除了前面提到的三种范式,还有第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。
2.3PowerBuilder9.0开发工具简介
PowerBuilder9.0是Sybase公司2003年推出的新一代4GLPlus数据库开发工具,它不仅继承了以往版本的各种先进技术,而且适应目前开放试软件的发展潮流,在快速集成开发环境中增加了构建WebService、JSPWeb、EJB的功能,满足了在4GLRAD环境中创建完整应用和应用组件的需求,并使企业应用可以平滑过度到基于浏览器和Web的应用模式下。
同时,PowerBuilder9.0卓越的应用开发效率及强大的Web功能为新版本增色不少。
完整的应用系统有工作空间、目标、应用对象。
窗口上的菜单对象。
数据窗口对象和控件对象,以及这些对象的事件处理程序构成。
(1)工作空间和目标
在以前的版本中,程序员一次只能开发一个应用程序,这样使得应用程序无法取得多个可用的组件信息,因此在构件复杂应用时会大大增加难度。
PowerBuilder9.0提供了Workspace功能,这让开发人员同时在多个应用或组件上进行开发,同时PowerBuilder9.0用Target来描述加到Workspace中的应用或组件。
[11]PowerBuilder中存在三类Target是:
Window客户、EAServer组件和Web站点。
在PowerBuilder中,只有打开Workspace才能更有效地工作,开发者可以在Workspace中定义一个新的Target或者加入一个已经存在的Target。
因此,Workspace已经变成了PowerBuilder中所有活动的中心。
(2)窗口、控件、事件和程序
在PowerBuilder中,窗口(Window)是主要的用户界面,软件开发人员往往把各种控制功能(如录入、查询、打印、统计等)做成按扭或其它控件放在窗口上有用户选择。
应用对象、窗口对象、菜单对象,窗口上的数据窗口控件和其他控件对象都对应着若干个可能发生的事件[12-13],如应用对象和窗口对象上有Open(打开),Close(关闭)等事件,菜单项上有Clicked(鼠标左键单击或按回车键)等事件,窗口上的控件有Clicked、DoubleClicked(用鼠标左键双击)Getfocus(得到焦点),EditChanged(数据被修改)等事件[14]。
PowerBuilder的程序是嵌套在事件中的,也就是说由事件驱动的,一旦用户选定了控件也就触发了某个事件。
软件开发人员只需为各个控件的事件编写事件处理程序,指定该事件被触发时要进行的处理,应用系统就这样构造出来了。
事件处理程序用PowerBuilder的专用语言PowerScript语言编写。
PowerScript语言是一种高水准。
面向对象的语言,提供了丰富的内置函数供软件开发人员使用。
事件处理程序有PowerScript语句和函数组成,来响应被触发的事件并做相应的处理。
例如,菜单项上有Clicked事件此事件的处理程序可能是打开另一个窗口,用户用鼠标左键单击此菜单时,Clicked事件被触发,指定的窗口被打开。
又如窗口上有一个数据窗口和一些按扭,按扭上的文字为“录入”、“删除”、“存盘”等,这些按扭的功能分别为数据窗口中插入一行,删除一行,将结果修改存盘,我们只需为这些按扭的Clicked事件编写相应的程序完成这些功能。
(3)函数
函数是PowerScript语言的重要组成部分,PowerBuilder为软件开发人员提供了近800个内置函数[15-16],主要用于完成以下工作:
访问和操作数据,操纵对像的数字或文本,进行计算,字符串处理,数据类型转换,处理日期和时间,文本文件的输入和输出,生成商务图形,打印数据,与其他窗口的数据通信,处理邮件,Web应用,分布式应用等。
此外,软件开发人员还可以通过建立用户自定义函数来满足某个应用系统的特殊要求。
需要时还可调用Windows的SDK函数和外部DLL函数。
2.4SQL概述
2.4.1SQLServer2000概述
SQLServer2000是一个大型关系数据库管理系统,它是微软公司推出的新一代数据库产品。
它是微软公司在SQLServer7.0版的基础上经过改进和提高而推出的数据库产品。
它的性能、可靠性、质量以及易用性都比以前的版本大有提高。
它提供了许多提高系统运行性能的新功能,并使数据库的管理工作变得更加轻松容易。
把SQLServer2000作为OLTP、数据仓库以及电子商务应用程序的后台数据库是一个不错的选择。
在SQLServer2000关系数据库中,信息被存放在二维表格结构的表(TABLE)中。
数据库中的表之间可以是相互关联的,表之间的这种关联性是通过主健和外键所体现的参照关系来实现的。
数据库中不仅包括表,还包括其他数据库对象,如:
视图、存储过程、索引等。
SQLServer2000采用了客户/服务器计算模型,即中央服务器用来存放数据库,该服务器可以被多台客户机访问,数据库应用的处理过程分布在客户机和服务器上。
客户/服务器计算模型分为两层的客户/服务器结构。
在两层的客户/服务器系统中,客户机通过网络与运行SQLServer2000实例的服务器相连,客户机用来完成数据表示和大部分业务逻辑的实现,服务器完成数据的存储,这种客户机被称为“胖客户机”(thickclient)。
在多层的客户/服务器系统中,应用至少要经历三个处理层,第一层仍是客户机,但是它只负责数据的表示;第二层是业务逻辑服务器,负责业务逻辑的实现,所有的客户机都可以对它进行访问;第三层是数据库。
这种多层结构中的客户机被称为“瘦客户机”(thinclient)。
Internet应用就是三层结构的一个典型例子。
数据库系统采用客户/服务器结构的好处是,数据集中存储在服务器上,而不是分开存储在客户机上,使所有用户都可以访问到相同的数据。
业务逻辑和安全规则可以在服务器上定义一次,而后被所有的客户使用。
关系数据库服务器仅返回应用程序所需要的数据,这样可以减少网络流量。
节省硬件的开销,因为数据都存储在服务器上,不需在客户机上存储数据,所以客户机硬件不需要具备存储和处理大量的数据能力。
同样,服务器不需要具备数据表示的功能。
由于数据集中存储在服务器上,所以备份和恢复起来很容易。
2.4.2SQL语言介绍
SQL是英文StructuredQueryLanguage的缩写,中文意思是结构化查询语言。
SQL是一种介于关系代数与关系演算之间的结构化查询语言,它是一个通用的、功能极强的关系数据库语言。
SQL虽然名为查询语言,但实际上具有定义、查询、更新和控制等多种功能。
从20世纪70年代末起,在推出的关系数据库系统产品ORACLE、SQL/DS、DB2、SYBASE上都实现了SQL语言。
SQL语言是一种非过程化语言,它一次处理一个记录集合,对数据提供自动导航。
SQL语言允许用户在高层的数据结构上工作,而不对单个记录进行操作。
SQL语言不要求用户指定数据的存取方法,而是使用查询优化器,由系统决定对指定数据存取的最快手段。
当设计者在关系表上定义了索引时,系统会自动利用索引进行快速检索,用户不需知道表上是否有索引或者有什么类型的索引等细节。
SQL主要组成分成四个部分:
数据定义、数据操纵、数据控制、制嵌入式SQL的使用规定。
数据定义(DDL):
用于定义SQL模式、基本表、视图和索引[13-14]。
数据操纵(DML):
它分为数据查询和数据更新两类。
其中数据更新又分成插入、删除和修改三种操作。
数据控制(DCL):
包括对基本表和视图的授权,完整性规则的描述,事务控制等内容。
嵌入式SQL的使用规定:
其内容涉及到SQL语句嵌入在宿主语言程序中使用的规则。
(1)SQL的数据查询
SELECT语句的语法如下:
SELECT 目标表的列名或列表达式序列
FROM基本表或视图
[WHERE行条件表达式]
[GROUPBY列名序列
[HAVING分组条件表达式]
[ORDERBY列名[ASC|DESC]…]
句法中[]表示该成分可有,也可无。
整个语句的执行过程如下:
(a)读取FROM子句中基本表、视图的数据,执行笛卡尔积操作。
(b)读取满足WHERE子句中给出的条件表达式的元组。
(c)按GROUP子句中指定的列的值分组,同时提取满足HAVING子句中分组条件表达式的那些分组。
(d)按SELECT子句中给出的列名或列表达式求值输出。
(e)ORDER子句对输出的目标表进行排序,按附加说明ASC升序排列,或按DESC降序排列。
SELECT语句中,WHERE子句称为“行条件子句”,GROUP子句称为“分组子句”,HAVING子句称为“分组条件子句”,ORDER子句称为“排序子句”。
(2)数据插入
数据插入语法如下: