人事管理系统程序报告

合集下载

人事管理系统需求分析报告

人事管理系统需求分析报告

人事管理系统分析报告(软件工程作业)专业:10级信息管理与信息系统姓名:杨通全学号:100403010049老师:余莉目录1技术可行性 (7)社保管理、合同管理和部门管理主要涉及数据库的查询和更新,这些信息都可以很清晰的用关系数据库模式表示出来,采用数据库的操作没有难度。

而员工管理模块中的月末统计也只是一个查询统计功能,这些在设计数据库好之后就不是问题。

(7)从规模上来说,人事管理系统应属于中小型数据库应用程序,在过程设计期间可以完成从系统需求分析到系统测试的所有工作,不存在开发时间限制的问题。

(7)基于人事管理系统不属于大的数据库系统,并且没有严格的实时性的要求,因此,只要普通系统配置就可运行。

对于人事管理系统的开发就没有特殊的要求。

(7)2经济可行性 (7)人事管理系统属于中小规模的MIS,所需要的资源不多,开支不会很大,也不需要特殊设备的支持,需要的只是作为服务器的计算机,还有作为开发平台的计算机就可以了。

并且,在系统开发完成以后,由于人事管理的广泛性,可将系统扩展为通用的软件,增加其重要性,实现资源的最大利用率。

这样降低了系统开发的开支,从而实现经济上的可行性。

(7)3操作可行性 (7)随着我国加入世界贸易组织(WTO),我国企业与世界的联系更加密切,要想我们的企业管理与世界同步,最重要的就是利用当今飞速发展的计算机技术和网络资源。

计算机技术突飞猛进的发展,对世界产生了根本性的影响,特别是对机构、企业的组织结构的影响可谓空前绝后。

所以人事管理系统具有社会可行性。

(7)第二部分需求规格说明书 (7)1 引言 (7)1.1编写目的 (8)1.2 项目背景 (8)随着经济发展,企业竞争也越来越激烈。

如何提高员工效率,成为企业面临的一个重要问题。

提高员工效率的前提就是提高员工的管理效率,由于员工信息繁杂且企业员工数量庞大,因此有必要设计一款软件来解决这个问题。

(8)1.3 定义 (8)2 任务概述 (8)2.1 要求 (8)2.2 目标 (8)企业人事管理系统的主要目的是实现企业人事的信息化管理,主要业务就是实现对员工信息的管理,另外还需要提供打印报表功能,其中包括员工基本信息,合同、社保、部门、员工调动等信息。

人事管理系统软件报告

人事管理系统软件报告

人事管理系统软件报告
一、简介
人事管理系统(Human Resource Management System,HRMS)是一种
企业级的信息化管理软件,旨在改善企业的人事管理效率、实现精细化的
人力资源管理、提高员工绩效、降低开支、提高效率等目的。

基于 Web
技术的 HRMS 能够有效的管理企业的所有 HR 活动,并根据客户的需求,
提供定制服务,满足企业的各种需求。

二、HRMS的功能
1、员工信息管理:能够收集并维护员工个人信息,包括职位、工资、工作经验等,还可以给予员工和部门内的个人报表,以及员工排名和绩效
信息,帮助企业监控绩效成果。

2、薪资管理:HRMS可以更有效地实现每月薪资支付、管理工资证明、社会保险等。

3、劳动合同管理:HRMS可以有效地管理员工的劳动合同,包括聘用
合同、就业协议等。

4、人事档案管理:HRMS能够收集、存档和更新员工档案,并可以根
据不同类型的文件进行有效的管理和分类。

5、考勤管理:HRMS可以有效地管理考勤信息,包括上班时间、请假
记录、出差记录、加班情况等。

三、HRMS优势
1、便捷性:HRMS可以有效地处理复杂的人力资源运作,有助于公司
将时间和能量集中到最有效的方式中,提高绩效。

2、效率:采用HRMS可以节省很多人力,提高人力资源部门的效率。

《人事管理系统》说明书

《人事管理系统》说明书

人事管理系统说明书介绍人事管理系统是一种用于管理组织内部人事信息的软件系统。

通过该系统,企业可以方便地管理员工档案、考勤记录、薪资福利、绩效评定等相关信息,帮助企业更加高效地进行人力资源管理。

功能模块1.员工信息管理–添加、查看、编辑、删除员工信息。

–员工档案管理,包括个人信息、合同信息、工资信息等。

2.考勤管理–记录员工的考勤情况,包括迟到、早退、旷工等情况。

–生成考勤报表,方便管理人员进行考勤统计。

3.薪资福利管理–记录员工的薪资信息,包括基本工资、绩效工资、奖金、扣款等。

–管理员工的福利待遇,如社保、公积金、医疗保险等。

4.绩效评定–设定绩效评定标准,评估员工的工作表现。

–根据绩效评定结果,调整员工的薪资待遇。

5.培训管理–记录员工参加的培训情况,及时更新员工的培训记录。

–安排培训计划,提升员工的专业技能。

使用方法1.登录–输入用户名和密码进行登录。

–区分管理员和普通员工角色,根据权限不同可以操作的功能模块也不同。

2.员工信息管理–在员工信息管理模块,可以进行员工信息的增删改查操作。

–每位员工都有一个唯一的员工编号,用于标识员工身份。

3.考勤管理–员工每天上班后,需进行考勤打卡。

–管理员可以通过系统查看员工的考勤记录,及时发现异常情况。

4.薪资福利管理–管理员可根据员工的工作表现,调整员工的薪资待遇。

–保障员工的福利待遇符合公司政策和法律法规。

5.绩效评定–设置明确的绩效评定标准,公平公正地评价员工的工作表现。

–根据绩效评定结果,奖励或惩罚员工,激励员工提高工作绩效。

总结人事管理系统是企业人力资源管理的重要工具,能够帮助企业更加高效地管理员工信息,提升人力资源管理的效率和质量。

企业可以根据实际需求定制人事管理系统,满足不同规模、不同行业的企业的需求,提升企业管理的水平和竞争力。

人事管理系统-软件工程实验报告

人事管理系统-软件工程实验报告

软件工程实验报告课题:人事管理系统学生姓名:学号:专业班级:指导教师:同组成员:评阅意见:录目评定成绩:指导老师签名:专业资料需求分析一、实验目的掌握软件需求的结构化分析方法。

二、实验任务与实验要求导出系统详细的逻辑模型,这里用数据流图来表示。

三、实验内容(1)功能分析经过初步分析“人事管理系统”应该具备以下主要功能。

1、职员个人信息资料的增加、修改和删除;职员的考勤录入和查询;、2职员工资结算和查询;3、人事管理人员的变化和操作授权;、4由于是使用计算机管理,就带来了新的功能:用户登陆、操作人员的管理、基本数据的维护、由数据安全产生的数据备份与恢复。

(2)、关系模式在满足函数依赖和无损连接的基础上,使数据的设计更加合理。

在本系统中只有3个实体,那就是普通员工、管理员、超级管理员,他们权限的不听通过角色来区分。

在整个系统中超级管理员只有一人,管理员二人。

一个人只可以在普通员工、管理员、超级管理员中处于一个角色,而不可以兼任。

其具体的关系模式如下:普通员工(员工号,密码,姓名,性别,出生年月,身份证号,联系电话,就职时间)专业资料管理员(管理员号,密码,姓名,性别,出生年月,身份证号,联系电话,就职时间)超级管理员(超级管理员号,密码,姓名,性别,出生年月,身份证号,联系电话,就职时间)工资(员工号,时间,基本工资,提成,奖金)考勤(员工号,时间,迟到,早退,管理员号)”表示既是主码又是外码。

