学生管理系统课程设计说明书第一章学生管理信息系统是一个学校不可缺少的部分,它能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高工作效率,因此,开发这样一套系统的管理软件就很有必要。
近年来,随着计算机厂家的不断增多,计算机硬件成本的大幅度下降,加之人们对计算机也不再觉得神秘陌生,计算机已经不再是高档用品,为学校建立学生管理信息系统提供了物质条件。
而现在我国的大部分学校对学生的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。
使用学生管理信息系统,有以下几点好处:1、可以存储历届的学生档案,安全、高效;2、只需一到二名录入员即可操作系统,节省大量人力;3、可以迅速查到所需信息,包括学生的基本情况、考试成绩等;4、为将来学校上网做好准备。
现在互联网已经十分普及,一些用人单位希望能在世界的任何一个角落查到学生的信息,本系统为学校将来的上网作了先期工作,比如数据库的建立。
第二章2.1 FoxPro语言概述Visual FoxPro 是由Microsoft公司推出的用于中小型企业的一个优秀的小型数据库开发系统。
它从单机数据库发展而来,现已发展成为具有很强的网络功能的小型数据库系统。
它可以用作小型的单机、网络数据库,也可以作为大型数据库的前端开发工具来开发客户机/服务器应用程序。
在目前众多的开发工具中,Visual FoxPro在数据库开发工具中有着不可替代的地位,并且易学、易用,对计算机的配置要求也很低,还支持大型数据库通用的SQL语言,故而,实现本系统Visual FoxPro是一个相对较好的选择。
2.2 SQL语言简介SQL是结构化查询语言Structured Query Language)的缩写,它实际上包括查询、定义、操纵和控制四个部分,是一种功能齐全的数据库语言。
数据定义是指对关系模式一级的定义。
数据操纵是对关系中的具体数据的增、删除、改和更新等操作。
数据控制是指对数据访问权限的授予或撤消。
该语言在70年代中期由B o y c e t和 C h a m b e r l I n提出,在IBM大型计算机上实现(当时为SEQUEL语言)。
由于SQL具有语言简洁、方便实用、功能齐全等优点,很快得到推广和应用,随着关系数据库的流行,SQL在计算机界和广大用户中已得到公认。
1986年10月美国国家标准局(ANSI)的数据库委员会颁布了SQL的美国标准,作为标准关系数据库语言。
1987年6月,国际标准化组织(ISO)采纳SQL为关系数据库语言的国际标准。
我国也在1990年制定了SQL标准。
SQL作为查询标准语言,在人工智能、软件工程等领域得到了广泛的应用。
SQL语言既可以以用户联机的方式联机使用,也可以直接嵌入到程序设计语言中使用,特别适合于程序设计人员编写应用程序并与数据库打交道时,嵌入到主语言中使用。
在本课题设计中就使用了SQL语言。
第三章3.1 学生管理信息系统设计3 .1.1 学生管理信息系统功能分析本系统主要用于学校信息管理,主要任务是用计算机对学生各种信息进行日常管理,如录入、查询、增加、删除。
另外还考虑到课程管理和成绩管理,设计了本学生信息管理系统。
该系统主要包括学籍管理、学籍查询、成绩管理、成绩汇总、课程管理五部分。
“学籍管理”主要是实现学生基本情况的浏览、添加、编辑和删除;“学籍查询”主要是实现学生基本情况的查询,可以按照学号、姓名、性别、籍贯和生日等进行综合查询,并根据要求浏览结果;“成绩管理”主要是实现学生各学期各门课成绩录入、修改;“成绩汇总”主要是实现所有学生的各门课成绩列表,打印家长通知书和补考通知书;“课程管理”主要是选定学生每学期所修课程。
以上功能主要为教务员使用,使用时要核对用户名和口令。
3.1.2 学生管理信息系统功能模块设计本系统的功能分为如下几大模块:(1)主界面设计该模块提供教务管理系统的主界面,是主系统唯一入口和出口。
该界面提供用户选择并调用各子模块,对于进入系统的用户还要核对用户名和口令。
(2)课程管理模块该模块提供选定学生每学期所修课程界面,然后进行维护工作(增、删、改)。
(3)课程名称模块该模块实现添加所需课程名称的功能,每增加一门课程,课程号自动加1。
(4)成绩管理模块该模块主要用于录入学生各学期各门课成绩。
(5)成绩汇总模块该模块实现汇总所有学生的各门课成绩列表,打印家长通知书和补考通知书。
(6)学籍管理模块该模块实现学生基本情况的浏览、添加、编辑和删除。
(7)学籍查询模块该模块实现学生基本情况的查询,按照学号、姓名、性别、籍贯和生日等进行综合查询,并根据要求浏览结果。
(8)用户管理模块该模块用于设置所有用户的口令和权限。
(9)改变口令该模块用于登录用户改变自己的口令。
(10)放音(静音)该模块实现播放和停止背景音乐。
(11)选曲播放该模块实现播放磁盘中存在的曲目的功能(后缀是".wav"的文件)。
(12)改变背景该模块实现选择磁盘中存在的图像文件作为系统的背景。
采用模块化的思想,可以大大提高工作效率,并且可以最大限度地减少不3.2 学生管理信息数据库设计3.2.1 数据库需求分析Visual FoxPro 数据库设计的第一步是明确数据库的目的和如何使用,也就是在数据库中存放哪些信息。
明确目的之后,就可以确定需要设计哪些表,以及每个表中的字段。
在本课题中要实现如下功能并相应地建立的数据库表如下3.2.2 数据库概念结构设计用E-R图来说明学生信息管理系统的数据库概念模式,如下图所示。
3.2.3 数据库中的关系设计利用FoxPro进行管理信息系统的应用软件开发时,其核心任务是数据库中的关系设计,它是系统应用软件设计的基础。
其质量的好坏,直接影响到信息管理系统的功能和质量。
关系设计的任务是消除数据删除、插入操作中的异常现象,最大限度地降低数据的冗余度,并保证数据的一致性。
3.2.3.1 关系设计的原则关系设计的理论基础是规范化理论,设计数据库的过程实际上是对关系模型进行规范化和分解的过程,使非规范化的关系满足规范化理论的要求。
要做到这一点,在关系设计时我们应遵循以下原则:一是关系分解后信息不丢失,不增加,即是无损连续分解。
必须把全局模式的数据分解到各个子模式关系中,不能丢失数据,也不能因分解而增加数据,以保证数据的完整性。
二是合理选择规范程度。
记录数多的关系,低级规范造成的冗余度很大,浪费了存储空间又影响了数据的一致性;但对相互联接的运算,低级模式又比高级范式好。
另一方面,从存取、插入速度上,又希望一个子模式的属性越少越好,即取高级范式。
因此速度与空间、速度与一致性在范式上是矛盾的。
所以应根据情况,合理选择规范化程度。
三是正确性与可实现性原则。
3.2.3.2 学生管理信息系统的关系设计通过分析,消除部分重复组、函数部分依赖和传递函数依赖,本系统建立了一个数据库,包括了五个表:学生基本情况表(d b f j b q k .dbf)用于存储学生基本情况;成绩表(d b f c j .dbf)用于存储学生成绩;成绩总库用于存储学生各门课程(d b f c j z k .dbf)、课程表(d b f k c .dbf)用于存储课程名称;名次表(d b f m c .dbf)用于存储学生成绩名次。
3.3 学生管理信息数据库结构的具体实现程序设计大体要经过下面的步骤:(1)创建数据库、表,利用Visual FoxPro的工具创建数据库、表,并设置表的索引和表间的关系。
(2)创建查询、视图和报表,根据需求,创建对数据的查询、视图、报表。
(3)创建适合的类,利用Visual FoxPro的基类,创建适合的类。
(4)创建表单,通过表单将数据库、表、视图、报表集成起来用类对它们进行操作。
(5)创建程序,编制程序将表单连接成一个系统。
(6)调试、连编,利用调试工具检查、修改程序错误,最终编译成应用程序文件(.app)或者可执行文件(.exe).3.3.1创建数据库、表(1)新建项目管理器a)在Visual FoxPro新建,在打开的“新建”对话框中选择“项目”,单击“新建文件”按钮,接着打开“创建”对话框,在对话框中选择磁盘、文件夹,输入项目名“student”。
b)单击“保存”按钮,窗口现出“项目管理器”界面,它是一个具有多个选项卡的对话框,其中列出了项目可以管理的文件类型。
(2)创建数据库和数据库表a)打开“student”项目,将数据库建立在该项目中,让“项目管理器”来管理建立的数据库文件。
b)在“项目管理器”中选择“数据”选项卡;c)单击“项目管理器”右侧的“新建”按钮,出现“新建数据库”对话框,选择“新建数据库”;d)在出现的“创建”对话框中单击“保存在”下拉式列表,选择要保存数据库的磁盘和文件夹,然后在“数据库名”的右边输入“学生”,单击“保存”按钮。
e)按数据库设计工具栏上的“新建表”按钮;f)按“新表”,输入新表名,按“保存”;g)按照系统分析中的数据表结构输入有关数据库表的结构;h)设置数据库表的索引。
3.3.2 创建查询、视图和报表一、创建查询数据库最常用的操作就是查询,由于查询操作非常频繁,因此查询效率的高低将在很大程序上影响程序执行的效率。
查询是搜索哪些满足条件的记录,同时也可以根据需要对这些记录进行排序和分组,可以将查询结果创建为报表、表及视图。
无论目的是什么,建立查询的过程是相同的,主要有以下几个步骤:(1)使用“查询向导”或“查询设计器”;(2)选择将要出现在查询结果中的字段;(3)设置选择条件,以满足所需结果的记录;(4)设置排序或分组项,用以组织查询结果;(5)定向查询结果,如浏览、报表、表、标签等,如果要保存创建的查询,可以指导一个名称,将查询文件保存为带.QPR扩展名的文件;(6)运行查询。
二、创建视图视图是数据库中的一个特有的功能,只有当包含视图的数据库被打开时,才能使用视图。
利用视图,可以从表中提取一组记录,改变这些记录的值,并把更新结果送加到源表中。
如果不但要检索数据,还想更新它,就需要使用视图。
从多表中选取字段也是视图的一个重要用途。