张帆 计算机员工信息查询系统讲解.docx
《张帆 计算机员工信息查询系统讲解.docx》由会员分享,可在线阅读,更多相关《张帆 计算机员工信息查询系统讲解.docx(26页珍藏版)》请在冰点文库上搜索。
张帆计算机员工信息查询系统讲解
论文提纲
一、可行性研究
(一)技术可行性
(二)经济可行性
(三)营运可行性
二、系统总体设计
(一)开发工具平台
(二)数据库分析
(三)数据流图
(四)系统功能结构图
三、详细设计
(一)登陆窗口子模块
(二)学生档案资料录入子模块
(三)档案信息查询子模块
(四)学生成绩录入子模块
(五)学生成绩查询子模块
(六)学生学籍导入子模块
(七)学生学籍管理子模块
(八)系统菜单
学生学籍管理系统
【摘要】学生学籍管理系统被广泛应用于各类学校的学生学籍管理工作中,要求其具有实用性强、使用方便、效率高和安全可靠等特点。
本管理系统正是围绕以上几个方面进行开发的,在开发过程中充分考虑到本系统的应用特点,并进行了大量的检验,证明其的确达到了设计的要求,是一个已具备了实际应用能力的软件。
本文主要论述学生学籍管理系统的开发过程。
在涉及到VB及Access中的部分知识以举例的方式进行讲解。
【关键词】学生档案管理;查询;窗体;模块
学生档案管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生档案管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生档案信息进行管理,具有着手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我将以开发学生档案管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。
现在我国的中小学校中档案的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。
一、可行性研究
可行性研究是系统分析阶段的第二项活动。
此活动的主要目标是:
进一步明确系统的目标、规模与功能,对系统开发背景、必要性和意义进行调查分析并根据需要和可能提出开发系统的初步方案与计划。
可行性研究是对系统进行全面、概要的分析。
通过调查分析,新系统设计方案有以下三个可行性:
(一)技术可行性:
本系统采用MSWindows98作为操作平台。
数据库开发平台选用MsVisualFoxpro6,该数据库管理系统在MSWindows98和MSWindows2000Professional上都能运行,并提供数据库之间的数据复制功能,可代替现有系统单据数据的手工传递工作,降低出错率,提高数据的可用性。
本系统的应用软件开发平台也选用MsVisualFoxpro6,这是目前数据库应用软件的主流开发平台。
(二)经济可行性:
采用新的学籍信息管理系统可取代原系统的单据手工传递工作,减少人工开支,节省资金,并且可大大提高信息量的取得,缩短信息处理周期,提高学生信息的利用率,使教学质量更上一个台阶。
(三)营运可行性:
本系统操作简单,易于理解,只需通过简单培训,上手较快,学校学籍管理处的教职员以及相关教师均能进行操作,营运环境要求低。
面对于系统设计还应该以“标准性、安全性、兼容性、高效性、保密性、可维护性”为标准,在着眼于当前实用的基础上,为将来系统的扩展,升级留有余地。
软件的开发应 能在较长时间内满足学校的发展需要。
故新系统还需要满足以下这几个标准:
(1)标准性:
系统的软硬件选型都应该采用工业化标准,这样既可以保证系统运行质量又可以分享在此标准上的每一次技术进步。
(2)可靠性:
由于学籍信息的重要性,系统的软硬件应均为质量可靠,并采用RAID0+1廉价磁盘冗余保护技术,确保不会由于软硬件故障造成系统运行终止而使用户蒙受损失。
(3)安全性:
通过软件的编制及硬件设置,控制使用者接触数据的权限,从而确保使用者无法操作与其无关的数据。
(4)兼容性:
系统的所有软硬件理论上都应有100%的兼容性,用以保证软硬件的可互换性。
(5)高效性:
由于学校学生信息每次处理的信息量较大,因此系统对信息的处理能力,响应能力都应是快速而有效的,在软件编制过程中应充分考虑到这一点。
(6)可维护性:
系统软件设计时应采用结构化模块设计,以便于开发和维护,也有利于根据情况随时进行功能调整。
同时在系统开发时应该充分考虑到用户的日常维护,使之能简便易行通过可行性分析研究,认为新系统的开发方案切实可行,可进行开发。
二、系统总体设计
(一)开发工具平台
VisualBasic6.0中文版是Microsoft公司最新推出的可视化开发工具,是VisualBasic语言的最新版本,与前期版本相比,增加了许多新的功能。
VisualBasic是在原有Basic语言基础上的进一步发展,它包含了数百条语句、函数及关键词,其中有很多与WindowsGUI有直接关系。
VisualBasic语言简单易学,只要稍有语言基础就可以很快掌握并进而精通。
可视化的用户界面设计功能,把程序设计人员从繁琐复杂的界面设计中解脱出来;可视化编程环境的“所见即所得功能(WYSIWYG)”功能,使界面设计如同积木游戏一般,编程变成了一种享受;强大的多媒体功能可以轻而易举的开发出及声音、动画、影像、和图片于一体的多媒体应用程序;新增的网络功能提供了编写Internet程序的能力。
VisualBasic6.0中文版还支持用户自己开发ActiveX控件和制作ActiveX文档。
作为高质量的开发软件,VisualBasic6.0中文版有如下优点:
1、完全中文化的环境使用户更容易操作,用户在几分钟内,就可以熟悉VisualBasic6.0的开发环境。
2、语句生成器和快速提示帮助使用户不必记忆成千上万的属性和方法,在较短的时间内就能开发出功能强大的应用程序。
3、在VisualBasic6.0中,Internet应用程序的开发功能更加强大和容易。
4、种类繁多、功能强大的多媒体控件。
5、VisualBasic6.0在数据库处理功能上有较大增强,能对多种数据库进行读写操作。
6、新的语言特征。
7、【应用程序安装向导】大大加快了程序的开发速度。
(二)数据库表结构设计
根据分析阶段得出的的结论,结合本系统对有关数据的存储的需要,更加方便实现该学籍管理开发系统的所有功能。
现将本系统设计成6个数据库表,每个表的字段名、类型、宽度设计如下:
(1)学生基本信息表
该表用来存放学生入学注册的个人基本信息。
字段名
类型
宽度
学籍号
字符型
10
姓名
字符型
2
性别
字符型
10
出生年月
字符型
10
班级
字符型
8
家庭住址
字符型
11
父母姓名
字符型
30
联系电话
字符型
10
毕业级别
字符型
10
奖惩记载
字符型
10
学生简历
字符型
10
设计说明:
为方便编程以及人们工作习惯,这里将学籍号、出生年月、联系电话等都设计成字符型。
并根据实际需要设计了相应的宽度。
(2)学生成绩表
该表用来存放学生在校期间的个人成绩信息。
字段名
类型
宽度
学号
字符型
10
姓名
字符型
8
科目
数字型
3
成绩
数字型
3
学期
数字型
3
(3)学生学籍表
用来存放学生在校期间的评语信息。
字段名
类型
宽度
学号
字符型
10
姓名
字符型
10
奖贷学金
字符型
10
异动
字符型
8
军训等级
备注型
0
毕业去向
备注型
0
(4)教学计划表
用来存放教学信息。
字段名
类型
宽度
课程号
字符型
10
课程名
字符型
10
学分
数字型
2
年级
字符型
10
备注
备注型
4
另外,系统还设置用户管理表。
字段包括:
用户帐号,用户密码,级别,联系电话。
(三)数据流图
数据流图描绘系统的逻辑模型图,其中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。
因为数据流图是逻辑系统的图形表示,即使不是专业的计算机技术人员也容易理解,所以是极好的通信工具。
此外,设计数据流图只需考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体地实现这些功能,所以它也是软件设计的很好的出发点。
《学籍管理系统》主要是为了对学生基本信息、成绩、学籍等进行计算机管理。
所以主要的数据源应是学生的各种信息。
(1)学生基本信息流程图
F2XSXJ
添加新记录
修改记录F1XSDA
学号等输入学生检查是
信息信息资料否注册删除记录
检索记录窗体报表
F1XSDA
流程图分析:
从流程图上可以看出:
学生基本信息的流动首先是以学籍号的特征为流动方向的依据。
非0学号可以继续流动,并检验数据库学生档案表检查是否已经注册,已经注册的信息可以修改、查询、并将查询结果报表。
未注册的信息可以录入到数据库中。
为了数据的一致性,这里添加记录的同时,也对数据库中的另一表学生学籍表记录对应的学籍号,姓名。
这里可以分析得出:
要实现学生基本信息的流动,需要设计一个学生基本信息数据库表(XSDA),学生学籍数据库表(XSXJ)。
并对该数据库表可以实现信息的录入、修改、查询、统计、报表。
(2)学生成绩信息流程图
F3XF
>=60.T.修改
F4JXJH
添加新记录
修改记录F2XSCJXX
学号输入学生检查是
科目相应成绩否注册删除记录
检索表单报表
F2XSCJXX统计表单报表
统计条件输入
条件
流程图分析:
从流程图上可以看出:
学生成绩信息的流动同样是以学籍号的特征为流动方向的依据。
系统首先输入学籍号,科目,考试时间等信息,系统首先校验是否已经记录,对没有记录的成绩可以实现添加到成绩表中,同时判断成绩是否大于等于60分,对大于等于60分的成绩同时对该学籍号的学生将其对应的学分表中的学分记录修改。
修改的标准是依据该科目教学计划中的设置的学分为依据。
这里同样可以分析得出:
要实现学生成绩信息的流动,需要设计一个学生成绩信息数据库表(XSCJ)。
教学计划表(JXJH)。
并对该数据库中相关的表实现信息的录入、修改、查询、统计、报表。
(3)学生学籍信息流程图
添加新记录
修改记录F5XSXJ
学号输入学生检查是
资料否注册删除记录
检索记录窗体报表
F5XSXJ
流程图分析:
从数据流图上容易看出该系统应具有对学籍信息录入到数据库中,学籍信息包括:
学籍号,姓名,奖贷学金,学生异动,军训等级,毕业去向等。
可以修改甚至删除数据库中相关信息资料。
可以对数据库的信息按某些字段或字段组合进行检索。
同时应具有对数据库的信息作出相关统计等功能。
(4)教学计划设置信息流程图
添加新记录
修改记录F4jxjh
科目输入课程检查是
信息否注册删除记录
检索记录窗体报表
F4JXJH
流程图分析:
从数据流图上容易看出该系统应具有科目设置计划进行管理。
即可以对教学计划进行维护的功能,维护的字段包括:
科目号,科目名,年级,学分,备注。
具体的数据流程是:
首先输入科目号,科目名,对相应的数据库表进行校验,对没有登记的记录可以进行添加。
对已经有的记录可以对其相应的字段进行维护。
包括修改,删除。
同时系统还可以对数据库中的记录进行检索。
检索的结果显示在窗体中。
(四)系统功能结构图
其是成绩的检索、成绩的统计要具备从不同的角度能够对数据库中的记录进行特定条件的检索和统计。
在此基础上,总结得到如下的系统功能结构图:
编辑基本信息
基本信息模块检索基本信息
基本信息报表
导入学籍信息子模块
学籍信息模块编辑学籍信息子模块
学籍信息报表
成绩编辑子模块
成绩管理模块成绩查询子模块
成绩报表子模块
教学计划编辑子模块
教学计划模块教学计划查询子模块
教学计划报表子模块
三、详细设计
(一)登陆窗口子模块
本界面的主要功能是为了对系统进行安全性管理,本系统的用户名和密码保存在USER表中,本系统根据不同的用户而设置了不同的权限,可以用admin;admin为用户名和密码来登陆本系统。
(1)登陆按钮源代码:
PrivateSubCommand1_Click()
DimdbAsConnection
Setdb=NewConnection
db.CursorLocation=adUseClient
db.Open"PROVIDER=Microsoft.Jet.OLEDB.3.51;DataSource=ezxj.mdb;"
SetadoPrimaryRS=NewRecordset
a=Text1.Text
b=Text2.Text
adoPrimaryRS.Open"select*fromuserwhere用户名='"&a&"'and密码='"&b&"'",db,adOpenStatic,adLockOptimistic
IfadoPrimaryRS.EOFThen
MsgBox("用户名或密码错误!
")
StaticnumcountAsInteger
numcount=numcount+1
Ifnumcount=3Then
numcount=0
MsgBox("三次口令错,将退出程序!
")
UnloadMe
EndIf
Else
IfadoPrimaryRS.Fields("级别")="管理员"Then
x=1
Else
x=0
EndIf
UnloadMe
Form7.Show
EndIf
EndSub
(2)重填按钮源代码:
PrivateSubCommand3_Click()
Text1.Text=""
Text2.Text=""
EndSub
(二)学生档案资料录入子模块
(1)运行时的窗体
(2)控件和事件
a)“网格”容器控件:
显示档案柜中的数据信息。
数据源设定为档案柜表的查询记录集。
在窗体的装载事件load中用语句控制。
语句是:
adoPrimaryRS.Open"select学籍号,姓名,性别,出生年月,班级,家庭住址,父母姓名,联系电话,奖惩记载,学生简历fromxsda",db,adOpenStatic,adLockOptimistic
SetDataGrid.DataSource=adoPrimaryRS
b)“最首”按钮控件:
click事件是将当前窗体中的网格控件中的信息和文本框控件中的信息指向数据库表查询记录集中的第一条记录。
利用SQL语句实现在数据库中查询符合条件的所以记录,并在表单中的网格容器中用指针定位。
同时文本框也显示相应的记录信息。
如果无相应的记录,系统将给出提示。
实现关键语句如下:
adoPrimaryRS.MoveFirst
Text1.Text=adoPrimaryRS.Fields("学籍号")
Text2.Text=adoPrimaryRS.Fields("姓名")
Text3.Text=adoPrimaryRS.Fields("性别")
Text4.Text=adoPrimaryRS.Fields("出生年月")
Text5.Text=adoPrimaryRS.Fields("班级")
Text6.Text=adoPrimaryRS.Fields("家庭住址")
Text7.Text=adoPrimaryRS.Fields("父母姓名")
Text8.Text=adoPrimaryRS.Fields("联系电话")
Text9.Text=adoPrimaryRS.Fields("奖惩记载")
Text10.Text=adoPrimaryRS.Fields("学生简历")
c)“下一条”按钮控件:
click事件是将网格中的,文本框中的信息同时指向当前记录的下一条记录。
如果越界就给出已经是最后一条记录的提示,并将记录定位在最后一条记录。
实现语句:
adoPrimaryRS.MoveNext
IfadoPrimaryRS.EOFThen
MsgBox("已经是第后一条记录了!
")
adoPrimaryRS.MoveLast
Else
Text1.Text=adoPrimaryRS.Fields("学籍号")
Text2.Text=adoPrimaryRS.Fields("姓名")
Text3.Text=adoPrimaryRS.Fields("性别")
Text4.Text=adoPrimaryRS.Fields("出生年月")
Text5.Text=adoPrimaryRS.Fields("班级")
Text6.Text=adoPrimaryRS.Fields("家庭住址")
Text7.Text=adoPrimaryRS.Fields("父母姓名")
Text8.Text=adoPrimaryRS.Fields("联系电话")
Text9.Text=adoPrimaryRS.Fields("奖惩记载")
Text10.Text=adoPrimaryRS.Fields("学生简历")
EndIf
d)“上一条”按钮控件:
click事件是将网格中的,文本框中的信息同时指向当前记录的上一条记录。
如果越界就给出已经是第一条记录的提示,并将记录定位在第一条记录。
实现语句:
adoPrimaryRS.MovePrevious
IfadoPrimaryRS.BOFThen
MsgBox("已经是第一条记录了!
")
adoPrimaryRS.MoveFirst
Else
Text1.Text=adoPrimaryRS.Fields("学籍号")
Text2.Text=adoPrimaryRS.Fields("姓名")
Text3.Text=adoPrimaryRS.Fields("性别")
Text4.Text=adoPrimaryRS.Fields("出生年月")
Text5.Text=adoPrimaryRS.Fields("班级")
Text6.Text=adoPrimaryRS.Fields("家庭住址")
Text7.Text=adoPrimaryRS.Fields("父母姓名")
Text8.Text=adoPrimaryRS.Fields("联系电话")
Text9.Text=adoPrimaryRS.Fields("奖惩记载")
Text10.Text=adoPrimaryRS.Fields("学生简历")
EndIf
e)“最末”按钮控件:
click事件是将当前窗体中的网格控件中的信息和文本框控件中的信息指向数据库表查询记录集中的第后一条记录。
利用SQL语句实现在数据库中查询符合条件的所以记录,并在表单中的网格容器中显示。
如果无相应的记录,系统将给出提示。
实现关键语句如下:
adoPrimaryRS.MoveLast
Text1.Text=adoPrimaryRS.Fields("学籍号")
Text2.Text=adoPrimaryRS.Fields("姓名")
Text3.Text=adoPrimaryRS.Fields("性别")
Text4.Text=adoPrimaryRS.Fields("出生年月")
Text5.Text=adoPrimaryRS.Fields("班级")
Text6.Text=adoPrimaryRS.Fields("家庭住址")
Text7.Text=adoPrimaryRS.Fields("父母姓名")
Text8.Text=adoPrimaryRS.Fields("联系电话")
Text9.Text=adoPrimaryRS.Fields("奖惩记载")
Text10.Text=adoPrimaryRS.Fields("学生简历")
f)“添加”按钮控件:
click事件是添加新的学生档案记录,实现的原理是对数据库查询的记录集添加一条新的记录,然后修给这条空记录的值,达到对数据库表中的学生档案记录添加的目的。
实现的语句如下:
adoPrimaryRS.AddNew
adoPrimaryRS.Fields("学籍号")=Text1.Text
adoPrimaryRS.Fields("姓名")=Text2.Text
adoPrimaryRS.Update
g)“编辑”按钮控件:
click事件是将记录集中当前记录在文本框中进行修改,然后更改记录集中相应的记录。
来达到修改数据库中的记录的目的。
和添加相比不需要adoPrimaryRS.AddNew这个语句。
实现的主要语句是:
adoPrimaryRS.Fields("学籍号")=Text1.Text
adoPrimaryRS.Fields("姓名")=Text2.Text
adoPrimaryRS.Update
h)“查找”按钮控件:
click事件是激活查询窗体。
语句是:
Form2.Show
i)“删除”按钮控件:
click事件是删除当前记录。
同时数据库记录指针指向当前记录的上一条记录。
adoPrimaryRS.Delete
adoPrimaryRS.MovePrevious
IfadoPrimaryRS.BOFThen
adoPrimaryRS.MoveFirst
EndIf
Text1.Text=adoPrimaryRS.Fields("学籍号")
Text2.Text=adoPrimaryRS.Fields("姓名")
Text3.Text=adoPrimaryRS.Fields("性别")
j)“退出”按钮控件:
click事件是释放当前窗体,返回主控系统。
实现语句是:
UnloadMe
(三)档案信息查询子模块
(1)运行时的窗体
(2)控件和事件
a)“网格”容器控件:
显示学生档案数据库里面的中的数据信息。
数据源设定为档案数据库的查询记录集。
在窗体的装载事件load中用语句控制。
装载时默认是所有记录。
语句是:
adoPrimaryRS.Open"select学籍号,姓名,性别,出生年月,班级,家庭住址,父母姓名,联系电话,奖惩记载,学生简历fromxsda",db,adOpenStatic,adLockOptimistic
Set