员工信息管理系统(数据结构)
c语言职工信息管理系统设计
c语言职工信息管理系统设计C语言职工信息管理系统是一种方便、高效的职工信息管理工具,设计该系统主要是为了提高人力资源管理效率,减轻人事部门的工作量。
下面将从系统设计流程,系统功能和系统操作流程三个方面来详细介绍该系统的设计。
一、系统设计流程1.需求分析:系统的需求分析是设计中非常关键的一步,必须充分考虑到职工管理的基本需求和功能要求,以适应各种企业规模和管理水平的要求。
系统需要提供职工个人信息和考勤、绩效管理查询和修改、新员工入职登记等基本功能。
2.系统设计:系统需要根据需求来设计相应的数据结构和数据库。
需要设计合适的数据表,包括职工基本信息表、考勤记录表、工资记录表等。
3.系统实现:实现系统的功能,包括录入人员信息、修改人员信息、考勤登记、绩效考评、新员工入职登记等操作。
4.系统维护:制定系统的维护计划,保证系统正常、稳定的运行。
二、系统功能1.基本信息管理:包括职工基本信息的录入和修改,如姓名、性别、出生年月、联系方式等。
2.考勤管理:包括考勤记录的登记和查询,如请假、加班、迟到、早退等记录。
3.工资管理:包括工资记录的录入和查询,能够根据考勤和绩效等因素计算职工应发工资和实际发放工资。
4.绩效管理:包括绩效考核的记录和查询,能够根据职工绩效考核记录、已发工资等因素,生成人员绩效考核报表。
三、系统操作流程1.登录系统:用户登录系统,输入用户名和密码。
2.菜单:系统进入主菜单,包括基本信息管理、考勤管理、工资管理、绩效管理、系统设置等功能。
3.信息录入:在基本信息管理中,根据职工基本信息表的格式,输入职工的个人信息。
4.考勤登记:在考勤管理中,根据考勤记录表的格式,输入职工的考勤记录,包括请假、加班、迟到、早退等情况。
5.工资录入:在工资管理中,根据工资记录表的格式,输入职工的实际工资和应发工资情况。
6.绩效评估:在绩效管理中,根据绩效考核表的格式,输入职工绩效考核情况,系统将自动生成用于绩效考评的报表。
企业员工信息管理系统【范本模板】
本科毕业设计说明书企业员工信息管理系统的设计与实现EMPLOYEE INFORMATION MANAGEMENT SYSTEM DESIGN AND IMPLEMENTATION学院(部):专业班级:学生姓名:指导教师:2012年5月25日企业员工信息管理系统的设计与实现摘要现今互联网发展越来越迅速,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选.因此在信息化科技飞速发展的今天,借助于电脑,通过员工信息管理系统管理各部门职工,能为企业人力资源的管理者提供人性化的服务。
同时也能为企业的员工提供一定的方便。
本系统具有多方面特点:系统功能完备,用户使用方便简捷,人性化的用户界面,安全保密设置齐全,大大减少了操作人员和用户的工作负担,提高了企业员工信息管理的工作效率和企业的信息化的水平.本论文从员工信息管理系统的初步调查开始,详细介绍员工信息管系统的需求分析和数据流程分析,并进行了系统总体结构设计、数据结构和数据库设计、输入输出设计等。
关键词:J2EE,Mysql,struts2,企业员工信息管理EMPLOYEE INFORMATION MANAGEMENT SYSTEMDESIGN AND IMPLEMENTATIONABSTRACTNowadays, the Internet development is fast, bringing people's work and life tremendous convenience with efficiently.Therefore,the rapid development of technology of information technology today, through the use of computers,employee information management system to manage the various departments and workers,to provide personalized service for corporate human resources managers.Also provides a convenience for the employees of the enterprise。
基于BS模式的员工信息管理系统_毕业设计论文
学院本科毕业设计(论文)题目基于B/S模式的员工信息管理系统计算机科学与工程院(系)计算机科学与技术专业摘要本系统采用的是B/S开发模式,开发环境采用Microsoft Visual Studio 2005,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一功能方便而简洁操纵数据库的智能化对象,对于数据库采用SQL Server2005,它的功能一体化,高度非过程化,语言简洁,易学易用,统一的语法结构对待不同的工作方式,还有面向集合的操作方式,再加上视图数据结构,使最终用户和程序设计人员之间的通信得到很大的改善,高度的数据独立性和安全性。
关键词:员工信息管理;B/S模式;SQL Server2005AbstractThis system USES is B/S mode, the development environment using Microsoft Visual Studio, using its 2005 of object-oriented development tools, especially data window this function is concise and manipulation of data objects, for using intelligent Server2005 SQL database, its function integration, the process, concise and easy to use, language syntax structure of unified treat way of working, and facing the operation mode, the collection of data structures, plus the view that end users and software design of communication between the personnel have greatly improved, the height data independence and security.Key words:Personnel management;B/S mode;Server2005 SQL目录第1章绪论 (1)1.1 问题的提出 (1)1.2 管理信息系统的发展历史 (1)1.3 公司员工信息管理系统的作用 (3)1.4 公司员工信息管理信息系统发展现状 (3)1.5 国内公司员工信息管理系统存在的问题 (4)第2章可行性分析 (5)2.1业务流程图 (5)2.2经济可行性 (5)2.3技术可行性 (6)2.4 行可行性 (8)2.5 时间可行性 (8)2.6 律可行性 (8)2.7 章小结 (8)第3章需求分析 (9)3.1系统需求 (9)3.1.1数据流图 (10)3.1.2数据字典 (10)3.2 性能需求 (14)3.3 应用需求分析 (15)3.4 运行需求分析 (15)3.5 其他需求分析 (15)3.6本章小结 (15)第4章系统设计 (16)4.1 主要内容 (16)4.2 总体功能需求 (16)4.3 数据库设计 (17)4.3.1 数据库设计概述 (17)4.3.2 数据分析 (17)4.3.3 数据库详细设计 (17)4.4 具体系统功能需求描述 (23)4.4.1 员工基本情况管理 (23)4.4.2 员工信息查询 (23)4.4.3 系统维护 (23)4.5本章小结 (23)第5章详细设计 (24)5.1系统开发及运行平台设置 (24)5.1.1 硬件环境 (24)5.1.2 软件环境 (24)5.2 开发工具简介 (25)5.2.1 简介 (25)5.2.2 SQL Server简介 (26)5.3系统主界面设计 (26)5.4基本功能设置 (27)5.4.1员工信息管理 (27)5.4.2部门管理 (29)5.4.3考勤管理 (30)5.4.4员工工资管理 (31)5.4.5查询管理 (33)5.4.6系统管理 (34)5.5 本章小结 (36)第6章系统调试与测试 (37)6.1 程序调试 (37)6.2 程序的测试 (37)6.2.1 测试的重要性及目的 (37)6.2.2 测试的步骤 (38)6.2.3 测试的主要内容 (38)6.2.4测试的执行情况 (39)6.3本章小结 (43)结束语 (44)致谢 (45)参考文献 (46)附录1 (47)附录2 (52)学院2012届本科生毕业设计(论文)第1章绪论1.1 问题的提出公司员工信息管理系统是一个公司单位不可缺少的部分,它的内容对于公司的决策者和管理者来说都至关重要,所以公司员工信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
人员信息管理 数据库表设计
人员信息管理数据库表设计
人员信息管理数据库表设计需要根据具体需求进行设计。
一般来说,人员信息管理系统需要存储以下信息:
1.基本信息:姓名、性别、出生日期、身份证号、联系方式、家庭住址等。
2.工作信息:职位、部门、入职日期、离职日期等。
3.教育信息:学历、学校、专业、毕业日期等。
4.技能信息:技能名称、技能等级等。
5.奖惩信息:奖励名称、奖励日期、奖励等级等。
根据这些信息,可以设计以下数据库表:
人员表
●人员编号:唯一标识人员的编号。
●姓名:人员的姓名。
●性别:人员的性别。
●出生日期:人员的出生日期。
●身份证号:人员的身份证号。
●联系方式:人员的联系方式。
●家庭住址:人员的家庭住址。
工作表
●人员编号:人员的编号。
●职位:人员的职位。
●部门:人员所属的部门。
●入职日期:人员入职的日期。
●离职日期:人员离职的日期。
教育表
●人员编号:人员的编号。
●学历:人员的学历。
●学校:人员毕业的学校。
●专业:人员的专业。
●毕业日期:人员毕业的日期。
技能表
●人员编号:人员的编号。
●技能名称:技能的名称。
●技能等级:技能的等级。
奖惩表
●人员编号:人员的编号。
●奖励名称:奖励的名称。
●奖励日期:奖励的日期。
●奖励等级:奖励的等级。
职工信息管理系统
1 绪论1.1 课题背景及目的公司的扩张和人员的变动都需要处理相应职工的信息,凭借人力很难用最短的时间整理出需要的职工信息。
运用计算机系统对职工档案进行管理,能够提高管理效率、节约时间、方便管理人员管理信息。
因此需要设计一个职工信息管理系统,系统以菜单的方式工作,可以录入、查询、删除等。
职工的信息包括工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不可重复),使查询职工信息变得又快又简单。
1.2课题的研究方法本系统主要的设计思想是实现对职工信息的录入、删除、排序、查询等主要功能。
职工信息以文件的形式存储,这要用到文件存储数据结构。
数据结构的构造类型包括结构体变量、结构体数组、结构体指针等。
基本类型有整形字符型,其中字符型用来定义职工编号、姓名、工资、电话、地址等。
一维数组struct worker work[]用于定义员工的总人数,结构体struct worker用于存放员工的资料。
系统的人机接口采用简单的字符界面进行交互。
系统的设计方法是结构化设计方法,采用C语言进行开发。
软件开发平台采用Visual C++6.0。
[1]第1页 /共 30页2 概要设计2.1软件模块结构图职工信息管理系统可以分为显示员工资料、录入员工资料、查询员工信息、删除员工信息、对员工信息进行排序、退出信息系统。
图2.1 职工信息管理系统模块结构图第2页 /共 30页3 详细设计3.1数据结构设计定义一维数组struct worker work[50];用于定义员工的总人数,当员工总人数超过50后便不能再录入员工资料。
[1]结构体struct worker用于存放存放员工的资料,包括员工的基本信息:工号,姓名,年龄,学历,工资,住址,电话号码。
struct worker{int num; 工号char name[15]; 名字char xingbie; 性别int age; 年龄char exp[6]; 学历int wage; 工资char address[20]; 住址char tel[12]; 电话号码};int count=0; 当前工人个数int sort_type=0; 当前排序类型第3页 /共 30页3.2界面设计3.2.1 登录主界面设置用户名和密码,输入正确方可进入主界面。
谈谈中小企业员工信息管理系统设计
眉圆
应 用开 发工具 。客 户端 软 件在 w i w ndo s 数据 库 系统 除 外 ) ,并提 供 两 级映 像 功能 。 9/8 5 9 、W i d ws n o Me 以 及 W i d ws o 0 n o 2 0/ 三 级 模 式结 构是 指 数 据 库 系统 是 由外 XP 下 均可安 装 使用 。 模 式 、 模式 和 内 模式 三级 构成 , ( ) 系 统 功 能 分 析 四 ( )数 据 库 设 计 三 本 例 中的 人 事 管 理 系统 需 要 完 成 如 下 员工信 息管 理 系 统 是一 个 数 据 库 应用 功能: 系 统 , 员工 的所 有 信 息 都 是 保存 在 数 据 库 员工 各 种 信 息 的输 入 , 员 工信 息 的 修 中 。在 数据 库 应 用 系 统 的 开 发过 程 中 ,结 改 、 删 除 ,按 照某 种 条件 查 询 ,排 序 构 设 计 是一 个非 常重 要 的 问题 。我 们 这 里 ( ) 系 统 功 能 模 块 设 计 五 所 说 的 数据 库 结 构 设 计 是 指 数据 库 中 各个 在 系 统 功 能 分 析 的 基 础 上 , 考 虑 表 结 构 的 实 际 ,包 括 信 息保 存 在 哪 些 表格 P we B i e 程序 编制的特点 ,得到如图 中 ,各 个 表 的结 构 如 何 。 o r u1 r d 所示的功能模块 图。 数 据 库 结 构设 计 的好 坏 将直 接 对 应 用 系 统 的效 率 以及 实 现 的效 果 产 生 影 响 ,好 的 数 据 库 结 构 设 计 会 减 少 数 据 库 的 存 储 量 ,数据 的完 整 性 和一 致 性 比 较 高 , 系统 具 有较 快 的 响 应 速 度 , 简化 基 于 此 数据 库 的应用程序的实现等 。 三 、数 据 库 需 求 分 析 数 据 库结 构设 计的 第一 个 阶 段 ,也 是 非 常 重 要 的 一 个 阶 段 是 数据 库 需 求 分 析 。 在 这 个 阶 段 主 要是 收 集 基 本 数据 以 及 数据 处 理 的 流 程 , 为 以 后 进 一 步 设 计 打 下 基 础 。需 求分 析 主 要 解 决 两 个 问 题 : 二 基 本 理 论 内容 要求 :调查应 用系统 用户所 需要操 ( ) 模 型 分 析 一 作 的 数据 ,决 定在 数据 库 中存 储什 么 数据 。 数 据 库 是 某 个企 业 、组 织 或 部 门 所 设 处 理 要 求 :调查 应 用 系 统 用 户 要 求对 计 的数 据 的 一 个 综 合 ,它 不仅 要 反 映 数据 数 据 进 行 什 么样 的 处 理 ,理 清数 据 库 中各 本 身 的 内容 ,而 且 要反 映数 据 之 间的联 系 。 种 数 据 之 间 的关 系 。 在 数据 库 中 用 数 据 模 型 这 个 工 具 来 抽 象 、 解决 这 两 个 问题 的 时 候 ,程 序 编制 人 表 示 和处 理 现 实 世 界 中的 数 据和 信 息 。 员需 要想 应 用 系 统 用 户详 细 调 查 ,保 证信 数 据模 型 有不 同的 类 型 :概 念 模 型和 息 收集 的完 整 性 。 否 则 有可 能 后 面所 有 的 数 据 模 型 。 概 念模 型是 现 实 世 界 到信 息 世 工 作 都 白 费 。 界 的 第 一 层 抽 象 , 建立 的概 念 模 型 有 层次 在 数 据 库 需 求分 析 后 ,应 该得 到 一 个 模 型 、 网 状模 型 、关 系 模 型 和 面 向对 象 模 数据 字 典 文档 ,包 括 3 方 面 内容 。 型 。 数据 项 :包括 名称 、含义 、类 型 、取 值 对于 本 人 事 管 理 系 统 , 它要 反映 的 现 范 围 、长 度 以 及和 其 他 数据 项 之 间的 逻 辑 实世 界的对 象是 人 ,给定一 组有关 “ ”的 关 系 。 人 属性 , 一 个特 定 的 人 将 对应 一 组 特 定 的 属 数 据 结 构 :若 干 个数 据 项 的 有 意 义 的 性 值 ,这 与 关 系 模 型 的 逻 辑 结 构 一 直 。 集 合 ,包 括 名称 、含 义 以 及组 成 数 据 结 构 ( )数 据 库 系 统 的 模 式 结 构 分 析 的 数 据 项 。 二 模 式 是 数 据库 中全 体 数 据 的逻 辑 结 构 数据 流 : 数据 库 中数 据的 处理 过程 , 指 和特征 的描 述 ,它不设 计具 体的值 。体 系机 包 括 输 入 、处 理 和输 出 。 构 卜 常 都 采 用 三 级模 式 结 构 ( 别 小 型 通 个
C语言课程设计报告:职工信息管理系统程序设计
1.课程论文题目职工信息管理系统程序设计一、题目要求职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能:(1)系统以菜单的方式工作。
(2)职工信息录入功能(职工信息用文件保存)。
(3)职工浏览功能。
(4)职工信息查询功能,查询方式可按学历查询或者工号查询。
(5)职工信息的删除、修改功能(可选项)。
2.程序设计思路1、设计思路(1)根据题目要求,应该把职工工资信息用结构体形式输入,在定义一个全局变量和文件指针进行整个程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;(2)在程序中需实现职工工资浏览、查询、统计等功能的操作,所以需要建立相应的功能模块来实现;(3)另外还需要提供键盘式选择菜单实现功能,在运行时达到所要的目的。
3.功能模块图5.算法设计1.主函数提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择。
2浏览模块【分析】该模块的功能是浏览职工的全部信息3排序模块4查询模块【分析】该模块的功能是根据输入的职工按照工号和学历查找对应的记录,找到以后,可进行继续查找或修改信息的操作。
流程图如下:5修改模块【分析】该模块的功能是显示所有职工的信息,考虑到记录较多,建议采用分屏显示。
显示完所有记录后,输入要修改的职工的工号,根据工号查到职工的记录,并提示用户修改该记录的哪部分信息,根据用户做的选择修改相应信息。
流程图如下:6.程序代码#include<stdio.h>#define N 50struct worker{char id[50];char name[20];char sex[10];char age[10];char edu[20];char salary[10];char address[20];char tel[20];}worker[N];void save(int n) //保存函数,保存n个记录{ FILE *fp;int i;if((fp=fopen("worker.txt","wb"))==NULL) //以只写方式为输出打开一个二进制文件{ printf("\nCannot open file\n");}for(i=0;i<n;i++)if(fwrite(&worker[i],sizeof(struct worker),1,fp)!=1)printf("file write error\n");fclose(fp);}int load() //加载函数{ FILE *fp;int i;if((fp=fopen("worker.txt","rb"))==NULL){printf("\nCannot open file\n");return NULL;}for(i=0;!feof(fp);i++)fread(&worker[i],sizeof(struct worker),1,fp);fclose(fp);return(i-1);}void no_input(int i,int n) //工号输入函数,i表示第i个职工的信息,n 表示比较到第n个职工{ int j,k,w1;do{w1=0;printf("工号:");scanf("%s",worker[i].id);for(j=0;worker[i].id[j]!='\0';j++)if(worker[i].id[j]<'0'||worker[i].id[j]>'9') //判断工号是否为数字{puts("请重新输入!\n");w1=1;break;}if(w1!=1)for(k=0;k<n;k++) //比较到第N个职工if(k!=i&&strcmp(worker[k].id,worker[i].id)==0) //判断职工号是否有雷同{puts("请重新输入!\n");w1=1;break;}}while(w1==1);}void input(int i) //输入一个记录的函数{ no_input(i,i);printf("姓名:");scanf("%s",worker[i].name);printf("性别:");scanf(" %s",&worker[i].sex);printf("年龄:");scanf("%s",&worker[i].age);printf("工资:");scanf("%s",worker[i].salary);printf("学历:");scanf("%s",&worker[i].edu);printf("住址:");scanf("%s",worker[i].address);printf("电话:");scanf("%s",worker[i].tel);}void printf_one(int i) //显示一个记录的函数{printf("%10s %10s %5s %5s %8s %6s %10s %10s\n",worker[i].id,worker[i].name,worker[i].sex,worker[i].age,worker[i].salary,worker[i].edu,worker[i].address,worker[i].tel); }void printf_back() //一个任务结束后选择是好似浏览还是返回{ int k,w;printf("\n\n\tSuccessful^-^.\n\n");printf("接下来做什么?\n\n\t1).浏览全部\t2).返回: [ ]\b\b");scanf("%d",&w);if(w==1)browse();else menu();}modify_data(int i,int n) //修改函数{ int c,w1;do{puts("\nmodify by=>\n\n 1).工号 2).姓名 3).性别 4).年龄 5).工资6).学历 7).地址 8).电话 9).取消");printf("请选择?:[ ]\b\b");scanf("%d",&c);if(c>9||c<1){puts("\nChoice error!please again!");getchar();}}while(c>9||c<1);do{switch(c){case 1:no_input(i,n);break;case 2:printf("name:");scanf("%s",worker[i].name);break;case 3:printf("sex:");scanf("%s",worker[i].sex);break;case 4:printf("age:");scanf("%s",worker[i].age);break;case 5:printf("salary:");scanf("%s",worker[i].salary);break;case 6:printf("edu:");scanf("%s",worker[i].edu);break;case 7:printf("address:");scanf("%s",worker[i].address);break;case 8:printf("tel:");scanf("%s",worker[i].tel);break;case 9:menu();break;}puts("\nNow:\n");printf_face();printf_one(i);printf("\n确定?\n\n\t1).是2).否,重新修改3).不保存退出[ ]\b\b");scanf("%d",&w1);if(w1==1)save(n);}while(w1==2);return(w1);}printf_face() //显示数据结构项目{ printf("\n\t工号姓名性别年龄工资学历地址电话号码\n"); }void enter() //输入模块{ int i,n;printf("输入多少个职工信息(0-%d):",N-1);scanf("%d",&n);printf("\n 请输入职工信息\n\n");for(i=0;i<n;i++)input(i);if(i!=0)save(n);printf_back();}browse() //浏览模块{ int i,j,n;n=load();printf_face();for(i=0;i<n;i++){if((i!=0)&&(i%10==0)){printf("\n\n按任意键显示下一页...");getch();puts("\n\n");}printf_one(i);}printf("\t这里有 %d 条记录.\n",n);printf("\n按任意键返回...");getch();menu();}modify() //修改模块{struct worker s;FILE *fp;int i,n,k,w0=1,w1,w2=0;n=load();do{k=-1;printf_face();for(i=0;i<n;i++){if((i!=0)&&(i%10==0)) //目的是分屏显示{printf("\n\n记住要修改的工号.按任意键显示下一页");getch();puts("\n\n");}printf_one(i); //调用显示一个记录的函数}do{printf("\n\n输入要修改的职工工号! 工号:");scanf("%s",s.id); //输入要修改的IDfor(i=0;i<n;i++) //查找要修改的数据if(strcmp(s.id,worker[i].id)==0){k=i; //找到要修改的记录s=worker[i]; //把worker[i]备份,以便恢复}if(k==-1)printf("\n\n未找到请重输");}while(k==-1); //当k=-1表示没有找到printf_face(); //调用显示数据结构项目的函数printf_one(k); //调用显示一个记录的函数w1=modify_data(k,n); //修改记录并返回保存控制值w1,w1=1表示用户已确认修改if(w1==1){printf("\Successful^_^.\n\n修改另一个?\n\n\t1).是 2).否,保存退出\t[ ]\b\b");scanf("%d",&w0);w2=1; //用来控制保存,使w2=1是标记已有过修改}else{w0=0;if(w2==1)worker[k]=s;}if(w0!=1&&w2==1)save(n);}while(w0==1);menu();}search() //查询模块{ int c,w1;do{puts("\nsearch by=>\n\n1).工号 2}.学历 3).取消并返回"); printf("Which you needed?:[ ]\b\b");scanf("%d",&c);if(c>3||c<1){ puts("\nchoice error!please again!");getchar();}}while(c>3||c<1);{switch(c){case 1:search1();break;case 2:search2();break;case 3:menu();break;}}}search1() //按工号查询模块{int i,n,k,w1=1,w2,w3,w4;struct worker s;n=load();do{do{k=-1;printf("\n\n输入要查询的工号! id:");scanf("%s",s.id);printf_face();for(i=0;i<n;i++)if(strcmp(s.id,worker[i].id)==0){k=i;printf_one(k);break;}if(k==-1){printf("\n\nNo exit!please");printf("\n\n继续查找?\n\t1).是 2).否,返回 [ ]\b\b");scanf("%d",&w1);if(w1==2) menu();}}while(k==-1&&w1==1);w4=0;w3=0;if(k!=-1){printf("\n\n接下来干什么?\n\t1).查找另一个 2).修改 3).返回菜单[ ]\b\b");scanf("%d",&w2);switch(w2){case 1:search1();break;case 2:w3=modify_data(k,n);break;case 3:{menu();break;}}}}while(w2==1);menu();}search2() //按学历查询模块{int i,n,k,w1=1,w2,w3,w4;struct worker s;n=load();do{do{k=-1;printf("\n\n请输入你要查询的学历:\n");scanf("%s",);printf_face();for(i=0;i<n;i++)if(strcmp(,worker[i].edu)==0){k=i;printf_one(k);}if(k==-1){printf("\n\nNo exit!please");printf("\n\n继续查找?\n\t1).是 2).否,返回 [ ]\b\b");scanf("%d",&w1);if(w1==2) menu();}}while(k==-1&&w1==1);w4=0;w3=0;if(k!=-1){printf("\n\n接下来干什么?\n\t1).查找另一个 2).修改 3).返回菜单[ ]\b\b");scanf("%d",&w2);switch(w2){case 1:search2();break;case 2:w3=modify_data(k,n);break;case 3:{menu();break;}}}}while(w2==1);menu();}menu(){int n,w1;do{puts("\t\t*******************菜单*******************\n\n");puts("\t\t\t\t1.录入职工信息");puts("\t\t\t\t2.浏览职工信息");puts("\t\t\t\t3.查询职工信息");puts("\t\t\t\t4.修改职工信息");puts("\t\t\t\t5.退出");puts("\t\t****************************************\n\n");printf("请选择(1~5): [ ]\b\b");scanf("%d",&n);if(n<1||n>5) //对选择的数字作判断{w1=1;getchar();}else w1=0;} while(w1==1);switch(n){case 1:enter();break; //录入 case 2:browse();break; //浏览 case 3:search();break; //查询 case 4:modify();break; //修改 case 5:exit(0); //退出}}main(){menu();}7.程序运行结果下面是各个模块的的界面截图(1)、主菜单(2)、输入模块(3)、浏览模块(3)、查找模块(4)、修改模块8.编程中遇到的困难及解决方法温故而知新,可以为师矣。
某单位人事管理系统
《数据库系统》课程实践任务报告任务名称;某单位人事管理系统班级: 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: 贺佳学生2:安新学生3:武艳飞学生4:区丽君专业:计算机科学与技术课程: 软件工程指导教师: 姜振凤职称:讲师完成时间: 2013年5 月--—-2013 年6月枣庄学院信息科学与工程学院制2013年6月30日课程设计任务书及成绩评定目录1 概述 (1)1。
1 设计目的 (1)1.2 设计背景 (1)1.3开发环境 (2)1。
4小组分工 (2)2 可行性分析 (2)2。
1技术可行性分析 (2)2.2社会可行性分析 (2)2。
3经济可行性分析 (2)2。
4操作可行性分析 (3)3需求分析 (3)3。
1需分析的任务求 (3)3.1.1界面要求 (3)3。
1。
2功能要求 (3)3。
2子功能需求 (3)3。
3数据流图DFD (5)3。
3。
1顶层数据流图 (5)3.3.2一层数据流图 (5)3.3.3二层数据流图 (6)3。
4数据字典 (7)3。
4。
1数据源点描述: (7)3。
4.2加工逻辑词条描述 (7)3。
4.3数据流名词条描述: (7)3.4.4数据文件词条描述: (8)4。
软件设计 (8)4。
1概要设计 (8)4.1。
1 系统层次结构图 (8)4.1。
2系统IPO图 (8)4。
2 详细设计 (10)4。
2.1登录模块 (10)4。
2。
2 人事管理模块 (11)4.2。
3 工资管理模块 (12)4.2。
4系统管理模块 (13)4.3数据库设计 (14)5 软件实现 (14)5。
1登陆界面 (14)5。
2添加员工基本信息 (15)5.3修改员工基本信息 (16)5。
4 查询员工基本信息 (17)6 软件测试报告 (17)6。
1.测试方案 (17)6.2. 测试条目 (17)6.3设计测试用例 (18)6。
4。
测试结论 (19)7 总结 (19)参考文献 (20)1 概述自上个世纪90年代以来,计算机技术的迅猛发展和推广普及,为各行各业突飞猛进的发展带来了新生的动力,推动了各个行业向更高的层次进步.当今时代是飞速发展的信息时代。
员工管理系统
程序设计实习实验报告班级:信A0812学号: 25姓名:万明指导老师:周小雄2010-2011第1学期实验员工管理系统班级:信A0812 学号:25 姓名:万明指导教师签名:__________ 成绩:__________ 一、问题描述设计一个计算机程序,能够实现简单的员工管理功能。
设计要求:1.每个员工的信息包括:编号、姓名、性别、出生年月、学历、职务、电话、住址等。
2.系统的功能包括:(1)查询:按特定条件查找员工。
(2)修改:按编号对某个员工的某项信息进行修改。
(3)插入:加入新员工的信息。
(4)删除:按编号删除已离职员工的信息。
(5)排序:按特定条件对所有员工的信息进行排序。
二、算法说明1.算法功能(1)采用结构体WORKER来存储员工的相关信息,定义一个由结构体组成的链表来实现对多个员工信息的存储,以及插入、删除、修改等操作。
(2)注册新员工信息:采用链表的操作,向链表接点的前一个接点插入信息。
(3)查询、修改:采用链表的操作进行信息的查找,找到后可以进行修改覆盖原来的内容。
(4)删除:按链表的操作进行,按关键字找到相应的接点,然后删除此接点的前一个接点即可。
(5)排序:按照员工的工号升序排序,采用冒泡排序法,并且交换所有信息。
2.函数说明Link Create(Link Head);//创建链表void Release(Link Head);//释放链表空间Link Search(Link Head);//按条件查找链表节点Link Searchbywno(Link Head);//按员工号查找员工信息Link Updata(Link Head);//修改员工信息Link Insert(Link Head);//插入员工信息Link Del(Link Head);//删除退休员工的信息Link rankbywno(Link Head);//按员工号将员工排序void Display(Link Head);//查找链表所有节点void Display_Node(Link pNode);//显示链表节点的信息Link Searchwithoutprint(Link Head);//查找链表节点的信息但是不用输出3.数据结构说明struct worker//定义员工结构体链表来存储员工的信息{int wnum;//工号char name[15];//姓名char sex[4];//性别char age[12];//出生年月char post[6];//学历char job[10];//职位unsigned int telnum;//电话号码char add[23];//家庭地址struct worker *next;定义下一个接点};typedef struct worker Node;typedef Node *Link;//定义链表节点三、测试结果第一组测试:(1):测试目的:注册新信息并显示出来。
管理信息系统名词解释
管理信息系统名词解释1.人机系统:由人和机器构成并依赖于人机之间相互作用而完成一定功能的系统。
2.系统结构:是指系统内部各组成要素之间的相互联系、相互作用的方式或秩序,即各要素在时间或空间上排列和组合的具体形式。
3.数据结构:相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。
4.数据模型:对客观事物及其联系的逻辑组织描述。
5.制造资源计划:是在物料需求计划上发展出的一种规划方法和辅助软件。
它是以物料需求计划MRP为核心,覆盖企业生产活动所有领域、有效利用资源的生产管理思想和方法的人-机应用系统。
6.企业资源计划:所谓ERP,就是企业资源计划,它将企业的财务、采购、生产、销售、库存和其它业务功能整合到一个信息管理平台上,从而实现信息数据标准化,系统运行集成化、业务流程合理化、绩效监控动态化、管理改善持续化。
7.数据处理:把来自科学研究、生产实践和社会经济活动等领域中的原始数据,用一定的设备和手段,按一定的使用要求,加工成另一种形式的数据的过程。
8.数据文件:把数据按某种数据结构组织起来存放在外部设备上那个,就构成了数据文件。
一般来说,数据文件是为某一目的而形成的同类记录的集合,记录是文件中数据组织的基本单位,由若干个数据项组成,数据项又是数据处理的最小单位。
9.文件组织:文件的组织是指文件的构造方式。
10.因特网:由多个计算机网络相互连接而成,而不论采用何种协议与技术的网络。
11.数据库管理系统:一组对数据库进行管理的软件,通常包括数据定义语言及其编译程序、数据操纵语言及其编译程序以及数据管理例行程序。
12.记录:在数据库里面,表的“行”称为“记录”,“列”称为“字段”13.企业内部网:企业内部网是给企业内的员工们用的,一般的消费者是不可以进入的。
通常企业内部网的资料都是一些关于员工福利,公司最近的培训计划,和一些内部资料的分享。
14.战略规划:所谓战略规划,就是制定组织的长期目标并将其付诸实施,它是一个正式的过程和仪式。
数据字典编写例题
数据字典编写例题题目:某公司员工信息管理系统数据字典一、数据项1. 员工编号:员工唯一标识符,采用数字表示。
2. 姓名:员工姓名,采用中文表示。
3. 性别:员工性别,采用文本表示。
4. 出生日期:员工出生日期,采用日期格式表示。
5. 部门编号:员工所在部门编号,采用数字表示。
6. 职位:员工职位,采用文本表示。
7. 工资:员工工资,采用数字表示。
8. 考勤记录:员工考勤记录,包括迟到、早退、请假等信息,采用文本或数字表示。
9. 奖惩记录:员工奖惩记录,包括奖励、惩罚等信息,采用文本或数字表示。
二、数据结构某公司员工信息管理系统主要包含以下数据结构:1. 员工信息表:用于存储员工的基本信息,包括员工编号、姓名、性别、出生日期、部门编号、职位、工资等。
2. 考勤记录表:用于存储员工的考勤记录,包括考勤时间、迟到次数、早退次数等。
3. 奖惩记录表:用于存储员工的奖惩记录,包括奖励等级、惩罚原因等。
三、数据流图某公司员工信息管理系统的主要数据流如下:1. 输入:员工信息(包括姓名、性别、出生日期等)、考勤记录、奖惩记录等。
2. 处理:将输入的员工信息存储到员工信息表中,将考勤记录和奖惩记录分别存储到考勤记录表和奖惩记录表中。
3. 输出:查询员工信息时,根据员工编号从员工信息表中提取相关信息;查询考勤记录时,根据员工编号从考勤记录表中提取相关信息;查询奖惩记录时,根据员工编号从奖惩记录表中提取相关信息。
四、系统流程描述1. 系统启动:系统启动后,首先进行初始化操作,将已有的员工信息、考勤记录和奖惩记录导入系统数据库中。
2. 用户输入:用户输入需要查询的员工信息(包括姓名、性别、出生日期等)和查询条件(如部门编号),系统将根据查询条件从数据库中提取相关信息并展示给用户。
3. 系统处理:系统根据用户输入的查询条件进行数据处理,并将查询结果展示给用户。
同时,系统还将根据用户输入的考勤和奖惩信息进行相应的更新操作。
员工管理系统
洛阳理工学院课程设计报告课程名称数据结构设计题目员工管理系统课程设计任务书设计题目:员工管理系统_________________________________________________________设计内容与要求:[问题描述]每个员工的信息包括:编号、姓名、性别、出生年月、学历、职务、电话、住址等。
系统能够完成员工信息的查询、更新、插入、删除、排序等功能。
[基本要求](1)排序:按不同关键字,对所有员工的信息进行排序。
(2)查询:按特定条件查找员工。
(3)更新:按编号对某个员工的某项信息进行修改。
(4)插入:加入新员工的信息。
(5)删除:按编号删除已离职的员工的信息。
课程设计评语成绩:指导教师:_______________年月日前言员工管理系统是一个工作单位不可缺少的管理工具,它管理的数据对于公司的决策者和管理者来说都至关重要,所以员工管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来各个公司基本上都是靠传统的人工方式来管理员工信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于信息的查找、更新和维护都带来了不少的困难。
当今社会,信息迅速膨胀,随着各个公司的规模增大,有关信息管理工作所涉及的数据量越来越大,员工信息量也大大增加,利用传统的手工查询、登记、修改等方法的处理速度远远跟不上公司的需求,有的公司不得不靠增加人力、物力来进行信息管理。
随着计算机技术的不断提高,计算机作为知识经济时代的产物,其强大的功能已为人们深刻认识,它已进入人类社会的各个行业和领域并发挥着越来越重要的作用,成为人们工作和生活中不可缺少的一部分。
而作为计算机应用的一部分,使用计算机对员工进行管理,具有手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高员工管理的效率,也是公司的科学化、正规化管理和与世界接轨的重要条件。
人力资源信息系统管理制度
人力资源信息系统管理制度一、引言随着科技的不断发展和企业规模的扩大,人力资源管理变得愈发复杂,需要更加高效的管理手段来支持决策制定和人力资源运营。
人力资源信息系统(HRIS)作为一种集成、自动化的电子化工具,可以实现人力资源管理的全面升级和信息化转型。
本文将介绍人力资源信息系统的管理制度,旨在为企业建立和运营HRIS提供一种指导性的规范。
二、系统建设1. 需求分析在构建人力资源信息系统前,需要进行全面的需求分析。
首先,确定系统的主要功能,例如招聘、员工档案管理、培训发展、绩效管理等。
其次,评估企业实际情况和目标,确定系统的规模、架构和技术要求。
最后,与相关部门进行充分沟通,了解各方的需求和期望,为系统建设提供参考。
2. 系统设计基于需求分析的结果,进行系统设计是关键环节。
设计人力资源信息系统应考虑以下几个方面:(1)界面设计:界面友好、操作简单,用户易于上手。
(2)数据结构:合理规划数据表和字段,确保数据的准确性和完整性。
(3)系统集成:对接其他相关系统,实现数据共享和信息流畅。
(4)安全性:建立科学的权限控制机制,保护员工隐私和企业信息安全。
三、数据管理1. 数据采集人力资源信息系统需要采集员工的各类数据,包括个人信息、教育背景、工作经历、薪酬福利等。
在采集数据时,应确保员工的知情同意,同时遵循相关法律法规和隐私保护原则,严格保护员工的隐私权益。
2. 数据存储人力资源信息系统应具备可靠的数据存储机制,包括建立数据库、备份和恢复策略等。
同时,建议进行数据加密和定期审计,确保员工数据的安全和完整性。
3. 数据分析借助人力资源信息系统,可以对大量员工数据进行分析,为企业决策提供有力支持。
通过系统生成各类报表和图表,快速洞察人力资源的情况和趋势,并为企业制定发展战略提供科学依据。
四、系统应用1. 招聘管理人力资源信息系统可以提供招聘流程、简历筛选、面试安排等一系列功能,将招聘流程标准化和自动化,提高招聘效率和质量。
员工人事信息管理系统
第一章绪论1.1 研究的内容随着计算机和网络技术的广泛应用,人事档案管理已成为现代企业管理中必不可少的一部分.企业要发展必须要对人事方面做出更好的管理和控制,为适应现代企业制度管理的要求,实现企业劳动人事档案管理的科学化和规范化,以更好的促使企业的发展的需要,从而提出了企事业单位人事档案管理系统的开发的课题来对企业进行科学现代化的管理.1。
2 研究的软硬件环境企事业单位人事档案管理工作是一种繁琐,务求准确的信息检索工作.特别是在对在岗人员的调动,离退人员,工资发放,职称评定等信息的管理,具有典型的信息处理管理模式。
以PowerBuilder 为设计工具以更好的对软件进行开发与应用,达到提高企事业业单位人事档案管理信息系统的效果。
第二章系统需求分析2。
1 系统开发战略本系统开发主要采用自顶向下的开发方式,自顶向下的方法模型如下图所示::通过以上分析,企业职工管理系统有基础的信息管理模块,职工管理模块、备忘记录。
数据库模块组成。
2.2。
1 需求分析的任务需求分析的任务是通过详细的调查现实世界要处理的对象(组织、部门、企业等),充分了节原系统(手工系统或计算机系统)工作概况,明确公司的各种需求,然后再此基础之上确定新的功能。
调查的重点是“数据”和“处理”,通过调查收集与分析,获得企业对数据库如下要求: (1)信息要求。
指公司需要从数据库中获得信息的内容和性质.即需要在数据库当中存储哪些数据。
(2)处理要求。
指公司要完成什么样的处理功能,对处理的时间有什么要求,处理方式是批处理还是联机处理。
(3)安全性与完整性要求。
设计人员必须具备专业的知识,不断了解公司的需求需要。
了解公司,深入与公司人员进行交流,才能逐步满足公司的实际需求。
2.2。
2 需求分析的方法进行需求分析首先是调查清楚该公司的实际要求,与公司达成共识,然后分析和表达这些需求。
调查公司的具体步骤如下:(1)调查组织机构情况。
(2)调查个部门的业务状况(3)在熟悉业务的基础之上,协助用户明确对新系统的各种要求,包括信息要求、用户要求、安全性与完整性要求,这是调查的又一重点.(4)确定新系统的边界。
员工信息管理系统
《信息系统设计》软件工程课程设计课题名称:员工信息管理系统姓名:兰朝仁学号:0学院:继续教育学院专业:计算机科学与技术年级:2008级(夜大专升本)指导教师:陈郞钦完成日期:2010年10月11日目录引言错误!未定义书签。
1. 系统规划错误!未定义书签。
系统设计目标错误!未定义书签。
系统总体规划错误!未定义书签。
设计方案(步骤) 错误!未定义书签。
2. 系统分析错误!未定义书签。
业务需求与分析错误!未定义书签。
系统业务流程图错误!未定义书签。
系统数据流程图错误!未定义书签。
3. 系统设计错误!未定义书签。
系统软件功能结构错误!未定义书签。
系统主要技术错误!未定义书签。
系统数据库设计错误!未定义书签。
数据库设计要点错误!未定义书签。
数据库系统设计要点及难点错误!未定义书签。
数据库及其表的建立和使用错误!未定义书签。
系统组成及数据环境错误!未定义书签。
数据库概念设计错误!未定义书签。
数据库逻辑设计错误!未定义书签。
数据库物理设计错误!未定义书签。
输出设计错误!未定义书签。
输入设计错误!未定义书签。
4. 系统实现错误!未定义书签。
系统主程序流程错误!未定义书签。
系统主界面设计错误!未定义书签。
系统主程序设计错误!未定义书签。
子程序设计错误!未定义书签。
系统登录错误!未定义书签。
员工管理错误!未定义书签。
部门管理错误!未定义书签。
职务管理错误!未定义书签。
工资管理错误!未定义书签。
工资类别管理错误!未定义书签。
系统测试错误!未定义书签。
5. 结束语错误!未定义书签。
【摘要】本文从员工信息管理系统规划、需求分析、系统设计、系统实现及系统测试等多个方面,分别叙述系统研发的整个实现过程,简述采用Delphi 7编程工具及Access数据库实现系统应用的设计要点,重点阐述系统实现过程中的重点和难点问题的分析及其解决方案,解决企业对员工的计算机管理。
【关键词】员工、人事、工资、管理、数据库引言随着我国国民经济建设的蓬勃发展和社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。
C++理论与实战 第22章 项目实训4——开发校职工信息管理系统
开发校职工信息管理系统
本章内容
22.1 需求分析 22.2 功能分析 22.3 开发前准备工作 22.4 系统代码编写 22.5 系统运行 22.6 项目总结
22.1 需求分析
22.2 功能分析
1. 职工信息的数据结构的基类属性和成员方法
BaseStaff.h和BaseStaff.cpp文件分别声明和定义了该案例中职工信息的数据结构的基类属 性和成员方法。
2. 行政人员类、教师类和兼职人员类的声明、定义和实现
ClericalStaff.h、ClericalStaff.cpp、Teacher.h、Teacher.cpp、PartTimer.h和 PartTimer.cpp这6个代码文件分别是行政人员类、教师类和兼职人员类的声明、定义和实现 ,这三个类都继承于BaseStaff基类。
4. 系统增删改查以及菜单功能的实现
StaffManage.h、StaffManage.cpp、StaffSystem.h、StaffSystem.cpp、 SystemMenu.h和SystemMenu.cpp这6个代码文件分别是系统增删改查功能的定义和实现、 系统菜单功能点封装、组织和实现文件。
3. 系统职工信息增删改查功能的声明、定义
SystemFunctions.h代码文件是整个系统功能点的基类声明和定义文件,AddStaffInfos.h、 DeleteStaffInfos.h、UpdateStaffInfos.h、SearchStaffInfos.h和SystemExit.h这5个代码文 件分别是系统职工信息增删改查功能的声明、定义的基础方法,这5个类都继承于 SystemFunctions基类。
子类重写等相关编程技能。 (4) 掌握C++多态机制以及虚函数的编程方法和处理思路。 (5) 掌握链表、指针和文件等操作数据的思路和方法。
员工信息管理系统
摘要企业员工信息管理是企业管理中的一个重要内容,随着时代的进步,企业人员数量也不断增加、分工的不断细化、各个行业间联系的不断密切,对人事管理的要求也不断提高.如何管理好企业内部员工的信息,对员工实施高效的宏观管理,对企事业单位的人员构成情况和发展趋势进行统计、规划、分析并制定切实可行的人事政策,是一项繁重而艰巨的任务。
本文以企业管理信息系统建设中的员工信息管理子系统的设计和实现为目标,利用软件工程中系统开发的原理和方法,详细论述了系统的设计方案、开发、测试等过程。
系统在Linux平台下,以Oracle10g为后台数据库管理系统,实现了以员工信息管理,考勤信息管理、工资管理及综合查询模块为主要功能的系统开发。
为企业人事管理提供信息咨询,信息检索,信息存取等服务,系统的实施基本上能够满足现代企业对人事管理的需要,为提高企业人事管理效率提供了行之有效的手段。
6第一章职工管理的背景借助现代信息技术和管理理论,建立员工管理信息系统是当今社会的重要趋势。
党和政府根据知识经济时代的特点,对国民经济建设提出了“用信息化带动工业化”的指导思想.对企业而言,全面开发和应用计算机管理信息系统就是近期不能回避的问题。
在企业管理中,人力资源是企业最宝贵的资源,也是企业的“生命线”,因此职工管理是企业的计算机管理信息系统重要组成部分。
而职工管理又是人力资源管理的重中之重。
实行电子化的职工管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。
职工管理信息系统的实现可以减轻比较繁琐的手工职工管理。
现在应用在大中型企业的管理信息系统中,几乎都包括了职工管理模块.有些环境中是由作为大型ERP软件中的一个模块引进的,有些是作为企业的财务系统的一部分.这些根据规范的西方的管理制度设计的职工管理软件,在很多时候还不能完全解决中国特色的中小企业的问题,所以我们设计了一个简单的职工管理系统,为这些具有中国特色的中小企业解决他们在职工管理方面的问题。
员工信息管理系统
摘要企业员工信息管理是企业管理中的一个重要内容,随着时代的进步,企业人员数量也不断增加、分工的不断细化、各个行业间联系的不断密切,对人事管理的要求也不断提高。
如何管理好企业内部员工的信息,对员工实施高效的宏观管理,对企事业单位的人员构成情况和发展趋势进行统计、规划、分析并制定切实可行的人事政策,是一项繁重而艰巨的任务。
本文以企业管理信息系统建设中的员工信息管理子系统的设计和实现为目标,利用软件工程中系统开发的原理和方法,详细论述了系统的设计方案、开发、测试等过程。
系统在Linux平台下,以Oracle10g为后台数据库管理系统,实现了以员工信息管理,考勤信息管理、工资管理及综合查询模块为主要功能的系统开发。
为企业人事管理提供信息咨询,信息检索,信息存取等服务,系统的实施基本上能够满足现代企业对人事管理的需要,为提高企业人事管理效率提供了行之有效的手段。
6第一章职工管理的背景借助现代信息技术和管理理论,建立员工管理信息系统是当今社会的重要趋势。
党和政府根据知识经济时代的特点,对国民经济建设提出了“用信息化带动工业化”的指导思想。
对企业而言,全面开发和应用计算机管理信息系统就是近期不能回避的问题。
在企业管理中,人力资源是企业最宝贵的资源,也是企业的“生命线”,因此职工管理是企业的计算机管理信息系统重要组成部分。
而职工管理又是人力资源管理的重中之重。
实行电子化的职工管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。
职工管理信息系统的实现可以减轻比较繁琐的手工职工管理。
现在应用在大中型企业的管理信息系统中,几乎都包括了职工管理模块。
有些环境中是由作为大型ERP软件中的一个模块引进的,有些是作为企业的财务系统的一部分。
这些根据规范的西方的管理制度设计的职工管理软件,在很多时候还不能完全解决中国特色的中小企业的问题,所以我们设计了一个简单的职工管理系统,为这些具有中国特色的中小企业解决他们在职工管理方面的问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
员工信息管理系统课程设计报告系别:计算机与信息工程系班级: B080501*名:***学号: B********指导教师:***课设时间:2010-6-21到2010-6-25摘要员工信息管理系统属于信息管理系统。
员工信息管理是每个公司不可缺少的。
系统用C程序开发,主要在于建立好一个合适的数据结构,并要求程序简洁实用。
本系统利用C语言简洁、灵活,数据结构丰富等特点,编写适合公司使用的系统。
整个系统使用起来也比较方便,入手简单,操作方便。
论文主要介绍了程序设计过程、设计方案以及测试过程,重点讲解了设计过程中的思想,技术解决方案等等。
关键字:员工信息管理,C程序,数据结构前言 (3)第1章课设题目 (4)第2章开发运行环境及相关知识 (4)第3章程序总体设计 (5)3.1 主要功能模块 (5)3.2 数据结构 (6)第4章程序详细设计及实现 (7)4.1 输入函数 (7)4.2 排序函数 (7)4.3 显示函数 (7)4.4 查找函数 (7)4.5更改函数 (8)4.6 删除函数 (8)4.7 主函数 (8)4.8 其他函数 (9)第5章系统功能测试 (9)5.1 系统主界面 (9)5.2 输入数据 (9)5.3 显示数据 (10)5.4 信息排序 (10)5.5 更改信息 (11)5.6 删除信息 (11)第6章课设总结 (12)第7章程序清单 (13)参考文献 (31)前言本课程设计旨在理论学习和基础实验的基础上,开发规模较大的程序,掌握应用计算机编程解决实际问题的基本方法,熟悉C程序开发的全过程,掌握数据结构的使用方法,熟练应用各种数据结构。
本次任务是根据给定的数据和程序,应用单向链表处理一系列公司员工的信息。
通过整个程序开发的过程,提高综合应用C语言的能力、编程和调试能力,为进一步学习相关专业课程创建较扎实的理论基础和实践基础。
报告将分6个章节来详细讲述本次课设题目的开发过程。
第1章主要描述课设的题目及要求;第2章来介绍程序开发运行环境;第3章介绍程序主体设计,网络程序概要;第4章是对程序进行详细分析,对各个函数进行详细描述,并阐述程序实现技术等信息;第5章为测试过程,主要用测试过程中的图片来表述最终信息;第6章也是最后一章,为本次实践活动的心得体会。
第1章课设题目1.1课设题目每个员工的信息包括:编号、姓名、性别、出生年月、学历、职务、电话、住址等。
系统能够完成员工信息的查询、更新、插入、删除、排序等功能。
1.2基本要求(1)每条记录内,包括员工的个人信息,有:编号、姓名、性别、出生年月、学历、职务、电话、住址等;(2)按不同关键字(如编号,姓名等),对所有员工的信息进行排序;(3)按照指定条件查找某员工所有信息;(4)按编号对某个员工的信息进行修改;(5)加入新员工的信息,并实现排序;(6)按编号删除已离职的员工的信息。
1.3 其他需求程序除需完成基本功能外,程序源代码还应具有良好的编程结构和适当的注释,运行界面清晰,提示内容明确,易于操作。
第2章开发运行环境及相关知识2.1 运行环境软件环境:Windows 2000,Windows XP和Windows NT4.0。
2.2开发工具微软公司的Microsoft Visual C++ 6.0。
2.3开发工具简介公司推出Visual C++1.0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具。
虽然微软公司推出了Visual C++.NET(Visual C++7.0),但它的应用的很大的局限性,只适用于Windows 2000,Windows XP和Windows NT4.0。
所以实际中,更多的是以Visual C++6.0为平台。
Visual C++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。
Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。
这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。
第3章程序总体设计3.1 主要功能模块依据程序的数据结构和功能,遵照“自顶向下”原则,描述该程序的层次结构,在总体上包括数据的录入、增加、删除、查找、更改和数据的排序等功能模块。
图3-1 程序主体3.2 数据结构依据给定的数据格式,个人信息由九个字段来组成,即编号、姓名、性别、生日、学历、职务、电话和住址,外加一个判断关键字。
本课程设计根据功能需求,使用线性结构来组织数据,因为数据占据空间比较大,要对表中某项数据进行操作,所以使用链表比较方便。
结构体定义:typedef struct Stuff{char number[10]; //编号char name[10]; //姓名char sex[8]; //性别char birthday[10]; //生日char degree[20]; //学历char business[20]; //职务char phone[15]; //电话char place[50]; //住址char con[50]; //判断关键字struct Stuff *next; //指针域} Stuff;信息存储:信息存储结构如图3-2图 3-2 链式存储结构第4章程序详细设计及实现4.1 输入函数函数原型:Stuff *App(Stuff *head);函数功能:通过输入各项数据给数据元素,来建立一个数据表。
算法要点:(1)用循环控制输入记录;(2)为每一结构体数据项输入数据;(3)返回输入记录数。
4.2 排序函数函数原型:void Sort(Stuff *head);void Scpy(char *p,char *q);int Sel(char ch,Stuff *p,Stuff *q);函数功能:按照指定关键字对员工信息进行排序。
算法要点:(1)比较法对信息进行排序;(2)使用交换函数,对每项信息进行交换。
4.3 显示函数函数原型:void Show(Stuff *head);函数功能:输出表中所有节点的信息。
算法要点:使用循环输出所有信息。
程序清单:4.4 查找函数函数原型:Stuff *Search(Stuff *head);函数功能:按照指定关键字,对相应员工信息进行查找。
算法要点:(1)输入字段和信息相应字段的比较;4.5更改函数函数原型:Stuff *Change(Stuff *head,char n[10]);函数功能:输入员工编号,查找到员工信息,对其信息进行更新。
算法要点:(1)信息查找;(2)信息重新录入及保存。
4.6 删除函数函数原型:Stuff *Del(Stuff *head,char n[10]);函数功能:查找到要删除员工的相应信息,并将其从表中永久的删除。
算法要点:(1)按关键字查找信息;(2)链表中删除节点信息,并释放节点空间。
4.7 主函数主函数主要是调用以上的子函数,用开关语句进行选择性的调用。
大致程序如下:switch(Menu()){case 1: 调用函数语句;break;case 2: 调用函数语句;break;……case 0:退出程序语句;default:printf("输入错误,请重新输入!\n");}4.8 其他函数其他函数主要起到辅助功能,如菜单函数,主要起到引导作用;释放空间函数,主要用于释放已经删除节点的信息,或者释放整个链表的节点信息。
菜单函数原型:char Menu();释放函数原型:void Fre(Stuff *head);第5章系统功能测试5.1 系统主界面图5-1 系统主界面5.2 输入数据(1)输入操作字符1;(2)输入员工信息;(3)输入“#”字符结束输入。
图5-2 输入操作5.3 显示数据图5-3 显示信息5.4 信息排序5.5 更改信息图5-5 更正信息5.6 删除信息图5-6删除信息第6章课设总结如何才能真正的去掌握编程的方法,如何才能真正的去理解书上的理论信息,理论知识用于实践才是最终的目的。
通过本次数据结构课程设计,我对数据结构的理论知识有了更为直接的认识,从实际中获得了很多宝贵的经验,这些对我以后做程序开发将是一笔很宝贵的财富。
我有以下两点感触:(1)没有解决不了的问题。
这个程序在课设前一周就开始着手编写,中间遇到了不少的问题,由于以前写过类似的程序,所以对其中的一些错误很是敏感,也通过不少的途径来解决了问题。
比如,通过和网上的一些程序代码的对比,解决了自己程序中输出乱码的问题。
(2)注重团队协作。
虽然此次课设是完全个人完成的,但是我还是要强调团队的重要性,因为我们以后走项的程序开发的道路上,没有单枪匹马的,都是一个团队协作完成的,所以今后的程序开发过程中,尽可能的和他人合作。
万事开头难,学好编程,我还有很长的路要走。
第7章程序清单#include "stdio.h"#include "stdlib.h"#include "windows.h " //清屏函数头文件#include "string.h"typedef struct Stuff{char number[10]; //编号char name[10]; //姓名char sex[8]; //性别char birthday[10]; //生日char degree[20]; //学历char phone[15]; //电话char place[50]; //住址char con[50]; //判断关键字struct Stuff *next;}Stuff;char Menu(); //菜单函数Stuff *App(Stuff *head); //添加函数void Sort(Stuff *head); //排序函数Stuff *Search(Stuff *head); //查找函数Stuff *Change(Stuff *head,char n[10]); //更改函数void Scpy(char *p,char *q); //排序中用于交换员工信息Stuff *Del(Stuff *head,char n[10]); //删除函数int Sel(char ch,Stuff *p,Stuff *q); //判断排序及关键字专用函数void Show(Stuff *head); //输出函数void Fre(Stuff *head); //释放函数int n=1; //定义全局变量,实现人数统计char Menu(void){int ch;printf("---------------------------菜单-------------------------\n");printf(" 1.添加员工信息\n");printf(" 2.员工信息排序\n");printf(" 3.查找员工信息\n");printf(" 4.输出员工信息\n");printf(" 5.更改员工信息\n");printf(" 6.删除员工信息\n");printf(" 0.退出\n");printf("--------------------------------------------------------\n");printf(“请选择你的操作:”);scanf(" %d",&ch);return ch;}//添加成员函数Stuff *App(Stuff *head){while(n){p=(Stuff *)malloc(sizeof(Stuff)); //申请结构体空间if(p==NULL){printf("空间不足,自动退出系统!\n");exit(0);}p->next =NULL; //指针域为空printf("请输入第%d名员工:\n",n);printf(" 编号| 姓名| 性别| 出生年月| 学历| 职务| 电话| 住址:\n");getchar();scanf("%s",p->number );if(strcmp(p->number,"#")){++n;scanf("%s%s%s%s%s%s%s",p->name ,p->sex ,p->birthday ,p->degree ,p->bu siness ,p->phone ,p->place );p->con[0]='\0'; //防止后面判断出现随机值head=p;else{while(q->next !=NULL)q=q->next ;q->next =p;}q=p; //尾插法}if(!strcmp(p->number ,"#")){free(p); //完成添加,释放多余空间break;}}return head;}//排序函数void Sort(Stuff *head)char ch;Stuff *p,*q,*r;while(1){printf("请选择排序条件:1.编号|2.姓名|0.退出\n");getchar();scanf("%c",&ch);if(ch=='0')break;if(ch<'1'||ch>'2'){printf("输入错误,请重新输入!\n");continue;}p=head;while(p->next!=NULL) //选择排序{q=p->next;r=p;while(q!=NULL)if(Sel(ch,r,q)) //调用判断函数r=q;q=q->next;}if(r!=p) //交换信息{Scpy(r->number,p->number);Scpy(r->name,p->name);Scpy(r->sex,p->sex);Scpy(r->birthday,p->birthday);Scpy(r->degree,p->degree);Scpy(r->business,p->business);Scpy(r->phone,p->phone);Scpy(r->place,p->place);}p=p->next;}Show(head); //输出}}//交换函数void Scpy(char *p,char *q){char c[50];strcpy(c,p);strcpy(p,q);strcpy(q,c);}//判断函数int Sel(char ch,Stuff *p,Stuff *q){switch(ch) //实现各个关键字查找{case '1':returnstrcmp(q->number ,p->number )<0||strcmp(q->con ,p->number )==0 ;case '2':return strcmp(q->name ,p->name )<0||strcmp(q->con ,p->name )==0 ;default :}}//查找函数Stuff *Search(Stuff *head){Stuff *p=NULL,*q;int flag; //查找判断char ch,sh; //两个控制变量q=&a;while(1){printf("请输入要查找的条件:1.编号2.姓名0.退出\n");scanf(" %c",&ch);if(ch=='0')break;if(ch<'1'||ch>'2'){printf("输入错误,请重新输入!\n");continue;getchar();printf("请输入:");gets(q->con);p=head; //指向表头flag=0;while(p!=NULL){if(strcmp(q->con,p->number)==0||strcmp(q->con,p->name)==0){printf("员工信息如下:\n");printf(" 编号| 姓名| 性别| 出生年月| 学历| 职务| 电话| 住址\n%s \t%s \t%s \t%s \t%s \t%s \t%s \t%s\n",p->number ,p->name ,p->sex ,p->birthday ,p->degree ,p->business ,p-> phone ,p->place );printf("是否需要:1.更改2.删除3.继续\n");scanf(" %c",&sh);if(sh=='1')Change(head,p->number); //调用更改函数else if(sh=='2')。