76范文网为您提供各类范文参考!
当前位置:76范文网 > 知识宝典 > 范文大全 > 职工教育培训管理系统说明书软件项目开发课程设计

职工教育培训管理系统说明书软件项目开发课程设计

来源:76范文网 | 时间:2019-06-08 17:52:04 | 移动端:职工教育培训管理系统说明书软件项目开发课程设计

职工教育培训管理系统说明书软件项目开发课程设计 本文简介:

摘要本系统以企业职工教育培训管理系统为设计课题,对小型企业进行人事信息进行管理。企业职工信息管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性好、完整性强、数据安全性高的数据库,所以数据库设计采用数据库规范设计的方

职工教育培训管理系统说明书软件项目开发课程设计 本文内容:



本系统以企业职工教育培训管理系统为设计课题,对小型企业进行人事信息进行管理。企业职工信息管理系统是典型的信息管理系统(MIS),
其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性好、完整性强、数据安全性高的数据库,所以数据库设计采用数据库规范设计的方法,基于3NF(第三范式)的设计方法,基于抽象语法规范的设计方法等,而对于后者则要求应用程序功能完备,易使用等特点,经过分析,系统用使用了
MICROSOFT公司的
VISUAL
FORFRO
6.0作为系统开发工具开发本管理系统。软件开发全过程采用工程的概念、原理、技术和方法来开发此软件,使得以后企业进行员工信息管理时,可以作为它的一个模块使用。本系统包括在职员工档案管理、添加、删除.数据查询、系统维护、系统功能、帮助和退出等功能。
关键词:
信息管理系统(MIS);
NF(第三范式);
VISUAL
FORFRO
6.0
目录


1


4
1、
可行性研究
5
1.1职员信息的意义5
1.2可行性研究5
1.2.1经济上可行性
5
1.2.2操作上可行性
5
1.2.3技术上可行性
5
1.2.4运行上可行性
5
2、
管理信息系统综述

6
2.1

信息系统的发展历程
6
2.2
管理信息系统概述
6
2.3系统功能结构图
7
3、需求分析
9
3.1企业工作流程分析

9
3.2公司具体需求分析

9
3.3系统设计思想

9
3.4系统设计分析

9
3.5系统功能分析

9
3.6企业员工信息管理系统的目标
10
3.7数据库分析
10
3.8数据流图

10

3.8.1数据元素表

133.8.2
数据流
133.8.3
数据存储14
4、
概要设计15
4.1总体设计

154.1.1处理流程
154.1.2系统模块菜单

154.1.3企业员工信息管理系统所需完成具体的功能
154.1.4系统模块图
164.1.5接口设计

16
4.2各模块的具体分析17
4.3出错输出信息17
5、
详细设计
18
6、
程序的实现

23

6.
1数据库表测试记录如下
23
6.
2主要模块的设计说明和程序代码

24
6.
3测试情况

40
6.3.1主程序、数据表、功能模块及报表对应文件名

41
6.3.2程序使用说明
41
6.4
结束语41
参考文献43
设计总结44
致谢45序

近年来,随着计算机技术的发展和互联网时代的到来,我们已经进入了信息时代,也有人称为数字化时代,在这数字化的时代里,企业职员信息管理都受到了极大的挑战。
企业职员信息管理系统是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以企业职员信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对企业职员信息系统进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高企业职员信息管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
本系统为企业职员信息管理系统,是一个的信息管理系统,其开发主要包括数据库的建立和维护以及前端应用程序的开发两个方面。
经过分析,我使用了
MICROSOFT公司的
VISUAL
FORFRO
6.0开发工具,利用其提供的各种面向对象的开发工具,在短时间内建立系统应用原形,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成一个满意的可行系统。
在下面的各章中我将以开发企业职员信息管理系统,谈谈其
开发过程和所涉及到的问题及解决方法。
--------------------下面就让我们开始正文的介绍1、可行性研究
1.1企业职员信息的意义:
在各大中小企业,用计算机管理企来的信息已经越来越普遍了。用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了职员资料的安全性。提高了企业的管理能力,为此,用计算机来职员的信息,是非常必要的。
我作为一个计算机专业的学生,希望能有所贡献。用我三年的所学编制了一个实用的程序来帮助这个公司进行更有效的企业职员信息管理
1.2可行性研究:
目的:可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能够解决
1.2.1经济上可行性:
现在,计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开发,
为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:
第一,本系统的运行可以节省许多资源。
第二,本系统的运行可以大大的提高公司的工作效率。
第三,本系统可以使敏感文档更加安全,等等。
所以,本系统在经济上是可行的。
1.2.2操作上可行性:
第一,可以存储职员的基本信息,安全、高效。
第二,只需一到二名档案录入员即可操作系统,节省大量人力。
第三,可以迅速查到所需信息。
所以,本系统在操作上是可行的。
1.2.3技术上可行性:
我使用VISUAL
FOXPRO进行数据库的开发,,它是一个优秀的数据库管理系统,它提供了快速、高效的数据管理性能。我们可以使用VISUAL
FOXPRO将数据组织成数据库,然后使用VISUAL
FOXPRO的集成环境或使用VISUAL
FOXPRO编制的应用程序,对数据库进行操作。当需要使用数据库中的数据时,可以通过VISUAL
FOXPOR集成环境中的菜单、命令或已编制好的应用程序快速地将所需要的数据找出来,还可以将这些数据按指定的格式整理成文档。
在下文中还将有详细的介绍。
所以,本系统在技术上是可行的。1.2.4运行上可行性:
本系统为一个企业职员信息管理系统,所耗费的资源非常的小,公司的电脑无论
是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。
2、
管理信息系统综述
2.1

