C++小型公司员工信息管理系统设计分析报告要点
员工管理系统设计报告
![员工管理系统设计报告](https://img.taocdn.com/s3/m/aa9e4442f56527d3240c844769eae009581ba2fb.png)
员工管理系统设计报告简介本文档旨在介绍一个基于Web的员工管理系统进行设计的整个过程,包括需求分析、系统构架设计、系统界面设计、数据存储与管理等方面的内容。
该系统旨在帮助企业管理其员工信息、薪资、部门、职位、考勤和绩效评估等,同时也可以协助企业决策者从可视化的报表中获得关键业务数据信息。
需求分析在进行系统设计前,首先需要明确系统的需求,简要列举如下: 1. 管理员可以登录系统,添加、删除和修改员工信息。
2. 管理员可以设置员工基本信息(姓名、性别、年龄、手机号)、薪资和奖金等等。
3. 管理员可以创建不同的部门和职位,将员工分配到对应的岗位前进行简单的评估和选举等。
4. 管理员可以查询员工的考勤情况和工作绩效得分情况等。
5. 系统需要能够生成各类统计报表以及数据可视化分析图表,帮助管理层了解公司的业务状况,并基于这些信息进行战略决策。
系统构架设计该系统的整体构架如下:系统构架设计图系统构架设计图1.前端页面部分使用了HTML5、CSS3和JavaScript三种语言进行前台网页开发,同时使用Bootstrap作为UI框架。
前端代码采用MVC架构模式进行设计,便于后期网站功能的扩展与维护。
2.请求处理部分请求处理模块使用了Flask Web框架技术。
Flask后端可以集成很多功能模块,例如:数据库操作模块和请求响应模块等等。
基于MVC的设计模式,请求处理部分可以处理单一的请求,实现简单、直接的功能,提高程序的执行效率。
3.MySQL数据库数据库使用了MySQL数据库,并使用了ORM(对象关系映射)模型完成数据操作管理。
通过MySQL数据库进行的数据存储与管理,可以更好地满足用户管理、查询、统计、分析等需求。
4.报表管理部分对于报表图表的生成和绘制,本系统使用了Echarts这个极为出色的开源JavaScript图表库。
Echarts库支持图表的多种展示方式,并可生成各类美观、直观和交互式的报表图表。
员工信息管理系统设计
![员工信息管理系统设计](https://img.taocdn.com/s3/m/4b2ab5b2bdeb19e8b8f67c1cfad6195f302be860.png)
员工信息管理系统设计一、引言员工信息管理系统是为了帮助企业和公司更好地管理和维护员工的日常数据而开发的一款软件。
它主要解决了人力资源管理过程中,人员信息管理、数据统计、考核评价、报表输出等一系列问题,使得企业在人力资源管理方面能够更加高效和精准。
因此,本文旨在对员工信息管理系统的设计进行详细的说明和分析。
二、需求分析在设计员工信息管理系统之前,需要先做好需求分析工作,确保软件开发的准确性和用户的满意度。
1. 功能需求分析员工信息管理系统主要包括以下功能模块:(1)员工信息录入与修改:管理员可以录入和修改员工的个人信息和职业信息,例如:姓名、性别、民族、联系方式、职位、工资等,同时还能够上传员工照片。
(2)考勤管理:管理人员可以通过该系统进行员工考勤登记、请假申请、加班申请、旷工登记等操作,以便更好地管控员工的工作时间。
(3)绩效考核评价:管理人员可以通过该系统制定绩效目标、设定考核标准、进行绩效评估等操作,以便更好地评价员工的业绩和素质。
(4)数据统计分析:系统可以自动生成各类报表,如人员总数、员工离职率、薪资统计、绩效考核评分等报表,让管理员能够更加快捷地了解公司员工情况。
2.可行性分析在设计员工信息管理系统之前,还需要进行可行性分析,即检验该系统的设计是否符合实际情况,并落实设计思路和实现方法。
在可行性分析中,需要考虑以下几个方面:(1)技术可行性:该系统应符合企业信息化与数字化发展的趋势,并应考虑软件技术的实际操作和人性化操作设计。
(2)经济可行性:该系统的设计与开发应遵循合理的成本控制原则,并考虑到企业实际情况的资金来源和利润回报。
(3)社会可行性:该系统的设计应遵循经济、社会以及生态环境的可持续发展原则,并具有一定的社会意义,在整个社会环境中能够得到广泛认可。
三、系统设计1.系统架构设计在员工信息管理系统的设计中,我们选择使用Web-based 架构,采用B/S系统模式。
它的好处在于用户可以藉由浏览器来使用系统,不必安装Office软件或数据库来支持系统的运行,大大降低了用户的使用成本。
职工信息管理系统设计报告
![职工信息管理系统设计报告](https://img.taocdn.com/s3/m/a189cf279a6648d7c1c708a1284ac850ad0204cd.png)
职工信息管理系统设计报告1. 引言职工信息管理系统是一种用于存储和管理公司员工信息的工具。
它可以提供开发和维护员工数据库的功能,包括基本信息、薪资、岗位等。
本文将介绍职工信息管理系统的设计和实现过程。
2. 功能需求分析在设计职工信息管理系统之前,我们首先需要确定系统的功能需求。
根据用户需求和预期目标,我们将系统的功能需求分为以下几个方面:2.1 基本信息管理系统需要提供一个界面,用于录入和管理员工的基本信息,包括姓名、性别、年龄、联系方式等。
管理员可以通过该界面添加、修改和删除员工信息。
2.2 工资管理系统需要能够记录和计算员工的工资信息。
在录入员工信息时,管理员可以填写员工的工资基数、加班时长等信息,并通过系统生成工资明细。
系统还需要支持工资条的导出和打印功能。
2.3 岗位管理系统需要提供一个界面,用于管理员工的岗位信息。
管理员可以设置员工的职位、部门和工作地点等信息,并可以根据这些信息进行查询和统计。
3. 系统设计在确定了系统的功能需求之后,我们可以开始设计职工信息管理系统的架构和模块。
3.1 数据库设计系统的核心是一个员工数据库,用于存储和管理员工的信息。
我们可以设计一个关系型数据库,包含员工表、工资表和岗位表等。
3.2 用户界面设计系统需要提供一个用户界面,使管理员能够方便地进行员工信息的录入、修改和查询。
界面的设计应简洁明了,操作流程应该清晰易懂。
3.3 数据处理和计算系统需要能够对员工的工资信息进行计算和处理。
我们可以使用编程语言来实现工资的计算和生成工资明细的功能。
4. 系统实现在完成系统设计之后,我们可以开始实现职工信息管理系统。
具体的实现过程将涉及到数据库的建立和管理、用户界面的开发以及工资计算和处理的编程等。
5. 系统测试完成系统的实现后,我们需要对系统进行测试,以确保其功能的正确性和稳定性。
测试过程可以包括单元测试、功能测试和性能测试等。
6. 总结通过本文的介绍,我们了解了职工信息管理系统的设计和实现过程。
c语言职工信息管理系统设计报告
![c语言职工信息管理系统设计报告](https://img.taocdn.com/s3/m/70b2cd26773231126edb6f1aff00bed5b9f373fb.png)
c语言职工信息管理系统设计报告一、引言职工信息管理系统是一种常用的企业信息化系统,旨在帮助企业更好地管理员工信息,提高管理效率和信息安全性。
本文介绍的是一种基于C语言的职工信息管理系统的设计与实现。
二、系统需求分析1.系统功能(1)员工信息录入:可以录入员工的个人信息,包括姓名、性别、出生日期、身份证号码、联系电话、职务等信息。
(3)员工信息修改:可以修改员工的个人信息。
(5)员工信息统计:可以对员工的信息进行统计分析,统计人数、性别比例等。
2.系统开发环境本系统需要运行在Windows 7及以上操作系统上,开发工具使用Dev-C++。
三、系统设计与实现2.系统模块设计(1)员工信息录入模块:1)输入员工的各项信息;2)自动生成员工编号;3)将员工信息写入文件保存。
1)按照不同的条件进行查询;2)查询后输出符合条件的员工信息。
2)修改员工信息;1)对员工信息进行统计分析;2)输出统计结果。
(6)系统菜单模块:1)显示系统功能菜单;2)接收用户输入进行相应操作。
3.代码实现(1)主函数模块:{system("color 3f"); //设置控制台颜色menu(); //调用主菜单函数return 0;}void insert()employee emp;ofstream fout("employee.txt", ios::app);cout << "请输入员工姓名:";cin >> ;emp.no = rand() % 1000 + 1;fout << emp.no << " " << << " " << emp.gender << " " << emp.birthday << " " << emp.id << " " << emp.phone << " " << emp.job << endl;cout << "添加成功!" << endl;fout.close();int choice;cout << "请选择查询条件(1.姓名 2.性别 3.出生日期 4.身份证号码 5.联系电话 6.职务):";case 1:break;default:cout << "编号\t\t姓名\t性别\t出生日期\t身份证号码\t\t联系电话\t职务" << endl;if (choice == 1 && == ) //按照姓名查询if (no == emp.no)elseint manCount = 0;womanCount++;四、系统测试与评估我们采用黑盒测试,使用不同的测试用例进行测试。
简单的职工信息管理系统报告
![简单的职工信息管理系统报告](https://img.taocdn.com/s3/m/24941429d15abe23492f4d03.png)
淮阴工学院算法设计技能训练实习报告题目:简单的职工管理系统系(院):计算机工程学院专业: 计算机科学与技术(微软合作)班级: 计算机 1137学号:姓名指导教师: 周海岩学年学期:2014 ~2015 学年第1 学期2014年12月31日算法设计技能训练任务书指导教师(签章):年月日摘要在当今社会,互联网的发展,给人的工作和生活带来了极大的便利和高效,信息化、电子化已经成为节约运营成本提高工作效率的首选。
随着各个公司的规模增大,有关信息管理工作所涉及的数据量越来越大,职工信息量也大大增加,利用传统的手工查询、登记、修改等方法的处理速度已经远远跟不上公司的需求。
而且,人工方式来管理职工信息,存在着许多缺点,如:效率低、保密性差,对信息的查找、更新和维护不便。
计算机作为知识经济时代的产物,其强大的功能已为人们深刻认识。
本文对职工管理系统进行设计,主要为了企业职工的信息进行集中管理和快捷查询。
本职工信息管理系统包括新增、删除、查询、修改、排序等常用功能.整个系统用C++语言设计,用户可轻松管理企业员工信息.关键词职工管理系统职工信息管理 C++ 数据结构目录1 引言 (5)1。
1 设计目的 (5)1.2 设计意义 (5)2 需求分析............................................. (6)2。
1 设计题目描述 (6)2。
2 设计要求 (6)2.3 实现提示 (6)2。
4 选做内容 (6)2。
5 软硬件运行环境及开发工具 (6)3 课程设计报告内容............................................................ (6)3.1 系统设计思想 (7)3.2 系统概要设计 (7)3.3 系统详细设计 (9)3.3。
1 结构体设计...................................................... (9)3.3。
C++小型公司员工信息管理系统设计报告要点
![C++小型公司员工信息管理系统设计报告要点](https://img.taocdn.com/s3/m/39b2bca71a37f111f1855bf9.png)
高职学院C++程序设计语言上学期课程设计报告(2011 -2012第1学期)课程设计类型:C语言程序设计题目:人员信息管理系统学号:姓名:专业:计算机应用基础指导教师:课程设计日期:2012.12.23-2012.12.27.目录1. 问题分析 (1)2. 总体设计 (1)2.1 功能分析 (1)3. 详细设计 (2)3.1 程序结构图 (2)3.2 程序类结构图 (2)3.3 程序类结构图 (3)4. 功能测试 (4)4.1 本系统的主界面 (4)4.2 录入功能的主界面 (4)4.3 显示功能的主界面 (5)4.4 查找功能的主界面 (5)4.5 修改功能的主界面 (6)4.6 删除功能的主界面 (6)4.7 清理功能的主界面 (7)4.8 退出功能的主界面 (7)5. 课设小结 (7)参考文献 (8)附录:源代码清单 (8)1. 问题分析1.1 问题描述1.题目《人员信息管理系统》设计2.设计说明与要求(1)公司主要有4类人员:经理、技术人员、销售员、销售经理,要求存储这些人的姓名、年龄、工资信息。
(2)工资的计算方法A、经理:固定为8000元;B、技术员:工作时间*每小时酬金(100RMB);C、销售员:4%提成;D、销售经理:1%提成+固定工资(5000RMB);(3)实现功能①录入:输入各种数据,并录入TXT文件保存;②显示:显示员工的数据信息;③查找:查找员工的数据信息;④修改:修改员工的数据信息;⑤删除:删除员工的数据信息;⑥退出:退出本系统;⑦清理存储文件:清理系统产生的TXT文件;2. 总体设计2.1 功能分析使用面向对象的程序设计思想进行分析,整个系统涉及两大类信息和操作,公司,人员。
所以系统主要涉及两个大类:公司类business、人员类person。
系统的总体框架就是公司类,人员类的定义;主函数中定义一个公司对象,循环显示主菜单并根据用户选择调用公司类的相应方法(成员函数)。
C语言课程设计报告:职工信息管理系统程序设计
![C语言课程设计报告:职工信息管理系统程序设计](https://img.taocdn.com/s3/m/4515873e53d380eb6294dd88d0d233d4b14e3ffd.png)
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.编程中遇到的困难及解决方法温故而知新,可以为师矣。
职工信息管理系统设计报告
![职工信息管理系统设计报告](https://img.taocdn.com/s3/m/3d83b7ac43323968001c9217.png)
printf("请输入姓名:");
sca nf("%s",em[i]. name);
getchar();
printf("请输入性别(f--女m--男):");scanf("%c",&em[i].sex); printf("请输入年龄:");
{
case 1:del();break;
case 0:break;
default:break;
}
}
void add()
{FILEຫໍສະໝຸດ fp;int n;int coun t=0;
int i;
int m=load();
printf("\n原来的职工信息:\n");
display();
prin tf("\n");
进入查询信息:则屏幕会出现两个对话框一一 按员工,工号查找,查处相应的所需信息,当查询不 能显示需要时进入修改程序,把所输入的信息进行修 改,使之正确能够正常运行或进入删除信息中,重新 输入自己所要的信息。
当信息输入正确,进入你所需要的菜单程序中: 员工信息:显示员工工作号、性别、学历、等。
#in elude <stdio.h>
prin tf("\n%d\t\t%s\t%c\t\t%d\t\ n",em[i]. nu m,em[i]. name,em[i].sex,em[i].age);
printf("\n学历\t\t工资\t\t住址\t\t电话\n");
prin tf("\n%s\t%d\t\t%s\t%s\n",em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
小型公司职工信息管理系统
![小型公司职工信息管理系统](https://img.taocdn.com/s3/m/5e23f55652ea551810a68793.png)
小型公司职工信息管理系统系统介绍该小型公司职工信息管理系统是应用C编程语言制作,有很强的可操作性,功能齐全。
其对象是消息公司或企业的职工信息,包括编号,姓名,性别,年龄,职位,收入,以及家庭住址和电话号码,并且可以进行简单的工资查询。
具体操作将在下面一一做详细介绍。
在附录中有我在制作该系统中的一些问题,解决方法以及感受.功能介绍具体功能:该系统由六大功能构成,这五大功能分别是菜单,开机动画输入输出,查询,以及饼图功能,并且具有双列表结构可方便输入。
下面对各大功能做详细介绍。
1.菜单:该功能主要起着连接和选择的作用,用户可以通过对菜单的操作来实现对各个具体功能的操作。
2.开机画面:在开始执行程序后首先出现的就是开机画面,这是为了给用户营造一个良好的工作环境,在使用该系统的时候可以有一个好心情。
它主要是用TURBO C 作图和动画技术做成的。
3.输入输出:该两项功能是为最基本的功能,如果没有输入功能的话,那么其他功能也是无法实现的,在输入功能中,在向一个结构体数组输入数据的同时建立一个文件,以便在其他功能中可以直接打开文件调用数据。
4. 排序:该功能是为了将职工按照工资高低给予排序,使之一目了然。
5.查询:这也是主要功能之一,用户可以通过输入一个工资数,然后将输出工资高于这个数的所有职工,他们的信息将完整的在屏幕上显示。
这很方便的可以进行职工之间的比较。
6.饼图:该功能是将查询功能实现后的结果用图形的方式显示出来,更为直观和形象。
各功能函数的基本原理1.开始及结尾动画:该功能是应用了图形区域存储再释放的基本动画原理,在该功能中,在一个矩形区域里写上“this is homework by ztx”的字样,再用getimage() 函数将该区域保存,用一for 循环将起不断的用putimage()函数将其显示在其他区域。
于是便形成了动画效果。
2.菜单:在该功能中,主要起作用的函数是get_item( ),get_key( )和那些制作菜单边框和颜色设置函数。
员工管理系统设计报告
![员工管理系统设计报告](https://img.taocdn.com/s3/m/0488c6daba4cf7ec4afe04a1b0717fd5360cb28b.png)
员工管理系统设计报告一、项目名称:员工信息管理系统二、项目计划1.1系统开发目的由于现有公司的规模不断扩大,管理员对现有员工的工作安排,工资统计,新增员工信息等一系列员工信息的统计,需要付出大量的工作时间,而且工作效率很低。
为提高工作效率,减轻管理人员的工作负担,我们开发了员工信息管理系统软件,本系统提供了一套员工综合信息管理的平台,使得系统管理人员对公司的工种进行分类,进而确定各个工种所对应的部门信息,在已有部门信息基础上能够对所有的员工信息进行分类管理。
可以消除以前大量的人工劳动,大大节省了公司人力资源,另外,计算机的存储与快速查询功能大大提高了员工管理的效率,提高了信息学管理的精确度。
方便快捷的操作,可减少因工作冗余出现的错误,并且操作非常简单,可使管理人员拥有一个可操作的业务平台,从而使管理人员对员工管理工作更加系统化、规范化、自动化。
1.2背景说明目前,公司的员工信息管理工作已不再局限于对员工基本信息数据库的维护,而是越来越多的参与到为其他部门提供一些必要的协调与服务。
员工信息管理的现状主要为:缺乏统一的管理模式,员工数据较为分散,随着员工的改变,需要经常对数据进行变更,而且对于变动的数据不能做到及时统一与修正。
相关部门之间很难建立一套机制来确保数据的完整性,因而需要大量的人力资源来弥补这个空缺。
1.3可行性研究(1)技术可行性本系统属于一个普通的MIS信息系统,组织关系比较简单,对系统的操作也只是简单的添加、删除、统计等,没有复杂的技术要求,而且采用Access 作为该系统数据库,可以满足数据量的要求。
且系统有友好的用户界面、良好的安全性设置、易于操作,使用户很快掌握系统的使用方法,因此本系统在技术操作上是可行的。
(2)经济可行性本系统所用的开发工具和软件都差不多是免费的。
而且,由于系统能够在未来较长的一段时期内稳定地发挥作用,这对于企业的办公自动化管理,节省企业的人力、物力资源等都有很大的帮助,由此可见开发此系统在经济上是完全可行的。
小公司人员数据分析报告(3篇)
![小公司人员数据分析报告(3篇)](https://img.taocdn.com/s3/m/15577f61df80d4d8d15abe23482fb4daa58d1d3a.png)
第1篇一、报告概述随着市场竞争的日益激烈,企业对人力资源管理的重视程度不断提升。
本报告针对某小公司的人员数据进行深入分析,旨在通过数据分析揭示公司人力资源现状,为管理层提供决策依据,助力企业优化人员结构,提高人力资源效率。
二、数据来源与范围本报告数据来源于公司人力资源部门,包括员工基本信息、工作绩效、培训记录、薪酬福利等。
数据范围涵盖公司成立至今的所有员工,共计100名员工。
三、数据分析方法本报告采用描述性统计分析、交叉分析、相关性分析等方法对数据进行处理和分析。
四、数据分析结果(一)员工基本信息分析1. 性别比例:公司男女员工比例约为3:7,女性员工占比偏高,可能与公司行业特性有关。
2. 年龄分布:员工年龄主要集中在25-35岁之间,占比约60%,这部分员工具有较高的工作积极性和创新能力。
3. 学历结构:公司员工学历以大专和本科为主,占比约80%,硕士及以上学历员工占比约20%,符合行业人才需求。
4. 工作经验:公司员工工作经验主要集中在1-5年,占比约60%,这部分员工对工作流程较为熟悉,但创新能力和领导力有待提升。
(二)工作绩效分析1. 绩效得分:通过对员工工作绩效进行评分,发现员工整体绩效得分较高,说明公司员工整体工作表现良好。
2. 绩效分布:绩效得分在90分以上的员工占比约30%,80-90分之间的员工占比约50%,说明公司员工具备一定的工作能力。
3. 绩效与年龄、学历、工作经验的关系:通过相关性分析,发现绩效与年龄、学历、工作经验之间存在一定关联,但并非绝对。
(三)培训与成长分析1. 培训参与率:公司员工培训参与率较高,说明员工对个人成长较为重视。
2. 培训内容:培训内容主要包括专业技能、团队协作、领导力等方面,有助于提升员工综合素质。
3. 培训效果:通过调查发现,大部分员工认为培训对自身成长具有积极作用。
(四)薪酬福利分析1. 薪酬水平:公司员工薪酬水平与行业平均水平基本持平,说明公司薪酬体系较为合理。
员工管理系统C数据结构课程设计报告
![员工管理系统C数据结构课程设计报告](https://img.taocdn.com/s3/m/bdc7f90d492fb4daa58da0116c175f0e7cd1199a.png)
(三)各程序模块之间的层次(调用)图3.详细设计1、主菜单模块:显示员工管理系统的主菜单,供用户选择所需的功能,通过自己定义的void put( )函数来实现。
2、添加员工模块:输入员工的编号、、年龄、职位、工龄以,通过自己定义的voidaddMessage( )函数来实现。
3、查询员工信息模块:浏览所有员工的相关信息,通过自己定义的void Listfind( )函数来实现。
4、删除员工模块:删除需要删除的员工的所有信息,通过自己定义的void ListDelete( )函数来实现。
5、修改模块:可以修改需要修改的员工的相关信息,通过自己定义的void ListModify( )函数来实现。
6、员工信息排序模块:可以按照规定要求对员工信息排序,通过自己定义的void sort( )函数来实现。
7、退出系统模块。
四、测试过程1、进入系统如图所示:2、根据提示信息输入1、增加员工信息:3、根据提示信息输入3查询员工信息,选择第一种对进行查询做演示:4,根据提示信息修改员工信息:5、根据提示信息输入5,选择按编号进行排序:6、根据提示信息,输入2删除员工信息五、用户使用说明进入员工管理系统,首先看到的就是主菜单界面选择1:进入添加员工信息模块,按照提示语依次录入员工对象信息。
选择2:进入删除员工信息模块。
选择3:进入员工查询模块,在此模块下,系统提示:按查询、按编号查询,系统根据用户选择进行相应的处理,退出查询模块时,系统进入主菜单模块。
选择4:进入修改员工信息模块,在该模块下,系统提示:修改整条信息,修改部分信息,系统根据用户选择,进行相应的功能处理。
当用户选择退出修改模块时,系统进入主菜单模块。
选择5:进入排序模块,在该模块下,系统提示:按年龄排序、按工龄排序、回复原排序,系统根据用户的选择,进行相应的处理。
选择0:退出系统。
六、总结本次课程设计是围绕数据结构进行。
根据问题描述可知,需要解决问题并不复杂,整个问题只需要实现一个员工管理系统功能,那就是在这个系统中实现对员工信息的插入、删除、查询、排序、修改。
企业员工管理信息系统报告
![企业员工管理信息系统报告](https://img.taocdn.com/s3/m/08f2108f0d22590102020740be1e650e53eacf6e.png)
企业员工管理信息系统报告1.引言1.1 概述概述:企业员工管理信息系统是一种集成了人力资源管理、员工档案管理、薪资管理、考勤管理等多个功能模块的信息系统。
它可以帮助企业实现对员工信息的集中管理和高效运作,提高组织的管理效率和员工的工作满意度。
本报告将对员工管理信息系统的定义、重要性、功能和特点进行深入分析,并提出对企业员工管理信息系统的建议,展望未来的发展方向。
1.2 文章结构文章结构:本报告将围绕着企业员工管理信息系统展开深入探讨,首先将从引言部分对员工管理信息系统进行概述,介绍文章的结构和目的。
接着,在正文部分将详细阐述员工管理信息系统的定义、重要性、功能和特点。
最后,在结论部分对之前的内容进行总结,提出对企业员工管理信息系统的建议,同时展望未来员工管理信息系统的发展趋势。
通过本报告,读者将全面了解企业员工管理信息系统的重要性以及其在企业管理中的作用和影响,以期为企业的人力资源管理提供指导和借鉴。
1.3 目的:本报告的目的是为了深入探讨企业员工管理信息系统在现代企业管理中的重要性和作用,以及对该系统的功能和特点进行全面的分析和总结。
通过本报告,读者可以了解到员工管理信息系统对于提升企业管理效率、改善员工管理体系、促进企业发展等方面的积极作用,以及在未来的发展趋势和建设方向。
企业管理者、技术人员和相关从业者可以通过本报告深入了解企业员工管理信息系统的应用,为企业的管理决策和信息化建设提供参考和指导。
2.正文2.1 员工管理信息系统的定义员工管理信息系统是指利用计算机技术和信息管理技术对企业员工的信息进行收集、存储、处理和传递的系统。
它包括了员工的基本信息、工作记录、薪酬福利、绩效考核、培训发展等方面的管理内容。
通过员工管理信息系统,企业可以实现对员工信息的集中管理、快速查询和准确分析,从而提高人力资源管理的效率和效果。
员工管理信息系统的基本构成包括员工信息数据库、信息采集与管理、信息处理与分析、信息传递与应用等模块。
职工信息管理系统分析与设计
![职工信息管理系统分析与设计](https://img.taocdn.com/s3/m/8c2ac8cc89eb172ded63b70e.png)
职工信息管理系统分析与设计完成人:陈春玲学号: 80911009 日期:2011-6-13第一章结构化分析一、系统概述1.开发目的企业职工信息管理系统是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,此系统是为了设计一套合理的企业职工信息管理系统,为企业的职工信息管理提供方便,为用户提供充足的信息和快捷的查询手段:企业职工可以方便的查询个人的基本情况;管理员拥有一个可操作的业务平台,从而使管理人员对职工管理工作更加系统化、规范化、自动化;使企业内部的管理趋向正规化和大众化。
2.系统功能概述⑴系统说明:系统预先建立了“职工基本信息表”数据库(包括职工编号,姓名,性别,年龄,学历,工资,所属部门,职务等等),在第一次输入基本信息时,将所有职工信息写入文件中,以便为以后的数据库管理工作提供可操作性,通过新职工和新管理员注册形成“注册表”数据库,为职工和管理员登录提供匹配依据。
⑵企业普通职工功能说明:①注册/登录功能: 新职工可输入职工个人信息进行注册;已注册过的职工用户可根据职工编号和职工密码登录到系统内部;②查询功能:企业职工可根据的职工编号和密码查询个人的基本信息。
⑶系统管理员功能说明:①注册/登录功能:新管理员可输入管理员信息进行注册;已注册的管理员可根据管理员编号和密码登录到系统内部。
②查询记录:系统根据管理员所给关键字信息查询并显示一个或多个企业职工的基本信息。
关键字包括: a.全体职工b.某部门全体职工c.某年龄段的全体职工d.某学历的全体职工③维护功能:a.增加职工信息:增加新职工时输入新职工的基本信息并加入文件中。
b.修改某职工的部分信息:当职工实际情况发生变化如:加工资,获新学位,晋升职称。
c.删除职工信息:当职工离职时,删除职工的基本信息同时修改文件中的相应内容。
3.运行软硬件平台由于本系统管理的对象单一,管理过程简单,普通计算机再存储量速度方面都能满足各方面的要求,所使用软件开发工具为Microsoft Visual C++6.0,SQL server 2008 。
员工管理系统需求分析报告
![员工管理系统需求分析报告](https://img.taocdn.com/s3/m/15ebd7a3162ded630b1c59eef8c75fbfc77d9424.png)
员工管理系统需求分析报告1. 引言1.1 目的和背景本文档旨在对员工管理系统进行需求分析,明确系统的功能、性能和界面设计等方面的需求,以便开发团队能够根据这些需求进行系统开发和测试。
1.2 文档范围本文档适用于员工管理系统的需求分析阶段,包括对系统功能、性能、安全性等方面的需求进行全面的分析和描述。
2. 功能需求2.1 员工信息管理•系统应能够提供员工信息的增删改查功能。
•每位员工应有唯一的标识符,并能够记录员工的基本信息,如姓名、性别、年龄、联系方式等。
•系统应能够支持员工信息的批量导入和导出功能,以提高工作效率。
2.2 薪资和绩效管理•系统应能够记录员工的薪资信息,包括基本工资、绩效奖金、加班工资等。
•系统应能够根据员工的绩效评估进行自动计算,并生成相应的薪资报表。
•系统应支持薪资的调整和统计分析功能。
2.3 考勤管理•系统应提供员工的考勤管理功能,包括请假、加班、迟到、早退等情况的记录和统计。
•系统应能够根据员工的考勤情况自动生成考勤报表,并进行统计分析。
•系统应支持考勤异常情况的提醒和处理功能。
2.4 组织架构管理•系统应支持对组织架构的管理,包括部门的创建、修改、删除等操作。
•系统应能够维护员工与部门之间的关系,并进行关联查询和统计。
3. 性能需求3.1 响应时间系统应保证在正常的负载下,响应用户请求的时间不超过3秒,以保证用户的使用体验。
3.2 并发性能系统应能够支持多用户同时访问,且系统性能不应因此而显著下降。
3.3 可扩展性系统应能够方便地扩展,以应对未来员工数量的增长和系统功能的扩展。
4. 安全需求4.1 数据安全性系统应采取必要的措施,保障员工的个人信息安全,防止未经授权的访问和泄露。
4.2 权限管理系统应具备权限管理功能,根据用户的角色和权限进行访问控制,避免信息被非授权人员访问、修改或删除。
5. 界面设计5.1 界面风格系统应具有简洁、直观的界面设计,符合用户习惯,提高用户使用的效率和舒适度。
员工信息管理系统需求分析报告.doc (2)
![员工信息管理系统需求分析报告.doc (2)](https://img.taocdn.com/s3/m/8fc2f1daeefdc8d377ee32d3.png)
1引言1.1背景随着社会的发展,人类科技文明的进步,企业为人类生活所创造的财富是巨大的,企业在社会经济所起到的重要作用更无法估量的。
并且随着我国与国际上先进的现代化企业的接轨,如:合资,独资企业的不断涌现,新型企业内部对其自身现代化信息管理的水准的要求也在不断提升。
因此,不同的企业都需要有适合自己管理规范标准的企业“员工管理系统”,从而达到提高企业的管理水平、提高经济效益为社会、为人类服务的目的。
另外,事业单位拥有“员工管理系统”可以科学、全面、高效进行人事管理水平。
因此,针对事业单位所开发的“员工管理系统”,也可以是功能全面地实用的“人事管理系统”.1.2目的学习使用Java设计与开发“员工信息管理系统”,能把多所学到的Java6技术、数据库技术更好的进行融合,让学生在Eclipse开发平台上进行一次有意义的实战开发演戏。
在此系统的设计过程中,学生可以充分展示个人的发散思维以及小组集体的创造力,从而达到开发别具风格与特色的“员工管理系统”。
使学生在此综合实训过程中达到学会学习软件设计的目的,达到培养自身综合素质的能力。
为下一阶段的学习,也为走向社会工作岗位奠定良好的基础。
1.3意义编写此篇文档的主要意义是让使用该系统的人可以清晰地明白该系统的主要功能,使用户可以合理的应用该系统,减少由于用户的不当操做给该系统所带来的危害。
1.4参考文献《Java 学习笔记》编著:林信良出版社:清华大学出版社《软件需求工程》编著:毋国庆、梁正平、袁梦霆、李勇华出版社:机械工业出版社2项目概述2.1总体功能描述员工信息管理系统是对员工信息的管理,其中包括对新员工信息的录入,对在职员工信息进行修改,删除,查询。
整个项目大致划分为增加员工基本信息,修改员工基本信息,删除员工信息,查询员工基本信息这四大模块,也是整个项目的核心.功能模块2.2用户特点员工工资管理系统面向企业,属于企业信息管理的一部分.操作本软件的工作人员只需具备基本的计算机知识,而系统的维护人员需要具备Eclipse 和数据库的相关知识。
职工信息管理系统 系统需求分析
![职工信息管理系统 系统需求分析](https://img.taocdn.com/s3/m/3f2cb3e8700abb68a982fb46.png)
系统需求分析(一).本系统面向的用户分为三类:职工基本信息管理员、职工工资和考勤记录管理员、职工。
以上三类用户使用系统做什么,具体阐述如下:1. 职工基本信息管理员使用该系统对职工的基本信息进行管理,包括职工添加、修改、删除、查询以及形成基本信息表等。
2.考勤记录管理员使用该系统进行职工假期、出勤、旷工、加班等基本考勤信息的增添、删除、查询以及形成考勤信息表和相对应的工资表等操作。
3.职工使用该系统可进行查询自己的基本信息、工资、考勤记录。
(二).本系统的功能结构图如图(1)所示:图(1)(三).本系统的组织结构图如图(2)所示:图(2)(四).本系统的数据流程图如图(3)(4)(5)所示:图(3)图(4)图(5)(五).本系统数据字典如表(1)(2)(3)(4)所示:名称编号基本组成职工信息F1 F5+F9返回结果F2 F6+F10管理员信息F3 F7+F14+F16反馈信息F4 F8+F15+F17职工注册登录信息F5 职工编号+职工密码职工注册登录结果F6 职工注册登录失败/职工注册登录成功管理员注册登录信息F7 管理员编号+密码管理员注册登陆结果F8 管理员注册登录失败/管理员注册登录成功职工查询要求F9 职工编号职工查询结果F10 职工编号+姓名+性别+年龄+电话+部门+职务+地址+考勤记录+工资/“错误”维护申请F11 F15+F17+F19维护结果F12 F16+F18+F20管理员查询要求F13 关键字[职工编号,姓名]管理员查询结果F14 职工编号+姓名+性别+年龄+电话+部门+职务+地址+考勤记录+工资/“错误”新增员工F15 职工编号+姓名+性别+年龄+电话+部门+职务+地址+考勤记录+工资输入结果F16 职工编号+姓名+性别+年龄+电话+部门+职务+地址+考勤记录+工资修改条件F17 职工编号+姓名+性别+年龄+电话+部门+职务+地址+考勤记录+工资修改结果F18 职工编号+姓名+性别+年龄+电话+部门+职务+地址+考勤记录+工资员工离职F19 职工编号+姓名+性别+年龄+电话+部门+职务+地址+考勤记录+工资删除结果F20 职工编号+姓名+性别+年龄+电话+部门+职务+地址+考勤记录+工资表(1)(数据流条目)名称输入数据流输出数据流职工F2 F1管理员F4 F3表(2)(数据源条目)名称编号文件组成职工基本信息表S1 职工编号+姓名+性别+年龄+电话+部门+职务+地址+考勤记录+工资注册表S2 职工编号+职工密码+管理员编号+管理员密码表(3)(数据文件条目)名称编号加工逻辑注册/登录P1 如果职工/注册/登录信息与注册表匹配,进入查询系统,否则返回职工登录失败如果管理员/注册/登录信息与注册表匹配,进入查询系统或维护系统,否则返回管理员登录失败查询P2 职工/管理员查询时,如果符合查询要求,输出正确查询结果,否则输出错误增加P3.1 如果需要增加新员工,输入新职工的基本信息修改P3.2 如果满足修改条件,可以修改员工基本信息删除P3.3 如果员工离职,可以删除员工基本信息表(4)(加工条目)。
c公司人员信息管理系统课程设计报告
![c公司人员信息管理系统课程设计报告](https://img.taocdn.com/s3/m/b5918a3902768e9951e738e3.png)
目录1 系统需求分析 (1)2 总体设计 (2)3 详细设计及实现 (4)4 系统调试 (164)5 结论 (73)6 心得体会 (167)7参考书目 (75)1 系统需求分析1.1系统设计的目的与意义:现在的公司人员数量及职位种类较多,各样的人事管理活动也比较频繁,因此需要设计一个公司人员信息管理系统来对公司员工信息进行管理。
1.2 系统功能需求:本系统有五个类:基类:employee、派生类:manager、technician、salesman、salesmanager,储存经理、技术人员、销售人员、销售经理信息。
(1)添加功能程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求人员的编号要唯一,如果添加了重复编号的记录时,则提示用户数据添加重复并取消添加。
(2)查询功能可根据编号、姓名等信息对已添加的记录进行查询。
如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能可显示当前系统中所有记录。
(4)修改功能可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能对已添加的人员记录进行删除。
如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存在。
(6)统计功能能根据多种参数进行人员的统计。
例如:统计四类人员数量以及总数,统计男、女员工的数量,统计平均工资、最高工资、最低工资等。
(7)保存功能将当前系统中各类人员记录存入文件中。
(8)读取功能将保存在文件中的人员信息读入到当前系统中,以供用户使用。
2 总体设计2.1 系统功能分析:系统通过调用函数来实现信息添加、信息查询、信息显示、信息修改、信息删除、以及数据读取保存文件等功能。
add()函数用于录入信息;search()函数用来查询信息;show()函数用来显示信息;alter()函数用来修改信息;del()函数用来删除信息;stat()函数用来统计信息read()函数用于将文件中的数据读取到内存中;save()函数用于将内存中的信息存入文件内;主函数main()用于调用这些函数。
员工信息管理模块系统分析
![员工信息管理模块系统分析](https://img.taocdn.com/s3/m/1647f85784868762cbaed51b.png)
员工信息管理模块分析报告1、引言1.1.系统背景随着计算机技术和通讯技术发展,商业全球化和信息化浪潮在逐渐在全球开始蔓延。
同时伴随着公司规模和经营范围逐步扩大,传统人力资源管理模式已经不能满足越来越庞大现代人力信息和快捷需求人力资源管理,利用计算机和网络技术来实现企业人力资源管理已经是势在必行。
对于大中型企业来说,利用计算机支持企业人力资源管理日常事务管理,是适应现代企业制度要求,也是推动企业人力资源管理走向科学化、现代化必要条件。
计算机管理检索迅速、查找方便、可靠性强、存储量大、保密性好、寿命长、成本低等无可比拟优势极大提高了人力资源管理效率,同时也是推动企业科学化,正规化管理、实现企业核心优势重要途径。
本系统结合公司实际人力资源管理制度,通过对公司现有制度下出现员工档案信息已丢失、人力成本浪费、员工重复培训、员工培训期过长、员工跳巢频繁和员工对绩效考核结果不满等诸多不利情况分析,在对公司人力资源管理流程观察和研究情况下将公司人力资源管理系统划分为了:基本信息管理,员工招聘管理,员工心理素质测试和分析管理,员工培训管理,员工绩效管理和员工薪酬管理六个模块,以期通过六个模块相互配合和调用实现公司人力资源管理。
而基本信息管理作为其余五个模块依存和调用基础模块,成为了公司整个人力资源管理系统最核心部分,所以能否建立一个全面清晰员工信息管理系统成为了决定整个人力资源管理系统能否友好适用关键。
及此同时在做系统分析时也必须考虑到这个工作艰巨性,为了能够作为其余五个模块支撑,员工基本信息管理系统数据项设置必须在充分了解其余五个模块流程和基本要求前提下进行,也只有这样才能保证员工基本信管理全面合理。
1.2 项目背景建议开发软件名称:人力资源管理信息系统(基本信息管理模块);项目提出者:*****公司;开发者:****项目组;用户:公司员工,人力资源部;实现软件单位:信管10902班;1.3系统定义该人力资源管理系统是基于Internet/Intranet 及Web技术,建立以Browser/Server 为结构模式、以数据库为后台核心应用、以服务为目信息平台,对资源进行科学加工整序和管理维护,为公司运作和基本管理提供信息保障和提高公司管理和运作效率而设计系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++小型公司员工信息管理系统设计报告要点————————————————————————————————作者:————————————————————————————————日期:高职学院C++程序设计语言上学期课程设计报告(2011 -2012第1学期)课程设计类型:C语言程序设计题目:人员信息管理系统学号:姓名:专业:计算机应用基础指导教师:课程设计日期:2012.12.23-2012.12.27.目录1. 问题分析 (1)2. 总体设计 (1)2.1 功能分析 (1)3. 详细设计 (2)3.1 程序结构图 (2)3.2 程序类结构图 (2)3.3 程序类结构图 (3)4. 功能测试 (4)4.1 本系统的主界面 (4)4.2 录入功能的主界面 (4)4.3 显示功能的主界面 (5)4.4 查找功能的主界面 (5)4.5 修改功能的主界面 (6)4.6 删除功能的主界面 (6)4.7 清理功能的主界面 (7)4.8 退出功能的主界面 (7)5. 课设小结 (7)参考文献 (8)附录:源代码清单 (8)1. 问题分析1.1 问题描述1.题目《人员信息管理系统》设计2.设计说明与要求(1)公司主要有4类人员:经理、技术人员、销售员、销售经理,要求存储这些人的姓名、年龄、工资信息。
(2)工资的计算方法A、经理:固定为8000元;B、技术员:工作时间*每小时酬金(100RMB);C、销售员:4%提成;D、销售经理:1%提成+固定工资(5000RMB);(3)实现功能①录入:输入各种数据,并录入TXT文件保存;②显示:显示员工的数据信息;③查找:查找员工的数据信息;④修改:修改员工的数据信息;⑤删除:删除员工的数据信息;⑥退出:退出本系统;⑦清理存储文件:清理系统产生的TXT文件;2. 总体设计2.1 功能分析使用面向对象的程序设计思想进行分析,整个系统涉及两大类信息和操作,公司,人员。
所以系统主要涉及两个大类:公司类business、人员类person。
系统的总体框架就是公司类,人员类的定义;主函数中定义一个公司对象,循环显示主菜单并根据用户选择调用公司类的相应方法(成员函数)。
3. 详细设计3.1 程序结构图3.2 程序类结构图雇技术经销售销售Person类charname[20];charSell类int phpay; int Technician类inthourlyRaBusiness类inttime;Sell类intphpay;intBagman类intphpay;void in;3.3 程序类结构图开始输入SwitcCa结束删除员CaCa Ca Ca Ca Ca 修改员查找员显示员录入员删除存4. 功能测试4.1 本系统的主界面4.2 录入功能的主界面4.4 查找功能的主界面4.6 删除功能的主界面4.7 清理功能的主界面4.8 退出功能的主界面5. 课设小结根据课程设计的要求,我思考出了自己的课题,我用本学期所学的C++面向对象的知识来编写程序。
我利用面向对象的方法以及C++的编程思想来完成系统的设计,在设计的过程中,建立清晰的层次,当然在调试过程中我也遇到了许多问题。
本程序由雇员这个基类派生出多个派生类,并且调用多个函数。
主函数主要运用选择结构。
派生类中的保护类数据要通过定义公有类型的函数来从类外调用。
和一些相当复杂的算法,自己看了都乱,头都晕。
不过,我相信,不经历风雨怎么能见彩虹。
在解决了这一切后,我有一种:天将降大任于斯人也,必先劳其筋骨,饿其体肤的感觉!参考文献1.钱能主编,C++程序设计教程,清华大学出版社,2000.112.戴锋编著,Visual C++程序设计基础,清华大学出版社,2001.43.施平安主编,C++程序设计教程(第四版),清华大学出版社,2004.34.林丽闽主编,标准C++程序设计教程,电子工业出版社,2003.6.15.谭浩强主编,C++程序设计,清华大学出版社,2004.6附录:源代码清单#include<iostream.h>#include<fstream.h>#include<string.h>#include<stdlib.h>#include<stdio.h>class person{public:char name[20],post[20],hour[20];int age,number;};class business :public person{public :int time;};//经理class mgr : public person{public:int monthpay;mgr :: mgr(){monthpay=8000 ;}void out(){cout<<"请输入职工的编号:";cin>>number ;cout<<"请输入职工的姓名:";cin>>name ;cout<<"请输入职工的年龄:";cin>>age ;cout<<"该职工的月薪为:"<<monthpay<<endl;}void in(){cout<<"编号:"<<number<<' '<<"姓名:"<<name<<' '<<"年龄:"<<age<<' '<<"职称:"<<"经理"<<' '<<"月薪:"<<monthpay<<endl;}};//技术人员class technician :public person{public:int hourlyRate ;//每小时酬金int workHours ;//当月工作时数int pay;technician :: technician(){hourlyRate=100 ;};void in(){cout<<"编号:"<<number<<' '<<"姓名:"<<name<<' '<<"年龄:"<<age<<' '<<"职称:"<<"技术人员"<<' '<<"月薪:"<<pay<<endl ;}void out(){cout<<"请输入职工的编号:";cin>>number ;cout<<"请输入职工的名字:";cin>>name ;cout<<"请输入工作的小时:";cin>>workHours ;cout<<"请输入职工的年龄:";cin>>age ;pay=hourlyRate*workHours;cout<<"该职工的月薪为:"<<pay<<endl;}};//销售经理class sell :public business{public:int phpay,monthpay;sell :: sell(){phpay=1,monthpay=5000;}void in(){cout<<"编号:"<<number<<" "<<"姓名:"<<name<<" "<<"销售额:"<<time<<" "<<"年龄:"<<age<<" "<<"职称:"<<"销售经理"<<" "<<"月薪:"<<pay()<<endl ;}int pay(){return(phpay*time+monthpay);}void out(){cout<<"请输入职工的编号:";cin>>number ;cout<<"请输入职工的名字:";cin>>name ;cout<<"请输入销售额:";cin>>time ;cout<<"请输入职工的年龄:";cin>>age ;cout<<"职工的月薪为:"<<pay()<<endl;}};//推销员class bagman :public business{public:int phpay ;bagman :: bagman(){phpay=4;}void in(){cout<<"编号:"<<number<<" "<<"姓名:"<<name<<" "<<"销售额:"<<time<<" "<<"年龄:"<<age<<" "<<"职称:"<<"推销员"<<" "<<"年薪:"<<pay()<<endl ;}int pay(){return(phpay*time);}void out(){cout<<"请输入职工的编号:";cin>>number ;cout<<"请输入职工的名字:";cin>>name ;cout<<"请输入销售额:";cin>>time ;cout<<"请输入职工的年龄:";cin>>age ;cout<<"该职工的月薪为:"<<pay()<<endl;}};//输入函数void write1(){mgr p;p.out();ofstream myfile("f1.txt",ios :: binary|ios :: ate);myfile.write((char*)&p,sizeof p);myfile.close();}void write2(){technician p;p.out();ofstream myfile("f2.txt",ios :: binary|ios :: ate);myfile.write((char*)&p,sizeof p);myfile.close();}void write3(){sell p;p.out();ofstream myfile("f3.txt",ios :: binary|ios :: ate);myfile.write((char*)&p,sizeof p);myfile.close();}void write4(){bagman p;ofstream myfile("f4.txt",ios :: binary|ios :: ate);p.out();myfile.write((char*)&p,sizeof p);myfile.close();}void build(){cout<<endl;cout<<" ******************请选择职工的信息****************** "<<endl;cout<<" ** 1.经理** "<<endl;cout<<" ** 2.技术人员** "<<endl;cout<<" ** 3.销售经理** "<<endl;cout<<" ** 4.推销员** "<<endl;cout<<" **************************************************** "<<endl;cout<<"请输入选择:"<<endl;char ch;cin>>ch;while(ch!='N'&&ch!='n'){switch(ch){case '1' :write1();break ;case '2' :write2();break ;case '3' :write3();break ;case '4' :write4();break ;default :cout<<"ERROR!!"<<endl;break ;}cout<<"是否继续使用录入功能:(Y/N)?";cin>>ch;if(ch=='Y'||ch=='y'){cout<<"请输入选择:"<<endl;cin>>ch;}}}//显示函数void show1(){ifstream myfile("f1.txt",ios :: binary|ios :: out|ios :: in);mgr p;myfile.read((char*)&p,sizeof p);while(!myfile.eof()){p.in();myfile.read((char*)&p,sizeof p);}myfile.close();}void show2(){ifstream myfile("f2.txt",ios :: binary|ios :: out|ios :: in);technician p;myfile.read((char*)&p,sizeof p);while(!myfile.eof()){p.in();myfile.read((char*)&p,sizeof p);}myfile.close();}void show3(){ifstream myfile("f3.txt",ios :: binary|ios :: out|ios :: in);sell p ;myfile.read((char*)&p,sizeof p);while(!myfile.eof()){p.in();myfile.read((char*)&p,sizeof p);}myfile.close();}void show4(){ifstream myfile("f4.txt",ios :: binary|ios :: out|ios :: in);bagman p ;myfile.read((char*)&p,sizeof p);while(!myfile.eof()){p.in();myfile.read((char*)&p,sizeof p);}myfile.close();}void show0(){show1();show2();show3();show4();}void show(){cout<<" **********************你正在显示********************"<<endl;cout<<" ** 0.全部显示**"<<endl;cout<<" ** 1.经理**"<<endl;cout<<" ** 2.技术人员**"<<endl;cout<<" ** 3.销售经理**"<<endl;cout<<" ** 4.推销员**"<<endl;cout<<" ****************************************************"<<endl;cout<<"请选择你要显示的职工类:"<<endl;char c;cin>>c ;while(c!='N'&&c!='n'){switch(c){case '0' :show0();break;case '1' :show1();break;case '2' :show2();break;case '3' :show3();break;case '4' :show4();break;default :cout<<"ERROR!!"<<endl;break;}cout<<"是否继续使用显示功能(Y/N)?"<<endl;cin>>c;if(c=='Y'||c=='y'){cout<<"请选择你要显示的职工类:"<<endl;cin>>c;}}}//查找函数void search1(){int m=1;cout<<"请输入你要查找的编号:"<<endl;int number;cin>>number;ifstream myfile("f1.txt",ios :: binary|ios :: out|ios :: in);mgr p;myfile.read((char*)&p,sizeof p);while(!myfile.eof()){if(number==p.number){p.in();myfile.close();m=0;}myfile.read((char*)&p,sizeof p);}if(m)cout<<"查无此人!!!"<<endl;}void search2(){int m=1;cout<<"请输入你要查找的编号:"<<endl;int number;cin>>number;ifstream myfile("f2.txt",ios :: binary|ios :: out|ios :: in);technician p;myfile.read((char*)&p,sizeof p);while(!myfile.eof()){if(number==p.number){p.in();myfile.close();m=0;}myfile.read((char*)&p,sizeof p);}if(m)cout<<"查无此人!!!"<<endl;}void search3(){int m=1;cout<<"请输入你要查找的编号:"<<endl;int number;cin>>number;ifstream myfile("f3.txt",ios :: binary|ios :: out|ios :: in);sell p ;myfile.read((char*)&p,sizeof p);while(!myfile.eof()){if(number==p.number){p.in();myfile.close();m=0;}myfile.read((char*)&p,sizeof p);}if(m)cout<<"查无此人!!!"<<endl;}void search4(){int m=1;cout<<"请输入你要查找的编号:"<<endl ;int number;cin>>number;ifstream myfile("f4.txt",ios :: binary|ios :: out|ios :: in);bagman p ;myfile.read((char*)&p,sizeof p);while(!myfile.eof()){if(number==p.number){p.in();myfile.close();m=0;}myfile.read((char*)&p,sizeof p);}if(m)cout<<"查无此人!!!"<<endl;}void search(){cout<<" *********************你正在查找*********************"<<endl;cout<<" ** 1.经理**"<<endl;cout<<" ** 2.技术人员**"<<endl;cout<<" ** 3.销售经理**"<<endl;cout<<" ** 4.推销员**"<<endl;cout<<" ****************************************************"<<endl;cout<<"请选择你的职称类型:"<<endl;char c;cin>>c;while(c!='N'&&c!='n'){switch(c){case '1' :search1();break;case '2' :search2();break;case '3' :search3();break;case '4' :search4();break;default :cout<<"ERROR!!"<<endl;break;}cout<<"是否继续使用查找功能(Y/N)?";cin>>c;if(c=='Y'||c=='y'){cout<<"请选择你的职称类型:"<<endl;cin>>c;}}}//修改函数void repair1(void){int num,i=0,k=0;mgr*p1=new mgr[50];cout<<"请输入你要修改的编号:";cin>>num ;ifstream h1("f1.txt",ios :: binary|ios :: in);h1.read((char*)&p1[i],sizeof p1[i]);while(!h1.eof()){i++;h1.read((char*)&p1[i],sizeof p1[i]);}h1.close();k=i ;for(i=0;i<k;i++){if(num==p1[i].number){p1[i].out();cout<<"修改完毕!"<<endl ;}}ofstream h2("f1.txt",ios :: binary|ios :: out);for(i=0;i<k;i++){h2.write((char*)&p1[i],sizeof p1[i]);h2.close();delete[]p1 ;}void repair2(void){int num,i=0,k=0;technician*p2=new technician[50];cout<<"请输入你要修改的编号:";cin>>num;ifstream h2("f2.txt",ios :: binary|ios :: in);h2.read((char*)&p2[i],sizeof p2[i]);while(!h2.eof()){i++;h2.read((char*)&p2[i],sizeof p2[i]);}h2.close();k=i ;for(i=0;i<k;i++){if(num==p2[i].number){p2[i].out();cout<<"修改完毕!"<<endl;}}ofstream h1("f2.txt",ios :: binary|ios :: out);for(i=0;i<k;i++){h1.write((char*)&p2[i],sizeof p2[i]);}h1.close();delete[]p2;}void repair3(void){int num,i=0,k=0;sell*p6=new sell[50];cout<<"请输入你要修改的编号:";cin>>num ;fstream h6("f3.txt",ios :: binary|ios :: out|ios :: in);h6.read((char*)&p6[i],sizeof p6[i]);while(!h6.eof())i++;h6.read((char*)&p6[i],sizeof p6[i]);}k=i ;h6.close();for(i=0;i<k;i++){if(num==p6[i].number){p6[i].in();cout<<"修改完毕!"<<endl;}}ofstream h1("f6.txt",ios :: binary|ios :: out);for(i=0;i<k;i++){h1.write((char*)&p6[i],sizeof p6[i]);}h1.close();delete[]p6;}void repair4(void){int num,i=0,k=0 ;bagman*p7=new bagman[50];cout<<"请输入你要修改的编号:";cin>>num;fstream h7("f4.txt",ios :: binary|ios :: out|ios :: in);h7.read((char*)&p7[i],sizeof p7[i]);while(!h7.eof()){i++;h7.read((char*)&p7[i],sizeof p7[i]);}k=i;h7.close();for(i=0;i<k;i++){if(num==p7[i].number){p7[i].out();cout<<"修改完毕!"<<endl;}ofstream h1("f7.txt",ios :: binary|ios :: out);for(i=0;i<k;i++){h1.write((char*)&p7[i],sizeof p7[i]);}h1.close();delete[]p7;}void repair(){cout<<" *********************你正在修改*********************"<<endl;cout<<" ** 1.经理**"<<endl;cout<<" ** 2.技术人员**"<<endl;cout<<" ** 3.销售经理**"<<endl;cout<<" ** 4.推销员**"<<endl;cout<<" ****************************************************"<<endl;cout<<"请输入你要修改的职称类型:"<<endl ;char c;cin>>c;while(c!='N'&&c!='n'){switch(c){case '1' :repair1();break;case '2' :repair2();break;case '3' :repair3();break;case '4' :repair4();break;default :cout<<"ERROR!!"<<endl;break;}cout<<"是否继续修改(Y/N)?"<<endl;cin>>c;if(c=='Y'||c=='y'){cout<<"请输入你要修改的职称类型:"<<endl;cin>>c;}}}void delete1(){int i=0,number;ifstream myfile("f1.txt",ios :: binary|ios :: in);mgr p[30];myfile.read((char*)(p+i),sizeof*p);cout<<"请输入你要删除的对象的编号:"<<endl;cin>>number;while(!myfile.eof()){if(number==p[i].number){i--;}i++;myfile.read((char*)(p+i),sizeof*p);}int k=i;myfile.close();ofstream file2("f1.txt",ios :: binary|ios :: out);for(i=0;i<k;i++){file2.write((char*)(p+i),sizeof*p);}}void delete2(){int i=0,number ;ifstream myfile("f2.txt",ios :: binary|ios :: in);technician p[30];myfile.read((char*)(p+i),sizeof*p);cout<<"请输入你要删除的对象的编号:"<<endl ;cin>>number ;while(!myfile.eof()){if(number==p[i].number){i--;}i++;myfile.read((char*)(p+i),sizeof*p);}int k=i;myfile.close();ofstream file2("f2.txt",ios :: binary|ios :: out);for(i=0;i<k;i++){file2.write((char*)(p+i),sizeof*p);}}void delete3(){int i=0,number;ifstream myfile("f3.txt",ios :: binary|ios :: in);sell p[30];myfile.read((char*)(p+i),sizeof*p);cout<<"请输入你要删除的对象的编号:"<<endl ;cin>>number ;while(!myfile.eof()){if(number==p[i].number){i--;}i++;myfile.read((char*)(p+i),sizeof*p);}int k=i;myfile.close();ofstream file2("f3.txt",ios :: binary|ios :: out);for(i=0;i<k;i++){file2.write((char*)(p+i),sizeof*p);}}void delete4(){int i=0,number;ifstream myfile("f4.txt",ios :: binary|ios :: in);bagman p[30];myfile.read((char*)(p+i),sizeof*p);cout<<"请输入你要删除的对象的编号:"<<endl;cin>>number ;while(!myfile.eof()){if(number==p[i].number){i--;}i++;myfile.read((char*)(p+i),sizeof*p);}int k=i;myfile.close();ofstream file2("f4.txt",ios :: binary|ios :: out);for(i=0;i<k;i++){file2.write((char*)(p+i),sizeof*p);}}void delet(){cout<<" *********************你正在删除*********************"<<endl;cout<<" ** 1.经理**"<<endl;cout<<" ** 2.技术人员**"<<endl;cout<<" ** 3.销售经理**"<<endl;cout<<" ** 4.推销员**"<<endl;cout<<" ****************************************************"<<endl;cout<<"请输入你要删除对象的类型:"<<endl;char c;cin>>c;while(c!='N'&&c!='n'){switch(c){case '1' :delete1();break;case '2' :delete2();break;case '3' :delete3();break;case '4' :delete4();break;default :cout<<"ERROR!!"<<endl;break;}cout<<"是否继续使用删除功能(Y/N)?"<<endl;cin>>c;if(c=='Y'||c=='y'){cout<<"请输入你要删除对象的类型:"<<endl;cin>>c;}}}void manag(){remove("f1.txt");remove("f2.txt");remove("f3.txt");remove("f4.txt");cout<<"文件已经删除,请返回管理系统!!!"<<endl;}void manage(){char c;cout<<" *********************你正在删除*********************"<<endl;cout<<" ** 1.经理**"<<endl;cout<<" ** 2.技术人员**"<<endl;cout<<" ** 3.销售经理**"<<endl;cout<<" ** 4.推销员**"<<endl;cout<<" ** 5.全部删除**"<<endl;cout<<" ****************************************************"<<endl;cout<<"请输入你要删除的对象:"<<endl;cin>>c;while(c!='N'&&c!='n'){switch(c){case '1' :remove("f1.txt");cout<<"删除成功!!!"<<endl;break;case '2' :remove("f2.txt");cout<<"删除成功!!!"<<endl;break;case '3' :remove("f3.txt");cout<<"删除成功!!!"<<endl;break;case '4' :remove("f4.txt");cout<<"删除成功!!!"<<endl;break;case '5' :manag();break;default :cout<<"ERROR!!"<<endl;break;}cout<<"是否继续使用清理功能(Y/N)?"<<endl;cin>>c;if(c=='Y'||c=='y'){cout<<"请输入你要删除的对象:"<<endl;cin>>c;}}}void main(){system("cls");cout<<" *****************人员信息管理系统*****************"<<endl;cout<<" ** **"<<endl;cout<<" ** 1.录入**"<<endl;cout<<" ** 2.显示**"<<endl;cout<<" ** 3.查找**"<<endl;cout<<" ** 4.修改**"<<endl;cout<<" ** 5.删除**"<<endl;cout<<" ** 6.退出**"<<endl;cout<<" ** 0.清理存储文件**"<<endl;cout<<" ** **"<<endl;cout<<" **************************************************"<<endl;cout<<"请输入你要选择的功能(1-6):"<<endl;char c;cin>>c ;while(c!='N'&&c!='n'){switch(c){case '1' :{system("cls");build();}break;case '2' :{system("cls");show();}break;case '3' :{system("cls");search();}break;case '4' :{system("cls");repair();}break;case '5' :{system("cls");delet();}break;case '6' :exit(0);break;case '0' :{system("cls");manage();}break;default:break;}cout<<"是否继续使用管理系统:(Y/N)?";cin>>c;if(c=='Y'||c=='y')main();else exit(0);}}。