vf学生成绩管理系统.docx

上传人:b****4 文档编号:3248230 上传时间:2022-11-21 格式:DOCX 页数:28 大小:653.41KB
下载 相关 举报
vf学生成绩管理系统.docx_第1页
第1页 / 共28页
vf学生成绩管理系统.docx_第2页
第2页 / 共28页
vf学生成绩管理系统.docx_第3页
第3页 / 共28页
vf学生成绩管理系统.docx_第4页
第4页 / 共28页
vf学生成绩管理系统.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

vf学生成绩管理系统.docx

《vf学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《vf学生成绩管理系统.docx(28页珍藏版)》请在冰豆网上搜索。

vf学生成绩管理系统.docx

vf学生成绩管理系统

目  录

一、前  言 ………………………………………………1

二、设计题目 ………………………………………………1

三、开发运行环境 …………………………………………1

四、 系统设计的一般过程 ………………………………4

第二章 系统的总体设计 ……………………………………6

第三章 系统数据库设计 ……………………………………6

第四章 系统功能模块设计 …………………………………6

第五章 系统实施 ……………………………………………6

一、创建项目 ……………………………………………11

二、创建数据库 …………………………………………11

三、创建数据库中的表 …………………………………11

四、设置数据库中表之间的关系 ………………………11

第六章 主要表单及其事件代码的实施 ……………………11

一、使用表单向导创建表单 ……………………………11

二、创建自定义的表单 …………………………………11

三、表单中的代码 ………………………………………11

四、创建主界面的表单 …………………………………11

五、创建系统的主菜单 …………………………………11

六、创建主程序 …………………………………………11

七、连编编应用程序 ……………………………………11

八、运行应用程序 ………………………………………11

结束语 ………………………………………………………30

一、前言

1、作业目的

本综合作业的目的是使学生在已有的信息管理理论、计算机应用技术和高级语言程序设计等知识的基础上,运用所学的基础理论、专业知识和基本技能,解决本专业技术中的实际问题。

它既是培养学生综合能力和独立工作能力的教育过程,又是对学生素质的一次全面的检验。

2、作业内容

考生针对实际中的某个问题,或模拟实际应用中的某个问题进行设计开发,所开发的系统应具备基本的信息管理功能(如VFP、Access),例如:

人事管理信息系统、工资管理信息系统、公文管理信息系统、学生学籍管理信息系统等。

3、作业要求

(1)、应按照管理信息系统应用项目开发的基本办法进行系统的分析、设计和实施,作业中要求体现出分析、设计过程。

(2)、要求将可重用代码和模块化等设计思想用于设计中。

(3)、设计方面的作业,要有良好的结构,良好的人机界面,正确可靠,可读性好。

二、设计题目

学生成绩管理系统

三、开发运行环境:

运行环境:

WindowsXP

开发工具:

VisualFoxpro6.0

数据库:

SQLserver

四、系统设计的一般过程

学生信息管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。

对于前者要求建立起数据一致性和完整性强、数据安全性好的库。

而对于后者则要求应用程序功能完备,易使用等特点。

本学生成绩管理系统基本上能具体化、合理化的管理学生的成绩档案,用结构化的思维方式去了解计算机的基本工作原理和高级程序设计语言。

下面简单介绍下开发的一般过程。

1、求分析阶段:

开发数据库系统首先要明确用户的各项需求,以确定系统实现的目标和软件开发的构思。

需求分析一般包括数据分析和功能分析。

数据分析的结果是归纳出系统应该包括的数据,以便进行数据库设计:

功能分析的目的是为应用程序设计提供依据。

2、设计阶段:

对系统开发进行总体规划,建立软件系统的结构。

它包括数据库设计和系统功能模块设计。

数据库数据就是将需求进行综合、归纳与抽象,形成一个统一的概念模型,并画出其E—R模型图(实体-联系图,表示实体之间的联系),然后转化为某个数据库管理系统所支持的数据模型,设计出需要的数据结构。

