VFP学生管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VFP学生管理系统





专业:
班级:
姓名:
学号:
第一章系统概述
1.1功能要求
学生管理系统项目开发目的是实现学生成绩信息的计算机管理,主要功能是实现学生成绩信息的计算机管理,主要功能包括数据存储、检索和输出3部分,系统的基本要求是:
1、良好的用户界面设计。

2、稳定的数据存储。

3、数据查询功能。

4、合理的输入或输出设计。

1.2系统结构
1.2.1应用系统的主要界面
系统的界面主要包括系统登录界面、数据维护界面、信息查询界面、数据统计界面等。

1、系统登录界面。

该界面用于用户身份验证,合法的用户可进入数据库应
用系统。

2、数据维护界面。

数据维护界面实际上是一个基于数据库的表单,实现数
据显示、输入和删除的功能。

3、信息查询界面。

在该界面可根据条件进行信息检索。

4、数据统计界面。

该界面用于数据库中的数据,统计学生选课及成绩信息。

1.2.2系统菜单
利用菜单控制输入、查询和统计等模块操作,系统全部的应用模块均通过菜单调用。

1.2.3报表功能的实现
报表是数据输出的常用形式,vfp提供的报表不仅可以输出数据,还可以分别地进行数据统计计算、优化报表布局等。

1.2.4数据库及相关数据表
数据库应用系统管理的对象是数据库及表,学生管理系统数据存储在“成绩管理”数据库中,它包括student.dbf、course.dbf、score.dbf等
1.3开发的基本过程。

1.3.1系统分析
系统分析包括可行性分析和需求分析两个方面。

这一阶段主要对系统开发进行可行性论证,分析应用系统的开发目的及要达到的目标要求。

在分析阶段,信息收集是系统开发的可行性的重要环节,通过所需信息的收集,确定应用系统的总体目标、总体开发思路。

学生管理系统的功能主要是:可以录入、查询、修改与成绩管理相关的数据信息,在数据输入及维护的基础上进行有关的信息数据统计计算,最后以报表形式输出。

在系统分析的基础上进行数据库设计、表单设计、报表设计、菜单设计等。

其中必要性分析:
学生管理系统是一个小型的数据库应用系统,主要完成成绩管理及统计功能,非常适合各大高校使用,而且随着高校的扩招,传统的管理方式已经不能再适用了,所以本系统对学生的成绩管理等工作非常必要。

可行性分析:
学生信息管理系统的数据需求包括如下几点:
1).数据录入和处理的准确性
数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。

数据的输入来源是手工输入。

手工输入要通过系统界面上的安排系统具有容错性,从而降低出错概率。

2).数据的一致性与完整性
学生信息管理系统对数据的处理有很高的要求,因为对学生信息的处理非常频繁,所以要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。

对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。

3).数据的独立性
学生信息管理的管理对学校来说是非常重要的一个部分,不可能让每一个人都对其进行操作,应该有特定的人员对学生信息管理系统进行管理,对系统进行独立操作
1.3.2系统设计
系统设计包括数据设计和功能设计两个方面。

数据设计主要指建立数据模型,完成数据库。

根据数据分析结果,将应用系统数据分解、归纳,并规范化为若干个数据表,同时还要确定每个表中的字段属性,以及数据表的索引、关联等。

功能设计是指系统的具体实现,包括程序设计,表单、菜单及报表等可视化设计,输入、输出设计,具体包括:
(1)设计并建立各种表单(数据输入、输出、统计查询、数据维护等表单),并为每个表单上的控件编写时间处理程序;
(2)建立系统菜单,将系统的各功能连接在一起;
(3)建立报表,实现数据输出。

1.3.3系统实施及测试
该阶段完成主程序设计及安装调试。

利用项目文件,将设计完成的各文件组装在一个项目文件中统一管理,并在项目中设置主程序,设置系统运行环境并进行系统的整体调试。

应用系统投入运行后,进行系统维护工作。