信息系统的发展历程
信息系统的发展经历了从电子数据处理系统到管理信息系统的发展过程。
1.电子数据处理系统(1953~1960年)
数据处理的人工系统在计算机问世以前就已存在,因此,计算机一出现,首先就用到数据处理上。当时主要用计算机代替手工劳动,如统计产量、工资计算等。1960年以后出现的数据更新系统也属于这方面的内容。例如,美国share航空预约订票系统可掌握1008个预约点,76000个座位和27000个飞行记录。由于这种系统不能报告当前的售票速度、何时才能将票售完,即没有预测和控制功能,所以还不能说是管理信息系统。
2.信息报告系统(1961~1970年)
信息报告系统是管理信息系统的雏形,其特点是按事先规定的要求提供管理报告,用来支持决策制订。通常包括生产状态报告系统、服务状态报告系统、研究状态报告系统。
3.决策支持系统(1970~1980年)
在欧美,早期的管理信息系统失败了,原因并非由于系统不能提供信息。当时的管理信息系统能够提供很多报告,呈送给领导后,这些资料大部分被丢进垃圾堆,因为这不是领导决策所需要的。决策支持系统不同于早期的管理信息系统。早期的管理信息系统要为管理者提供预定的报告或从数据库查询数据,而决策支持系统则是在人和计算机的对话过程中帮助决策者探索可能的方案,生成管理决策所需要的信息。
4.信息系统的进一步发展
随着微型计算机处理能力和通讯网络的高速发展,信息系统出现了不少新的概念,诸如:
①专家系统和其它基于知识的系统;
②经理信息系统-用于支持领导层的决策;
③战略信息系统-用于在竞争中支持战略决策;
④电子数据交换;
⑤计算机集成制造系统等。
有关这些内容就不详述了。下面着重论述一下管理信息系统:
2.2
管理信息系统概述
管理信息系统是一个由人和计算机等组成的,能进行管理信息的收集、传递、加工、保存、维护和使用的系统,它能实测国民经济和企业的各种运行情况;利用历史数据预测未来;从全局出发辅助管理决策;利用信息控制企业的行为、帮助实现其规划目标。也就是说,管理信息系统不仅是一个能对管理者提供帮助的基于计算机的人机系统,而且是一个社会技术系统。应当将管理信息系统放到社会这个大背景去考察,在解决技术问题的同时,充分考虑使用信息技术的组织与人,重视系统与组织、环境的交互作用。
管理信息系统是介于信息论、经济管理理论、统计学与运筹学以及计算机科学之间的一门边缘性、综合性、系统性的交叉学科。它是伴随着管理科学、信息技术、计算机技术等的发展而产生和发展起来的。
20世纪20年代以来,人们对管理的重视是管理信息系统产生的前提。从以“泰勒制”为代表的科学管理的出现,经过了行为科学学派、数学管理学派、计算机管理学派、系统工程学派的发展,使管理水平不断提高。计算机的诞生和飞速发展使信息管理现代化成为可能。而信息技术的不断进步为信息管理提供了强有力的工具和手段,使人类开发利用信息资源的能力大大增强,使整个社会的信息化水平不断提高。
系统初步调查和可行性分析的工作步骤如图所示
(使用单位要求)
组织队伍拟定计划
单位情况调查
现行信息系统调查
确定新系统的目标和功能
提出技术方案
明确新系统对单拟定新系统
效益分析
位变化的影响
开发计划

可行性论证

不可行
修改

(评审)
不可行
修改
(系统分析)

可行性论证的工作步骤2.3系统功能业务流程图。
员工信息

部门
员工信息
员工信息管理
员工信息管理



员工个人基本信息
其他员工的基本信息



员工信息








打印

理员3、需求分析
21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,学校信息管理系统软件为学校办公室带来了极大的方便。我所开发的这个系统所采用的是VISUAL
FOXPRO,其功能在系统内部有源代码直接完成。我们只需按系统要求输入即可操作。
3.1企业工作流程分析

公司工作总体规划由档案管理人员在企业员工信息管理系统中完成对运行公司所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在这进行操作。

3.2公司具体需求分析

员工:对个人基本信息的查询及查看本公司其它人员的基本信息。
信息管理人员:对员工基本信息进行管理,修改,并对员工的增加和减少进行管理。

3.3系统设计思想
1、
采用现有的资源,先进的管理系统开发方案,充分利用公司现有的资源,减少开发中的时间和财力、物力、提高系统开发的水平和应用效果。
2、
系统就满足公司的需求,例如员工信息的录入、查询、更新等。。
3、
系统就具备数据库维护功能,及时根据用户需求进行数据添加、删除、修改等操作。
3.4系统设计分析
本系统适用于小型企业,其功能主要分为
用户管理:用于对用户的添加,删除,修改。
帮助信息:用于对本系统的具体操作进行详解。
本系统性能力求易于使用,具体有较高的扩展性和可维护性。
3.5系统功能分析
系统数据初始化;
职员信息数据的增加;
职员信息数据的修改;
职员信息数据的删除;
职员信息的一览和查询;
职员信息的报表打印
3.6企业员工信息管理系统的目标
随着经济的发展,企业正向着大型化、规模化的方向发展,企业职员数量急剧增加,有关职员的各种信息量也成倍增长。在这种情况下单靠人工来处理职员的信息,工作量将很大,若公司人员有几万甚至几十万,人工处理将变得不可想象。用计算机可使人们从繁重的劳动中解脱出来,仅使用一些简单的操作便可及时、准确地获得需要的信息。
该系统的具体任务就是设计一个企业职员信息管理系统,由计算机来代替人工执行一系列诸如增加新进职员信息、变更职员信息、删除离职职员信息、查询及打印等操作。这样就使办公人员可以轻松快捷地完成职员信息管理的任务,使企业的职员管理工作系统化、规范化、自动化,从而达到提高企业管理效率的目的。
设计的指导思想是一切为用户着想,界面要美观大方,操作尽量简单明了,而且作为一个实用的应用程序要有良好的容错性,在用户出现误操作时能尽量及时地给出警告,以便用户及时改正。
3.7数据库分析