系统功能模块设计就是设计每个模块的输入、输出以能完成的功能。

3、实施阶段:

用某个数据库管理系统来具体实现所做的设计方案,此阶段一般包含以下四部分。

⑴数据库设计操作管理数据库里面的数据是系统的核心目标。

⑵菜单设计用于组织应用程序的各项功能。

⑶界面设计用于控制数据的输入和输出。

这些界面是用户和数据库系统之间的接口,既要方便用户使用,还要清晰、直观地展示数据信息,给用户创造一个良好的工作环境。

⑷功能模块设计用于完成具体的数据处理工作,如数据的录入、修改和编辑,信息的查询与统计等,一般通过控件的事件代码来实现。

⑸调试程序当一个程序编写完成后,应该进行调试,找出程序中的各种错误。

4、测试阶段:

此阶段的任务有以下几项。

⑴验证应用程序是否在不同条件下都能得到正确的结果。

⑵检查系统是否完全满足用户的需求,在功能上是否还有遗漏。

⑶检验在程序运行过程中对可能遇到的问题是否都有相应的解决措施,确保系统正式投入使用进的安全性和可靠性。

5、运行维护阶段:

系统通过测试后即可投入正式运行,并在运行过程中不断修改、调整和完善。

五、系统的总体设计

“学生成绩管理系统”可以对学生的各种信息进行全面管理,根据需求分析设计出系统的总体结构如图1-1所示。

第一层为系统层,通常对应主程序。

系统功能如下:

成绩输入、成绩查询、数据维护。

数据维护又包括:

学生信息维护、系别信息维护、课程信息维护。

 

图1-1

六、系统数据库设计

系统数据库设计就是确定数据库中所包含的表。

根据系统的使用需求,归纳出4个实体:

学生信息表、成绩信息表、课程名表、系别表实体,E-R图如图1-2所示。

然后进行逻辑结构设计,将其转换为VFP数据库管理系统所支持的关系数据库模型,即转换为4个二维表:

学生信息表、成绩信息表、课程名表、系别表、:

最后进行物理设计,即确定表的各字段名称、数据类型与宽度、主键、索引以能表之间的联系等。

 

图1-2

 

学生信息表:

学号

姓名

系号

性别

0001

张三

C1

0002

李四

C2

0003

黄红

C3

0004

胡小君

C4

0005

吴虹

C5

系别表

系号

系别名称

负责人

C1

计算机系

张燕

C2

英语系

黄小云

C3

化学系

刘雁

C4

物理系

于军

C5

数学系

张军

课程名表

课程号

课程名称

JC

C语言

JH

化学结构

JD

大学英语

JW

大学数学

JY

大学语文

成绩信息表

学号

课程号

分数

学分

0001

JC

85

3

0002

JD

80

4

0003

JH

75

3

0004

JW

83

2

0005

JY

81

3

七、系统功能模块设计

本系统将系统功能划分为:

成绩输入、成绩查询、数据维护3个模块。

数据维护又包括:

学生信息维护、系别信息维护、课程信息维护。

1、成绩输入用于学生考试成绩的输入。

2、成绩查询用于学生成绩的查询。

可以设置查询条件,系统调用相关的条件进行查询。

3、数据维护用于对学生信息表、系别表、课程名表的数据进行增、删、改操作。

各功能模块的功能通过表单来实现。

表单的设计在后面介绍。

八、系统实施

VisualFoxPro数据系统是依附项目而存在的,一个系统至少需要一个项目,VisualFoxPro数据库系统就是用项目管理器组织的管理整个系统,找开项目后,会出现一个项目管理器,用项目管理器可以很方便地将文件加入到项目中。

(一)、创建项目

操作步骤:

 

图1-3

1启动VFP6.0,单击菜单跌“文件”,选择菜单“新建”,或单击工具栏中的“新建”,就会出现如图1-3所示的“新建”对话框。

