欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    毕业设计(论文)VF学生信息管理系统设计.doc

    • 资源ID:3977263       资源大小:646KB        全文页数:29页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计(论文)VF学生信息管理系统设计.doc

    目 录1引言12系统技术及运行环境12.1 Visual Foxpro 6.0简介12.2系统开发及运行环境13 系统分析23.1需求分析23.2可行性分析24总体设计24.1 设计目标24.2项目规划34.3系统功能图45系统详细设计55.1数据库设计55.2登陆界面设计65.3学生信息录入85.4 学生信息修改95.5 学生信息查询115.6系管理表单设计125.7班级管理155.8学生成绩录入175.9 修改学生成绩195.10学生成绩查询215.11用户管理225.12修改用户密码255.13关于系统266 结论27致 谢28参考文献291引言学生信息管理系统(Student Information Management System),以下简称SIMS,是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System)。它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询。在传统模式下利用人工进行学生信息管理,存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。诸如这些情况,令学校管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率。随着科学技术的不断提高,计算机科学日渐成熟, 使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便于打印等。这些优点能够极大地提高学生信息管理的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。用计算机制作的学生信息管理系统还可以通过功能强大的Internet网及时的向学生的家长传递该生在校的最新成绩,有助于学校与家长的信息互动,为更好地把握学校的教育方针一定的促进作用!因此,开发这样一套管理软件成为很有必要的事情。2系统技术及运行环境2.1 Visual Foxpro 6.0简介Visual Foxpro 6.0是计算机优秀的数据管理系统软件之一,正如其名称中的“Visual”一样,它采用了可视化的、面向对象的程序设计方法,大大简化了应用系统的开发过程,并提高了应用系统的开发过程,并提高了系统的模块性和紧凑型。是新一代的小型数据库管理系统的杰出代表,它以其强大的性能、完整而又丰富的工具、较高的处理速度、友好的界面以及较完备的兼容性,备受广大用户的欢迎。面前,Visual Foxpro 6.0是用户收集信息、查询数据、创建集成数据库系统、进行应用系统开发较为理想的微机数据库管理系统。2.2系统开发及运行环境该运行环境的规定是保证本需求说明的功能得到实际真正体现的基础。(1)运行环境Windows98或更高版本的操作系统数据库系统:Microsoft Visual Foxpro 6.0(2)开发环境:开发工具:Microsoft Visual Foxpro 6.0数据库系统:Microsoft Visual Foxpro 6.03 系统分析3.1需求分析21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,学校信息管理系统软件为学校办公室带来了极大的方便。(一)教育系统学生管理现状分析学校工作流程分析学校工作总体规划由教务人员在学生信息管理系统中完成对运行教务处所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在这进行操作。新的学年,教务人员首先加入年级信息,然后编排班级,再对来校学生进行基本的信息录入,新生入学后由教务人员在学籍系统中完成新学生信息的维护。(二)学校具体需求分析学生:对各科成绩的查询任课老师:输入并维护所教科目的学生成绩教务处: 学校全体成员的信息管理,并对任课老师,班主任等输入的信息进行存库,对学生的信息进行必要的维护。通过研究调查,本系统需以下功能:综合学生信息、学生成绩以及信息查询等信息。方便用户了解和管理学生的全面动态信息。良好的界面设计,更人性化的设计理念,使用户拥有更轻松的使用心情。3.2可行性分析目的:可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能解决。经济性:由于学校等中小型管理系统并不复杂,且Visual Foxpro 6.0本身要求的运行环境不高,所以一般Windows 2000以上的系统环境都可以使用。实用性:本学生信息管理系统管理系统无太多复杂的操作要求,也没有过分花哨的装饰品,人性化的设计界面可以使操作者轻易运用自如 4总体设计4.1 设计目标本系统可以能减少很多不必要的资源,不用象以前那样用冗余的纸张式的管理。大节省了学校能源。并且计算机的存储与快速查询功能大大提高了学籍管理的效率,并且还提高了学籍信息管理的精确度。方便快速的操作,可减少学籍信息管理的漏洞,又减少因工作的冗余出现的错误,并且操作非常简单,可减少许多不很必要的人员,这无论从物质上还是工作人员的工资上都为学校节约了开支。为学校增加了财富。数据库分析用户需求具体有学籍管理系统提供保存、更新、查询、维护,这就需求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。4.2项目规划学生管理系统是各大中专院校不可缺少的一部分,是一个VF数据库开发应用程序,它主要包括用户登录、学生信息输入修改、学生信息查询以及学生成绩输入、学生成绩查询、系统用户管理等几个页面,因而该系统具有较强的实用性。4.3系统功能图学生课程信息管理学生成绩信息管理系统管理学生成绩管理系管理学生成绩录入专业管理用户管理修改密码退出系统班级管理学生班级管理学生信息管理学生信息录入学生信息录入学生信息录入课程管理学生信息管理系统登录系统主界面5系统详细设计5.1数据库设计(1)deandma.dbf,见表1表1字段名数据类型备注班级Char(8)主键Not null系Char(10)Not null专业Char(14)Not null(2)grade.dbf,见表2表2字段名数据类型备注学号Char(8)主键Not null班级Char(10)Not null课程Char(18)Not null成绩Int (5)Not null学期Char(2)Not null备注MemoNull(3)stduents.dbf,见表3表3字段名数据类型备注班级Char(8)主键 Not null学号Char(8)Not null姓名Char(8)Not null性别Char(6)Not Null出生日期DatetimeNull政治面貌Char(8)Null身份证号码Char(16)Null入学时间DatetimeNull籍贯Char(16)Null家庭住址Char(28)Null邮政编码Char(6)Null照片GeneralNull备注MemoNull(4).dbf,见表4表4 用户信息表 字段名数据类型备注姓名Char(8)主键 Not null密码Char(6)Not null标识LogicalNot null5.2登陆界面设计“进入”按钮的click事件添加如下的代码:sele yonghuif allt(thisform.text1.value)=""messagebox(left(allt(thisform.label1.caption),6)+"为空,请输入!",64,"提示")thisform.text1.setfocuselseif allt(thisform.text2.value)=""messagebox("密码为空,请输入!",64,"提示")thisform.text2.setfocuselsen=n+1locate for allt(姓名)=allt(thisform.text1.value);.and. allt(密码)=allt(thisform.text2.value)if found()if thisform.check1.value=1 .and. 标识checked=1thisform.releasedo menu.mprelseif thisform.check1.value=1.and.!标识messagebox("你不是管理员!",48,"警告")thisform.check1.value=0elsechecked=0cyonghu=allt(姓名)cmima=allt(密码)thisform.releasedo menu.mprendifendifelseif n>=3messagebox("你不是合法用户,请与管理员联系!",48,"警告")thisform.releaseclear eventquitelsemessagebox(left(allt(thisform.label1.caption),6)+"或密码错误,请重新输入!",64,"提示")thisform.text1.value=""thisform.text1.setfocusthisform.text2.value=""endifendifendifendif“取消”按钮的click事件添加如下的代码nr=messagebox("你选择了退出登录,是否退出?",68,"用户登录")if nr=6thisform.releasequitendif5.3学生信息录入“增加”按钮的click事件添加如下的代码:if this.caption="增加"if(bo3.displayvalue="(选择)").or.(alltrim(thisform.text1.value)="");.or.(alltrim(thisform.text2.value)="")messagebox("班级、学号和姓名必须填充!",64,"提示")elselocate for alltrim(thisform.text1.value)=alltrim(students.学号)if !eof()=messagebox("此学号已经存在,请重新输入!",64,"提示")thisform.text1.value=""thisform.text1.setfocuselsesele studentsappend blankreplace 班级 with alltrim(bo3.value),学号with alltrim(thisform.text1.value);姓名 with alltrim(thisform.text2.value),出生日期with ctod(alltrim(thisform.text4.value);入学时间 with ctod(alltrim(thisform.text6.value), 籍贯with alltrim(thisform.text7.value);家庭住址 with alltrim(thisform.text8.value),身份证号码with alltrim(thisform.text8.value);备注 with alltrim(thisform.edit1.value),邮政编码 with alltrim(thisform.text3.value)if alltrim(bo4.value)=""replace 性别 with alltrim(bo4.displayvalue)elsereplace 性别 with alltrim(bo4.value)endifif alltrim(bo5.value)=""replace 政治面貌 with alltrim(bo5.displayvalue)elsereplace 政治面貌 with alltrim(bo5.value)endif&& if .not.alltrim(thisform.label17.caption)=""if !pictemp=""wait windows "正在导入相片,请等待!." at 100,40 timeout 2 nowait&& pictemp=thisform.label17.captionappend general students.照片 from "&pictemp"endifpictemp=""this.caption="继续"endifendifelsemand2.clickthis.caption="增加"endif5.4 学生信息修改“修改”按钮的click事件添加如下的代码:ith thisformsele studentslocate for allt(学号)=allt(.text1.value)if allt(学号)=allt(.text1.value)replace 学号 with allt(.text1.value),姓名 with allt(.text2.value),邮政编码 with allt(.text3.value),;出生日期 with .text4.value,入学时间 with .text6.value,籍贯 with allt(.text7.value),;家庭住址 with allt(.text8.value),身份证号码 with allt(.text9.value),性别 with allt(.combo4.value),;政治面貌 with allt(.combo5.value),备注 with allt(.edit1.value)if !pictemp=""wait windows "正在导入相片,请等待!." at 100,40 timeout 2 nowaitappend general 照片 from "&pictemp"endifendifsele lslocate for allt(学号)=allt(.text1.value)if allt(学号)=allt(students.学号)replace 学号 with students.学号,姓名 with students.姓名,邮政编码 with students.邮政编码,;出生日期 with students.出生日期,入学时间 with students.入学时间,籍贯 with students.籍贯,;家庭住址 with students.家庭住址,身份证号码 with students.身份证号码,性别 with students.性别,;政治面貌 with students.政治面貌,备注 with students.备注,照片 with students.照片endifpictemp=""this.enabled=.f.endwith5.5 学生信息查询“定位查询”按钮的click事件添加如下的代码if allt(thisform.text1.value)=""messagebox("请输入学号或姓名!",64,"提示")thisform.text1.setfocuselsesele stulslocate for allt(学号)=allt(thisform.text1.value);.or.allt(姓名)=allt(thisform.text1.value)if found()go recn()elsewait window at 18,38 nowait '没有找到你要查询的信息!'endifendifthisform.grid1.refreshthisform.refresh“第一个”按钮的click事件添加如下的代码sele stulsskip -1if bof()this.enabled=.f.mand3.enabled=.f.messagebox("已经到第一条记录了!",64,"提示")go topelsego recn()endifmand2.enabled=.t.mand4.enabled=.t.“单个查询”按钮的click事件添加如下的代码nxx=1do form xxxg5.6系管理表单设计“增加”按钮的click事件添加如下的代码set order to tagset safety offif alltrim(thisform.text1.value)=""messagebox("系名为空,请输入!",64,"提示")thisform.text1.setfocuselselocate for deandma.系=alltrim(thisform.text1.value)if .not.eof()messagebox("系名已经存在,请重新输入!",48,"提示")thisform.text1.value=""thisform.text1.setfocuselseappend blankreplace deandma.系 with alltrim(thisform.text1.value)thisform.text1.value=""thisform.text1.setfocusendifthisform.list1.clearthisform.list1.init &&重新显示list列表thisform.list1.value=""endif“删除”按钮的click事件添加如下的代码Set safety offif this.caption="取消"thisform.text2.value=""thisform.text2.enabled=.f.thisform.label3.enabled=.f.this.caption="删除"mand1.enabled=.t.mand2.caption="修改"elseif alltrim(thisform.text1.value)=""messagebox("缺少完整信息,无法删除!",0+48,"警告")thisform.text1.setfocuselsethisform.list1.value=alltrim(thisform.text1.value)nn=messagebox("是否确定删除此系单位,其所属的专业班级的数据库都将删除!",1+48,"警告")if nn=1t=0use datadeandmago topdo while .not.eof()if alltrim(系)=alltrim(thisform.text1.value)deletepackt=1endifskipenddoif t=0messagebox("将删除的内容不存在,请重新输入。",60,"提示")thisform.text1.setfocusendifendifthisform.text1.value=""thisform.list1.requerythisform.list1.clearthisform.list1.init &&重新显示List列表thisform.text1.value=alltrim(thisform.list1.value)endifendifthisform.refresh5.7班级管理“增加”按钮的click事件添加如下的代码set order to tagset safety offif alltrim(thisform.text1.value)=""messagebox("班级名为空,请输入!",64,"提示")thisform.text1.setfocuselselocate for deandma.班级=alltrim(thisform.text1.value)if .not.eof()messagebox("班级名已经存在,请重新输入!",48,"提示")thisform.text1.value=""thisform.text1.setfocuselselocate for deandma.专业=alltrim(bo2.value)if alltrim(deandma.班级)=""replace deandma.班级 with alltrim(thisform.text1.value)elseappend blankreplace deandma.系 with alltrim(bo1.value)replace deandma.专业 with alltrim(bo2.value)replace deandma.班级 with alltrim(thisform.text1.value)endifthisform.text1.value=""thisform.text1.setfocusendifbo2.click &&重新显示list列表thisform.list1.value=""endif“删除”按钮的click事件添加如下的代码Set safety offif this.caption="取消"thisform.text2.value=""thisform.text2.enabled=.f.thisform.label5.enabled=.f.this.caption="删除"mand1.enabled=.t.mand2.caption="修改"elseif alltrim(thisform.text1.value)=""=messagebox("缺少完整信息,无法删除!",0+48,"警告")thisform.text1.setfocuselseuse deandma exclusivethisform.list1.value=alltrim(thisform.text1.value)nn=messagebox("是否确定删除此班级,与其相关的数据都将删除!",1+48,"警告")if nn=1t=0locate for alltrim(deandma.班级)=alltrim(thisform.text1.value)deletepackt=1if t=0messagebox("将删除的内容不存在,请重新输入。",64,"提示")thisform.text1.setfocusendifendifthisform.text1.value=""thisform.list1.requerybo2.click &&重新显示List列表thisform.text1.value=alltrim(thisform.list1.value)endifendifthisform.refresh 5.8学生成绩录入“确定”按钮的click事件添加如下的代码xuehao=allt(thisform.text1.value)banji=allt(bo3.value)kecheng=allt(bo4.value)xueqi=allt(bo5.value)chengji=allt(thisform.text2.value)sele gradeif chengji=""tt=messagebox("想输入单科成绩吗?",4+32,"提示")if tt=6thisform.text2.setfocuselseendifelse*locate for allt(学号)=xuehao*if eof()locate for allt(课程)=kechengif allt(学号)="".and.allt(班级)=banjirepl 学号 with xuehaorepl 成绩 with val(chengji)repl 学期 with xueqielse* append blank* repl 学号 with xuehao* repl 班级 with banji* repl 课程 with kecheng* repl 成绩 with val(chengji)* repl 学期 with xueqi*endif*elselocate for allt(学号)=xuehao .and. allt(课程)=kecheng .and. allt(学期)=xueqiif eof()append blankrepl 学号 with xuehaorepl 班级 with banjirepl 课程 with kechengrepl 成绩 with val(chengji)repl 学期 with xueqielsett=messagebox("该科的成绩已存在,是否覆盖?",4+32+256,"提示")if tt=6repl 成绩 with val(chengji)endifendifendifthisform.Command2.clickmand3.enabled=.f.endif“查询”按钮的click事件添加如下的代码sele lsif allt(thisform.text3.value)=""messagebox("请输入学号或姓名!",64,"提示")elselocate for 学号=allt(thisform.text3.value).or.姓名=allt(thisform.text3.value)if eof()messagebox("该班级没有此人!",64,"提示")thisform.text3.value=""thisform.text3.setfocusgo nhereelsethisform.text1.value=学号endifendif5.9 修改学生成绩“快速查询”按钮的click事件添加如下的代码sele lsbjif allt(thisform.text1.value)=""messagebox("请输入学号或姓名!",16,"提示")thisform.text1.setfocuselselocate for 学号=allt(thisform.text1.value).or.姓名=allt(thisform.text1.value)if eof()messagebox("本班级没有此人,请重新输入!",64,"提示")thisform.text1.value=""thisform.text1.setfocuselsexuehao=allt(学号)thisform.label8.caption=姓名thisform.label9.caption=学号bo4.clickendifendif“下一位”按钮的click事件添加如下的代码mand2.enabled=.t.mand4.enabled=.t.if !allt(bo3.value)=""sele lsbjskip 1if eof()this.enabled=.f.mand5.enabled=.f.messagebox("已经到最后一条记录了!",48,"提示")go bottomendifxuehao=allt(学号)thisform.label8.caption=allt(姓名)thisform.label9.caption=allt(学号)5.10学生成绩查询“补考统计”按钮的click事件添加如下的代码if allt(bo3.value)=""messagebox("请选择班级!",64,"提示")elsebkbj=bo3.valuebkxq=bo4.valuedo form bukaoendif“定位查询”按钮的click事件添加如下的代码if allt(thisform.text1.value)=""messagebox("请输入学号或姓名!",64,"提示")thisform.text1.setfocuselselocate for allt(students.学号)=allt(thisform.text1.value).or.;allt(students.姓名)=allt(thisform.text1.value)if found()lsxh=allt(students.学号)lsxm=allt(students.姓名)buxq=allt(bo4.value)do form dgcjelsemessagebox("没有此人,请重新输入",64,"提示")endifendif5.11用户管理List1的init事件中添加的代码如下sele yonghuthis.additem("管理员")locate for 标识=.T.do while found()this.additem("-"+姓名)continueenddogo toplocate for 标识=.F.this.additem("普通用户")do while found()this.additem("-"+姓名)continueenddo“注册”按钮的click事件添加如下的代码Set safety offsele yonghuif alltrim(thisform.text1.value)=""messagebox("用户名不能为空! ",0+48,"警告")thisform.text1.setfocuselselocate for 姓名=alltrim(thisform.text1.value)if(.not. eof()messagebox("此用户已存在,请重新输入!",64,"警告")thisform.text1.value=""thisform.text1.setfocuselseif alltrim(thisform.text2.value)=""messagebox("密码不能为空! ",0+48,"警告")thisform.text2.setfocuselseif (thisform.text2.value)=(thisform.text3.value)append blankrepl 姓名 with alltrim(thisform.text1.value),;密码 with alltrim(thisform.text2.value)if thisform.check1.value=1repl 标识 with .T.elserepl 标识 with .F.endifthisform.text1.value=""thisform.text2.value=""thisform.text3.value=""thisform.text1.setfocusthisform.text3.enabled=.f.thisform.label4.enabled=.f.thisform.list1.clearthisform.list1.initelsett=messagebox("确认密码错误,请重新输入!",0+48,"警告")if tt=1thisform.text3.enabled=.t.thisform.label4.enabled=.t.thisform.text3.value=""thisform.text3.setfocusendifendifendifendifendif“删除”按钮的clic

    注意事项

    本文(毕业设计(论文)VF学生信息管理系统设计.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开