您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 公司人才储备管理系统
第8章公司人才储备管理系统人才是公司最为重要的资源,每一个公司都希望获得更多的优秀人才。不过,公司管理人员更应该了解公司的人才储备情况,才能利用好这些人力资源,而不至于浪费。例如项目管理者在开发新项目的时候,可以从公司的人才储备库中找到需要的人才,从而组建一个开发团队。而不至于每次需要人才的时候,都要临时招聘,会浪费很多财力和物力,常常需要的人才就可能在公司的内部。同时人力资源管理部门可以根据每个人才不同的特点,提供合适的培训。总之,这都需要对公司的人才储备情况有一个很好的管理。人才储备管理系统就可以满足这个需求,他提供了对公司的人才信息的有效管理。8.1系统设计系统设计是系统开发最为关键的一环,系统设计好了,系统的实现以及以后的系统测试都会节省很多的物力和财力。通过系统的设计,开发人员能够更好的把握系统的需求,了解系统的各功能模块。8.1.1功能描述人才储备管理系统包括人才信息管理、教育经历管理、职位变更管理以及工作成果管理。详细的功能描述如下:●人才信息管理人才信息管理包括对人才信息的添加、修改、删除和查询的功能。人才信息包括人才的姓名、性别、出生年月、最高学位、来公司日期、转正日期、隶属部门、个人特长、专业技能。●教育经历管理教育经历管理包括对教育经历信息的添加、修改和删除的功能。教育经历信息主要包括院校、入学日期、毕业日期、专业、学位等信息。●职位变更管理职位信息包括职位变动、职称授予、部门变动等信息。职位变更管理包括对职位信息的添加、修改和删除的功能。●工作成果管理工作成果是公司员工在公司所取的成果,如参加的各种项目。工作成果的管理包括对工作成果信息的添加、修改和删除的功能。VisualC++与Oracle数据库编程案例•302•8.1.2功能模块设计从上面的功能描述中,可以把人才储备管理系统分为四个模块:人才信息管理、教育经历管理、职位变更管理以及工作成果管理。在每一个模块下又提供了更为具体的功能。详细的人才储备管理系统的功能模块图,如图8-1所示。图8-1系统功能模块图8.2数据库设计与实现数据库设计是系统开发中非常重要的一个环节。数据库结构设计的好坏将直接影响到系统的效率和功能的实现。在设计数据库之前,要了解数据库的需求,从而确定数据库的结构。8.2.1数据库需求设计通过以上的功能分析,公司人才储备管理系统需要包含以下数据库信息:●人才信息包括人才ID、姓名、性别、教育程度、出生日期、来公司日期、转正日期、隶属部门、个人特长、专业技能。●教育经历信息包括教育经历ID、人才ID、院校、入学日期、毕业日期、专业、学位等信息。第8章公司人才储备管理系统•303•●职位变更信息包括职位变更ID、人才ID、变更日期、变更说明。●工作成果信息包括工作成果ID、人才ID、日期、成果描述、评价。8.2.2数据库表的设计通过数据库的需求,可以创建以下数据表:●人才信息表(employee_info_tab)人才信息表包括了公司人才的基本信息。人才信息管理实际上是对人才信息表的管理,表的结构如表8-1所示。表8-1人才信息表字段名称数据类型可否为空约束条件说明employee_idINTEGERNOTNULL主键人才ID值nameVARCHAR2(24)NOTNULL无姓名sexVARCHAR2(10)NULL无性别birthVARCHAR2(20)NULL无出生年月degreeVARCHAR2(24)NULL无最高学位in_dateVARCHAR2(20)NULL无来公司日期regular_dateVARCHAR2(20)NULL无毕业日期deptVARCHAR2(24)NULL无隶属部门interestVARCHAR2(100)NULL无个人特长specialityVARCHAR2(200)NULL无专业技能●教育经历信息表(education_info_tab)教育经历信息表包括了公司人才的教育经历信息。教育经历管理实际上是对教育经历信息表的管理,表的结构如表8-2所示。表8-2教育经历信息表字段名称数据类型可否为空约束条件说明education_idINTEGERNOTNULL主键教育经历ID值employee_idINTEGERNOTNULL外键,来自employee_info_t人才ID值VisualC++与Oracle数据库编程案例•304•ab的employee_idschoolVARCHAR2(60)NULL无院校enroll_dateVARCHAR2(20)NULL无入学日期graduate_dateVARCHAR2(20)NULL无毕业日期majorVARCHAR2(30)NULL无专业degreeVARCHAR2(10)NULL无学位●职位变更信息表(position_change_info_tab)职位变更信息表包括了公司人才的职位变更的信息。职位变更管理实际是对职位变更信息表的管理,表的结构如表8-3所示。表8-3职位变更信息表字段名称数据类型可否为空约束条件说明position_idINTEGERNOTNULL主键职位变更ID值employee_idINTEGERNOTNULL外键,来自employee_info_tab的employee_id人才ID值change_dateVARCHAR2(20)NULL无变更日期descriptionVARCHAR2(200)NULL无变更说明●工作成果信息表(achievement_info_tab)工作成果信息表包括了公司员工的公司成果信息。工作成果管理实际是对工作成果信息表的管理,表的结构如表8-4所示。表8-4工作成果信息表字段名称数据类型可否为空约束条件说明achievement_idINTEGERNOTNULL主键成果ID值employee_idINTEGERNOTNULL外键,来自employee_info_tab的employee_id人才ID值ach_dateVARCHAR2(20)NULL无日期第8章公司人才储备管理系统•305•achievementVARCHAR2(200)NULL无成果描述commentVARCHAR2(200)NULL无评价8.2.3数据库表的创建利用第三章中讲述的方法创建表空间dbemployee和数据库用户dbemployee,其中数据库用户的密码为dbemployee,选择的默认表空间为dbemployee。创建公司人才储备管理系统所有数据表的SQL语句如下:--人才信息表CREATETABLEemployee_info_tab(employee_idINTEGERPRIMARYKEY,nameVARCHAR2(24)NOTNULL,sexVARCHAR2(10)NULLCHECK(sexIN('男','女')),birthVARCHAR2(20)NULL,degreeVARCHAR2(24)NULL,in_dateVARCHAR2(20)NULL,regular_dateVARCHAR2(20)NULL,deptVARCHAR2(24)NULL,interestVARCHAR2(100)NULL,specialityVARCHAR2(200)NULL);--添加最后学位degree的索引CREATEINDEXemployee_info_degreeindexONemployee_info_tab(degree);--教育经历信息表CREATETABLEeducation_info_tab(education_idINTEGERPRIMARYKEY,employee_idINTEGERNOTNULL,schoolVARCHAR2(60)NULL,enroll_dateVARCHAR2(20)NULL,graduate_dateVARCHAR2(20)NULL,majorVARCHAR2(30)NULL,degreeVARCHAR2(10)NULL);--添加人才ID外键ALTERTABLEeducation_info_tabADD(FOREIGNKEY(employee_id)REFERENCESemployee_info_tab);--职位变更信息表CREATETABLEposition_change_info_tab(position_idINTEGERPRIMARYKEY,VisualC++与Oracle数据库编程案例•306•employee_idINTEGERNOTNULL,change_dateVARCHAR2(20)NULL,descriptionVARCHAR2(200)NULL);--添加人才ID外键ALTERTABLEposition_change_info_tabADD(FOREIGNKEY(employee_id)REFERENCESemployee_info_tab);--工作成果信息表CREATETABLEachievement_info_tab(achievement_idINTEGERPRIMARYKEY,employee_idINTEGERNOTNULL,ach_dateVARCHAR2(20)NULL,achievementVARCHAR2(200)NULL,descriptionVARCHAR2(200)NULL);--添加人才ID外键ALTERTABLEachievement_info_tabADD(FOREIGNKEY(employee_id)REFERENCESemployee_info_tab);--创建可以递增的系列号供人才信息表的employee_id使用CREATESEQUENCEseq_employee_idINCREMENTBY1STARTWITH1000NOMAXVALUENOMINVALUENOCYCLE;--创建可以递增的系列号供教育经历信息表的education_id使用CREATESEQUENCEseq_education_idINCREMENTBY1STARTWITH1NOMAXVALUENOMINVALUENOCYCLE;--创建可以递增的系列号供职位变更信息表的position_id使用CREATESEQUENCEseq_position_idINCREMENTBY1STARTWITH1NOMAXVALUENOMINVALUENOCYCLE;--创建可以递增的系列号供工作成果信息表的achievement_id使用CREATESEQUENCEseq_achievement_idINCREMENTBY1STARTWITH1NOMAXVALUENOMINVALUENOCYCLE;利用OracleSQLPlusWorkSheet工具执行上述的SQL语句从而创建数据库表。需要说明的是,在打开OracleSQLPlusWorksheet的“OracleEnterpriseManager登录”页面的时候,需要在“用户名”文本框中输入企业设备管理系统的用户名dbemployee,在“口令”文本框中输入用户密码dbemployee,在“服务”文本框中输入数据库的本地服务名OraDB,选择连接方式Normal,登录成功之后,再运行上述的SQL语句。8.3系统的实现完成了系统功能模块的设计和数据库表的创建,就可以创建一个公司人才储备管理系统了。第8章公司人才储备管理系统•307•8.3.1创建应用程序运行VisualC++,选择File|New命令,弹出New对话框,从Projects列表中选择MFCAppWizard(exe)向导,在Location文本框中选择项目工程的目录“D:\VCSAMPLE\”,在Projectname文本框中输入工程文件的名称EmployeeDBS,单击OK按钮,进入MFCAppWizard–Step1页面,从应用程序的类型中选择Dialogbased选项,从语言列表中选择“中文(中国)(APPWZCHS.DLL)”,单击Next按钮,进入MFCAppWizard–Step2of4页面,选择Automation选项,
本文标题:公司人才储备管理系统
链接地址:https://www.777doc.com/doc-951834 .html