员工管理系统(精编文档).doc
职工管理系统
目录一系统的背景2二系统的编译环境和语言2三系统类的设计33.1 类的对象:33.2 类的属性列表:33.3 类的行为:33.4 具体代码如下:3四系统运行入口的设计11五运行步骤13六数据文件16七参考文献16一系统的背景从事商业活动的公司迫切需要这样一个系统:它能高效的管理公司内部所有员工的个人信息,并能正确快速的对系统的使用者的操作做出回应,以提高效率,降低成本。
该系统能够满足以上的要求,使用户可以快速准确的管理公司员工的信息。
二系统的编译环境和语言该系统是采用C++语言在Turbo c下编译而成,。
因为在该系统中有明显的对象,即是公司的员工,且C++语言是一个非常强大的面向对象的语言,因此该系统使用C++编写将会简单,快速而有效。
Turbo C是一个经典且功能强大的编译器,是编译用C++语言写成的程序的首要工具。
三系统类的设计3.1 类的对象:系统有两个类:Employee :对象是公司里的每一个员工,是系统中最重要的类。
DBOperate :对象是系统的数据文件,完成对员工信息的保存和读取。
3.2 类的属性列表:Employee :员工的编号:EmployeeNum (long)员工的姓名:EmployName (string)员工所属部门:EmployeeDepart (string)员工级别:EmployeeGrade (string)员工工资:EmployeePay (float)员工工龄:EmpoyeeWorkTime (long)3.3 类的行为:Employee :添加新员工信息:NewInfo();员工信息浏览:ShowInfo();员工信息变更:RefreshInfo();发放工资:Pay(int EG);//EG为员工级别解聘员工:DeleteInfo();DBOperate :保存员工信息:WriteIn(int iflag);读取员工信息:ReadOut();更新员工总人数:RefreshMaxNum(int iflag);注释:当iflag 为1时,人数增大;为零时,人数不变,即是修改;为-1时,人数减少。
简单的员工管理系统
1、问题描述:对单位的职工进行管理,包括插入、删除、查找、排序等功能。
2、要求:职工对象包括姓名(字符串)、性别(字符)、出生年月(数字)、工作年月(数字)、学历(字符串)、职务(字符串)、住址(字符串)、电话(字符串)等信息。
(1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中。
(2)删除一名职工:从职工管理文件中删除一名职工对象。
(3)查询:从职工管理文件中查询符合某些条件的职工。
(4)修改:检索某个职工对象,对其某些属性进行修改。
(5)排序:按某种需要对职工对象文件进行排序。
3、实现功能(1)由键盘输入职工对象,以文件方式保存。
程序执行时先将文件读入内存。
(2)对职工对象中的“姓名”按字典顺序进行排序。
(3)对排序后的职工对象进行增、删、查询、修改、排序等操作。
4、代码:#include <stdlib.h>#include <stdio.h>#include <malloc.h>#include <string.h>typedef struct worker{int id;char name[20];char sex[3];int age;char edu[50];int wages;char adr[255];char phone[13];}WORKER, *PWORKER;//typedef struct WORKER *PWORKER;typedef struct link{WORKER w;struct link *next;}LINK, *PLINK;//typedef struct LINK *PLINK;/*创建职工信息链表*/PLINK create(){PLINK p=(PLINK)malloc(sizeof(LINK));if(NULL!=p){p->next=NULL;return p;}printf("内存不足!\n");return NULL;}/*显示程序界面文字*/void message(){printf("\t\t************************************************\n\n"); printf("\t\t>>>>>>>>>>>>>>欢迎进入职工管理系统<<<<<<<<<<<<<<\n\n"); printf("\t\t************************************************\n\n"); printf("\t\t ************** Choose Function *************\n\n");printf("\t\t ************ 帮助请输入:0************\n\n"); printf("\t\t ************录入职工信息请输入:1************\n\n"); printf("\t\t ************浏览职工信息请输入:2************\n\n"); printf("\t\t ************查询职工信息请输入:3************\n\n"); printf("\t\t ************删除职工信息请输入:4************\n\n"); printf("\t\t ************修改职工信息请输入:5************\n\n"); printf("\t\t ************ 清屏请输入:6************\n\n"); printf("\t\t ************ 退出请输入:-1***********\n\n");printf("\t\t************************************************\n\n"); printf("\t\t************************************************\n\n"); }void find_sr(PLINK plink, char* str){for(PLINK curr = plink->next; curr != NULL; curr = curr->next){if(strcmp(curr->, str) == 0){printf("职工工号:%d\n",curr->w.id);printf("职工姓名:%s\n",curr->);printf("职工性别:%s\n",curr->w.sex);printf("职工年龄:%d\n",curr->w.age);printf("职工学历:%s\n",curr->);printf("职工工资:%d\n",curr->w.wages);printf("职工住址:%s\n",curr->w.adr);printf("职工电话:%s\n",curr->w.phone);}}}void findid(PLINK plink, int id){for(PLINK curr = plink->next; curr != NULL; curr = curr->next){if(curr->w.id == id){printf("职工工号:%d\n",curr->w.id);printf("职工姓名:%s\n",curr->);printf("职工性别:%s\n",curr->w.sex);printf("职工年龄:%d\n",curr->w.age);printf("职工学历:%s\n",curr->);printf("职工工资:%d\n",curr->w.wages);printf("职工住址:%s\n",curr->w.adr);printf("职工电话:%s\n",curr->w.phone);}}}void show(PLINK plink){for(PLINK curr = plink->next;curr != NULL; curr = curr->next){printf("职工工号:%d\n",curr->w.id);printf("职工姓名:%s\n",curr->);printf("职工性别:%s\n",curr->w.sex);printf("职工年龄:%d\n",curr->w.age);printf("职工学历:%s\n",curr->);printf("职工工资:%d\n",curr->w.wages);printf("职工住址:%s\n",curr->w.adr);printf("职工电话:%s\n",curr->w.phone);}}/*录入职工信息*/int add(PLINK p){PLINK h = NULL;PLINK q=(PLINK)malloc(sizeof(LINK));if(NULL==q){printf("录入失败提示:内存不足!\n");return -1;}printf("请输入职工号(数字):");scanf("%d",&q->w.id);h=p->next;while(h){if(h->w.id==q->w.id){free(q);printf("录入失败提示:此职工号已经存在!\n");return -1;}h=h->next;}printf("请输入职工姓名(文字):");scanf("%s",&q->);printf("请输入职工性别(文字):");scanf("%s",&q->w.sex);printf("请输入职工年龄(数字):");scanf("%d",&q->w.age);printf("请输入职工学历(文字):");scanf("%s",&q->);printf("请输入职工工资(数字):");scanf("%d",&q->w.wages);printf("请输入职工住址(文字):");scanf("%s",&q->w.adr);printf("请输入职工电话(数字):");scanf("%s",&q->w.phone);q->next=p->next;p->next=q;printf(".^_^.录入成功!.^_^.\n");return -1; }/*按姓名查询*/PLINK findname(PLINK p,char *name){message();printf("按姓名查询\n");printf("职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话\n");while(NULL!=p->next){if(0==strcmp(p->next->,name)){printf("%d\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",p->next->w.id,p->next->,p->next->w.sex,p->next->w.adr,p->next->,p->next->w.wages,p->next->w.adr,p->next->w.phone);return p;}p=p->next;}printf(".^_^.查询结束!.^_^.\n");return NULL;}/*按职工号删除职工信息*/int del(PLINK p,int id){message();printf("按职工号删除职工信息\n");while(NULL!=p->next){if(p->next->w.id==id){PLINK q=p->next;p->next=p->next->next;free(q);printf(".^_^.删除成功!.^_^.\n");return 1;}p=p->next;}printf("没有你输入的职工号!\n");return -1;/*程序结束释放内存*/void release(PLINK p){PLINK q;while(NULL!=p->next){q=p;p=p->next;free(q);}free(p);}/*查询调用*/void search(){int id;char name[20];char str[20];PLINK pworker;int l;printf("\t\t\t\t*姓名查找按:1*\n");printf("\t\t\t\t*学历查找按:2*\n");printf("\t\t\t\t*职工号查按:3*\n");scanf("%d",&l);if(l>0&&l<4){switch(l){case 1:printf("请输入要查询的职工姓名:");scanf("%s",name);findname(pworker,name);break;case 2:printf("请输入要查询的职工学历: ");scanf("%s", str);find_sr(pworker, str);break;case 3:printf("请输入要查询的职工号:");scanf("%d",&id);findid(pworker,id);break;}printf("\n\n选择完毕!!!");}else printf("\t\t\t\t输入有误!!!");/*修改职工信息*/int modify(PLINK p){int id;PLINK q;PLINK h = NULL;printf("请输入职工号(数字):");scanf("%d",&id);h=p->next;while(h){if(h->w.id==id){break;}h=h->next;}if (h == NULL){printf("找不到此职工,请重试\n");return -1;}printf("请输入职工姓名(文字):");scanf("%s",&h->);printf("请输入职工性别(文字):");scanf("%s",&h->w.sex);printf("请输入职工年龄(数字):");scanf("%d",&h->w.age);printf("请输入职工学历(文字):");scanf("%s",&h->);printf("请输入职工工资(数字):");scanf("%d",&h->w.wages);printf("请输入职工住址(文字):");scanf("%s",&h->w.adr);printf("请输入职工电话(数字):");scanf("%s",&h->w.phone);q->next=p->next;p->next=q;printf(".^_^.修改成功!.^_^.\n");return -1;}int main(){int cmd=0;int id;char name[20];char str[20];PLINK pworker;if(!(pworker=create())){exit(0);}while(cmd!=-1){switch(cmd){case 0: message(); break;case 1: add(pworker); break;case 2: show(pworker); break;case 3: search(); break;case 4: printf("请输入要删除的职工号:");scanf("%d",&id);del(pworker,id);break;case 5: modify(pworker); break;case 6: message(); break;}printf("请输入操作命令数字:\n");scanf("%d",&cmd);}printf("\t\t>>>>>>>>>>>>>>>>>>>>谢谢使用<<<<<<<<<<<<<<<<<<<<\n\n");release(pworker);return 0;}4.测试结果:5.总结:本次课程设计是围绕数据结构进行。
(完整word版)员工管理系统
一系统层次模块图总的系统模块主要包括:管理员的登陆;员工信息查看、修改、删除、增加;职位信息修改、删除、增加;部门信息修改、删除、增加;签到信息管理等功能模块。
总的系统功能结构图,如图2-1所示:图2-1 总的系统层次模块图系统设计流程图如2-3图所示:图2-3 系统设计流程图一个员工对应一个职位,一个员工对应一个部门,一个员工对应一个签到信息。
员工与相关信息表的E-R图如图3-5所示:1. admin(管理员信息表)管理员信息表用来存储管理员的基本信息。
其中包括管理员用户名和管理员登录密码等字段,表admin的结构如表3-1所示:字段名数据类型长度是否主键描述Id int 4 是唯一标识ldy_str_uname varchar30管理员用户名ldy_str_pwd varchar 20 登陆密码2. users (员工信息表)员工信息表(users)此表主要用于存储员工的相关信息,包括员工编号,员工名,员工地址,员工性别,员工备注,员工年龄以及与各表连接的相关字段等。
表users的结构如表3-2所示。
3. dep(部门信息表)此表主要用于存储部门的信息,包括部门编号,部门名称,部门备注等。
表dep的结构如表3-3所示。
4. job(职位信息表)职位信息表主要用于保存各类职位信息,包括职位编号,职位名称,职位工资,职位备注等字段。
表job的结构如表3-4所示。
5. qiandao(签到信息表)签到信息表主要用于保存员工签到信息,包括签到编号,员工编号,签到次数等字段。
表qiandao的结构如表3-5所示。
公司员工管理系统
目录一设计要求 (1)二系统分析 (1)三系统的功能模块 (3)四系统测试 (17)五心得及体会 (21)六参考文献 (22)普通员工管理员经理查看个人信息部门管理员工管理用户管理查看公司所有员工信息登陆5)系统流程图如下:7)系统整体E-R图如下:三、系统的功能模块1、登陆界面的设计与实现登陆界面使用了picturebox与textbox控件,两个textbox用于帐号与密码的输入,picturebox主要用于界面美化。
代码如下:public partial class 登录界面 :Form{public 登录界面(){InitializeComponent();2、主界面的设计与实现主界面使用了button控件、timer控件以及label控件和skinEngine控件,timer 用于获取当前时间,显示日期,button控件用于执行点击时间进行对信息的管理,label 主要用于显示的当前登录用户的用户名,以及权限,skinEngine控件用于界面皮肤的美化。
代码如下:public partial class 主界面 : Form{public 主界面(){InitializeComponent();}private void 主界面_Load(object sender, EventArgs e){Win32.AnimateWindow(this.Handle, 300, Win32.AW_CENTER | Win32.AW_ACTIVATE | Win32.AW_SLIDE);this.skinEngine1.SkinFile = "WarmColor2.ssk";label1.Text =Convert.ToString("欢迎"+ername+"~");label2.Text = "您的权限为:" + Power.getPower;if (Power.getPower == "管理员"){}else if (Power.getPower == "经理"){btn_UserM.Enabled = false;btn_Add.Visible = false;代码如下:public partial class 个人信息 : Form{public 个人信息(){InitializeComponent();}private void 个人信息_Load(object sender, EventArgs e){Win32.AnimateWindow(this.Handle, 500, Win32.AW_HOR_POSITIVE );SqlConnection connection = BaseClass.ADOConn.PersonManagerSys();connection.Open();SqlCommand tmd = new SqlCommand("select 姓名 from 员工信息表 where 工号='" + Username.PerNum + "'", connection);lb_Name.Text = Convert.ToString(tmd.ExecuteScalar());tmd = new SqlCommand("select 性别 from 员工信息表 where 工号='" + Username.PerNum + "'", connection);lb_Sex.Text = Convert.ToString(tmd.ExecuteScalar());tmd = new SqlCommand("select 部门编号 from 员工信息表 where 工号='" + Username.PerNum + "'", connection);lb_Belong.Text = Convert.ToString(tmd.ExecuteScalar());tmd = new SqlCommand("select 身份证号 from 员工信息表 where 工号='" + Username.PerNum + "'", connection);lb_IdCard.Text = Convert.ToString(tmd.ExecuteScalar());tmd = new SqlCommand("select 职位 from 员工信息表 where 工号='" + Username.PerNum + "'", connection);lb_Job.Text = Convert.ToString(tmd.ExecuteScalar());tmd = new SqlCommand("select 地址 from 员工信息表 where 工号='" + Username.PerNum + "'", connection);lb_Address.Text = Convert.ToString(tmd.ExecuteScalar());tmd = new SqlCommand("select 电话 from 员工信息表 where 工号='" + Username.PerNum + "'", connection);lb_Phone.Text = Convert.ToString(tmd.ExecuteScalar());tmd = new SqlCommand("select 工号 from 员工信息表 where 工号='" + Username.PerNum + "'", connection);lb_PerNum.Text = Convert.ToString(tmd.ExecuteScalar());connection.Close();}}4、用户管理界面的设计与实现此界面用了datagridview控件来绑定用户数据,以及三个button控件来管理用户信息。
公司员工管理系统
公司员工管理系统第一部分:项目背景与需求分析一、项目背景随着市场竞争的日益激烈,企业对管理效率和员工素质的要求不断提高。
为提高公司管理水平,降低人力资源成本,实现企业可持续发展,公司决定开发一套员工管理系统。
该系统将涵盖员工基本信息管理、薪资福利管理、考勤管理、培训发展管理等多个方面,为公司提供一个便捷、高效、安全的管理工具。
二、需求分析1. 功能需求(1)员工基本信息管理:包括员工基本资料、岗位信息、联系方式等,支持信息的添加、修改、查询和删除。
(2)薪资福利管理:自动计算员工工资、奖金、扣款等,支持工资单的导出和打印。
(3)考勤管理:记录员工考勤数据,包括迟到、早退、请假等,支持考勤数据的统计和查询。
(4)培训发展管理:记录员工培训经历、晋升记录等,支持培训计划的制定和跟踪。
(5)权限管理:根据不同角色分配不同权限,确保系统数据安全。
2. 性能需求(1)响应速度:系统需在短时间内完成数据处理,确保用户体验。
(2)稳定性:系统运行稳定,数据安全可靠。
(3)可扩展性:系统具备良好的可扩展性,以便后期根据公司需求进行功能扩展。
3. 系统架构需求(1)采用B/S架构,便于用户通过浏览器访问。
(2)前后端分离,提高系统开发效率和可维护性。
(3)采用分布式数据库,确保数据存储安全可靠。
三、项目目标1. 提高管理效率:通过系统化管理,降低人力成本,提高工作效率。
2. 优化员工体验:为员工提供一个便捷、高效的工作环境,提升员工满意度。
3. 促进企业可持续发展:通过系统对员工培训、晋升等管理,提升企业核心竞争力。
4. 确保数据安全:采用先进的技术手段,确保系统数据安全可靠。
四、项目范围1. 项目范围:涵盖公司全体员工。
2. 项目实施地点:公司内部网络环境。
3. 项目周期:预计项目周期为6个月,包括需求分析、系统设计、开发、测试和部署等阶段。
本部分详细阐述了公司员工管理系统的项目背景、需求分析、项目目标和项目范围,为后续系统设计和开发提供了基础。
【推荐】员工工作管理系统-优秀word范文 (13页)
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==员工工作管理系统篇一:职工信息管理系统职工信息管理系统设计报告学院土木工程班级测绘C111 学号 117551姓名马骁飞成绩一、设计思路1.要达到的目的培养学生综合利用VB语言进行程序设计的能力,主要是培养学生综合使用基本控件的、文件读写、数组操作等能力。
利用读取数据按钮,打开选中的数据文件职工.txt,并从该文件中读取职工职工号、姓名、职称和工资,保存在数组中,并显示在文本框中。
清除文本框中的职工的信息。
在文本框中显示职工的信息。
按照职工号查询职工信息,并显示。
按照姓名查询职工信息,并显示。
按照职工号修改职工信息,并显示。
按照姓名修改职工信息,并显示。
追加一条记录数据,并显示。
2.关键问题的解决(1)通过“读取数据”按钮应能利用应能利用右侧图示样式窗体形式,打开选中的数据文件职工.txt,并从该文件中读取职工职工号、姓名、职称和工资,保存在数组中,并显示在文本框中。
(2)通过“清除数据”按钮应能清除文本框中的内容。
(3)从“按职工号查询”按钮左端文本框输入职工号,单击“按职工号查询”,在窗体大的文本框中显示查询结果。
从“按姓名查询”按钮左端文本框输入姓名,单击“按姓名查询”按钮,在窗体大的文本框中显示查询结果。
(4)从“按职工号修改” (“按姓名修改”)按钮,在输入对话框中输入职工号,对查询到的职工的职工号(姓名)进行修改,在窗体大的文本框中显示修改结果。
从输入一条记录后文本框中输入一条记录信息,单击“追加数据并显示结果”按钮,添加到职工.txt中,并将追加数据后职工.txt的信息显示窗体的大文本框中。
二、部分程序关键源代码及注释rivate Sub Command1_Click()Form2.ShowEnd SubList1.ClearEnd SubPrivate Sub Command3_Click()e = TrueUnload MeEnd SubPrivate Sub Command4_Click()List1.ClearIf Text3.Text = "117001" ThenElseIf Text3.Text = "117002" ThenList1.AddItem "李四 117002"ElseIf Text3.Text = "117003" ThenList1.AddItem "王五 117003"ElseIf Text3.Text = "117004" ThenList1.AddItem "王六 117004"ElseIf Text3.Text = "117005" ThenList1.AddItem "赵七 117005"ElseIf Text3.Text = "117006" ThenList1.AddItem "李八 117006"ElseIf Text3.Text = "117007" ThenList1.AddItem "刘九 117007"ElseIf Text3.Text = "117008" ThenList1.AddItem "马十 117008"Else: MsgBox "请输入正确的职工号"End IfEnd SubPrivate Sub Command5_Click()Dim a As StringDim b As Stringb = InputBox("请输入要修改的职工的职工号")a = InputBox("请输入新的职工姓名")If b = "117001" ThenElseIf b = "117002" ThenList1.AddItem a & " " & bElseIf b = "117003" ThenList1.AddItem a & " " & bElseIf b = "117004" ThenList1.AddItem a & " " & bElseIf b = "117005" ThenList1.AddItem a & " " & bElseIf b = "117006" ThenList1.AddItem a & " " & bElseIf b = "117007" ThenList1.AddItem a & " " & bElseIf b = "117008" ThenList1.AddItem a & " " & bElse: MsgBox "请输入正确的职工号" End IfList1.AddItem a & " " & bEnd SubPrivate Sub Command6_Click()List1.ClearIf Text2.Text = "张三" ThenList1.AddItem "张三 117001"ElseIf Text2.Text = "李四" Then。
人员管理系统,员工管理系统(一)2024
人员管理系统,员工管理系统(一)引言概述:人员管理系统,又称员工管理系统,是一种用于管理组织内员工信息、工作分配、考核绩效等的软件系统。
该系统能够提高人力资源管理的效率和质量,帮助组织实现对人力资源的全面管理和优化。
本文将详细介绍人员管理系统的五个主要模块:员工信息管理、工作分配与监控、考核绩效管理、培训发展和福利管理,以及系统安全与权限控制。
一、员工信息管理:1. 基本信息录入:系统能够方便地录入员工的基本信息,如姓名、性别、出生日期等;2. 个人档案管理:系统可以存储和管理每个员工的个人档案,包括联系方式、学历、工作经历等;3. 职位调动与晋升:系统能够记录员工的职位变动情况,包括调动的原因和晋升的依据;4. 工作合同管理:系统可以管理员工的工作合同信息,包括合同起止日期、合同类型和签订地点等;5. 离职管理:系统可以记录员工的离职信息,包括离职原因和离职时间。
二、工作分配与监控:1. 工作任务分配:系统能够将工作任务分配给合适的员工,实现任务的合理分配;2. 进度监控与报告:系统可以实时监控员工的工作进度,并生成相应的工作报告;3. 协同办公:系统支持员工之间的协同办公,提高工作效率和沟通效果;4. 考勤管理:系统可以记录员工的考勤情况,包括请假、加班和迟到早退等;5. 绩效评估:系统可以对员工的工作绩效进行评估,提供一定的绩效考核依据。
三、考核绩效管理:1. 考核指标设定:系统支持设定多种考核指标,如工作质量、工作态度和工作效率等;2. 绩效评估方法:系统可以根据设定的考核指标,采用定量或定性方法对员工进行绩效评估;3. 绩效报告生成:系统可以生成员工的绩效报告,提供对绩效情况的简明概括;4. 绩效奖励与惩罚:系统能够根据员工的绩效表现,给予适当的奖励或者惩罚;5. 绩效数据分析:系统可以对员工的绩效数据进行分析,为公司提供决策支持和人力资源优化建议。
四、培训发展与福利管理:1. 培训需求分析:系统可以根据员工的发展需求和公司的培训计划,进行培训需求分析;2. 培训计划制定:系统支持制定公司的培训计划,包括培训内容、时间和地点等;3. 培训资源管理:系统可以管理培训资源,包括讲师、培训材料和场地等;4. 员工福利管理:系统能够管理员工的福利信息,如社保、医疗保险和节假日福利等;5. 员工发展规划:系统可以记录和管理员工的职业发展规划,为员工提供职业成长的支持和指导。
企业员工管理系统
企业员工管理系统一、引言企业员工管理系统是为了提高员工的管理效率和信息化水平而开发的一款软件系统。
本文档将详细介绍该系统的功能和使用方法,旨在帮助用户快速上手并正确使用该系统。
二、系统概述⑴目标企业员工管理系统的目标是实现员工信息的统一管理和自动化处理,包括员工档案、薪资核算、考勤管理、绩效评估等模块。
⑵功能1) 员工档案管理:包括员工基本信息、工作经历、教育背景等。
2) 薪资核算:根据员工的薪资等级和考勤情况,自动计算薪资。
3) 考勤管理:记录员工的上下班时间,计算迟到早退等情况。
4) 绩效评估:根据设定的评估指标和结果,对员工进行绩效评估。
5) 员工培训:记录员工的培训情况和培训成绩。
6) 招聘管理:记录招聘需求、收集简历、安排面试等。
7) 员工福利管理:管理员工的福利信息,如社保、公积金等。
⑶用户类型1) 管理员:具有系统的最高权限,可以进行系统的配置和管理。
2) HR管理员:负责员工信息的管理和绩效考核等工作。
3) 普通员工:通过系统查看自己的个人信息、薪资和考勤情况。
三、系统安装和配置⑴硬件要求1) 服务器:4核CPU、8GB内存、100GB硬盘空间。
2) 客户端:支持Windows、MacOS和Linux操作系统。
⑵软件依赖1) 服务器端:安装Java运行环境、MySQL数据库和Tomcat应用服务器。
2) 客户端:支持使用现代浏览器访问系统,如Chrome、Firefox等。
⑶系统部署1) 配置数据库:创建数据库并导入系统提供的SQL脚本。
2) 配置系统参数:修改系统配置文件,设置数据库连接信息等。
3) 启动系统:启动Tomcat服务器并访问系统登录页面。
四、系统使用指南⑴登录系统用户打开浏览器,输入系统的访问地址,在登录页输入用户名和密码,登录按钮即可进入系统。
⑵员工档案管理1) 新增员工档案:新增按钮,填写员工的基本信息、工作经历等,保存按钮提交信息。
2) 编辑员工档案:在员工列表中选择要编辑的员工档案,编辑按钮,修改员工的信息后保存。
企业员工管理系统
企业员工管理系统企业员工管理系统文档1:引言企业员工管理系统是一款用于方便管理和监控企业员工信息的软件系统。
它提供了一系列功能,包括员工信息管理、薪资管理、考勤管理、培训管理等,为企业提供了高效的人力资源管理工具。
2:功能模块2.1 员工信息管理模块2.1.1 员工基本信息录入2.1.2 员工信息查询2.1.3 员工信息修改2.1.4 员工信息导出2.2 薪资管理模块2.2.1 薪资计算2.2.2 薪资发放2.2.3 薪资查询2.2.4 薪资统计2.3 考勤管理模块2.3.1 考勤记录2.3.2 迟到早退管理2.3.3 考勤异常处理2.3.4 考勤报表2.4 培训管理模块2.4.1 培训计划制定2.4.2 培训材料2.4.3 培训成绩录入2.4.4 培训报名管理3:技术架构企业员工管理系统采用B/S架构,前端使用、CSS、JavaScript 进行页面开发,后端使用Java语言搭建Web应用,数据库使用MySQL进行数据存储。
4:配置要求4.1 硬件要求- 服务器:2GHz以上处理器,8GB以上内存- 客户端:1GHz以上处理器,2GB以上内存4.2 软件环境要求- 操作系统:Windows Server 2012及以上- Web服务器:Apache Tomcat 8:0及以上- 数据库:MySQL 5.7及以上- 浏览器:Chrome、Firefox、IE11及以上5:安装步骤5.1 项目代码5.2 配置数据库连接5.3 部署项目到Web服务器5.4 启动Web服务器5.5 访问系统6:注意事项6.1 确保数据库连接信息正确6.2 确保Web服务器和数据库服务已启动6.3 如果遇到问题,可查看日志文件获取详细错误信息附件:1:数据库设计文档2:系统使用手册法律名词及注释:- 1:劳动法:劳动法是国家为了保护劳动者合法权益,规范劳动关系而制定的相关法律法规。
- 2:劳动合同法:劳动合同法是国家为了保护劳动者权益,规范劳动合同订立与解除等问题而制定的法律法规。
员工培训管理系统(定稿)(DOC)
员工培训管理系统1. 系统介绍员工培训管理系统是一种基于网络的系统,用于管理和组织公司内部的培训活动。
通过此系统,管理员可以分配培训课程并跟踪员工的培训进度。
员工可以方便地接收和学习培训课程,同时也可以反馈培训过程中的问题和建议。
2. 系统功能2.1 管理员功能•添加、编辑、删除培训课程•分配培训课程给员工•查看员工培训进度和成绩•生成培训报告•统计员工培训情况2.2 员工功能•查看已分配的培训课程•学习培训课程•提交培训反馈3. 系统架构员工培训管理系统采用三层架构,分为表现层、业务逻辑层和数据访问层。
3.1 表现层表现层负责与用户交互,使用HTML、CSS和JavaScript等技术实现页面的呈现和用户的交互。
3.2 业务逻辑层业务逻辑层负责处理系统的业务逻辑,包括添加、编辑和删除培训课程,分配培训课程给员工,查看员工培训进度和成绩,生成培训报告,统计员工培训情况等。
3.3 数据访问层数据访问层负责与数据库进行交互,包括添加、编辑、删除培训课程等数据操作。
4. 技术实现员工培训管理系统采用以下技术实现:4.1 前端技术•HTML:负责页面的呈现•CSS:负责页面的样式•JavaScript:负责页面的交互4.2 后端技术•Spring Boot:负责搭建Java Web应用程序•Spring MVC:负责Web请求的处理•MyBatis:负责数据访问操作•MySQL:负责数据存储5. 系统测试在实现员工培训管理系统后,需要进行系统测试以验证系统的正确性和稳定性。
系统测试可以分为以下几个阶段:5.1 单元测试单元测试是对系统隔离的最小可测试部件进行测试,可以使用JUnit等测试框架完成。
5.2 集成测试集成测试是对系统不同组件进行测试,可以测试系统组件之间的协作是否正常。
5.3 系统测试系统测试是对整个系统进行测试,包括功能测试、性能测试、可靠性测试等。
6. 系统部署在完成系统测试后,可以将员工培训管理系统部署到服务器上,实现系统的线上运行。
公司员工管理系统.docx
基于Delphi的公司人事管理系统的设计与实现摘要随着信息科学技术的飞速发展,人们逐渐意识到对信息管理软件的运用可以使日常工作更加方便、快捷和高效。
论文详细论述了一个公司人事管理系统的开发设计过程。
系统采用Delphi 7.0作开发平台,SQL Server 2000作数据库管理系统,实现了系统管理、信息设置、员工信息管理、工资管理等功能。
系统符合公司人事管理的要求,能够帮助公司切实提高工作效率。
论文组织如下:首先阐述了该系统的开发背景、意义;其次介绍了相关的开发工具及技术基础;接着对系统的需求进行了分析,并提出了具体的设计方案和数据库模型;然后展现了整个系统的具体实现,包括数据库的设计和连接,各功能模块的实现;最后对该软件进行了严格的测试。
关键词:信息管理;MIS;Delphi7.0;SQL server 2000The Design and Implementation of Personnel ManagementSystem based on DelphiAbstractAlong with the rapid development of the information science technology, people grad ually realize that the utilization of information management software could make the routine more convenient, quick and efficient. The paper discusses in detail the develo pment and design process of the external affair of headhunter company managemen t software. It uses Delphi 7.0 as the development platform, SQL Server 2000 as the database management system, and includes system management, information setup , staff information management, wage management, etc.. It can accord with the req uirement of personnel management, and can help the company enhance its work effi ciency.The paper is organized as following: Firstly, analyzes the background and significanc e; Secondly, introduces the development tools and the foundation of the technology; Thirdly, analyses the demand of the system, gives a specific design project and a da tabase model; Then shows the implementation of the whole system, which includes t he design and linkage of the database and the implementation of every module. Fina lly gives a test of the system.Key words: Information management; MIS;Delphi7.0; SQL server 2000论文总页数:28页1 引言................................................................1 1.1 背景...................................................................1 1.2意义...................................................................1 1.3研究思路...............................................................3 2 开发工具介绍........................................................3 2.1 开发工具的选择.........................................................3 2.2 Delphi 7.0 及 SQL Server 2000简介....................................4 2.2.1 Delphi 7.0简介....................................................4 2.2.2 SQL Server 2000简介...............................................5 3 需求分析及系统设计..................................................6 4系统的实现..........................................................7 4.1 数据库设计.............................................................7 4.2 各功能模块的实现......................................................11 4.2.1 数据模块设计.....................................................11 4.2.2 登录界面的设计....................................................13 4.2.3 新员工登记模块设计...............................................14 4.2.4 工资设置模块设计.................................................17 4.2.5 主窗体设计.......................................................19 4.2.6 员工信息浏览模块设计.............................................20 5 系统测试...........................................................22 5.1 测试环境..............................................................23 5.2 主要模块测试..........................................................23 5.2.1 登录界面测试......................................................23 5.2.2 所得税模块测试....................................................24 5.2.3 工资设置模块测试..................................................24 结论........................................................ .....25 参考文献.............................................................25 致谢............................................. ................27 声明. (28)1.1 背景对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;而工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
人员管理系统,员工管理系统(二)2024
人员管理系统,员工管理系统(二)引言概述:人员管理系统,即员工管理系统,是一种用于帮助组织管理员工信息、提高工作效率和协调人力资源的软件系统。
本文将从五个大点着重介绍人员管理系统的相关内容,包括员工信息管理、考勤管理、绩效评估、培训与发展以及数据分析。
正文内容:1. 员工信息管理1.1 整合员工基本信息,如姓名、职位、联系方式等。
1.2 管理员工的个人档案,包括入职、晋升、离职等记录。
1.3 提供员工信息的查询和导出功能,方便人力资源部门进行数据分析。
1.4 支持员工信息的批量导入和批量修改,减少繁琐操作。
2. 考勤管理2.1 记录员工的考勤情况,如迟到、早退和缺勤等。
2.2 自动计算员工的工作时长、加班时长和请假时长。
2.3 提供考勤报表和统计分析功能,帮助管理者监控员工的出勤情况。
2.4 支持考勤规则的定制,满足不同组织的考勤需求。
3. 绩效评估3.1 设定员工的绩效评估指标和权重,形成评估体系。
3.2 收集员工的工作表现和达成的目标,进行绩效评估。
3.3 提供绩效评估结果的统计和分析,辅助管理者做出决策。
3.4 支持员工与上级之间的绩效评估交流,促进工作改进和发展。
4. 培训与发展4.1 管理员工的培训需求和培训计划。
4.2 提供培训资源的管理和分配。
4.3 支持培训课程的在线学习和考核。
4.4 跟踪员工的培训记录和发展情况,为组织的人才储备提供参考。
5. 数据分析5.1 根据员工管理系统的数据,进行数据挖掘和分析。
5.2 分析员工的入职离职情况,探寻人才流失原因。
5.3 通过数据分析评估培训效果和绩效评估的准确性。
5.4 协助管理者制定人力资源决策,提升组织的整体绩效。
总结:人员管理系统是一种重要的工具,它能够帮助组织有效管理员工信息、提高工作效率,并对人力资源进行综合管理和优化。
通过员工信息管理、考勤管理、绩效评估、培训与发展以及数据分析等功能,人员管理系统能够帮助企业更好地管理和利用人力资源,提升组织的竞争力和持续发展能力。
员工管理系统
员工管理系统1·系统概述1·1 目的该员工管理系统旨在帮助企业管理和维护员工信息、工资、考勤和培训等相关管理任务。
1·2 范围本系统涵盖以下功能模块:●员工信息管理:记录员工个人信息,包括基本信息、职位等。
●工资管理:管理员工的薪资信息,包括工资核算、发放、扣款等。
●考勤管理:记录员工的考勤情况,包括迟到、请假、旷工等。
●培训管理:安排和跟踪员工的培训计划和培训成果。
2·用户角色及权限2·1 系统管理员拥有最高权限,包括系统设置、用户管理、数据备份等。
2·2 人事经理可对员工信息进行增删改查、工资管理、考勤管理、培训管理等操作。
2·3 普通员工仅具有查看自己的信息、申请请假等操作。
3·数据库设计为实现以上功能,系统将使用以下数据库表格:●员工表格:存储员工的个人信息。
●工资表格:存储员工的薪资信息。
●考勤表格:记录员工的考勤情况。
●培训表格:记录员工的培训计划和成果。
4·系统界面设计4·1 登录界面用户通过该界面输入用户名和密码进行登录。
4·2 员工信息管理界面该界面用于显示和管理员工的个人信息,包括查看、添加、修改和删除员工信息的功能。
4·3 工资管理界面该界面用于管理员工的薪资信息,包括工资核算、发放、扣款等操作。
4·4 考勤管理界面该界面用于记录员工的考勤情况,包括迟到、请假、旷工等。
4·5 培训管理界面该界面用于安排和跟踪员工的培训计划和培训成果。
5·系统部署及运行5·1 硬件要求●服务器:至少4核CPU,16GB内存,500GB硬盘空间。
●客户端:支持最新版本的浏览器。
5·2 软件要求●操作系统:Windows Server 2016/Linux。
●数据库:MySQL 8·0或以上。
●Web服务器:Apache Tomcat 9·0或以上。
公司员工管理系统(word文档良心出品)
郑州轻工业学院实训报告实训名称:公司员工管理系统设计`*名:***院(系):软件学院专业班级:信息安全07-03学号:27指导教师:郭峰王秉政成绩:时间:2009年12月31日至2010年1月3日郑州轻工业学院软件学院学生实训任务书一、题目“公司员工管理系统”设计二、学生信息专业信息安全07-03 学号 27 姓名宋伯剑三、基本要求及约束条件1.需求及内容为了方便对公司员工基本信息进行电子化管理,利用面向对象的程序设计技术实现对员工信息的自动化管理。
系统应能满足如下的需求:➢增加员工数据信息➢更新员工数据信息➢查询员工数据信息➢删除员工数据信息➢良好的人际交互界面➢方便操作2.难度分析及目标该课题涉及到面向对象程序设计技术,难度适中,工作量适中。
该次实训的总体目标是培养学生对系统开发总体流程的了解,经过本次实训,学生应能对系统开发的步骤和面向对象程序设计的思路有较好的理解和掌握。
3.要求及要点分析设计一个虚基类Staff(员工),包括编号、姓名和年龄保护数据成员以及相关的成员函数;由Staff派生出工程师类Engineer包含专业和职称保护数据成员以及相关的成员函数,再由Staff派生出领导类Leader,包括职务和部门保护数据成员以及相关的成员函数;然后由Engineer和Leader类派生出主任工程师类Chairman。
设计一个利用文件处理方式实现对公司人员(包括工程师、领导和主任工程师)进行管理,具有增加数据、更新数据、查询数据、删除数据以及重组文件的功能。
编写程序实现游戏,按照要求实现程序。
游戏程序运行输出如下所示:4. 设计要求、技术参数及设计规格1、设计的系统能够运行,提交压缩程序;2、提交实训报告,按“实训报告要求”撰写;3、程序设计环境为visual c++6.0和WindosXp或Windows2000;4、所有的设计工作需要同学自己真实地、独立地完成。
5.工作量四、考核形式、考核时间、考核指标及成绩评定实训成绩由下面构成:实训纪律、实训态度和平时表现占20%;实训结果占50%;实训报告占30%。
员工管理系统
关键字:The comprehensive personnel management system main goal is carries on the management and the maintenance through the computer to enterprise staff's each kind of information.
致 谢 41
附 录 42
附录1:文献 42
附录2:用户手册 44
摘要
综合人事管理系统主要目的是通过计算机对企业员工的各种信息进行管理和维护。
随着计算机的飞速发展,计算机在企业管理中应用的普及,利用计算机实现人事管理实在必行。对于大中型企业来说,利用计算机支持企业高效率完成人事管理的日常事物,是适应现代企业制度要求、推动企业人事管理走向科学化、规范化的必要条件。
1.2项目开发背景
管理信息系统是我们常说的MIS,在强调管理,强调信息的现代社会中它变的越来月普及。而将信息管理系统与企业自动化设备相结合。则是当今社会现代企业的发展趋势。通过这样的管理方式,企业管理人员、技术人员、统计人员等各部门员工就能从大量烦琐的资料和数据中解脱出来,只需要对自己需要的数据和内容进行必须的处理,而不用对每给环节都了如指掌。着在一定程度上能节省人力物力,同时也大大加强了对数据处理的及时性和准确性。
3.6数据字典 10
3.7需求注释 10
3.8结论 10
第四章 系统总体设计 11
4.1引言 11
4.2任务分配 11
企业员工管理系统
企业职工管理系统设计阐明书院系: 信息工程学院班级: 计科11网络普学号姓名:引言在人才过剩旳今天, 企业对于有用人才旳需求逐渐加大, 企业内部旳人事变动和部门规划也开始加速, 老式旳人事档案已经不能满足各个企业旳人员流动速度, 迫使人们起用新旳管理措施来管理员工旳有关信息。
科学技术日新月异旳进步, 让人类生活发生了巨大旳变化, 计算机技术旳飞速发展, 使各行各业在计算机技术应用方面得到了广泛旳普及和使用。
信息化时代旳到来成为不可抗拒旳时尚, 人类文明正在进入一种崭新旳时代。
因此, 员工管理系统也以以便、快捷、费用低、绿色环境保护旳长处正慢慢地进入各个行业和领域, 将老式旳员工管理方式彻底旳解脱出来, 提高效率, 减轻工人人员以往繁忙旳工作, 加速信息旳更新速度, 使企业管理层第一时间理解到员工旳信息, 从而深入旳进行对员工旳调配。
.同步, 为了适应现代企业或企业经营发展旳需要, 为提高企业工作效率、保证企业职工信息管理质量、快而精确地为企业制定好旳经营方针与决策, 我们有必要开发一种职工信息管理系统。
目录引言......................................................................... 错误!未定义书签。
一、需求分析 ........................................................ 错误!未定义书签。
1.1编写目旳 ................................................ 错误!未定义书签。
1.2背景 ........................................................ 错误!未定义书签。
1.3定义 ........................................................ 错误!未定义书签。
企业员工管理系统.doc
企业职工信息管理系统的设计与实现报告一.概述随着计算机技术、网络技术和信息技术的发展,越来越多地改善着现代人的观念。
网络办公自动化系统是计算机技术和网络迅速发展的一个办公应用解决方案,它的主要目的是实现信息交流和信息共享,提供协同工作的手段,提高办公的效率,让人们从繁琐的有纸办公中解脱出来。
现在我国的许多的机关单位的企业员工信息管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代,基于这种情况,我们实验小组研究开发了这套企业员工信息管理系统,希望这套系统能为小型公司的人事管理带来更多的方便。
本软件基于B/S模式, Tomcat6,mysql5,J2EE5环境, 利用MyEclipse完成J2EE的企业级技术开发,整合Hibernate3,struts2,spring三大框架完成的人事管理的系统.a) Hibernate完成数据库持久层的开发,使整个系统脱离了对底层数据库实现技术的依赖.b) struts2完成WEB层的开发,并利用其面向切面的拦截器技术完成权限验证等问题.c) Spring的IOC容器,利用其依赖注入,控制反转等特性,实现了业务逻辑层与WEB层的解耦,DAO,SERVICE,ACTION均通过spring管理其逻辑组件与相应的bean.二.需求分析1.功能需求:a) 实现员工的注册与登陆,并具有权限的分级.b) 新注册的员工并不安排在员工信息中,而是放入待审核一栏,等待管理员的审核,审核通过,分配其职位等信息,在此可以通过员工信息查询到该用户.c) 具有对公司职位的管理功能,并且完成此功能需要管理员的权限.d) 登陆的用户具有查询,浏览企业员工详细信息的权限,并且可以修改自己的详细信息一栏,如电话号码,登陆密码,年龄等权限,但不能修改自身的工作信息,如职位,状态,注册时间等.e) 管理员可以审核提交注册申请的注册用户,可以修改比自己权限级别低的员工的工作信息,分配其职务,状态,并可删除相应用户的信息.f) 可以通过员工姓名,职位,教育程度对员工进行模糊查询.2.模型图:a)数据库ER图b)用户操作模型图三.数据库逻辑设计1.数据库关系表2.基本表关系描述a)每个职员拥有个人信息表与工作信息表,其个人信息表与工作信息表是一对一关系,实现方式是利用hibernate的共享主键技术,即user_info的主键id并不是由数据库底层方式生成,而是依赖与work_info的主键id,其中work_info的主键由MySql的自动递增方式生成,每增加一名用户,先由数据库底层生成work_info的主键id,然后user_info根据已生成的work_info的id为自己的主键,实现了一对一关系,并在hibernate的支持下实现了级联更新与删除操作.b)每个员工的工作信息表与职位表是多对一关系,即工作信息表中position_id是position表的外键,一个职位可能存在多个员工.3.基本表源码a)user_info表CREATE TABLE `user_info` (`id` int(11) NOT NULL,`login_name` varchar(20) DEFAULT NULL,`pass_word` varchar(20) DEFAULT NULL,`true_name` varchar(20) DEFAULT NULL,`sex` varchar(10) DEFAULT NULL,`tel_num` varchar(20) DEFAULT NULL,`age` int(3) DEFAULT NULL,`marriage` varchar(10) DEFAULT NULL,`educational` varchar(20) DEFAULT NULL,PRIMARY KEY (`id`))b)work_info表CREATE TABLE `work_info` (`id` int(11) NOT NULL AUTO_INCREMENT,`position_id` int(11) DEFAULT NULL,`status` varchar(50) DEFAULT NULL,`create_time` datetime DEFAULT NULL,`authority` int(3) DEFAULT NULL,PRIMARY KEY (`id`),KEY `position_id` (`position_id`),CONSTRAINT `work_info_ibfk_5` FOREIGN KEY (`position_id`) REFERENCES `position`(`id`) ON DELETE SET NULL ON UPDATE SET NULL)c)position表CREATE TABLE `position` (`id` int(11) NOT NULL AUTO_INCREMENT,`pos_name` varchar(50) DEFAULT NULL,PRIMARY KEY (`id`))四.软件功能设计1.软件功能图a)在菱形表示的区域中,表示执行改操作需要的权限.b)在白底矩形方框中,表示执行此操作的用户.c)在蓝底矩形方框中,表示此操作的名称.d)在椭圆形中,表示执行当前操作所用到的STRUTS2中的ACTION,ACTION中调用相应的业务逻辑完成各种功能.e)在圆角矩形方框中,表示渲染当前操作的JSP界面,并可在JSP中通过不同的链接调用不同的ACTION.该功能图在大体上表示了该人事管理系统的主要逻辑功能,其中一些小的跳转如在提交表单,权限效验时等等失败过程所执行的操作在考虑到图形的复杂性上并没有完全给出,但可以在源程序中看出详细的流程.2.详细设计JavaBean模块,该模块主要定义了各个主要的JavaBean,完成对各供需要信息的封装,便于业务逻辑的实现.包含四个标准的JavaBean和三个hibernate的数据库映射表文件.PageModel是一个分页模型,它封装了每个页面记录的数量,当前数据在数据库中总的数据条数,当前页码,下一页,上一页页码,以及当前页面封装的List类型的数据,用户JSP 界面的迭代输出.//每个界面容纳记录数的上限private int pageSize;//当前页码private int nowPage;//总的页码private int totalPage;//上一页的页码private int previousPage;//下一页的页码private int nextPage;//封装此Bean的action名private String actionName;//当前页面的数据private List<UserInfo> userList;public PageModel(int nowPage, int pageSize, int totalRecord, List<UserInfo> userList) {this.totalPage = (totalRecord + pageSize - 1) / pageSize;this.nowPage = nowPage;this.pageSize = pageSize;erList = userList;//如果上一页比一小,则上一页还是一previousPage = (nowPage <= 1) ? (1) : (nowPage - 1);//如果下一个的页码大于总页码,则下一个页码还是总页码数nextPage = (nowPage >= totalPage) ? (totalPage) : (nowPage + 1);}下面的三个bean, Position封装了职位信息并通过Position.hbm.xml完成与数据库的映射; UserInfo封装了员工个人信息并通过UserInfo.hbm.xml完成与数据库的映射; WorkInfo封装了工作信息并通过WorkInfo.hbm.xml完成与数据库的映射.public class UserInfo {//idprivate int id;//登陆名private String loginName;//真实姓名private String trueName;//密码private String passWord;//性别private String sex;//年龄private int age;//电话号码private String telNum;//婚姻private String marriage;//学历private String educational;//一对一映射的工作信息private WorkInfo workInfo;public int getId() {return id;}public void setId(int id) {this.id = id;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getMarriage() {return marriage;}public void setMarriage(String marriage) { this.marriage = marriage;}public String getEducational() {return educational;}public void setEducational(String educational) { cational = educational;}public WorkInfo getWorkInfo() {return workInfo;}public void setWorkInfo(WorkInfo workInfo) { this.workInfo = workInfo;}public String getLoginName() {return loginName;}public void setLoginName(String loginName) { this.loginName = loginName;}public String getTrueName() {return trueName;}public void setTrueName(String trueName) {this.trueName = trueName;}public String getPassWord() {return passWord;}public void setPassWord(String passWord) {this.passWord = passWord;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getTelNum() {return telNum;}public void setTelNum(String telNum) {this.telNum = telNum;}public UserInfo() {}public UserInfo(int id , WorkInfo workInfo) {this.id = id;this.workInfo = workInfo;}}这里列出UserInfo的映射文件.<hibernate-mapping><class name="erInfo"table="user_info"catalog="personnel"><!—-由于与WorkInfo表是一一对应的,这里主键采用依赖WrokInfo主键的生成方式以实现一一对应 --><id name="id"type="ng.Integer"><column name="id"/><generator class="foreign"><param name="property">workInfo</param></generator></id><property name="loginName"type="ng.String" update="false"><column name="login_name"/></property><property name="passWord"type="ng.String"> <column name="pass_word"/></property><property name="trueName"type="ng.String"> <column name="true_name"/></property><property name="sex"type="ng.String"><column name="sex"/></property><property name="telNum"type="ng.String"> <column name="tel_num"/></property><property name="marriage"type="ng.String"> <column name="marriage"/></property><property name="educational"type="ng.String"> <column name="educational"/></property><property name="age"type="ng.Integer"><column name="age"/></property><!—-定义一对一映射 --><one-to-one name="workInfo"class="com.personnelmanagement.bean.WorkInfo"cascade="all"></one-to-one></class></hibernate-mapping>五.界面设计界面的结构图如图所示1.登陆界面主要通过Struts2的标签完成表单的生成以及简单的逻辑操作<s:form action="/common/loginAction.action">//如果用户名密码错误在这里显示<s:actionerror/><s:textfield name="loginName"label="用户名"></s:textfield><s:password name="passWord"label="密码"></s:password>//通过插入SESSION的ID防止表单重复提交<s:token/><s:submit label="submit"></s:submit></s:form>2.注册界面<s:form action="/common/registerAction.action"validate="true"> <s:textfield name="userInfo.loginName"label="用户名"></s:textfield><s:password name="userInfo.passWord"label="密码"></s:password><s:password name="passWord"label="重复密码"></s:password><s:textfield name="userInfo.trueName"label="真实姓名"></s:textfield><s:textfield name="userInfo.age"label="年龄"></s:textfield><s:textfield name="userInfo.telNum"label="电话号码"></s:textfield><s:select name="userInfo.sex"list="{'男性','女性'}"label="性别"></s:select><s:select name="userInfo.marriage"list="{'已婚','未婚'}" label="婚姻"></s:select><s:select label="学历"list="{'高中以下','高中','专科','本科','硕士','硕士以上'}"name="cational"></s:select><s:token/><s:submit label="submit"></s:submit></s:form>3.管理员权限与普通权限用户的操作界面//判断是否是管理员,是管理员则多出审核用户与职位管理操作,这里是属于客户端效验<s:if test="#session.loginUser.workInfo.authority == 10"><a href="/PersonnelManagement/admin/getAuditUserAction">审核用户</a><br><a href="/PersonnelManagement/admin/positionManageAction">职位管理</a><br></s:if><a href="/PersonnelManagement/user/getAllUserAction.action">员工浏览</a><br><a href="/PersonnelManagement/user/queryUserAction">员工查询</a><br><ahref="/PersonnelManagement/user/getUserInfoByIdAction.action?id=< %=id%>">个人管理</a><br><a href="/PersonnelManagement/common/logOutAction.action">注销登陆</a>4.用户详细信息的显示与修改界面5.用户列表的信息显示界面这里只有管理员才具有删除操作的显示,且也属于客户端验证,即使用户用直接输入网址的方式也不能越权完成操作,因为服务器端验证依然存在.6.职位管理界面在空白况中输入新的职位名称,并点击提交即可完成职位添加的操作,这里的职位是不可以重名的,如果重名会有提示.六.心得体会经过这次的实验我个人得到了不少的收获,一方面加深了我对课本理论的认识,另一方面也提高了实验操作能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【最新整理,下载后即可编辑】洛阳理工学院课程设计报告课程名称数据结构设计题目员工管理系统课程设计任务书设计题目:员工管理系统_________________________________________________________ 设计内容与要求:[问题描述]每个员工的信息包括:编号、姓名、性别、出生年月、学历、职务、电话、住址等。
系统能够完成员工信息的查询、更新、插入、删除、排序等功能。
[基本要求](1)排序:按不同关键字,对所有员工的信息进行排序。
(2)查询:按特定条件查找员工。
(3)更新:按编号对某个员工的某项信息进行修改。
(4)插入:加入新员工的信息。
(5)删除:按编号删除已离职的员工的信息。
课程设计评语成绩:指导教师:_______________年月日前言员工管理系统是一个工作单位不可缺少的管理工具,它管理的数据对于公司的决策者和管理者来说都至关重要,所以员工管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来各个公司基本上都是靠传统的人工方式来管理员工信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于信息的查找、更新和维护都带来了不少的困难。
当今社会,信息迅速膨胀,随着各个公司的规模增大,有关信息管理工作所涉及的数据量越来越大,员工信息量也大大增加,利用传统的手工查询、登记、修改等方法的处理速度远远跟不上公司的需求,有的公司不得不靠增加人力、物力来进行信息管理。
随着计算机技术的不断提高,计算机作为知识经济时代的产物,其强大的功能已为人们深刻认识,它已进入人类社会的各个行业和领域并发挥着越来越重要的作用,成为人们工作和生活中不可缺少的一部分。
而作为计算机应用的一部分,使用计算机对员工进行管理,具有手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高员工管理的效率,也是公司的科学化、正规化管理和与世界接轨的重要条件。
员工管理系统作为一种管理软件正在各公司中得到越来越广泛的应用,且已达到了良好效果。
需求分析员工信息管理系统是企业管理中的一个重要内容,随着时代的进步,企业也逐渐变得庞大起来。
如何管理好企业内部员工的信息,成为企业管理中的一个大问题。
在这种情况下,开发一个人力资源管理系统就显得非常必要现在,市场上可以选购的应用开发产品很多,流行的也有数十种。
在目前市场上这些众多的程序开发工具中,有些强调程序语言的弹性与执行效率;有些则偏重于可视化程序开发工具所带来的便利性与效率的得高,各有各的优点和特色,也满足了不同用户的需求。
然而,语言的弹性和工具的便利性是密不可分的,只强调程序语言的弹性,却没有便利的工具作配合,会使一些即使非常简单的界面处理动作,也会严重地浪费程序设计师的宝贵时间;相反,如果只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必需要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点失去了作用。
本系统结合公司实际的人事、制度,经过实际的需求分析,采用功能强大的Visual C++ 6.0作为开发工具而开发出来的管理系统。
整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,本管理系统具有如下功能:1、问题描述对单位的员工进行管理,包括插入、删除、查找、排序等功能。
2、要求员工对象包括姓名、性别、年龄、职位、工龄等信息。
(1)新增一名员工:将新增员工对象按姓名以字典方式员工管理文件中,基本信息中的编号是按照添加顺序自动增加的。
(2)删除一名员工:从员工管理文件中删除一名员工对象,分为根据编号删除、根据姓名删除。
(3)查询:从员工管理文件中查询符合某些条件(编号、姓名)的员工。
(4)修改:根据编号检索出对象,既可以对整个对象修改,也可对某个属性修改。
(5)排序:按照年龄、工龄对所有的员工排序(降序),也可以回复排序以前的员工现实状态。
3、实现提示员工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。
(1)当启动程序是,自动从文件(message.txt)中读出员工信息(2)由键盘输入员工对象存入链表当中。
(3)对员工对象中的"编号、年龄、工龄"按字典顺序进行排序。
(4)对排序后的员工对象进行增、删、查询、修改、排序等操作。
(5)当退出程序时,将此刻单链表中存储的数据写入到文件(message.txt)中去,保存起来。
概要设计(一)数据类型定义:typedef struct{int num; //编号char name[MAX_NUM];//姓名int age; //年龄char job[MAX_NUM];//职位;int workTime;// 工龄}People;ypedef struct node{People people;struct node * next;int len;//表示链表长度}linklist;(二)流程图:(图1)(三)各程序模块之间的层次图:(图2)详细设计1、主菜单模块:显示员工管理系统的主菜单,供用户选择所需的功能,通过自己定义的void main()函数来实现。
2、添加员工模块:输入员工的编号、姓名、年龄、职位、工龄以,通过自己定义的void addMessage()函数来实现。
3、查询员工信息模块:浏览所有员工的相关信息,通过自己定义的void searchPeople()函数来实现。
(1)按员工姓名查询:可以按员工工号来查询员工的相关信息,通过自己定义的void searchPeopleByName( )函数来实现。
(2)按员工编号查询:可以按员工职务来查询员工的相关信息,通过自己定义的void searchPeopleByNum( )函数来实现。
(3)退出。
4、删除员工模块:删除需要删除的员工的所有信息,通过自己定义的void deletePeople( )函数来实现。
(1)按员工姓名删除模块:可以按员工工号来删除员工的相关信息,通过自己定义的void deletePeopleByName( )函数来实现。
(2)按员工编号删除模块:可以按员工编号删除员工的相关信息,通过自己定义void deletePeopleByNum( )函数来实现。
(3)退出5、修改模块:可以修改需要修改的员工的相关信息,通过自己定义的void editMessage()函数来实现。
(1)修改整条记录,可以修改该员工的全部信息,通过自己定义的void editAll()函数来实现。
(2)修改部分记录,可以修改该员工的部分信息,通过自己定义的void editSome()函数来实现。
(3)退出。
6、员工信息排序模块:可以按照规定要求对员工信息排序,通过自己定义的void sort()函数来实现。
(1)按年龄排序:可以按员工工号对员工信息排序,通过自己定义的void sortByAge()函数来。
(2)按工龄排序:可以按员工工龄对员工信息排序,通过自己定义的void sortByWorkTime()函数来实现。
(3)回复原排序:可以回复排序前的顺序,通过自己定义的void sortByNum ()函数来实现。
(4)退出。
7、退出系统模块:退出员工信息管理系统,通exit(0)函数来实现。
函数调用图:(图3)测试结果(一)当操作人员运行程序时,弹出的DOS界面如下:(二)根据提示语,输入1,添加员工信息,操作如下界面:(三)在主菜单输入2,进入输出员工功能,操作如下:添加员工、展示所有员工信息功能实现。
(四)在主菜单输入3,查询员工信息按编号查询,测试如下:按姓名查询,测试如下:以上查询功能测试功能。
(五)在主菜单,输入4,删除员工功能:按编号删除,测试如下:按姓名删除如下:以上测试完成。
(六)在主菜单输入5,进入修改信息功能:(七)在主菜单输入6,进入排序功能:按年龄排序,测试如下:按工龄排序相同操作,测试成功。
回复排序,回复到未排序状态,测试成功。
(八)退出,将所有的员工信息写入message.txt 文件中,实现永久保存。
退出系统,测试完成。
总结在本系统的开发过程中由于时间也比较仓促、准备不充分,系统必然会存在一些缺陷和不足。
对员工信息管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。
课程设计中我们遇到很多问题。
我们在开发时,我们查阅了许多资料,了解到即是对员工的编号号,姓名,年龄,工龄等复杂多样的信息,能够较清晰,快捷而操作方便的现代化管理系统。
弄清了这个基本概念以后,我们又详细理解了老师所讲的设计要求和注意事项,大致确定了总体的设计思路,初步提出问题的解决方案,以及系统大致设计方案和框架,接下来我们就着手编程。
在编程过程中,先是根据系统所要求,找出所需要知识点。
编完程序,我们在机房进行了一次又一次的调试,找出了其中的错误,一一纠正,并且修改了其中不太完善的部分,力求做到实用并且精确尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。
通过开发这个系统,我组掌握了的项目基本开发过程,用到的知识巩固了我对C语言的学习,但在这次设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法。
通过本次课程设计,我们对数据结构知识掌握了很多,并能将它用以程序编写中,并且提高了自己的解决实际问题的能力。
-----------------------------------------------------------附录:源代码#include"stdio.h"#include"stdlib.h"#include "string.h"#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define OVERFLOW -2typedef struct LNode{char id[20];char name[10];char sex[10];char birth[10];char edu[10];char duty[10];char phone[20];char address[30];struct LNode *next;}LNode,*Linklist;//定义节点类型int CreatList(Linklist &L){Linklist p;p=(Linklist)malloc(sizeof(LNode));if(!p){return (0);}else{printf("请输入员工编号\n");scanf("%s",p->id);printf("请输入员工姓名\n");scanf("%s",p->name);printf("请输入员工性别\n");scanf("%s",p->sex);printf("请输入员工生日\n");scanf("%s",p->birth);printf("请输入员工学历\n");scanf("%s",p->edu);printf("请输入员工职务\n");scanf("%s",p->duty);printf("请输入员工电话\n");scanf("%s",p->phone);printf("请输入员工地址\n");scanf("%s",p->address);}p->next=L->next;L->next=p;}//头插法生成单链表int Initlist(Linklist &L){L=(Linklist)malloc(sizeof(LNode));if(!L)return (0);L->next=NULL;return OK;}//初始化单链表void Display(Linklist &L){Linklist p;for(p=L->next;p;p=p->next){printf("编号%s\n",p->id);printf("姓名%s\n",p->name);printf("性别%s\n",p->sex);printf("生日%s\n",p->birth);printf("学历%s\n",p->edu);printf("职务%s\n",p->duty);printf("电话%s\n",p->phone);printf("地址%s\n",p->address);printf("============================\n");}}//显示所有员工信息int SearchID(Linklist &L,char id[20]){LNode *p;p=L;while(p){if(strcmp(p->id,id)==0){printf("编号%s\n",p->id);printf("姓名%s\n",p->name);printf("性别%s\n",p->sex);printf("生日%s\n",p->birth);printf("学历%s\n",p->edu);printf("职务%s\n",p->duty);printf("电话%s\n",p->phone);printf("地址%s\n",p->address);}p=p->next;}return OK;}//ID查询int SearchName(Linklist &L,char name[10]) {LNode *p;p=L;while(p){if(strcmp(p->name,name)==0){printf("编号%s\n",p->id);printf("姓名%s\n",p->name);printf("性别%s\n",p->sex);printf("生日%s\n",p->birth);printf("学历%s\n",p->edu);printf("职务%s\n",p->duty);printf("电话%s\n",p->phone);printf("地址%s\n",p->address);}p=p->next;}return OK;}//姓名查询void SortID(Linklist &L ,char id[20]){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULL;while(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->id,q->id ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q ;}L=La;Display(L);}//编号排序void SortName(Linklist &L ,char name[10]){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULL;while(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->name,q->name ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q ;}L=La;Display(L);}//姓名排序void SortSex(Linklist &L ,char sex[10]){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULL;while(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->sex,q->sex))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q ;}L=La;Display(L);}//性别排序void SortBirth(Linklist &L ,char birth[10]){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULLwhile(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->birth,q->birth ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q ;}L=La;Display(L);}//出生年月排序void SortEdu(Linklist &L ,char edu[10]){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULL;while(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->edu,q->edu ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q}L=La;Display(L);}//学历排序void SortDuty(Linklist &L ,char duty[10]){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULL;while(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->duty,q->duty ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q ;}L=La;Display(L);}//职务排序void SortPhone(Linklist &L ,char phone[20]){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULL;while(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->phone,q->phone ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q}L=La;Display(L);}//电话排序void SortAddress(Linklist &L ,char address[30]){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULL;while(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->address,q->address ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q ;}L=La;Display(L);}//地址排序int Alter(Linklist &L,char id[20]){LNode *p;p=L;while(p){if(strcmp(p->id,id)==0){printf("请输入员工编号\n");scanf("%s",p->id);printf("请输入员工姓名\n");scanf("%s",p->name);printf("请输入员工性别\n");scanf("%s",p->sex);printf("请输入员工生日\n");scanf("%s",p->birth);printf("请输入员工学历\n");scanf("%s",p->edu);printf("请输入员工职务\n");scanf("%s",p->duty);printf("请输入员工电话\n");scanf("%s",p->phone);printf("请输入员工地址\n");scanf("%s",p->address);}p=p->next;}return OK;}//更改int Del(Linklist &L,char id[20]){LNode *p;LNode *r;p=L->next;r=L;while(!(strcmp(p->id,id)==0)&&p){r=p;p=p->next;}if(!p)printf("\n删除位置不合理\n");else{r->next=p->next;free(p);printf("删除成功\n");}return OK;}//按ID删除//主函数void main(){Linklist L;int a;char m;char name[10];char id[20];char sex[10];char birth[10];char edu[10];char duty[10];char phone[20];char address[30];Initlist(L);int y;int x=1;while(x){printf("=========================\n");printf("欢迎进入员工管理系统!\n");printf("=========================\n");printf("1-添加员工信息\n");printf("2-查询员工信息\n");printf("3-排序员工信息\n");printf("4-显示所有员工信息\n");printf("5-更改员工信息\n");printf("6-删除员工信息\n");printf("7-退出\n");printf("请选择操作序号并按回车:");scanf("%d",&y);switch(y){case 1: CreatList(L);do{printf("是否继续输入?(y/n)");getchar();scanf("%c",&m);if(m=='y'){CreatList(L);}}while(m!='n');break;case 2: printf("请输入查询方式(1按编号查询,2按姓名查找)");scanf("%d",&a);if(a==1){printf("请输入查询员工编号\n");scanf("%s",&id);SearchID(L,id);}if(a==2){printf("请输入查询员工姓名\n");scanf("%s",&name);SearchName(L,name);}break;case 3: printf("请选择排序条件:1.编号2.姓名3.性别4.出生年月5.学历6.职务7.电话8.地址0.退出\n");scanf("%d",&a);if(a==1){printf("编号排序\n");SortID(L,id);}if(a==2){printf("姓名排序\n");SortName(L,name);}if(a==3){printf("性别排序\n");SortSex(L,sex);}if(a==4){printf("出生年月排序\n");SortBirth(L, birth);}if(a==5){printf("姓名排序\n");SortDuty(L,duty);}if(a==6){printf("姓名排序\n");SortEdu(L,edu);}if(a==7){printf("姓名排序\n");SortPhone(L,phone);}if(a==8){printf("姓名排序\n");SortAddress(L,address);}breakcase 4: printf("所有员工信息如下所示\n");Display(L);break;case 5: printf("请输入更改员工编号");getchar();scanf("%s",&id);Alter(L,id);break;case 6: printf("请输入删除员工编号");getchar();scanf("%s",&id);Del(L,id);break;case 7: x=0;break;default:printf("请输入正确序号!\n");break;}}}。