资源描述
. .
目录
第一章
1.1 历史背景
第二章 需求分析
2.1 需求分析的任务
2.2 需求分析的原那么
2.3 可行性研究
2.3.1 可行性研究的任务
2.3.2 可行性研究的步骤
2.3.3 系统流程图
2.4 软件需求正确性验证
第三章系统设计与实现
3.1 开发工具的选择
3.2 系统分析
3.3 系统功能设计
3.4 主要功能模块设计
3.4.1 系统架构设计
3.4.2 控件准备和引用设置
3.4.3 系统登陆设计
3.4.4 主窗体的设计
第四章 系统的测试与实施
4.1 引言…
4.2 测试概述
4.3 测试举例
4.4 软件需求测试结论
第一章
1.1 历史背景
随着计算机技术的飞速开展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规X化的必要条件;计算机管理所无法比较的优点检索迅速、查找方便、可靠性高、存储量大、XX性好、寿命长、本钱低等。这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。不同的企业具有不同的人事管理制度,这就决定了不同的企业需要不同的人事管理系统。
人事管理系统是一个企业单位不可缺少的局部,它的内容对于企业的决策者和管理者来说都至关重要,所以人事管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、XX性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着计算机技术的飞速开展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。合理的利用有助于企业开展的管理系统是企业改革的一种优越的表达,不仅保证了核算准确度,还成倍的提高了工作效率,而且便于查询。作为计算机应用的一局部,使用计算机对人事信息进展管理,具有手工管理所无法比较的优点.例如:检索迅速、查找方便、可靠性高、存储量大、XX性好、寿命长、本钱低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
因此,开发这样一套适用的人事管理软件成为很有必要的事情,在下面的各章中我们将以开发一套人事管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。
第二章 需求分析
2.1需求分析的任务
需求分析的结果是系统开发的根底,关系到工程的成败和软件产品的质量。因
必须用行之有效的方法对软件需求进展严格的审查验证。
下面简要表达需求分析阶段的具体任务。
一、确定对系统的综合要求。
对系统的综合要求有下述四个方面:
1.系统功能要求
〔1〕登录管理
〔2〕人员管理
〔3〕部门管理
〔4〕报表打印
其中人员管理包括:添加,浏览,修改,撤销,删除,查询等:部门管理包括添加、修改,删除
2.系统性能要求
〔1〕对资源的使用状况作长期的监控和数据收集
– Snmp+MRTG
– Sar
〔2〕程序的优化和系统构造的优化比硬件的性能优化更有效
〔3〕防止不受限制的使用系统资源设置各项效劳对资源的使用限额,如Apache, MySQL,PHP等
3.运行要求
〔1〕支持系统运行的系统软件有 windows xp , Linux
〔2〕数据库管理系统有 Oracle系统,SQLserver, kingbose , OSCAR
〔3〕外存储器有 硬盘,光盘,移动硬盘,网盘,U盘等。
4.将来可能提出的要求
后台数据库的管理,前台界面管理,工资管理
二、导出系统的逻辑模型
我们把上述每一个定义作为数据字典中的一个条目。因此,在数据字典中有
类型的条目:数据流条目、文件条目和数据项条目。下面分别讨论。
1.数据流条目
数据流条目对每个数据流进展定义,它通常由四局部组成:数据流名、别名、组成和注释。其中,别名是前面已定义的数据流的同义词;组成栏是定义的主要局部,通常是列出该数据流的各组成数据项;注释栏用于记录其它有关信息,例如该数据流在单位时间中传输的次数等。
如果数据流的组成很复杂,那么可采用“自顶向下,逐步分解〞的方式来表示。
登录管理=管理人员登录+普通客户登录+会员登录
人员管理=内部提升+外部招聘
部门管理=【财务部门|销售部门|市场部门|人力资源部门|行政部门】
在数据字典各条目的定义中,常使用下述符号:
= 表示“等价〞;
+ 表示“与〞;
[ | ] 表示“或〞,即选括号中某一项,括号中各选择项用“|〞隔开。例如,三好学生=[ 甲|乙|丙|丁 ];
数据流条目的编写格式见表2-4-1、2-4-2“职工根本情况〞和“查询条件〞数据流条目。
表2-4-1
数据流名:职工根本情况
别 名:无
组 成:职工号++性别+出生时间+参加工作时间+职称+工作部门+工资+婚否
注 释:
表2-4-2
数据流名:查询条件
别 名:无
组 成:[查工资情况|查工作部门|查职称|查职工号]
注 释:数据量:约70次/天; 今后还要增加查询种类
2.文件条目
文件条目用来对文件(或数据库)进展定义。它由五局部组成:文件名、编号、组成、构造和注释。其中组成栏的定义方法与前面的数据流条目一样。构造栏用于说明重复局部的相互关系,比方指出是顺序或索引存取。文件条目的格式见表2-4-3 “人事档案文件〞的条目。
表2-4-3 人 事 档 案 文 件
文件名:人事档案文件
编 号:EMP
组 成:职工号++出生时间+参加工作时间+职称+工作部门+工资+婚否
结 构:以职工号为关键字、索引存取
注 释:今后还将增加数据项
3.数据项条目
数据项条目用来给出数据项的定义。由于数据项是数据的最小单位,是不可分割的,因此数据项条目只包含名称、代码、类型、长度和值的含义内容等。对于那些足以从名称看出其含义的“自说明〞型的数据项,那么不必在条目中再解释其含义。数据项条目的格式见表2-4-4所示的“人事管理系统的数据项条目〞。
表2-4-4 人事管理系统数据项条目
数据项名、代码、类型、长度、小数位、含义、别名、注释
职工号 数值型 6ZGH
字符型 8XM
性别 字符型 2XB
出生时间 日期型 8CSSJ
参加工作时间 日期型 8CZSJ
婚否 逻辑型 1HF
职称 字符型 8ZC
工作部门 字符型 10BM
工资 数值型 6GZ
2
三、修正系统开发方案
根据在分析过程中获得的对系统的更深入更具体的了解,可以比较准确地估计系统的本钱和进度,修正以前制定的开发方案。
四、开发原型系统
在计算机硬件和许多其它工程产品的设计过程中经常使用样机。建造样机通常有两个主要目的:检验关键设计方案的正确性及系统是否真正满足用户的需要。对于软件系统的开发,使用“样机〞(更正确的名称应该是原型系统)的主要目的是,使用户通过实践获得关于未来的系统将怎样为他们工作的更直接更具体的概念,从而可以更准确地提出和确定他们的要求。
2.2需求分析的原那么
需求分析的前提是准确、完整地获取用户需求。向问题领域的专家学习,进展用户需求查是需求分析的第一步。用户需求通常可以分为功能需求和性能需求两类。功能需求定义了系统应该做什么,系统要求输入什么信息,输出什么信息,以及如何将输入变换为输出。性能需求那么定义了软件运行的状态特征,如系统运行效率,可靠性,平安性,可维护性等等。
综合起来,应该获取用户需求的内容包括:
(1)物理环境。系统运行的设备地点、位置是集中式的还是分布式的,对环境的要求如何(如温度、湿度,电磁场干扰等)。
(2)系统界面。要求与其他系统进展数据交换的内容与格式,终端用户的类型与熟练程度,用户对界面的特定要求,用户操作的易承受性等。
(3)系统功能。系统应该完成的功能以及何时完成,对于系统运行速度、响应时间或者数据吞吐量的要求,系统运行的权限规定,系统可靠性要求,是否要求可移植,未来扩大或者升级的要求。
(4)数据要求。输入偷出数据的种类与格式,计算必须到达的精度,数据接收与发送的频率,数据存储的容量和可靠性,数据或者文件访问的控制权限,数据备份的要求。
(5)系统文档规格。系统要求交付什么文档,各类文档的编制规X和预期使用对象。
(6)系统维护要求。系统出错后可以允许的最大恢复时间,对错误修改的回归测试要求,系统运行日志规格,是否允许对系统修改,系统变化如何反映到设计中。
在获取需求过程中遇到的典型问题是:
(1)如何理解问题。大多数情况下,软件开发人员不是问题领域的行家。但是要准确、完整的获取需求必须对问题具有深入的理解与把握。许多问题即使是用户业务人员也可能没有自觉的认识。
(2)分析员与用户的通信问题。分析员对问题的理解必须从信息处理要求出发,而用户更多的考虑是本身的业务领域。与用户建立相互信任、有效的沟通是分析员的首要任务。
(3)用户需求的可变性。用户需求通常是不断变化的,而软件开发人员那么希望将需求冻结在某一时刻。影响用户需求变化的因素可以是用户领域的业务扩大或者转移,市场竞争的要求,用户主管人员的变更等。现实情况是分析员只能承受需求不断变化的事实,应该千方百计地使其工作适应需求的变化。
现实世界是复杂多变的。为了将现实世界中问题的求解映射为信息处理模型,对问题进展分解与抽象是普遍有效的根本法那么。
2.3可行性研究
2.3.1可行性研究的任务
并不是所有问题都有简单明显的解决方法,事实上,许多问题不可能在预定的系统规模之内解决。如果问题没有可行的解,那么花费在这项开发工程上的任何时间、资源、人力 和经费都是无谓的浪费。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。 必须记住,可行性研究的目的不是解决问题,而是确定问题是否值得去解。怎样到达这个 目的呢?当然不能靠主观猜测而只能靠客观分析。必须分析几种主要的可能解法的利弊,从而判断原定的系统目标和规模是否现实,系统完成后所能带来的效益是否大到值得投 资开发这个系统的程度。因此,可行性研究实质上是要进展一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进展的系统分析和设计的过程。
首先需要进一步分析和澄清问题定义。在问题定义阶段初步确定的规模和目标,如果 是正确的就进一步加以肯定,如果有错误就应该及时改正,如果对目标系统有任何约束和 限制,也必须把它们清楚地列举出来。
在澄清了问题定义之后,分析员应该导出系统的逻辑模型。然后从系统逻辑模型出 发,探索假设干种可供选择的主要解法(即系统实现方案)。对每种解法都应该仔细研究它的 可行性,一般说来,至少应该从下述三方面研究每种解法的可行性:
(1)技术可行性使用现有的技术能实现这个系统吗?
(2)经济可行性这个系统的经济效益能超过它的开发本钱吗?
(3)操作可行性系统的操作方式在这个用户组织内行得通吗?
分析员应该为每个可行的解法制定一个粗略的实现进度。
当然,可行性研究最根本的任务是对以后的行动方针提出建议。如果问题没有可行的.解,分析员应该建议停顿这项开发工程,以防止时间、资源、人力和金钱的浪费;如果 问题值得解,分析员应该推荐一个较好的解决方案,并且为工程制定一个初步的方案。
可行性研究需要的时间长短取决于工程的规模,一般说来,可行性研究的本钱只是预测
。
2.3.2系统流程图
在进展可行性研究时需要了解和分析现有的系统,并以概括的形式表达对现有系统的认识;进入设计阶段以后应该把设想的新系统的逻辑模型转变成物理模型,因此需要描绘未来的物理系统的概貌。
登录管理
部门管理
报表打印
人员管理
普通登录
会员登录
外部招聘
财务部门
内部提升
销售部门
市场部门
人力资源部门
行政部门
人事管理系统
管理员登录
2.5软件需求正确性验证
2.5.1软件需求正确性要求和验证方法
一般说来,应该从下述四个方面进展验证:
一致性所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。
完整性需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能。
现实性指定的需求应该是用现有的硬件技术和软件技术根本上可以实现的。对硬件技术的进步可以做些预测,对软件技术的进步那么很难做出预测,只能从现有技术水平出发判断需求的现实性。
有效性必须证明需求是正确有效的,确实能解决用户面对的问题。
第三章 系统设计与实现
3.1开发工具的选择
现在,市场上可以选购的应用开发产品很多,流行的也有数十种。在目前市场上这些众多的程序开发工具中,有些强调程序语言的弹性与执行效率;有些那么偏重于可视化程序开发工具所带来的便利性与效率的得高,各有各的优点和特色,也满足了不同用户的需求。然而,语言的弹性和工具的便利性是密不可分的,只强调程序语言的弹性,却没有便利的工具作配合,会使一些即使非常简单的界面处理动作,也会严重地浪费程序设计师的珍贵时间;相反,如果只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必需要消耗数倍的工夫来处理,使得原来所标榜的效率提高的优点失去了作用。
本设计我将采用面向对象的方法,综合运用数据库技术、程序设计技术,结合企业人事管理知识,以Visual Basic6.0作为系统前台应用程序开发工具,Access作为后台数据库,通过Visual Basic6.0中的Data控件使两者进展连接从而进展系统软件开发。
1. 软件Access的介绍
Microsoft Access是比较流行的关系型数据库管理系统之一,其根本核心是Microsoft Jet 数据库引擎,是一些关于某个特定主题或目的的信息集合。它的作用是用来存储,维护和检索数据。同时,提供了VBA 编程接口,可以为用户提供各种各样的编程功能。
2. 开发软件Visual Basic6.0的介绍
Visual Basic 6.0是微软公司推出的可视化编成工具,它提供了非常简单、快捷的开发方法,无论是初学者还是专业开发人员,只要稍有语言根底就可以快速掌握并精通。Basic是Beginner’s All-purpose Symbolic Instruction Code〔初学者通用符号指令代码〕的缩写,它诞生于20世纪60年代初期,因其简单易学、使用方便。
3. 开发语言ASP简介
ASPError! Reference source not found.是Active Server Page的缩写,意为“动态效劳器主页〞。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进展交互,是一种简单、方便的编程工具。ASP的网页文件的格式是.asp,现在常用于各种动态中。 ASP是一种效劳器端脚本编写环境,可以用来创立和运行动态网页或Web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及组件等。利用ASP可以向网页中添加交互式内容〔如在线表单〕,也可以创立使用HTML网页作为用户界面的web应用程序。
4. 数据库管理系统简介
本系统使用的是Microsoft AccessError! Reference source not found.,Access是一种关系数据库开发工具,数据库能聚集各种信息以供查询、存储和检索。Access的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。另外,Access允许创立自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件效劳器,与其他网络用户共享数据库。Access是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,Access作为关系数据库一切具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
3.2系统分析
1.系统需求分析
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一局部,使用计算机对人事信息进展管理,具有着手工管理所无法比较的优点。这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。根据以上情况,决定实施建立人事信息管理系统,因为人事信息管理是一个企业单位不可缺少的局部,它的内容对于企业的决策者和管理者来说都至关重要,所以人事信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。随着计算机技术的飞速开展,计算机在企业管理中应用的普及,利用计算实现企业人事档案的管理势在必行。当前企业信息管理系统正在从US构造向B/S构造转移,但是由于平安性等方面的因素,C/S构造的管理信息系统仍然占据企业管理信息系统的主流。人事管理系统是现代企业管理工作不可缺少的一局部,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规X化的必要条件。
2.可行性分析
人事管理系统后台数据库采用目前应用十分广泛的桌面型关系数据库Microsoft Office Access 2003,由于其具有快速、方便、灵活和可移植性等特点被大多数软件开发者所使用;前台采用Visual Basic 6.0作为主要的开发工具,其可与Access 2003数据库无缝衔接。
3.3系统功能设计
1.系统的功能分析
人事信息管理系统是一个典型的数据库开发应用程序,它由员工信息管理、工资管理、假条信息管理、系统用户管理等模块组成,具体规划如下:
〔1〕系统用户管理:
对使用系统的用户进展管理,为他们分配一定的权限,使他们规X的使用系统。本系统的用户分为两类:管理员和一般用户。管理员可以对系统的各个模块进展添加,删除,修改,查询;而一般用户只能对各模块进展简单的查询,从而了解相关的信息。
〔2〕职工信息管理:
职工信息管理包括对职工根本信息和情况的记录进展查询、添加、删除和修改。主要由管理员进展。
〔3〕职工工资管理:
职工工资管理主要是对职工工资的综合的核算,建立合理,规X的企业工资核算制度,保障职工的合法权利。
〔4〕职工假条管理:
职工假条管理是对职工的出勤进展管理,方便人事处管理员对职工工资的核算,方便随时了解最新,最全面工作情况,从而合理的完成工作。
2.系统功能构造
系统功能构造图主要从功能的角度描述了系统的构造。
人事管理的系统功能构造如图1所示:
人事管理系统
用户登录
人员管理
部门管理
报表打印
添加
修改
删除
查询
浏览
撤销
添加
修改
删除
图1 系统功能构造图
3.数据库设计
人事管理系统的数据库采用Access ,系统数据库的名称为“data〞。数据库data中包含了4X数据表。下面分别给出数据表概要说明和主要数据表的构造。
〔1〕职工信息数据表:用于储存员工的根本信息。职工信息表见表1所示:
表1 人员根本信息表
字段
字段名
类型
宽度
Nulls
1
编号
数值型
11
否
2
字符型
20
否
3
XX号
字符型
18
否
4
民族
字符型
10
否
5
性别
字符型
4
否
6
出生日期
字符型
20
否
7
学历
字符型
20
否
8
字符型
20
否
9
联系
字符型
20
否
10
照片
字符型
20
否
〔2〕部门信息数据表:用来存储部门的具体情况,包括编号和部门名称等信息。部门信息表见表2所示:
表2 部门信息表
字段
字段名
类型
宽度
Nulls
1
部门编号
字符型
50
否
2
部门名称
数值型
11
否
3.4主要功能模块设计
3.4.1系统架构设计
人事管理系统的架构分为窗体和模块两个局部。在窗体的局部有以下几个窗体,他们的作用分别是:
“frmAbout〞是关于窗口,是对系统的说明;
“frmEdit.frm〞是编辑窗口,可以对员工信息进展添加,删除的操作;
“frmHelp.frm〞是帮助窗体,对新用户提供帮助;
“frmLogin.frm〞是用户的登陆窗口,启动系统时就会出现这个窗口;
“frmmain.frm〞是系统主界面,用户可以选择要执行的任务;
“frmPsw.frm〞 是密码修改,用户可以在此修改自己的密码;
“frmSearch.frm〞 是寻找窗口,用户可以进展模糊查询和逻辑查询;
“frmSetup.frm〞是设置条目的窗口,管理员可以把可以对外公布的设置为显示条目, 而对少数人公布的设置为隐藏条目,从而到达不同的使用者具有不同的使用权限;
“frmSys.frm〞 是关于用户窗体,在这个窗体中可以添加新用户,可以设置密码,也可以对用户权限进展授权,这个窗体和数据库也有密切的联系,可以在这里更新用户信息;
“frmTable.frm〞是桌面窗体,它罗列了员工学历和部门的信息,同时可以进展添加,编辑和删除的操作。系统架构说明见图2所示:
图2 系统架构图
3.4.2控件准备和引用设置
控件准备和引用设置是目前制作应用程序的前提条件,在Visual Basic 6.0默认的工具箱中,很多使用的部件没有显示,所以要将我们需要的部件添加进工具箱。另外,包括一些库文件的函数,也是没有被引用,我们要先将这些具有特定功能的函数引用。
1.控件准备
人事管理系统中需要通过“工程〞→“部件〞命令添加到工具箱中的“ActiveX〞部件,见图3所示。
图3 人事管理系统的控件准备图
2.引用设置
人事管理系统中需要通过“工程〞→“引用〞命令引用库文件内的函数,来完成数据库的连接,见图4所示。
图4 人事管理系统的引用设置
3.4.3系统登陆设计
系统用户登录模块主要用于完成对登录系统的用户的验证,只有合法的用户才可以进入系统。运行用户登陆模块,其结果见图5所示:
图5 用户登录的运行结果
1.系统登陆窗体的功能
登录窗体是用户进入系统的钥匙,只有合法的登录才是有效的登录。在本系统中预设了两种用户:root超级用户和any一般用户,超级用户对一般用户有管理的功能。超级用户和一般用户对系统的员工信息,假条信息,工资信息都有编辑,删除,查询,设置的功能。
2.系统登陆的代码设计
〔1〕登陆窗体代码设计
窗体代码主要实现了连接数据库的功能,这里用于连接用户信息表。其程序如下:
Private Sub Form_Load()
Dim i As Integer
If App.PrevInstance Then
MsgBox ("程序已经运行,不能再次装载。"), vbExclamation
Unload Me
End If
'本段代码用于判定本程序是否已经装载于内存中,以防止程序的多重启
i = 0
Open App.Path + "\user.ini" For Input As #1
Do While Not EOF(1)
Input #1, user(i), pws(i), state(i), Emplo(i)
If state(i) = "A" Then
bo1.AddItem user(i)
End If
i = i + 1
Loop Close #1
bo1.ListIndex = 1
'在窗口装载阶段读取用户设置文件获取用户信息 并装载于用户列表框中
End Sub
〔2〕“取消〞按钮是退出登录界面,退出系统的。其代码如下:
Private Sub CmdCancel_Click()
Unload Me
End
End Sub
〔3〕“确定〞按钮代码设计
“确定〞按钮代码主要实现了用户登陆时,用户名和密码的认证,当用户名或密码错误时,系统提示错误。其程序如下:
Private Sub cmdOK_Click()
If txtPassword = pws(bo1.ListIndex) Then
CurId = bo1.ListIndex
EmploID = Emplo(CurId)
CurUser = user(CurId)
CurPsw = pws(CurId)
Me.Hide
'Load FrmMain
FrmMain.Show
Else MsgBox "Invalid Password, try again!", , "Login"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
End If End Sub
3.4.4主窗体的设计
主窗体界面是显示系统主要操作功能的面板,在系统主窗体的状态栏中,可以显示当前的操作员、当前系统的日期时间、程序制作人员等信息,还可以通过菜单的列表或窗体中的按钮来控制其他功能子窗体,并且为不同的操作员赋予相应的操作权限。
1.系统主窗体的功能
成功登录后,进入的系统的主窗体,在主窗体中有两组按钮,第一组是表单 钮,通过点击相应的按钮可以在主窗体中显示不同的表单,在第一组按钮中设置按钮对超级用户和一般用户所执行的情况不同。第二组按钮是对各个表的操钮,包括编辑,删除,查询和设置。
2.系统主窗体的主要代码设计
主窗体是由两组按钮实现的,它们分别是窗体选择的单击事件按钮和命令事件按钮。
〔1〕窗体选择的单击事件代码设计
窗体选择的单击事件代码主要实现了进入本系统所有模块的功能,这里有以下几个模块,它们分别是员工信息模块,假条信息模块,工资管理模块,用户设置模块等/其程序如下:
Private Sub Toolbar2_ButtonClick(ByVal Button As MSctlLib.Button)
Select Case Button.Index
Case 1
Call showemployee‘显示员工信息模块
Case 2
Call showleave‘显示假条信息模块
Case 3
Call showsalary‘显示工资信息模块
Case 4
If frmLogin.CurUser = "root" Then
FrmSys.Show
Else
FrmPsw.Show
Pwin = "Frmmain"
FrmMain.Enabled = False
End If
End Select
End Sub
〔2〕命令按钮的单击事件代码设计
命令按钮的代码主要实现了进入本系统局部主要模块的功能,这里有以下几个功能,它们分别是编辑,删除,查询,设置。其程序如下:
Private Sub Toolbar1_ButtonClick(ByVal Button As MSctlLib.Button)
Select Case Button.Index
Case 1 'edit
FrmEdit.Show
FrmMain.Enabled = False
Case 2 'del
If DBGA.SelBookmarks.Count = 1 Then
If MsgBox("确定要删除吗?", vbOKCancel, "确定") = vbOK Then DataA.Recordset.Delete cuAp = 0
Else MsgBox "请选择要删除的条目!"
End If
Case 3 'seek
FrmSearch.Show
Case 4 'setup
FrmSetup.Show
End Select
End Sub
3.员工信息模块的功能
把员工信息表作为主窗体的默认表,所示主窗体的运行结果也是员工信息表的运行结果。在员工信息表中可以对员工信息进展编辑,删除,查询和设置。
〔1〕员工信息的编辑是可以对新员工进展添加录入,对在职员工的信息进展修改,也可进展相应的删除操作。员工信息编辑窗体运行结果见图7所示:
图7 员工编辑窗体的运行结果
〔2〕员工信息的删除是删除所有该员工的信息,在删除需要选择所要删除的员工,在没有选择的情况下会出现要求选择员工的窗体,在选中的情况下是会出现确定窗体。选择条目窗体见图8所示,确定窗体见图9所示:
图8 选择条目窗体
图9 确定窗体
〔3〕员工信息的查询是用户可以通过员工信息表中员工的相关信息进展模糊查询和逻辑查询,可以帮用户快速找到相应的员工。用户可以通过员工信息查询信息。员工信息查询窗体见图10所示:
图10 员工信息查询窗体
〔4〕员工信息设置是对员工的相关信息的显示与隐藏的设置,本系统可以对员工信息进展显示条目和隐藏条目的设置。员工信息设置窗体见图11所示:
图11 员工信息设置窗体
4.系统用户管理模块
系统用户管理分为用户管理和口令修改两个局部。
〔1〕用户管理的设计
用户管理是人事信息管理系统中的比较重要的局部,它可以帮助管理员管理用户信息。在本系统中系统用户管理可以为不同的用户设置不同的权限,系统管理者可以添加、删除用户,但是普通用户那么不可以操作,所有的用户都可以修改自己的口令。用户信息管理模块只有系统管理者才能进入。
在本系统中超级用户可以对一般用户进展授权,用户权限窗体见图20所示:
图20 用户权限设置窗体
〔2〕口令修改的窗体设计
口令修改是人事信息管理系统中的比较重要的局部,它可以帮助用户修改自己的密码。首先用户要正确输入自己的旧密码,两次输入自己的新密码,否那么系统便会抱错。口令修改模块的运行结果见图8所示:
图21 用户管理模块的运行结果
〔3〕口令修改的主要代码设计
“确定〞按钮的代码主要实现了用户密码的修改功能,当旧密码错误或两次新密码输入不一致时,系统会提示错误。其程序如下:
Private Sub cmdOK_Click()
Dim fil, i, Usercount As Integer
If TxtNew1.Text <> TxtNew2.Text Then
MsgBox "two times no yizhi"
TxtNew1.SetFocus
TxtNew2.Text = ""
SendKeys "{Home}+{End}"
Exit Sub
ElseIf Txtold.Text <> frmLogin.CurPsw Then
MsgBox "old password wrong"
Txtold.SetFocus
TxtNew1.Text = ""
TxtNew2.Text = ""
SendKeys "{Home}+{End}"
Exit Sub
Else fil = FreeFile()
Open App.Path + "\user.ini" For Input As #fil
i = 0
Do While Not EOF(fil)
Input #fil, user(i), pws(i)
Input #fil, state(i), Emplo(i)
i = i + 1
Loop
Usercount = i
Close #fil
pws(frmLogin.CurId) = TxtNew1.Text
frmLogin.CurPsw = TxtNew1.Text
fil = FreeFile()
Open App.Path + "\user.ini" For Output As #fil
For i = 0 To Usercount - 1
Print #fil, user(i); ","; pws(i); ","; state(i); ","; Emplo(i)
Next i
Close #fil
Txtold.Text = ""
TxtNew1.Text = ""
TxtNew2.Text = ""
Me.Hide
If FrmMain.Pwin = "Frmmain" Then
FrmMain.Enabled = True
FrmMain.SetFocus
Else
展开阅读全文