”表示主码,“注意:“E-R图如下所示专业资料姓名性别管理员号出生年月密码号管理员联系电话身份证号就职时间图之管理员图1-3E-R性别姓名超级管理员号出生年月密码号理员超级管联系电话身份证号就职时E-图之超级管理1-数据字典设计:,为了方便数据库的管理和维护,本系统只设计一个数据库workers.mdb(工资信(考勤信息表)、booklist其中包含worker(员工信息表)、manager 息表)1-1 worker(员工信息表)各字段设计表专业资料3()建立数据流图密码员工号普通职职员查询结密码员工号事职员查询条件管理员管管理员查询结果职员信息理管理员查询条件系密码员工号统报表相关部门超级管理员超级管理员查询结果超级管理员查询条件1-5 顶层数据流图图专业资料员工号和密码不匹配专业资料无权限勤信4.1考查询条件查看息查询查询结果员工考勤信息文件角色成打生4.4无权限报印报表表信4.2员工查询条件查看息查询查询结果员工信息文件角色无权限资信工4.3查询条件查看息查询查询结果员工工资信息文件角色对“员工信息更新”的细化1图1-9 层数据流图—)建立状态图(4 1-10所示。

人事管理系统设计报告

人事管理系统设计报告

人事管理系统设计报告辅导教师:学院:班级:目录一、系统分析1.1系统概况 (3)1.2系统功能说明 (3)1.3设计阶段划分 (3)1.4可行性分析 (3)1.5系统软硬件环境要求 (3)1.6结构图表 (4)1.7数据图表 (4)二、概念结构设计2.1局部模块 (11)2.2总体E-R图 (12)2.3冲突与解决 (12)三、逻辑结构设计3.1关系模式 (13)3.2范式范围说明 (13)3.3规范化的关系模式集 (13)四、感想与总结 (14)一、系统分析随着计算机的发展及网络技术的应用,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。

传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。

使用计算机可以高速,快捷地完成以上工作。

在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范人事管理行为,从而提高了管理效率和水平。

而在日常生活中信息技术的不断融入,在技术越来越先进的同时,应该从以前繁琐的事务中解放出来,提高我们的工作效率。

1.1系统概况为满足人事管理现代化的需求,在人事管理领域也开始使用人事管理系统,人事管理系统的使用,克服了以往工作人员人工进行管理的种种不便,使得保存、查询、更新人事档案的工作变得更加方便和快捷。

1.2系统功能本系统是为了实现以下目标而构建的。

主要包括各部门情况、考勤情况、员工基本情况、工资管理情况、员工培训情况和员工科研情况。

以下将分别概述。

部门内及部门间的协调管理情况决定着整个系统的命脉,它反映了各部门之间的内在联系,它起着引导作用,为其他的操作管理规划了一整套的准则。

员工的出勤情况直接影响着企业的整体计划和创造的利润额。

员工基本情况包括员工的个人基本信息、工龄、评优评先情况、工资情况等与员工个人有直接联系的信息。

工资管理情况包括整个企业的工资表、工资的账目统计、工资的发放情况。

员工培训情况包括全体员工的职业技能培训、个别员工的培训。

某单位人事管理系统

某单位人事管理系统

《数据库系统》课程实践任务报告任务名称;某单位人事管理系统班级: 2023计科本学号:*名:**学号:*名:**完毕日期: 2023年6月30日信息工程学院计算机系任务名称1.任务的描述人事管理系统是非常通用的管理信息系统,是企事业单位实现办公自动化的前提和基础。

一个公司要正常运作必然有一个健全的人事管理系统,来管理员工的信息,涉及员工编号、姓名、性别、民族工资及奖惩考勤情况。

除此之外,系统还供员工查询个人和公共信息,管理员对员工信息进行更改或删除,管理公司的人事变更和管理,大大提高公司内部员工管理的工作效率,并规定实现以下功能。

1.员工信息管理:实现记录在该单位中所有人员的在该单位的员工信息,实现对员工信息的管理,也涉及对员工信息的增长、删除、修改等功能。

2.部门信息管理:实现对该单位中的各个部门的编号、部门相关信息的记录,此时也将单位中的所有人员进行分类管理。

3.职位调动管理:实现当员工的就职信息发生更改的时候,系统进行相应关联信息的更改,即增长相应的修改信息的同时,员工的信息管理中的相应信息进行修改。

4.系统管理人员信息管理:实现对相应的系统管理人员的帐号、密码等基本信息的管理功能。

5.出勤信息管理:实现对每一位员工的出勤状况的记录,记录相应的出勤刷卡机号以及出勤时间的信息管理。

6.奖惩管理:实现针对于不同的奖惩类型、奖惩金额等信息的管理,实现输入奖惩信息的修改相应的工资信息。

7.工资管理:实现各个员工工资条目信息的管理。

2.需求分析本系统重要涉及的外部实体有:员工、部门、员工职位调动等,要实现的功能重要有:员工、部门、员工职位调动、管理人员信息管理、出勤信息、工资、奖惩等信息管理。

2.1 系统包含的实体1、员工(员工编号,姓名,性别,出生日期,学历,身份证号,民族,职称,部门号,职务)2、个人经历(年份,员工编号,学习经历,任职经历)3、家庭关系(关系编号,员工编号,亲属关系,亲属姓名)4、管理人员(管理员帐号,职工编号,密码,级别)5、出勤(出勤号,员工编号,上班日期,上班时间,下班时间,刷卡机号)6、刷卡机(刷卡机号)7、部门(部门号,部门名,领导人员,员工人数)8、职位调动(调动编号,员工编号,调动前职务,调动后职务,调动前部门号,调动后部门号,调动日期,批复日期,调动因素)9、奖惩记录(奖惩编号,员工编号,奖惩类型,奖惩金额,奖惩日期,批复部门号,批复日期,奖惩因素)10、请假记录(请假编号,员工编号,请假时间,销假时间,请假天数,审批人编号)11、工资(工资编号,员工编号,基本工资,罚款,奖金,结算工资,起始日期,截止日期,发信日期)2.2 系统包含的实体间联系根据“任务描述”中提供某单位人事管理系统信息的实际情况,本系统中实体之间应具有如下的联系:属于部门:部门fi员工,包含属性。

人事管理系统实验报告(两篇)

人事管理系统实验报告(两篇)

引言本文是关于人事管理系统实验的第二份报告。

本次实验的主要目的是测试和评估已经开发的人事管理系统的性能和功能。

在本文中,我将详细介绍实验的背景和目标,并提供实验过程中遇到的主要问题和解决方案。

我还将分析实验的结果,并提出一些建议以进一步改进人事管理系统。

概述人事管理系统是一个管理组织中人力资源方面的关键信息的计算机系统。

它的目标是帮助组织高效地管理员工的招聘、培训、薪资和福利等方面的工作。

本次实验中的人事管理系统是经过设计和开发的,其中包括员工信息的录入、修改和删除,薪资管理,考勤记录等功能。

正文内容一、系统功能测试1.员工信息录入功能测试a.测试输入的有效性和完整性b.测试系统的响应时间和稳定性2.薪资管理功能测试a.测试薪资计算的准确性b.测试薪资发放的及时性和准确性3.考勤记录功能测试a.测试考勤记录的准确性和完整性b.测试系统对异常考勤的处理能力4.培训管理功能测试a.测试培训计划的制定和执行情况b.测试培训记录的准确性和完整性5.绩效考核功能测试a.测试绩效评估的准确性和公正性b.测试系统对绩效低下员工的处理能力二、问题与解决方案1.系统响应时间过长的问题a.优化数据库查询语句b.增加系统服务器的处理能力2.员工信息录入不完整的问题a.增加必填字段的验证b.提供友好的界面提醒用户填写必要信息3.薪资计算结果不准确的问题a.检查薪资计算公式的准确性b.确保薪资计算所需数据的准确性4.绩效评估结果不公正的问题a.优化绩效评估指标的设定b.加强对绩效评估过程的监督和审查5.考勤记录错误的问题a.提供考勤记录的修改和纠错功能b.加强对员工考勤记录的监管和审查三、实验结果分析通过对人事管理系统的功能测试,我们发现系统在大部分功能上表现良好,能够满足组织的人力资源管理需求。

然而,仍存在一些问题需要进一步改进。

系统响应时间较长,需要优化系统性能。

同时,某些功能在数据输入的完整性和准确性上存在一定的问题。

人事管理系统(工资管理子系统)软件工程课程设计报告

人事管理系统(工资管理子系统)软件工程课程设计报告

课程设计报告学生姓名:学号:学院:经济管理学院班级:题目: 人事管理系统工资管理子系统指导教师:职称:20 年月日1.选题背景 (3)2.工资管理子系统需求分析 (3)2.1工资管理子系统需求陈述 (3)2.2需求分析 (4)2.2.1功能需求 (4)2.2.2性能需求 (4)2.3系统需求建模 (5)2.3.1确定参与者 (6)2.3.2确定用例 (6)2.3.3系统用例建模 (6)2.3.4用例描述 (7)3.工资管理系统系统分析 (8)3.1系统用例建模 (9)3.2静态结构模型 (16)3.2.1类的识别 (16)3.2.2类的关联分析 (17)3.3.3类的属性描述 (18)3.3.4类的构建 (19)3.3系统动态模型 (19)3.3.1系统执行顺序分析 (19)3.3.2系统协作分析 (21)3.3.3系统状态分析 (22)3.3.4系统活动分析 (22)4.工资管理系统系统设计与实现 (24)4.1UML体系结构设计 (24)4.1.1硬件体系结构设计 (24)4.1.2软件体系结构设计 (25)4.2对象模型设计 (25)4.3系统实现 (25)4.3.1组件分析 (26)4.3.2配置分析 (28)5.课程设计心得体会 (28)参考文献 (29)1.选题背景随着社会的进步和计算机技术的发展,特别是微型计算机的大范围普及,现在应用在大中型企业的信息管理系统中,几乎都包括了工资管理模块。

有些环境中是有大型ERP软件中的一个模块引进的,有些作为企业的财务系统的一部分。

计算机处理的数据量不断增加。

文件管理系统采用的一次最多存取一个记录的访问方式,以及在不同文件之间缺乏相互联系的结构,越来越不能适应管理大量数据的需要,于是数据库管理系统便应运而生。

有了数据库我们便能方便快捷的对数据进行读取、存取,并维护数据库的数据。

但,西方管理制度设计的工资管理软件,在很多时候还不能完成解决中国特色中小企业的问题,本文介绍的毕业设计的研究工作就是要为这些具有中国特色的中小企业解决他们在工资管理方面的问题。

人事管理系统软件工程实验报告

人事管理系统软件工程实验报告

人事管理系统软件工程实验报告摘要:本实验旨在设计和开发一款人事管理系统软件,通过该软件实现对员工信息、薪资、考勤等内容的管理和查询功能。

通过软件工程的开发流程,包括需求分析、系统设计、编码、测试等环节,实现了一个完整的人事管理系统软件。

关键词:人事管理系统、软件工程、需求分析、系统设计、编码、测试一、引言人事管理是企业管理的重要组成部分,通过人事管理系统软件的设计和开发,可以提高企业管理效率和员工工作满意度。

本实验旨在通过软件工程的开发流程,设计和开发一款人事管理系统软件,并进行测试和评估。

二、需求分析在需求分析阶段,我们通过调研企业的人事管理需求,确定了软件的功能需求和性能需求。

其中,功能需求主要包括员工信息的录入、修改和查询、薪资管理、考勤管理等功能;性能需求主要包括系统响应时间、用户界面友好程度等。

三、系统设计在系统设计阶段,我们根据需求分析的结果,设计了人事管理系统的结构和各个模块的功能。

系统结构包括前端界面、业务逻辑处理和数据库三个部分,各个模块之间通过接口进行数据传递和交互。

四、编码在编码阶段,我们使用Java语言进行程序的编写,并使用MySQL数据库存储数据。

根据系统设计的结果,逐个实现各个模块的功能,并进行综合测试和调试。

五、测试与评估在测试阶段,我们进行了单元测试、集成测试和系统测试,以确保软件的功能正常并满足需求。

同时,我们对软件进行了性能测试和用户体验评估,收集用户的反馈意见和建议,优化系统的性能和用户界面。

六、总结通过本实验,我们成功设计和开发了一款人事管理系统软件,并进行测试和评估。

通过软件工程的开发流程,我们了解了从需求分析到系统设计、编码、测试等各个环节的重要性和相互关系。

同时,我们也收集到了用户的反馈意见和建议,为今后的系统优化提供了参考。

在今后的工作中,我们将进一步改进人事管理系统软件,提高其稳定性和用户体验,为企业的人事管理提供更好的支持。

实验总结本实验通过软件工程的开发流程,设计和开发了一款人事管理系统软件。

系统分析实验报告

系统分析实验报告

一、实验背景随着信息技术的飞速发展,系统分析在各个行业中的应用越来越广泛。

为了提高系统的可靠性和实用性,系统分析成为了一个不可或缺的环节。

本实验旨在通过实际操作,使学生掌握系统分析的基本方法和步骤,提高学生的实践能力。

二、实验目的1. 理解系统分析的基本概念和原理。

2. 掌握系统分析的方法和步骤。

3. 培养学生的逻辑思维能力和实践能力。

三、实验内容本次实验以某公司人事管理系统为例,进行系统分析。

1. 系统需求分析(1)系统功能需求人事管理系统应具备以下功能:①员工信息管理:包括员工基本信息、岗位信息、薪资信息等;②部门信息管理:包括部门基本信息、部门负责人信息等;③人事报表生成:包括员工薪资报表、部门人员结构报表等;④权限管理:包括用户登录、角色权限设置等。

(2)系统性能需求①响应时间:系统响应时间应小于2秒;②并发用户数:系统支持至少100个并发用户;③数据安全性:系统应具备数据备份、恢复、加密等功能。

2. 系统可行性分析(1)技术可行性根据当前技术发展水平,人事管理系统可以实现上述功能,并满足性能需求。

(2)经济可行性人事管理系统的开发成本相对较低,投资回报率高。

(3)运行可行性系统运行稳定,可满足企业日常人事管理需求。

3. 系统架构设计(1)系统架构人事管理系统采用B/S架构,分为前端展示层、业务逻辑层和数据访问层。

①前端展示层:负责与用户交互,展示系统界面;②业务逻辑层:负责处理业务逻辑,实现系统功能;③数据访问层:负责与数据库交互,实现数据存取。

(2)技术选型前端展示层:使用HTML、CSS、JavaScript等技术;业务逻辑层:使用Java、Spring框架等技术;数据访问层:使用MySQL数据库。

4. 系统模块划分(1)员工信息管理模块实现员工信息的录入、修改、删除、查询等功能。

(2)部门信息管理模块实现部门信息的录入、修改、删除、查询等功能。

(3)人事报表生成模块实现员工薪资报表、部门人员结构报表等报表的生成和展示。

人事管理系统课程设计报告

人事管理系统课程设计报告

MIS课程设计报告二○○三年九月目录一、前言——————————————— 2二、系统概况————————————— 2三、需求分析————————————— 2 - 4四、数据库设计———————————— 5 - 7五、主程序清单———————————— 8六、模块界面————————————— 9 -11七、设计小结————————————— 12前言人事管理是每个企业必不可少的。

人事档案管理系统一般包括对人事档案的统计、查询、更新、报表输出等功能。

如果人工直接统计的话, 工作量将十分庞大, 特别是, 如果企业员工有几万或几十万人时, 人工统计将变得不可能想象。

用计算机可使人们从繁重而又单调的统计运算中解脱出来, 仅用一些简单的操作便可及时准确地获得需要的信息。

在设计一个系统时, 首先要做好需求分析。

合理地运用好Visual FoxPro的基本方法, 建立一个适合企业的人事管理系统。

系统概况课题名称:人事管理系统。

设计环境:开发工具: Microsoft Visual FoxPro 6.0操作系统: Windows XP需求分析一、系统功能分析二、人事管理系统的主要任务是对人事档案进行整理, 使得能方便快捷地对人事档案进行查询、统计、更新, 并且能按一定要求输出报表。

三、通过该系统, 使企业的人事管理工作系统化、规范化、自动化, 从而提高企业人事管理的效率。

四、系统功能模块设计块。

3、浏览模块该模块提供全部人事档案的界面。

4、查询模块该模块提供查询符合某一条件的人事档案的界面。

5、统计模块该模块提供按某一条件进行统计的界面。

6、编辑模块该模块提供对按档案进行更改、删除和新增的界面。

7、报表模块该模块按一定格式将人事档案以报表格式输出。

五、数据流图数据库设计1、创建数据库是设计系统的第一步, 其关键问题在于确定所需的表结构并为之建立索引。

为了使系统设计精练实用, 体现关系型数据库的特点, 本系统还为各相关表建立关系。

人事管理系统数据流程图

人事管理系统数据流程图

人事管理系统数据流程图人事管理系统是一种用于管理和处理组织内部人力资源的软件系统。

它涵盖了员工招聘、培训、绩效评估、薪资管理和福利等方面的功能。

数据流程图是一种图形化的工具,用于展示信息在系统中的流动和处理过程。

下面是人事管理系统的数据流程图:1. 员工招聘流程:- HR部门发布招聘需求并将招聘信息录入系统。

- 系统将招聘信息发送给招聘专员。

- 招聘专员根据需求发布招聘广告,并采集应聘者的简历。

- 简历经过筛选后,招聘专员安排面试,并将面试结果录入系统。

- HR部门根据面试结果决定是否录用,并将录用信息录入系统。

2. 员工培训流程:- HR部门根据员工的职位和需求制定培训计划。

- 培训计划包括培训课程、培训时间和培训地点等信息,由HR部门录入系统。

- 员工可以在系统中查看培训计划,并选择参加合适的培训课程。

- 培训结束后,员工填写培训反馈表,并将反馈结果录入系统。

3. 绩效评估流程:- HR部门根据公司的绩效评估标准制定绩效评估表。

- 绩效评估表包括员工的工作目标、绩效评分和评价意见等内容。

- 员工和直属上级经理在系统中填写绩效评估表,并进行评估讨论。

- HR部门根据评估结果生成绩效报告,并将报告发送给员工和上级经理。

4. 薪资管理流程:- HR部门根据员工的职位和绩效评估结果确定薪资水平。

- 薪资信息包括基本工资、绩效奖金、津贴和福利等。

- HR部门将薪资信息录入系统,并生成工资单。

- 员工可以在系统中查看自己的工资单和薪资变动记录。

5. 福利管理流程:- HR部门负责管理员工的福利,包括健康保险、带薪假期和员工福利计划等。

- 员工可以在系统中申请福利,如假期申请和报销申请。

- HR部门审核福利申请,并将批准的申请录入系统。

- 员工可以在系统中查看自己的福利申请状态和福利使用记录。

以上是人事管理系统的数据流程图,它展示了人事管理流程中各个环节的数据流动和处理过程。

通过使用人事管理系统,组织可以更加高效地管理和处理人力资源,提高员工满意度和组织绩效。

C语言课程设计报告—人事管理系统1

C语言课程设计报告—人事管理系统1

人事管理系统前言:现代计算机技术的发展为人们的学习、生活、工作提供了很大的帮助, 各行各业都需要特定计算系统的运用, 我们需要了解这些系统是怎么样为我们服务以及他们是怎样编辑出来的。

我们需要学习C语言编程, 根据课堂讲授内容, 做相应的自主练习, 消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题, 逐渐培养编程能力、用计算机解决实际问题的能力, 能够按照要求编辑一些基本的程序, 提高自己的思维能力。

题目:(1)某高校主要人员有: 在职人员(行政人员、教师、一般员工)、退休人员及临时工。

现在需要储存这些人员的人事档案信息, 内容包括编号、姓名、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。

其中, 人员编号唯一, 不能重复。

(2)添加删除功能:能根据学院人事的变动情况, 添加删除记录。

(3)查询功能: 能根据编号和姓名进行查询。

(4)编辑功能(高级): 根据查询对相应的记录进行修改并记录。

(5)统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数, 高学历高职称人数), 统计要求同时显示被统计着的信息。