2选中“项目”,单击“新建文件”,就可以出现如图1-4所示用于“创建”项目的对话框。

 

图1-4

3在“保存在”下拉列表框中选择文件保存的位置,选定为F:

\学生成绩管理系统,在“项目文件”文本框中输入项目的文字,在此输入“学生成绩”,再单击“保存”按钮,此时一个空项目“学生成绩”创建成功,如图1-5。

 

图1-5

(二)、创建数据库VFP

数据库系统操作和管理的对象就是数据库,所以一个系统至少需要一个数据库。

对于本系统来说就需要创建一个数据库用来存储学生信息、课程信息、成绩信息、系别信息。

创建的步骤如下:

⑴在项目管理器中选择“数据”选项,选中“数据库”单击“新建”会出现如图1-6所示。

 

图1-6

⑵单击“新建数据库”按钮,出现如图1-4所示的对话框,在“数据库名”中输入“成绩管理”,单击“保存”,弹出数据库设计器对话框,如图1-7,单击右键会出现快捷菜单,其中的功能和工具栏中的功能一样,关闭数据库设计器后项目管理器中的数据选项的“数据库”前多了一个图标“

”,说明有数据库,展开后如图1-8所示。

 

图1-7

 

图1-8

(三)、创建数据库中的表

向数据库中加入表的步骤

(1)在如图1-8项目管理器中的“数据”中选中“表”,单击“新建”出现“新建表”对话框,选择“新建表”按钮,出现如图1-4一样的对话框,然后输入“成绩信息表”单击“保存”,弹出“表设计器”。

(2)然后把“成绩信息表”的字段与记录填入表中,结果如图1-9所示。

图1-9

⑶单击“索引”,设置“学号”、“课程号”字段为普通索引,如图1-10所示。

图1-10

⑷设置“分数”字段的“字段有效性”的“规则”在[0,100]的范围内。

选择“字段”选取项,在“字段有效性”中的“规则”中输入表达式“分数>=0AND分数<=100”,如图1-9所示,也可单击

,在出现的表达式生成器中生成,如图1-11所示,选择需要的内容就可生成表达式“分数>=0AND分数<=100”,这表示表“成绩信息表”的字段“分数”中填入的值在于或等于0并且要小于或等于100。

图 1-11

⑸然后,单击“确定”则完成“成绩信息表”的创建。

(6)其它三个表的内容添加也如上面的方法一一完成。

(7)设置“学生信息表”的“学号”为主索引,“系号”为普通索引。

(8)设置“课程名表”的“课程号”为主索引。

(9)设置“系别表”的“系号”为主索引。

(四)、设置数据库中表之间的关系

设置数据库中表之间的关系如下:

⑴在如图8“项目管理器”的“数据”选项卡中选中“成绩管理”图标,单击“修改”按钮,出现“数据库设计器”,拖动“学生信息表”的主索引“学号”到“成绩信息表”的索引“学号”上。

⑵拖动“课程名表”的主索引“课程号”到“成绩信息表”的索引“课程号”上。

⑶拖动“系别表”的主索引“系号”到“学生信息表”的索引“系号”上,结果如图12所示。

图1-12

九、主要表单及其事件代码的实施

为了系统的需要本系统设计了如图13所示的7个表单,作为系统用户和数据表进行数据交互的界面。

 

图1-13

(一)、使用表单向导创建表单

先以表单“kechenming”的创建为例,操作如下:

⑴在“项目管理器”中选择“文档”选项卡,选中表单图标

,如图14所示,单击“新建”按钮,弹出“新建表单”对话框,如图15所示,单击“表单向导”按钮,出现“向导选取”对话框,如图16所示。

 

 

 

图1-14

 

图 1-15图 1-16

⑵选择“表单向导”,单击“确定”按钮,出现“表单向导”对话框,如图17所示。

 

图 1-17图1-18

 

⑶从图17中选择“课程名表”,单击“

”按钮,将“课程名表”中所有字段都加入设计的表单中,单击“下一步”按钮,出现选择表单样式的表单向导对话框,如图18所示。