用户需求具体有教学管理系统提供保存、更新、查询、维护和打印,这就需求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。
3.8数据流图
数据流图简称DFD图,数据流图有四种成分:源点或终点、处理、数据存储表和数据流。图中没有任何具体的物理元素,只是描述信息在系统中的流动和处理情况,即使不是专业的计算机技术人员也容易理解,是极好的理解工具。它能精确的描述系统的逻辑模型,描述数据在MIS中有输入经过存储、加工处理最后输出的全过程,是设计者和用户交流的很好的工具。
在对现行系统进行详细调查的基础上,用一定的方式将系统的信息流程表示出来。数据流图是用图的形式表示对象的逻辑模型,使用户能直观地理解系统的概貌,系统设计人员能够在逻辑模型的基础之上进行系统设计,给出系统功能结构。
数据流图是系统的逻辑模型的组成部分。这个模型不依赖于硬件、软件、数据结构及文件组织。
其数据流图如下:

F3
一般用户
F1
一般用户
P0
企业员工信息管理系统

F4
系统管理员
F2
系统管理员
图1
企业员工信息管理系统顶层TOP图

F3
F1
一般用户
P1
员工
信息
维护
一般用户
F4
F2
系统管理员
P2
系统信息
维护
系统管理员图2
企业员工信息管理系统一级细化DFD

F3.1
一般用户/系统管理员
P1.1
在职
员工
信息
维护
F1.1
一般用户/系统管理员
在职员工基本信息表
D1
一般用户/系统管理员
P2.4
档案
状态
维护
D7
F2.4
档案状态表
一般用户/系统管理员
F4.4

图3
企业员工信息管理系统二级细化DFD
数据字典
数据字典是对数据流图中包含的所有元素的定义的集合,其主要用途是作为分析阶段的工具以改进分析员和用户之间的通信消除许多可能的误解,对开发人员则能避免许多麻烦的接口处理问题。
数据字典条目的类型有:数据流条目、文件条目、加工条目、数据项条目。
下面用数据字典汇总一览表来表达数据流程图中的数据流、数据文件、数据加工及数据元素,其具体格式如下:
3.8.1
数据元素
字段名
数据类型
字段大小
职员号(主键)
CHARACTER
4
姓名
CHARACTER
8
性别
CHARACTER
2
生日
CHARACTER
10
学历
CHARACTER
8
政治面貌
CHARACTER
4
联系电话
CHARACTER
12
家庭住址
CHARACTER
40
所属部门
CHARACTER
10
现任职务
CHARACTER
10
进本单位年份
CHARACTER
4
备注
MEMO
4
3.8.2数据流
F1
基本档案信息
F3.1.2
在职员工信息输出报表
F1.1
在职员工档案信息
F4
系统信息表
F2
系统表信息
F4.1
政治面貌表
F2.1
政治面貌情况
F4.2
民族信息表
F2.2
民族信息
F4.3
学历情况表
F2.3
学历信息
F4.4
档案状态表
F2.4
在职员工信息
F4.5
部门情况表
F2.5
在职员工个人信息
D5
民族信息表
F3
在职员工的基本信息
D6
学历信息表
F3.1
政治面貌信息表
D7
员工状态表
3.8.3数据存储:表3
数据存储表
名字:在职员工档案信息
描述:在职员工的基本信息
编号:D1
组成:职员号,姓名,性别,生日,学历,政治面貌,联系电话,家庭住址,所属部门,
现任职务,进本单位年份,备注
4、概要设计4、概要设计
目的:设计系统结构,根据需求要析给出的功能得出系统体系结构。如划分模块。
目标:通过本系统软件,能帮助工作人员利用计算机,快速方便的对所属公司的信息管理进行维护、输入、输出、查找的所需操作,使散乱的员工数据能够具体化,直观化、合理化。
开发和运行环境选择

开发工具:Visual
FoxPro6.0。
运行环境:Windows
7或Windows
xp。
4.1总体设计
4.1.1处理流程:
1.启动系统,激活登陆口令界面。
2.通过验证后,对系统进行初始化。
3.系统进入消息循环,通过事件驱动机制激活相应的功能模块,并执行相应的功能;
4.通过关闭系统事件,激活关闭系统模块,退出系统。
4.1.2系统模块菜单:
企业员工信息管理系统
用户管理
添加用户
修改用户
删除用户
员工信息管理
添加员工信息
查询员工信息
修改员工信息
删除员工信息
4.1.3企业员工信息管理系统所需完成具体的功能:
系统管理模块:用户的添加、删除、修改。
员工信息管理模块:输入员工基本信息,并可以对员工信息进行添加、查询、修改、删除。还可以关键字查询并从数据库里调出的员工基本信息.
输出员工基本信息。
4.1.4系统模块图:(图4)

职员信息管理系统
主界面
增加记录
修改
删除记录
查询
报表打印
退出
打印预览
打印报表
一览
条件查询
系统功能模块结构图

