1、员工培训管理系统毕业设计论文员工培训管理系统论文【摘要】随着人类社会的发展,要求每个紧跟时代的人都要不断的进行自我提高。因此,学习与再学习始终伴随着我们,其中有关的培训机构有着为可替代的作用,在这种形势下,如何更好的对培训工作进行管理,就成了我们需要解决的一个问题,因此,开发一套完善的培训管理系统就成不可少了,本文介绍了在Visual Foxpro6.0环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发本系统的详细过程,从软件工程的角度进行了科学而严谨的阐述。1.员工培训管理的软件在国内外的发展情况近年来,有关员工培训管理的软件很多。但大部分是培训中介组织的一项面向企业的服务,而且
2、还是一些网络版本。比如,在美国有ASTD-American Society for Training and Development、The Distance and Education Training Council Online、TCMs HR Careers、Resource Software 、Safety Software & Computer Based Training Software Skills Testing Software等;在国内,网络学校及其培训管理软件比较盛行,如中国广播电视大学。真正由企业自身组织的员工培训,据调查的资料可知,到目前为止只有一些国外国企业以及
3、在中国的跨国企业,拥有自己的员工培训管理软件,而且这些也只是作为企业其他软件的一个组成部分出现,如摩托罗拉的员工培训管理就是其人力资源管理软件的一个组成部分,并且还只实现了员工个人信息管理很小的一部分功能。在国内企业中,尽管领导们都认识到员工培训的重要性,也有一些企业采取了一些有益的措施。他们购买了计算机,也建立起自己的内部网,对员工培训管理采用了一些简单的应用程序,但离使用计算机系统和专门软件来管理还有一段距离。综上所述,无论在国内外,目前还没有一套比较完善的、专门的、适用于各种企业自己使用的企业员工培训管理软件。因此,研究开发出一套比较通用、功能比较完善的企业员工培训管理软件,力求在这一领
4、域取得一些新的成果.2.面向对象的开发2.1 面向对象的基本概念在了解面向对象的开发方法之前,应先了解一些面向对象的基本概念。1. 什么是面向对象面向对象有多种不同的解释,本文采用Coad和Yourdon给出的定义:“面向对象=对象+类+继承+通信”。如果一个软件系统是使用这样4个概念设计和实现的, 则可以认为这个软件系统是面向对象的。一个面向对象的程序的每一成分应是对象,计算和控制是通过新的对象的建立和对象之间的通信来执行的。2. 对象(object)对象是面向对象开发方法的基本成分。每个对象可用它身的一组属性和它可以执行的一组操作来定义,属性一般只能通过执行对象的操作;来改变。操作又称为方
5、法或服务或函数,它描述了对象执行的功能,若通过消息传递,还可以为其他对象使用。这里,所谓的消息就是一个对象与另一个对象的通信单元,是要求某一个对象执行类中定义的某个操作的规格说明。发送给一个对象的消息定义了一个操作名和一个参数表(可能是空的),并指定某一个对象。而由一个对象接收的消息则调用消息中指定的操作,并将形式参数与参数表中相应的值结合起来。接收对象对消息的处理可以会改变对象中的状态,即改变界说对象的属性,并发送一个消息给自己或另一个对象。可以认为,这种消息的传递大致等价传统开发方法中的函数调用,但执行操作的目的是想修改相关的对象的内部状态。对象可以是物理对象,还可以是任一类概念实体的实例
6、。比如桌子是一个实体对象,操作系统中的进程、室内的照明的等级、在一个特定审判中律师的作用也是对象。3.类 (class)类是一组具有相同数据结构操作的对象的集合。类定义可以视为一个具有类似特性与共同行为的对象的模版,可以来产生对象。在一个类中,每一个对象都是类的实例,它们都可使用类中提供的函数。4.继承(Inheritance)继承是使用已存在的定义作为基础建立新定义的技术。新的类的定义可以是既存类所声名的数据和新类所增加的声名的组合。新的类的复用既存的定义,而不要修改既存类。因为这种类的一部分已经实现和测试,故开发费用较少。即存类可当作基本类来引用,则新的类相应的可当作派生类来引用。5.封装
7、( Encapsulation)封装是一种组织软件的方法。它的基本思想就是把客观世界中联系紧密的元素及相关操作组织在一起,构造具有独立含义的软件实现,使其相互关系隐藏在内部,而对外仅仅表现为与其他封装体的接口关系。封装的目的是信息隐藏。不过,信息隐藏是原则,而封装是针对这一原则的实现。为具体说明这一概念,以下举一个实例。为了定义一辆自行车,首先要定义自行车类,它的属性有frame size(车生尺寸)、wheel size(车轮尺寸)、gear(齿轮)、material(材料)和brand(牌子)。再定义自行车的操作;shift(变速)、move(移动)、repair(修理)。Bicycle
8、Class: Attributes: frame size fhee l sizegearmaterialbrandOperation: shiftmove repair这样,整个自行车的描述就由一个类封装起来,要声明一个自行车对象my bike是只需写Bicycle my bike。如果不考虑某些语言(例如c+)中属性及操作的公有行及私有性,类/对象的接口就是它的属性及操作,而私有部分则是操作的具体实现。6. 多态性(Poly morphism)在程序设计语言中,多态性指相同的语言结构可以代表不同类型的实行进行操作,这里的实体包括变量及函数或过程的变元等。2.2 面向对象分析面向对象分析OO
9、A(object-oriented analysis)是软件开发过程中的问题定义的阶段。这一阶段最后得到的是对问题论域的清晰、精确的定义。面向对象分析为论域分析和应用分析。论域分析建立大致的系统实现环境,应用分析则根据特定应用的需求进行论域分析。2.3 面向对象的设计面向对象分析和面向对象设计之间有密切的衔接关系,从面向对象分析到面向对象设计是一个逐渐扩充模型的过程。分析处理是以问题为中心的,可以不考虑任何与特定计算机有关的问题,而面向对象设计则把我们带进了面向计算机的“实地”开发活动中去。通常,面向对象设计分为两个阶段:高层设计和低层设计。高层设计包括像用户界面那样的问题解决部分。低层设计集
10、中于类的详细设计阶段。通常,利用面向对象设计得到的系统框架如图2-1所示 图2-1 面向对象导出的系统结构3. 员工培训管理系统初步调查与可行行分析3.1 确定员工培训管理系统的边界从广义上讲,系统是个部分的简单组合,它们相互作用,以达到中目的。任何一个系统都是由比它更小的系统组成的,同时它本身又是较大系统的一个组成部分。因此该系统既是比它的小系统的生存环境,又是比它大的系统的一个组成部分,为了达到特定系统的目的。该系统需要与其周围环境,即与系统边界外的任何实体交互作用。实现这一个目标的途径就是确定系统的边界。企业员工培训管理业务只是企业经营管理业务的一部分。它的生存环境就是企业,它要与企业其
11、他业务进行交互,才能更好的实现它的功能,因此,要设计出一个功能完善的员工培训管理软件,就必须明确员工培训管理业务的边界。这样,既能避免重复性开发,又能更好地针对该业务运行专业开发。划分企业员工培训管理业务的边界,遵循以下原则:(1)目标明确。在信息系统中的没一个子系统都是为某一个目标而运行的。系统的边界是否合适,系统内部所有服务是否都为共同的目标而存在,将直接影响到系统的整体功能。员工培训管理系统的目标就是要实现一个节省人力、能使管理流程科学化的系统。(2)结构清晰。系统与系统之间层次要清楚,比较要分明,这样便于实现总目标要求,使信息交互流畅。(3)系统与边界界面要清楚。系统有了明确的边界,外
12、界就可以通过输入接口控制系统的行为,有可以通过输出接口观测系统的行为。根据以上原则所做出的本系统的边界如图3-1所示。图3-1 企业员工培训管理业务边界3.2 系统的初步调查本系统主要采取的调查方法:(1)查阅资料、实地走访。对国内的国有企事业单位进行走访,了解其员工培训业务的运作模式,各级领导对员工培训管理上存在的问题的看法以及准备采用的解决方案。通过以上调研,发现这些单位存在一些共同点:领导以初步意识到员工培训及其管理的重要性;大部分单位认为企业员工培训业务的操作认为因素太多,操作流程不规范,很难实现计算机管理。因此尽管他们有比较好的计算机设备,但却不想用于员工培训业务;有一部分单位有比较
13、系统的培训方案和运作模式,但是整个业务都是人工操作,没有一个比较完善的计算机系统来辅助整个工作。(2)收集资料、查阅分析资料。主要对其员工培训业务的责人进行采访,并获取其现行管理流程及相关管理工具的资料。通过对资料进行分析,可总结出如下几点特点:员工培训管理系统业务有规范而严格的操作流程;都是计算机的先进设备辅助工作,但也仅仅由于制作文挡、存储文挡,而没有一个业务系统软件来辅助工作。例如,再摩托罗拉只是一个员工档案管理的小程序,霍尼维尔只有一个用Excel编制的表格应用程序。(3)实地实践、熟悉员工培训业务流程。通过详细的了解,对业务存在以下几个瓶颈:员工档案管理都是纸上作业,查询、核对很不方
14、便;教材的采购、库存管理不规范,难以实现实时采购决策;证书管理不科学,存在错发情况;市场业务操作不科学。信息反馈不及时。通过以上的调查分析可以发现,在我国尽快开发出一套功能完善的企业员工培训管理软件是一项十分紧迫的任务。特别是随着经济全球化发展、知识更新速度加快、国际企业的发展,企业员工培训将日益成为企业的一项重要业务。可以说,今后企业的竞争将是企业员工素质的竞争。因此,开发个功能完善的软件来辅助员工管理培训业务是增强企业竞争力的一项重要措施。 3.3 可行性分析前面分析了系统开发的必要性,以下将从经济、技术、社会三个方面分析其可行性。3.3.1 经济可行性分析实施该系统的主要费用: 设备购置
15、费用:包括服务器、工作站、外围相关设备的购置费用。 软件费:本系统的费用,相关操作平台软件费 运维费:系统运行、维护的费用。 相关工作人员的培训费用。这些是企业能承担的费用水平。3.3.2 技术可行性分析 随着信息技术、计算机技术的日渐普及,大部分企业员工对一些基本的计算机技术已有所了解。而使用该系统,无须专业化知识,只要具备一些基本的Windows操作技术,就能使用该系统。因而企业实施该系统没有技术上的阻碍。3.3.3 社会可行性分析 社会可行性的关键因素就是领导的支持。系统得到高层领导、中层管理人员的支持,就等于成功了一半。此外企业完善而规范的业务操作规章度也是必不可少的因素。在初步调查过
16、程中,作者发现企业的管理人员都很支持该系统的开发应用,这是有利于系统开发的因素。但是有些企业在员工培训业务管理方面还存在组织结构设计不科学、业务流程不规范的现象,企业必须对其进行业务重组(BPR)以配合该系统的开发应用。而一个功能完善、设计严密的系统的应用反过来正好又能帮助企业加强管理,使管理科学化、规范化。 由以上分析可得出如下判断:该系统的开发是可行的,而且是企业迫切需求的应用软件。4. ETMS开发环境及设计思想4.1员工培训管理系统的开发环境1.硬件配置计算机:CPU486以上、64内存、10G硬盘的微机一台打印机:一台2.软件配置网络操作系统:中文Windows NT Server4
17、.0(企业版)单机操作系统:Windows 95或Windows 98或Windows 2000开发工具:Visual FoxPro 6.04.2系统开发设计思想 本系统开发设计思想:1.尽量采用公司现有软硬件环境及先进的管理系统开发方案,从而达到充分利用公司现有资源,提高系统开发水平和应用效果的目的。2.系统应符合公司员工培训管理的规定,满足公司日常员工培训工作需要,并达到操作过程中的直观、方便、实用、安全等要求。3.系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份
18、等操作。4.2.1本系统开发设计遵循如下原则:1.可靠性原则系统如果出现故障,必将影响企业员工培训管理的业务正常进行,同时可能影响于之相关的部门的工作。因此,高可靠性原则是本系统设计遵循的一条重要原则。设计时采取如下措施以使系统可靠: 用高质量的设备;. 计安装时,注意设备之间的接口及匹配,充分考虑空间距离和环境干扰因素对信号传输的影响,在设备的搭配和介质的选用上采用一系例的沉余技术; 在网络结构设计和硬件选型配置中,采用容错、备份技术,以保证系统的可靠运行,任何一台设备出现故障不影响其他设备的正常运行; 考虑数据的安全性和完整性,数据存储采用两极备份,某一级出现故障时不会导致数据丢失。2.可
19、维护性原则系统运行后,维护工作将和是一个长期工作。因此,本系统充分考虑维护工作的需求,设计采用面向对象、模块化的技术,提高软件的复用性,界面一致性,代码重用性,尽量降低维护工作量及困难;3.经济性原则在满足系统性能要求的前提下,硬件配置尽量考虑利用企业原有设备,以降低系统成本。4.先进性原则a) 可扩充性和开放性本系统要能进行产品更新换代以适应用户的需求,因此,系统软硬件均采用模块化结构,界面清楚,易于升级和扩充,并预留接口,以便将来增加管理终端。b) 操作方便所有操作采用菜单、按钮或鼠标操作来选择,用户只要会用视窗操作系统就会用该系统。c) 保密性系统的不同操作员有不同的安全密码,以实现数据
20、分级保密的目的。6.通用性原则把用户操作界面设计的规范统一,把数据库结构设计的尽量能包括不同类型的企业需求;在程序设计方面,则尽量考虑使用对象进行模块化编程,便于系统扩充。不同的企业可以根据自己的需要,对系统功能加以取舍。4.3系统功能分析 系统功能分析是在系统开发的总体任务的基础上完成。本文系统需要完成功能主要有:1. 员工各种信息的输入,包括员工基本信息、职称、岗位、已经培训的课程和成绩、培训计划等。2. 员工各种信息的查询、修改,包括员工基本信息、职称、岗位、已经培训过的课程和成绩、培训计划等。3. 培训课程信息的输入,包括课时、课程种类等。4. 培训课程信息的查询、修改。5. 企业所有
21、员工培训需求的管理。6. 企业培训计划的制定、修改。7. 培训课程的评价。8. 培训管理系统的使用帮助。9. 教师信息的管理、教师评价。10. 培训资源管理。11. 培训教材管理12. 员工外出培训管理。13. 系统用户管理、权限管理。4.3.1系统功能模块图本系统在功能分析的基础上,考虑Visual FoxPro程序编制的特点,得到如图4-1所示的系统功能模块图。培训管理系统其他系统管理培训资源管理培训效果评价培训计划实施基本信息管理 培训计划管理培训需求管理权限管理用户管理成绩信息管理学员基本信息管理课程信息管理图4-1 系统功能模块图5.ETMS详细设计系统详细设计阶段的任务就是进一步实
22、现系统分析阶段提出的系统模型,具体说就是设计出系统流程图;提交系统设计报告和详细的数据库结构等一些必要的技术文档资料。在本章中,系统详细设计包括以下内容:系统总体结构的设计、代码设计、数据库设计、模块功能设计、用户界面设计。5.1 ETMS总体结构设计本节主要从系统的功能及其运行的计算机软、硬件和数据通信的基础环境来说明系统的总体结构设计。5.1.1ETMS功能总体结构设计企业员工培训管理系统的功能总体结构如图6-1所示。 图5-1 企业员工培训管理系统功能总体结构图5.2计算机网络结构设计5.2.1计算机系统网络结构介绍企业员工部门的局域网采用星型总线拓扑结构,同时支持C/S、B/S服务模式
23、。整个网络由服务器、工作站、各种终端及外设组成。5.2.2计算机系统的设备选型系统硬件选型配置:工作站:PIII500以上、64M以上内存、10G以上硬盘打印机:Epson或HP系列激光打印机扫描仪:清华紫光系统软件配置:网络操作系统:Windows NT4.0或Windows2000 Server工作站操作系统:Windows NT Workstation、Windows95/98以上版本计算机防病毒软件:Norton AntiVirus、Kill2000、计算机办公软件:Office2000系统应用软件:ETMS(企业员工培训管理系统)开发工具:Visual FoxPro 6.05.3代码
24、设计代码就是以数字或字符来代表各种实体。编写代码的目的是规范客观实体,唯一识别某一个客观实体。5.3.1课程内容信息代码设计课程内容信息代码设计采用字符与数字组合技术来编码。每一门课程的代码均由类码和字码构成,类码采用字符来标志,其分类方法沿袭由业界对培训课程分类方法来进行。具体如下:子码则由企业根据自己该类课的课程多少的需要用数字来编码。现以IT类课为例说明:一个企业,IT类课有Visual .basic60、Visual C+6.0、SQL Server7.0、Microsoft Windows NT Server4.0、Microsoft Windows Workstation4.0、M
25、icrosoft Windows 98、Microsoft Windows 2000。则可以这样编码,开发工具类课用01表示,具体每一门课依次编码为0001、0002等;数据库课用02表示,具体每一门课依次编码为0001、0002等;网络系统类用03表示,具体每一门课依次编码为0001、0002等操作系统类课用04表示,具体每一门课依次编码为0001、0002等其他依次类推。以上编码必须遵循以下规则:每一门课程的ID编码不超过8位类码仅由大写字母AZ或19数字构成子码仅由09数字构成课程的ID编码层次最多不超过4层系统对课程的ID 编码缺省设置为2层,类码由一个大写英文字母AZ或19数字构成,
26、子码由6位09数字构成。编码总长为1+6=7位。5.4数据库设计 数据库的结构设计是一个非常重要的问题。数据结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响,好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,简化基于此数据库的应用程序的实现等。在数据库系统开始设计的时候应该尽量考虑全面,尤其应该考虑用户的各种需求,避免浪费人力和物力。5.4.1数据库需求分析数据库需求分析是数据库结构设计的第一个阶段,是非常重要的一个阶段。在这个阶段主要是收集基本数据、数据结构以及数据处理的流程,组成一分详细的数据字典,为以后进一步设计打下基础。本系统所处理的
27、数据流程如图5-2所示。5.4.2数据库概念结构设计这一设计阶段是在需求分析的基础上,设计出来的能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。根据上面设计规划出的实体有:员工实体、部门实体、岗位实体、教员实体、教学资源实体、教材实体、课程实体。 图5-2 数据流程图5.4.3数据库逻辑结构设计需要将上面的数据库概念结构转化为Visual FoxPro数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。员工培训管理系统数据库中各个表格的设计这里不一一列出,只列举两个表格公供参考,表5-1、5-2所示。表5-1 JOB工作岗位情况表列名数据类型可否为空说明JOB
28、_IDCHARACTE(6)NOT NULL工作岗位代号JOB_NAMECHARACTE(10)NULL工作岗位名称JOB_POWERCHARACTE(10)NULL岗位权力范围列名数据类型可否为空说明EMP_NOCHARACTER(6)NOT NULL员工号(主键)EMP_NAMECHARACTER(10)NULL员工姓名DEPT_IDCHARACTER(3)NULL所在的部门号(外部键),指向部门信息表的DEPT_IDEMP_XLCHARACTER(10)NULL学历EMP_GENDERCHARACTER(2)NULL性别EMP_BIRTHDAYDATENULL生日EMP_HOMETOWN
29、CHARACTER(10)NULL籍贯表5-2 PERSONNEL员工基本状况表5.5数据库结构的实现在需求分析、概念结构设计的继承上得到数据库的逻辑结构之后,就可以在Visual FoxPro数据库系统中实现该逻辑结构。数据库的逻辑结构的实现是直接使用Visual FoxPro的项目管理器。现以创建数据库表格的为实例。打开如图5-2所示的“ygpx(员工培训)”项目后,在项目管理器中展开数据文件夹,用鼠标单击右侧“New(新建)”按扭,在弹出的对话框中将该数据库文件存储在所选的路径中。图5-2 新建数据库选择“新建表”,在弹出的对话框中将表存储在所选的路径中。如图5-3所示的表设计器中填写表
30、的内容。图5-3 PERSONNEL表的设计内容6.各个功能模块的创建6.1用户控制界面设计设计控制界面的主要目的是让用户能够主动地控制计算机软件系统的工作,使得用户能够很容易地访问计算机的各种设备。其主要方式有控制对话、菜单、功能按钮、功能键、图标等。现举例如下: 企业员工培训管理系统开始界面设计该模块的主要功能是当用户启动使用员工培训管理系统时,显示一个友好欢迎界面如图5-4所示。开始界面上的欢迎词每隔1秒闪烁一次。当用户按下键盘任一按建时,系统自动进入下一级表单。图5-4 开始界面 系统退出界面该模块的设计目的是当用户退出系统时显示感谢词,画面停留两秒后自动退出。图5-5系统退出界面6.1.2功能选择界面设计 本模块主要是为用户提供一个功能选择界面,根据用户所需的不同选择,打开不同的下级菜单并提供相应的功能服务。本模块利用一个表单可以实现其功能。下面将功能选择界面设计为例详细介绍本模块的设计。首先新建一个表单Form1,将其保存为“main menu”,选择路径。在表单上添加1个“Option group”控件、1个“Image”控件和2个“Command”控件,各控件的主要属性见表5-2。控件名称属性名称属性值FormlCaption功能选择界面Deskeop.T._TrueHeight263left84FormlTop92Width256O