教师信息管理系统
目录
摘要„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„2 前言„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„2 第一部分 系统及需求分析 „„„„„„„„„„„„„„„„„„„„„„„„„„„3 1-1总体功能需求„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„3 1-2具体系统功能需求描述„„„„„„„„„„„„„„„„„„„„„„„„„„3 第二部分 系统开发的可行性分析„„„„„„„„„„„„„„„„„„„„„„„„3 2-1技术可行性„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„3 2-2经济可行性„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„4 2-3操作可行性„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„4 开发工具和测试环境----VB6.0中文版概述„„„„„„„„„„„„„„„„„„„4 第三部分 系统规划(教师信息管理系统的分析和设计)„„„„„„„„„„„„„„„4 3-1教师信息管理系统的分析和概要设计 „„„„„„„„„„„„„„„„„„„„4 3-2总体功能模块图„„„„„„„„„„„„„„„„„„„„„„„„„„„„„5 3-3各模块数据流程图„„„„„„„„„„„„„„„„„„„„„„„„„„„„6 3-4模块具体说明„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„6 3-5教师信息管理系统数据库设计(数据库的组成) „„„„„„„„„„„„„„„„7 3-5-1 数据字典„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„7 3-5-2 关系型数据库的实现„„„„„„„„„„„„„„„„„„„„„„„„„„8 第四部分 系统的详细设计和实现„„„„„„„„„„„„„„„„„„„„„„„10 4-1基本信息模块„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„10 4-2工资管理模块„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„11 4-3系统维护模块 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„12 4-4用户管理模块 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„13 4-5查询模块 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„15 第五部分 系统评价(软件特色)„„„„„„„„„„„„„„„„„„„„„„„„17 第六部分 系统源代码„„„„„„„„„„„„„„„„„„„„„„„„„„„„„17 第七部分 软件测试„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„36 7-1软件测试的目的„„„„„„„„„„„„„„„„„„„„„„„„„„„„„36 7-2测试与软件开发各阶段的关系„„„„„„„„„„„„„„„„„„„„„„„36 7-3测试方法„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„37 第八部分 系统说明„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„38 8-1 心得体会 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„38 8-2 结束语 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„38 8-3 附 录 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„40
1
教师管理系统 毕业论文
摘 要
随着我国社会主义市场经济的发展和改革开放的不断深入,计算机的应用已遍及国民经济的各个领域,计算机来到我们的工作和生活中,改变着我们和周围的一切。
在以前,学校用手工处理教师档案以及工资发放等繁多的工作和数据时,人手总会出现些不必要的错误和问题,特别是在查找,统计和保存方面。
与此相适应,用计算机代替手工管理,是信息社会发展的必然趋势,也是我们计算机工作者的责任。
教师信息管理系统开发主要包括数据库的建立和维护以及应用程序的开发两个方面。要求建立起数据一致性和完整性强。数据安全性好的库,要求应用程序功能完备,易使用等特点。
关键字:面向对象,数据一致性,信息管理系统,数据库,VisualBasic,SQL Server。
前 言
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对工资信息进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是教育的科学化、正规化管理,与世界接轨的重要条件。
现在我国的中小学校信息的管理水平还停留在人工的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。
因此,为了适应现代教育管理的要求,进一步完善教师信息辅助计算机管理,我作为一个计算机应用的专科生,开发这样一套管理软件成为很有必要的事情,在下面的各章中我将以开发一套教师信息管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。
教师信息管理系统是一个教育单位不可缺少的部分,它的内容对于决策者和管理者来说都比较重要,所以教师信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
本文的编写得到了许多老师和同学的热心帮助,在此特向他们表示衷心的感谢! 如本文有不当之处,还望各位老师不吝指教。谢谢!
2
教师管理系统 毕业论文
第一部分 系统及需求分析
1-1总体功能需求
近年来,教育带来的发展对学校管理提出了更高的要求。
传统的管理机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代,建设一套具有行业特色的管理系统,以适应学校的总体发展战略。
教师信息管理系统正是针对小学而开发出来的管理软件。 针对目前情况,提出如下具体要求:
根据用户的要求及其所输入的数据,实现人员信息管理、工资管理、打印等几个与管理相关方面的功能,用户通过输入工资、职工信息等基本信息,由系统自行生成相应的统计数据及各类统计报表以供用户查询、打印。另外用户还可以对这些基本信息进行定期的更新和维护, 教师信息管理系统力求给用户方便快捷的途径去管理这些繁琐的数据。
1-2具体系统功能需求描述
针对上面的这些要求,教师信息管理系统在技术上做如下考虑:
安全性。引入系统管理模块,全面管理整个系统所需要的数据资源、集中控制所有操
作权限、数据库加密以确保整个系统的安全性。
开放性。
语言全中文支持。采用通用语言处理技术,使系统运行的所有提示及输出账表文字的
语种设置为简体中文。
多平台支持。支持中西文Windows 9X、Windows NT,Windows 2000(或XP)在业务模型上则考虑突出体现管理、控制、决策支持功能;采用组件化设计,模块之间可以实现“积木式”搭配,适用于学校的不同阶段的需求;强化权限管理功能。
(1)操作人员的计算机知识普遍较差,要求有良好的人机界面; (2)由于该系统的使用对象多,要求有较好的权限管理; (3)数据计算自动完成,尽量减少人工干预, 数据稳定性好,数据备分 (4)报表打印功能;
第二部分系统开发的可行性分析
2-1技术可行性
在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,完全可以实现。
微软公司的Visual Basic 6.0是Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,实现本系统VB是一个相对较好的选择。
此系统使用visual basic 在技术上可行。
3
教师管理系统 毕业论文
2-2经济可行性
本系统方案成本小,不需要投入太多的资金,其运行跟维护所费资金又少,投入使用后可以节省大量人力、物力、时间等资源,可以提高企事业单位的工作效益,带来的间接经济效益比花费在系统开发和运行、维护的费用和购置计算机、服务器等硬件设备的费用加起来要高得多,故经济上可行。
2-3操作可行性
本系统界面友好,使用方便,对使用人员要求不高,很快就可以适应。系统具有一定的易用性、可靠性、安全性,并经过严格的测试,运行十分稳定。
基于以上几点,该系统在技术上、经济上、操作上都具有可行性。
开发工具和测试环境----VB6.0中文版概述
Visual Basic是美国微软公司于1991年推出的新一代高级程序设计语言,可以有效地开发出符合Windows风格的应用程序。
使用Visual Basic作为开发本系统的工具,其特点有如下几点:Visual Basic 是与SQL Server2000数据库连接运用最能体现其稳定性和功能的强大性。
虽然本系统在硬件方面要求较高,但使用Visual Basic 工具所生成的界面也要比其它工具生成的界面要好看;
本工具具有跨平台功能,无论安装在Windows 9x、Windows 2000、Windows NT、Linus、Units都可以;且利用其做的系统操作简单,面向技术人员的水平不高.
Visual Basic在数据库方面具有新特性, 使用ADO对象,和OLE DB, 而ADO最主要的优点是易于使用、速度快、内存支出少和磁盘遗迹小。OLE DB是新的底层接口。它定义了一种通用的数据访问范例。也就是说,OLE DB并不局限于ISAM、Jet甚至关系数据源,但是它能够处理任何类型的数据,而不考虑它们的格式和存储方法。VB 6.0对ADO有完整的支持,可以通过ADO、OLE DB的接口,调整OLE DB的灵活性。甚至可以在VB中创建自己的OLE DB提供程序。
VISUAL BASIC 6.0它为应用开发提供了全面、综合性的支持,可以分别概括为如下几点: 面向对象的编程、 跨平台开发、 与数据库的连接性。
第三部分系统规划(教师信息管理系统的分析和设计)
3-1教师信息管理系统的分析和概要设计
根据实际情况,我使用原型法(Rapid Prototyping)即以少量代价快速地构造一个可执行的软件系统模型。使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。此时模块也发展成为最终产品了。
通过对用户需求的分析,我们可以分析出该教师信息管理系统大致可以分为以下几个模块:信息管理模块、工资管理模块、登录模块、查询模块、打印模块、系统维护模块。
这几个模块既互相独立又相互影响
下图说明它们之间的关系
4
教师管理系统 毕业论文
3-2总体功能模块图 档案录入 档案管理 编号 档案查询 姓名 综合 工资录入 工资管理 编号 教工资查询 姓名 师 管综合 理统计打印 报表打印 系 统 打印设置 帮助 帮助 信息 密码修改 添加用户 用户管理 用户维护 修改用户 系统备份 删除用户
5
教师管理系统 毕业论文
3-3数据流程图
登录
非法 验证 验证合
法性 合法 退出 退出 管理员 普通用户 管理员界普通用户数据修改,添 面 界面 加,删除等 根据用户权限可 运行软件 用功能不同
3-4模块具体说明: 3-4-1信息管理模块: 输入:教师基本信息 输出:所需信息
功能:对人事基本信息的 添加、删除、修改,查询,浏览,打印 3-4-2工资管理模块
输入:月工资
输出:工资表的月统计
功能:完成工资的数据更新,发放工资,浏览数据功能。 3-4-3查询模块
输入: 查询条件
输出:查询结果
功能:完成对员工基本信息,工资的条件查询、或模糊查询。 3-4-4系统维护模块 输入:源数据表 输出:目标数据表
功能:完成对系统数据和数据库的维护,如用户名、密码的更新,数据库 数据的备份、恢复以及定期删除。 3-4-5打印模块
输入:打印的目标 输出:打印结果
6
教师管理系统 毕业论文
功能:完成对系统数据和数据库的条件打印功能。 3-5 教师管理系统数据库设计(数据库的组成) 3-5-1 数据字典 名字:基本信息表 别名: 描述:每一位教师的基本信息记录表 定义:基本信息表=编号+姓名+性别+生日+籍贯+档案号 +身份证+联系电话+政治面目+住址+ 任课+备注 位置:输出到查询窗口 名字:学历职称表 别名: 描述:每一位教师的学历职称的记录表 定义:学历职称表=编号+姓名+学历+毕业学校+专业+现 任职务+职称 位置:输出到查询窗口 名字:工资表 别名: 描述:教师的工资统计表 定义:工资表=编号+姓名+职务工资+活工资+奖金+补贴 +代扣医疗保险+代扣职保+代扣失业保险+ 实发工资+备注 位置:统计教师工资,显示到查询窗口 名字:操作员信息表 别名:系统管理 描述:记录操作员的信息,登录软件时需要验证用户合 法性 定义:操作员信息表=用户号+用户名+密码+权限 位置:登录
7
教师管理系统 毕业论文
3-5-2 关系型数据库的实现
由于考虑到本系统是应用在单机系统上,另外根据人员规模,只建立起一个数据库,在此数据库基础上建立起如下表:
基本信息表,用户信息表,学历信息表,工资信息表
·基本信息表
·用户信息表
·学历信息表
·工资信息表
8
教师管理系统 毕业论文
下面详细说明:
·基本信息表
·用户信息表
·学历信息表
·工资信息表
另外,要声明的是,在本数据库的几张表中没有定义外键,其原因主要是几张表的字段的特点。所以为了保持数据一致性就通过程序完成。
第四部分 系统的详细设计和实现
在本系统中由以下几个功能模块组成,它们分别是基本信息模块、工资信息模块、工资查询模块、信息查询模块、系统维护模块、数据维护模块和打印功能模块,下面就开发这几个模块的过程及所遇到的问题分别加以介绍。
9
教师管理系统 毕业论文
主界面
4-1基本信息模块
该模块主要完成员工基本信息的录入、查询、统计及打印功能
档案录入界面
录入窗口中显示的是教师必要信息。可供用户浏览查询及以其记录为单位的操作。如果用户修改某一纪录中的某一项,可进入录入窗口。在此窗口显示的是员工的详细资料,在此窗口还可以增加新员工纪录。
浏览界面不能任意输入教师信息,要加入新的人员信息必须到录入界面中去。这样就既保证数据库的数据的一致性,又防止了数据的冗余。
10
教师管理系统 毕业论文
N 允许删除? N 有效数据?
Y Y
4-2工资管理模块
该模块是完成对员工的工资信息的输入、查询、并以此进行统计生成表。
成功 添加 开始录入 修改 删除
工资管理包括数据更新,工资发放,工资报表。数据更新是在工资表查找有无此人,然
后把本月的工资更新,修改,删除。数据更新时,在编号框上输入要更新的教师编号,输入后,系统会在工资表中检验有无人员,如有则可更新数据,无则取消操作,在可更新数据操作时,系统会把数据自动加到工资表中,修改和删除记录时,在查找人员编号文本框中输入要修改或删除的人员编号,系统就会指定到所要删除或修改的记录上.如果有教师上个月的工资没有领取,则将会把该教师的工资滚入上月余额中,工资发放时把每一位教师实际应得的工资计算清楚,然后发放给每一位教师,工资报表把每一个教师本月所领款项打印出来发到个人手中,让他们一目了然自己本月的工资情况。
11
教师管理系统 毕业论文
输入人员编号 检验有无此人员 有 无 是 检验是否已发工资
否
4-3系统维护模块
此模块除完成数据的一般性维护如数据的恢复与备份、数据的定期删除。 下面就数据维护进行一下讨论。
尽管系统中采取各种保护措施来防止数据的安全性和完整性的破坏,但由于计算机系统中硬件的故障、软件的错误、操作员的失误以及故意的破坏,问题仍然是不可避免的,而且这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失。因此作为一个完整的管理信息系统,数据的备份和恢复当然是少不了的。以便使系统弹出公共对话框由用户选择文件名和保存路径以及保存格式,这给用户提供了更大的自由度,当然,也带来了一些问题。
教师 退出
流图如下所示:
12
教师管理系统 毕业论文
进入数据维护窗选择操作类型 是 否 执行操作
退出
4-4用户管理模块
4-4-1 登录
该模块的主要任务是维护系统的正常运行与安全,包括更改密码、注册用户、注销用户等等 。
本管理系统,若每一个进入计算机的人都能够对系统进行操作,就可能有意或无意的破坏数据,对用户产生不良影响,甚至造成无法估量的损失。因此,在进入系统之前要设置密码输入功能用户登录关键是判断它的密码和用户名是否与数据库中存在的用户信息吻合,若存在则登录成功,若登录不成功则重新输入或注册。
模块处理流程图:
13
教师管理系统 毕业论文
开始 填写用户名,密码, 用户号,权限 打开数据库文件 是否存在该用户? 登录成功 用户注册 结束
4-4-2用户信息管理模块
用户登录才具有修改用户信息的功能。它的查询与查看用户信息一样,修改后提交信息。
模块处理流程图(用户必须登录才可以修改用户信息,如图所示):
14
教师管理系统 毕业论文
登录成功 开始
判断修改 修改用户信息 打开数据库文件 N
是否成功? Y
修改成功 Y
是否继续? N 结束
4-4-3修改密码
用户必须登录才可以修改密码,模块处理流程图与修改用户信息模块大相径庭。
4-5 查询模块
查询模块是一个数据库系统中所必须的模块。为了方便用户,本系统提供了多种查询方式。如:按条件或模糊查询、编号、姓名等。
15
教师管理系统 毕业论文
4-5-1按条件查询:
通过用户输入查询的条件,如按人员编号,姓名,工资月份等索引,选择操作符,填写相应的参数,单条件或双条件查询(又条件查询时两个条件的逻辑关系可为与也可为或的关系),然后在查询结果窗口可看到查询的结果。
4-5-2模糊查询:
用户可通过选择按编号、姓名等字段及其在文本框所输入的关健字进行模糊查询,帮助用户查找到所需的记录,并可在查询结果窗口看到结果。 模块流和图如下:
开始 输入查询条件 无 有无符合条件
有 查找数据
有符合条件的 无
输出 数据 16
教师管理系统 毕业论文
帮助
专业水平的软件通常都带有联机帮助功能。无论写出来的程序是要给大量的用户使用,还是仅仅局限于公司内部有限的使用者,我们都应该为用户提供详细的、易于理解的帮助文档。 关于版本
为了使程序显得更具有专业风格,首先可以在其中加入通常的应用程序信息。这些信息包括作者名称、版本号、以及其他类似信息。
第五部分 系统评价(软件特色)
教师信息管理系统采用模块化设计,结构清晰,可靠性好,简明易学; 界面友好,操作简便,充分考虑人性化设计,加上全汉字操作提示,使操作、维护十分简便,使用者在较短的时间内就能掌握
数据库具有可以分别设置使用或不使用的管理密码与使用密码。有效防止其他人使用相同的软件打开数据库或更改数据库设置。
简单、易学、灵活模块化结构,可根据业务需要十分方便地进行模块增减,灵活系统组合,直观地面向事务处理的菜单图形界面操作,易学易用。模块组建灵活。
第六部分 部分系统源代码
本系统定义的程序名称,模块,窗体名称及功能说明
名称:login.frm 功能:用户登录窗体 名称:frmMainMDI.frm 功能:主界面程序 名称:frmUserManage.frm 功能:用户信息管理程序 名称:frmInfoInput.frm 功能:基本信息管理程序 名称:frminfocheck.frm 功能:信息查询程序 名称:frmmoney.frm 功能:工资管理程序 名称:frmmoneycheck.frm 功能:工资查询程序 名称:frmSplash.frm 功能:版本说明
名称:frmModifyPsw.frm 功能:用户密码修改程序 名称:databackup.frm 功能:数据备份程序 名称:frmhelp.frm 功能:帮助 名称:frmFlash.frm 功能:快闪窗体
****************************************************************************** 下面是一些主要模块,窗体功能程序的代码:(由于篇幅所限只列出部分程序)
17
教师管理系统 毕业论文
************************名称:login.frm功能:用户登录窗体*********************
Option Explicit
Private Declare Function GetUserName Lib “advapi32.dll” Alias “GetUserNameA” (ByVal lpbuffer As String, nSize As Long) As Long
Private Sub Command1_Click() Dim txtSQL As String Dim mrc As ADODB.Recordset Dim MsgText As String Dim a As Integer Static c As Integer
c = c + 1 If c = 4 Then
MsgBox “三次输入有误,本程序自动退出!” Unload Me Exit Sub End If
txtSQL = “select * from pwtable where 用户号= „” & Text1.Text & “‟” Set mrc = ExecuteSQL(txtSQL, MsgText)
If IsNumeric(Text1.Text) = False Then MsgBox “请输入数字” Text1.Text = “” Text1.SetFocus Exit Sub
ElseIf mrc.EOF = True Then
MsgBox “用户号输入有误,请从新输入!” Text1.SetFocus Text1.Text = “” Exit Sub
ElseIf Trim(Combo1.Text) <> Trim(mrc.Fields(“用户级别”)) Then
18
教师管理系统 毕业论文
MsgBox “用户级别选择有误,请重新选择!” Combo1.Text = “请选择” Combo1.SetFocus Exit Sub
ElseIf Trim(Text2.Text) <> Trim(mrc.Fields(“用户名”)) Then MsgBox “用户名输入有误,请从新输入!” Text2.Text = “” Text2.SetFocus Exit Sub
ElseIf Trim(mrc.Fields(“密码”)) <> Trim(Text3.Text) Then MsgBox “密码不正确,请从新输入!” Text3.SetFocus Text3.Text = “” Exit Sub
ElseIf Trim(Text2.Text) = Trim(mrc.Fields(“用户名”)) And Trim (Text3.Text) = Trim(mrc.Fields(“密码”)) Then Me.Hide mrc.Close frmMainMDI.Show Exit Sub End If End Sub
Private Sub Command2_Click() End End Sub
Private Sub Form_Load() Combo1.AddItem “普通用户” Combo1.AddItem “系统管理员” End Sub
Private Sub Text1_Change()
If Text1.Text <> “” And Combo1.ListIndex <> -1 And Text2.Text <> “” And_ Text3.Text <> “” Then
19
教师管理系统 毕业论文
Command1.Enabled = True Else
Command1.Enabled = False End If End Sub
Private Sub Text2_Change()
If Text1.Text <> “” And Combo1.ListIndex <> -1 And Text2.Text <> “” And_ Text3.Text <> “” Then Command1.Enabled = True Else
Command1.Enabled = False End If End Sub
Private Sub Text3_Change()
If Text1.Text <> “” And Combo1.ListIndex <> -1 And Text2.Text <> “” And_ Text3.Text <> “” Then Command1.Enabled = True Else
Command1.Enabled = False End If End Sub
*****************名称:frmMainMDI.frm 功能:主界面程序******************* Option Explicit
Private mintChildWinCount As Integer Const strInfoQuery = “档案查询” Const strInfoManage = “档案录入” Const strScoreInput = “工资录入” Const strScoreFind = “工资查询”
Public colInfo As Collection Public colScore As Collection
20
教师管理系统 毕业论文
Public colAllMenu As Collection
Public Sub Info_Initialize() Set colInfo = New Collection colInfo.Add strInfoManage colInfo.Add strInfoQuery End Sub
Public Sub Score_Initialize() Set colScore = New Collection colScore.Add strScoreInput colScore.Add strScoreFind End Sub
Public Sub AllMenu_initialize() Set colAllMenu = New Collection colAllMenu.Add strInfoManage colAllMenu.Add strInfoQuery colAllMenu.Add strScoreInput colAllMenu.Add strScoreFind End Sub
Private Sub tmrStat_Timer() On Error GoTo err
staMainMdi.Panels(1).Text = “当前窗口:” & frmMainMDI.ActiveForm.Caption Exit Sub err:
staMainMdi.Panels(1).Text = “当前没有打开的子窗口!” End Sub
Private Sub admini_Click() frmUserManage.Show End Sub
21
教师管理系统 毕业论文
Private Sub checkfile_Click(Index As Integer) frminfocheck.Show End Sub
Private Sub data_Click() databackup.Show End Sub
Private Sub exit_Click()
MsgBox “要退出系统吗?”, 4129, “确认” Unload Me End Sub
Private Sub gongzichaxun_Click() frminfocheck.Show End Sub
Private Sub gongziluru_Click() frmmoney.Show End Sub
Private Sub guanyu_Click() frmSplash.Show End Sub
Private Sub helphelp_Click() frmhelp.Show End Sub
Private Sub luru_Click() frmInfoInput.Show End Sub
Private Sub MDIForm_Load()
22
教师管理系统 毕业论文
MPaintMDIBackground.InitializePaintBackground hwnd, Me
Move (Screen.Width – Me.Width) / 2, _ (Screen.Height – Me.Height) / 2
Call Info_Initialize Call Score_Initialize Call AllMenu_initialize
If login.Combo1.Text = “普通用户” Then admini.Enabled = False quanxian.Enabled = False data.Enabled = False luru.Enabled = False gongziluru.Enabled = False dayin.Enabled = False End If End Sub
Private Sub mima_Click() frmModifyPsw.Show End Sub
Private Sub money_Click() recordall.Show 1 End Sub
Private Sub prints_Click() CommonDialog1.ShowPrinter End Sub
Private Sub quanxian_Click() frmUserManage.Show End Sub
23
教师管理系统 毕业论文
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) If Not (frmMainMDI.ActiveForm Is Nothing) Then Unload frmMainMDI.ActiveForm End If End Sub
*************名称:frmInfoInput.frm 功能:基本信息管理程序**************** Private Sub cmdAddData_Click() Adodc1.Recordset.AddNew End Sub
Private Sub Command2_Click() Adodc1.Recordset.Delete Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF = True Then Adodc1.Recordset.MoveLast End If End Sub
Private Sub Command3_PicClick() Adodc1.Recordset.Update End Sub
Private Sub Command5_Click()
„‟‟‟‟‟‟‟‟‟‟‟‟‟‟‟‟‟‟‟‟‟‟‟‟‟‟‟‟‟‟‟‟‟查询
Adodc1.RecordSource = “select * from 档案 where 编号 like “ & “‟” & txtcode.Text
& “‟” With 档案 If Not .EOF Then
24
教师管理系统 毕业论文
txtcode.Text = .Fields(编号) MaskEdBox2.Text = .Fields(身份证号)
txtname.Text = .Fields(姓名) Combo1.Text = .Fields(性别) mskEdDate.Text = .Fields(出生日期) txtshouji.Text = .Fields(档案号) txtjiguan.Text = .Fields(籍贯) MaskEdBox2.Text = .Fields(身份证号) txtaddress.Text = .Fields(住址) MaskEdBox1.Text = .Fields(联系电话) txtmemo.Text = .Fields(备注) Text1.Text = .Fields(学历) Text2.Text = .Fields(毕业学校) Text3.Text = .Fields(专业) Combo4.Text = .Fields(职称) Combo3.Text = .Fields(职务) Combo2.Text = .Fields(任课)
Else
MsgBox “没有此记录!”, vbInformation, “请重示!!” Text1.Text = “” End If End With End Sub
**************名称:frminfocheck.frm 功能:信息查询程序******************* Option Explicit Dim TempStr As String Dim TmpBl As Boolean Dim I As Integer Dim StrAndOr As Integer Dim bIsLesson As Boolean
25
教师管理系统 毕业论文
Private Sub cmdadd_Click() If comboValue.Text = “” Then
MsgBox “值不能为空”, vbInformation, Me.Caption Exit Sub End If
If ComboField.ListIndex = 3 And Val(comboValue.Text) > 120 Then MsgBox “年龄有误,请重新输入”, vbInformation, Me.Caption comboValue.SetFocus SendKeys “{Home}+{End}” Exit Sub End If
Select Case ComboField.ListIndex Case 0
TempStr = TempStr & “recordtable.编号 “ Case 1
TempStr = TempStr & “recordtable.姓名 “ Case 2
TempStr = TempStr & “recordtable.性别 “ Case 3
TempStr = TempStr & “leveltable.职称 “ Case 4
TempStr = TempStr & “leveltable.职务 “ End Select
If ComboField.Text = “ 选择字段” Then
MsgBox “请选择字段!”, vbInformation, Me.Caption ComboField.SetFocus Exit Sub End If
If ComboConnect.Text = “ 条件” Then
MsgBox “请选择条件!”, vbInformation, Me.Caption ComboConnect.SetFocus Exit Sub
ElseIf TxtCondition.Text = “” Then
26
教师管理系统 毕业论文
If ComboConnect.Text = “Like” Then comboValue.Text = comboValue.Text & “%” Select Case ComboField.ListIndex Case 3, 6
TxtCondition.Text = ComboField.Text & “ “ & ComboConnect.Text & “ “ &
comboValue.Text
TempStr = TempStr & ComboConnect.Text & “ “ & comboValue.Text Case 0, 1, 2, 4, 5, 7, 8
TxtCondition.Text = ComboField.Text & “ “ & ComboConnect.Text & “ „” &
comboValue.Text & “‟ “
TempStr = TempStr & ComboConnect.Text & “ „” & comboValue.Text & “‟ “ End Select Else
If ComboConnect.Text = “Like” Then comboValue.Text = comboValue.Text & “%” Select Case ComboField.ListIndex Case 3, 6
TxtCondition.Text = TxtCondition.Text & vbCrLf & ComboField.Text & “ “ &
ComboConnect.Text & “ “ & comboValue.Text
TempStr = TempStr & ComboConnect.Text & “ “ & comboValue.Text Case 0, 1, 2, 4, 5, 7, 8
TxtCondition.Text = TxtCondition.Text & vbCrLf & ComboField.Text & “ “ &
ComboConnect.Text & “ „” & comboValue.Text & “‟ “
TempStr = TempStr & ComboConnect.Text & “ „” & comboValue.Text & “‟ “ End Select End If
CmdAnd.Enabled = True CmdOr.Enabled = True TmpBl = False StrAndOr = 0
CmdAdd.Enabled = False End Sub
Private Sub CmdAnd_Click() I = 1
CmdAdd.Enabled = True CmdAnd.Enabled = False
27
教师管理系统 毕业论文
CmdOr.Enabled = True comboValue.Clear comboValue.Text = “值”
ComboField.Text = “ 选择字段” ComboConnect.Text = “ 条件” CmdList.Enabled = False TmpBl = True
If StrAndOr = 2 And TempStr <> “” Then
TempStr = Left(TempStr, Len(TempStr) – 3) & “ And “
TxtCondition.Text = Left(TxtCondition.Text, Len(TxtCondition.Text) – 3) &
“ And”
ElseIf StrAndOr = 0 Then TempStr = TempStr & “ And “
TxtCondition.Text = TxtCondition.Text & “ “ & “And” End If StrAndOr = 1 End Sub
Private Sub CmdCancel_Click() Unload Me End Sub
Private Sub cmdClear_Click() TxtCondition.Text = “” TempStr = “”
CmdAdd.Enabled = True CmdOk.Enabled = True bIsLesson = False End Sub
Private Sub CmdList_Click() Dim rst As ADODB.Recordset Set rst = New ADODB.Recordset Select Case ComboField.ListIndex Case 0
28
教师管理系统 毕业论文
Set rst = Nothing
Set rst = New ADODB.Recordset
rst.Open “Select * from recordtable”, conMain, adOpenDynamic,
adLockOptimistic comboValue.Clear rst.MoveFirst
Do While Not rst.EOF And Not rst.BOF comboValue.AddItem rst.Fields(“编号”) rst.MoveNext Loop Case 1
Set rst = Nothing
Set rst = New ADODB.Recordset
rst.Open “Select * from recordtable”, adLockOptimistic comboValue.Clear rst.MoveFirst
Do While Not rst.EOF And Not rst.BOF comboValue.AddItem rst.Fields(“姓名”) rst.MoveNext Loop Case 8
comboValue.Clear Dim Tmplesson As String Set rst = New ADODB.Recordset
rst.Open “Select * from leveltable”, adLockOptimistic rst.MoveFirst Tmplesson = “”
If rsLessons.EOF Then Exit Sub Dim str As String
str = rst.Fields(“职务”).Value Tmplesson = “职务 <> „” & str & “‟” comboValue.AddItem (rst.Fields(“职务”)) Do While True
conMain, conMain, adOpenDynamic,
adOpenDynamic,
29
教师管理系统 毕业论文
rst.Filter = Tmplesson If rst.EOF And rst.BOF Then Exit Do End If rst.MoveFirst
comboValue.AddItem rst.Fields(“职务”)
Tmplesson = Tmplesson & “ And 职务 <> „” & rst.Fields(“职务”) & “‟” rst.MoveNext Loop End Select
If StrAndOr <> 0 Then CmdAdd.Enabled = True End If
If StrAndOr <> 0 Then CmdAnd.Enabled = False CmdOr.Enabled = False End If
comboValue.SetFocus SendKeys “{Home}+{End}”
comboValue.Text = comboValue.List(0) StrAndOr = 0
Set rstemp = Nothing End Sub
Private Sub CmdOk_Click() Dim X As Integer
If TempStr <> “” And Right(TempStr, 4) = “ Or “ Then TempStr = Left(TempStr,
Len(TempStr) – 4)
If TempStr <> “” And Right(TempStr, 5) = “ And “ Then TempStr = Left(TempStr,
Len(TempStr) – 5) If TxtCondition.Text = “” Then
X = MsgBox(“是否放弃查询?”, vbQuestion + vbYesNo, Me.Caption) If X = vbYes Then Unload Me
30
教师管理系统 毕业论文
Else: Exit Sub End If End If
If TxtCondition.Text <> “” Then Set rsFind = New ADODB.Recordset If bIsLesson = False Then
rsFind.Open “Select recordtable.* from recordtable where “ & TempStr, conMain,
adOpenDynamic, adLockOptimistic Else
rsFind.Open “Select recordtable.* from recordtable,leveltable where (“ &
TempStr & “) And recordtable.编号 = leveltable.编号”, conMain, adOpenKeyset, adLockOptimistic End If
If rsFind.EOF And rsFind.BOF Then
MsgBox “找不到记录”, vbInformation, Me.Caption CmdAdd.Enabled = True TempStr = “”
CmdOk.Enabled = False comboValue.Text = “值”
ComboField.Text = “ 选择字段” ComboConnect.Text = “ 条件” ComboField.SetFocus bIsLesson = False Exit Sub Else
Dim I As Integer Dim str As String Dim strTemp As String
Set rst = Nothing
Set rst = New ADODB.Recordset
rsFind.MoveFirst
strTemp = rsFind.Fields(“编号”)
31
教师管理系统 毕业论文
str = “编号 = „” & rsFind.Fields(“编号”) & “‟” Do While Not rsFind.EOF rsFind.MoveNext
If rsFind.EOF Then Exit Do
If strTemp <> rsFind.Fields(“编号”).Value Then
str = str & “ Or 编号 = „” & rsFind.Fields(“编号”) & “‟” strTemp = rsFind.Fields(“编号”).Value End If Loop
rst.Open “Select * from recordtable Where “ & str, adLockOptimistic
„frmmain.lstFirstName.Clear
„frmmain.FillList rsTeachers, frmmain.comboclass.ListIndex „frmmain.lstFirstName.RemoveItem (0) „frmmain.lstFirstName.Selected(0) = True
„ frmmain.FillGrid rsTeachers, frmmain.comboclass.ListIndex „frmmain.lblTongJi.Caption = “” End If End If Unload Me End Sub
Private Sub CmdOr_Click() I = 1
CmdAdd.Enabled = True CmdOr.Enabled = False CmdAnd.Enabled = True comboValue.Clear comboValue.Text = “值”
ComboField.Text = “ 选择字段” ComboConnect.Text = “ 条件” CmdList.Enabled = False TmpBl = True
If StrAndOr = 1 And TempStr <> “” Then
adOpenDynamic,
32
教师管理系统 毕业论文
TempStr = Left(TempStr, Len(TempStr) – 4) & “ Or “
TxtCondition.Text = Left(TxtCondition.Text, Len(TxtCondition.Text) – 4) & “ Or” ElseIf StrAndOr = 0 Then TempStr = TempStr & “ Or “
TxtCondition.Text = TxtCondition.Text & “ “ & “Or” End If StrAndOr = 2 End Sub
Private Sub ComboField_Click() Select Case ComboField.ListIndex Case 0
ComboConnect.Clear comboValue.Clear
ComboConnect.Text = “ 条件” ComboConnect.AddItem (“=”) ComboConnect.AddItem (“Like”) CmdList.Enabled = True Case 1
ComboConnect.Clear comboValue.Clear
ComboConnect.Text = “ 条件” ComboConnect.AddItem (“=”) ComboConnect.AddItem (“Like”) CmdList.Enabled = True Case 2
ComboConnect.Clear comboValue.Clear
ComboConnect.Text = “ 条件” ComboConnect.AddItem (“=”) comboValue.AddItem (“男”) comboValue.AddItem (“女”) CmdList.Enabled = False Case 3
33
教师管理系统 毕业论文
ComboConnect.Clear comboValue.Clear
ComboConnect.Text = “ 条件” ComboConnect.AddItem (“=”) ComboConnect.AddItem (“Like”) comboValue.AddItem (“特级教师”) comboValue.AddItem (“高级教师”) comboValue.AddItem (“一级教师”) comboValue.AddItem (“二级教师”) comboValue.AddItem (“无”)
CmdList.Enabled = False Case 4
ComboConnect.Clear comboValue.Clear
ComboConnect.Text = “ 条件” ComboConnect.AddItem (“=”) ComboConnect.AddItem (“Like”) comboValue.AddItem (“校长”) comboValue.AddItem (“副校长”) comboValue.AddItem (“教务处主任”) comboValue.AddItem (“班主任”) comboValue.AddItem (“无”) CmdList.Enabled = False Case 6
ComboConnect.Clear comboValue.Clear
ComboConnect.Text = “ 条件” ComboConnect.AddItem (“=”) ComboConnect.AddItem (“Like”) CmdList.Enabled = True End Select
ComboConnect.Text = ComboConnect.List(0) If comboValue.List(0) <> “” Then
comboValue.Text = comboValue.List(0)
34
教师管理系统 毕业论文
CmdList.Enabled = False Exit Sub End If
CmdList.Enabled = True End Sub
Private Sub comboValue_KeyPress(KeyAscii As Integer) Select Case ComboField.ListIndex Case 3, 6
If KeyAscii > 57 Or KeyAscii < 48 And KeyAscii <> 8 Then KeyAscii = 0 End If End Select End Sub
Private Sub Form_Load() I = 0
TxtCondition.Text = “” TempStr = “”
ComboField.AddItem (“编号”) ComboField.AddItem (“姓名”) ComboField.AddItem (“性别”) ComboField.AddItem (“职称”) ComboField.AddItem (“职务”)
CmdAnd.Enabled = False CmdOr.Enabled = False TmpBl = False bIsLesson = False End Sub
Public Sub FillGrid(rs As ADODB.Recordset) Dim I As Integer I = 0
35
教师管理系统 毕业论文
frmmain.Gridname.Clear frmmain.Gridname.Rows = I + 1
frmmain.Gridname.TextMatrix(0, 1) = “姓名”
rs.MoveFirst Do While Not rs.EOF I = I + 1
frmmain.Gridname.Rows = I + 1
frmmain.Gridname.TextMatrix(I, 1) = rs.Fields(“txtname”).Value If rs.EOF Then Exit Do rs.MoveNext Loop
frmmain.lbtongji.Caption = “搜索到 “ & frmmain.Gridname.Rows – 1 & “ 条记录” If frmmain.Gridname.Rows > 1 Then frmmain.Gridname.TextMatrix(1, 0) = “▲” End If End Sub
Private Sub UsrPicBtn7_Click() Unload Me End Sub
Private Sub UsrPicBtn1_Click() CommonDialog1.ShowPrinter End Sub
*************************其它模块程序略****************************************
第七部分 软件测试
7-1软件测试的目的
软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各
阶段的规格说明和程序的内部结构而精心设计一批测试用例{即输入数据及其预期的输出结果},并利用这些测试用例去运行程序,以发现程序错误的过程。设计测试的目标是想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。如果成功地实施
36
教师管理系统 毕业论文
了测试,就能够发现软件中的错误。测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。此外,实施测试收集到的测试结果数据为可靠性分析提供了依据。而测试的目的就是在软件投入生产性运行之前,尽可能地发现软件中的错误。 7-2测试与软件开发各阶段的关系
软件开发过程是一个自顶向下,逐步细化的过程,而测试过程则是依相反的顺序安
排的自底想上,逐步集成的过程。低一级测试为了上一级测试准备条件。参看图7.1,首先对每一个程序模块进行单元测试,消除程序模块内部在逻辑上和功能上的错误和缺陷。再对照软件设计进行集成测试,检测和排除子系统(或系统)结构上的错误。随后再对照需求,进行确认测试。最后从系统全体出发,运行系统,看是否满足要求。 确认测试 集成测试 单元测试 需求分析说明书 需求分析 设计 编程 确认测试 集成测试 单元测试 概要设计说明书 详细设计说明书 源程序代码
图7.1 软件测试与软件开发过程的关系
7-3测试方法
常见的软件测试阶段的工作主要分为单元测试、集成测试、确认测试和系统测试四个步骤,测试方法有黑盒测试和白盒测试两种方法:黑盒测试(已经知道产品应该具有
的功能,可以通过测试来检验是否每个功能都正常);白盒测试{如果知道产品内部工作过程,可以通过测试来检验内部动作是否按照说明书的规定正常进行}。
教师信息管理系统在测试过程中,严格遵守软件测试工作的基本原则与步骤,结合黑盒测试与白盒测试两种方法,保证了软件系统的质量。有很多隐藏的问题在测试的过程中发现,例如SQL中的字段的属性设置不对导致系统在VB中的运行出错,所以要设置好字段的属性,使之符合需要;又如为了方便用户查询,设计时使用户可以双击主键字段对应的文本框,在弹出的“选择框”中选择要查询的对象;另外,在打印功能方面,可以实现按用户的需要选择所要的字段来打印。
37
教师管理系统 毕业论文
第八部分 系统说明
心得体会
经过一个多月的设计和开发,教师信息管理系统基本开发完毕,似乎做了半个世纪,感觉最大的收获就是锻炼了自学能力。
其功能基本符合用户需求,能够完成员工基本信息、工资的输入和统计。以及各类相关报表的打印。并提供部分系统维护功能,使用户方便进行数据备份和恢复、数据删除。同时也考虑到了减少数据冗余的问题,对于数据的一致性的问题也通过程序进行了有效的解决。
我想大多数人决心去学习一门新的计算机技术的原因有两个:想要学或必须学。在今天的计算机世界里,没有人能够事事皆懂,最好的情况就是在需要的时候学习它。当面临一个新的项目并且时间紧迫时,任何一个编程人员都会去学习某种语言或新的计算机技术来完成它,我们也不例外。
学习中,我查阅了很多本参考书,也查阅了网上不少资料。我学习VB的唯一方法就是实实在在地做些东西,凭空学习一大堆空洞的理论,不如从头到尾完成一个项目,
整个过程中,我总结了一些经验体会: 1. 感触最深的一点是:事先必须制定计划。
这样即使出现问题,解决时也会像修改几个导航元素一样简单。最简单的原因是,当真正开始项目后,毫无疑问自己将充分了解自己正在尝试着作什么。通过前期的规划,会让自己的工作变得轻松。
2. 选择合适的开发环境
好的工具可以给我们带来方便,减少工作量。最好使用集成的开发环境,我使用Microsoft Visual Studio basic这个集成的开发环境对教师管理系统进行制作,它的功能强大,增强了功能并节省了应用开发的时间。
3. 不可忽视界面的设计。
从真正的使用方面来讲,一个系统的界面是十分重要的,好的界面可大大刺激顾客的购 买欲,收到以像不到的效果,所以可千万不要设计得太单调乏味,而要尽量友好一些。
4. 一定要做好调试工作。
倘若像开发一个成功的教师信息管理系统,那么一定要设置好菜单,其原则是简单、美观和实用,最重要的是可靠。在教师信息管理系统投入运行之前,一定要做大量的调试工作,除了在自己的机上调试外,还应在别的机上测试,保证万无一失
5. 相互讨论,虚心求教。
这是相互学习的好方法,也是节约开发时间的一个有力途径,同时我们可以利用网络这 个有利的条件在网上求教。
6. 本次毕业设计的收获
因为教师信息管理系统相对比较小,所以这个毕业设计是我自己一个人做,由于实践的
38
教师管理系统 毕业论文
机会太少,对编程不够熟悉,这次毕业设计给了我一个很好的动手机会。通过自己的努力,我学会了如何构建一个教师信息管理系统,数据库的基本构架,基本掌握了VB的编程技术,了解一个系统的整个开发调试过程。
能建一个自己的管理系统,心里难免有喜悦,尽管类似的信息管理系统有不少人做,尽管自己的教师信息管理系统还有不少不足之处,但毕竟这是我努力的见证。当然“该如何开发功能强劲、变化万端的后台程序?全面规划、纵深管理、深入维护又怎样把握?”深一层的问题还有待学习和积累,相信以后有充足的时间去学习所有的细节。
附 录
参考文献:
[1]软件系统开发技术 [2]软件工程导论 [3]数据库系统原理及应用教程 [4]数据库系统概论 [5]SQL Server 2000应用开发实例教程 [6]VISUAL BASIC 6.0原理与应用开发指南 [7]VISUAL BASIC程序设计教程(6.0版) [8]VISUAL BASIC数据库编程宝典 [9]VISUAL BASIC高级编程及其项目应用开发
潘锦平、施小姚、姚天昉
西安电子科技大学出版社 1999张海藩
清华大学出版社 1998苗雪兰、刘瑞新、王怀峰
机械工业出版社 2001萨师煊、王珊
高等教育出版社 袁连海、董文、张志亮
机械工业出版社 2002 电子工业出版社 龚沛曾、陆慰民、杨志强
清华大学出版社 尹吉吉、冯硕、贾志博
电子工业出版社 李存斌、郭晓鹏
中国水利水电出版社 年 年 年 2001年 年 年
2000年
2001年 2002年 39
2001
因篇幅问题不能全部显示,请点此查看更多更全内容