排序功能: 按照年龄、来院时间进行排序。

保存功能: 能对输入的数据进行相应的存储。

分析:我们编辑的程序要能够满足题目的要求, 可以进行这么多的功能的计算!但是在开始我们运行使用程序的时候必须要知道我们要运用这些功能中的哪一个!这就要求我们可以程序中任意选择我们所需要的功能!很显然我们要编辑存储人员的信息自然要运用到文件!而人员的信息必须要以结构体的形式来表示才能够方便我们提取信息!我们选择了要运行的功能分支之后!这些功能是以主函数以外的被调函数!当有需要时被调函数还可以调用其他的被吊函数!例如我们题目中的统计和查询功能, 就可以用这种方式来编辑程序!方便清楚!设计:很显然主程序要用到SWICTH函数, 这样可以选择要运行的那个功能的函数来执行, 而其他的功能函数则不必运行!三、解题思路1.定义结构struct staff{char num[10];char name[20];char sex[10];int age;char title[20];char p_landscape[30];char Qualifications[30];int Service_time;char come_time[30];char category[30];}staff[100];2.主程序进入主菜单函数void main(){menu();}/*******************主菜单函数**********************/void menu(){char w0;do{system("cls");fflush(stdin); /*清除缓冲区输入*/puts("***********************高校人事管理系统**********************\n\n");puts("\t\t\t\t1)增加人员信息\n"); puts("\t\t\t\t2)删除人员信息 \n"); puts("\t\t\t\t3)查询人员信息\n"); puts("\t\t\t\t4)修改人员信息\n"); puts("\t\t\t\t5)统计人员信息\n"); puts("\t\t\t\t6)对人员排序\n");puts("\t\t\t\t7)保存人员信息\n"); puts("\t\t\t\t8)浏览人员信息\n"); puts("\t\t\t\t9)退出\n");printf("\t\t\t\t 请选择 [ ]\b\b"); w0=getchar();}while(w0<'1'||w0>'9'); switch(w0-48){case 1:add();break;case 2:delete_data();break;case 3:search();break;case 4:modify();break; case 5:stastic();break;case 6:sort();break;case 7:save();break;case 8:browse();break;case 9:break;} }(1)查询功能int search_data()/*{int i,flag; char s[30],w0;system("cls");/*清屏*/ n=load(); do{fflush(stdin); /*清除缓冲区输入*/printf(" 通过1)编号 2)姓名 [ ]\b\b"); w0=getchar(); }while(w0<'1'||w0>'2'); if(w0=='1'){/*按编号查找*/ flag=0;puts("输入人员编号:"); scanf("%s",s); for(i=0;i<n;i++){if(strcmp(s,staff[i].num)==0){printf_face();printf_one(staff[i]); flag=1;break;} else continue; }if(flag==0)puts("该人员不存在!"); }else {/*按姓名查找*/ flag=0;puts("输入人员姓名:"); scanf("%s",s); for(i=0;i<n;i++){if(strcmp(s,staff[i].name)==0){printf_face();printf_one(staff[i]);flag=1;break;}else continue;}if(flag==0) puts("该人员不存在!");}return i;void search(){int k;char w1;loop: k=search_data();do{fflush(stdin); /*清除缓冲区输入*/printf("1)回主菜单 2)退出 3)继续查询 [ ]\b\b"); w1=getchar();}while(w1<'1'||w1>'3');if(w1=='1')menu();else if(w1=='2')exit(0);void add(){char w0,w1;loop: system("cls");puts("请输入编号(如001):");scanf("%s",s.num);if(test(s.num))goto loop;/*编号重复*/puts("请输入姓名:");scanf("%s",);puts("请输入性别(男,女):");scanf("%s",s.sex);puts("请输入年龄:");scanf("%d",&s.age);puts("请输入职务(教授副教授讲师助教学生后勤人员):");scanf("%s",s.duty);puts("请输入职称 (无初级高级 ):");scanf("%s",s.title);puts("请输入政治面貌( 党员非党员 ):");scanf("%s",s.p_landscape);puts("请输入最高学历(小学初中高中大学硕士学位更高):");scanf("%s",s.Qualifications);puts("请输入任职时间:");scanf("%d",&s.Service_time);puts("请输入来院时间(如20050101):");scanf("%s",e_time);puts("请输入人员类别(行政人员教师一般员工退休人员临时工):");scanf("%s",s.category);do{fflush(stdin); /*清除缓冲区输入*/printf("是否保存?1)是 2)否 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'2');switch(w0){case 1:save(s);break;case 2:break;}do{fflush(stdin); /*清除缓冲区输入*/printf("1)继续增加人员信息 2)回主菜单 3)退出 [ ]\b\b");w1=getchar();}while(w1<'1'||w1>'3');if(w1=='1')goto loop;else if(w1=='2')menu();else exit(0);}(3)保存信息void save(){char w0;save_all();printf("所有信息已保存!\n");do{fflush(stdin); /*清除缓冲区输入*/printf("1) 回主菜单 2) 退出 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'2');if(w0=='1')menu();else exit(0);}void save_all()/*保存所有数据函数*/{int i;FILE *fp;if((fp=fopen("text.txt","wb"))==NULL){printf("无法打开文件!");exit(0);}for(i=0;i<n;i++){if(staff[i].age!=0)fprintf(fp,"%s %s %s %d %s %s %s %s %d %s %s\n",staff[i].num,staff[i].name, staff[i].sex,staff[i].age,staff[i].duty,staff[i].title,staff[i].p_landscape,sta ff[i].Qualifications,staff[i].Service_time,staff[i].come_time,staff[i].category );else continue;}fclose(fp);}(4)删除人员void delete_data(){int k; char w0,w1;loop: k=search_data();if(k<n){do{fflush(stdin); /*清除缓冲区输入*/printf("确认要删除该人员信息? 1)是 2)否 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'2');if(w0=='1'){staff[k].age=0;save_all();puts("该人员信息已被删除!");} } do{fflush(stdin); /*清除缓冲区输入*/printf("1)继续删除数据 2)回主菜单 3)退出w1=getchar();}while(w1<'1'||w1>'3'); if(w1=='1') goto loop; else if(w1=='2')menu(); else exit(0); }(5)修改人员信息 void modify() {int k=0,w0,g; char h[30],w1,w2; loop: g=search_data(); if(g<n){ do{puts("\t\t\t 修改: 1)编号"); puts("\t\t\t 2)姓名"); puts("\t\t\t 3)性别"); puts("\t\t\t 4)年龄"); puts("\t\t\t 5)职务"); puts("\t\t\t 6)职称"); puts("\t\t\t 7)政治面貌"); puts("\t\t\t 8)最高学历"); puts("\t\t\t 9)任职时间"); puts("\t\t\t 10)来院时间"); puts("\t\t\t 11)人员类别"); printf(" 请选择 : [ ]\b\b"); scanf("%d",&w0);}while(w0<1||w0>11); switch(w0){case 1:puts("请输入新编号:");scanf("%s",h);strcpy(staff[g].num,h);break; case 2:puts("请输入姓名:");scanf("%s",h);strcpy(staff[g].name,h);break; case 3:puts("请输入性别:");scanf("%s",h);strcpy(staff[g].sex,h);break; case 4:puts("请输入年龄:");scanf("%d",&k);staff[g].age=k;break; case 5:puts("请输入职务:");scanf("%s",h);strcpy(staff[g].duty,h);break; case 6:puts("请输入职称:");scanf("%s",h);strcpy(staff[g].title,h);break;scanf("%s",h);strcpy(staff[g].p_landscape,h);break;case 8:puts("请输入最高学历:");scanf("%s",h);strcpy(staff[g].Qualifications,h);break;case 9:puts("请输入任职时间:");scanf("%d",&k);staff[g].Service_time=k;break;case 10:puts("请输入来院时间:");scanf("%s",h);strcpy(staff[g].come_time,h);break;case 11:puts("请输入人员类别:");scanf("%s",h);strcpy(staff[g].category,h);break;}do{fflush(stdin); /*清除缓冲区输入*/printf("是否保存?1)保存 2)否[ ]\b\b");w1=getchar();}while(w1<'1'||w1>'2');if(w1=='1'){save_all(); puts("保存修改成功!");}}do{fflush(stdin); /*清除缓冲区输入*/printf("1)继续修改 2)回主菜单 3)退出[ ]\b\b");w2=getchar();}while(w2<'1'||w2>'3');if(w2=='1')goto loop;else if(w2=='2')menu();else exit(0);}(6)统计人员信息void stastic(){int i,count;char w0,w1;n=load();if(n==0){puts("没有数据!");getchar();menu();}loop: system("cls");do{fflush(stdin); /*清除缓冲区输入*/printf("通过1)在职人员 2)党员\n");printf(" 3)女工人数 4)最高学历 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'4');if(w0=='1'){/*统计在职人员*/printf_face();for(i=0,count=0;i<n&&staff[i].age;i++)if(strcmp(staff[i].category,"退休人员")!=0&&strcmp(staff[i].category,"临时工")!=0){count++; printf_one(staff[i]);} printf("\t\t\t\t 共有%d 条记录",count); }else if(w0=='2'){/*统计党员*/ printf_face();for(i=0,count=0;i<n;i++)if(strcmp(staff[i].p_landscape,"党员count++; printf_one(staff[i]);} printf("\t\t\t\t 共有%d 条记录",count);}else if(w0=='3'){/*统计女工人员*/ printf_face();for(i=0,count=0;i<n;i++)if(strcmp(staff[i].sex,"女")==0){count++; printf_one(staff[i]);}printf("\t\t\t\t 共有%d 条记录",count);}else {/*统计高学历人员*/printf_face();for(i=0,count=0;i<n;i++)if(strcmp(staff[i].Qualifications,"硕士学位")==0||strcmp(staff[i].Qualifications,"更高")==0){count++; printf_one(staff[i]);} printf("\t\t\t\t 共有%d 条记录",count);} do{fflush(stdin); /*清除缓冲区输入*/printf("\n1)继续统计 2)回主菜单 3)退出 [ ]\b\b"); w1=getchar();}while(w1<'1'||w1>'3'); if(w1=='1') goto loop; else if(w1=='2')menu(); else exit(0); }(6) 排序功能void sort() {int i,j;char w0,w1; struct staff s1; loop: n=load();system("cls"); do{fflush(stdin); /*清除缓冲区输入*/printf("通过 1)年龄 2)来院时间w0=getchar();}while(w0<'1'||w0>'2');if(w0=='1'){/*按年龄排序*/for(i=0;i<n-1;i++)/*选择法排序*/for(j=i+1;j<n;j++)if(staff[i].age>staff[j].age){s1=staff[i];staff[i]=staff[j];staff[j]=s1;}}else {/*按来院时间排序*/for(i=0;i<n-1;i++)/*选择法排序*/for(j=i+1;j<n;j++)if(strcmp(staff[i].come_time,staff[j].come_time)>0){s1=staff[i];staff[i]=staff[j];staff[j]=s1;}}printf_face();for(i=0;i<n;i++) /*显示排序结果*/printf_one(staff[i]);do{fflush(stdin); /*清除缓冲区输入*/printf("\n1)回主菜单 2)继续排序 3)退出[ ]\b\b");w1=getchar();}while(w1<'1'||w1>'3');if(w1=='1') menu();else if(w1=='2')goto loop;else exit(0);}四、运行与测试报告*********************************高校人事管理系统******************************1)增加人员信息2)删除人员信息3)查询人员信息4)修改人员信息5)统计人员信息6)对人员排序7)保存人员信息8)浏览人员信息9)退出请选择【 1】请输入编号(如001):20071003335请输入姓名:majianbo请输入性别(男,女):nan请输入年龄:20请输入职务(教授副教授讲师助教学生后勤人员): jiaoshou请输入职称 (无初级高级 ):gaoji请输入政治面貌( 党员非党员 ):danyuan请输入最高学历(小学初中高中大学硕士学位更高): shuoshi请输入任职时间:20070901请输入来院时间(如20050101):20070901请输入人员类别(行政人员教师一般员工退休人员临时工): jiaoshi是否保存?1)是 2)否 [1]该信息已成功保存!1)继续增加人员信息 2)回主菜单 3)退出 [ ]程序:#include<stdlib.h>#include <stdio.h>#include <string.h>struct staff/*定义结构体*/{char num[10];/*编号*/char name[20];/*姓名*/char sex[10];/*性别*/int age;/*年龄*/char duty[20];/*职务*/char title[20];/*职称*/char p_landscape[30];/*政治面貌*/char Qualifications[30];/*学历*/int Service_time;/*任职时间*/char come_time[30];/*来院时间*/char category[30];/*人员类别*/}staff[100];struct staff s;int n;void menu();void printf_face()/*显示数据结构项目函数*/{printf("编号姓名性别年龄职务职称政治面貌学历任职时间来院时间人员类别\n");}void printf_one(struct staff p)/*输出单个数据函数*/{printf("%-4s%-7s%-5s%-3d%-7s%-5s%-8s%-12s%-5d%-12s%-3s\n",p.num,,p.se x,p.age,p.duty,p.title,p.p_landscape,p.Qualifications,p.Service_time,e_tim e,p.category);}int load()/*加载函数*/{int i=0;FILE *fp;if((fp=fopen("text.txt","rb"))==NULL){return 0; exit(0);}for(i=0;!feof(fp);i++){ /*输出数据到结构体*/fscanf(fp,"%s %s %s %d %s %s %s %s %d %s %s\n",staff[i].num,staff[i].name,staff [i].sex,&staff[i].age,staff[i].duty,staff[i].title,staff[i].p_landscape,staff[i ].Qualifications,&staff[i].Service_time,staff[i].come_time,staff[i].category);} fclose(fp);return i;}int search_data()/*查找单个数据函数*/{int i,flag;char s[30],w0;system("cls");/*清屏*/n=load();do{fflush(stdin); /*清除缓冲区输入*/printf(" 通过1)编号 2)姓名 [ ]\b\b");w0=getchar(); }while(w0<'1'||w0>'2');if(w0=='1'){/*按编号查找*/flag=0;puts("输入人员编号:");scanf("%s",s);for(i=0;i<n;i++){if(strcmp(s,staff[i].num)==0){printf_face();printf_one(staff[i]);flag=1;break;}else continue;}if(flag==0)puts("该人员不存在!");}else {/*按姓名查找*/flag=0;puts("输入人员姓名:");scanf("%s",s);for(i=0;i<n;i++){if(strcmp(s,staff[i].name)==0){printf_face();printf_one(staff[i]);flag=1;break;}else continue;}if(flag==0) puts("该人员不存在!");}return i;}void save_all()/*保存所有数据函数*/{int i;FILE *fp;if((fp=fopen("text.txt","wb"))==NULL){printf("无法打开文件!");exit(0);}for(i=0;i<n;i++){if(staff[i].age!=0)fprintf(fp,"%s %s %s %d %s %s %s %s %d %s %s\n",staff[i].num,staff[i].name, staff[i].sex,staff[i].age,staff[i].duty,staff[i].title,staff[i].p_landscape,sta ff[i].Qualifications,staff[i].Service_time,staff[i].come_time,staff[i].category );else continue;}fclose(fp);}int test(char h[10])/*检查编号是否重复*/{int i;n=load();for(i=0;i<n;i++)if(strcmp(h,staff[i].num)==0){puts("输入的编号有重复!请重新输入编号!");system("pause");return 1;}return 0;}void single_save(struct staff p)/*保存单个数据函数*/{FILE *fp;if((fp=fopen("text.txt","ab+"))==NULL){printf("无法打开文件!");exit(0);}fprintf(fp,"%s %s %s %d %s %s %s %s %d %s %s\n",p.num,,p.sex,p.age,p.duty ,p.title,p.p_landscape,p.Qualifications,p.Service_time,e_time,p.category);printf("该信息已成功保存!\n");fclose(fp);}/*********************************修改模块**********************************/ void modify(){int k=0,w0,g;char h[30],w1,w2;loop: g=search_data();if(g<n){do{puts("\t\t\t修改: 1)编号");puts("\t\t\t 2)姓名");puts("\t\t\t 3)性别");puts("\t\t\t 4)年龄");puts("\t\t\t 5)职务");puts("\t\t\t 6)职称");puts("\t\t\t 7)政治面貌");puts("\t\t\t 8)最高学历");puts("\t\t\t 9)任职时间");puts("\t\t\t 10)来院时间");puts("\t\t\t 11)人员类别");printf(" 请选择 : [ ]\b\b");scanf("%d",&w0);}while(w0<1||w0>11);switch(w0){case 1:puts("请输入新编号:");scanf("%s",h);strcpy(staff[g].num,h);break;case 2:puts("请输入姓名:");scanf("%s",h);strcpy(staff[g].name,h);break;case 3:puts("请输入性别:");scanf("%s",h);strcpy(staff[g].sex,h);break;case 4:puts("请输入年龄:");scanf("%d",&k);staff[g].age=k;break;case 5:puts("请输入职务:");scanf("%s",h);strcpy(staff[g].duty,h);break;case 6:puts("请输入职称:");scanf("%s",h);strcpy(staff[g].title,h);break;case 7:puts("请输入政治面貌:");scanf("%s",h);strcpy(staff[g].p_landscape,h);break;case 8:puts("请输入最高学历:");scanf("%s",h);strcpy(staff[g].Qualifications,h);break;case 9:puts("请输入任职时间:");scanf("%d",&k);staff[g].Service_time=k;break;case 10:puts("请输入来院时间:");scanf("%s",h);strcpy(staff[g].come_time,h);break;case 11:puts("请输入人员类别:");scanf("%s",h);strcpy(staff[g].category,h);break;}do{fflush(stdin); /*清除缓冲区输入*/printf("是否保存?1)保存 2)否[ ]\b\b");w1=getchar();}while(w1<'1'||w1>'2');if(w1=='1'){save_all(); puts("保存修改成功!");}}do{fflush(stdin); /*清除缓冲区输入*/printf("1)继续修改 2)回主菜单 3)退出[ ]\b\b");w2=getchar();}while(w2<'1'||w2>'3');if(w2=='1')goto loop;else if(w2=='2')menu();else exit(0);}/************************保存模块******************************/void save(){char w0;save_all();printf("所有信息已保存!\n");do{fflush(stdin); /*清除缓冲区输入*/printf("1) 回主菜单 2) 退出 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'2');if(w0=='1')menu();else exit(0);}/*************************查找模块*****************************/ void search(){int k;char w1;loop: k=search_data();do{fflush(stdin); /*清除缓冲区输入*/printf("1)回主菜单 2)退出 3)继续查询 [ ]\b\b");w1=getchar();}while(w1<'1'||w1>'3');if(w1=='1')menu();else if(w1=='2')exit(0);else goto loop;}/***************************增加模块*****************************/ void add(){char w0,w1;loop: system("cls");puts("请输入编号(如001):");scanf("%s",s.num);if(test(s.num))goto loop;/*编号重复*/puts("请输入姓名:");scanf("%s",);puts("请输入性别(男,女):");scanf("%s",s.sex);puts("请输入年龄:");scanf("%d",&s.age);puts("请输入职务(教授副教授讲师助教学生后勤人员):");scanf("%s",s.duty);puts("请输入职称 (无初级高级 ):");scanf("%s",s.title);puts("请输入政治面貌( 党员非党员 ):");scanf("%s",s.p_landscape);puts("请输入最高学历(小学初中高中大学硕士学位更高):");scanf("%s",s.Qualifications);puts("请输入任职时间:");scanf("%d",&s.Service_time);puts("请输入来院时间(如20050101):");scanf("%s",e_time);puts("请输入人员类别(行政人员教师一般员工退休人员临时工):");scanf("%s",s.category);do{fflush(stdin); /*清除缓冲区输入*/printf("是否保存?1)是 2)否 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'2');switch(w0-48){case 1:single_save(s);break;case 2:break;}do{fflush(stdin); /*清除缓冲区输入*/printf("1)继续增加人员信息 2)回主菜单 3)退出 [ ]\b\b");w1=getchar();}while(w1<'1'||w1>'3');if(w1=='1')goto loop;else if(w1=='2')menu();else exit(0);}/*******************************删除模块*****************************/void delete_data(){int k; char w0,w1;loop: k=search_data();if(k<n){do{fflush(stdin); /*清除缓冲区输入*/printf("确认要删除该人员信息? 1)是 2)否 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'2');if(w0=='1'){staff[k].age=0;save_all();puts("该人员信息已被删除!");}}do{fflush(stdin); /*清除缓冲区输入*/printf("1)继续删除数据 2)回主菜单 3)退出 [ ]\b\b");w1=getchar();}while(w1<'1'||w1>'3');if(w1=='1') goto loop;else if(w1=='2')menu();else exit(0);}/********************************统计模块*******************************/void stastic(){int i,count;char w0,w1;n=load();if(n==0){puts("没有数据!");getchar();menu();}loop: system("cls");do{fflush(stdin); /*清除缓冲区输入*/printf("通过1)在职人员 2)党员\n");printf(" 3)女工人数 4)最高学历 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'4');if(w0=='1'){/*统计在职人员*/printf_face();for(i=0,count=0;i<n&&staff[i].age;i++)if(strcmp(staff[i].category,"退休人员")!=0&&strcmp(staff[i].category,"临时工")!=0){count++; printf_one(staff[i]);}printf("\t\t\t\t共有%d条记录",count);}else if(w0=='2'){/*统计党员*/printf_face();for(i=0,count=0;i<n;i++)if(strcmp(staff[i].p_landscape,"党员")==0){count++; printf_one(staff[i]);}printf("\t\t\t\t共有%d条记录",count);}else if(w0=='3'){/*统计女工人员*/printf_face();for(i=0,count=0;i<n;i++)if(strcmp(staff[i].sex,"女")==0){count++; printf_one(staff[i]);}printf("\t\t\t\t共有%d条记录",count);}else {/*统计高学历人员*/printf_face();for(i=0,count=0;i<n;i++)if(strcmp(staff[i].Qualifications,"硕士学位")==0||strcmp(staff[i].Qualifications,"更高")==0){count++; printf_one(staff[i]);}printf("\t\t\t\t共有%d条记录",count);}do{fflush(stdin); /*清除缓冲区输入*/printf("\n1)继续统计 2)回主菜单 3)退出 [ ]\b\b");w1=getchar();}while(w1<'1'||w1>'3');if(w1=='1') goto loop;else if(w1=='2')menu();else exit(0);}/*******************************排序模块***********************************/ void sort(){int i,j;char w0,w1;struct staff s1;loop: n=load();system("cls");do{fflush(stdin); /*清除缓冲区输入*/printf("通过 1)年龄 2)来院时间 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'2');if(w0=='1'){/*按年龄排序*/for(i=0;i<n-1;i++)/*选择法排序*/for(j=i+1;j<n;j++)if(staff[i].age>staff[j].age){s1=staff[i];staff[i]=staff[j];staff[j]=s1;}}else {/*按来院时间排序*/for(i=0;i<n-1;i++)/*选择法排序*/for(j=i+1;j<n;j++)if(strcmp(staff[i].come_time,staff[j].come_time)>0){s1=staff[i];staff[i]=staff[j];staff[j]=s1;}}printf_face();for(i=0;i<n;i++) /*显示排序结果*/printf_one(staff[i]);do{fflush(stdin); /*清除缓冲区输入*/printf("\n1)回主菜单 2)继续排序 3)退出[ ]\b\b");w1=getchar();}while(w1<'1'||w1>'3');if(w1=='1') menu();else if(w1=='2')goto loop;else exit(0);}/********************************浏览模块**************************************/void browse(){int i;char w0;n=load();system("cls");printf_face();for(i=0;i<n ;i++)printf_one(staff[i]);printf("\t\t\t\t共有%d条人员记录\n",n);do{fflush(stdin); /*清除缓冲区输入*/printf(" 1)回主菜单 2)退出 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'2');if(w0=='1') menu();if(w0=='2') exit(0);}/********************************主菜单函数*************************************/void menu(){char w0;do{system("cls");fflush(stdin); /*清除缓冲区输入*/puts("*********************************高校人事管理系统*******************************\n\n");puts("\t\t\t\t1)增加人员信息\n");puts("\t\t\t\t2)删除人员信息 \n");puts("\t\t\t\t3)查询人员信息\n");puts("\t\t\t\t4)修改人员信息\n");puts("\t\t\t\t5)统计人员信息\n");puts("\t\t\t\t6)对人员排序\n");puts("\t\t\t\t7)保存人员信息\n");puts("\t\t\t\t8)浏览人员信息\n");puts("\t\t\t\t9)退出\n");printf("\t\t\t\t请选择 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'9');switch(w0-48){case 1:add();break;case 2:delete_data();break;case 3:search();break;case 4:modify();break;case 5:stastic();break;case 6:sort();break;case 7:save();break;case 8:browse();break;case 9:break;}}/***********************************主函数****************************************/void main(){menu();}。

