VF教务信息管理系统课程设计.doc_第1页
VF教务信息管理系统课程设计.doc_第2页
VF教务信息管理系统课程设计.doc_第3页
VF教务信息管理系统课程设计.doc_第4页
VF教务信息管理系统课程设计.doc_第5页
免费预览已结束,剩余12页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计说明书 NO.17教务信息管理系统1设计目的数据库基础及应用是一门实用性很强的学科,是进行软件开发的主要基础,只有进行实际操作,才能将理论知识和实际应用有机的结合起来,锻炼学生分析解决实际问题的能力,提高学生实际运用的能力,日后工作中的软件开发打下良好的基础。VFP是微软公司推出的关系型数据库管理系统,它是一种典型的第四代计算机语言。VFP全面支持可视化编程和面向对象的编程,是最为实用的数据库管理系统和中小型数据库应用系统的开发工具之一,它为数据库结构和应用程序开发而设计,是功能强大的面向对象的软件。本课程设计结合数据库内容,运用VFP设计,使学生掌握数据库基础内容。2功能描述教务信息包括学生信息.教师信息.课程信息和学生成绩信息。及时更新修改成绩,学生个人信息(1) 实现学生信息的及时查找。(2) 实现课程信息的及时管理更新(3) 实现教师信息的及时管理。(4) 实现学生成绩的及时录入。3方案论证 3.1总体设计3.1.1功能框图教务信息管理系统总体功能框图如下图1:教务信息处理软件其他功能课程信息管理教师信息管理学生信息管理修改学生信息按学号查询学生信息修改教师信息统计成绩信息修改课程信息报表.打印用户管理按课程编号查询信息按教师号查询信息图1 总体功能框图3.2详细设计3.2.1数据库设计 教务信息管理软件需要进行用户账号密码登陆,添加特定号账号,教务人员可以根据新生进行添加学生数据修改信息等,管理人员可以根据教师的招聘和退休情况进行添加删除,在课程的界面可以查看课程信息,也可以修改等。报表的提供有助于学生及时了解自己的成绩状况,数据库中有学生表、教师信息表、成绩表、课程信息表、班级表、系信息表、系统用户表,下图是主要有联系表的E-R图,基本E-R图如下图2所示: 学生课程编号学号课程成绩教师教师编号成绩编号图2 基本E-R图3.2.2程序界面设计(1)登陆界面设计:录窗体作为系统的启动窗体,用于核对用户和密码,教务工作管理人员才能登录到本系统进行操作。登录窗体的设计比较灵活,只要能实现用户和密码的验证即可,本系统将其设计成为一个小窗体。创建一个表单,修改属性名字为“登陆窗口”修改Autoceter的属性为真showwindow属性为2做顶层表单。创建3个标签分别命名为用户名,用户密码和教务信息管理软件。创建2个命令按钮,修改Caption属性为确定和取消,在clicked事件中输入代码:use 系统用户表cname=alltrim(thisform.用户名.value)ppassword=alltrim(thisform.用户密码.value)set order to 用户名称seek cnameif (系统用户表.用户密码)=ppassword thisform.releasedo form 表单1.scx use else MESSAGEBOX(用户或者密码错误请重试,0+64,教务信息管理系统) thisform.用户名.value=thisform.用户密码.value=endif(2)主窗口设计:主窗口有菜单跟界面构成,使用菜单能快速高效的找到所需要的命令,而且节省空间,使系统看起来更加简洁。文件新建一个菜单,在菜单名输入查询、修改、统计、帮助、退出。在结果中编辑子菜单并在名称中写入个人信息、教师信息、课程信息等。在选项中写入命令如下:do form个人信息.scx在退出中写入命令“quit”保存并生成菜单。新建个表单,在表单的Init 事件中关联菜单代码如下:do 菜单文件.MPR with this ,.t.修改Form的showWindow值为2作为顶层表单,WindowType属性值为1模式保存表单。3.2.3程序功能设计 (1)学生窗口设计:学生窗口包括学生的基本信息修改、添加、删除、查找。利用学号进行查询学生的基本信息包括姓名、年龄、性别、籍贯、成绩等。主要有标签、文本框、命令按钮、命令按钮组控件构成其中主要的控件属性如下表3所示表3 控件名字属性名属性值说明标签Caption学号指定对象标题说明命令按钮Caption确定指定按钮功能说明表单ShowWindows1在顶层表单中显示窗口表单位置命令按钮确定的Clicked的代码如下:locate for 学号=upper(allt(thisform.text1.value) if not found() =messagebox(没有该学号的学生!,0+64+0,提示) go top endif(2)统计窗口设计:统计窗口可以根据姓名或者学号进行成绩的统计,用到的控件有标签、命令按钮、组合框、文本框、表格。主要的控件属性如下表4所示:表4控件名字属性名属性值说明标签Caption输入值指定对象标题说明组合框Name查询依据代码中引用对象名命令按钮Caption确定指定按钮功能说明表格RecordSource0-表表格于数据源如何打开命令按钮统计的代码如下:num_pass = 0num_nopass = 0sharescore = 0if thisform.Combo查询依据.Text=学号SELECT 学生.学号,学生.姓名,成绩.课程编号,成绩.成绩;from 教务信息!学生 INNER JOIN 教务信息!成绩;On 学生.学号 = 成绩.学号;where 学生.学号 =thisform.Txt值.Value ;order by 成绩.课程编号;INTO CURSOR tempcursorthisform .Grid1.RecordSource = tempcursorendifif thisform.Combo查询依据.Text=姓名SELECT 学生.学号,学生.姓名,成绩.课程编号,成绩.成绩;from 教务信息!学生 INNER JOIN 教务信息!成绩;ON 学生.学号 = 成绩.学号 ;where 学生.姓名 =thisform.Txt值.Value ;order by 成绩.课程编号;INTO CURSOR tempcursorthisform .Grid1.RecordSource = tempcursorendifthisform.refreshscanif 成绩=60num_pass =num_pass + 1else num_nopass = numm_nopass + 1endifsharescore =sharescore +成绩endscan(3)课程窗口设计:课程窗口是对课程进行查询,依据课程编号教师和学生可以依次找到课程并修改信息。在课程窗口中主要的控件是标签、文本框、命令按钮组各个控件的主要属性值如下5所示:表5控件名字属性名属性值说明标签Caption课程编号指定对象标题说明文本框Top46于父对象顶边距离命令按钮Caption确定指定按钮功能说明(4)管理员窗口设计:管理员窗口是软件中必不可少的部分管理窗口的主要功能是及时更新用户信息、添加、删除、修改管理员的信息。主要的控件有表单、页框、标签、命令按钮、文本框。主要的控件属性值如下6所示:表6控件名字属性名属性值说明标签Caption管理员信息指定对象标题说明文本框ControlSource系统用户表对象联系的数据源命令按钮Caption添加管理指定按钮功能说明4运行结果与分析(1)用户登陆,如图7所示:图7 用户登陆界面 (2)主操作界面,如图8所示。图8主操作界面 (3)学生信息管理操作界面,如图9所示: 图9 学生信息查询界面 当管理员登陆界面后点击学生信息就可以按照学号进行查询,当输入相应的学号后可以点击确定进行查询下面就会出相应的信息,如果查不到则就会提示查询失败。(4)教师信息管理操作界面,如图10所示:图10教师信息操作界面教师信息查询界面是以教师编号进行教师的信息查询,能够直观的掌握教师的基本信息和资料,方便及时的添加修改内容,有助于及时管理新入职和退休的教师。(5)课程信息管理操作界面,如图11所示:图11课程信息操作界面5心得体会经过一个星期的设计和开发,教务信息管理系统基本开发完毕。其功能基本符合用户需求,能够完成管理主界面与登录程序设计,学生查询,课程管理模块,教师信息管理模块,报表信息管理模块等。使用户方便进行数据添加、数据查询、数据修改。数据库E-R图的设计我不太清楚,建表完全是在编写的时候一边写程序一边修改表的结构、内容一边修改界面设计。程序的错误调试最开始我完全不会,总是找同学帮忙,但是最后连我认为最难改的错误我都改出来了。由于时间较短和本人水平所限,该系统必然会存在一些缺陷和不足。但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。参考文献1史济民,汤观全.Visual FoxPro6.0及其应用系统开发M.北京:清华大学出版社,2006.12:245-2782魏少谦,陈万里.Visual FoxPro6.0简明教程M.北京:高等教育出版社,2000.7:32-1053丁爱萍.Visual FoxPro6.0程序设计教程M.西安:西安电子工业大学出版社,2001.1:24-1394王兴晶,关晓平.Visual FoxPro软件项目开发实例M.北京:北京电子工业出版社,2004.11:150-2305潘锦平,施小姚,姚天昉.软件系统开发技术M.西安:西安电子科技大学出版社,2004.2:143-1626王利,崔巍,娄不夜.Visual FoxPro程序设计M.北京:高等教育出版社,2001.11:36-1057孙承爱 Visual Foxpro程序设计教程与项目实训(第2版)北京:科学出版社, 2010.11:150-3308卓越科技 Visual Foxpro数据库开发培训教材 北京:电子工业出版社,2009.4:132-2989卢湘鸿 Visual FoxPro 6.0数据库与程序设计(第3版)北京:电子工业出版社,2012.12:102_29710戴银飞 Visual FoxPro 9.0程序设计 北京:清华大学出版社,2011.4:156-2556附录(部分源代码)Go top Thisform.refresh上一条If bof ()thenGo topElseSkip -1EndifThisform.refresh下一条if eof () thengo bottomelse skip 1endifthisform.refresh最后一条Go bottomThisform.refresh添加按钮go bottomappend blankeditthisform.refresh编辑editthisform.refresh删除按钮tempstr = messagebox (亲你要删除记录吗,4 + 32 + 256,删除记录)if tempstr = 6deletepackthisform.grid1.recordsource = 学生thisform.refreshendif关闭按钮close tables allthisform.release统计 表单初始等public num_pass,num_nopass,sharescore,bo 查询依据.additem(姓名)bo 查询依据.value = 1bo 查询依据.AddItem(学号)num_pass = 0num_nopass = 0sharescore = 0if thisform.Combo查询依据.Text=学号SELECT 学生.学号,学生.姓名,成绩.课程编号,成绩.成绩;from 教务信息!学生 INNER JOIN 教务信息!成绩;ON 学生.学号 = 成绩.课程编号 ;where 学生.学号 =thisform.Text1值.Value ;order by 成绩.课程编号;INTO CURSOR tempcursorthisform .Grid1.RecordSource = tempcursorendifif thisform.Combo查询依据.Text=姓名SELECT 学生.学号,学生.姓名,成绩.课程编号,成绩.成绩;from 教务信息!学生 INNER JOIN 教务信息!成绩;ON 学生.学号 = 成绩.课程编号 ;where 学生.学号 =thisform.Text1值.Value ;order by 成绩.课程编号;INTO CURSOR tempcursorthisform .Grid1.RecordSource = tempcursorendifthisform.refreshscanif 成绩 = 60num_pass =num_pass + 1else num_nopass = numm_nopass + 1endifsharescore =sharescore +成绩endscanthisform.Txt不及格门数 .Value=num_nopassthisform.Txt及格门数 .Value=num_passthisform.Txt平均成绩 .Value=sharescore/(num_nopass+num_pass)第二段num_pass=0num_nopass=0sharescore=0if thisform.Combo查询依据.text=课程编号SELECT 学生.学号,学生.姓名,成绩.课程编号,成绩.成绩,课程.课程名称;from 教务信息!学生 INNER JOIN 教务信息!成绩;inner join 课程信息!课程;on 课程 .课程编号 =成绩.课程编号;on 学生.学号 =成绩 .学号 ;where 课程.课程编号 =thisform.Txt值.value;order by 学生.学号;into cursor tempcursorthisform.Grid1.RecordSource =tempcursorENDIFif thisform.Combo查询依据.text=课程名称SELECT 学生.学号,学生.姓名,成绩.课程编号,成绩.成绩,课程.课程名称;from 教务信息!学生 INNER JOIN 教务信息!成绩;inner join 课程信息!课程;on 课程 .课程编号 =成绩.课程编号;on 学生.学号 =成绩 .学号 ;where 课程.课程编号 =thisform.Txt值.value;order by 学生.学号;into cursor tempcursormessagebox (tempcursor.成绩)thisform.Grid1.RecordSoruce=tempcursorendifthisform.refreshscanif 成绩=60num_pass = num_pass + 1else num_nopass = num_nopass +1endifsharescore =sharescore +成绩endscanthisform.Txt不及格人数.value =num_nopassthisform.Txt及格人数.value =num_passthisform.Txt平均成绩.value =sharescore /(num_nopass +num_pass)统计个人成绩模块代码:num_pass = 0num_nopass = 0sharescore = 0if thisform.Combo查询依据.Text=学号SELECT 学生.学号,学生.姓名,成绩.课程编号,成绩.成绩;from 教务信息!学生 INNER JOIN 教务信息!成绩;On 学生.学号 = 成绩.学号;where 学生.学号 =thisform.Txt值.Value ;order by 成绩.课程编号;INTO CURSOR tempcursorthisform .Grid1.RecordSource = tempcursorendifif thisform.Combo查询依据.Text=姓名SELECT 学生.学号,学生.姓名,成绩.课程编号,成绩.成绩;from 教务信息!学生 INNER JOIN 教务信息!成绩;ON 学生.学号 = 成绩.学号 ;where 学生.姓名 =thisform.Txt值.Value ;order by 成绩.课程编号;INTO CURSOR tempcursorthisform .Grid1.RecordSource = tempcursorendifthisform.refreshscanif 成绩=60num_pass =num_pass + 1else num_nopass = numm_nopass + 1e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论