4.1.5接口设计
外部接口:用户一般通过终端进行操作,用户进入界面后进行相应的操作。

硬件接口:赛扬133
、内存32兆以上PC机满足输入端条件。
软件接口:Windows98/NT或更高的操作系统。
内部接口:内部接口(模块之间的接口)
验证模块:启动系统时,便激活登陆口令界面;
初始化模块:对系统进行初始化;
系统功能模块:接收系统功能的相应消息,启动信息录入、信息查询、信息维护等模块。

4.2各模块的具体分析

1.
系统管理模块:用于管理系统的用户及赋于权限对本系统的操作。实体E-R图如下:(图5)系统管理

用户身份
用户

(图10)

2.员工信息管理:主要用于员工的基本信息管理(如员工号、姓名、性别、出生年月、联系地址等)。实体E-R图如下:(图6)
员工信息管理
进单位年份
现任职务
所属部门
员工号

4.3出错输出信息:本系统采用人-机对话模式,若操作失误则弹出对话框(如:输错信息等)
出错处理对策:用户可根据弹出对话框中的提示信息进行操作。

5、详细设计
目的:为系统中的每一个模块确定使用的算法和块内数据结构,并用表达工具给出清晰的描述。
实现数据库之间的联系:数据库之间的关系指明两个库之间共享一个共同的关键字值。一个连接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。一个更高级的连接形式称为自连接。这种连接是指一个表被连接到它自己的一个字段,或在不同的纪录中由重复数据的组合字段。数据库中有三种不同类型的关键字:主关键字、组合关键字和外关键字。在表中使用的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关系。

修改已建的数据库:数据库的修改分为添加、编辑和删除记录。我都由VISUAL
FOXPRO
创建的程序来实现。
IPO图
IPO图实际上是一张图形化的表格。它描述分层图中每一个模块的输入输出关系、处理内容、本模块的内部数据和模块间的调用关系,是系统设计的重要成果,是系统实施阶段编制程序设计任务书和进行程序设计的出发点和依据。在系统设计中每一模块必须
有相应的IPO图作为设计结果的描述。




称:员工档案管理模块代码:P1

层调用模块:无
可调用下层模块:P1.1、P1.2
、P1.3

入:F1

理:DO
WHILE
档案数据录入档案数据录入
IF
档案数据录入正确

INSERT
()

VALUSE(相应字段录入)
ELSE
重新录入
END
IF
END
DO

出:档案信息




称:系统表维护模块代码:P2

层调用模块:无
可调用下层模块:P2.1、P2.2
、P2.3、
P2.4
、P2.5


入:F2

理:DO
WHILE
系统表信息录入
IF数据录入正确

INSERT
()

VALUSE(相应字段录入)
ELSE
重新录入
END
IF
END
DO

出:所属部门,政治面貌信息,民族信息
学历信息等



称:在职员工维护模块代码:P1.1

层调用模块:P1
可调用下层模块:无

入:F1.1

理:DO
WHILE
在职员工信息录入
IF数据录入正确

INSERT
()

VALUSE(相应字段录入)
ELSE
重新录入
END
IF
END
DO

出:在职员工信息



称:在职人员报表输出
模块代码:P1.1.3

层调用模块:P1.1
可调用下层模块:无

入:D1

理:
SELECT(*)
FROM
B_0001
IF
打印
输出报表
END
IF

出:分类档案数据报表模


称:在职职工查询

模块代码:P1.1.2

层调用模块:P1.1
可调用下层模块:无

入:D1

理:SELECT(*)
SUM
ALL(符合条件的数据)
分类ALL

出:在职员工分类查询结果
查询

不符合条件
条件
?
?
满足条件
数据库
显示结果
退出查询模块流程图(图8)
维护
查找记录
查找成功
显示出错信息
修改增加记录继续?
继续?退出

维护模块流程图(图9)
6、程序的实现
6.
1数据库表测试记录如下(无“备注”):
职员号
姓名
性别
生日
学历
政治面貌
联系电话
家庭住址所属部门
现任职务
进本单位年份
0001
刘备


1960/09/10
博士
党员
027-87820910
武汉市洪山区关山


CEO
1985
0002
关羽


1965/04/15
本科
党员
027-87800415
武汉市洪山区卓刀泉
销售部
经理
1985
0003
张飞


1966/07/30
本科
党员
027-87830730
武汉市洪山区鲁巷

生产部
经理
1985
0004
赵云


1967/12/02
本科
党员
027-87311202
武汉市洪山区中南路
配送部
经理
1988

0005
诸葛亮

1970/06/06
博士
党员
027-88850606
武汉市武昌区大成路

CIO
1990
0006
孙乾


1966/07/17
专科
团员
027-86580717
武汉市青山区八大家
人事部
职员
1988
0007
赵敏


1972/05/30
博士
党员
13871360530
武汉市桥口区武胜路
财务部
经理
1993
0008
郭襄


1974/11/08
硕士
党员
13871081108
武汉市江汉区江汉路
广告部
经理
1995
0009
苗若兰

1976/02/14
本科
党员
027-88850214
武汉市武昌区中山路
财务部
主管
1997
0010
周芷若

1975/10/25
本科
党员
027-84771025
武汉市汉阳区钟家村
广告部
主管
1996
0011
简雍


1967/09/27
专科
团员
13011240927
武汉市青山区红钢城
后勤部
职员
1987
0012
糜竺


1967/07/12
专科
团员
027-86560712
武汉市青山区任家路
后勤部
职员
1987
0013
徐庶


1969/03/05
硕士
党员
13339680305
武汉市武昌区积玉桥
人事部
经理
1989
0014
钟灵