人力资源管理系统课程设计报告

人力资源管理系统课程设计报告

人力资源管理系统课程设计报告人力资源管理系统,简称HRMS,是一种基于计算机网络的管理系统,用于组织和管理企业内的人力资源。

其运用了各种信息技术手段来帮助企业更好地管理和优化企业内部的人力资源,实现人才战略的成功实施,提高企业运营的效率和质量。

本篇文档主要是一份对于HRMS课程设计报告的介绍和评价。

一、介绍本次HRMS课程设计报告是一份系统性的课程设计报告,其主要内容包括HRMS的基本介绍、系统的设计原则、系统架构、系统的功能模块、系统的技术应用和实际应用案例等。

本报告力求详细地阐述了HRMS的设计原则和系统架构,阐述了系统应用的技术细节和开发过程的关键问题,同时,详细介绍了系统的各项功能和实际应用案例,为读者提供了非常详尽的HRMS的学习和应用资料。

二、设计原则和系统架构在HRMS设计原则的阐述中,本报告明确了五项原则:人员优先、系统安全、系统集成、性能可靠和易用简便。

这五项原则针对人力资源管理系统的管理目的和企业的需求,提出了设计和开发的关键性原则,从而保障了系统的优质安全、稳定高效、易用方便。

在系统架构的设计中,本报告采用了面向对象程序设计的思想,将系统划分为客户端、服务器端和数据库三个部分,即通过将HRMS系统细化为三个层次的网络架构,从而达到良好的功能性和稳定性。