⑷选择样式为“标准式”,单击“下一步”按钮,出现选择排序字段的表单向导对话框,如图19所示,选择索引字段“课程号”字段,单击“添加”按钮,单击“下一步”按钮,出现输入表单标题的表单向导对话框,如图20所示。

 

图1-19图1-20

⑸输入表单标题“课程名信息维护”,选中“保存并运行表单”单选按钮,单击“完成”按钮,出现类似如图4所示的对话框,键入表单名称“kechengming”,单击“保存”按钮,出现“课程名信息维护”表单的界面,如图21所示。

图1-21

说明:

界面里出现了表“课程名表”中的记录,还有浏览、添加、修改、删除等命令按钮。

其中前四个命令按钮用于浏览表中已有的记录:

命令按钮“查找”是用于设定条件查询记录的命令按钮;

命令按钮“打印”用于打印输出选择的记录;

命令按钮“退出”用于退出表单“kechengming”。

单击“添加”或“编辑”命令按钮后,界面中的文本框才可以编辑,编辑好的记录,单击“保存”命令按钮才会使有效的记录存于相应的表,“保存”命令按钮在单击“添加”或“编辑”命令按钮后才可出现。

通过表单浏览、添加、修改、删除、打印、查找“课程名表”中的记录。

用同样的方法创建表单“xuesheng”和“xibie”,它们分别使用的是“学生信息表”和“系别表”,运行表单的结果如图22和图23所示。

 

图1-22

图1-23

 

二、创建自定义的表单

为了便于输入数据和灵活设置条件,数据库系统中往往需要设计自定义的界面,本系统中设计的自定义界面有表单“shuru”和表单“chazhao”。

使用“shuru”表单可输入学生成绩记录,使用“chazhao”表单可设置条件以查询学生的成绩信息。

⒈创建“shuru”表单

实现学生成绩记录的输入。

此表单中有4个文本框,2个组合框、4个静态文本框分别关联成绩信息表记录的4个字段“学号”、“课程号”、“分数”、“学分”;3个命令按钮,分别是“添加记录”、“保存记录”和“退出”按钮,如图24所示。

 

图1-24

 

图 1-25图 1-26

⑴在“项目管理器”中选择“文档”选项卡,选中如图14所示的“表单”图标,单击“新建”按钮,弹出“新建表单”对话框,如图15所示,单击“新建表单”按钮,出现空表单设计器,同时还出现用于设计的表单控件工具箱和控件属性窗口,如图25和图26所示。

⑵选择属性窗口中的“Caption”标题属性,输入“学生信息录入”为表单的标题。

如图26所示。

⑶单击控件工具箱中的标签控件的图标“A”,在表单设计器中适当位置用鼠标左键拖出一个方框,即画出一个静态文本框,并在它“Caption”属性中输入“学号”,并在“FontSize”中设置字号为12。

再画出3个静态文本框,其“Caption”属性中分别输入“课程号”、“分数”、“学分”,如图27所示。

 

图1-27

 

图1-28图1-29

⑷单击控件工具箱中的文本框控件的图标

,在表单设计器中“学号”右边适当位置用鼠标左键拖出一个方框,即画出一个文本框控件,在它的属性栏中选择“Nnme”属性(给文本框命名),并输入“xuehao”,如图28所示。

用类似的方法可将另3个文本框命名为“kchao”、“fenshu”、“xuefen”,如图29所示。

这些文本框控件中的输入数据还有其他限制,这在代码中实现。

⑸单击控件工具箱中的组合框控件的图标

,在表单设计器中“学号”右边适当位置用鼠标左键再拖出一个方框,即画出一个组合框控件,在它的属性栏中选择“Name”属性(给组合框命名),并输入“x_xuehao”,用同样的方法在“课程号”右边拖出另1个组合框,并命名为“k_kchao”,如图29A所示。

 

图1-29A

