学生办证管理系统论文.docx
《学生办证管理系统论文.docx》由会员分享,可在线阅读,更多相关《学生办证管理系统论文.docx(15页珍藏版)》请在冰豆网上搜索。
学生办证管理系统论文
目录
一、需求分析3
二、系统功能3
三、办领证管理的基本流程图3
四、数据库设计4
五、初始用户界面的设计5
六、模块设计5
七、退出系统13
学生办证管理系统
一、需求分析
需求分析的任务,在于完全地弄清用户对所开发的数据库应用系统的确切要求。
开发人员要向用展开调查研究,弄清用户到底要应用系统具备哪些功能,需要完成哪些任务。
学校学生毕业,就需要办领领毕业证,对于一个较大的学校来说,用笔来记,是一件十分麻烦、且复杂的一件事,而且效率、准确率又不高。
为了解决这个问题,我准备编写一个毕业证办领管理系统来解决这个比较实际的问题。
眼前之下,visualfoxpro6.0具有强大的数据库管理功能,我们visualfoxpro6.0来实现学生办领证管理系统的各项功能。
二、系统功能
学生办领证管理系统具体功能如下:
(1)、选择用户名:
只要你成为一般用户,可真接输入你的口令,进行一系列的操作,口令不正确你将退出,不能作任何的操作。
(2)、初始化:
可以进行登录。
(3)、基本管理:
可以对数据进行增加、删除、修改等。
(4)、查询:
可以按学生的学号进行查询。
(5)、打印:
可以对表其中任何一个表进行打印、输出。
(6)、口令系统管理:
增加新用户及修改口令。
(7)、退出:
退出系统
三、办证管理的基本流程图
四、数据库设计
数据库设计首先要进行数据分析,如分析应用系统需要存储哪些数据,而且要从优化表结构和减少数据冗余的角度考虑,合理地建立一系列的表。
用表设计器设计好表结构后,为了保持数据的完整性和一致性,这些表要添加到数据库中,并且要建立永久关系和参照完整性。
学生办领证所需要用到的数据库和表有:
Bzglgly.dbf
字段类型宽度小数位数
操作员姓名字符型20
操作员密码字符型20
Bzgl.dbf
字段类型宽度小数位数
学号字符 5
班代码字符5
姓名字符6
性别字符2
班主任 字符6
是否办证 逻辑 1
是否领证逻辑1
金额数值50
Xxjbqq.dbf
字段名类型宽度小数位数
学号字符 5
班代码字符5
姓名字符6
性别字符2
联系电话字符10
工作单位字符20
家庭情况字符20
是否交费逻辑 1
已交费数值60
差费数值60
五、初始用户界面的设计
从上面的总体结构图,我们不难看出应用程序的菜单。
说明:
1、一进入VisualFoxpro6。
0用了一个表单作为初始化界面。
2、本系统采用菜单作为初始化界面,并设置了一个主文件来调用该菜单程序。
要进入主菜单,请双击初始界面,即可进入。
3、进入程序后可以根据下面内容进行设计和编码。
六、模块设计
什么是主文件:
主文件就是指一个系统中的可控制本系统的一个软件。
也是在系统中最先调用、执行的程序。
注意,不同的系统,它具的的内容和代码有所不同。
如本系统的主文件代码如下:
****************************************************
settalkoff
**定义一个系统变量名为aaa,通过aaa可以用来替换当前的目录**
aaa=sys(5)+sys(2003)
setdefaultto&aaa**取得当前aa的目录**
cleaall
opendatabasebzgl.dbcexclusive**打开数据库,并且调用bzgl数据库**
clea
doformforms\jmt.scx**调用初如化界面表单jmt**
readevent
settalkon
quit**退出**
*******************************************************************
(一)、调用主程序
在调用这个主程序之前,设置了一个用户界面,双击用户界面可进入主窗口;
双击用户界面的代码是:
****************************************************************************
doform\gly.scx**调用gly.scx表单**
thisform.release
********************************************************************
见进入主菜单前的界面:
jmt.scx
(二)系统登录表单设计
为了加强系统的保密性,调用了主程序后,进入管理员登录界面,在进入系统时应输入密码。
系统登录表单的主要任务是验证操作员和进入系统的口令。
如果口令正确,可调用系统主菜单,进入系统环境,否则,就退出系统。
系统登录表单”gly.scx”,该表单的数据环境打开的是pswd.dbf数据表,其中包含两个字段:
操作人员名称和密码;
如图gly.scx
组合框的“name”属性“txtusername”,文本框的“name”属性为“txtpassword”属性改为“*”。
容器的“specialeffect”属性为“0—凸起”。
确认按钮“click”事件代码为:
(在两行星号之间)
**************************************
sele1
usebzglgly
locaforupper(bzglgly.操作员密码)=upper(allt(thisform.txtpassword.value))
iffound()
dovisualfoxpro\mens\BZGL.MPR**调用主菜单**
readevent
thisform.visible=.f.**单前表单为不可见**
this.parent.txtpassword.value=""
else
#definemismatch_loc"用户口令不正确,请重新输入!
"
waitwindowmismatch_loctimeout1
thisform.txtpassword.value=""
thisform.txtpassword.setfocus
endif
****************************************************************
(三)系统主菜单的设计
VisualFoxpor6.0的“菜单设计器”可以简便、快捷地创建菜单,提高应用程序的质量。
在应用程序中,用户最先接触到的就是菜单系统。
主菜单共分为6个板块:
(1)、初始化:
初始化(ctrl+F)
(2)、浏览:
学生办证管理基本表、学生基本信息
(3)、编辑:
办证管理基本表、办证管理上、查找办领证表单、学员的基本信息
(4)、打印:
打印学生基本信息、已办证表单、已领证表单
(5)、用户管理:
更改用户密码、添加用户密码
(6)、退出
主菜单用来控制系统中的各项操作。
系统主菜单的设计如下:
调用命令方法:
************************
domain.mpr**调用主程序**
*******************************************
(四)、浏览
浏览只是对表的记录进行查看,不能在浏览表里面直接修改记录,只能在后面讲到地编辑菜单里面去修改,本浏览菜单只起到查看有哪能些字段组成,及其里面的内容很多时,不像后面讲到的编辑菜单下面的办领证基本表和办证管理上等,本浏览能一目了然的看完,与后面的编辑菜单有着相应的区别。
本浏览菜单包括两个子菜单,分别是学生办领证管理基本表和学生基本信息表。
(五)、编辑
编辑菜单主要是为了方面用查看、浏览。
(一)、学生办证管理基本表见图:
(1)、为了方便用户逐条的显示:
分别做了几个按钮:
其中每个按钮的代码都在相应的click事件中输入。
第一条:
*******************
gotop**到表单的顶部**
thisform.refresh**释放表单**
**********************
上一条:
*******************
if!
eof()**判断记录指针是否到了最后**
skip-1**指针上移一条**
else
gotop**到顶部**
endif
thisform.refresh
********************************
下一条:
*****************************
if!
eof()**判断记录指针是否到了最后**
skip**下移一条**
else
gobottom**到表尾**
endif
thisform.refresh
**********************************************************
退出:
*****************
thisform.release**退出当前表单**
*****************************************
(2)、为了用户在工作时,别忘了时间观念,所以本系统编辑者专为用户做了一下时,能让用户在工作能劳逸结合,定义了一下时钟(timer1),和一个标签(label2)
分别高置了temer1属性:
******************
Interval=1000
对temer1的temer事件编写代码如下:
ifthisform.label2.caption!
=time()**判断temer的时间,是否等于当前系统的时间**
thisform.label2.caption=time()**经过判断,如果不等,就把当前系统的时间赋给temer**
endif
***********************************************************************
(二)、办证管理上做了以下几个按钮:
其中每个按的的代码都在相应的click事件中输入
第一条:
*******************
gotop**到表单的顶部**
thisform.refresh**释放表单**
*********************************
上一条:
*******************
if!
eof()**判断记录指针是否到了最后**
skip-1**指针上移一条**
else
gotop**到顶部**
endif
thisform.refresh
**************************************************
下一条:
*****************
if!
eof()**判断记录指针是否到了最后**
skip**下移一条**
else
gobottom**到表尾**
endif
thisform.refresh
*******************************************************
最后一条:
******************
gobottom**到表记录的尾**
thisform.refresh
退出:
thisform.release**退出当前表单**
**************************************
(三)、查找按钮(如下图)
(1)、当用户在面对记录较多时,或者用户输入记录过久时,可能会导致搞忘,本编辑人员考虑到一个一个的去查看,这样既浪费时间,又容易出错,所有为了既准确、又快,特为用户编写了一个查询按钮,通过学号来对学生是否办领证进行查询。
在学号处输入你要查找的学生的学号即可,然后单击查询按钮。
查询按钮代码如下:
分别在click事件中输入以下代码
***********************************
select1
usedate\bzgl.dbf**调用bzgl.dbf**
iflen(alltrim(thisform.text1.value))<>0**判断所学号是否为空**
locateforbzgl.学号=thisform.text1.value**查找当前输入的学号是否完全等于bzgl.dbf里面的学号**
iffound()**如果找到**
thisform.text2.value=班代码**显示班代码**
thisform.text3.value=姓名**显示姓名**
thisform.text4.value=bzgl.性别**显示性别**
thisform.text5.value=bzgl.身份证号码**显示身份证号码*
thisform.text6.value=bzgl.金额**显示金额**
ifthisform.text7.value**查看是否办证**
repl是否办证with.t.
else
repl是否办证with.f.
endif
ifthisform.text8.value
repl是否领证with.t.**查看是否领证**
else
repl是否领证with.f.
endif
else
=messagebox("¸该学生的基本信息不存在",48,"警告!
")**如果没有找到,就显示“该学生的基本信息不存在”**
thisform.text1.value=""
endif
else
=messagebox("学号不能为空!
",48,"警告!
")**当你没有输入学号时,直接单击查询按钮时,就会出现“学号不能为空”**
endif
thisform.text1.value=''
this.refresh
*********************************************************************
(3)、退出
用户添加后,要进入下一个操作时,就需要退出本系统,进行下一步操作。
退出按钮代码如下:
*************
thisform.release**释放并退出此表单**
******************************************************************************
(四)、查看学员基基本本信息
其中包括四个按钮,第一条、上一条、下一条和一个退出按钮
相应的代码都是在click事件在写入。
第一条:
*******************
gotop**到表单的顶部**
thisform.refresh**释放表单**
*********************************
上一条:
*******************
if!
eof()**判断记录指针是否到了最后**
skip-1**指针上移一条**
else
gotop**到顶部**
endif
thisform.refresh
**************************************************
下一条:
*****************
if!
eof()**判断记录指针是否到了最后**
skip**下移一条**
else
gobottom**到表尾**
endif
thisform.refresh
*******************************************************
最后一条:
******************
gobottom**到表记录的尾**
thisform.refresh
退出:
thisform.release**退出当前表单**
**************************************
(五)、打印表单
有时,用户太累时,为了放松一下显示器对眼睛的辐射,可以通过打印机来对某个表进行核对、查看。
打印包括打印基本表单、打印已办证表单、已领证表单。
已办证表单打报:
(见下图)
已领证表单报表(图略):
(六)、用户管理
用户管理包括两菜单选项,一个是更改用户密码,另一个是添国用户。
(1)、用户更改密码:
如下图
本界面包括三个按钮,分别是添加、确定、取消。
添加按钮代码:
在相应按钮的click事件中输入代码
***********************************************
closeall
sele1
usedate\bzglgly
locaforbzglgly.²操作员姓名=bo1.value
ifbzglgly.操作员密码=alltrim(thisform.text1.value)
ifallt(thisform.text3.value)=allt(thisform.text2.value)
replbzglgly.操作员密码withallt(thisform.text2.value)
wait"口令更改成功!
"windowtimeout3
else
wait"两次新口令输入不一致"windowtimeout3
endif
else
wait"原口令输入不成功!
"windowtimeout3
endif
确定按钮代码:
clearevents
thisform.refresh
退出按扭代码:
Thisform.release
****************************************************************
(2)、添加用户
当是一个局域网内时,里面又有多个人员进行负责时,所有不免要增加用户。
本表单只包括二个按钮,分别是确定和取消。
确定按钮代码如下:
在相应按钮的click事件中输入以下代码
****************************************
sele1
use
usedate\bzglgly.dbfexclusive
locafor²操作员姓名==alltrim(thisform.text1.value)
iffound()
wait"¸该用户已经存在!
"windowtimeout3
else
appendblank
repl操作员姓名withalltrim(thisform.text1.value)
repl操作员密码withalltrim(thisform.text2.value)
wait"新用户增加成功!
"windowtimeout3
endif
thisform.refresh
*********************************************************************
(2)、当你添加好后,要返回上一级菜单,去做别一件事情时,为了与当前的界面不相充突,所以特设置了退出按钮。
退出按钮:
***************
thisform.release**释放表单**
********************************
七、退出系统
退出主程序,通过主菜单用命令进行操作,在菜单设计器中在菜单名中输入“退出”,在结果当中选择“命令”,并输入:
quit
设计完所有程序以后进行保存,连编运行!
八、尾声
制作本程序《学生办证管理系统》是参照重庆市永川广播电视大学教科书《数据库基础及应用》一书以及本校负责上
1,《数据库基础及引用》教师漆顺芬辅导于2005年4月15日制作而成,本书主编:
傲开云作者:
傲开云李建苹陈郑军《数据库基础及引用》是由西北工业大学出版社2003年8月第1版2003年8月第一次印刷
2,《VisualFoxPr06.0程序设计指导与实训》,主编:
程玉民,中国水利水电出版社出版
3,《VisualFoxPro6.0程序设计》,作者:
李淑华,高等教育出版社出版,出版日期:
2004年6月第1版。
4,《VisualFoxPro6.0全攻略宝典》,作者:
刘鹏,李冬梅高燕,中国水利水电出版社2000年6月第一版第一次印刷。
5,《VisualFoxPro6.0程序教程》,作者:
黎能武主编,中国水利水电出版社2001年8月1日第一次印刷。