1978/06/16
专科
团员
13976270616
武汉市洪山区街道口
广告部
职员
1999
0015
穆婉清

1977/12/24
专科
团员
027-88321224
武汉市武昌区武泰闸
财务部
职员
1998
0016
庞统


1966/01/31
博士
党员
13035250131
武汉市武昌区小东门
技术部
经理
1990
0017
蒋琬


1972/10/07
本科
党员
027-83861007
武汉市桥口区易家墩
技术部
主管
1995
0018
马超


1975/06/12
本科
党员
13029680612
武汉市江汉区姑嫂树
销售部
主管
1996
0019
黄忠


1955/09/26
本科
党员
13578280926
武汉市武昌区梅家山
配送部
主管
1991
0020
廖化


1968/05/11
专科
团员
13013570511
武汉市江岸区永清街
销售部
职员
1988
6.
2主要模块的设计说明和程序代码
系统主界面
系统主界面是用户进入系统后主要接触的界面,由它可以进入各个功能模块。分别单击按钮“增加记录”、“修改记录”、“删除记录”、“查询”、“报表打印”可进入与之相对应的功能模块,单击“退出”按钮退出本系统。为使界面不至于单调,可以为主界面加入背景。
在“增加记录”按钮的“Click”事件中添加代码如下:
do
form
增加记录
thisform.release
在“修改记录”按钮的“Click”事件中添加代码如下:
do
form
修改记录
thisform.release
在“删除记录”按钮的“Click”事件中添加代码如下:
do
form
删除记录
thisform.release
在“查询”按钮的“Click”事件中添加代码如下:
do
form
查询
thisform.release
在“报表打印”按钮的“Click”事件中添加代码如下:
do
form
报表打印
thisform.release
在“退出”按钮的“Click”事件中添加代码如下:
thisform.release
clear
events
“增加记录”模块企业新进职员都要为其建立人事档案,该模块的功能就是添加新职员信息。
操作很简单,按需要输入完数据后,单击“确定”按钮即可,同时系统会弹出对话框提示输入成功。“取消”按钮的功能是清空所有文本框。该模块做了些限制性设计,以防用户误操作。如:将输入“职员号”、“进本单位年份”的文本框的Format和InputMask属性都设为“9999”,使用户只能输入四位数字,输入其它字符无效。同样在输入“生日”的文本框的Format和InputMask
属性都设为“9999/99/99”。单击“确定”后,如果没有输入“职员号”或输入的“职员号”已存在,系统都会弹出提示信息,以便用户改正。
在“确定”按钮的“Click”事件中添加代码如下:
*
检查“职员号”是否为空
if
empty(alltrim(thisform.txtID.value))
messagebox("职员号不能为空",48,"错误")
thisform.txtID.setfocus
else
*
获取各输入值
inID=alltrim(thisform.txtID.value)
inName=alltrim(thisform.txtName.value)
inSex=alltrim(thisform.txtSex.value)
inBirth=alltrim(thisform.txtBirth.value)
inLearn=alltrim(thisform.txtLearn.value)
inPolitics=alltrim(thisform.txtPolitics.value)
inPhone=alltrim(thisform.txtPhone.value)
inAddress=alltrim(thisform.txtAddress.value)
inDepartment=alltrim(thisform.txtDepartment.value)
inFunction=alltrim(thisform.txtFunction.value)
inDate=alltrim(thisform.txtDate.value)
inMemo=alltrim(thisform.edtMemo.value)
*
检查输入的“职员号”是否已存在
set
order
to
职员号
seek
inID
if
!found()
insert
into
职员信息表
value(inID,inName,inSex,inBirth,inLearn,inPolitics,inPhone,inAddress,inDepartment,inFunction,inDate,inMemo)
messagebox("添加成功!",48,"信息")
*
添加完毕后清空各文本框
thisform.txtID.value=""
thisform.txtName.value=""
thisform.txtSex.value=""
thisform.txtBirth.value=""
thisform.txtLearn.value=""
thisform.txtPolitics.value=""
thisform.txtPhone.value=""
thisform.txtAddress.value=""
thisform.txtDepartment.value=""
thisform.txtFunction.value=""
thisform.txtDate.value=""
thisform.edtMemo.value=""
else
messagebox("此职员号已存在,请另输一个",48,"错误")
thisform.txtID.value=""
thisform.txtID.setfocus
endif
endif
在“取消”按钮的“Click”事件中添加代码如下:
*
清空各文本框
thisform.txtID.value=""
thisform.txtName.value=""
thisform.txtSex.value=""
thisform.txtBirth.value=""
thisform.txtLearn.value=""
thisform.txtPolitics.value=""
thisform.txtPhone.value=""
thisform.txtAddress.value=""
thisform.txtDepartment.value=""
thisform.txtFunction.value=""
thisform.txtDate.value=""
thisform.edtMemo.value=""
thisform.txtID.setfocus
在“退出”按钮的“Click”事件中添加代码如下:
thisform.release
do
form
主界面
“修改记录”模块职员信息的改变,如:部门的调动、职位的升降、搬家、换了电话,或者发
现输入了错误的信息,就可以进入该模块进行修改。你可以单击“导航条”逐条定位查找,如果知道要修改职员的职员号,可在最下面的文本框里直接输入该职员号,单击“查找”,如果找到,系统会定位到该记录,如果没有找到,系统会给出提示信息。该模块也做了与“增加记录”模块相近的限制性设计。
在该表单的数据环境(Data
Environment)中添加“职员信息表”,将各文本框的ControlSource属性设置为在“职员信息表”中与之相对应的字段,这样便完成了与“职员信息表”的绑定。
在“查找”按钮的“Click”事件中添加代码如下:
set
order
to
职员号
seek
alltrim(thisform.text1.value)
if
!found()
messagebox("该职员号不存在",48,"错误")
go
top
endif
thisform.text1.value=""
thisform.refresh
在“退出”按钮的“Click”事件中添加代码如下:
thisform.release
do
form
主界面
“删除记录”模块如果因为职员离职、退休,或其它原因要删除某条记录,就可进入该模块进行删除。本模块的控件布局与“修改记录”模块基本相似,只是显示记录的各文本框的Enabled属性均设置为“.f.”(假)。同“修改记录”模块一样,设置与“职员信息表”的绑定。
在“删除这条记录”按钮的“Click”事件中添加代码如下:
nAnswer=messagebox("确定要删除吗?",36,"信息")
if
nAnswer=6
thisform.dataenvironment.closetables("职员信息表")
*
以独占方式打开表,执行删除命令
use
职员信息表
exclusive
delete
from
职员信息表
where
职员号=alltrim(thisform.txtID.value)
pack
use
thisform.dataenvironment.opentables("职员信息表")
thisform.refresh
endif
在“查找”按钮的“Click”事件中添加代码如下:
set
order
to
职员号
seek
alltrim(thisform.text1.value)
if
!found()
messagebox("该职员号不存在",48,"错误")
go
top
endif
thisform.text1.value=""
thisform.refresh
在“退出”按钮的“Click”事件中添加代码如下:
thisform.release
do
form
主界面“查询”模块

