学生信息管理系统VFP课程设计.docx

上传人:b****8 文档编号:10355241 上传时间:2023-02-10 格式:DOCX 页数:35 大小:111.20KB
下载 相关 举报
学生信息管理系统VFP课程设计.docx_第1页
第1页 / 共35页
学生信息管理系统VFP课程设计.docx_第2页
第2页 / 共35页
学生信息管理系统VFP课程设计.docx_第3页
第3页 / 共35页
学生信息管理系统VFP课程设计.docx_第4页
第4页 / 共35页
学生信息管理系统VFP课程设计.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

学生信息管理系统VFP课程设计.docx

《学生信息管理系统VFP课程设计.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统VFP课程设计.docx(35页珍藏版)》请在冰豆网上搜索。

学生信息管理系统VFP课程设计.docx

学生信息管理系统VFP课程设计

 

 

1引言

学生信息管理系统(StudentInformationManagementSystem),以下简称SIMS,是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(ManagementInformationSystem)。

它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。

能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询。

在传统模式下利用人工进行学生信息管理,存在着较多的缺点,如:

效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。

诸如这些情况,令学校管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率。

随着科学技术的不断提高,计算机科学日渐成熟,使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点.例如:

检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便于打印等。

这些优点能够极大地提高学生信息管理的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。

用计算机制作的学生信息管理系统还可以通过功能强大的Internet网及时的向学生的家长传递该生在校的最新成绩,有助于学校与家长的信息互动,为更好地把握学校的教育方针一定的促进作用!

因此,开发这样一套管理软件成为很有必要的事情。

2系统技术及运行环境

2.1VisualFoxpro6.0简介

VisualFoxpro6.0是计算机优秀的数据管理系统软件之一,正如其名称中的“Visual”一样,它采用了可视化的、面向对象的程序设计方法,大大简化了应用系统的开发过程,并提高了应用系统的开发过程,并提高了系统的模块性和紧凑型。

是新一代的小型数据库管理系统的杰出代表,它以其强大的性能、完整而又丰富的工具、较高的处理速度、友好的界面以及较完备的兼容性,备受广大用户的欢迎。

面前,VisualFoxpro6.0是用户收集信息、查询数据、创建集成数据库系统、进行应用系统开发较为理想的微机数据库管理系统。

2.2系统开发及运行环境

该运行环境的规定是保证本需求说明的功能得到实际真正体现的基础。

(1)运行环境Windows98或更高版本的操作系统

数据库系统:

MicrosoftVisualFoxpro6.0

(2)开发环境:

开发工具:

MicrosoftVisualFoxpro6.0

数据库系统:

MicrosoftVisualFoxpro6.0

3系统分析

3.1需求分析

21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。

使原本的旧的管理方法越来越不适应现在社会的发展。

许多人还停留在以前的手工操作。

这大大地阻碍了人类经济的发展。

为了适应现代社会人们高度强烈的时间观念,学校信息管理系统软件为学校办公室带来了极大的方便。

(一)教育系统学生管理现状分析

学校工作流程分析

学校工作总体规划由教务人员在学生信息管理系统中完成对运行教务处所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在这进行操作。

新的学年,教务人员首先加入年级信息,然后编排班级,再对来校学生进行基本的信息录入,新生入学后由教务人员在学籍系统中完成新学生信息的维护。

(二)学校具体需求分析

学生:

对各科成绩的查询

任课老师:

输入并维护所教科目的学生成绩

教务处:

学校全体成员的信息管理,并对任课老师,班主任等输入的信息进行存库,对学生的信息进行必要的维护。

通过研究调查,本系统需以下功能:

综合学生信息、学生成绩以及信息查询等信息。

方便用户了解和管理学生的全面动态信息。

良好的界面设计,更人性化的设计理念,使用户拥有更轻松的使用心情。

3.2可行性分析

目的:

可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能解决。

经济性:

由于学校等中小型管理系统并不复杂,且VisualFoxpro6.0本身要求的运行环境不高,所以一般Windows2000以上的系统环境都可以使用。

实用性:

本学生信息管理系统管理系统无太多复杂的操作要求,也没有过分花哨的装饰品,人性化的设计界面可以使操作者轻易运用自如

4总体设计

4.1设计目标

本系统可以能减少很多不必要的资源,不用象以前那样用冗余的纸张式的管理。

大节省了学校能源。

并且计算机的存储与快速查询功能大大提高了学籍管理的效率,并且还提高了学籍信息管理的精确度。

方便快速的操作,可减少学籍信息管理的漏洞,又减少因工作的冗余出现的错误,并且操作非常简单,可减少许多不很必要的人员,这无论从物质上还是工作人员的工资上都为学校节约了开支。

为学校增加了财富。

数据库分析

用户需求具体有学籍管理系统提供保存、更新、查询、维护,这就需求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。

4.2项目规划

学生管理系统是各大中专院校不可缺少的一部分,是一个VF数据库开发应用程序,它主要包括用户登录、学生信息输入修改、学生信息查询以及学生成绩输入、学生成绩查询、系统用户管理等几个页面,因而该系统具有较强的实用性。