⑹在这两个组合框控件中载入数据。

对组合框控件“x_xuehao”加载的方法如下:

选中组合框控件“x_xuehao”,单击右键,在出现的快捷菜单中选择“生成器”项,如图30所示,出现“组合框生成器”对话框,如图31所示。

 

图 1-30

选择“列表项”选项卡,在组合框“用此填充列表”中选择“表或视图中的字段”,选择“成绩管理器”数据库和“学生信息表”;选择“可用字段”中的“学号”字段加入“选定字段”中,单击“确定”按钮,就完成了组合框控件“cmb_number”中数据的载入,如图31所示。

其中载入的是表“学生信息表”中的所有字号。

 

图 1-31

 

组合框控件“cmb_textnum”中数据的载入方法类似,在如图31所示“组合框生成器”对话框中选择表为“课程名表”,选择字段“课程号”加入“选定字段”,单击“确定”按钮,就完成了组合框控件“cmb_textnum”中数据的载入,其中载入的是表“课程名表”中的所有课程号。

此表单中设计的组合框控件与表单“scoresearch”中组合框控件有所不同,在选择填入数据时希望它出现,而选定后就不希望它们出现,所以需要设置这两个控件的“Visible”属性,在此先将其设为“假”,即不可见,至于动态的实现它们的可见性就需要使用代码支持了,这些在代码实现部分再叙述。

⑺在表单中创建几个命令按钮,以便执行诸如查询特定记录、浏览所有记录、退出当前表单等命令,方法如下:

单击命令按钮的控件图标

,在表单设计器中适当位置用鼠标左键拖现一个方框就可画出一个命令按钮控件来,选中这些命令按钮控件,在其属性栏的“Caption”中输入“添加记录”把该命令命名为“添加记录”按钮。

用同样的方法画出“保存记录”和“退出”按钮,如图32所示。

图 1-32

只有这些命令按钮控件还不能进行查询记录、修改记录等操作,命令按钮往往有支持其单击事件的代码,这些在代码实现部分再叙述。

⑻调整这些控件的位置,使它们看起来美观,将表单命名为“shujushuru”,保存后就完成了表单“shujushuru”的设计过程,运行结果如图33所示。

图 33

⒉创建“shujuchaxun”表单

此表单中需要实现用“学号”、“课程号”、“分数区间”这三个字段来设置查询条件,所以就需要有4个能输入数据的控件,前两者各需一个,其中“分数区间”这一个字段需要使用的是两个文本框,以实现设置一个数据数型为数值型的分数区间,表单如图34所示。

图 34

操作步骤:

⑴在“项目管理器”中选择“文档”选项卡,选中如图14的“表单”图标,单击“新建”按钮,弹出“新建表单”对话框,如图15所示,单击“新建表单”按钮,出现空表单设计器,同时还出现用于设计的表单控件工具箱和控件属性窗口,如图25和图26所示。

⑵选择属性窗口中的“Caption”标题属性,输入“学生信息查询”为表单的标题。

⑶单击控件工具箱中的标签控件的图标A,在表单设计器中适当位置用鼠标左键拖出一个方框,即画出一个静态文本框,并在它“Caption”属性中输入“学号”。

再画出3个静态文本框,其“Caption”属性中分别输入“课程号”、“分数区间”、“至”,它们用于设置查询条件,如图34所示。

⑷单击控件工具箱中的文本框控件的图标

,在表单设计器中“分数区间”右边适当位置用鼠标左键拖出一个方框,即画出一个文本框控件,在它的属性栏中选择“Name”属性(给文本框命名),并输入“txt_score1”,在“至”的右边画出一个文本框控件,并命名为“txt_score2”。

文本框“txt_score1”与“txt_score2”是用于输入两个数字,以确定一个区间,如图34所示。

对这两个文本框控件中的输入数据还有其它限制,这在代码中实现。

⑸单击控件工具箱中的组合框控件的图标