三、功能模块本报告所介绍的HRMS系统中包含了多个功能模块,包括员工信息管理、薪酬管理、绩效管理、培训和开发、招聘管理、人力资源分析等。

这些功能模块从不同角度出发,针对人力资源管理的多个维度,为企业提供有效的人才管理和运营支撑,从而达到提高企业内人力资源质量和效率的目的。

四、实际案例本报告介绍了HRMS在实际使用中的应用案例。

这些案例是企业在使用HRMS过程中所积累的数据和经验,其详实阐述了HRMS的有效性和实际应用的价值。

其中,不仅包括了HRMS的大型企业客户的案例,还包括了中小企业用户的案例,从而可以直观地了解HRMS在不同规模的企业中的运用效果和适用性。

人事管理系统报告

人事管理系统报告

人事管理系统报告人事管理系统报告引言随着企业规模的不断扩大,人力资源管理成为大型企业必须要考虑的重要问题。

只有对人力资源进行科学、合理地管理,才能保证企业的生产力和经济效益不断提高。

为此,大型企业利用计算机技术,开发了一套完整的人事管理系统,以提高企业的人力资源管理效果。

本文通过介绍该系统的设计和功能,以及实际应用效果,来描述这套系统是如何协助企业提高人力资源管理效能的。

设计和功能人事管理系统可以分为基础信息管理模块、招聘管理模块、员工培训模块、员工考核模块、薪资福利管理模块等几个模块。

