• 1.69 MB
  • 2022-04-22 13:32:53 发布

中小企业培训管理系统毕业论文.doc

  • 30页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'中小企业培训管理系统毕业论文目录前言21绪论31.1企业培训管理软件的现状31.2中小企业培训管理系统提出的意义32系统分析42.1可行性分析42.1.1技术可行性分析42.1.2经济可行性分析42.2需求分析52.2.1系统业务流程图53总体设计63.1系统模块框图63.2系统说明63.3系统开发环境74详细设计84.1数据库设计84.1.1数据库构建84.1.2数据库表设计84.1.3主要数据表的结构114.2具体功能模块设计134.2.1系统登录设计134.2.2基本信息管理模块的设计144.2.3培训管理模块的设计164.2.4计划制定模块的设计174.2.5培训评价模块的设计184.2.6员工课程信息查询模块的设计195系统实现205.1系统主窗体的实现205.2基础信息管理模块的实现215.3培训管理功能模块的实现22第30页 5.4计划制定功能模块的实现235.5员工培训课程信息查询模块265.6培训效果评价模块27结论29参考文献30致谢311绪论1.1企业培训管理软件的现状目前,企业培训信息管理软件存在几点不足。首先,缺乏简易性和实用性。大多成型的企业培训信息管理软件都在市面销售,它们为追求市场效应,表面上产品功能非常齐全,实际仍有许多功能过于简单或不能使用。例如,员工的信息添加情况。其次,缺乏针对性。许多的信息管理软件都是对全部的信息管理有效,缺乏对各个环节的控制,针对不同的企业信息管理,系统需要专门针对该企业设计它特有的系统功能,这样即使现有企业管理、信息管理软件投入再多人力、财力来开发,还是不灵活,不能够满足各个企业的需求,尤其是中小企业培训管理系统的使用。随着企业现代化管理日益增长的需求,计算机技术在企业现代化生产及管理中被广泛使用,计算机技术在企业活动中的地位也越来越重要。企业培训经营模式也在不断地得以改进,原来是由被动需求指挥一切,现在则是企业在争取更多的市场空间,不断提高企业信息化程度。这样,管理部门的工作也变得更重要了,管理部门可以有效地协调培训计划、教师及培训部门之间的工作,降低成本,增加收入,减少财务费用,并且可以为领导决策层提供及时、准确的分析数据,以供领导及时决策,指挥企业经营,从而产生可观的经济效益。企业培训信息管理系统的建立,可以集成各培训企业的实际需求情况,协调各个企业的特色服务,降低员工手动信息管理的人力资源消耗,提高经济效益。信息管理系统的建立在经营活动中是非常重要的,这也是适应市场,适应未来发展的需要。目前许多培训企业都使用了这类信息管理系统,它所带给这些企业的经济效益是长远而可观的。1.2中小企业培训管理系统提出的意义目前,还有为数众多的中小培训企业在采用传统的信息管理模式。根据我的研究与调查,我发现90%以上的培训企业都以安装了计算机,但是只有50%左右的企业在很合理的使用计算机为企业制造价值,本系统的提出就是为了改善传统企业管理系统存在的诸多问题,其中主要有如下几个方面:(1)人工信息管理,工作效率低而且不准确,员工第30页 管理是一个传统的办法,也是人们比较依赖的管理办法,企业管理者一旦出现工作交接的问题,就会使整个资料管理进入一个空白阶段,不利于企业平稳的发展;(2)培训者、人事等信息以文件的形式分散保存,易丢失,各个企业都有资料库,企业的决策等信息都是由专人保管收藏起来的,但是时间久了,企业的资料就会变陈旧,以至于损坏,没有计算机备份资料安全;(3)管理决策层不能随时随地掌握企业的信息数据、分析图表;显然,这种低效的传统模式,已经不能适应现代企业管理发展。在这个信息高度发达的时代,企业管理的信息化与软件的结合具有重要的意义。本系统的提出是适应企业发展、加强企业市场竞争力的必然趋势。只有跟上时代脚步的科技化管理才能使企业发展平稳、立于不败之地。2系统分析2.1可行性分析可行性研究(FeasibilityStudy)是通过对项目的主要内容和配套条件,如市场需求、资源供应、资金筹措、盈利能力等,从技术、经济、工程等方面进行调查研究和分析比较,并对项目建成以后可能取得的财务、经济效益及社会环境影响进行预测,从而提出该项目是否值得投资和如何进行建设的咨询意见,为项目决策提供依据的一种综合性的系统分析方法。本系统采用C/S结构,具有了一定的数据处理和数据存储能力,通过把应用软件的计算和数据合理地分配在客户机和服务器两端,可以有效地降低网络通信量和服务器运算量。由于服务器连接个数和数据通信量的限制,这种结构的软件适于在用户数目不多的局域网内使用。国内目前的大部分ERP软件产品即属于此类结构。2.1.1技术可行性分析技术可行性分析需要考虑以下几方面因素:(1)在给定的时间内能否实现需求说明中的功能。在时间方面,从下发毕业设计题目开始,我有半年的时间来进行系统的分析、设计、开发和实现,又有指导老师的帮助,我完全可以在规定时间内完成,不会拖延进度,更不可能断送项目。(2)软件的质量如何?中小企业培训管理系统重要是提供给管理者一个信息化的管理平台。按照需求分析设计实现,本系统不涉及连接互联网等问题,占系统内存小,不影响系统的运行时间,企业可以放心使用,其功能也存在实用价值。没有高风险的应用,更加不会由于软件运行上的失误导致客户利益的损失,质量方面完全可行。(3)第30页 软件的生产率如何?本款软件在总的开发时间上计算,最多不过半年的时间,但是它所创造的经济价值不只一点点,而且,通过本次系统的设计与实现,我学会了更多的东西,对将来的学习来说这无疑是一个良好的实践机会。所以本款软件在保证质量的情况下还能带来很多的实际效益,在生产率上也可行。2.1.2经济可行性分析经济可行性分析主要是:“成本—收益”和“短期—长远”利益分析两方面。首先进行成本—收益问题的分析,本系统所要考虑的有:计算机、网络等硬件设备还有购买系统开发软件、相关资料来源问题。学校图书馆给我提供了大量的可查阅资料、在校期间老师给我们提供了开发软件的安装包,实训中心的机房更是对我们一直开放,所以本系统的涉及到开发实现所用成本非常低廉,但是它创造的经济价值很大,现阶段企业培训正是缺少这样的软件来科学化的管理企业信息,有了这样一款软件不仅能提高企业的效率、更能使管理者放心使用。其次,进行短期—长远利益分析,短期考虑来说,本系统采用C#作为开发语言,可移植性强,符合现代中小企业培训管理的需求;长远来看,本系统的可扩展性好,完全可以根据企业的不同需求完善管理功能模块。风险较低,经济效益大。综上所述,经分析本系统开发技术采用VisualStudio2005,数据库选用SQLServer2005在技术上可行,经济上合理,适合用于开发中小企业培训管理系统。2.2需求分析2.2.1系统业务流程图需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。本企业培训管理系统针对实际需求,通过了对用户及现实环境进行调查、了解,从技术、经济和社会因素三个方面进行研究并论证该软件项目的可行性,根据可行性研究的结果,本系统做了如下需求分析:管理员的工作是对培训教师及员工等信息的科学管理,使用本系统可以在提高工作效率的基础上还能增强企业信息的安全性。系统可实现以下功能:基础信息设置:用于课程管理、教师管理、员工信息管理、企业部门管理;计划制定:用于根据查询每个员工的培训意向,结合公司高层管理者的要求给员工制定培训计划。培训评价:用于根据员工培训的不同时期对员工的培训效果进行评价,通过课程打分、教师打分、设备打分、环境打分、费用满意度打分等使得统计结果更加形象直观;员工信息查询:以便员工方便的查询到自己的培训计划,即课程安排、开课时间、地点、讲师姓名等信息;根据需求分析画出系统业务流程图如图2-1所示。第30页 图2-1中小企业培训管理系统业务流程图3总体设计3.1系统模块框图在主界面中包含了四大功能模块,它们分别是:基本信息管理、计划制定、培训评价、员工信息查询。其中基础信息管理菜单下包括课程管理、教师管理、员工信息查询、企业部门管理四个子菜单;计划制定菜单下包括添加课程、删除课程、修改计划;培训评价菜单下包括成绩汇总、成绩统计、图表统计三个子菜单;员工信息查询可以对员工信息进行实时查询。根据需求分析阶段结果现将系统模块框图设计如图3-1所示。第30页 图3-1系统功能模块图3.2系统说明(1)基础信息设置:用于课程管理、教师管理、员工信息管理、企业部门管理;(2)培训管理:用于对培训课程进行系统性的录入与管理。(3)计划制定:用于根据查询每个部门的培训意向,结合公司高层管理者的要求给部门制定培训计划。(4)培训评价:用于根据员工培训的不同时期对员工的培训效果进行评价,包括成绩按部门同一学科排名,最高分、平均分、最低分总汇统计,用不同的图形分别统计,使得统计结果更加形象直观;(5)员工信息查询:以便员工方便的查询到自己的培训计划,即课程安排、开课时间、地点、讲师姓名等信息。3.3系统开发环境(1)系统开发平台:MicrosoftVisualStudio2005(2)系统开发语言:C#(3)数据库管理系统软件:SQLServer2005(4)运行平台:WindowsXP(SP2)(5)运行环境:Microsoft.NETFramework2.0后台数据库采用MicrosoftSQLServer2005,该数据库系统在安全性、准确性、运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用Microsoft公司的VisualStudio2005作为主要的开发工具,可与SQLServer2005数据库无缝链接。4详细设计4.1数据库设计4.1.1数据库构建本系统选择的是易维护而且能够满足中小企业培训管理系统要求的SQLServer2005,来实现后台数据库对系统数据信息的保存和维护。4.1.2数据库表设计数据库表的设计第30页 ,在确定了各个表主键字段的基础上,通过表与表之间相关字段之间的联系建立起各表之间的对应关系,表与表之间的关系是主表与子表之间确立的一种约束,用于实现表与表之间的数据参照完整性,这些关系的建立可以避免由于误操作导致数据库的崩溃,保证各表之间数据的一致性和完整性。现实现各个表的实体与属性之间的关系,如图4-1—4-7所示。(1)员工实体图图4-1员工实体图(2)教师实体图图4-2教师实体图(3)课程实体图图4-3课程实体图(4)用户实体图第30页 图4-4用户实体图(5)部门实体图图4-5部门实体图(6)选课统计实体图图4-6选课统计表实体图(7)培训评价实体图图4-7培训评价实体图第30页 (8)培训信息实体图图4-8培训信息实体图(9)根据需求分析和实体图的设计,系统的E-R图如图4-7所示。图4-9系统E-R图4.1.3主要数据表的结构本企业培训管理系统的数据库包括以下7个表。(1)用户表。用户表记录了系统管理员的登陆信息,其中包括了用户ID、用户名、用户类型、密码四个字段。其数据库表如图4-1所示。表4-1用户表(User_form)字段名是否可以为空数据结构说明第30页 UserID不可以Int(4)用户的编号UserName不可以Char(50)用户的名称Type可以Char(10)用户进入系统的权限Password可以Char(50)用户密码(2)员工表。员工表记录了所有员工的基本信息,包括了员工编号、员工姓名、年龄、性别、部门、加入时间、员工学历、员工职位、培训意向、照片。数据库表如图4-2所示。表4-2员工表(Worker_form)字段名是否可以为空数据类型主键否说明WorkerID不可以Int(4)主键员工的编号Workername不可以Char(10)否员工的姓名WorkerAge可以Char(3)否员工的年龄WorkerSex可以Char(2)否员工的性别Dept不可以Char(20)否在企业中所属部门Time可以Datetime(8)否加入公司的时间Degree可以Char(10)否最高学历Station可以Char(10)否公司中所担任的职务Intention可以Char(50)否希望公司安排的培训意向Photo可以Image(16)否员工的照片(3)教师表。教师表记录了培训课程的各项信息,其中包括了教师编号、教师姓名、年龄、性别、工作单位、职称、专业、所教课程、照片。其数据库表如图4-3所示。表4-3教师表(Teacher_form)字段名是否可以为空数据类型主键否说明TeacherID不可以Int(4)主键教师的编号Teacher不可以Char10)否教师的姓名TeacherAge可以Char(3)否教师的年龄TeacherSex可以Char(2)否教师的性别Unit可以Char(50)否聘请教师的工作单位TeacherSta可以Char(20)否教师的工作职称级别Profession可以Char(20)否教师从事研究的专业Course不可以Char(50)否在公司中讲授的课程Tphoto可以Image(16)否教师的照片(4)课程表。课程表记录培训课程的具体情况,其中包括了课程编号、课程名称、开课地点、开课时间、课时、课程的费用、任课教师。其数据库表如图4-4所示。表4-4课程表(Course_form)字段名是否可以为空数据类型主键否说明第30页 CourseID不可以Int(4)主键课程编号Course不可以Char(20)否课程名称Place可以Char(50)否员工培训地点Time可以Datetime(8)否开始授课的地点ClassHour可以Char(10)否整个课程讲授的总课时Cost可以Int(5)否课程费用Teacher不可以Char(10)否该课程的教师(5)部门表。部门表记录了员工所属的部门,包括部门编号、部门、经理。其数据库表如图4-5所示。表4-5部门表(Dept_form)字段名是否可以为空数据类型主键否说明DeptID不可以Int(4)主键部门的编号Dept不可以Char(20)否部门的名称Manager可以Char(10)否该部门的经理(6)选课统计表。选课表记录员工所选课程的信息,其中包括了选课编号、员工姓名、部门、课程名称、分数、员工评价。其数据库表如图4-6所示。表4-6选课统计表(Choose_form)字段名是否可以为空数据类型主键否说明ChooseID不可以Int(4)主键选课编号WorkerID不可以Int(4)否员工编号DeptID不可以Int(4)否部门编号CourseID不可以Int(4)否课程编号WorkerName不可以Char(10)否员工姓名Dept不可以Char(20)否部门名称Course不可以Char(20)否课程名称Appraise不可以Char(20)否员工评价Score可以Char(3)否成绩分数(7)培训评价表。培训评价表记录员工对所学课程的打分,其中包括了课程名称、课程打分、教师打分、教学环境打分、费用打分。其数据库表如图4-7所示。表4-7培训评价表(Appraise_form)字段名是否可以为空数据类型主键否说明ID不可以Int(4)主键自动编号Course不可以Char(20)否课程名称CScore不可以Int(3)否课程打分TScore不可以Int(3)否教师教学质量打分第30页 IScore不可以Int(3)否教学设备打分EScore不可以Int(3)否环境打分FScore不可以Int(3)否费用满意度打分(8)培训信息表。培训信息表记录员工培训的各方面信息,其中包括员工姓名,培训主题,课程名称,开课地点,开课时间,所需费用,备注。其数据库表如图4-8所示。表4-8培训信息表(Info_form)字段名是否可以为空数据类型主键否说明ID不可以Int(4)主键自动编号WorkerName不可以Char(20)否员工姓名Theme不可以Char(20)否培训主题PTime不可以Char(20)否预计时间Course不可以Char(20)否课程名称Place不可以Char(50)否开课地点Fee不可以Int(5)否所需费用Memo不可以Char(50)否备注4.2具体功能模块设计4.2.1系统登录设计系统登录主要用于对进入企业培训管理系统的用户进行安全性检查,以防止非法用户进入该系统。只有合法的用户,才可以进入系统,同时根据管理员分配的权限,给予操作员相应的操作权限。验证操作员及其密码,主要通过SqlDataReader对象读取数据库中数据并结合If语句判断用户选定的操作员、登录身份及输入的密码是否符合数据库中的操作员和密码,如果符合则允许登录,并给予相应的权限,否则提示用户非法登录。图4-8为用户登录设计图,该窗体用到的主要控件如表4-8所示。第30页 图4-8用户登录设计图表4-8用户登录页面控件列表控件类型控件名称主要属性设置用途TextBoxtxtUidReadOnly设置为“true”输入用户名cbxTypeReadOnly设置为“true”输入登录身份txtPwdReadOnly设置为“true”输入密码ButtonbtnOKText属性设置为“确定”执行登录操作btnCancelText属性设置为“取消”取消登录操作4.2.2基本信息管理模块的设计基本信息管理,是记录中小企业培训管理系统基本数据的模块,其中包含了课程管理、教师管理、员工信息管理、企业部门管理四个子菜单,都包含两部分:添加信息和更新信息。管理者办理任何一项业务,都必须从基础信息维护开始,由管理员添加、更新、删除这些基本信息,并将维护后的信息存入数据库中。首先,档案信息都是原始的资料,是其他信息服务以及管理的基础,更是查询信息的重要依据,任何人不得任意修改档案类信息。员工信息管理模块设计,如图4-9所示。第30页 图4-9员工信息管理页面由于员工信息管理、课程管理、教师信息管理、部门信息管理模块相似,现以员工信息管理模块为例,说明所需要的控件如4-9表所示。表4-9员工信息管理页面控件列表控件类型控件名称主要属性设置用途TextBoxtxtWorkerNameReadOnly设置为“true”输入员工名称txtAgeReadOnly设置为“true”输入员工年龄txtSexReadOnly设置为“true”输入性别txtDeptReadOnly设置为“true”输入员工部门txtTimeReadOnly设置为“true”输入员工进入部门时间txtDegreeReadOnly设置为“true”输入员工学历txtPositionReadOnly设置为“true”输入员工职位txtIntentionReadOnly设置为“true”输入培训意向DataGridViewdgvWorkerInfo设置Dock属性为“Fill”,设置ReadOnly属性为“True”显示数据课程管理界面,如图4-10所示。第30页 图4-10课程管理页面部门信息维护界面,如图4-11所示。图4-11部门信息维护页面4.2.3培训管理模块的设计培训管理模块是记录培训课程信息的模块,同时能实现信息的录入、修改、删除的功能。此模块的目的是更清晰的显示培训信息的管理,以及对培训信息的管理。提高了管理者对培训信息统计的效率。图4-12为培训管理模块设计图,该窗体主要用到的控件如表4-12所示。第30页 图4-12培训管理页面表4-12培训管理模块控件列表控件类型控件名称主要属性设置用途TextBoxtxtWorkerNameReadOnly设置为“true”输入员工姓名txtThemeReadOnly设置为“true”输入培训主题txtCourseReadOnly设置为“true”输入课程名称txtAppraiseReadOnly设置为“true”输入培训评价txtFeeReadOnly设置为“true”输入培训费用ButtontxtNextText属性设置为“下一条”跳至下一条txtBeforeText属性设置为“上一条”跳至上一条DataGridViewdgvWorkerInfo设置Dock属性为“Fill”,设置ReadOnly属性为“True”显示数据4.2.4计划制定模块的设计计划制定模块是记录培训计划信息的模块。此模块目的是让部门选择所需要的课程、与时俱进。提高了企业对最新趋势信息的了解和掌握。针对培训意向所需服务进行统计管理,这样一来,管理者才能对整个企业培训方向有更确切的数字了解,信息会实时的记录在数据库中。图4-13为培训计划制定设计图,该窗体用到的主要控件如表4-13所示。第30页 图4-13培训计划制定页面表4-13计划制定模块控件列表控件类型控件名称主要属性设置用途TextBoxtxtCourseReadOnly设置为“true”输入课程编号ButtonbtnBeforeText属性设置为“上一条”执行上一条操作btnNextText属性设置为“下一条”执行下一条操作btnModifyText属性设置为“修改”执行修改操作btnDeleteText属性设置为“删除”执行删除操作ListBoxlbCourse设置Dock属性为“Fill”,设置ReadOnly属性为“False”显示所有课程4.2.5培训评价模块的设计培训评价模块主要是对课程信息的组合查询。是根据员工对课程、教师、教学环境、设备、环境的打分所反映出来的具体信息来客观的评价培训的效果。评价录入界面如图4-14所示,该窗体主要控件如表4-14所示。第30页 图4-14评价录入页面表4-14成绩输入页面控件列表控件类型控件名称主要属性设置用途TextBoxtxtCourseReadOnly设置为“true”输入课程编号ButtonbtnBeforeText属性设置为“上一条”执行上一条操作btnNextText属性设置为“下一条”执行下一条操作btnModifyText属性设置为“修改”执行修改操作btnDeleteText属性设置为“删除”执行删除操作ListBoxlbCourse设置Dock属性为“Fill”,设置ReadOnly属性为“False”显示所有课程4.2.6员工课程信息查询模块的设计虽然说用户信息查询模块是本系统设计中最简单的模块,但是此模块对整个系统的作用可是最重要的,它显示了员工所选课程的信息汇总、方便了员工和管理员对信息的把握。员工信息查询界面如图4-15所示,该模块所需要的控件如表4-15所示。图4-15员工信息查询页面表4-15员工信息查询页面控件列表控件类型控件名称主要属性设置用途TextBoxtxtWorkerNameReadOnly设置为“False”输入员工姓名ButtonbtnSearchText属性设置为“查询”执行查询操作btnExitText属性设置为“退出”退出查询页面DataGridViewdgvWorkerInfo设置Dock属性为“Fill”,设置ReadOnly属性为“True”,设置SelectionMode属性为“FullRowSelect”显示数据第30页 5系统实现5.1系统主窗体的实现首先,系统通过用户登录窗体,输入用户名、登录身份和密码进入系统主窗体,再对该系统中的各个功能模块进行操作。图5-1为用户登录窗体,图5-2为系统主窗体。图5-1用户登录窗体图5-2系统主窗体数据库关键代码:stringconnString="server=.;database=myschool;uid=sa;pwd=sa";//获取连接字符串SqlConnectionconn=newSqlConnection(connString);//创建连接对象conn.open();//打开连接stringsql="sql语句";SqlCommandcomm=newSqlCommand(sql,conn);第30页 conn.close();//关闭连接5.2基础信息管理模块的实现基础信息管理功能分为员工信息管理、教师信息管理、课程信息管理、部门信息管理,用户信息管理,这几个功能的实现代码类似,这里就重点说明员工信息管理功能的代码实现。功能有添加、删除,修改,递交,导航等操作。分别对这些按钮的单击事件代码描述,如图5-3。图5-3员工信息管理模块运行结果关键代码如下:窗口加载事件privatevoidworkManagement_Load(objectsender,EventArgse){this.conn1.Open();this.sqlDataAdapter1.Fill(this.DataSet1,"Worker_form");this.DataSet_Bingding();//数据绑定方法调用this.Bottom_Control(false);//按钮控制方法调用myBMB=this.dataGrid1.BindingContext[this.DataSet1,"Worker_form"];//填充部门列表this.commandString="selectDeptfromDept_form";this.command1=newSqlCommand(commandString,conn1);this.DataReader1=this.command1.ExecuteReader();while(this.DataReader1.Read()){this.depatmentcomboBox1.Items.Add(this.DataReader1["Dept"].ToString());第30页 }this.DataReader1.Close();}添加按钮单击事件privatevoidAddbutton1_Click(objectsender,EventArgse){this.Bottom_Control(true);newtable=this.DataSet1.Tables["Worker_form"];DataRownewRow=newtable.NewRow();this.newtable.Rows.Add(newRow);myBMB.Position=myBMB.Count-1;}修改按钮事件privatevoidModbutton3_Click(objectsender,EventArgse){this.Bottom_Control(true);}删除按钮事件privatevoidDelbutton4_Click(objectsender,EventArgse){intposition=this.BindingContext[this.DataSet1,"Worker_form"].Position;//当前记录的位置BindingContext[DataSet1,"Worker_form"].RemoveAt(position);this.Bottom_Control(true);}递交按钮事件privatevoidOKbutton2_Click(objectsender,EventArgse){this.BindingContext[DataSet1,"Worker_form"].EndCurrentEdit();//停止编辑数据集合中的记录if(this.conn1.State==ConnectionState.Closed){this.conn1.Open();SqlCommandBuildercommandBuilder1=newSqlCommandBuilder(this.sqlDataAdapter1);//使数据集合自动生成SQL语句if((this.BindingContext[this.DataSet1,"Worker_form"].Count>0)&(MessageBox.Show("你真的要用现在的改动更新数据吗?","确定数据",MessageBoxButtons.OKCancel,MessageBoxIcon.Question).Equals(DialogResult.OK))){this.sqlDataAdapter1.Update(DataSet1,"Worker_form");//把数据更改保留在数据库this.DataSet1.AcceptChanges();//修改数据集合各行的状态为原始状态(unchanged)}}}第30页 5.3培训管理功能模块的实现培训管理模块主要用于对培训信息进行统计汇总,能对培训信息进行添加、删除、修改,以便管理员能够更加直接的对培训信息进行管理操作,如图5-4。图5-4培训管理模块运行结果关键代码如下:privatevoidworkManagement_Load(objectsender,EventArgse){this.conn1.Open();this.sqlDataAdapter1.Fill(this.DataSet1,"Worker_form");this.DataSet_Bingding();//数据绑定方法调用myBMB=this.dataGrid1.BindingContext[this.DataSet1,"Worker_form"];//填充部门列表this.commandString="selectDeptfromDept_form,";this.command1=newSqlCommand(commandString,conn1);this.DataReader1=this.command1.ExecuteReader();while(this.DataReader1.Read()){this.depatmentcomboBox1.Items.Add(this.DataReader1["Dept"].ToString());}this.DataReader1.Close();}5.4计划制定功能模块的实现计划制定模块主要用于对员工筛选的课程进行添加、删除和显示等操作。管理员可以针对员工的选择进行相应的修改,如图5-5。第30页 图5-5计划制定模块运行结果计划制定功能有三个操作按钮分别实现代码如下::查询按钮单击事件:privatevoidfindbutton_Click(objectsender,EventArgse){//判输入框是否为空值if(this.nametextBox.Text.ToString()==""){MessageBox.Show("请输入你要添加计划的员工名!","提示");return;}if(this.conn1.State==ConnectionState.Closed)this.conn1.Open();commandString="select*fromWorker_formwhereWorkerName="+"""+this.nametextBox.Text+""";this.command2.CommandText=commandString;this.DataReader2=command2.ExecuteReader();if(this.DataReader2.HasRows==false){MessageBox.Show("没有此员工!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error);this.DataReader2.Close();return;}while(this.DataReader2.Read()){this.Departmentname=this.DataReader2["Dept"].ToString();}this.DataReader2.Close();Bottom_Control(true);//列出员工已经选择的课程commandString="select*fromChoose_formwhereWorkerName="+"""+this.nametextBox.Text+""";this.command2.CommandText=commandString;第30页 this.DataReader2=command2.ExecuteReader();if(this.DataReader2.HasRows==true){//填充listbox2的数据项this.listBox2.Items.Clear();while(this.DataReader2.Read()){this.listBox2.Items.Add(this.DataReader2["CourseName"].ToString());}this.DataReader2.Close();}else{//给出没有选课信息this.DataReader2.Close();this.listBox2.Items.Clear();this.listBox2.Items.Add("此员工还没有选课,请选课!");this.delbutton.Enabled=false;}//输出培训意向文本this.commandString="selectIntentionfromWorker_formwhereWorkerName="+"""+this.nametextBox.Text+""";this.command1.CommandText=this.commandString;this.DataReader1=command1.ExecuteReader();while(this.DataReader1.Read()){this.wantlabel3.Text=this.DataReader1["Intention"].ToString();}this.DataReader1.Close();}//查询事件删除按钮点击事件:privatevoiddelbutton_Click(objectsender,EventArgse){//判断是否选择list列表项if(this.listBox2.SelectedIndex==-1)//SelectedIndex=-1表示没有做选择{MessageBox.Show("你没有选择课程!","提示",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);return;}//删除【选课表】数据表中的记录commandString="DELETEFROMChoose_formWHERE";commandString+="CourseName=""+this.listBox2.SelectedItem+""";this.command2.CommandText=commandString;this.DataReader2=command2.ExecuteReader();this.DataReader2.Close();this.listBox2.Items.Clear();//重填充listbox2的数据项(刷新数据表)commandString="select*fromChoose_formwhereWorkerName="+"""+this.nametextBox.Text+""";第30页 this.command2.CommandText=commandString;this.DataReader2=command2.ExecuteReader();while(this.DataReader2.Read()){this.listBox2.Items.Add(this.DataReader2["CourseName"].ToString());}this.DataReader2.Close();}//删除按钮事件5.5员工培训课程信息查询模块员工培训课程信息查询模块主要用于对员工的信息进行显示,以便用户能够清晰的了解员工的所有课程信息,如图5-7、5-8所示。图5-7课程安排模块运行结果5-8成绩详单查询模块运行结果员工课程信息查询功能有一个操作按钮,即查询按钮代码如下:第30页 privatevoidfindbutton1_Click(objectsender,EventArgse){if(this.textBox1.Text.ToString()==""){MessageBox.Show("请输入你要查询的员工姓名!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);return;}this.conn1.Open();commandString="select*fromChoose_formwhereWorkerName="+"""+this.textBox1.Text+""";this.DataAdapter1=newSqlDataAdapter(commandString,conn1);this.dataSet1.Clear();this.DataAdapter1.Fill(dataSet1,"Choose_form");this.tabControl1.Enabled=true;commandString="SELECTChoose_form.WorkerName,Course_form.CourseName,Course_form.Place,Course_form.Time,Course_form.ClassHour,Course_form.TeacherFROMdbo.Course_formINNERJOINChoose_formONCourse_form.CourseName=Choose_form.CourseNamewhereChoose_form.WorkerName="+"""+this.textBox1.Text+""";this.DataAdapter2=newSqlDataAdapter(commandString,conn1);this.dataSet2.Clear();this.DataAdapter2.Fill(dataSet2,"Choose_form");if(this.dataSet1.Tables["Choose_form"].Rows.Count==0){MessageBox.Show("数据库中没有此员工!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);return;}this.dataGrid1.DataSource=this.dataSet1;this.dataGrid1.DataMember="Choose_form";this.dataGrid2.DataSource=this.dataSet2;this.dataGrid2.DataMember="Choose_form";}}5.6培训效果评价模块培训效果评价模块其功能主要用于对员工对培训相关信息的打分客观的展示给用户课程的培训效果,界面如图5-9所示。第30页 图5-9培训效果评价模块运行结果培训效果评价模块运用了一个Cart组件,用于图表的分析,形象而直观。查询操作按钮事件代码如下:privatevoidbutton1_Click(objectsender,EventArgse){if(this.depatmentcomboBox1.Text==""|this.courscomboBox2.Text==""){MessageBox.Show("请输入部门和成绩!","提示");return;}if(this.conn1.State==ConnectionState.Closed)this.conn1.Open();commandString="select*fromChoose_formwhereDept="+"""+depatmentcomboBox1.Text+""andCourse="+"""+courscomboBox2.Text+"""+"andScore>0";this.DataAdapter1=newSqlDataAdapter(commandString,conn1);this.dataSet1.Clear();this.DataAdapter1.Fill(dataSet1,"Choose_form");if(this.dataSet1.Tables["Choose_form"].Rows.Count==0){MessageBox.Show("没有这门课的统计信息","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);return;}this.dataGrid1.DataSource=this.dataSet1;this.dataGrid1.DataMember="Choose_form";Tongjing();tabControl1.Enabled=true;}}第30页 结论由于时间和其他等方面的条件限制,本系统再开发中存在以下问题:①系统有些附带的功能尚未实现。②由于开发环境的限制,系统还只能单机上运行。要同其它计算机通信必须通过电子邮件的方式来实现。根据上述内容,可以知道系统今后的发展,首先就是要实现以上功能。但除此以外,开发要从以下几个方面考虑,以便能满足用户发展的需要和计算机硬件的升级的需求。系统将从现在的C/S模式转化为B/S模式,以适应企业员工培训采用多媒体教学。系统版本应由现在的单机版升级为网络版,以利于与企业Intranet及Internet交互通讯。通过本次毕业设计,我从中学到了很多新知识,并且编程能力也有了一定的提高,对于开发软件的过程有了深入的了解。相信本次开发为以后系统的继续完善和其他系统开发奠定了一定的基础。希望今后可以将本次开发的经验教训学以致用。第30页 参考文献[1](美)WattsS.Humphrey.软件工程规范[M].傅为,苏俊许青松译.清华大学出版社,2008.[2]张万强.企业培训管理系统的设计[J].职业,2009.[3]戴宗友,张伍荣,杨辉.C#程序设计实训[M].机械工业出版社,2010.[4]胥光辉.基于C/S结构的企业培训管理系统[J].福建电脑,2010.[5]刘志峰.基于.NET的培训管理系统设计与开发[J].江汉大学学报(自然科学版),2007.[6]林奇.基于.NET的企业培训管理系统的开发[J].电脑知识与技术(学术交流),2009.[7]丁国栋.企业培训管理信息系统的设计[J].2006.[8]陈京民.管理信息系统[M].北京:清华大学出版社,2006.[9]陈国华.刘海林.管理信息系统中自定义报表工具的研究与设计[J].2006.[10]尚志宾.报表系统在培训管理中的应用[J].中国管理信息化,2009.[11]张浩.吴启迪.企业培训管理系统的研制[J].齐齐哈尔大学学报,2005.[12]周红安.主编.跨平台程序设计语言——C#.西安:西安电子科技大学出版社,2006[13]张勇.培训管理信息系统[J].辽宁财专学报,2007.[14]唐祥顺.许斌编著.C#语言应用开发基础.北京:清华大学出版社,2008.[15]陈国君等编著.C#程序设计基础.北京:清华大学出版社,2010.[16][美]RogersCadenhead.C#编程入门经典.梅兴文译.第4版.北京:人民邮电出版社,2007.[17]ShariPfleeger.SoftwareEngineering[M].Beijing:HigherEducationpress,2006.[18]David.adopogrammer’sReference[M].Birmingham:WroxPressLtdArdenHouse,2010.[19]RobTurnbull.WedDevelopmentwithMacromedia[M].Birmingham:WroxPressLtdArdenHouse,2005.[20]ThearonWillis.BeginningC#Database[M].Birmingham:WroxPressLtdArdenHouse,2005.[21]AlbertoManuelRicart.Activeserverpages3exploitationenchiridion[M].Birmingham:wroxPressLtdArdenHouse,2005.第30页 致谢值此本文即将完成之际,谨向所有关心我的老师,同学,亲人们致以真挚的感谢。首先感谢指导教师冯素梅老师的关心、指导和教诲。本人在做毕业设计期间自始至终都是在老师全面、具体、耐心的指导下进行的。冯老师对我们的论文质量严格要求,十分令人尊敬。感谢我的老师们,在我学习中,不仅教会我专业性的理论知识,还教会我如何自学,在本次设计中,老师教会我的东西,让我更好的发挥了我的专业水平及我的自学能力,在此我对我所有的老师表示深深的谢意。另外,感谢我的同学和朋友,在我设计期间他们对我的不断的支持和鼓励是我前进的动力源泉。在论文设计过程中,他(她)们为我提供了大量的资料和建议,使我能顺利完成整个过程。最后,再次向所有关心、帮助、理解、支持我的老师和同学致以深深的谢意,感谢他们对我的无私帮助!第30页'