,在表单设计器中“学号”右边适当位置用鼠标左键拖出一个方框,即画出一个组合框控件,在它的属性栏中选择“Name”属性(给组合框命名),并输入“cmb_number”,用同样的方法在“课程号”右边拖出另一个组合框,并命名为“cmb_textnum”,如图34所示。

⑹在这两个组合框控件中载入数据。

对组合框控件“cmb_number”加载的方法如下:

选中组合框控件“cmb_number”,单击右键,在出现的快捷菜单中选择“生成器”项,出现组合框生成器对话框,如图31所示。

选择“列表项”选项卡,在组合框“用此填充列表”中选择“表或视图中的字段”,选择“成绩管理”数据库和“学生信息表”;选择“可用字段”中的“学号”字段加入“选定字段”中,单击“确定”按钮,就完成了组合框控件“cmb_number”中数据的载入,其中载入的是表“学生信息表”中的所有学号。

如图30和图31所示。

组合框控件“cmb_textnum”中数据的载入方法类似,在如图31所示的“组合框生成器”对话框中选择表为“课程名表”,选择字段“课程号”加入“选定字段”,单击“确定”按钮,就完成了组合框控件“cmb_textnum”中数据的载入,其中载入的是表“课程名表”中的所有课程号。

⑺在表单中创建几个命令按钮,以便执行诸如查询特定记录、浏览所有记录、退出当前表单等命令。

方法如下:

单击命令按钮的控件图标

,在表单设计器中适当位置用鼠标左键拖出一个方框就可画出一个命令按钮控件来,选中这些命令按钮控件,在其属性栏的“Caption”中输入“查询”把该命令命名为“查询”按钮。

用同样的方法画出“浏览所有记录”、“退出”按钮,如图34所示。

只有这些命令按钮控件还不能进行查询记录、修改记录等操作,命令按钮往往有支持其单击事件的代码,这些在代码实现部分再叙述。

⑻调整这些控件的位置,使它们看起来美观,将表单命名为“scoresearch”,保存后就完成了表单“scoresearch”的设计过程,运行结果如图35所示。

图 35

三、表单中的代码

为了实现对数据的灵活操作往往需要代码支持,代码在自定义表单中使用得最多。

下面就说明表单“shujushuru”与“shujuchaxun”中的代码。

⒈表单“shujushuru”中的代码

⑴文本框控件“xuehao”的Click事件代码是:

thisform.xuehao.visible=.F.

Thisform.z_xuehao.top=thisform.xuehao.top

thisform.z_xuehao.left=thisfrom.xuehao.left

thisfrom.z_xuehao.visible=.T.

作用是单击文本框控件“xuehao”后,隐藏文本框控件“xuehao”,在文本框控件“xuehao”的位置上显示组合框控件“z_xuehao”。

⑵组合框控件“z_xuehao”的Click事件代码是:

thisform.z_xuehao.visible=.F.

thisform.xuehao.visible=.T.

thisform.xuehao.value=thisform.z_xuehao.text

作用是单击组合框控件“z_xuehao”后,隐藏组合框控件“z_xuehao”,在文本框控件“xuehao”中显示组合框控件“z_xuehao”选择的内容。

⑶组合框控件“z_xuehao”的LostFocus事件代码是:

thisform.z_xuehao.visible=.F.

thisform.xuehao.visible=.T.

作用是组合框控件“z_xuehao”失去焦点后,隐藏组合框控件“z_xuehao”,显示文本框控件“xuehao”。

⑷文本框控件“xuehao”、组合框控件“z_xuehao”与文本框控件“kchao”、组合框控件“kchao1”的代码雷同,在此不再说明。

⑸“添加记录”命令按钮的Click事件代码是:

xuehao。

类似方法可将另3个文本框命名为“kchao”、“fenshu”、“xuefen”。

thisform.xuehao.value=""

thisform.kchao.value=""

thisform.fenshu.value=""

thisfrom.xuefen.value=""

其作用是清空表单中所有文本框中

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1