1、学生信息管理系统 Visual Fox 作者: 日期:2 个人收集整理 勿做商业用途学生信息管理系统摘 要本文简单介绍了学生信息系统的流程,结合管理信息系统开发的理念,管理信息系统简称MIS是一个计算机的数据处理过程的系统。它是一个机构为了支持决策及其它必需的管理功能提供及时有效的信息而开发的,并且可按需要把人工操作过程结合在一起。本课题,企业工资管理信息系统就是MIS的一种。本企业工资管理系统适用于大多数企业工资管理的使用,我采用Microsoft Visual Foxpro7。0版本,它是微软公司推出的可视化语言集成包Microsoft Visual Foxpro7.0中的一员,其功能更加
2、强大。本系统是采用面向对象的程序设计思想进行编制的,整个系统由若干个表单、类、报表以及一个主菜单组成,由项目管者统一管理全部程序的编写和调试。用户可通过主菜单或表单来调用系统的各项功能。全文共六个章节,通过对学生信息管理系统的分析以及对系统模块的设计、关系模式设计、数据库设计、代码设计、人机界面设计等,详细地阐明了本系统开发的目的、过程及预期效果.关键词:MIS, Microsoft Visual Foxpro7。0,目的,过程.目 录摘要第一章系统说明311 系统编辑环境31.2 系统开发环境配置4第二章系统分析52。1 系统课题的来源52。2 学生管理系统的主要功能52。3 学生管理系统概
3、要6第三章 系统设计73。1功能模块图73.2 数据库结构的实现8第四章 主要功能的实现104.1系统主菜单的设计104.2 欢迎界面的设计134。3 系统维护模块的实现134。4 档案录入模块的创建194.5 档案查询模块的创建244.6 档案打印模块的创建274。7 报表打印模块的创建294.8 关于模块的创建314。9 退出系统的设计31第五章 系统使用说明书及开发环境335.1 安装说明书335。2 工具说明书335.3 操作说明34第六章 系统评价与维护35结束语37参考文献38致 谢39第一章 系统说明11 系统编辑环境在当社会,一所高校在正常运营中总是面对着大量的新生录入信息、在
4、校学生成绩查询信息、学生名册打印、学生成绩打印、在校学生课程安排以及各个环节中信息的变更,对学校各级管理者来说都会变得更加的方便、快捷、明了。我们以一个学生信息管理系统为例,来讲述如何建立一个学生信息管理系统以及它的使用、维护等一系列的操作.因为VISUAL FOXPRO具有强大的数据库管理功能,它是微软公司可视化程序语言集成包MICROSOFT VISUAL FOXPRO7。0中的一员,其功能更加强大。因此我们选定VISUAL FORPRO7.0实现学生信息管理系统中的各项功能。MICROSOFT VISUAL FOXPRO7。0在6。0版本的基础上功能得到了进一步加强,该产品有机的结合了数
5、据库系统和程序设计语言,在设计桌面数据库系统方面具有明显的优势。MICROSOFT VISUAL FOXPRO7。0加强了项目管理器、向导、生成器、查询和视图、OLE连接、ACTIVEX集成、帮助系统制作、数据导入和导出以及面向对象程序设计等方面的功能,从而使用户能更加方便快捷地开发出优秀的数据为系统。MICROSOFT VISUAL FOXPRO7.0的特点:1、 查询和管理功能更加强大(1) MICROSOFT VISUAL FOXPRO7.0拥有将近50条命令和200余种函数,加快了软件设计速度,其功能空前强大。(2) 采用了优化应用程序的RUSHMORE技术,RUSHMORT是一种从表
6、中快速的选取记录集的技术,它使查询响应的时间缩短到最小,从面显著的提高了查询速度.(3) MICROSOFT VISUAL FOXPRO7.0提供了项目管理器,帮助用户管理项目开发中的数据、文档、源代码和类库等。2、 轻松创建界面MICROSOFT VISUAL FOXPRO7.0具有可视化程序设计的特点。提供了向导、生成器、设计器等界面操作工具,加快了构建程序框架和设计表单界面的进程。同时,借助其对象模型,可以充分使用面向对象程序设计的所有功能。3、 加强了对SQL语言的支持在MICROSOFT VISUAL FOXPRO7.0中,SQL命令已经由原来的4种扩充为现在的8种,增强了VISUA
7、L FOXPRO语言的功能。4、 引入了新的数据库结构VISUAL FOXPRO中引入了数据库表和自由表的概念.在建立表时就规定是否属于某个数据库或以自由表的形式存在,并且可以在数据库环境中建立表之间的永久关系和临时关系,对数据文件的管理更加科学、更加有效.5、 使用OLE进行系统集成通过使用OLE(OBJECT LINKED AND EMBEDED对象连接与嵌入)技术,便于共享其它数据源(如OFFOCE办公自动化软件)的数据,扩展了系统的功能。6、 增强了网络功能支持客户机/服务器结构,可以访问本地计算机和远程服务器,并通过视图和建立事务处理程序来实现并控制对数据的共享.1。2 系统开发环境
8、配置(1)机型:586以上(2)硬盘:32MB以上(3)内存容量:128MB以上(4)光盘驱动器:1个CDROM40倍速以上(5)显示器:Microsoft windows支持的VGA彩显,分辨率为1024768或更高的监视器。(6)其它:鼠标,键盘,打印机.(7)软件:Visual Foxpro7.0第二章 系统分析学生信息管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库.而对于后者则要求应用程序功能完备,易使用等特点。中小型学生信息管理系统是典型的信息管理系统,其开发主要包括后台数据库
9、的建立和维护以及前端应用程序的开发两个方面.对于前者要求建立起数据一致性和完整性强、数据安全性好的库.以过分析我们使用MICROSOFT公司的VISUAL FOXPRO7.0作为开发工具.利用其开发的各种面对对象的开发工具,尤其是数据窗口这一功能,能方便而简洁的操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后对初始化原始系统进行需求扶念迭代,不断修正和改进,直到形式用户满意的可行系统。因此本人结合开入院校的要求,对MS SQL SERVER2000数据库管理系统、SQL语言原理、VISUAL FOXPRO7.0、进行了较深入的学习和应用,主要完成了对学生管理系统的需求分析、功能模块
10、划分、数据库模式分析,并出此设计了数据库结构和应用程序。在此设计中我主要负责了主程序、学生成绩录入、学生成绩查询、学生基本信息录入、学生基本信息查询、学生名册查询、报表打印等系统的设计.系统进行结果证明,此学生信息管理系统可以满足新生注册、在校学生成绩查询、在校学生基本情况打印和在校学生成绩按条件查询打印等几方面的需求。2。1 系统课题的来源管理信息系统简称MIS是一个计算机的数据处理过程的系统.它是一个机构支持决策及其它必需的管理功能提供及时有效的信息而开发的,并且可按需要把人工操作过程结合在一起。本课题,学生信息系统就是MIS的一种。学生管理系统的开发目标是:克服现在各大院校在学生管理过程
11、中存在的新生录入、学生成绩录入、在校学生基本信息查询和在校学生成绩查询效率低等工作;能科学有效的管理学生,方便地查询学生各种信息以及课程安排、系别关系等情况,对所需要的数据以表格形式显示,以报表形式打印,并为将来时一步扩充和发展学生信息管理系统奠定基础。2。2 学生管理系统的主要功能学生信息和学生成绩是此系统中主要的组成部分,学生信息准确、快速、方便的正常管理直接影响到一个学校的正常运行.学生信息管理系统的主要任务是用计算机对学生的各种信息进行日常的管理,如查询、修改、删除、添加以及存储打印等,迅速准确地完成各种操作,快速打印出学生报名表、学生成绩报表。针对系统服务对象的具体要求,设计了此学生
12、信息管理系统,该学生管理系统主要有以下几大功能:(1)对学生成绩中基本信息录入进行管理,有查询、修改、删除、添加等操作。(2)学生成绩和学生信息之间的管理,包括按学号查询学生成绩、按系别查询学生成绩、按学号查询或按及格查询等。(3)学生成绩报表的打印、学生名册报表的打印、学生档案打印等。2。3 学生管理系统概要本系统是采用面向对象的程序设计思路进行编制的,整个系统由若干个表单、类、报表以及一个主菜单完成,由项目管理者统一管理全部程序的编写和调试.用户通过主菜单或总表单来调用系统的各项功能。面向对象程序设计不再是单纯的从代码的第一行一直编制到最后一行,而是考虑到如何创建类和对象,利用类和对象和类
13、来简化程序设计,并后提供代码的封装和可重用性,便于程序的维护和扩展。所谓的对象是一种抽象的名称,用来对应现实世界存在的“东西”.一个窗口、一个按钮、一个菜单都可视为一个对象,而按钮对象、菜单对象又会出现在窗口对象中,因此按钮对象、菜单对象便是窗口的组件之一。对象内部的数据是不能随意更改的,必须由外部向其内部传递信息再由对象其方法加以处理。用户无需知道其任何细节,操作是封闭的,对象之间只能通过函数调用相互通信。类可视为一个产品模具、一个模块。在面向对象程序设计中,类是对象的原型,是对象的制作器。类的概念是面向对象程序设计最重要的特征。所谓类,是指由数据结构及其相关操作所形成的集合,描述该类任意一
14、个对象的共同的行为特征,是对一组性质相同的对象的程序描述,概括了对象的共同性质和数据。面向对象程序设计的核心是类的设计。例如:可以定义一个“学生信息查询表单”类,该类中可以定义查询的学生信息类别,学生信息名称,作者等信息,则以此类为原型可以设计出众多的“学生信息查询表类的对象实例,这些实体都具有类中的定义的特征.设计的学生管理系统也是建立在一系列类基础之上的,其编程的思想是:先根据一定的需要创建一系列的子类或直接调用VFP提供的基类,编制程序时,由这些类派生出相应的对象,所派生出的对象继承了其父类所有的功能,而且具有很好的封装性,这样就可利用派生出的对象像搭基木一样来设计自己的程序。打个比方,
15、就比如要制造一台机器,首先要制造各种零件的模具,然后用制造好的模具生产出所需的零件,所有这些做完后,剩下的就只是如何把这些零件组装起来,这样一台机器就很容易制造出来了,实际编程也是如此,每个表单都是由一定数量的对象按某种方式组合在一起的,程序编制的核心是类的设计。第三章 系统设计3。1功能模块图系统功能模块图档案建立档案查询报表打印系统维护关于学生成绩录入学生基本信息录入退出学生基本信息查询学生成绩查询学生基本信息报表打印学生成绩报打印添加用户浏览用户表结的修改删除用户关于3。2 数据库结构的实现首先建立一个“学生信息管理系统项目,以便管理本系统中所有数据,打开如图31所示”学生信息管理系统”
16、项目后,用用鼠标选中数据库,单击右侧的“新建按钮,在弹出的对话框中将数据库文件存储为F:杨学生信息管理库.doc鼠标单击选中(1)在弹出如上图所示的图中,单击选择表,新建一个数据表(为数据库添加数据表,表的内容如下所示),下面以一个表的建立过程为新建表:为数据库添加表字段设置完成后,单击“确定”按钮后为表输入数据,如不想现在输入可以先单击“取消”按钮,以后再输入。具体方法如下:如图所示,选中要输入数据的表,单击“浏览按钮单中选择要输入内容的表单击“浏览”为表输入数据(2)此时弹出无数据的表,在visual Foxpro7.0的主窗口中选择”表”菜单,选择“追加新记录”后,就可以在表中输入据了.
17、如图34所示.不过这种方法一次只能输入一条记录,要输入第二条记录时,需再次选择追加新记录。如果有一个已有数据表的表,可以使用“使用追加记录”将这个数据表中的数据追加到当前表中,此操作要求两个表的数据结构必须完全相同。为表追加新记录入第四章 主要功能的实现4.1系统主菜单的设计下面的操作均在学生信息管理系统中的项目管理器中进行。这一模块的主要功能是作为统主界面为进入本系统不同功能界面选择提供一个接口,在前几向节中通过一个窗品来调用其它功能,其实Visual Foxpro7。0也提出供了菜单选项制作。打开“学生信息管理系统”项目后,在项目管理器中展开“其它”选项卡.用鼠标选中菜单,单击右侧的“新建
18、按钮,在弹出的对话框中该数据库文件存储为G:杨然后单击右侧的“新建”按钮,在左侧填入菜单各项的名称,将“结果”设为“子菜单”,再单击“创建”按钮,如图如示:像上面介绍的一样再次添加菜单项,名称为添加“关于”,结果为“命令,单击创建输入命令:do form 关于系统。scx。若需要创建三级菜单,创建方法同上。单击系统菜单“显示下的“常规则选项”,在“常规则选项”中选中“顶层表单复选框,如图所示:设置完成后单击“确定”,在菜单栏中选择“菜单/“生成菜单”对话框中输入菜单名称,单击“生成”按钮,在项目结构文件选项卡中选择“生成”命令,输入要生成的名字: “main.mpr”。如图所示:重复进行上面的
19、操作,建立如下结构的菜单:档案建立学生基本信息录入学生成绩录入退出系统档案查询学生基本信息查询学生成绩查询报表打印简历打印学生成绩打印系统维护系统维护用户管理关于系统关于系统这样就完成了对系统菜单的设计,为了让程序在启动的时候能够调用上面创建的菜单,还应当建立一个运行程序.打开“学生信息管理系统项目后,在项目管理器中展开“代码”选项卡,如图所示.用鼠标单击选中“程序”,单击右侧的“新建”按钮,在弹出的对话框中将该数据库文件存储为:G:杨。在打开的“程序1窗口中输入如下代码:Set talk offClear allClose allSet sys menu offRelease windows
20、 常用,表单控件,“项目管理器,布局,命令_screen。windowstate=2 窗口最大化_screen。caption=“学生信息管理系统”_screen.icon=“logo.ico”_screen.picture=“yy.jpg”Open database 学生信息管理.dbcDo form 登录。scxRead eventsRead events*quit保存,保存为“main。prg”,继续在“代码”选项卡下面,鼠标选中“main。prg”,右侧右击在弹出的快捷菜单中选择“设置主文件”。如图所示:这样就把主程序设置为主文件,由它调用其它功能模块。4。2 欢迎界面的设计 此界面为
21、用户提供进入系统的初始界面,当用户在此界面任一处单击即可弹了用户登录界在。(1) 欢迎界面的设计“欢迎”界面近件的主要属性:控件名控件类型属性名称属性值Label1标签Caption欢迎进入Label2标签Caption学生信息管理系统Form 表单CaptionWindowsateWelcome最大化4.3 系统维护模块的实现l 系统维护模块的实现l 用户登陆l 添加用户l 修改用户密码l 删除用户l 浏览用户l 修改表结构l 复制表l 退出这个功能模块是用来管理学生信息的,当完成了表单和程序设计后,应当在其功能菜单内添加相应的过程,使得菜单能正常调用表单.当建立该模块时应当先建立一个密码表
22、和一个密码表单,如下图所示显示了建立的密码表、用户登陆:系统用户可以通过登陆表单进入学生信息管理系统。l 设计登陆界面1)添加数据环境在表单的空白处右击在弹出的快捷菜单中选择“数据环境”,在打开的数据环境窗口中,右击,添加数据表.如图所示:2)登陆表单的主要控件控件名控件类型属性名属性值Label1标签Caption用户名Label2标签Caption密码Text1文本框Text2文本框Password char*Command1命令按钮Caption确定Command2命令按钮Caption退出From1表单Show windowAuto center在顶层表单中。T。3)编写事件代码 Co
23、mmand1-click( ) Use 用户表 Thisform.text1。value.setfocus A=all trim(thisform。text1.vlaue) B=all trim(thisfomr.text2。value) If (用户名)=A) and (密码=B) Do main 。mpr Clear events Else Message box(“输入信息有误,请重新输入”,48,”信息窗口”) Thisform。text1。vlaue=” Thisform.text2.vlaue=” Thisform.text1。setfocus End if Use Command
24、2-click( ) This form .release Quitl 添加用户1) 添加用户(如图所示)2)表单控件属性控件名控件类型属性名属性值Command1命令按钮Caption添加Command2命令按钮Caption退出Label1标签Caption用户名Label2标签Caption密码Label3标签Caption再输入一次密码Text1文本框Text2文本框Text3文本框Pageframe1页框Page count3Page1页框Caption添加用户Page2页框Caption删除用户Page3页框Caption浏览用户添加用户页框中的command1-click( )U
25、se 用户表 Yhn=all trim(thisform。pageframe1.page1。text1.value)Kl1 =all trim(thisform。pageframe1。page1。text2.value)Kl2 =all tirm(thisform.pageframe1。page1.text3。vlaue)Locate for all trim(用户名)=yhm and all trim(密码)=lk1If !found()If lk1=lk2Append blankReplace 用户名 with yhmReplace 密码 with lk1Message box(“用户名已
26、添加成功”,48,“提示信息)Thisform.pageframe1。page1。text1.value=“Thisform。pageframe1.page1。text2.value=“”Thisform.pageframe1.page1。text3。value=“ElseMessage box(“请重新输入密码”,48,“提示信息”) Thisform。pageframe1.page1。text1。value=“”Thisform。pageframe1.page1.text2.value=“”Thlisform.pageframe1。page1.text3。value=“”End if添加用
27、户中的command2-click( )This form 。releasel 删除用户如下图所示:Command1-click( )Use 用户表Yhm=all tim(thisform.pageframe1。page1.text1.value)Kl1=all tirm(thisform.pageframe1。page1.text2.value)Kl2=all trim(thisform。pageframe1。page1。text3。value)Locate for all trim(用户名)=yhm and all trim(密码)=kl1If !found()If lk1=lk2Dele
28、tepackMessage box(“确认要删除密码”,48,“确定”)Thisform。pageframe1。page1.text1。value=“Thisform.pageframe1.page1.text2.value=“”Thisform。pageframe1。page1。text3.value=“”Thisform。pageframe1。page1。text1。setfoucusThisform 。refreshElseMessagebox(“您所指定的是一个非法用户”,“对不起”) Thisform。pageframe1。page1。text1。value=“”Thisform。p
29、ageframe1。page1。text2.value=“”Thlisform。pageframe1。page1.text3。value=“”Thisform.refreshEnd if删除用户中的command2-click( )Thisform .releasel 用户浏览 在表单中右击在弹出的快捷菜单中选择数据环境,在数据环境中选择用户表,并将用户表拖入数据环境中。如图所示:l 复制表结构l 复制表结构1)先选择要修改的表,如图所示:2)表单属性控件名控件类型属性名属性值List1组合框Rowsourcetyerowsource7*.dbfCommand1命令按钮Caption修改表结构
30、Command2命令按钮Caption复制Command3命令按钮Caption退出Form表单Caption系统维护3)代码Command1-click( )a=thisform。list1.listindexClose allUse thisform。list1。list(a)Mofify structureCommadn2-click( )B=thisform.list1。list(thisform.list1。listindex)C=len(b)3D=subs(b,1,c)+”*”Copy file &d to G:杨Massagebox(“文件复制成功”,4+48,“提示信息”)Co
31、mmand3-click( )Thisform.release4.4 档案录入模块的创建档案建立模块包括两个子菜单分别是:学生基本信息录入和学生成绩录入。下面我们先来看一下学生基本信息录入表单的创建及运行方法。l 学生基本信息录入表单的创建单击新建按钮单击文档选项卡2)表单控件及属性控件名控件类型控件属性控件值Label1标签Caption学生基本信息录入Label2标签Caption姓名Label3标签Caption性别Label4标签Caption学号Label5标签Caption系别号Label6标签Caption年龄Label7标签Caption出生日期Label8标签Caption民
32、族Command1命令按钮Caption首记录Command2命令按钮Caption上一条Command3命令按钮Caption下一条Command4命令按钮Caption末记录Command5命令按钮Caption增加Command6命令按钮Caption保存Text19文本框3)代码Command1-click( )Go topThisform。command1.enabled=.f。Thisform。command2。enabled=.f。Thisform。command3。enabled=。f。Tmand4.enabled=.f.Thisform.refershCommand2-cli
33、ck( )If not bof( )Skip 1Else Go topThis.enabled=。f.Tmand1。enabled=.f。Thisform。command2.enabled=。t。Thisform。command4。enabled=.t。EndifThisform.refreshCommand3-click( )If not eof( )Skip 1ElseGo bottomThis.enabled=.f.Tmand1。enabled=。t.Thisform。command2.enabled=。t。Tmand4。enalbed=。f.EndifThisform.refershC
34、ommand4click( )Go bottomThis.enabled=。f。Tmand1。enabled=。t.Tmand2。enabled=。t。Tmand3。enabled=。f.Thisform。refreshCommand5-click( )Thisform.txt系别号.value=”Thisform.txt姓名。value=”Thisform。txt学号.value=”Thisform.txt出生日期。value=“”Thisform。txt民族.vlaue=“”Thisform.txt政治面貌.vlaue=“”Thisform.txt联系电话.value=“”Thisfrom
35、。command1.enabled=。f.Tmand2。enabled=。f.Tmand3。enabled=.f.Tamnd4.enabled=.f.Thisform。enabled=。t.Tmand6。enabled=。t。Tmand7。enabled=。t.Command6-click( )Xbh=alltrim(thisform。txt系别号。value)Xm=alltrim(thisform.txt学号.value)Xh=alltrim(thisform.txt学号.value)Csrq=CTOD(alltrim(thisform.txt出生日期。value))Mz=alltrim(t
36、hisform。txt民族。value)Zzmm=alltrim(thisform。txt政治面貌.value)Lcdh=alltrim(thisform。txt联系电话.value)Go bottomAppend blankReplace 系别号 with xbhReplace 姓名 with xmReplace 学号 with xhReplace 出生日期with csrqReplace 民族 with mzReplace 政治面貌 with xxmmReplace 联系电话 with lcdhlThisform。command1。enabled=.t。Thisform。command2。
37、enabled=。f.Thisform。command3。enabled=.t。Tmand4.enabled=。f.Tmand5.enabled=.f.Tmand6。enabled=.f.Thisform.enabled=。t。Command7-click( )Use 学生基本信息表Yh=messagebox(“确定要删除此记录吗,4+3,”信息窗口”)If yh=6DeletePackElseThisform.refershThisform。text1。setfocusEndifTmand1.enabled=。f.Thisform。command2。enabled=。f.Thisform。c
38、ommand3。enabled=.f.Thisform。command4.enabled=.f.Thisform。enabled=。t.Tmand5。enabled=.f。Tmand6.enabled=。t.Command8-click( )Thisform.releasel 学生成绩录入,如图所录:2)表单控件及属性控件名控件类型控件属性控件值Laberl1标签Caption成绩录入表单0- 透明255,255,255Label2标签Caption课程名Lable3标签Caption成绩Lable3标签Caption学期Lable4标签Caption分数Lable5标签Caption学号La
39、ble6标签Caption课程号Command1命令按钮Caption添加Command2命令按钮Caption保存Command3命令按钮Caption退出Form表单Caption成绩录入3)代码Command1-click( )Thisform。text1。value=”Thisform.text2.value=Thisform。text3.value=Thisform.text4。value=Thisform。text5.value=Thisform.text6。value=Command2- click ( )Kcmc=alltrim(thisform.text1。value)Xh=
40、alltrim(thisform。text2.value)Cj=alltrim(thisform.text3。value)xf=alltrim(thisform.text4。value)xq=alltrim(thisform。text5。value)kch=alltrim(thisform。text6。value)use G:杨go bottomappend blankreplace 课程名称 with kcmcreplace 成绩 with cjreplace 学号 with xhreplace 学分 with xfreplace 学期 with xqreplace 课程号 with kch
41、thisform.text1。setfoucuscommand3-click( )thisform.release。4。5 档案查询模块的创建因为针对不同的部门有不同的要求,这时候就用到了有条件的查询。“档案”查询包括“学生基本信息查询和“学生成绩查询”两部分。档案查询模块中“学生信息查询控制”的创建。l 按学号查询l 按系别号查询l 按系别打印1)学生信息查询表单的设计可以实现按学生学号查询的功能,在“学生信息管理项目”的“文档”/“表单/“新建”,新建一个“学生信息查询。scx”表单。如图所示:先将“数据库”中的表添加到“数据环境”中,并将数据表拖入到表单中,如图所示:2)表单控件及其属性控件名控件类型控件属性控件值Label1标签Caption学生信息查询表单Optiongroup1选项按钮组Buttoncount2Option1选项按钮Caption请选择学号Option2选项按钮Caption请选择系别号Combo1组合框Command1命令按钮Caption按学号打印
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100