在本模块,你可以选择查询条件,快速查找到所需的职员信息,也可以一览整个“职员信息表”。可供选择的查询关键字有“职员号”、“姓名”和“所属部门”3个字段,可单项查询,也可组合查询。
首先,当表单被激活时,根据各复选框的选中情况决定相应的文本框是否可用。
在表单的“Activate”事件中添加代码如下:
flag1=this.check1.value
do
case
case
flag1=0
this.text1.enabled=.f.
this.text1.value=""
case
flag1=1
this.text1.enabled=.t.
endcase
flag2=this.check2.value
do
case
case
flag2=0
this.text2.enabled=.f.
this.text2.value=""
case
flag2=1
this.text2.enabled=.t.
endcase
flag3=this.check3.value
do
case
case
flag3=0
this.combo1.enabled=.f.
this.combo1.value=""
case
flag3=1
this.combo1.enabled=.t.
endcase
为减少用户输入,在“所属部门”复选框后用的是组合框。
在组合框的“Init”事件中添加代码如下:
*
为组合框添加选项
this.clear
local
dm,i
dimension
dm[1]
select
distinct
所属部门
from
职员信息表
into
array
dm
for
each
i
in
dm
if
!empty(i)
this.additem(i)
endif
endfor
当单击复选框后,如果框里有“√”标记,则后面的文本框或组合框可用;反之,不可用。
在“职员号”复选框的“Click”事件中添加代码如下:
flag=thisform.check1.value
do
case
case
flag=0
thisform.text1.enabled=.f.
thisform.text1.value=""
case
flag=1
thisform.text1.enabled=.t.
endcase
在“姓名”复选框的“Click”事件中添加代码如下:
flag=thisform.check2.value
do
case
case
flag=0
thisform.text2.enabled=.f.
thisform.text2.value=""
case
flag=1
thisform.text2.enabled=.t.
endcase
在“所属部门”复选框的“Click”事件中添加代码如下:
flag=thisform.check3.value
do
case
case
flag=0
thisform.combo1.enabled=.f.
thisform.combo1.value=""
case
flag=1
thisform.combo1.enabled=.t.
endcase
在“查询”按钮的“Click”事件中添加代码如下:
*
获取各查询关键字输入值
getid=alltrim(thisform.text1.value)
getname=alltrim(thisform.text2.value)
getdepart=alltrim(thisform.combo1.value)
*
获取各复选框的值
flag1=thisform.check1.value
flag2=thisform.check2.value
flag3=thisform.check3.value
*
按选中的查询关键字进行查询
if
flag1=0
and
flag2=0
and
flag3=0
messagebox("请输入查询条件",48,"错误")
endif
if
flag1=1
and
flag2=0
and
flag3=0
select
*
from
职员信息表
where
职员号=getid
endif
if
flag1=0
and
flag2=1
and
flag3=0
select
*
from
职员信息表
where
姓名=getname
endif
if
flag1=0
and
flag2=0
and
flag3=1
select
*
from
职员信息表
where
所属部门=getdepart
endif
if
flag1=1
and
flag2=1
and
flag3=0
select
*
from
职员信息表
where
职员号=getid
and
姓名=getname
endif
if
flag1=1
and
flag2=0
and
flag3=1
select
*
from
职员信息表
where
职员号=getid
and
所属部门=getdepart
endif
if
flag1=0
and
flag2=1
and
flag3=1
select
*
from
职员信息表
where
姓名=getname
and
所属部门=getdepart
endif
if
flag1=1
and
flag2=1
and
flag3=1
select
*
from
职员信息表
where
职员号=getid
and
姓名=getname
and
所属部门=getdepart
endif
在“一览”按钮的“Click”事件中添加代码如下:
select
*
from
职员信息表
在“退出”按钮的“Click”事件中添加代码如下:
thisform.release
do
form
主界面
“报表打印”模块本模块实现两个功能:打印报表和打印预览。
在“确定”按钮的“Click”事件中添加代码如下:
do
case
case
thisform.optiongroup1.option1.value=1
report
form
职员信息报表
to
print
case
thisform.optiongroup1.option2.value=1
report
form
职员信息报表
to
print
preview
endcase
在“退出”按钮的“Click”事件中添加代码如下:
thisform.release
do
form
主界面“导航条”类
由于在“修改记录”和“删除记录”模块中都要用导航条,为简化代码,并方便系统的维护和修改,我做了一个“导航条”类。在类设计器中依次放置“第一条记录”、“上一条记录”、“下一条记录”和“最后一条记录”四个按钮。
在“第一条记录”按钮的“Click”事件中添加代码如下:
goto
top
this.parent.cmdFirst.enabled=.f.
this.parent.cmdPrevious.enabled=.f.
this.parent.cmdNext.enabled=.t.
this.parent.cmdLast.enabled=.t.
thisform.refresh
在“上一条记录”按钮的“Click”事件中添加代码如下:
skip
-1
if
bof()
messagebox("已是第一条记录",48,"信息窗口")
this.parent.cmdFirst.enabled=.f.
this.parent.cmdPrevious.enabled=.f.
else
this.parent.cmdFirst.enabled=.t.
this.parent.cmdPrevious.enabled=.t.
endif
this.parent.cmdNext.enabled=.t.
this.parent.cmdLast.enabled=.t.
thisform.refresh
在“下一条记录”按钮的“Click”事件中添加代码如下:
skip
if
eof()
messagebox("已是最后一条记录",48,"信息窗口")
skip
-1
this.parent.cmdNext.enabled=.f.
this.parent.cmdLast.enabled=.f.
else
this.parent.cmdNext.enabled=.t.
this.parent.cmdLast.enabled=.t.
endif
this.parent.cmdFirst.enabled=.t.
this.parent.cmdPrevious.enabled=.t.
thisform.refresh
在“最后一条记录”按钮的“Click”事件中添加代码如下:
goto
bottom
this.parent.cmdFirst.enabled=.t.
this.parent.cmdPrevious.enabled=.t.
this.parent.cmdNext.enabled=.f.
this.parent.cmdLast.enabled=.f.
thisform.refresh
“setting.prg”代码
该程序功能为设置系统环境配置。
*
关闭系统菜单
set
sysmenu
off
set
sysmenu
to
*
不显示图形状态框
set
status
bar
off
set
talk
off
set
notify
off
*
将时钟在指定的位置上显示
set
clock
status
*
不使用Visual
FoxPro默认的调色板
set
palette
off
*
打开计算机喇叭
set
bell
on
*
指定在覆盖已有的文件时不打开一个对话框
set
safety
off
*
指定在按下ESC键后,中断命令和程序的运行
set
escape
on
set
keycomp
to
windows
set
carry
on
set
confirm
on
*
指定两个表达式必须长度相等才能进行比较
set
exact
on
set
near
on
set
ansi
off
set
lock
on
set
multilocks
on
set
deleted
on
set
optimize
on
*
设定网络中表的刷新时间
set
refresh
to
0,5
*
设定字符型字段的排列顺序
set
collate
to
"stroke"
*
设置默认文件目录
set
default
to
sys(5)+curdir()
*
指定查找文件目录
set
path
to
sys(5)+curdir()
set
sysformats
off
set
seconds
on
set
century
off
set
currency
left
set
currency
to
"nt$"
set
hours
to
12
set
date
to
usa
set
decimals
to
2
set
fdow
to
1
set
fweek
to
1
set
mark
to
"."
set
separator
to
","
set
point
to
"."