基础信息管理模块:在人事管理系统中,基础信息管理是最基本的模块之一,它可以将企业的基础信息进行集中管理。

包括企业架构、职位信息、员工档案、人事变动等方面的信息。

对于企业来说,这些信息基本是固定的,但是如果没有一个完整的信息系统,很难顺便地管理好这些信息,因此建立一个人事管理系统就尤为重要。

招聘管理模块:人事管理系统的招聘模块主要是为企业进行人才招聘提供服务,并对招聘信息进行管理。

这个模块的主要内容是对招聘计划和需求进行统计和分析,然后对招聘信息进行发布和筛选,最终选择合适的人选。

员工培训模块:员工培训是企业管理中不可或缺的一个环节,通过培训可以提高员工的专业技能,使员工能够更好地为企业服务。

因此,针对员工的培训安排,人事管理系统提供了全面的管理模块。

这个模块的主要功能包括对员工的培训需求进行统计和分析,然后投入相应的培训资源进行安排和实施。

员工考核模块:员工绩效考核是企业管理的重要内容之一。

通过对员工进行考核,可以提高员工的工作绩效,为企业发展做出更为重要的贡献。

人事管理系统提供了完整的员工绩效考核功能,包括绩效考核方案、考核指标维护,以及考核结果的分析和评审。

