数据库课程设计报告--人力资源管理系统.doc_第1页
数据库课程设计报告--人力资源管理系统.doc_第2页
数据库课程设计报告--人力资源管理系统.doc_第3页
数据库课程设计报告--人力资源管理系统.doc_第4页
数据库课程设计报告--人力资源管理系统.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库课程设计报告 -人力资源管理系统计算机科学与技术学院计算机科学与技术专业 *级*班 姓名:* 学号:* 任课教师: 实验教师: 助教:1目 录一、系统开发平台1二、数据库规划22.1 任务陈述22.2 任务目标2三、系统定义23.1 系统边界23.2 用户视图2四、需求分析24.1 用户需求说明24.1.1 数据需求24.1.2 事务需求24.2 系统需求说明2五、数据库逻辑设计25.1 er图25.2 数据字典25.3 关系表2六、数据库物理设计36.1 索引36.2 视图36.3 安全机制36.4 其他3七、应用程序设计37.1 功能模块37.2 界面设计37.3 事务设计3八、测试和运行3九、总结4附. 参考文献41、 系统开发平台1.1开发平台简介 开发工具:本系统采用目前流行的visual c+ 6.0可视化软件开发工具开发完成,采用mfc(microsoft foundation classes)微软基础类库(以c+类的形式封装了windows的api)基于对话框的应用程序开发架构实现. 数据库: 数据库系统采用较为流行的mysql 5.5 小巧玲珑,适合大多数中小型企业使用.可视化工具:mysql workbench 5.2 ce,可以十分方便的编辑数据库保单,创建数据库,添加删除表格,实现增删查找等一系列常用操作. 操作系统: 软件支持大多数windows操作系统,开发系统为win7,经测试也可以在winndows xp系统上流畅运行(或者需要安装插件),数据库安装可能需要.net framework 4.0支持二、数据库规划2.1 任务陈述 通过对某公司的实地调查,了解到该公司的人力资源管理仍停留在完全的人工管理阶段,没有标准的人事管理存档信息。这种人工管理方式费时、费事、费力,导致工作效率底下。开发出合适的人力资源管理系统,以便管理、查询、显示、输出,节约大量人力物力把人们从繁杂的手工记录方式中解脱出来的同时,有力保障公司日常事务的高效运作。2.2 任务目标此系统建立了企业人力资源管理数据库应用系统,适用于中小型企业。以前,公司的人事档案资料、考勤考核管理和人事调配管理都是以纸张文件的形式存放的,其操作的过程比较复杂,管理效率不高,对公司岗位的分配与调动很不方便。进入到现代人力资源管理时代,通过人力资源管理系统可以实现对企业人力资源各个方面进行科学快捷的管理。该系统应能完成以下主要功能:管理企业内部员工的基本信息,同时记录员工的调动、评价和奖惩等信息;进行企业员工招聘管理,以及员工的职业培训管理;进行企业员工工资管理,并对工资的发放进行准确的记录;相应的设置员工的信息查询、添加和删除等功能,方便用户及时搜索、添加和删除员工的资料。3、 系统定义 该系统主要面向于公司内部员工,用于企业人力资源管理,旨在实现人力资源管理的信息化,把人们从繁杂的手工记录方式中解脱出来,实现高效准确的管理。根据我对人力资源工作和管理模式的了解,再结合上网查找到的资料和从人力资源管理工作人员那里了解到的情况,做出如下设计: 本系统将用户分为:普通员工和管理者 普通员工拥有权限:1.查询自己的基本信息 2查询自己的工资,福利,培训信息 3.查询惩罚与奖励情况 4修改登录密码 管理者拥有的权限: 一 管理员工权限 1查询 修改自己管辖范围内员工信息 2查询 修改应聘者信息 3查询 修改员工惩罚或奖励 4查询 修改员工调动情况 5查询 修改员工培新情况 二 个人信息管理 1.查询自己的基本信息 2查询自己的工资,福利,培训信息 3.查询惩罚与奖励,查询调动情况 4修改登录密码四、需求分析4.1 用户需求说明1 企业无需考虑使用这套人力资源管理系统后与自身的其他管理系统和将来购买的先进系统互不兼容、数据无法交换的问题。企业更加不必担心将来需要重新更换系统所带来的资金重投入、员工及管理人员多次培训的忧患。 2 现今的中小企业,人力资源管理系统都可以为自己管理的游刃有余,节约成本.并且公司再怎么扩大都无需投入额外成本。在系统管理和升级方面更是轻松自如,因为系统只需要在企业服务器上安装一次,其他客户端电脑无需安装任何额外程序,升级管理轻松在一台数据库服务器上搞定3现今企业管理个性化很浓,各家有各家高招,针对于现在企业发展趋势,必须要一套适合企业现今管理模式而且能定制未来发展模式的人力资源管理系统,也就是说我们需要的软件应该是可以随着公司的调整和改变做出相应的调整和改变的灵活系统。这样就能减少公司二次开发的成本,并且能充分的满足、贴切公司的需求,进而节约不必要的开支。 4.1.1 数据需求一个企业有着众多员工,每个员工又都有自己的一份个人资料,比如员工编号,员工工资,员工培训等一系列信息,员工需要查询自己的个人信息,比如工资状况等.每个企业又需要一定的管理人员来管理整个公司的运作,而这些管理人员所管理的除了企业自身的外,还需要管理员工.管理员工就需要操作员工的各种信息.于是我们的人力资源管理系统也就应运而生.随着企业管理理念的提高,企业内的职位、岗位划分越来越细致,针对这种发展的趋势,我们选择人力资源管理软件的时候必须考虑到系统中权限控制是否适合公司各个岗位的问题。权限分配必须分别对应于企业中不同的部门和不同的人,根据不同的管理人员而下放相应的权限。这样才能给企业带来管理的安全和信息的保密。另外,在分布式权限控制系统中职位与权限相结合,不因人的流动而造成职责的空缺。并且,既可以统一管理,又明确分工。合理的下放职权,亦可减轻各岗位的工作负担。4.1.2 事务需求n 数据录入 1 新员工注册时录入自己的详细情况; 2 录入应聘人员的各项信息; 3录入管理人员的基本信息; 4用户登录请求信息; 5管理员录入员工的记录等n 数据更新/删除1更新/删除某个员工的个人信息;2更新/删除某个应聘者的个人信息;3更新/删除某个部门的基本信息;4更新/删除某些用户的请求信息;n 数据查询1查询员工的个人信息;2查询管理人员的个人信息;3查询某个部门信息;4查询应聘信息;5查询员工的工作信息; 6查询员工不良记录信息; 无纸化办公、异地共同办公,无论你在哪里都可以登陆这套人力资源管理系统实现你在企业中的角色,就想你在坐在办公室一样完成这套工作流程,大大提高了工作效率。这也是对管理制度的一种体现,体现了“管理在前,执行在后”的先进理念。4.2 系统需求说明 一、 性能需求 1、 稳定支持 1 00 个以上的并发用户; 2、 关键业务在 50用户并发下的快速响应; 3、系统有完善的缓存管理工具,以针对各种压力场景进行配置调优。 二、 安全性需求 1、设计安全的物理网络和网络架构 2、允许从 internet 访问,并设计有相关安全措施 3、使用安全的授权方式 4、客户端同数据库间使用安全的通信协议 5、数据采用安全的保护措施、设计安全的备份和恢复策略 6、提供数据应急方案 三、 扩展性需求 模块化、组件式开发模式,无需对系统的底层基础进行修改,就能够根据需要,随时进行单个功能模块的修改、添加和升级;系统应具有良好的扩展性与二次开发能力。客户方系统管理员使用系统提供的工具即可以对功能进行更新和扩展。第三方开发人员可以在本系统基础上进行代码开发,厂商可提供相应的培训和技术支持; 4、 可用性需求 1、 完备的应用的可用性措施; 2、 完备的数据库的可用性解决方案; 3、应用系统和数据库系统支持负载均衡集群(cluster)。 五、 可集成性需求 1、与其他应用统一认证、统一授权(ss0); 2、与其他应用进行数据交互并遵从 xml 标准; 3、与流行办公软件集成。 六、 兼容性需求 1、数据库服务器和应用服务器支持windows server系统操作系统,软件系统基于微软.net平台开发。 2、数据库管理系统采用mysql.五、数据库逻辑设计5.1 er图(1) 根据不同对象,分别画出其e-r图。各实体间关系的e-r图,如下图所示: 员工工资拥有员工基本信息的e-r图,如下图所示:籍贯是否在职政治面貌身份证号员工员工号姓名性别年龄学历住址电话生日部门号职位名称员工基本信息的e-r图婚姻状况工资信息的e-r图,如下图所示:加班费日期基本工资员工编号养老金姓名工资、奖金缺勤扣款住房基金失业保险税款员工与部门信息的e-r图:隶属 部门 员工部门信息e-r图:部门号部门名称 部门部门经理部门人数简介员工信息表:部门号员工号员工职位员工与培训信息e-r图培训参与员工培训信息e-r图培训时间培训内容员工号培训编号培训培训机构培训名称培训地点 员工与调动信息e-r图参与调动员工调动信息e-r图调动原因调动日期调动编号调动员工编号调动情况员工与惩罚信息e-r图惩罚员工接受级别员工编号惩罚信息e-r图授予单位惩罚名称惩罚信息获得日期管理者奖惩编号员工与管理员信息员工员工号职位管理者信息e-r图管理者管理员编号部门参与管理员与应聘信息e-r图应聘管理员应聘信息e-r图应聘编号工作经验应聘信息所学专业姓名性别年龄文化程度住址联系电话籍贯毕业学校应聘职位员工与请假信息e-r图考勤信息参与参与请假信息员工参与参与加班信息出差信息请假信息e-r图请假日期员工号请假信息请假原因请假时长请假原因加班信息e-r图加班信息请假原因请假原因考勤信息表员工号签到时间缺勤原因是否早退考勤信息离开时间是否缺勤出差信息e-r图出差时间出差时长员工号员工号出差信息5.2 数据字典经过前面一一画出了实体之间的e-r模型,并结合在一起实现了人力资源管理系统数据库的整体e-r模型。在这个基础之上,我们现在来考虑模型中的关系模型。员工简介信息与详细信息,员工简介信息与管理员信息,他们之间是多对一的关系;然后,员工简介信息与员工工资信息、员工简介信息与调动信息、员工简介信息与奖惩信息,员工简介信息与培训信息之间是一对多的关系。最后,管理员信息与应聘信息之间是多对多的关系。表示它时需要创建一个交集表,给其命名为管理员-应聘信息表。综上所诉,我们可以得到最终的表如下图所示:员工简介信息(员工号,职位,部门号)员工详细信息(员工号,性别,年龄,出生日期,籍贯,身份证id,学历,政治面貌,婚姻状况,是否在职,住址,电话,部门号,职位,民族 级别 就职时间)部门信息表(部门号,部门名称,部门经理,部门人数) 工资表信息(员工号,姓名,日期,基本工资,加班费,奖金,养老金,失业保 险,税款,住房基金,缺勤扣款) 调动信息(调动编号,员工号,调动日期,调动职位,调动原因,调前部门 调后部门)奖惩信息(奖惩编号,员工号,奖惩名称,授予单位,级别,获得日期) 培训信息(培训编号,员工号,培训名称,培训内容,培训时间,培训地点,培训机构,)管理员信息(管理员编号,员工号,部门,职位)应聘信息(应聘编号,姓名,性别,年龄,籍贯,应聘职位,所学专业,毕业学校,文化程度,工作经验,联系号码,住址)加班信息表(员工号 加班日期 加班时长) 考勤信息表(考勤编号 员工号 是否缺勤 是否早退 缺勤原因) 名称 类型 属性员工简介信息实体集员工号,职位,部门号员工详细信息实体集员工号,性别,年龄(派生属性),出生日期,籍贯,身份证id,学历,政治面貌,婚姻状况,是否在职,住址,电话(多值属性),部门号,职位,民族, 级别,就职时间 部门信息表实体集部门号,部门名称,部门经理,部门人数工资表信息实体集员工号,姓名,日期,基本工资,加班费,奖金,养老金,失业保险,税款,住房基金,缺勤扣款调动信息实体集调动编号,员工号,调动日期,调动职位,调动原因,调前部门 调后部门奖惩信息实体集奖惩编号,员工号,奖惩名称,授予单位,级别,获得日期培训信息实体集培训编号,员工号,培训名称,培训内容,培训时间,培训地点,培训机构管理员信息实体集管理员编号,员工号,部门,职位应聘信息实体集应聘编号,姓名,性别,年龄,籍贯,应聘职位,所学专业,毕业学校,文化程度,工作经验,联系号码(多值属性),住址加班信息表实体集 加班编号 员工号 加班日期 加班时长考勤信息表实体集考勤编号 员工号 是否缺勤 是否早退 缺勤原因调动信息表调动编号员工号调动日期调前部门调后部门调动原因调后职位 5.3 关系表部门信息表部门号部门名称部门经理部门人数奖惩信息表奖惩编号员工号奖惩名称授予单位级别获得日期加班信息表员工号加班日期加班时长加班编号管理员信息表管理员编号员工号部门职位工资信息表员工号姓名日期基本工资加班费奖金养老金失业保险税款住房基金缺勤扣款员工简介表员工号职位部门号员工详细信息表员工号性别年龄出生日期籍贯身份证id学历民族政治面貌婚姻状况是否在职住址电话部门号职位级别就职时间培训信息表培训编号员工号培训名称培训内容培训时间培训地点培训机构应聘信息表应聘编号姓名,性别,年龄,籍贯应聘部门应聘职位,所学专业 毕业学校,文化程度 工作经验,联系号码,住址 是否聘用考勤表员工号是否缺勤是否早退缺勤原因六、数据库物理设计数据库连接:#include #pragma comment(lib,ws2_32.lib)#include #pragma comment(lib,libmysql.lib)#define _mysql_port(3306)#define _mysql_hostnamelocalhost#define _mysql_usernameroot#define _mysql_password1089#define _mysql_dbnameperson_infobool connect_mysql(mysql* psql)if(psql):mysql_init(psql);mysql* _psql=:mysql_real_connect(psql,_mysql_hostname,_mysql_username,_mysql_password,_mysql_dbname,_mysql_port,0,0);if(_psql!=psql)return false;elsereturn true;return 0;添加数据:bool addrecord(mysql* psql,stperson* pdata) char sqltextmax_sql_length; memset(sqltext,0,max_sql_length);if(psql & pdata)sprintf(sqltext,insert person (name,sex,birthday,age,qq_no,tel_num) values(%s,%s,%04d-%02d-%02d,%d,%s,%s),pdata-name,pdata-sex,pdata-birthday.year,pdata-birthday.month,pdata-birthday.day,pdata-age,pdata-qq_no,pdata-tel_num);int iret=mysql_query(psql,sqltext);if(!iret)return true;return false;基本表示例:管理人员表员工表员工详细信息表部门表培训表惩罚表.表属性示例参照及外键等6.1索引因为添加索引会改善系统性能,所以,根据不同的情况,我们引入了不同类型的索引。举例说明如下。在列出公司所有员工时,选择排序的列为name,非主键,此索引为聚簇索引。在列出馆中所有管理员时,选择排序的列为yuangonghao,主键,此索引为主索引。但在一些表中,如bumen表,没有建索引,因为通过课程学习我们了解到,不必为小表建立索引。yuangongx表,此操作进行较为频繁,因而为其建立二级索引。先按所在bumen分类,再按字典序依name进行排序。6.3 安全机制在本管理系统中,我们建立了两种类型的安全机制,系统安全和数据安全。在系统安全的建设方面,不允许以游客身份访问本系统,所有用户都必须注册并登陆,登录时会验证用户名和密码。只有两者匹配时,才可访问本系统。在数据安全方面, 数据库对象的访问和使用有严格的控制,其中的某些表只有具有特定权限才可以访问。 七、应用程序设计7.1 功能模块本程序共分四大部分:管理人员,普通员工,应聘人员,公司简介包括三大模块 1.登陆模块 1.1管理人员登陆1.2普通员工登陆1.3系统只允许公司内部人员登陆2查询管理模块(只允许管理人员进入) 包括员工的各种信息及其增删改查功能,是程序的核心部分2.1员工个人信息管理2.2管理人员个人信息查询2.2.1管理员工资及惩罚记录2.3员工个人信息查询2.3.1员工工资查询2.3.2员工考勤记录查询2.3.3员工培训信息查询2.3.4员工调动信息查询2.3.5员工惩罚信息查询3应聘模块3.1应聘入口3.2填写应聘信息3.3完善信息4公司简介7.2 界面设计主界面其他同上7.3 事务设计没有复杂的sql语句,所有请求均采用最简单的方式由于技术原因,造成的编程困难.示例1.嵌套查询iret=mysql_query(&sqlobj2,select * from yuangong);if (iret)xinxi=数据库查询操作失败!rn;updatedata(false);elsemysql_res *result=0;result=mysql_store_result(&sqlobj2);if (result)mysql_row row;unsigned int num_fields;num_fields=mysql_num_fields(result);int have=0;while (row=mysql_fetch_row(result)unsigned long *lengths;lengths=mysql_fetch_lengths(result);if (cstring)row0=name&(cs

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论