“reset.prg”代码
该程序功能为还原系统环境配置。
set
sysmenu
to
default
set
sysmenu
on
set
talk
on
set
notify
on
set
safety
on
“主程序.prg”代码
*
将程序的资源路径设为当前程序所在文件夹
set
directory
to
curdir()
clear
screen
clear
events
*
执行“setting.prg”文件
do
setting
*
打开数据库
open
database
职员信息管理
*
运行“主界面”表单
do
form
主界面
*
为窗口提供关闭功能
on
shutdown
quit
*
开始响应事件
read
events
close
database
*
执行“reset.prg”文件
do
reset
6.3测试情况
模块测试
在“增加记录”模块的运行测试中,通过输入数据,我发现在“职员号”、“生日”、“进本单位年份”等几个只能输入数字的文本框中应该做一些输入性限制,使用户无法输入汉字、标点符号等非数字型数据。
在“删除记录”模块的第一次运行测试中,单击“删除这条记录”按钮时,系统弹出出错信息,指出表必须以独占方式打开才能执行删除命令。开始我不知道该怎样修改,找了些相关的书看后才得以解决。
在“查询”模块中,开始我准备通过在表单中放置一个表格(Grid)控件来实现“一览”功能,但是发现放置后未做任何属性设置就能在运行时完整的显示“职员信息表”,看了些书和经过多次调试,仍不得其解,所以只得放弃这种方式。
在“报表打印”模块的测试中,由于家里没有打印机,在执行“打印报表”命令时打开的却是“传真向导”对话框,因此,该功能无法顺利测试。
系统测试
在整体测试时,发现由主界面打开个功能模块后,应该释放或隐藏主界面,要不然同一功能模块可以同时打开多个。由功能模块返回主界面时,同样也要释放该功能模块。
本来我是想将全部表单都设置为运行时不可改变其大小,但发现在“查询”模块运行时,显示查询结果的窗口也不可改变大小,考虑到这样不方便用户的浏览,所以就使“查询”模块运行时可以改变其表单的大小。
6.3.1主程序、数据表、功能模块及报表对应文件名:
主程序----------------------------主程序.prg
职员信息表----------------------职员信息表.dbf
“主界面”模块----------------主界面.scx
“增加记录”模块-------------增加记录.scx
“修改记录”模块-------------修改记录.scx
“删除记录”模块-------------删除记录.scx
“查询”模块-------------------查询.scx
“报表打印”模块-------------报表打印.scx
职员信息报表-------------------职员信息报表.frx
6.3.2使用说明
将“职员信息管理系统”文件夹复制到你的硬盘上。
程序启动方式:
1.直接启动应用程序:打开“职员信息管理系统”文件夹,双击“职员信息管理系统.exe(图标为狐狸头像)”即可。
2.在Visual
FoxPro6.0环境下启动:启动Visual
FoxPro6.0,在命令窗口中输入“set
defa
to
x:\xxxxx”后回车,再输入“do
主程序”即可。
(“x:\xxxxx”是“职员信息管理系统”文件夹在你硬盘上的路径)
要查看或修改程序设计可在Visual
FoxPro6.0环境下打开“职员信息管理系统.pjx”文件。
体制。
6.4
结束语