薪资福利管理模块:人员工资薪管理是企业最为敏感和关键的部分,只有正确处理好薪资福利问题,才能够保证员工的满意度和工作积极性。

人事管理系统提供了完整的薪资福利管理模块,可以对薪资、福利、绩效等方面的信息进行统计和分析,以便为企业的经营管理提供信息支持。

人事管理系统实验报告

人事管理系统实验报告

人事管理系统实验报告人事管理系统实验报告一、引言人事管理是一个组织中不可或缺的重要部分,它涉及到招聘、培训、绩效评估、薪酬管理等方面。

为了提高人事管理的效率和准确性,我们设计并实现了一个人事管理系统。

二、系统概述我们的人事管理系统旨在帮助企业更好地管理员工信息、招聘流程、培训计划、绩效评估和薪酬管理等方面。

系统采用了先进的技术和设计理念,具有以下特点:1. 界面友好:系统采用直观的界面设计,用户可以轻松地浏览和操作各个功能模块。

2. 数据安全:系统采用了严格的数据加密和权限控制机制,确保员工信息的安全性。

3. 自定义功能:系统支持自定义设置,管理员可以根据企业的实际需求调整系统的功能和流程。

三、系统功能1. 员工信息管理:系统可以记录和管理员工的个人信息、工作经历、教育背景等,方便企业进行人员调配和统计分析。

2. 招聘流程管理:系统提供了招聘流程的管理功能,包括职位发布、简历筛选、面试安排等,大大提高了招聘效率。

3. 培训计划管理:系统支持企业制定和管理培训计划,包括培训课程安排、参与人员管理等,有助于提升员工的专业能力和综合素质。

4. 绩效评估:系统提供了绩效评估的功能,包括设定评估指标、评估过程管理和结果统计等,有助于提高员工的工作动力和激励机制。

5. 薪酬管理:系统支持薪酬管理,包括工资核算、福利管理、绩效奖金发放等,确保薪酬的公平和合理性。

四、实验结果和讨论我们在一家中小型企业进行了系统的试用和实验。

通过与传统的人事管理方式进行对比,我们得出了以下结论:1. 系统能够显著提高人事管理的效率和准确性。

传统的人事管理方式往往需要手动处理大量的纸质表格和文件,容易出现错误和遗漏。

而使用人事管理系统后,管理员可以通过系统快速查找和更新员工信息,节省了大量的时间和人力成本。

2. 系统能够提高员工参与感和满意度。

系统提供了自助查询和申请功能,员工可以方便地查看自己的个人信息、薪酬明细和绩效评估结果,提高了员工对企业的信任和归属感。

人事管理系统设计报告

人事管理系统设计报告

人事管理系统设计报告人事管理系统是企业管理中不可或缺的一部分,其主要功能是帮助企业管理人员实现对员工信息的存储、分析和管理,包括员工档案、工资、考勤、培训、绩效评估等方面。

本文将对一款人事管理系统进行设计报告,以高效、安全、可靠的方式完成企业人事管理的相关工作。

一、需求分析在进行系统设计时,首先需要进行需求分析,确定系统应该具备哪些功能,以及对功能的具体要求。

本系统需求分析的主要功能模块如下:1.员工档案:包括个人信息、教育背景、工作经历、员工合同、劳动合同等;2.工资管理:包括工资档案、实时工资查询、工资统计、考勤统计等;3.考勤管理:包括请假管理、加班管理、签到管理等;4.培训管理:包括培训计划、培训记录、培训考核等;5.绩效评估:包括绩效考核统计、个人绩效评估、绩效考核报表等;6.权限管理:包括管理员、普通用户权限管理、访问权限管理等。

二、系统架构设计本系统主要分为前台和后台两部分,前台主要功能是提供给员工使用,包括员工个人信息查询、档案查询、工资查询、考勤查询、请假管理、加班管理等;后台主要面向企业管理人员使用,包括员工档案管理、工资管理、考勤管理、培训管理、绩效评估管理等。

1.前台架构设计前台采用浏览器/移动客户端访问,用户使用浏览器/移动客户端输入账号密码进行登录,之后可以根据权限查看个人信息、工资条、考勤记录、请假详情等。

前台主要采用HTML+CSS+JS技术实现网页布局、交互效果,同时采用Ajax技术实现数据异步加载,提高操作体验和速度。

2.后台架构设计后台采用Java Web技术,基本框架为Spring+MyBatis,采用三层架构模式,分别为表现层、服务层、DAO层,服务层负责业务逻辑处理,DAO层负责数据库访问和记录查询操作。

后台采用MySQL数据库,将用户、员工、工资、考勤等信息存储在数据库中,并通过Java Web提供API接口供前台访问和调用。

三、详细设计1.员工档案设计员工档案包括个人信息、工作经历、员工合同、劳动合同等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计实验报告课题名称:人事管理系统学院:理学院专业:计算机班级: 101 班姓名:张博博李耀彩曹兆亮韩晴学号: **********2012.5.2目录1 课题综述 (1)1.1人事管理信息系统来源 (1)1.2人事管理系统的意义 (1)1.3预期目标 (1)1.4面对的问题 (2)1.5需解决的关键技术等 (2)2 人事管理系统分析 (2)2.1涉及的基础知识 (2)2.2解决问题的基本思路 (11)2.3总体方案 (11)2.4功能模块框图 (11)3 人事管理系统设计 (11)3.1算法描述 (12)3.2详细流程图 (13)4 代码编写 (14)5 运行与测试 (14)总结 (18)1 课题综述人事管理系统是一个数据库应用系统,员工的所有信息都是保存在数据库中。

本系统将主要实现以下功能:增加记录功能、修改记录功能、删除记录功能以及刷新记录功能等等。

