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

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

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

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

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

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

1引言1

2系统技术及运行环境1

2.1VisualFoxpro6.0简介1

2.2系统开发及运行环境1

3系统分析2

3.1需求分析2

3.2可行性分析2

4总体设计2

4.1设计目标2

4.2项目规划3

4.3系统功能图4

5系统详细设计5

5.1数据库设计5

5.2登陆界面设计6

5.3学生信息录入8

5.4学生信息修改9

5.5学生信息查询11

5.6系管理表单设计12

5.7班级管理15

5.8学生成绩录入17

5.9修改学生成绩19

5.10学生成绩查询21

5.11用户管理22

5.12修改用户密码25

5.13关于系统26

6结论27

致谢28

参考文献29

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(t

else

if

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

",64,"提示")

else

n=n+1

locatefor

.and.

iffound()

if.and.标识

checked=1

thisform.release

domenu.mpr

else

if

messagebox("你不是管理员!

",48,"警告")

else

checked=0

cyonghu=allt(姓名)

cmima=allt(密码)

thisform.release

domenu.mpr

endif

endif

else

ifn>=3

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

",48,"警告")

thisform.release

clearevent

quit

else

""

endif

endif

endif

endif

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

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

",68,"用户登录")

ifnr=6

thisform.release

quit

endif

5.3学生信息录入

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

ifthis.caption=="增加"

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

",64,"提示")

else

locatefor

if!

eof()

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

",64,"提示")

else

selestudents

appendblank

replace班级with

姓名with

入学时间with籍贯with

家庭住址with

备注withwith

if

replace性别with

else

replace性别with

endif

ifalltrim(bo5.value)==""

replace政治面貌with

else

replace政治面貌with

endif

&&if

if!

pictemp==""

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

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

&&

appendgeneralstudents.照片from"&pictemp"

endif

pictemp=""

this.caption="继续"

endif

endif

else

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事件添加如下的代码

if

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

",64,"提示")

else

selestuls

locatefor

iffound()

gorecn()

else

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

'

endif

endif

thisform.refresh

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

selestuls

skip-1

ifbof()

this.enabled=.f.

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

",64,"提示")

gotop

else

gorecn()

endif

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

nxx=1

doformxxxg

5.6系管理表单设计

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

setordertotag

setsafetyoff

if

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

",64,"提示")

else

locatefor

if.not.eof()

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

",48,"提示")

else

appendblank

replacedeandma.系with

this

endif

&&重新显示list列表

endif

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

Setsafetyoff

ifthis.caption=="取消"

this.caption="删除"

else

if

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

",0+48,"警告")

else

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

",1+48,"警告")

ifnn==1

t=0

usedata\deandma

gotop

dowhile.not.eof()

if

delete

pack

t=1

endif

skip

enddo

ift==0

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

",60,"提示")

endif

endif

&&重新显示List列表

endif

endif

thisform.refresh

5.7班级管理

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

setordertotag

setsafetyoff

if

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

",64,"提示")

else

locatefor

if.not.eof()

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

",48,"提示")

else

locatefor

ifalltrim(deandma.班级)==""

replacedeandma.班级with

else

appendblank

replacedeandma.系with

replacedeandma.专业with

replacedeandma.班级with

endif

endif

&&重新显示list列表

endif

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

Setsafetyoff

ifthis.caption=="取消"

this.caption="删除"

else

if

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

",0+48,"警告")

else

usedeandmaexclusive

nn=messagebox("是否确定删除此班级,与其相关的数据都将删除!

",1+48,"警告")

ifnn==1

t=0

locatefor

delete

pack

t=1

ift==0

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

",64,"提示")

endif

endif

&&重新显示List列表

endif

endif

thisform.refresh

5.8学生成绩录入

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

selegrade

ifchengji==""

tt=messagebox("想输入单科成绩吗?

",4+32,"提示")

iftt==6

else

endif

else

*locateforallt(学号)=xuehao

*ifeof()

locateforallt(课程)=kecheng

ifallt(学号)=="".and.allt(班级)==banji

repl学号withxuehao

repl成绩withval(chengji)

repl学期withxueqi

else

*appendblank

*repl学号withxuehao

*repl班级withbanji

*repl课程withkecheng

*repl成绩withval(chengji)

*repl学期withxueqi

*endif

*else

locateforallt(学号)=xuehao.and.allt(课程)==kecheng.and.allt(学期)==xueqi

ifeof()

appendblank

repl学号withxuehao

repl班级withbanji

repl课程withkecheng

repl成绩withval(chengji)

repl学期withxueqi

else

tt=messagebox("该科的成绩已存在,是否覆盖?

",4+32+256,"提示")

iftt==6

repl成绩withval(chengji)

endif

endif

endif

endif

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

selels

if

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

",64,"提示")

else

locatefor

ifeof()

messagebox("该班级没有此人!

",64,"提示")

gonhere

else

endif

endif

5.9修改学生成绩

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

selelsbj

if

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

",16,"提示")

else

locatefor

ifeof()

messagebox("本班级没有此人,请重新输入!

",64,"提示")

else

xuehao=allt(学号)

endif

endif

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

if

selelsbj

skip1

ifeof()

this.enabled=.f.

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

",48,"提示")

gobottom

endif

xuehao=allt(学号)

5.10学生成绩查询

“补考统计”按钮的click事件添加如下的代码

if

messagebox("请选择班级!

",64,"提示")

else

doformbukao

endif

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

if

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

",64,"提示")

else

locatefor

iffound()

lsxh=allt(students.学号)

lsxm=allt(students.姓名)

doformdgcj

else

messagebox("没有此人,请重新输入",64,"提示")

endif

endif

5.11用户管理

List1的init事件中添加的代码如下

seleyonghu

this.additem("管理员")

locatefor标识=.T.

dowhilefound()

this.additem("----"+姓名)

continue

enddo

gotop

locatefor标识=.F.

this.additem("普通用户")

dowhilefound()

this.additem("----"+姓名)

continue

enddo

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

Setsafetyoff

seleyonghu

if

messagebox("用户名不能为空!

",0+48,"警告")

else

locatefor

if(.not.eof())

messagebox("此用户已存在,请重新输入!

",64,"警告")

else

if

messagebox("密码不能为空!

",0+48,"警告")

else

if

appendblank

repl姓名with

密码with

if

repl标识with.T.

else

repl标识with.F.

endif

else

tt=messagebox("确认密码错误,请重新输入!

",0+48,"警告")

iftt==1

endif

endif

endif

endif

endif

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

if

messagebox("请选择或输入用户名",64,"提示")

else

useyonghu

locatefor

ifeof()

messagebox("请选择或输入正确的用户名",64,"提示")

else

tt=messagebox("一定要删除吗?

",4+48,"删除确认")

iftt==6

delete

pack

endif

endif

endif

5.12修改用户密码

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

seleyonghu

if

else

locatefor

ifeof()

messagebox("此用户不存在,请重新输入!

",64,"提示")

else

if

messagebox("密码错误,请重新输入!

",64,"提示")

else

if

messagebox("请输入新密码!

",64,"提示")

else

if

messagebox("确认密码错误,请重新输入!

",64,"提示")

else

repl密码with

thisform.release

endif

endif

endif

endif

endif

5.13关于系统

退出系统

ifmessagebox("是否退出学生信息官系统?

",36,"学生信息管理系统")=6

Cl

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

当前位置:首页 > 人文社科 > 设计艺术

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

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