通过以上的系统的分析,开发与应用几个步骤,完成了本系统的开发任务。达到了使用单位的要求,且发现了一些问题,为今后该系统的进一步完善积累了宝贵经验。

参考文献
1.
黄梯云,《管理信息系统》,经济科学出版社,2000年。
2
张海藩,《软件工程导论》,清华大学出版社,2003年。
3
邢长征,《数据库原理与应用》,高等教育出版社,2004年。
4
瓮正科,王新英,
《Visual
FoxPro
6.0
应用系统样例解析》,
科学出版社,2000年
5
邵洋、谷宇、何旭洪,《Visual
FoxPro数据库系统开发实例导航(第二版)》,人民邮电出版社,2003年。
6
崔宝深,王娟Visual
FoxPro程序设计教程
南开大学出版社2002.10

7
邵洋,谷宇,何旭洪Visual
FoxPro
6.0数据库系统开发实例导航人民邮电
出版社2002.10
8
李凡Visual
FoxPro
6.0程序设计基础教程
水利水电出版社
2000.05
9
蔡伟,刘立志
段海午
范有元Visual
FoxPro
6.0应用开发实例人民邮电出版社2002.07
10
余文芳
Visual
FoxPro
6.0

人民邮电出版社
2004.04
11
范立南,张宇Visual
FoxPro
6.0程序设计与应用
电子工业出版社
2004.02
12
马义玲,汪令江,曾勇
数据库应用
FoxPro
for
windows
机械工业出版社2000.08设计总结
在课程设计的两周时间是我学生生涯中最有价值的一段时光。这里有治学严谨而不失亲切的老师,有互相帮助的同学,更有向上、融洽的学习生活氛围。借此论文之际,我想向所有人表示我的谢意。
首先感谢指导我完成论文的老师。在此,要对他们的细心帮助和指导表示由衷的感谢。在这段时间里,我从他们身上不仅学到了许多的专业知识,更感受到了他们工作中的兢兢业业,生活中的平易近人。此外,他们严谨的治学态度和忘我的工作精神值得我去学习。在我的项目设计中,她的指导给予了我极大的帮助,使我对整个项目的设计的思路有了总体的把握,并耐心的帮我解决了许多实际问题,使我有了很大收获。
还要感谢给与我帮助的的其他同学和师长,他们在我的毕业设计过程中经常给我提出许多关键性的问题,使我受益匪浅。他们在整个开发过程中提出了许多建设性意见,并给我解决了一些专业性问题。

感谢三年来传授我知识的老师们,也要感谢我的同学对我设计上的支持和鼓励,感谢所有关心帮助过我的人。同时感谢大学,感谢兰州理工。
总之,在以后的学习生活中我将以加倍的努力作为对给予我帮助的学校、老师及同学们的回报。


首先非常感谢学院开设计算机组成原理这个课程设计,为我以后从事计算机方面的工作提供了实战经验,奠定了初步的基础。
在本次课程设计中,特别感谢我的指导老师张红老师不辞辛苦的辅导,以及我的软件项目老师,他在我学习计算机组成原理的过程中也付出了辛劳的汗水,在此献上我最诚挚的谢意。还要感谢我的队同学们,在课程设计的过程中给予我很大的帮助。同时也要感谢实验室的老师,在课程设计的过程中也给了我很大的帮助。
无论是在专业知识还是在学习生活中的问题,我们问起来时张老师总是有问必答,而且把问题分析的通通透透,用最简明扼要的语言分析开了最难懂的问题。杜老师真是一个处处为学生着想,认认真真工作的好老师。杜老师认真负责的工作态度,严谨的治学精神和深厚的理论水平使我们收益匪浅,成为我们以后学习和工作的榜样。我觉得张老师决不止是在专业知识对我们的教育,他看来更像一个迷雾中的导航灯,让我们学到知识的同时认识到我们当前的位置和市场的联系,给我们指明地方,有很多思想教育都是让我深思的。在此向张红老师表示深深的感谢和由衷的敬意。
再次感谢以上对我此次课程设计提供帮助的所有人,谢谢你们。

职工教育培训管理系统说明书软件项目开发课程设计 本文关键词:职工教育,说明书,课程设计,培训管理,项目

职工教育培训管理系统说明书软件项目开发课程设计  来源:网络整理

  免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。


职工教育培训管理系统说明书软件项目开发课程设计》由:76范文网互联网用户整理提供;
链接地址:http://www.yuan0.cn/a/94636.html
转载请保留,谢谢!