32基于vc++的企业培训管理系统的设计与实现.docx
《32基于vc++的企业培训管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《32基于vc++的企业培训管理系统的设计与实现.docx(35页珍藏版)》请在冰豆网上搜索。
32基于vc++的企业培训管理系统的设计与实现
基于vc++的企业培训管理系统的设计与实现
姓 名
系别、专业
导师、职称
完成时间
摘要
随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。
管理信息系统是一个不断发展的新型学科,已成功运用在多个领域。
作为计算机应用的一部分,使用计算机对企业培训信息进行管理,具有着人工管理无法比拟的优点,它检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,可节省更多的人力物力,这些都能够极大地提高企业培训信息管理效率,也是企业培训管理科学化、正规化,与世界接轨的重要条件。
因此,开发一个培训管理系统是很有必要的,具有其特有的技术意义和管理意义。
本文介绍了在VisualC++6.0环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发本系统的详细过程,提出实现基本资料信息维护、信息管理、文件下载、考试系统的基本目标,并阐述系统结构设计和功能设计,从基本资料到考试系统、文件下载等流程,形成了一个整体自动化管理模式,从软件工程的角度进行了科学而严谨的阐述。
关键词:
信息管理系统;企业培训管理;VisualC++6.0
Abstract
Asinformationtechnologyinthemanagementofanincreasingdepthandawiderangeofapplications,theimplementationofmanagementinformationsystemhasbeengraduallymaturetechnically.ManagementInformationSystemisacontinuousdevelopmentofnewdisciplines,ithasbeensuccessfullyusedinmanyareas.
TheuseofcomputerstomanageEnterpriseTraininginformation,whichaspartofComputerapplicationswiththemanualmanagementoftheadvantagesofunmatched,itquicklysearch,findconvenient,highreliabilityandlargestoragecapacity,theconfidentialityofagood,longlife,lowcost,etc.Itcansavealotofhumanresourcesandmaterialresources,whichcangreatlyimprovetheefficiencyofEnterpriseTrainingmanagement.EnterpriseTrainingmanagementisascientificenterprise,standardization,andanimportantconditionfortherestoftheworld.Therefore,thedevelopmentofanEnterpriseTrainingmanagementsystemisnecessary,thetechnologyhasitsuniquesignificanceofthemeaningandmanagement.
ThispaperintroducestheVisualC++6.0environmentfortheadoptionofthe"top-downtotheoverallplanning,bottom-upapproachtoapplicationdevelopment"strategytodevelopthedetailedprocessofthesystem,toachievethemaintenanceofbasicdocumentinformation,ManagementofInformationSystem,Filefordownloading,ExamSystem,anddescribedthesystemarchitecturedesignandfunctionaldesign,frombasicdocumenttoFilefordownloading,ExamSystemsuchasadatabasemarketingprocesses,formingapatternoftheoverallautomatedmanagement,fromsoftwareengineeringpointofviewofscienceandrigorousexposition.
Keywords:
informationmanagementsystem;EnterpriseTrainingmanagement;VisualC++6.0
1前言
1.1课题研究的目的
全球化经济带动企业加强员工的内部培训随着全球化市场竞争的加剧和商业运作快速反应的要求,企业必须学习更快速有效地利用知识参与竞争,通过将培训以在线的方式推行,企业能够以更快、更好和更低的成本培训它们的员工,甚至教育与影响他们的客户。
参加学习的人员可以随时随地方便地学习所需要的课程、获取所需要的各种知识。
同时,因为在线培训更便于培训结论的跟踪与收集,企业也可以更加方便地分析培训投入与商业利益之间的关系,便于企业制订与安排更科学有效的培训计划。
制定员工培训计划是企业引导员工进行有计划有目的培训的关键某种意义上来讲,培训部门与企业其它部门以及员工之间是供需关系,适当有效的交互对于平衡供需关系是非常重要的。
首先,企业需要制定切实可行的企业培训计划,这个计划是结合企业各方面的情况,分别针对不同层次,不同岗位的员工进行拟定;其次,员工通过某种渠道了解公司全年培训计划的内容。
各个部门以及员工需要与培训部门进行交互,适当调整企业培训计划,以达到供求平衡的目的。
使培训工作能顺利进行。
1.2课题研究的意义
计算机已经成为我们学习和工作的得力助手:
今天,计算机的价格经十分低廉,性能却有了长足的进步。
它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下方面:
首先,计算可以代替人工进行许多繁杂的劳动;
其次,计算机以节省许多资源;
第三计算机可以大大的提高人们的工作效率;
第四计算机可以使敏感信息更加安全。
现在,我们已经进入到Internet时代了,企业培训管理是现在各个企业都在积极进行的工作之一,也是企业培训管理工作的重要内容之一。
企业培训管理系统必然会在以后的信息管理系统中大放异彩。
1.3方案选择及开发技术介绍
开发企业培训管理系统,提出以下解决方案:
选择SQLServer2000作为后台的数据库,选择VC++、多线程、完成端口模型作为作为应用程序开发技术。
整个程序完全基于C/S(Client/Server)模式进行设计。
1.3.1VC++简介
VisualC++是Microsoft公司的VisualStudio开发工具箱中的一个C++程序开发包。
VisualStudio提供了一整套开发Internet和Windows应用程序的工具,包括VisualC++,VisualBasic,VisualFoxpro,VisualInterDev,VisualJ++以及其他辅助工具,如代码管理工具VisualSourceSafe和联机帮助系统MSDN。
VisualC++包中除包括C++编译器外,还包括所有的库、例子和为创建Windows应用程序所需要的文档。
VC++的优点
VC++提供了面向对象的应用程序框架MFC(MicrosoftFoundationClass),简化了程序员的编程工作,提高了模块的可重用性;提供了基于CASE技术的可视化软件的自动生成和维护工具AppWizard、ClassWizard、VisualStudio、WizardBar等,实现了直观、可视的程序设计风格,方便地编辑和管理各种类,维护程序的源代码;封装了Windows的API函数、USER、KERNEL、GDI函数,简化了编程时创建、维护窗口的许多复杂的工作。
1.3.2SQLServer2000数据库简介
SQLServer是一个关系数据库管理系统它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的。
于1988年推出了第一个OS/2版本,在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了。
Microsoft将SQLServer移植到WindowsNT。
SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的比较新的版本
SQLServer2000数据库优点
1)真正的客户机/服务器体系结构。
2)图形化用户界面,使系统管理和数据库管理更加直观、简单。
3)丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。
4)SQLServer与WindowsNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。
SQLServer也可以很好地与MicrosoftBackOffice产品集成。
5)具有很好的伸缩性,可跨越从运行Windows95/98的膝上型电脑到运行Windows2000的大型多处理器等多种平台使用。
6)对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。
7)SQLServer提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。
8)支持XML(ExtensiveMarkupLanguage,扩展标记语言)
9)强大的基于Web的分析
10)支持OLEDB和多种查询
11)支持分布式的分区视图
1.3.3C/S开发模式简介
C/S(Client/Server,客户机/服务器)模式又称C/S结构,是20世纪80年代末逐步成长起来的一种模式,是软件系统体系结构的一种。
C/S结构的关键在于功能的分布,一些功能放在前端机(即客户机)上执行,另一些功能放在后端机(即服务器)上执行。
C/S开发模式优点
1)C/S结构充分利用客户端和服务端的硬件优势,将任务合理的分配到客户端和服务端,降低系统的通信开销。
2)C/S结构能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器,对应的优点是客户端响应速度快。
C/S结构的缺点
1)只适用于局域网。
2)客户端需要安装专用的软件。
3)对客户端的操作系统可能有限制。
首先采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,其次,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大
1.3.4多线程技术
多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。
线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度。
多线程具有以下优点:
1)提高应用程序响应
2)并行操作时使用线程,如C/S架构的服务器端并发线程响应用户的请求。
3)多CPU系统中,使用线程提高CPU利用率
4)改善程序结构。
一个既长又复杂的进程可以考虑分为多个线程,成为几个独立或半独立的运行部分,这样的程序会利于理解和修改。
1.4开发工具及硬软件要求
1)开发工具
本系统采用windows操作系统,以VC++6.0为开发工具,用中文版的SQLServer作为后台数据库。
2)硬件要求
硬件需求:
内存1G以上,硬盘空间视需要而定,要求为本系统分配足够的数据库磁盘空间;
操作系统:
windows;
数据库软件需求:
SQLServer2000。
2系统需求分析
2.1系统的初步调查
本系统主要采取的调查方法:
(1)收集资料、查阅分析资料。
主要对其员工培训业务的责人进行采访,并获取其现行管理流程及相关管理工具的资料。
通过对资料进行分析,可总结出如下几点特点:
①企业培训管理系统业务有规范而严格的操作流程;②都是计算机的先进设备辅助工作,但也仅仅由于制作文挡、存储文挡,而没有一个业务系统软件来辅助工作。
例如,再摩托罗拉只是一个档案管理的小程序,霍尼维尔只有一个用Excel编制的表格应用程序。
(2)实地实践、熟悉企业培训业务流程。
通过详细的了解,对业务存在以下几个瓶颈:
①企业档案管理都是纸上作业,查询、核对很不方便;②教材的采购、库存管理不规范,难以实现实时采购决策;③证书管理不科学,存在错发情况;④市场业务操作不科学。
信息反馈不及时。
通过以上的调查分析可以发现,在我国尽快开发出一套功能完善的企业培训管理软件是一项十分紧迫的任务。
特别是随着经济全球化发展、知识更新速度加快、国际企业的发展,企业培训将日益成为企业的一项重要业务。
可以说,今后企业的竞争将是企业素质的竞争。
因此,开发个功能完善的软件来辅助企业管理培训业务是增强企业竞争力的一项重要措施。
2.2客户需求分析
客户希望通过一个培训管理系统,对培训的学员、培训的教师、培训的课程、培训的资源、培训计划、资料下载和学员考试等进行有效的管理,使得内部培训工作系统化、规范化、自动化。
下面是一份文本需求说明,是和客户双方经过调研后编写的。
由于篇幅所限,这里只列出比较核心的部分。
(1)系统的界面简介明了,易于操作。
(2)系统要有一个登录界面,合法用户才可以进入系统。
(3)利用此系统,用户可进行6个方面的管理,即培训学员的管理、培训教师的管理、培训课程的管理、培训资料管理和培训计划管理。
(4)此系统还对客户端提供了资料下载和在线考试功能。
(5)客户端用户可以对培训计划进行查看,对培训资料查看和下载。
(6)用户可以对系统进行相关设置,比如,修改密码、启动后最小化、窗口总在最前面、显示系统时间等。
(7)该系统要有使用说明。
2.3可行性分析
前面分析了系统开发的必要性,以下将从社会、经济、技术、法律四个方面分析其可行性。
2.3.1社会可行性分析
培训是企业经营的一项重要组成部分。
现有培训大都是围绕个人展开的,企业的潜在需求并没有得到有效解决。
这就产生了一个矛盾,如何把个人提升和企业发展通过培训有效的结合起来。
很多情况下,企业培训缺乏系统化,企业付出了巨大的培训成本,通常没有见到应有的效果。
而不断发生的人才流失,以及无效培训,给企业带来巨大的人、财损失。
很多企业为了降低这方面的成本,首先会选择难以见到成效的培训支出,这就会产生恶性循环,企业越缺乏培训,人才流失越大,人才流失越大,越降低培训投入。
而培训管理系统化提供了技术平台。
通过建立企业的培训管理系统,可以在提供有效培训的同时,大大降低企业的培训成本,实现个人与企业的双赢。
2.3.2经济可行性分析
在经济上,费用的支出和带来的巨大收益相比自是不能相提并论了,至于管理上,工作人员对于这项工程的实施必然是持赞成的态度,因为这样会大大减轻他们的工作量提高工作效率。
且成本低,建成后的维护费用也与线性系统运行费用相同。
2.3.3技术可行性分析
在技术上,如今成熟的语言有很多,像是PowerBuilder、VB、Delphi等都能开发出很好用的系统。
而本次设计我采用的是VC,也是很成熟的语言,再加上数据库如今的发展状况,开发出一个企业管理的应用程序是没有问题的。
鉴于软硬件方面对系统的需求,软件要求易学,界面友好,容易掌握,可以很简单方便的进行培训信息管理。
硬件的配置要求不能太高,这样可以很好的适应当前的企业办公管理工作,如今电脑软硬件技术飞速发展,计算机系统开发人员也比比皆是,开发知识密集型的信息系统的技术条件也已经很成熟了。
2.3.4法律可行性分析
本系统设计的初衷是为企业提供便捷的服务,不违反相关法律。
综上所述,本企业培训管理系统的开发实施是可行的。
3系统设计
3.1系统目标
本系统利用VisualC++实现企业培训管理系统,使社会培训机构或企业内部的培训工作系统化、规范化、自动化,从而达到提高管理效率的目的。
具体的目标包括:
1)对学生信息、教师信息、计划信息进行增加和删除,对资料信息进行服务端资料上传和删除,实现员工培训管理的自动化。
2)准确无误的记录培训管理的基本信息。
3)实现对培训学员的网上测试。
3)在考生考试过程中,时时监控考生的考试状态。
4)考生交卷后,系统对考生的试卷成绩进行评分,实现考试功能的自动化管理。
5)实现通知功能,向学员发送他们将参加的培训课程。
6)实现系统设置功能;窗口总在前面和显示系统时间。
7)实现心跳包功能,及时判断客户端的意外掉线。
8)实现客户端登录验证功能,只允许合法用户成功登录。
9)提供使用帮助功能,包括系统的使用说明和开发人员的联系方式。
3.2系统功能模块设计
1服务端功能模块设计
在系统功能分析的基础上,可以生成如图1所示的服务器功能模块图。
图1系统功能模块图
此系统包含4个模块:
系统设置、培训基本信息管理、考试系统和文件下载。
系统设置主要实现窗口总在前面和显示系统时间,允许用户根据个人喜好选择。
培训基本信息管理包括培训学员、培训教师、培训资料和培训计划4个模块,主要实现对学员信息、教师信息、资料和计划的添加和删除,同时刷新界面。
考试系统包括读取试卷和阅卷两个模块,实现对学员的网上考试和对考生试卷的自动评分。
文件下载包括读取文件目录和文件发送两个模块,将数据库中的资料存储到临时变量中供学员下载学习使用。
2客户端功能模块设计
客户端功能模块图如8页图2。
培训计划模块实现了向服务端请求培训计划并将培训计划显示在右边视图中。
考试系统模块向服务端请求试卷,并在视图生成试卷,考试中自动发送心跳包,建立于服务端的联系,通过提交按钮提交试卷。
文件下载模块向服务端请求文件目录,并显示在列表框中,通过右键菜单进行选定的文件下载。
图2客户端功能模块图
4数据库设计
4.1数据库概念结构设计
本系统包含的实体有:
学员实体、教师实体、计划实体和资源实体。
部分实体的具体描叙E-R图如图3。
图3系统E-R图
4.2数据库表设计
有了上面的实体以及实体之间的关系,我们可以建立数据库中的表格和各个表格的关系,下面列出了培训管理系统中各个表格的设计。
表1试题表字段说明
字段名称
数据类型
数据长度
说明
主键
PAP_ID
Int
4
试题编号
是
PAP_ITEM
Varchar
100
试题
否
PAP_ANSWERA
Varchar
30
答案A
否
PAP_ANSWERB
Varchar
30
答案B
否
PAP_ANSWERC
Varchar
30
答案C
否
PAP_ANSWERD
Varchar
30
答案D
否
PAP_ANSWER
Char
10
正确答案
否
表2资源表字段说明
字段名称
数据类型
数据长度
说明
主键
RESOURCE_ID
Int
4
资源ID
是
RESOURCE_NAME
varchar
50
资源名称
否
RESOURCE_DATA
image
16
资源路径
否
RESOURCE_SUFFIX
char
10
资源后缀名
否
表3培训学员表字段说明
字段名称
数据类型
数据长度
说明
主键
STUDENT_ID
Int
4
学生ID
是
STUDENT_NAME
Char
10
学生名
否
STUDENT_SEX
Char
10
性别
否
STUDENT_AGE
Int
4
年龄
否
STUDENT_NATION
Char
10
民族
否
STUDENT_NATIVEPLACE
Char
10
籍贯
否
IDENTITYCARDINFO
Char
10
身份证号
否
MARRIAGESTATUS
Char
10
婚姻
否
HEALTHSTATUS
Char
10
健康状况
否
ATTENDJOBTIME
text
16
工作时间
否
HOMEADDRESS
Char
10
家庭住址
否
TELEPHONENUMBER
Char
10
电话号码
否
EMAILADDRESS
Char
10
Email地址
否
表4培训计划表字段说明
字段名称
数据类型
数据长度
说明
主键
PLAN_ID
Int
4
课程号
是
PLAN_NAME
Char
10
课程名
否
PLAN_DATE
Char
10
开课日期
否
PLAN_TIME
Char
10
上课地点
否
PLAN_PLACE
Varchar
30
出库类别
否
PLAN_SYNOPSIS
Varchar
50
备注
否
5系统详细设计与实现
本系统在可视化开发环境中完成,服务端和客户端的详细设计和实现如下:
5.1服务器
5.1.1服务器操作流程
用户运行服务端程序时,通过双击选择左边树视图中的节点来选择不同的服务,同时在右边的视图中显示相应的视图,通过菜单中的启动服务子菜单可以启动服务器,启动服务器对话框中的IP地址默认为回环地址,端口默认为5561,也允许用户自己设置IP地址和端口号,如果IP地址和端口号没有错误或冲突,则开始监听客户端的连接。
视图的切换是在单文档中进行的,通过一个函数完成,首先判断要切换的视图是否是由视类继承而来,如果否,则提示错误,如果正确,然后则进一步判断要求切换的类是否与被切换的类为同一类,如果是,则返回,否则保存当前视图的位置,以便确定后一视类的位置,最后,继上一步后,解除被切换视图与框架类的联系,因为当新创建一个视图时,需要判断框架类是否与视类连接,如果是,则报错,否则,创建新视类成功,下一步是将切换的视图与文档和框架类进行连接,继而将视类扩到至与框架类相同,将视图切换成活动视图,因为前面的创建函数创建视类时不会调用视类的初始化函数,因此,在切换视图后需要调用视类的初始化函数初始化该视类。
点击事件是由树视响应的,添加左键双击事件,首先取得单击的位置,再取得单击处的文本和框架类指针,然后针对不同的节点切换视类。
流程图如11页图4所示。
图4服务器操作流程
5.1.2信息添加流程
添加信息时,字段ID有程序自动生成,且不能修改,其它信息由用户输入,当用户点击确定时,程序对数据进行合法性判