学生信息管理系统 Visual Fox.docx
《学生信息管理系统 Visual Fox.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统 Visual Fox.docx(42页珍藏版)》请在冰豆网上搜索。
![学生信息管理系统 Visual Fox.docx](https://file1.bdocx.com/fileroot1/2022-12/12/1c02ec73-9e67-40dc-9619-020f94ac6ddf/1c02ec73-9e67-40dc-9619-020f94ac6ddf1.gif)
学生信息管理系统VisualFox
学生信息管理系统
摘要
本文简单介绍了学生信息系统的流程,结合管理信息系统开发的理念,管理信息系统简称MIS是一个计算机的数据处理过程的系统.它是一个机构为了支持决策及其它必需的管理功能提供及时有效的信息而开发的,并且可按需要把人工操作过程结合在一起。
本课题,企业工资管理信息系统就是MIS的一种。
本企业工资管理系统适用于大多数企业工资管理的使用,我采用MicrosoftVisualFoxpro7.0版本,它是微软公司推出的可视化语言集成包MicrosoftVisualFoxpro7.0中的一员,其功能更加强大。
本系统是采用面向对象的程序设计思想进行编制的,整个系统由若干个表单、类、报表以及一个主菜单组成,由项目管者统一管理全部程序的编写和调试。
用户可通过主菜单或表单来调用系统的各项功能。
全文共六个章节,通过对学生信息管理系统的分析以及对系统模块的设计、关系模式设计、数据库设计、代码设计、人机界面设计等,详细地阐明了本系统开发的目的、过程及预期效果。
关键词:
MIS,MicrosoftVisualFoxpro7.0,目的,过程。
摘要
第一章
系统说明
1.1系统编辑环境
在当社会,一所高校在正常运营中总是面对着大量的新生录入信息、在校学生成绩查询信息、学生名册打印、学生成绩打印、在校学生课程安排以及各个环节中信息的变更,对学校各级管理者来说都会变得更加的方便、快捷、明了。
我们以一个学生信息管理系统为例,来讲述如何建立一个学生信息管理系统以及它的使用、维护等一系列的操作。
因为VISUALFOXPRO具有强大的数据库管理功能,它是微软公司可视化程序语言集成包MICROSOFTVISUALFOXPRO7.0中的一员,其功能更加强大。
因此我们选定VISUALFORPRO7.0实现学生信息管理系统中的各项功能。
MICROSOFTVISUALFOXPRO7.0在6.0版本的基础上功能得到了进一步加强,该产品有机的结合了数据库系统和程序设计语言,在设计桌面数据库系统方面具有明显的优势。
MICROSOFTVISUALFOXPRO7.0加强了项目管理器、向导、生成器、查询和视图、OLE连接、ACTIVEX集成、帮助系统制作、数据导入和导出以及面向对象程序设计等方面的功能,从而使用户能更加方便快捷地开发出优秀的数据为系统。
MICROSOFTVISUALFOXPRO7.0的特点:
1、查询和管理功能更加强大
(1)MICROSOFTVISUALFOXPRO7.0拥有将近50条命令和200余种函数,加快了软件设计速度,其功能空前强大。
(2)采用了优化应用程序的RUSHMORE技术,RUSHMORT是一种从表中快速的选取记录集的技术,它使查询响应的时间缩短到最小,从面显著的提高了查询速度。
(3)MICROSOFTVISUALFOXPRO7.0提供了项目管理器,帮助用户管理项目开发中的数据、文档、源代码和类库等。
2、轻松创建界面
MICROSOFTVISUALFOXPRO7.0具有可视化程序设计的特点。
提供了向导、生成器、设计器等界面操作工具,加快了构建程序框架和设计表单界面的进程。
同时,借助其对象模型,可以充分使用面向对象程序设计的所有功能。
3、加强了对SQL语言的支持
在MICROSOFTVISUALFOXPRO7.0中,SQL命令已经由原来的4种扩充为现在的8种,增强了VISUALFOXPRO语言的功能。
4、引入了新的数据库结构
VISUALFOXPRO中引入了数据库表和自由表的概念。
在建立表时就规定是否属于某个数据库或以自由表的形式存在,并且可以在数据库环境中建立表之间的永久关系和临时关系,对数据文件的管理更加科学、更加有效。
5、使用OLE进行系统集成
通过使用OLE(OBJECTLINKEDANDEMBEDED对象连接与嵌入)技术,便于共享其它数据源(如OFFOCE办公自动化软件)的数据,扩展了系统的功能。
6、增强了网络功能
支持客户机/服务器结构,可以访问本地计算机和远程服务器,并通过视图和建立事务处理程序来实现并控制对数据的共享。
1.2系统开发环境配置
(1)机型:
586以上
(2)硬盘:
32MB以上
(3)内存容量:
128MB以上
(4)光盘驱动器:
1个CD—ROM40倍速以上
(5)显示器:
Microsoftwindows支持的VGA彩显,分辨率为1024*768或更高的监视器。
(6)其它:
鼠标,键盘,打印机。
(7)软件:
VisualFoxpro7.0
第二章系统分析
学生信息管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
中小型学生信息管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
以过分析我们使用MICROSOFT公司的VISUALFOXPRO7.0作为开发工具。
利用其开发的各种面对对象的开发工具,尤其是数据窗口这一功能,能方便而简洁的操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后对初始化原始系统进行需求扶念迭代,不断修正和改进,直到形式用户满意的可行系统。
因此本人结合开入院校的要求,对MSSQLSERVER2000数据库管理系统、SQL语言原理、VISUALFOXPRO7.0、进行了较深入的学习和应用,主要完成了对学生管理系统的需求分析、功能模块划分、数据库模式分析,并出此设计了数据库结构和应用程序。
在此设计中我主要负责了主程序、学生成绩录入、学生成绩查询、学生基本信息录入、学生基本信息查询、学生名册查询、报表打印等系统的设计。
系统进行结果证明,此学生信息管理系统可以满足新生注册、在校学生成绩查询、在校学生基本情况打印和在校学生成绩按条件查询打印等几方面的需求。
2.1系统课题的来源
管理信息系统简称MIS是一个计算机的数据处理过程的系统。
它是一个机构支持决策及其它必需的管理功能提供及时有效的信息而开发的,并且可按需要把人工操作过程结合在一起。
本课题,学生信息系统就是MIS的一种。
学生管理系统的开发目标是:
克服现在各大院校在学生管理过程中存在的新生录入、学生成绩录入、在校学生基本信息查询和在校学生成绩查询效率低等工作;能科学有效的管理学生,方便地查询学生各种信息以及课程安排、系别关系等情况,对所需要的数据以表格形式显示,以报表形式打印,并为将来时一步扩充和发展学生信息管理系统奠定基础。
2.2学生管理系统的主要功能
学生信息和学生成绩是此系统中主要的组成部分,学生信息准确、快速、方便的正常管理直接影响到一个学校的正常运行。
学生信息管理系统的主要任务是用计算机对学生的各种信息进行日常的管理,如查询、修改、删除、添加以及存储打印等,迅速准确地完成各种操作,快速打印出学生报名表、学生成绩报表。
针对系统服务对象的具体要求,设计了此学生信息管理系统,该学生管理系统主要有以下几大功能:
(1)对学生成绩中基本信息录入进行管理,有查询、修改、删除、添加等操作。
(2)学生成绩和学生信息之间的管理,包括按学号查询学生成绩、按系别查询学生成绩、按学号查询或按及格查询等。
(3)学生成绩报表的打印、学生名册报表的打印、学生档案打印等。
2.3学生管理系统概要
本系统是采用面向对象的程序设计思路进行编制的,整个系统由若干个表单、类、报表以及一个主菜单完成,由项目管理者统一管理全部程序的编写和调试。
用户通过主菜单或总表单来调用系统的各项功能。
面向对象程序设计不再是单纯的从代码的第一行一直编制到最后一行,而是考虑到如何创建类和对象,利用类和对象和类来简化程序设计,并后提供代码的封装和可重用性,便于程序的维护和扩展。
所谓的对象是一种抽象的名称,用来对应现实世界存在的“东西”。
一个窗口、一个按钮、一个菜单都可视为一个对象,而按钮对象、菜单对象又会出现在窗口对象中,因此按钮对象、菜单对象便是窗口的组件之一。
对象内部的数据是不能随意更改的,必须由外部向其内部传递信息再由对象其方法加以处理。
用户无需知道其任何细节,操作是封闭的,对象之间只能通过函数调用相互通信。
类可视为一个产品模具、一个模块。
在面向对象程序设计中,类是对象的原型,是对象的制作器。
类的概念是面向对象程序设计最重要的特征。
所谓类,是指由数据结构及其相关操作所形成的集合,描述该类任意一个对象的共同的行为特征,是对一组性质相同的对象的程序描述,概括了对象的共同性质和数据。
面向对象程序设计的核心是类的设计。
例如:
可以定义一个“学生信息查询表单”类,该类中可以定义查询的学生信息类别,学生信息名称,作者等信息,则以此类为原型可以设计出众多的“学生信息查询表”类的对象实例,这些实体都具有类中的定义的特征。
设计的学生管理系统也是建立在一系列类基础之上的,其编程的思想是:
先根据一定的需要创建一系列的子类或直接调用VFP提供的基类,编制程序时,由这些类派生出相应的对象,所派生出的对象继承了其父类所有的功能,而且具有很好的封装性,这样就可利用派生出的对象像搭基木一样来设计自己的程序。
打个比方,就比如要制造一台机器,首先要制造各种零件的模具,然后用制造好的模具生产出所需的零件,所有这些做完后,剩下的就只是如何把这些零件组装起来,这样一台机器就很容易制造出来了,实际编程也是如此,每个表单都是由一定数量的对象按某种方式组合在一起的,程序编制的核心是类的设计。
第三章系统设计
3.1功能模块图
3.2数据库结构的实现
首先建立一个“学生信息管理系统”项目,以便管理本系统中所有数据,打开如图3-1所示”学生信息管理系统”项目后,用用鼠标选中数据库,单击右侧的“新建”按钮,在弹出的对话框中将数据库文件存储为F:
\杨\学生信息管理库.doc
(1)在弹出如上图所示的图中,单击选择表,新建一个数据表(为数据库添加数据表,表的内容如下所示),下面以一个表的建立过程为新建表:
为数据库添加表
字段设置完成后,单击“确定”按钮后为表输入数据,如不想现在输入可以先单击“取消”按钮,以后再输入。
具体方法如下:
如图所示,选中要输入数据的表,单击“浏览”按钮
为表输入数据
(2)此时弹出无数据的表,在visualFoxpro7.0的主窗口中选择”表”菜单,选择“追加新记录”后,就可以在表中输入据了。
如图3-4所示.不过这种方法一次只能输入一条记录,要输入第二条记录时,需再次选择追加新记录。
如果有一个已有数据表的表,可以使用“使用追加记录”将这个数据表中的数据追加到当前表中,此操作要求两个表的数据结构必须完全相同。
为表追加新记录入
第四章主要功能的实现
4.1系统主菜单的设计
下面的操作均在学生信息管理系统中的项目管理器中进行。
这一模块的主要功能是作为统主界面为进入本系统不同功能界面选择提供一个接口,在前几向节中通过一个窗品来调用其它功能,其实VisualFoxpro7.0也提出供了菜单选项制作。
打开“学生信息管理系统”项目后,在项目管理器中展开“其它”选项卡。
用鼠标选中菜单,单击右侧的“新建”按钮,在弹出的对话框中该数据库文件存储为G:
\杨\
然后单击右侧的“新建”按钮,在左侧填入菜单各项的名称,将“结果”设为“子菜单”,再单击“创建”按钮,如图如示:
像上面介绍的一样再次添加菜单项,名称为添加“关于”,结果为 “命令”,单击创建输入命令:
doform关于系统.scx。
若需要创建三级菜单,创建方法同上。
单击系统菜单“显示”下的“常规则选项”,在“常规则选项”中选中“顶层表单”复选框,如图所示:
设置完成后单击“确定”,在菜单栏中选择“菜单”/“生成菜单”对话框中输入菜单名称,单击“生成”按钮,在项目结构文件选项卡中选择“生成”命令,输入要生成的名字:
“main.mpr”。
如图所示:
重复进行上面的操作,建立如下结构的菜单:
档案建立
……学生基本信息录入
……学生成绩录入
……退出系统
档案查询
……学生基本信息查询
……学生成绩查询
报表打印
……简历打印
……学生成绩打印
系统维护
……系统维护
……用户管理
关于系统
……关于系统
这样就完成了对系统菜单的设计,为了让程序在启动的时候能够调用上面创建的菜单,还应当建立一个运行程序。
打开“学生信息管理系统”项目后,在项目管理器中展开“代码”选项卡,如图所示。
用鼠标单击选中“程序”,单击右侧的“新建”按钮,在弹出的对话框中将该数据库文件存储为:
G:
\杨\。
在打开的“程序1”窗口中输入如下代码:
Settalkoff
Clearall
Closeall
Setsysmenuoff
Releasewindows常用,表单控件,“项目管理器”,布局,命令
_screen.windowstate=2&&窗口最大化
_screen.caption=“学生信息管理系统”
_screen.icon=“logo.ico”
_screen.picture=“yy.jpg”
Opendatabase学生信息管理.dbc
Doform登录.scx
Readevents
Readevents
*quit
保存,保存为“main.prg”,继续在“代码”选项卡下面,鼠标选中“main.prg”,右侧右击在弹出的快捷菜单中选择“设置主文件”。
如图所示:
这样就把主程序设置为主文件,由它调用其它功能模块。
4.2欢迎界面的设计
此界面为用户提供进入系统的初始界面,当用户在此界面任一处单击即可弹了用户登录界在.
(1)欢迎界面的设计
“欢迎”界面近件的主要属性:
控件名
控件类型
属性名称
属性值
Label1
标签
Caption
欢迎进入
Label2
标签
Caption
学生信息管理系统
Form
表单
Caption
Windowsate
Welcome
最大化
4.3系统维护模块的实现
●系统维护模块的实现
●用户登陆
●添加用户
●修改用户密码
●删除用户
●浏览用户
●修改表结构
●复制表
●退出
这个功能模块是用来管理学生信息的,当完成了表单和程序设计后,应当在其功能菜单内添加相应的过程,使得菜单能正常调用表单。
当建立该模块时应当先建立一个密码表和一个密码表单,如下图所示显示了建立的密码表、用户登陆:
系统用户可以通过登陆表单进入学生信息管理系统。
●设计登陆界面
1)添加数据环境
在表单的空白处右击在弹出的快捷菜单中选择“数据环境”,在打开的数据环境窗口中,右击,添加数据表。
如图所示:
2)登陆表单的主要控件
控件名
控件类型
属性名
属性值
Label1
标签
Caption
用户名
Label2
标签
Caption
密码
Text1
文本框
Text2
文本框
Passwordchar
*
Command1
命令按钮
Caption
确定
Command2
命令按钮
Caption
退出
From1
表单
Showwindow
Autocenter
在顶层表单中
.T.
3)编写事件代码
Command1——————————————click()
Use用户表
Thisform.text1.value.setfocus
A=alltrim(thisform.text1.vlaue)
B=alltrim(thisfomr.text2.value)
If(用户名)=A)and(密码=B)
Domain.mpr
Clearevents
Else
Messagebox(“输入信息有误,请重新输入”,48,”信息窗口”)
Thisform.text1.vlaue=””
Thisform.text2.vlaue=””
Thisform.text1.setfocus
Endif
Use
Command2————————————————click()
Thisform.release
Quit
●添加用户
1)添加用户(如图所示)
2)表单控件属性
控件名
控件类型
属性名
属性值
Command1
命令按钮
Caption
添加
Command2
命令按钮
Caption
退出
Label1
标签
Caption
用户名
Label2
标签
Caption
密码
Label3
标签
Caption
再输入一次密码
Text1
文本框
Text2
文本框
Text3
文本框
Pageframe1
页框
Pagecount
3
Page1
页框
Caption
添加用户
Page2
页框
Caption
删除用户
Page3
页框
Caption
浏览用户
添加用户页框中的command1————————click()
Use用户表
Yhn=alltrim(thisform.pageframe1.page1.text1.value)
Kl1=alltrim(thisform.pageframe1.page1.text2.value)
Kl2=alltirm(thisform.pageframe1.page1.text3.vlaue)
Locateforalltrim(用户名)==yhmandalltrim(密码)==lk1
If!
found()
Iflk1=lk2
Appendblank
Replace用户名withyhm
Replace密码withlk1
Messagebox(“用户名已添加成功”,48,“提示信息”)
Thisform.pageframe1.page1.text1.value=“”
Thisform.pageframe1.page1.text2.value=“”
Thisform.pageframe1.page1.text3.value=“”
Else
Messagebox(“请重新输入密码”,48,“提示信息”)
Thisform.pageframe1.page1.text1.value=“”
Thisform.pageframe1.page1.text2.value=“”
Thlisform.pageframe1.page1.text3.value=“”
Endif
添加用户中的command2——————————click()
Thisform.release
●删除用户
如下图所示:
Command1————————————click()
Use用户表
Yhm=alltim(thisform.pageframe1.page1.text1.value)
Kl1=alltirm(thisform.pageframe1.page1.text2.value)
Kl2=alltrim(thisform.pageframe1.page1.text3.value)
Locateforalltrim(用户名)==yhmandalltrim(密码)==kl1
If!
found()
Iflk1=lk2
Delete
pack
Messagebox(“确认要删除密码”,48,“确定”)
Thisform.pageframe1.page1.text1.value=“”
Thisform.pageframe1.page1.text2.value=“”
Thisform.pageframe1.page1.text3.value=“”
Thisform.pageframe1.page1.text1.setfoucus
Thisform.refresh
Else
Messagebox(“您所指定的是一个非法用户”,“对不起”)
Thisform.pageframe1.page1.text1.value=“”
Thisform.pageframe1.page1.text2.value=“”
Thlisform.pageframe1.page1.text3.value=“”
Thisform.refresh
Endif
删除用户中的command2——————————click()
Thisform.release
●用户浏览
在表单中右击在弹出的快捷菜单中选择数据环境,在数据环境中选择用户表,并将用户
表拖入数据环境中。
如图所示:
●复制表结构
●复制表结构
1)先选择要修改的表,如图所示:
2)表单属性
控件名
控件类型
属性名
属性值
List1
组合框
Rowsourcetye
rowsource
7
*.dbf
Command1
命令按钮
Caption
修改表结构
Command2
命令按钮
Caption
复制
Command3
命令按钮
Caption
退出
Form
表单
Caption
系统维护
3)代码
Command1————————————————click()
a=thisform.list1.listindex
Closeall
Usethisform.list1.list(a)
Mofifystructure
Commadn2————————————————click()
B=thisform.list1.list(thisform.list1.listindex)
C=len(b)-3
D=subs(b,1,c)+”*”
CopytoG:
\杨\
Massagebox(“文件复制成功”,4+48,“提示信息”)
Command3——————————————————click()
Thisform.release
4.4档案录入模块的创建
档案建立模块包括两个子菜单分别是:
学生基本信息录入和学生成绩录入。
下面我们先来看一下学生基本信息录入表单的创建及运行方法。
●学生基本信息录入表单的创建
2)表单控件及属性
控件名
控件类型
控件属性
控件值
Label1
标签
Caption
学生基本信息录入
Label2
标签
Caption
姓名
Label3
标签
Caption
性别
Label4
标签
Caption
学号
Label5
标签
Caption
系别号
Label6
标签
Caption
年龄
Label7
标签
Caption
出生日期
Label8
标签
Caption
民族
Command1
命令按钮
Caption
首记录
Command2
命令按钮
Caption
上一条
Command3
命令按钮
Caption
下一条
Command4
命令按钮
Caption
末记录
Command5
命令