4.3系统功能图

5系统详细设计

5.1数据库设计

(1)deandma.dbf,见表1

表1

字段名

数据类型

备注

班级

Char(8)

主键Notnull

Char(10)

Notnull

专业

Char(14)

Notnull

(2)grade.dbf,见表2

表2

字段名

数据类型

备注

学号

Char(8)

主键Notnull

班级

Char(10)

Notnull

课程

Char(18)

Notnull

成绩

Int(5)

Notnull

学期

Char

(2)

Notnull

备注

Memo

Null

(3)stduents.dbf,见表3

表3

字段名

数据类型

备注

班级

Char(8)

主键Notnull

学号

Char(8)

Notnull

姓名

Char(8)

Notnull

性别

Char(6)

NotNull

出生日期

Datetime

Null

政治面貌

Char(8)

Null

身份证号码

Char(16)

Null

入学时间

Datetime

Null

籍贯

Char(16)

Null

家庭住址

Char(28)

Null

邮政编码

Char(6)

Null

照片

General

Null

备注

Memo

Null

(4).dbf,见表4

表4用户信息表

字段名

数据类型

备注

姓名

Char(8)

主键Notnull

密码

Char(6)

Notnull

标识

Logical

Notnull

5.2登陆界面设计

“进入”按钮的click事件添加如下的代码:

seleyonghu

ifallt(thisform.text1.value)==""

