1、上 海 师 范 大 学学 士 学 位 论 文题目:中学学生档案管理系统学 院: 数 理 信 息 学 院系 科: 计算机系专 业: 计算机科学与教育(师范)年级(班): 99 级实验班(理科)姓 名: 指导教师: 论文完成日期 : 中学学生档案管理系统摘 要本文讲述的是如何利用 VB6.0 的可视化编程环境及其和 Access 数据库的完美结合来做一个学生档案管理系统。主要用到 VB6.0 中的数据访问对象 DAO(Data Access Object)和DATA 控件来对数据库进行操作,再加上其它一些常用的控件来构成这个学生档案管理系统的四个基本功能:查询、更改、删除、添加数据。关键字:VB6
2、.0;数据访问对象 DAO;DATA 控件;查询、更改、删除、添加数据;Access 数据库AbstractThis text is related to how to make use of the visual programme environment of VB6.0 and the perfect combination with Access database making a system of managing students documents.The system is composed of the DAO,DATA control and some other com
3、mon controls which make up of four basic functions of the system: Search,edit,delete,insert the data.Key word: VB6.0;Data access object DAO;DATA control; Search,edit,delete,insert the data.;Access database.目 录1前言2学生档案管理 系统的构思过程3关键部分的技术实现3.1 数据库模型的 建立3.2 建立 程序的界面3.2.1 程序的主界面3.2.2 学生详 细数据窗体3.3 完成查询、更新
4、、增加、删除记录的功能3.3.1 用代码实现 VB 和 Access 数据库的接口3.3.2 查询功能 的实现3.3.3 更新数据功能的实现3.3.4 删除记录功能 的实现3.3.5 增加记录功能的 实现4程序在调试中所遇到的问 题及其今后的改进5小结6参考文献1. 前 言本人毕业实习回来后发现大多数学校都建立了学生档案管理系统来记录学生在校三年的学习和生活情况,但大多数学校的档案管理系统不完善,很多学校的档案管理也只是停留在纸上功夫,还没有实现无纸化档案管理。如果用纸张来记录每个学生的档案信息的话,记录时可能觉得还可以,不怎么累,但随着记录的增多时,我们想要查找个学生的信息是何其的困难,可以
5、想象在一大堆纸中找一张纸时的无奈样。除了查找不方便,对于这些档案的维护也是一个大问题。如果我们用计算机来管理学生的档案信息就不一样了,学生档案的建立、管理、维护(需求分析)都很方便,只要在电脑的屏幕上打些文字,按几个按钮就可以完成档案管理的一般事务,而这些只要懂些计算机基本知识就可以操作。这就是我想利用 VB 可视化编程工具来学生档案管理系统的原因,从而使得档案管理变得简单方便,也提高了学校工作人员的工作效率。2. 学生档案管理系统的构思过程要做一个工程,整个工程构思的好与坏可以说是整个工程成败的关键。如果构思的不好,在早期引入变动,涉及的面较少,因而代价也比较低;而在开发的中期软件配置的许多
6、成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”时再引入变动,当然要付出更高的代价。构思过程通常占用软件开发全部工作量的 5060,而编写程序所需的工作量只占软件开发全部工作量的 1020。下面是该系统完整的构思过程:本软件开发时是遵循增量模型(如图)来开发的。需求分析验证规格说明验证概要设计验证 针对每个构件,完成详细设计、编码和集成,最后测试通过维护增量模型1. 需求分析已经在前言里提过,这里不再重复。2. 概要设计:概要设计的基本任务是“怎么样实现目标系统?” 。要实现目标系统我们要解决下面三个问题
7、:1) 用哪种编程语言来实现该档案系统?2) 用哪种数据库作为后台数据库处理?用 VB+Access 方式来实现该系统,可以用 Access 快捷方便的建立数据库模型,再利用 VB 简易的开发方式和 Access 数据库系统的友好接口可以快速的开发出所希望的学生档案管理系统的模型,之后再在该模型上稍加修改就是目标系统了,这样大大缩短了开发时间和工作量。3) 程序由哪些模块组成及其模块间的关系?基本模块:(概要分析任务之一)本系统共分三个模块:数据处理、数据库打开和关闭,数据库模型的建立。第一个模块“数据处理”分为以下几个部分:1) 如果没有数据库,则可以新建一个数据库。2) 如果已有数据库,则
8、可以打开一个数据库。3) 打开一个数据库后,可以对该数据库进行一些基本的操作:3.1 增加一个记录3.2 更改一个记录3.3 删除一个记录3.4 查询一个记录,这里的记录查询只能对学生的学籍号进行查询,对其它的字段查询功能还没有完成,即只有简单查询。第二个模块“数据库打开和关闭”:处理数据之前先要打开数据库,处理好之后再关闭数据库。 第三个模块“数据库模型的建立”:用 Access 建立一个数据库模型用于对学生的数据处理和数据库打开、建立、关闭、备份和还原操作。3 对每个构件,完成详细设计、编码和集成,最后测试通过,看下文。使用增量模型开发软件时,可以把软件作为一系列的增量构件来设计、编码、集
9、成和测试的,每个构件由多个相互作用的模块构成,并且能够完成特定的功能。这样的开发方式很有条理,可以逐一向系统添加功能,而且软件的可维护性明显好于封闭结构的软件。3. 关键部分的技术实现(按软件开发的开发顺序编写)3.1 数据库模型的建立要对一个数据库进行操作,首先我们得建立一个数据库。经实际调查,中学学生档案资料中主要包括如下几张表格:学生个人资料表字段类型 数据类型 默认值学籍号 文本 “”姓名 文本 “”性别 文本 “”民族 文本 “”学号 文本 “”身份证号码 文本 “”出生年月日 日期/时间 1900-1-1出生地 文本 “”家庭住址 文本 “”邮政编码 文本 “”电话 文本 “”健康
10、情况 文本 “”何时何地加入共青团 文本 “”何时何地入党 文本 “”个人照片 图片 空入学总分 数字 0全区排名 数字 0等第 文本 “”爱好与特长 文本 “”户籍性质 文本 “”户籍地址 文本 “”所属派出所 文本 “”所在学校 文本 “”原毕业学校 文本 “”删除状态 布尔 False学生家庭情况表字段类型 数据类型 默认值称谓 文本 “”姓名 文本 “”年龄 数字 0政治面貌 文本 “”工作单位 文本 “”单位地址 文本 “”职务 文本 “”电话 文本 “”邮政编码 文本 “”休息日 文本 “”家人顺序号 数字 0原来就有 布尔 False家庭情况简介 文本 “”学生成绩汇表字段类型
11、数据类型 默认值学期 文本 “”语文 数字 0数学 数字 0英语 数字 0物理 数字 0化学 数字 0政治 数字 0历史 数字 0地理 数字 0生物 数字 0体育与保健 数字 0音乐 数字 0美术 数字 0劳技 数字 0计算机 数字 0选修课程 数字 0学生考勤统计表字段类型 数据类型 默认值学期 文本 “”事假(次) 数字 0病假(次) 数字 0旷课(节) 数字 0迟到(次) 数字 0早退(次) 数字 0学生健康状况表字段类型 数据类型 默认值学期 文本 “”视力_左 数字 0视力_右 数字 0身高 数字 0体重 数字 0体育达标情况 文本 “”课外活动表字段类型 数据类型 默认值学期 文本
12、 “”校班活动 文本 “”体育锻炼 文本 “”兴趣小组 文本 “”社会实践 文本 “”品德评语表字段类型 数据类型 默认值学期 文本 “”评语 文本 “”等第 文本 “”完成时间 日期/时间 1900-1-1班主任 文本 “”学籍变更及其它表字段类型 数据类型 默认值入本校时间 日期/时间 1900-1-1何时何因从何校转入何班 文本 “”何时何因转至何校 文本 “”毕业证书号 文本 “”毕业后去向 文本 “”会考成绩等第 文本 “”奖罚记录 文本 “”休学日期 日期/时间 1900-1-1休学原因 文本 “”复学日期 日期/时间 1900-1-1退学日期 日期/时间 1900-1-1退学原因
13、 文本 “”退学后去向 文本 “”毕业日期 日期/时间 1900-1-1备注 文本 “”注:以上表格中的字段可能与程序中所使用的数据库模型稍有差别。在程序的目录下建立一个“彭浦中学 99 级学生信息库.mdb ”的文件,被本程序调用。这几张表的关系为:学生个人资料表 对应于“彭浦中学 99 级学生信息库.mdb”中的“学生个人资料表”学生家庭情况表 对应于“彭浦中学 99 级学生信息库.mdb”中的“学生家庭情况”学生成绩汇表、学生考勤统计表、学生健康状况表、课外活动表、品德评语表在数据库中是合并为一张表“学生成绩汇表”学籍变更及其它表 对应于“彭浦中学 99 级学生信息库.mdb”中的“学生
14、学籍变更及其它”各个表中的记录是通过学籍号来联系起来的。3.2 建立程序的界面3.2.1 程序的主界面首先要建立程序的主窗体,在主窗体里有以下功能:学生记录的查询、更改、添加、删除及数据库备份和还原等等。要对学生的数据进行访问,必须先打开数据库文件“彭浦中学 99 级学生信息库.mdb” ,因此还要有针对数据库文件的操作:数据库的打开和关闭。这样就得到如下的窗体界面,我们要实现如下的功能:打开数据库文件后,学生的学籍号和姓名显示在 Frame 窗体里最左边的 Listbox 里面,然后在对数据库中的记录进行相应的操作。程序的主窗体界面如下:3.2.2 学生详细数据窗体这个窗体是整个系统的核心部
15、分,在主窗体里按下显示详细信息、更改、添加这几个按钮就跳到了这个窗体,对数据记录的处理除了删除功能以外其它的都在该窗体里完成。显示详细信息、更改、添加需要的界面都差不多,因此可以利用软件重用的思想,通过查询界面的稍加修改变成一个通用的界面,这样降低了软件设计的复杂度。只要隐藏几个用于添加功能的按钮就变成了显示详细信息和更改的界面。可以对几个通用按钮编写一段通用的代码,比如更新、添加成员、删除成员、清除等几个按钮减少了代码的冗余度,提高了代码的质量和可维护性。窗体的主框架是个 Tabstrip 控件即选项卡式对话框,该控件由 Tabs 集合中的一个或多个 Tab 对象构成。这点正好符合我们的需要,数据库模型中有 8 个表格,每个 Tab 对象正好可以放一个表格的内容。每个 Tab 对象放置一个 PictureBox 对象,我们可以把表格的内容放在相应的 PictureBox 对象里,这样单击相应的 Tab 对象(选项卡)就得到相应的表格内容。该窗体的界面如下:以上是个人情况的界面。家庭情况的界面如下:三年学习情况、考勤统计和健康状况的界面相似,所以只贴一个如下: