1、编号:山西信息职业技术学院毕业设计学生信息管理系统刘洋论文指导教师 刘磊 信息管理系 学生所在系部 信息管理系 专业名称 信息管理 论文提交日期 2013 年 2 月 19 日论文答辩日期 2013 年 2 月 20 日2012 年 2 月 20 日1前言随着信息处理技术的飞速发展,基于计算机网络的信息处理已成为人们日常工作,学习和生活必备系统在INTERNET 飞速发展的今天,互联网已成为人们快速获取 ,发布和传递信息的重要渠道,它已成为社会生活的一部分学生信息处理的电脑化网络化,是实现学校管理现代化和信息化的重要内容,也是方便用户快捷查询相关充足信息的重要工具与传统学生信息处理模式相比,基
2、于网络的学生管理系统具有无可比拟的优越性 本文从讨论 WEB 数据库的发展历程开始,研究了实现动态 WEB 页面技术的几种方法,得出用 ASP 技术访问学生成绩数据库具有易实现、功能强大、效率高等优点。最后还提出了采用 ASP 和 ADO 技术相结合实现对数据库访问的实质及其优缺点。重点论述了 MACROMEDIA DREAMWEAVER CS4 可视化开发软件工具下分析、设计、开发本院学生信息管理系统的过程。具体阐述了对计算机硬件和软件解决方案的论证,应用领域进行调查分析,参考各种资料及数据库编程实践,采用软件工程的指导方法,选用 BS 模式设计的方案,应用MICROSOFT ACCESS
3、2007 数据库管理系统, DREAMWEAVER CS4 开发工具开发出学生管理系统的过程。本系统面向本院的某个专业班级的学生,所设计的数据库系统能够实现学生日常规范管理,成绩管理。系统支持毕业信息采集、成绩查询、课程表查询、学期选课、经费查询,支持全班师生通过网络发送和接收有关信息。减少了传统管理方法的滞后性及信息交流的不便,提高了教育教学的效率。 基于 BS 结构的学生信息管理系统利用 ASP 技术和 WEB 数据库相结合实现的,它具有对学生相关信息的录入、查询、修改等功能,而且还让师生可通过本系统进行有效的交流。2摘要学生档案管理系统是典型的信息管理系统(MIS),其开发主要包括后台数
4、据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 经过分析,我们使用 MICROSOFT 公司的 VISUAL BASIC 开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。 关键字:控件、窗体、域。 摘要:随着中国教育事业的迅速发展,学生的数量日益增加,学生的信息管理也变得日益繁重和复杂。如果想要提高学生信息管理的效率和质量,以适
5、应教育事业的发展,我们就必须对学校内部进行改革和加强学校管理。借助现代信息技术的管理方法,建立学生信息管理系统势在必行。本文通过对一个学生信息管理系统的开发实例,对基于 VISUAL BASIC 6.0 和 SQL 2000 的学生信息管理系统进行了分析和研究。 文章首先分析了管理信息系统的概念和特点,介绍了开发工具 VISUAL BASIC 6.0 和 SQL2000,然后对学生信息管理信息系统进行了需求分析、概要设计和详细设计,在概要设计中进行了数据库的设计,在详细设计中讨论了系统的实现方法和编码。之后对系统测试进行了分析和讨论,功能模块的测试中把登录服务器模块的测试和其他功能模块的测试分
6、开进行,介绍了一种实用的测试方法。最后是介绍系统的总体测试和系统发布。 本文所论述的学生信息管理系统对实现初中、高中和大中专院校的学生信息管理的现代化、科学化具有重要意义。 关键词:学生信息管理系统; VISUAL BASIC 6.0;SQL 2000 ;C/S 模式 INFORMATION MANAGEMENT SYSTEM OF STUDENT BASED ON C/S MODEL;3AbstracWITH THE QUICK DEVELOPMENT OF CHINESE EDUCATION, THE STUDENTS QUANTITY INCREASINGLY INCREASESES,
7、THE STUDENTS STATUS MANAGEMENT ALSO BECOMES INCREASINGLY HEAVY AND COMPLICATED. IF WANT TO IMPROVE THE EFFICIENCY AND QUALITY OF THE STUDENTS STATUS MANAGEMENT AND ADAPT THE DEVELOPMENT OF THE EDUCATION BUSINESS, WE MUST TO REFORM THE INNER SCHOOL AND ENHANCE THE SCHOOL MANAGEMENT. SO ASK FOR THE MA
8、NAGEMENT METHOD OF THE MODERN INFORMATION TECHNIQUE AND EATABLISH THE STUDENTS STATUS MANAGEMENT SYSTEM IS IMPERATIVE. THIS TEXT ANALYSIS AND STUDY THE STUDENTS STATUS MANAGEMENT INFORMATION SYSTEM WHICH BASED ON VISUAL BASIC 6.0 AND SQL 2000 ACROSS AN EXAMPLE OF STUDENTS STATUS MANAGEMENT IMFORMATI
9、ON SYSTEM. FIRSTLY, THE ARTICLE ANALYZED THE MANAGEMENT INFORMATION SYSTEMS CONCEPT AND CHARACTERISTICS AND INTRODUCED THE DEVELOPMENT TOOLS VISUAL BASIC 6.0 AND SQL 2000 .THEN IT CARRIED THROUGH THE NEED ANALYSIS, GENERAL DESIGN AND DETAILED DESIGN FOR THE STUDENTS STUDENT STATUS INFORMATION SYSTEM
10、.IT DESIGNED THE DATABASE IN THE GENERAL DESIGN AND DISCUSSED THE REALIZE METHORD AND CODING OF THE SYSTEM IN THE DETAILED DESIGN. THEN IT ANALYSISED AND DICUSSED TO THE SYSTEM TEST.IT CLASSIFIED THE TEST OF REGISTERING SERVER MOLD AND THE TEST OF OTHER FOUNCTION MOLD IN THE FUNCTION MOLD TEST AND I
11、NTRODUCED A PRACTICAL TEST METHOD.FINALLY IT INTRODUCED THE TOTAL TEST AND RELEASE OF THE SYSTEM. THE STUDENTS STUDENT STATUS MANAGEMENT THIS TEXT DISCUSSING HAVE IMPORTANT MEANING TO REALIZE THE STUDENTS STUDENT STATUS MANAGE OF JUNIOR AND SENIOR HIGH SCHOOL. KEYWORDS: STUDENTS STATUS MANAGEMENT SY
12、STEM;VISUAL BASIC 6.0;SQL 2000;C/S MODEL4目录前言 0摘要 1ABSTRAC.21 系统技术及运行环境 .31.1 VISUAL FOXPRO 6.0 简介 41.2 系统开发及运行环境 .42 系统分析 42.1 需求分析 .42.2 可行性分析 .53 总体设计 .53.1 设计目标 53.2 项目规划 .53.3 系统功能图 .64 系统详细设计 .64.1 数据库设计 .74.2 登陆界面设计 .84.3 学生信息录入 .104.4 学生信息修改 114.5 学生信息查询 134.6 系管理表单设计 .144.7 班级管理 .174.8 学生成绩
13、录入 .194.9 修改学生成绩 214.10 学生成绩查询 .234.11 用户管理 .244.12 修改用户密码 .274.13 关于系统 .28结论 29参考文献 30致 谢 3151 系统技术及运行环境1.1 Visual Foxpro 6.0 简介Visual Foxpro 6.0 是计算机优秀的数据管理系统软件之一,正如其名称中的“Visual”一样,它采用了可视化的、面向对象的程序设计方法,大大简化了应用系统的开发过程,并提高了应用系统的开发过程,并提高了系统的模块性和紧凑型。是新一代的小型数据库管理系统的杰出代表,它以其强大的性能、完整而又丰富的工具、较高的处理速度、友好的界面
14、以及较完备的兼容性,备受广大用户的欢迎。面前,Visual Foxpro 6.0 是用户收集信息、查询数据、创建集成数据库系统、进行应用系统开发较为理想的微机数据库管理系统。1.2 系统开发及运行环境该运行环境的规定是保证本需求说明的功能得到实际真正体现的基础。(1)运行环境 Windows98 或更高版本的操作系统数据库系统:Microsoft Visual Foxpro 6.0(2)开发环境:开发工具:Microsoft Visual Foxpro 6.0数据库系统:Microsoft Visual Foxpro 6.02 系统分析2.1 需求分析21 世纪以来,人类经济高速发展,人们发生
15、了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,学校信息管理系统软件为学校办公室带来了极大的方便。(一)教育系统学生管理现状分析学校工作流程分析学校工作总体规划由教务人员在学生信息管理系统中完成对运行教务处所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在这进行操作。新的学年,教务人员首先加入年级信息,然后编排班级,再对来校学生进行基本的信息录入,新生入学后由教务人员在学籍系统中完成新学生信息的维护。6(二
16、)学校具体需求分析学生:对各科成绩的查询任课老师:输入并维护所教科目的学生成绩教务处: 学校全体成员的信息管理,并对任课老师,班主任等输入的信息进行存库,对学生的信息进行必要的维护。通过研究调查,本系统需以下功能:综合学生信息、学生成绩以及信息查询等信息。方便用户了解和管理学生的全面动态信息。良好的界面设计,更人性化的设计理念,使用户拥有更轻松的使用心情。2.2 可行性分析目的:可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能解决。经济性:由于学校等中小型管理系统并不复杂,且 Visual Foxpro 6.0 本身要求的运行环境不高,所以一般 Windows 2000 以上的系统
17、环境都可以使用。实用性:本学生信息管理系统管理系统无太多复杂的操作要求,也没有过分花哨的装饰品,人性化的设计界面可以使操作者轻易运用自如 3 总体设计3.1 设计目标本系统可以能减少很多不必要的资源,不用象以前那样用冗余的纸张式的管理。大节省了学校能源。并且计算机的存储与快速查询功能大大提高了学籍管理的效率,并且还提高了学籍信息管理的精确度。方便快速的操作,可减少学籍信息管理的漏洞,又减少因工作的冗余出现的错误,并且操作非常简单,可减少许多不很必要的人员,这无论从物质上还是工作人员的工资上都为学校节约了开支。为学校增加了财富。数据库分析用户需求具体有学籍管理系统提供保存、更新、查询、维护,这就
18、需求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。3.2 项目规划学生管理系统是各大中专院校不可缺少的一部分,是一个 VF 数据库开发应用程序,它7主要包括用户登录、学生信息输入修改、学生信息查询以及学生成绩输入、学生成绩查询、系统用户管理等几个页面,因而该系统具有较强的实用性。3.3 系统功能图学生课程信息管理学生成绩信息管理系统管理学生成绩管理系管理学生成绩录入专业管理 用户管理 修改密码 退出系统班级管理学生班级管理学生信息管理学生信息录入 学生信息录入
19、学生信息录入课程管理学生信息管理系统登录系统主界面4 系统详细设计84.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备注 Memo Null(3)stduents.dbf,见表 3
20、表 3字段名 数据类型 备注班级 Char(8) 主键 Not null学号 Char(8) Not null姓名 Char(8) Not null性别 Char(6) Not Null出生日期 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 用户信息表 9字段名 数据类型 备注姓名 Char(8) 主键 Not null密
21、码 Char(6) Not null标识 Logical Not null4.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+1l
22、ocate for allt(姓名)=allt(thisform.text1.value);.and. allt(密码)=allt(thisform.text2.value)if found()10if 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(
23、密码)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事件添加如下
24、的代码nr=messagebox(“你选择了退出登录,是否退出?“,68,“用户登录“)if nr=6thisform.releasequitendif114.3 学生信息录入“增加”按钮的click事件添加如下的代码:if this.caption=“增加“if(bo3.displayvalue=“(选择)“).or.(alltrim(thisform.text1.value)=“);.or.(alltrim(thisform.text2.value)=“)messagebox(“班级、学号和姓名必须填充!“,64,“提示“)elselocate for alltrim(thisform.t
25、ext1.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.v
26、alue);入学时间 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 12alltrim(thisform.text3.value)if alltrim(bo4.value)=“replace 性别 with alltrim(bo4.d
27、isplayvalue)elsereplace 性别 with alltrim(bo4.value)endifif alltrim(bo5.value)=“replace 政治面貌 with alltrim(bo5.displayvalue)elsereplace 政治面貌 with alltrim(bo5.value)endif出生日期 with .text4.value,入学时间 with .text6.value,籍贯 with allt(.text7.value),;家庭住址 with allt(.text8.value),身份证号码 with allt(.text9.value),性
28、别 with allt(.combo4.value),;政治面貌 with allt(.combo5.value),备注 with allt(.edit1.value)if !pictemp=“wait windows “正在导入相片,请等待!.“ at 100,40 timeout 2 nowaitappend general 照片 from “出生日期 with students.出生日期,入学时间 with students.入学时间,籍贯 with students.籍贯,;14家庭住址 with students.家庭住址,身份证号码 with students.身份证号码,性别 w
29、ith students.性别,;政治面貌 with students.政治面貌,备注 with students.备注,照片 with students.照片endifpictemp=“this.enabled=.f.endwith4.5 学生信息查询“定位查询”按钮的click事件添加如下的代码if allt(thisform.text1.value)=“messagebox(“请输入学号或姓名!“,64,“提示“)thisform.text1.setfocuselsesele stulslocate for allt(学号)=allt(thisform.text1.value);.or.
30、allt(姓名)=allt(thisform.text1.value)if found()go recn()elsewait window at 18,38 nowait 没有找到你要查询的信息!15endifendifthisform.grid1.refreshthisform.refresh“第一个”按钮的click事件添加如下的代码sele stulsskip -1if bof()this.enabled=mand3.enabled=.f.messagebox(“已经到第一条记录了!“,64,“提示“)go topelsego recn()mand2.enabled=mand4.enab
31、led=.t.“单个查询”按钮的click事件添加如下的代码nxx=1do form xxxg4.6 系管理表单设计16“增加”按钮的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,“提示“
32、)thisform.text1.value=“thisform.text1.setfocuselseappend blankreplace deandma.系 with alltrim(thisform.text1.value)thisform.text1.value=“thisform.text1.setfocusendifthisform.list1.clearthisform.list1.init allt(students.姓名)=allt(thisform.text1.value)if found()lsxh=allt(students.学号)lsxm=allt(students.姓
33、名)buxq=allt(bo4.value)do form dgcj25elsemessagebox(“没有此人,请重新输入“,64,“提示“)endifendif4.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“
34、注册”按钮的click事件添加如下的代码26Set 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(thisfor
35、m.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.va
36、lue=“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=“27thisform
37、.text3.setfocusendifendifendifendifendif“删除”按钮的click事件添加如下的代码if allt(thisform.text1.value)=“messagebox(“请选择或输入用户名“,64,“提示“)thisform.text1.setfocuselseuse yonghulocate for 姓名=allt(thisform.text1.value);.and.密码=allt(thisform.text2.value)if eof()messagebox(“请选择或输入正确的用户名“,64,“提示“)thisform.text1.value=“t
38、hisform.text2.value=“thisform.text1.setfocuselsett=messagebox(“一定要删除吗?“,4+48,“删除确认“)if tt=6deletepackendifthisform.list1.clearthisform.list1.initthisform.list1.clickendifendif284.12 修改用户密码“修改”按钮的click事件添加如下的代码sele yonghuif allt(thisform.text1.value)=“thisform.text1.setfocuselselocate for allt(姓名)=al
39、lt(thisform.text1.value)if eof()messagebox(“此用户不存在,请重新输入!“,64,“提示“)thisform.text1.value=“thisform.text1.setfocus()elseif !allt(密码)=allt(thisform.text2.value)messagebox(“密码错误,请重新输入!“,64,“提示“)thisform.text2.value=“thisform.text2.setfocus()elseif allt(thisform.text3.value)=“messagebox(“请输入新密码!“,64,“提示“
40、)thisform.text3.setfocuselseif !allt(thisform.text3.value)=allt(thisform.text4.value)messagebox(“确认密码错误,请重新输入!“,64,“提示“)thisform.text4.value=“thisform.text4.setfocuselse29repl 密码 with allt(thisform.text4.value)thisform.releaseendifendifendifendifendif4.13 关于系统退出系统if messagebox(“是否退出学生信息官系统?“,36,“学生信息管理系统“)=6Close all &关闭所有打开的文件Clear Events &结束事件循环,退出图书管理系统Endif