messagebox(left(allt(thisform.label1.caption),6)+"为空,请输入!

",64,"提示")

thisform.text1.setfocus

else

ifallt(thisform.text2.value)==""

messagebox("密码为空,请输入!

",64,"提示")

thisform.text2.setfocus

else

n=n+1

locateforallt(姓名)=allt(thisform.text1.value);

.and.allt(密码)=allt(thisform.text2.value)

iffound()

ifthisform.check1.value==1.and.标识

checked=1

thisform.release

domenu.mpr

else

ifthisform.check1.value==1.and.!

标识

messagebox("你不是管理员!

",48,"警告")

thisform.check1.value=0

else

checked=0

cyonghu=allt(姓名)

cmima=allt(密码)

thisform.release

domenu.mpr

endif

endif

else

ifn>=3

messagebox("你不是合法用户,请与管理员联系!

",48,"警告")

thisform.release

clearevent

quit

else

messagebox(left(allt(thisform.label1.caption),6)+"或密码错误,请重新输入!

",64,"提示")

thisform.text1.value=""

thisform.text1.setfocus

thisform.text2.value=""

endif

endif

endif

endif

“取消”按钮的click事件添加如下的代码

nr=messagebox("你选择了退出登录,是否退出?

",68,"用户登录")

ifnr=6

thisform.release

quit

endif

5.3学生信息录入

“增加”按钮的click事件添加如下的代码:

ifthis.caption=="增加"

if(bo3.displayvalue=="(选择)").or.(alltrim(thisform.text1.value)=="");

.or.(alltrim(thisform.text2.value)=="")

messagebox("班级、学号和姓名必须填充!

",64,"提示")

else

locateforalltrim(thisform.text1.value)=alltrim(students.学号)

if!

eof()

=messagebox("此学号已经存在,请重新输入!

",64,"提示")

thisform.text1.value=""

thisform.text1.setfocus

else

selestudents

appendblank

replace班级withalltrim(bo3.value),学号withalltrim(thisform.text1.value);

姓名withalltrim(thisform.text2.value),出生日期withctod(alltrim(thisform.text4.value));

入学时间withctod(alltrim(thisform.text6.value)),籍贯withalltrim(thisform.text7.value);

家庭住址withalltrim(thisform.text8.value),身份证号码withalltrim(thisform.text8.value);

备注withalltrim(thisform.edit1.value),邮政编码withalltrim(thisform.text3.value)

ifalltrim(bo4.value)==""

replace性别withalltrim(bo4.displayvalue)

else

replace性别withalltrim(bo4.value)

endif

ifalltrim(bo5.value)==""

replace政治面貌withalltrim(bo5.displayvalue)

else

replace政治面貌withalltrim(bo5.value)

endif

&&if.not.alltrim(thisform.label17.caption)==""

if!

pictemp==""

waitwindows"正在导入相片,请等待!

......."at100,40timeout2nowait

&&pictemp=thisform.label17.caption

appendgeneralstudents.照片from"&pictemp"

endif

pictemp=""

this.caption="继续"

endif

endif

else

mand2.click

this.caption="增加"

endif

5.4学生信息修改

“修改”按钮的click事件添加如下的代码:

iththisform

selestudents

locateforallt(学号)=allt(.text1.value)

ifallt(学号)==allt(.text1.value)

replace学号withallt(.text1.value),姓名withallt(.text2.value),邮政编码withallt(.text3.value),;

出生日期with.text4.value,入学时间with.text6.value,籍贯withallt(.text7.value),;

家庭住址withallt(.text8.value),身份证号码withallt(.text9.value),性别withallt(.combo4.value),;

政治面貌withallt(.combo5.value),备注withallt(.edit1.value)

if!

pictemp==""

waitwindows"正在导入相片,请等待!

......."at100,40timeout2nowait

appendgeneral照片from"&pictemp"

endif

endif

selels

locateforallt(学号)=allt(.text1.value)

ifallt(学号)==allt(students.学号)

replace学号withstudents.学号,姓名withstudents.姓名,邮政编码withstudents.邮政编码,;

出生日期withstudents.出生日期,入学时间withstudents.入学时间,籍贯withstudents.籍贯,;

家庭住址withstudents.家庭住址,身份证号码withstudents.身份证号码,性别withstudents.性别,;

政治面貌withstudents.政治面貌,备注withstudents.备注,照片withstudents.照片

endif

pictemp=""

this.enabled=.f.

endwith

5.5学生信息查询

“定位查询”按钮的click事件添加如下的代码

ifallt(thisform.text1.value)==""

messagebox("请输入学号或姓名!

",64,"提示")

thisform.text1.setfocus

else

selestuls

locateforallt(学号)=allt(thisform.text1.value);

.or.allt(姓名)=allt(thisform.text1.value)

iffound()

gorecn()

else

waitwindowat18,38nowait'没有找到你要查询的信息!

'

endif

endif

thisform.grid1.refresh

thisform.refresh

“第一个”按钮的click事件添加如下的代码

selestuls

skip-1

ifbof()

this.enabled=.f.

mand3.enabled=.f.

messagebox("已经到第一条记录了!

",64,"提示")

gotop

else

gorecn()

endif

mand2.enabled=.t.

mand4.enabled=.t.

 

“单个查询”按钮的click事件添加如下的代码

nxx=1

doformxxxg

5.6系管理表单设计

“增加”按钮的click事件添加如下的代码

setordertotag

setsafetyoff

ifalltrim(thisform.text1.value)==""

messagebox("系名为空,请输入!

",64,"提示")

thisform.text1.setfocus

else

locatefordeandma.系=alltrim(thisform.text1.value)

if.not.eof()

messagebox("系名已经存在,请重新输入!

",48,"提示")

thisform.text1.value=""

thisform.text1.setfocus

else

appendblank

replacedeandma.系withalltrim(thisform.text1.value)

thisform.text1.value=""

thisform.text1.setfocus

endif

thisform.list1.clear

thisform.list1.init&&重新显示list列表

thisform.list1.value=""

endif

“删除”按钮的click事件添加如下的代码

Setsafetyoff

ifthis.caption=="取消"

thisform.text2.value=""

thisform.text2.enabled=.f.

thisform.label3.enabled=.f.

this.caption="删除"

mand1.enabled=.t.

mand2.caption="修改"

else

ifalltrim(thisform.text1.value)==""

messagebox("缺少完整信息,无法删除!

",0+48,"警告")

thisform.text1.setfocus

else

thisform.list1.value=alltrim(thisform.text1.value)

nn=messagebox("是否确定删除此系单位,其所属的专业班级的数据库都将删除!

",1+48,"警告")

ifnn==1

t=0

usedata\deandma

gotop

dowhile.not.eof()

ifalltrim(系)==alltrim(thisform.text1.value)

delete

pack

t=1

endif

skip

enddo

ift==0

messagebox("将删除的内容不存在,请重新输入。

",60,"提示")

thisform.text1.setfocus

endif

endif

thisform.text1.value=""

thisform.list1.requery

thisform.list1.clear

thisform.list1.init&&重新显示List列表

thisform.text1.value=alltrim(thisform.list1.value)

endif

endif

thisform.refresh

5.7班级管理

“增加”按钮的click事件添加如下的代码

setordertotag

setsafetyoff

ifalltrim(thisform.text1.value)==""

messagebox("班级名为空,请输入!

",64,"提示")

thisform.text1.setfocus

else

locatefordeandma.班级=alltrim(thisform.text1.value)

if.not.eof()

messagebox("班级名已经存在,请重新输入!

",48,"提示")

thisform.text1.value=""

thisform.text1.setfocus

else

locatefordeandma.专业=alltrim(bo2.value)

ifalltrim(deandma.班级)==""

replacedeandma.班级withalltrim(thisform.text1.value)

else

appendblank

replacedeandma.系withalltrim(bo1.value)

replacedeandma.专业withalltrim(bo2.value)

replacedeandma.班级withalltrim(thisform.text1.value)

endif

thisform.text1.value=""

thisform.text1.setfocus

endif

bo2.click&&重新显示list列表

thisform.list1.value=""

endif

“删除”按钮的click事件添加如下的代码

Setsafetyoff

ifthis.caption=="取消"

thisform.text2.value=""

thisform.text2.enabled=.f.

thisform.label5.enabled=.f.

this.caption="删除"

mand1.enabled=.t.

mand2.caption="修改"

else

ifalltrim(thisform.text1.value)==""

=messagebox("缺少完整信息,无法删除!

",0+48,"警告")

thisform.text1.setfocus

else

usedeandmaexclusive

thisform.list1.value=al

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

当前位置:首页 > 解决方案 > 学习计划

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

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