1.4系统功能分析
学生管理系统是一个小型的数据库应用系统,主要完成成绩管理及统计功能,从用户需求的角度分析,系统功能包括以下几个方面:
(1)管理系统登录验证。

(2)基本信息维护,主要包括学生信息、课程信息及成绩信息的录入和编辑。

(3)数据浏览和统计功能。

浏览基本信息,学生选修的课程统计、成绩统计及学生信息统计。

(4)各类检索信息的显示和打印。

1.5系统结构设计
根据需求分析结果,以及功能要求,建立“学生管理系统”所需数据库,各类数据资源如下所示:
数据对象文件名说明
数据库成绩管理.dbc
表student.dbf 按学号主索引Course.dbf 按课程号主索引Score,dbf 学号普通索引,课程号普通索引
联系Student.dbf和score.dbf 1:n联系
Course.dbf和score.dbf 1:n联系
根据学生管理系统功能要求,按结构化程序设计原则,进行系统功能设计原则,进行系统功能模块的划分,完成系统结构图,如下图所示:
第二章 表单设计
2.1系统登录表单:start.scx
数据浏览 理 数据查询 数据统计
查询学生成绩
浏览学生信息
查询学生信息
浏览成绩信息
统计学生信息
统计课程信息
查询课程信息
数据维护 维护学生信息 维护成绩信息
维护课程信息
浏览课程信息
学生信息管理系统登录
系统主界面
该表单的主要功能是用户身份验证,只有提供正确的用户名和密码才能进入系统。

创建该表单的步骤大致有添加控件,设置控件相关属性值,编写代码等该表单的activate事件代码为:
public n
n=0
命令按钮command1的事件代码为:
***正确的用户名为“user1”,正确的密码“one”
if alltrim(thisform.text1.value)='user1' and ;
alltrim(thisform.text2.value)='one'
bel5.caption='登陆成功!’
wait''timeout 1
do form main_form
thisform.release
else
bel5.caption='用户名或密码错误!'
thisform.text1.value=''
thisform.text2.value=''
n=n+1
if n=3
bel5.caption='对不起,您无权使用!'
thisform.text2.enable=.f.
thisform.enable=.f.
wait''timeout 1
close all
clear windows
clear events
cancel
thisform.release
endif
endif
该表单如下图所示:
2.2主表单
主表单main_form是系统的工作界面,它被登录表单调用菜main_menu.mnx, 根据要求设置表单的属性,主表单的load事件代码为:do main_menu.mpr with this .t.
2.3数据维护表单
实现数据维护功能包括三个表单,即维护学生信息表单、维护成绩信息表单和维护课程信息表单。

用于数据维护的三个表单实现方法类似,例如维护学生信息表单:
(1)创建表单。

(2)设置数据环境。

将“成绩管理”数据库中的student表添加到数据环境设计器中。

在数据环境设计器中选中student表,在属性窗口中设
置exclusive属性为.T.,设置student表以独占方式打开。

(3)将数据环境设计器中student表的各字段拖曳到表单上,生成表单控件。

(4)添加控件和设置属性。

(5)编写程序代码:
表单的load事件代码:set delete on
“第一个”按钮事件代码为:
go top
Thisform.release
“上一个”按钮事件代码为:
skip -1
if bof()
go top
endif
thisform.release
“下一个”按钮事件代码为:
skip
if eof()
go bottom
endi
thisform.release
“最后一个”按钮事件代码为:
go bottom
thisform.release
“添加”按钮的事件代码为:
appe blan
thisform.txt学号.setfocus
thisform.release
“删除”按钮的事件代码为:
yn=messagebox("确定要删除该记录?",4+32+256,"确认") if yn=6
delete
skip
if eof()
go bottom
endif
endif
thisform.release
“关闭”按钮的事件代码为:
pack
thisform.release
表格控件的控件代码为:
thisform.release
表格的unload的事件代码为:
close data all
该表单图形如下图所示:
其他的两个表类似。