作为人事管理系统,我们将它作为一个数据库应用系统来进行开发制作。

数据库应用系统开发的前提是首先开发数据库和数据库中的数据表,数据库和数据表是数据库应用系统中进行不可缺少的工具,一切的开发工作都是围绕数据库和数据表的操作进行的,数据表可被VC++的数据工程和其他工程进行引用。

1.1人事管理信息系统来源随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。

对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

1.2人事管理系统的意义管理信息系统(Management Information System,以下简称为MIS),是一个将企业生产和经营中的各种内、外部信息进行收集、加工、整理、传递,并有序地存储,以用于管理和决策,是企业增效的信息系统。

它能够使企业更加及时、准确、全面、详实的了解所需的信息数据。

同时管理信息系统对各种信息数据的进一步加工,能使企业领导层的生产、经营、管理决策依据更加充分,更具有合理性、科学性;从而为社会创造出更多的价值,为企业的发展创造出更多的机会。

对于企、事业单位的人事管理系统来说,不需要大型的数据库系统。

只需要一个操作方便,功能实用,能满足本中心对数据的管理及需求的系统,能够提高人事管理的效率。

1.3预期目标我们的设计目标就是在于开发一个功能实用、操作方便,简单明了的人事管理系统.能够录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、按条件进行查询,基本满足人事日常业务的需要。

四人合作完成了此课题的研究与开发,包括调研、分析、设计、编码、测试、文档编写等内容。

1.4面对的问题这次课题主要的问题就是数据库的结构设计。

这里所说的数据库结构设计是指数据库中各个表结构的设计,包括信息保存在哪些表格中,各个表的结构如何以及各个表之间的关系。

人事管理虽然只有一个数据表,但仍然要进行数据链接,这其中也就带来了各成员之间的绑定问题。

1.5需解决的关键技术等人事管理系统需解决的关键技术是与数据源进行链接,Microsoft Access的使用以及MFC的使用等。

2 人事管理系统分析人事管理系统主要进行对企业的人员管理,使企业的管理更加科学化、合理化、制度化、规范化;为企业的管理水平跨上新台阶;为企业持续、健康、稳定的发展奠定坚实基础。

进行人事管理系统需要Visual C++6.0语言环境。

2.1涉及的基础知识2.1.1 MFC编程1)MFC简介MFC是Microsoft Foundation Class Library(微软基础类库)的缩写形式。

它是C++的类集,提供面向对象框架,利用这个框架,程序员可以轻松地创建Windows 应用程序。

MFC还提供应用程序开发模型。

此模型被称为文档/视图模型。

文档/视图模型是将应用程序数据与用户界面元素分离的一种应用程序方法。

它允许这两部分程序独立存在,这样一来,程序员在更改其中一部分时,就无须大量更改另一部分。

MFC为程序员提供了更友好的C++类,使之更易于使用。

在很多情况下,MFC在幕后执行一些复杂操作,而向开发人员提供更简单的编程界面,并可以掩盖Windows API的一些缺点。

2)AppWizard向导开发应用程序图2-0 New对话框从File菜单中单击New(新建),显示New对话框的Projects(项目)选项卡,其中列出了Visual C++中的向导。

选择标有MFC AppWizard(exe)的图标,如图2-0所示,为项目输入一个名字。

在Location文本框中指定一个路径。

直到选择列表中的一个图标,并输入一个项目名后,单击OK按钮才能用。

步骤1程序界面如图2-1所示。

图2-1 AppWizard的第一步AppWizard的第一步要求用户指定应用程序的类型,选择单文档界面(SDI)、多文档界面(MDI)或基于对话框的界面。

要创建不需要文档对象从磁盘文件中读取数据的简单的Windows应用程序,把标为Document/View Architecture Support(文档/视图结构支持)复选项禁用即可。

步骤2在图2-2中所在的AppWizard的第二步中,要求提供项目所需要的数据库支持种类。

我们选择None,有使用数据库,Next(下一步)按钮跳过这一步,进到步骤3。

图2-2 AppWizard的第二步步骤3在AppWizard的第三步(图2-3)中,设置程序的OLE和ActiveX支持类型。

对话框上半部分的五个单选按钮控制着AppWizard添加到程序中的复合文档支持的类型。

我们仍然选择None,单击Next按钮进到步骤4。

图2-3 AppWizard的第三步步骤4在图2-4中所示的AppWizard的第四步中,可以控制AppWizard为程序创建哪些用户界面元素。

图2-4 AppWizard的第四步AppWizard自动为程序主窗口的菜单系统、工具栏及状态栏生成代码和数据。

Normal(常规)Internet Explorer Rebars单选按钮为应用程序的工具栏提供两种不同的风格。

激活Context-Sensitive Help(上下文相关)复选项,会告诉AppWizard 希望所创建的程序提供在线帮助。

这些说明清晰完整不需要再做更多的工作只需要说明那些自己添加到程序中的命令以加强帮助文件。

在AppWizard第四步的对话框的右下角有一个Advanced(高级)按钮,单击它,将显示一个标题为Advanced Options(高级选项)的包含两个选项卡的对话框。

步骤5图2-5所示的 AppWizard 的第五步询问想创建的程序的风格、是否需要附加的源代码注释,及希望程序如何链接到MFC库。

图2-5 AppWizard的第五步步骤6AppWizard 的第六步列举了AppWizard将为项目创建的类,如图2-6。

图2-6 AppWizard的第六步单击Finish按钮后,AppWizard显示一个摘要表,其中列出了所选的项目特征。

单击OK会使AppWizard在摘要表底部所列的目录下创建项目。

2.1.2 数据库的设计利用Microsoft Access 2003创建数据库及其数据表微软公司的许多产品所支持的数据库结构和数据库驱动程序类型均是通用的,因此,用户可以借助相关的工具创建数据库与数据表,这里我们介绍采用Microsoft Access 2003创建数据库及其数据表的方法。

为此我们先定义一个“人事管理数据表”的结构,如表1.1所示。

表1.1 人事管理数据表结构创建利用Microsoft Access 2003创建数据库及其数据表的步骤如下:(1)启动Microsft Access 2003的Microsoft Access应用程序,出现图1.8所示界面。

通过该界面就可以创建一个新的数据库或打开一个已经存在的数据库。

图1. 8 选择创建数据库的方式(2)选择创建新数据库,即选择“空Access数据库”选项。

(3)单击“确定”按钮之后出现保存对话框,确定保存数据库文件的位置(D:\ VC++写作案例\ CH1\ 人事管理数据库)和文件名称之厉即创建了一个空的数据库然后出现图1.9所示窗口。

图1.9 数据库中的数据表操作窗口数据库只是数据表的容器,在数据库操作窗口中,用户可以打开已经存在的数据表,也可以创建新的:数据表+并可以对已经存在的数据表进行删除。

创建一个数据表本质上就是创建一个数据表的结构-,即定义数据表的字段名、宇段大小和数据类型等等。

这一切工作均是通过“设计”菜单进行的。

(4)单击“设计”菜单,可以打开一个新的数据表结构的设计器,如图1.10所示。

图1.10 数据表设计器在Microsoft Access 2003数据表设计器中,用户可以定义数据表的字段名称、字段类型、字段大小等内容。

数据表结构一经确定,可以打开该数据表,在数据表中输入一些基本数据,以在后面的系统设计中体现设计的效果(数据表记录可参考表1.2所示内容,注意,考虑到表的宽度,表中的字段名缩写,实际运用时不能缩写,需要与数据表结构设计器中的字段名称一致)。

表1.2 数据表记录内容编号姓名性别部门年龄工作时间基本工资职称简历100001张成东男化工学院4885/12/12650.00讲师略100002李英女机械学院4885/02/11950.00副教授略100003张记成男数理学院4786/03/23990.00教授略2.2解决问题的基本思路建立数据库及数据表,并进行选择与之相适应的数据源。

MFC设计过程中相应的对话框中的控件进行数据绑定和对一些控件代表的编写。

2.3总体方案使用在基础知识中数据库的设计先设计数据库和数据表。

用MFC设计应用程序框架,在创建MFC时,进入框架设计的第2步,应选择“查看数据库而不使用文件支持”,在“Data Source”里添加已经创建的数据库和数据表,即可完成。

然后制作人事管理主窗体,在里面最主要的是进行控件与数据表字段的绑定。

最后为系统实现增加、删除、排序与查询功能。

2.4功能模块框图根据系统功能的要求,可以将系统分解成几个功能模块,它如图2-12所示。

图2-12 人事管理系统功能模块图3 人事管理系统设计人事管理系统设计主要进行四个功能:增加记录、删除记录、排序记录、查询记录。

3.1算法描述1)增加记录的功能描述(如图3-2所示):获取指向数据库的指针->确认对数据库的任何修改均已保存->获取新的ID值->通过AddNew函数来添加新记录->把新的ID值设置为新增记录中的ID字段值->调用Requery函数更新记录->游标移到最后一条记录。

相关文档
最新文档