2.4数据浏览表单
实现数据浏览功能包括四个表单,即学生信息浏览、浏览成绩信息表单、浏览课程信息表单、浏览学生成绩表单。

其中,浏览学生信息表单的创建步骤为:(1)创建表单。

(2)设置数据环境。

(3)在表单上添加一个页框控件。

(4)设置属性。

(5)编写程序代码。

“第一个”按钮事件代码为:
go top
Thisform.release
“上一个”按钮事件代码为:skip -1
if bof()
go top
endif
thisform.release
“下一个”按钮事件代码为:
skip
if eof()
go bottom
endifThisform.release
“最后一个”按钮事件代码为:
go bottom
thisform.release
该表单的图形如上页图所示:
其他表单类似。

2.5数据查询表单
实现数据查询功能包括三个表单,即查询学生信息表单、查询学生成绩表单、查询学生课程表单。

例如学生信息查询表单。

(1)创建表单。

(2)设置数据环境。

(3)拖曳student表到表单上,生成表格控件。

(4)在表单上添加一个选项组控件。

(5)添加标签和文本框。

(6)编写程序代码。

do case
case thisform.optiongroup1.value=1
set filter to 学号=alltrim(thisform.text1.value)
case thisform.optiongroup1.value=2
set filter to 性别=alltrim(thisform.text1.value)
case thisform.optiongroup1.value=3
set filter to 专业=alltrim(thisform.text1.value)
endcase
thisform.release
该表单如下图所示:
2.6数据统计表单
实现数据统计功能包括两个表单,即统计学生信息表单和统计成绩信息表单。

统计学生信息表单如下图所示:
第三章报表设计
报表包括学生信息报表和学生成绩报表,其中学生成绩报表如下图所示:
第四章菜单设计
主菜单main_menu.mnx在菜单设计器中设计完成后主界面如下图所示:
第五章主程序
主程序文件main.prg是整个应用程序的入口,程序代码为:
Do setup.prg
Do form start.scx
(1)主程序中调用的setup.prg程序文件用来初始化系统环境,程序代码为:
set talk off
set safety off
set default to E:\Vfp98\学生管理系统
set century on
set date to ymd
clear windows
clear all
(2)表单start.scx是系统登录表单,在主程序中被调用,该表单调用主表单main_form.scx
(3)read events 命令的功能是建立事件循环,该命令使VFP处理鼠标单击、按键等用户事件。

(4)通过read events命令启动事件循环后必须保证在系统界面上存在一个可以结束事件循环clear events命令的机制,否则系统无法退出。

在本系统中,结束事件循环的机制在主菜单的退出选项中实现,该菜单项的过程为:
Do cleanup.prg
其中cleanup.prg程序文件用来恢复系统环境设置并且结束事件循环,程序代码为
set sysmenu to default
set talk on
set safety on
close all
clear all
clear windows
clear events
cancel
第六章项目实现
完成应用系统各模块的设计后,可以使用项目管理器创建学生管理系统项目,构成一个完整的项目体系,最后完成连编程序。

6.1构造项目
建立一个项目后,在项目中添加各个表单、菜单和报表,再添加程序并设置主文件。

6.2连编与发布程序
在VFP中,启动安装向导。

第七章收获总结
本课程设计用了近一个星期时间,非常感谢老师和同学耐心细致的讲解,我克服了程序设计上的不少麻烦。

设计表单主要是写代码,上课的时候记了一点,再加上不会时问了老师和身边的同学,表单基本可以执行了。

课程设计时还要其他考试,所以大部分都是照着书上的。

不过,经过一个星期的课程设计,我真的学到很多,明白了表单的建立与运行、属性、事件和方法,了解了菜单的设计步骤。

经过一个星期的学习,我进一步掌握有关表、数据库、项目、类的基本概念及基本操作,并在此基础上进行查询设计、菜单设计、表单设计,并掌握常用的属性、事件及方法的使用。

还有很多地方我做的不够好,但我觉得我尽了最大的努力,同时也学习了很多知识。

相关文档
最新文档