员工管理系统测试报告word精品文档14页

合集下载

员工管理系统项目答辩

员工管理系统项目答辩

PART 3 项目成果
项目成果
总结来说,我们的员 工管理系统项目取得 了显著成果,为公司 的可持续发展提供了
有力支持
在此,感谢评审老 师的关注和支持
如果您对项目有任 何疑问或建议,请
随时与我们联系
谢谢
01
02
03
04
-
感谢您的欣赏
汇报人:XXXX
时间:20XX.7
员工管理系统项 目答辩
****
-
目录 Content
01
项目背景与目标
02
主要功能
03
项目成果
员工管理系统项目答辩
A
尊敬的评审老师
B
您好!我们团队很荣幸能够向您介
绍我们的员工管理系统项目。在此
,我们将简要概述项目的背景、目
标、主要功能、实施方法以及所取
得的成果
PART 1 项目背景与目标ห้องสมุดไป่ตู้
项目背景与目标
随着公司规模的扩大和业 务量的增长,员工信息管
理变得尤为重要
为了提高人力资源管理效 率,我们决定开发一个员
工管理系统
该系统的目标包括
PART 2 主要功能
主要功能
我们的员工管理系统包含以下主 要功能
员工信息管理:可以添加、 更新、删除和查询员工的基 本信息,如姓名、职位、部 门等
福利管理:管理员工福利, 如社保、津贴等

员工管理系统设计报告

员工管理系统设计报告

员工管理系统设计报告文库中有员工管理系统 演示、员工管理系统项目背景报告、员工管理系统需求分析报告、 员工管理系统设计报告、员工管理系统实现文档、员工管理系统测试报告一套项目开发文档 适用于毕业设计论文参考项目开发人员:XXX201X年XX 月XX 日目 录一、概述编写目的 组成部分 二、基本设计概念和处理流程系统整体功能设计 登录流程的设计和实现 公司基本信息处理流程设计 签到流程的设计和实现 请假流程的设计和实现 发布公告流程的设计和实现 留言流程的设计和实现 三、系统数据库设计用户表的设计和数据字典 员工表的设计和数据字典 请假表的设计和数据字典部门表的设计和数据字典 职位表的设计和数据字典 留言表的设计和数据字典 公告表的设计和数据字典 签到表的设计和数据字典 四、系统操作出错处理设计一、概述编写目的本文档编写目的在于明确说明系统设计思想,界定系统实现功能的范围,指导系统实现以及编码。

本文档作为员工管理系统的设计说明文档,用于与用户确定最终的目标,并成为协议文本的一部分,同时也是本系统设计人员的基础文档。

组成部分本文档依据员工管理系统需求分析报告对系统功能的要求,主要划分两部分对该系统进行详细的设计。

第一部分是对系统功能和业务流程进行了仔细的分析和简单介绍了其实现方法。

该部分主要包括系统整体功能设计、登录流程的设计和实现、公司基本信息处理流程设计、签到流程的设计和实现、请假流程的设计和实现、发布公告流程的设计和实现和留言流程的设计和实现七大模块,每模块都对各自功能实现做了详细介绍为后来的项目实现打下良好基础。

第二部分对数据库表的设计做了简单介绍并将每张表的数据字典罗列出来。

该部分主要包括用户表的设计和数据字典、员工表的设计和数据字典、请假表的设计和数据字典、部门表的设计和数据字典、职位表的设计和数据字典、留言表的设计和数据字典、公告表的设计和数据字典和签到表的设计和数据字典八大模块,各模块对应数据库中不同的数据表格,为数据库表的创建打下良好基础。

【精品文档】中国移动人力资源管理系统文件

【精品文档】中国移动人力资源管理系统文件

中国移动(香港)有限公司人力资源系统管理者手册(讨论稿)中国移动(香港)有限公司二零零一年八月目录目录 (2)中国移动(香港)有限公司人力资源管理系统改进项目综述 (4)第一部分职位分析、职位描述、职位评估 (5)第一章职位分析 (6)1.职位分析的定义 (6)2.职位分析的内容和方法 (6)3.职位分析应注意的问题 (7)第二章职位描述 (8)1.职位描述的定义 (8)2.职位描述的内容 (8)第三章职位评估 (11)1.职位评估的含义 (11)2.职位评估的意义和时机 (11)3.职位评估的准备 (12)4.职位评估的方法及工具 (12)5.中国移动(香港)有限公司职位评估的结果 (13)附录一职位分析与职位描述的操作手册 (14)附录二职位描述样张 (16)附录三中国移动(香港)有限公司标准职位评估结果 (19)第二部分薪酬管理系统(管理者手册) (20)第一章薪资结构设计 (21)1.综述 (21)2.薪资结构设计步骤 (21)第二章薪资调整流程 (27)1.薪资管理的含义及目标 (27)2.薪资调整步骤 (27)第三部分绩效管理系统(管理者手册) (30)第二章绩效管理系统综述 (32)1.绩效管理的基本概念 (32)2.绩效管理的适用对象 (32)3.绩效管理系统的主要内容及形式 (33)4.绩效管理系统的三大环节 (35)第三章建立绩效管理系统的必要条件 (39)1.建立绩效管理体系需要的组织支持 (39)2.建立绩效管理体系需要的信息支持 (42)3.建立绩效管理体系需要的薪酬支持 (43)第四章关键绩效指标 (45)1.关键绩效指标的含义及意义 (45)2.关键绩效指标分类 (47)3.关键绩效指标的设计 (49)第五章工作目标设定 (55)1.工作目标设定的含义与意义 (55)2.工作目标的设计 (55)第六章能力发展计划 (60)1.能力的含义和分类 (60)2.制定能力发展计划 (60)3.能力发展计划制定流程 (61)第七章绩效计划 (63)1.绩效计划的含义和意义 (63)2.绩效计划制定的原则 (64)3.公司经营业绩计划制定的要素和步骤 (65)4.员工绩效计划制定的要素和步骤 (68)第八章绩效指导 (81)1.日常指导 (81)2.中期回顾 (83)第九章绩效评估和回报 (86)1.绩效评估 (86)2.绩效回报 (89)3.年度绩效计划修订 (93)附录一中国移动(香港)有限公司经营业绩计划及评估表 (95)附录二中国移动(香港)公司员工绩效计划及评估表 (97)第四部分项目详细实施步骤 (100)第一章职位分析,职位描述和职位评估 (102)第二章薪资结构实施 (106)第三章绩效管理系统实施 (110)中国移动(香港)人力资源管理系统项目综述为了建立一套科学的人力资源管理体系,根据中国移动(香港)有限公司领导层决定,于2001年3月开始聘请惠悦咨询(上海)有限公司进行中国移动(香港)有限公司人力资源管理体系方案的设计工作。

员工管理系统综合实训报告模板

员工管理系统综合实训报告模板

员工管理系统综合实训报告模板1Java B/S架构应用系统设计实训——员工管理系统系统的设计与开发组别: 第二组姓名: 薛成诚李永胜张楠朱玲玲张宝月李娜学号:课程名称:Java B/S架构应用系统设计实训指导老师:许丽花提交日期: 年 6月 28 日1摘要员工管理系统是一种基于企业员工管理的,针对员工管理的复杂程序而开发出来的操作简单而且方便使用的一个员工管理系统,从推广到现在已被大量公司使用,在这个管理系统上记录每个员工的信息以及她们的请假,出差情况。

还包括整个公司的每天运行的流程,包括签到,加班,迟到,发薪,以及年中奖金的发放情况。

甚至还能够经过分析员工的情况,对公司这段时间的发展进行整治和调改。

这就促进了公司经营管理的方便性!本员工管理系统主要利用了java,SQL,SWING,软件工程技术实现了一个人对多个员工进行方便,快捷的管理,以及方便了公司对员工情况的分析调查。

从管理系统的登陆界面、主界面,以及人性化的操作,不但提高了公司的运行效率,也方便了员工对自己情况的查看和修该,实现了老板和员工之间的友好互动!关键词:员工,JAVA,SQL,管理平台1AbstractStaff management system is a kind of enterprise staff management based on the employee management, aiming at complex,The program developed has the advantages of simple operation and easy to use an employee management system,From the promotion to now has been widely used in the management system of company, record each employee information and they leave, travel information.Also include the entire firm every operation process, including attendance, overtime, late, payroll, and granting years winning gold. Even By analyzing the situation of staff, to the development of the company during this period of time to carry out remediation and modification. This will promote the convenience of corporate management!The staff management system is mainly used java, SQL, SWING, software engineering technology to realize one to many Employees are convenient, efficient management, and facilitate the investigation and Analysis on the situation of the company employees.From the management system login interface,The main interface, and the operation of humanity, not only to improve the operating efficiency of the company, also has facilitated the staff view of his condition and repair the,The friendly interaction between boss and employee!Key Words:Staff management system,JDBC,Java,Swing。

企业内部检查报告模板

企业内部检查报告模板

企业内部检查报告模板1. 简介该报告是对企业内部进行定期检查的结果总结和分析,旨在发现问题并提供解决方案,以确保企业正常运营和持续改进。

本次检查主要包括人员管理、工作流程、设备维护、安全措施等方面。

2. 人员管理2.1 人员数量与配置是否合理检查人员数量与企业业务规模是否匹配,是否存在人力资源紧缺或冗余的情况。

是否有适当的管理人员来协调和指导员工的工作,并且人员的职责是否明确。

2.2 员工培训与发展检查企业是否有培训计划并落实,是否对新员工进行必要的培训,并且对员工的职业发展是否给予关注。

是否存在培训不足或不合适的问题。

3. 工作流程3.1 流程是否完善检查企业的工作流程是否明确,各个环节是否紧密衔接,是否存在重复或冗余的流程,以及是否有必要的审批和控制措施。

3.2 信息流畅度与沟通效率检查企业各部门之间的信息流畅度,是否存在信息传递不及时或缺失的情况。

同时,检查沟通渠道和方式是否高效,沟通是否畅通。

4. 设备维护4.1 设备保养与维修检查企业的设备保养计划和维修记录,是否按时进行维护并记录。

是否存在设备故障频繁或长时间无法修复的问题。

同时,检查设备的安全控制措施是否完备。

4.2 资产管理检查企业资产管理制度的落实情况,包括资产清单的完整性和准确性,设备的存放和使用是否规范,以及资产盘点是否定期进行。

5. 安全措施5.1 安全意识与培训检查企业的安全意识教育和培训计划,并且是否有安全意识强化的措施。

检查员工是否掌握必要的安全知识和技能,并且能够正确应对突发事件。

5.2 数据保护与备份检查企业的数据安全措施,包括数据备份计划和数据恢复的能力。

同时,检查防火墙和杀毒软件是否有效运行,并且是否存在数据泄露的风险。

5.3 环境和职业健康安全检查企业的办公环境是否符合职业健康安全要求,是否存在噪音、辐射等危害员工健康的因素。

同时,检查是否存在紧急疏散预案和应急措施,以及是否进行过演练。

6. 结论与建议根据以上检查结果,得出以下结论和建议:1. 人员管理方面,建议加强员工培训计划,提高员工的工作技能和职业发展空间。

公司员工管理制度范本17396

公司员工管理制度范本17396

公司员工管理制度范本17396(用心整理的精品word文档,可以编辑,欢迎下载)作者:------------------------------------------日期:------------------------------------------公司员工管理制度范本一、公司形象1、员工必须清楚地了解公司的经营范围和管理结构,并能向客户及外界正确地介绍公司情况。

2、在接待公司内外人员的垂询、要求等任何场合,应注视对方,微笑应答,切不可冒犯对方。

3、在任何场合应用语规范,语气温和,音量适中,严禁大声喧哗。

4、遇有客人进入工作场地应礼貌劝阻,上班时间(包括午餐时间)办公室内应保证有人接待。

5、接听电话应及时,一般铃响不应超过三声,如受话人不能接听,离之最近的职员应主动接听,重要电话作好接听记录,严禁占用公司电话时间太长。

6、员工在接听电话、洽谈业务、发送电子邮件及招待来宾时,必须时刻注重公司形象,按照具体规定使用公司统一的名片、公司标识及落款。

7、员工在工作时间内须保持良好的精神面貌。

公司员工管理制度范本8、员工要注重个人仪态仪表,工作时间的着装及修饰须大方得体。

二、生活作息1、员工应严格按照公司统一的工作作息时间规定上下班。

2、作息时间规定1)、夏季作息时间表(4月——9月)上班时间早 9:00午休12:00——13:00下班时间晚 18:002)、冬季作息时间表(10月——3月)上班时间早 9:00午休12:00——12:30下班时间晚 17:303、员工上下班施行签到制,上下班均须本人亲自签到,不得托、替他人签到。

4、员工上下班考勤记录将作为公司绩效考核的重要组成部分。

5、员工如因事需在工作时间内外出,要向主管经理请示签退后方可离开公司。

6、员工遇突发疾病须当天向主管经理请假,事后补交相关证明。

7、事假需提前向主管经理提出申请,并填写【请假申请单】,经批准后方可休息。

8、员工享有国家法定节假日正常休息的权利,公司不提倡员工加班,鼓励员工在日常工作时间内做好本职工作。

企业人事管理系统测试报告.doc

企业人事管理系统测试报告.doc

企业人事管理系统测试报告负责人:邢王秀09计本<2>班目录1导言 (3)1.1目的 (3)1.2范围 (3)1.3缩写说明 (3)1.4术语定义 (3)1.5引用标准 (4)1.6参考资料 (4)1.7版本更新信息 (4)2. 测试时间、地点和人员 (4)3 测试环境 (5)4测试执行情况 (5)4.1功能测试执行情况 (5)4.2性能测试执行情况 (5)5.项目估算5.1 使用的历史数据....................................................................................... 错误!未定义书签。

5.2 使用的评价技术....................................................................................... 错误!未定义书签。

5.3 工作量、成本、时间估算....................................................................... 错误!未定义书签。

6.进度6.1 项目工作的分解结构6.2 时限图7 软件配置方案8.关键问题9测试结果分析析 (8)9.1测试进度和工作量度量 (8)9.1.1 进度度量 (9)9.1.2 工作量度量 (9)9.2缺陷数据度量 (9)10 测试评估 (10)10.1测试任务评估 (10)10.2测试对象评估 (10)1导言1.1目的该文档的目的是描述网上招聘系统项目客户端系统测试的总结报告,其主要内容包括:●系统环境简介●系统数据度量●系统结果评估本文档的预期读者是:●项目管理人员●测试人员1.2范围该文档定义了客户端系统测试的结果,总结了测试客户端的登陆界面、员工基本信息管理模块、员工工资信息管理模块、系统管理模块的基本功能,以及支持大数据量并发访问的性能,给出了测试的结论。

员工行为安全管理课后测试知识分享

员工行为安全管理课后测试知识分享

员工行为安全管理课后测试员工行为安全管理课后测试如果您对课程内容还没有完全掌握,可以点击这里再次观看。

观看课程测试成绩:93.33分。

恭喜您顺利通过考试!单选题1. 人的行为特征不包括:√A 自发性B 原因性C 持久性D 不可改变性正确答案: D2. 安全管理ABC模型中的“C”指的是:√A 具体行动B 社会影响C 行为人D 行为产生的后果正确答案: D3. 对员工的不安全行为进行纠正的常用方法不包括:√A 观察B 处罚C 处分D 奖励正确答案: A4. 下列选项中,不属于安全观察法操作步骤的是:√A 决定观察对象B 制定行为检查表C 与被观察者沟通D 观察员工工作过程正确答案: B5. 下列对行为观察表的表述,错误的是:√A 内容应及时调整、更新B 员工反馈的结果C 由领导随意制定D 对不安全行为进行排序正确答案: C6. 进行反馈沟通时,效果最好的反馈模式是:√A 圆滑模式B 圆通模式C 生硬模式D 费力不讨好模式正确答案: B7. 行为的改变过程是逐步进行的,其顺序依次是:√A 态度、知识、团体行为、个体行为B 知识、态度、团体行为、个体行为C 态度、知识、个体行为、团体行为D 知识、态度、个体行为、团体行为正确答案: D8. 使用行为观察反馈法进行安全管理的优点不包括:√A 提高员工的警惕性B 减少领导的管理工作量C 容易建立员工之间的信任D 增强员工的安全意识正确答案: B9. 一般来说,安全观察核对表所列项目要求在()项以内。

√A 8B 10C 13D 15正确答案: B10. 下列对于沟通反馈的表述,错误的是:√A 反馈要及时、确定、有效B 重在挖掘被观察者对工作程序和操作规程的掌握程度C 应注意灵活沟通D 指责或夸奖被观察者的行为正确答案: D判断题11. 企业提高安全管理成绩的唯一方法是纠正不安全行为。

此种说法:×正确错误正确答案:正确12. 对员工的不安全行为,惩罚力度越大,纠正效果越好。

【精品文档】实验指导书-word范文 (14页)

【精品文档】实验指导书-word范文 (14页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==实验指导书篇一:实验指导书模板XXXXXXXXXXX实验指导书(微电子技术系)XXX编写(封面字体大小、位置不要变动)电子科技大学成都学院201X年10月目录实验一XXXXXX…………………………….........................................1 实验二XXXXXX (5)实验三XXXXXX (7)一、实验目的二、实验仪器设备三、实验原理四、实验内容及注意事项五、实验步骤六、实验数据整理与结果分析七、实验总结八、实验报告(字体及字的大小各自调节,其中各项内容和顺序可根据实际情况作修改)一、实验目的二、实验仪器设备三、实验原理四、实验内容及注意事项五、实验步骤六、实验数据整理与结果分析七、实验总结八、实验报告实验报告模板(根据实际情况可自行调节)XXXXXXXXXXXX实验报告学号:姓名:院系:专业:教师:201X年月篇二:实验指导书《测树学实验》指导书李凤日编二00五年三月实验一测树工具的使用一、目的熟悉和掌握几种常用的测树工具的构造、原理及使用方法。

二、仪器、用具轮尺、围尺、勃鲁莱测高器、超声波测高器、DQW—2型望远测树仪、二米测竿、记录夹、记录用表、计算工具。

三、仪器的构造、原理及使用方法(一)测径器 1.轮尺轮尺构造十分简单,如图1—1,可分为固定脚,游动脚和测尺三部分。

测尺的一面为普遍米尺刻度,一面为整化刻度。

在森林调查中,为简化测算工作,通常将实际直径按上限排外法分组,所分的组称为径阶,用其组中值表示。

径阶大小(组距)一般可以为1cm、2cm或4cm。

当按1cm、2cm或4cm分组时,其最小径阶的组中值分别为1cm、2cm或4cm。

径阶整化刻度的方法即是将各径阶的组中值刻在该径阶的下限位置。

图1—1 轮尺1.固定脚 2.滑动脚 3.尺身 4.树干横断面使用注意事项:(1)在测定前,首先检查轮尺,必须注意,固定脚与游动脚应当平行,且与尺身垂直。

管理信息_精品文档

管理信息_精品文档

加强系统安全防护,保障数据和信息安全 ,防止未经授权的访问和攻击。
系统开发方法与流程
瀑布模型
按照需求分析、设计、编码 、测试、部署等顺序逐步开 发,每个阶段都有明确的输 入和输出。
迭代模型
在瀑布模型的基础上,引入 迭代思想,不断对系统进行 优化和改进,提高开发效率 和质量。
敏捷开发
强调快速响应变化、持续集 成和交付,通过短周期迭代 和团队协作来应对复杂多变 的市场需求。
系统优化
通过对系统性能、响应时间等方面的监测和分析,找出瓶颈和问题所 在,进行针对性的优化和改进。
升级与扩展
根据企业业务发展和市场需求的变化,对系统进行升级和扩展,提高 系统的适应性和竞争力。
06
管理信息安全与保密措施信息来自全法律法规及标准规范《中华人民共和国网络安全法》
明确网络安全的法律地位,规定网络运营者的安全保护义务和法律责任。
管理信息
汇报人:XX 20XX-01-22
目录
• 管理信息概述 • 管理信息的收集与整理 • 管理信息的分析与解读 • 管理信息的应用与实践 • 管理信息系统的构建与运行 • 管理信息安全与保密措施
01
管理信息概述
定义与特点
定义
管理信息是指在企业或组织运营 过程中,用于指导、协调和控制 各种管理活动的数据、信息和知 识。
管理信息的分类与内容
分类
按照信息的来源和性质,管理信息可分为内部信息和外部信 息;按照信息的表现形式,可分为数字信息、文字信息和图 像信息等。
内容
管理信息的内容丰富多样,包括企业运营数据、财务报表、 市场情报、竞争对手分析、政策法规、行业动态等。这些信 息对于企业的战略规划、市场营销、生产管理、财务管理等 方面都具有重要意义。

员工管理系统测试报告1.doc

员工管理系统测试报告1.doc

员工管理系统测试报告1 员工管理系统测试报告项目开发人员:XXXXXX年X 月XX 日目录一、简介(1)1. 编写目的(1)2. 背景(1)3. 定义(1)4. 系统简介(1)5. 参考资料(2)二、测试用例(3)三、测试结果及发现(4)1. 测试1(系统登陆模块)(4)2. 测试2(员工管理模块)(4)3. 测试3(部门管理模块)(4)4. 测试4(职位管理模块)(4)5. 测试5(用户管理模块)(5)6. 测试6(员工签到模块) (5)7. 测试7(员工请假模块) (5)8. 测试8(公告管理模块) (6)9. 测试9(留言管理模块) (6)10. 测试10(公司通讯录模块) (7)11. 测试11(回收站模块) (7)四、对软件功能的结论(8)1. 功能1(登录模块)(8)2. 功能2(公司基本信息管理模块)(8)3. 功能3(签到、签退模块)(8)4. 功能4(请假模块)(8)5. 功能5(留言模块)(9)6. 功能6(公告模块)(9)7. 功能7(回收站)(9)8. 功能8(通讯录模块)(10)五、分析摘要(11)1. 能力(11)2. 缺陷和限制(11)3. 建议(11)4. 评价(11)一、简介1. 编写目的测试分析报告是在设计实现的基础上,对测试的结果以及测试的数据等加以记录和分析总结。

它也是测试过程中的一个重要环节,同时,它也是对软件性能的一个总结的分析和认可及不足之处的说明。

因此,测试分析报告对于今后对软件的功能的加强,不足之处的弥补等都起着十分重要的提纲作用。

另外,它还有利于今后软件开发者阅读原程序,根据测试提供的数据和结果,分析源代码,掌握各函数的功能和局限性。

从而缩短软件开发者的再开发时间和所耗费的精力,资金。

预期参考人员包括用户、测试人员、开发人员、项目管理者、其他质量管理人员。

为了系统的正常运行,及时发现可能存在的错误,本小组计划测试各个模块,每个模块设计多个用例。

2019-9s管理总结-精选word文档 (15页)

2019-9s管理总结-精选word文档 (15页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==9s管理总结篇一:车间9S管理9S管理一、整理(SEIRI)二、整顿(SEITON)三、清扫(SEISO)四、清洁(SEIKETSU)五、节约(SAVING)六、安全(SAFETY)七、服务(SERVICE)八、满意(SATISFACTION)九、素养(SHITSUKE)目的一、促成效率的提高。

二、改善零件在库周转率。

三、降低生产成本。

四、缩短作业周期,确保交货期。

五、减少直至消除故障,保障品质六、保障企业安全生产。

七、提高服务水平,赢得客户青睐。

八、改善员工精神面貌,使组织活力化。

九、强化自主管理。

9s 管理的内容整理(SEIRI)整理就是将混乱的现场的状态收拾成井然有序的状态。

9S 管理体系是为了改善整个企业的体质,整理也是为了改善企业的体质,因此,在工作场所里没有用处的东西就不必配备。

也就是说,首先判断那些是不必要的东西,再将这些不必要的东西丢掉。

因此,工厂的整理:(1)首先,区分哪些是必要的东西,那些时不必要的东西。

(2)抛弃不必要的东西。

(3)将必要的东西收拾得井然有序。

整顿(SEITON)整顿,就是整理散乱的东西,使其处于整齐的状态。

目的是在必要的时候能迅速找到必要的东西。

整顿比整理更深入一步,表示:(1)能迅速取出。

(2)能立即使用。

(3)处于能节约的状态。

清扫(SEISO)清扫就是清除垃圾、污物、异物等,把工作场所打扫得干干净净,工厂推行9S 运动时,清扫的对象是:(1)地板、天花板、墙壁、工具架、橱柜等。

(2)机器、工具、测量仪器等。

清洁(SEIKETSU)清洁就是保持工作场所没有污物,非常干净的状态,即:一直保持清扫后的状态。

通过一次又一次的清扫,使地板和机器都保持干干净净,让人看了之后受到感动。

节约(SAVING)节约,即为减少浪费,降低成。

员工管理系统实验报告

员工管理系统实验报告

一、实验目的1. 熟练掌握C语言编程技能,提高编程能力。

2. 理解并应用结构体、数组、链表等数据结构。

3. 学会使用文件操作,实现数据的持久化存储。

4. 设计并实现一个员工管理系统,提高实际编程能力。

二、实验环境1. 操作系统:Windows 102. 编译器:Visual Studio 20193. 语言:C语言三、实验内容员工管理系统主要包括以下功能:1. 数据录入:录入员工信息,包括姓名、工号、性别、出生年月、部门、职位、联系方式等。

2. 数据显示:显示所有员工信息。

3. 数据查找:按工号或姓名查找员工信息。

4. 数据修改:修改指定员工的个人信息。

5. 数据删除:删除指定员工的个人信息。

6. 数据排序:按工号、姓名、部门等字段对员工信息进行排序。

四、实验步骤1. 创建员工结构体```c#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX_NAME_LEN 50#define MAX_DEPT_LEN 50typedef struct {int id; // 员工工号char name[MAX_NAME_LEN]; // 员工姓名char gender; // 性别('M'、'F')char birth[11]; // 出生日期("YYYY-MM-DD") char dept[MAX_DEPT_LEN]; // 部门char position[MAX_NAME_LEN]; // 职位char contact[MAX_NAME_LEN]; // 联系方式} Employee;```2. 创建员工信息文件```cvoid createFile() {FILE fp = fopen("employee.dat", "wb");if (fp == NULL) {printf("创建文件失败!\n");exit(1);}fclose(fp);}```3. 数据录入```cvoid inputEmployee(Employee e) {printf("请输入员工工号:");scanf("%d", &e->id);printf("请输入员工姓名:");scanf("%s", e->name);printf("请输入性别(M/F):");scanf(" %c", &e->gender);printf("请输入出生日期(YYYY-MM-DD):"); scanf("%s", e->birth);printf("请输入部门:");scanf("%s", e->dept);printf("请输入职位:");scanf("%s", e->position);printf("请输入联系方式:");scanf("%s", e->contact);}```4. 数据显示```cvoid displayEmployee(Employee e) {printf("工号:%d\n", e->id);printf("姓名:%s\n", e->name);printf("性别:%c\n", e->gender);printf("出生日期:%s\n", e->birth);printf("部门:%s\n", e->dept);printf("职位:%s\n", e->position);printf("联系方式:%s\n", e->contact);}```5. 数据查找```cvoid searchEmployee(Employee e) {int id;printf("请输入要查找的员工工号:");scanf("%d", &id);FILE fp = fopen("employee.dat", "rb");if (fp == NULL) {printf("文件打开失败!\n");exit(1);}while (fread(e, sizeof(Employee), 1, fp) == 1) { if (e->id == id) {displayEmployee(e);break;}}fclose(fp);}```6. 数据修改```cvoid modifyEmployee(Employee e) {int id;printf("请输入要修改的员工工号:");scanf("%d", &id);FILE fp = fopen("employee.dat", "rb+");if (fp == NULL) {printf("文件打开失败!\n");exit(1);}while (fread(e, sizeof(Employee), 1, fp) == 1) { if (e->id == id) {displayEmployee(e);printf("请输入新的员工姓名:");scanf("%s", e->name);printf("请输入新的性别(M/F):");scanf(" %c", &e->gender);printf("请输入新的出生日期(YYYY-MM-DD):"); scanf("%s", e->birth);printf("请输入新的部门:");scanf("%s", e->dept);printf("请输入新的职位:");scanf("%s", e->position);printf("请输入新的联系方式:");scanf("%s", e->contact);fseek(fp, -sizeof(Employee), SEEK_CUR);fwrite(e, sizeof(Employee), 1, fp);break;}}fclose(fp);}```7. 数据删除```cvoid deleteEmployee(Employee e) {int id;printf("请输入要删除的员工工号:");scanf("%d", &id);FILE fp = fopen("employee.dat", "rb+");if (fp == NULL) {printf("文件打开失败!\n");exit(1);}Employee temp;int flag = 0;while (fread(e, sizeof(Employee), 1, fp) == 1) { if (e->id == id) {flag = 1;break;}}if (flag) {fseek(fp, -sizeof(Employee), SEEK_CUR);fread(&temp, sizeof(Employee), 1, fp);fwrite(&temp, sizeof(Employee), 1, fp);printf("删除成功!\n");} else {printf("未找到指定员工!\n");}fclose(fp);}```8. 数据排序```cvoid sortEmployee(Employee e, int (cmp)(const void , const void )) { qsort(e, 10, sizeof(Employee), cmp);}```9. 主函数```cint main() {Employee e;createFile();while (1) {printf("1. 数据录入\n");printf("2. 数据显示\n");printf("3. 数据查找\n");printf("4. 数据修改\n");printf("5. 数据删除\n");printf("6. 数据排序\n");printf("0. 退出\n");printf("请选择操作:");int choice;scanf("%d", &choice);switch (choice) {inputEmployee(&e);break;case 2:// 假设已经有10个员工信息for (int i = 0; i < 10; i++) { displayEmployee(&e);}break;case 3:searchEmployee(&e);break;case 4:modifyEmployee(&e);break;case 5:deleteEmployee(&e);break;case 6:sortEmployee(&e, cmpById);break;case 0:return 0;printf("无效的选项!\n");}}return 0;}```五、实验总结通过本次实验,我们学习了C语言编程的基本技能,掌握了结构体、数组、链表等数据结构,以及文件操作。

员工信息管理系统实验报告

员工信息管理系统实验报告

华侨大学厦门工学院《面向对象程序设计实践》课程实验报告(分组实验)实验名称 __ 员工基本信息管理系统_ __系部 __ 计算机科学与工程系_____班级 ___ 软件3班____________小组名称 ______ 第三组_____________指导老师文欣计算机科学与工程系2014年06月12日一、实验名称员工基本信息管理系统二、实验目的及任务要求目的:对员工的信息进行有效的管理和储存任务要求:对员工的信息进行增加,删除,查找,修改等功能三、实验环境eclipse.exe四、实验内容//注册用户import javax.swing.*;import java.awt.*;import java.awt.Event.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.*;public class UserRegister extends JFrame implements ActionListener { JLabel lblUserName;JLabel lblUserPwd;JTextField txtUserName;JPasswordField txtUserPwd;JButton btnRegister;JButton btnCancel;public UserRegister() {super("用户注册");lblUserName = new JLabel("用户名");lblUserName.setBounds(40, 40, 70, 50);txtUserName = new JTextField(10);txtUserName.setBounds(120, 50, 100, 24);lblUserPwd = new JLabel("密码");lblUserPwd.setBounds(40, 70, 70, 50);txtUserPwd = new JPasswordField(10);txtUserPwd.setEchoChar('*');txtUserPwd.setBounds(120, 85, 100, 24);btnRegister = new JButton("注册");btnRegister.setBounds(55, 135, 60, 30);btnCancel = new JButton("取消");btnCancel.setBounds(140, 135, 60, 30);Container cc = this.getContentPane();cc.setLayout(null);cc.add(lblUserName);cc.add(txtUserName);cc.add(lblUserPwd);cc.add(txtUserPwd);cc.add(btnRegister);cc.add(btnCancel);btnRegister.addActionListener(this);btnCancel.addActionListener(this);this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.setLocation(300, 200);this.setSize(270, 220);this.setResizable(false);this.setVisible(true);}public void actionPerformed(ActionEvent e) {if (e.getSource() == btnRegister) {DataBaseManager db = new DataBaseManager();String username = txtUserName.getText().trim();char[] pwd = txtUserPwd.getPassword();String password = new String(pwd);password = password.trim();if (username.equals("") || password.equals("")) { System.out.println(username.trim());JOptionPane.showMessageDialog(null, "用户名或密码不能为空");return;}String sql = "select * from user where username=" + "'" + username + "'";ResultSet rs = db.getResult(sql);try {if (rs.next()) {JOptionPane.showMessageDialog(null, "该用户名已存在!", "Message",JOptionPane.DEFAULT_OPTION);}else {sql = "insert into user values(" + "'" + username + "'"+ ",'" + password + "')";db.updateSql(sql);System.out.println(sql);JOptionPane.showMessageDialog(null, "注册成功!", "Message",JOptionPane.DEFAULT_OPTION);}}catch (Exception ee) {System.out.println(ee.getMessage());} finally {db.closeConnection();}}else if (e.getSource() == btnCancel) {this.dispose();}}public static void main(String args[]) {new UserRegister();}}//用户登录import java.awt.Color;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.Font;import java.awt.HeadlessException;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.DriverManager;import java.sql.Statement;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import javax.swing.AbstractButton;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JTextField;class Login extends JFrame implements ActionListener { //JLabel j1 = null;JTextField text = null;//JLabel j2 = null;JLabel j3 = null;JLabel j4 = null;JPasswordField pass = null;JTextField text1 =null;JButton b1 = null;JButton b2 = null;Font fnt = new Font("方正舒体", Font.BOLD, 20);JPanel p=new ImagePanel("F:\\my picture\\验证码 .jpg");JPanel jpanel=new ImagePanel("F:\\my picture\\登录界面.jpg"); public Login(String title) throws HeadlessException { super(title);// TODO Auto-generated constructor stub//j1 = new JLabel("用户名");//j1.setFont(fnt);//j1.setForeground(Color.white);text = new JTextField(10);text.setFont(fnt);text.setForeground(Color.black);text.setOpaque(false);text.setBorder(null);text1=new JTextField(10);text1.setFont(fnt);text1.setForeground(Color.black);text1.setOpaque(false);text1.setBorder(null);//j2 = new JLabel("密码");//j2.setFont(fnt);//j2.setForeground(Color.white);j3=new JLabel(" ");j3.setFont(fnt);j3.setForeground(Color.white);pass = new JPasswordField(10);pass.setEchoChar('*');pass.setFont(new Font("",Font.ITALIC,15));pass.setForeground(Color.black);pass.setOpaque(false);pass.setBorder(null);b1 = new JButton(" ");b1.setFont(fnt);b1.setForeground(Color.white);b1.setContentAreaFilled(false);b1.setBorder(null);b2 = new JButton(" ");b2.setFont(fnt);b2.setForeground(Color.white);b2.setContentAreaFilled(false);b2.setBorder(null);int xcenter =155;int ycenter = 50;setLocation(xcenter, ycenter);jpanel.setLayout(null);setSize(1050,680);p.setBounds(750,371,82,28);//j1.setBounds(40, 40, 70, 30);text.setBounds(538, 283, 177, 30);//j2.setBounds(40, 100, 70, 50);pass.setBounds(538, 326, 177, 30);text1.setBounds(538,370,177,30);b1.setBounds(531, 444, 76, 23);b2.setBounds(646, 444, 76, 23);//jpanel.add(j1);jpanel.add(text);//jpanel.add(j2);jpanel.add(pass);jpanel.add(text1);jpanel.add(b1);jpanel.add(b2);jpanel.add(p);this.getContentPane().add(jpanel);b1.addActionListener(this);b2.addActionListener(this);this.setResizable(false);this.setVisible(true);}public void actionPerformed(ActionEvent e) { DataBaseManager db = new DataBaseManager();String sql = "select * from user";ResultSet rs = db.getResult(sql);boolean flag = false;if (e.getSource() == b1) {try {while (rs.next()) {boolean flag1 = text.getText().trim().equals(rs.getString(1));boolean flag2 = pass.getText().trim().equals(rs.getString(2));if (flag1 && flag2) {if(text1.getText().trim().equals("xahv")){flag = true;JOptionPane.showMessageDialog(this, "成功登陆");dispose();new StaffMain("员工信息管理系统");// TODO Auto-generated method stub}else{flag = true;JOptionPane.showMessageDialog(this, "验证码错误");//dispose();}}}if (flag == false) {JOptionPane.showMessageDialog(this, "用户名或密码错误" );text.setText("");pass.setText("");}}catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}if (e.getSource() == b2) {text.setText("");text1.setText("");pass.setText("");}}}public class TestLogin {/*** @param args*/public static void main(String[] args) { // TODO Auto-generated method stubnew Login("登陆");}}//主界面import java.awt.BorderLayout;import java.awt.Color;import java.awt.Container;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.Font;import java.awt.Frame;import java.awt.Graphics;import java.awt.GridLayout;import java.awt.HeadlessException;import java.awt.Image;import java.awt.Toolkit;import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.StringSelection; import java.awt.datatransfer.Transferable; import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.InputEvent;import javax.swing.*;public class StaffMain extends JFrame implements ActionListener { private Font fnt = new Font("方正舒体", Font.BOLD, 25);private JButton j1 = new JButton("add~增加员工信息 ");private JButton j2 = new JButton("edit~修改员工信息 ");private JButton j3 = new JButton("del~删除员工信息 ");private JButton j4 = new JButton("query~查找员工信息 ");private JButton j5 = new JButton("all~所有员工信息 ");private JButton j6 = new JButton("exit~关于系统 ");private JLabel label = new JLabel("欢迎进入员工管理系统");private JPanel jpanel1 = new ImagePanel("f:\\my picture\\6f470395853e7f507bf480bb.jpg");public StaffMain(String s) throws HeadlessException { super(s);// TODO Auto-generated constructor stubContainer c = getContentPane();c.setLayout(new BorderLayout());setLocation(283, 84);setSize(800, 600);init();c.add(jpanel1);j1.addActionListener(this);j2.addActionListener(this);j3.addActionListener(this);j4.addActionListener(this);j5.addActionListener(this);j6.addActionListener(this);setResizable(false);setVisible(true);}void init() {jpanel1.setLayout(null);j1.setBounds(410, 100, 350, 30); j2.setBounds(380, 140, 350, 30); j3.setBounds(420, 180, 350, 30); j4.setBounds(390, 220, 350, 30); j5.setBounds(420, 260, 350, 30); j6.setBounds(390, 300, 350, 30); label.setBounds(185, 20, 450, 35); j1.setForeground(Color.white);j2.setForeground(Color.white);j3.setForeground(Color.white);j4.setForeground(Color.white);j5.setForeground(Color.white);j6.setForeground(Color.white); label.setForeground(Color.white); j1.setContentAreaFilled(false);j1.setBorder(null);j2.setContentAreaFilled(false);j2.setBorder(null);j3.setContentAreaFilled(false);j3.setBorder(null);j4.setContentAreaFilled(false);j4.setBorder(null);j5.setContentAreaFilled(false);j5.setBorder(null);j6.setContentAreaFilled(false);j6.setBorder(null);jpanel1.add(j1);jpanel1.add(j2);jpanel1.add(j3);jpanel1.add(j4);jpanel1.add(j5);jpanel1.add(j6);jpanel1.add(label);j1.setFont(fnt);j2.setFont(fnt);j3.setFont(fnt);j4.setFont(fnt);j5.setFont(fnt);j6.setFont(fnt);label.setFont(new Font("方正舒体", Font.BOLD, 40));}public void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubif (e.getSource() == j1) {dispose();new StaffAdd("增加员工信息");} else if (e.getSource() == j2) {dispose();new StaffUpdate("修改员工信息 ");} else if (e.getSource() == j3) {dispose();new StaffDelete();} else if (e.getSource() == j4) {dispose();new StaffQuery("查找员工信息");} else if (e.getSource() == j5) {dispose();new StaffAll();} else if (e.getSource() == j6) {new About();}}public static void main(String[] args) {// TODO Auto-generated method stubnew StaffMain("员工信息管理系统");}}//增加员工信息import java.awt.BorderLayout;import java.awt.Color;import java.awt.Container;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.Font;import java.awt.GridLayout;import java.awt.HeadlessException;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.ResultSet;import java.sql.SQLException;import javax.swing.ButtonGroup;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JRadioButton;import javax.swing.JTextField;class StaffAdd extends JFrame implements ActionListener {JPanel jpanel1 = new ImagePanel("f:\\my picture\\1.jpg");JLabel j1 = new JLabel("编号:");JLabel j2 = new JLabel("姓名:");JLabel j3 = new JLabel("性别 ");JLabel j4 = new JLabel("年龄:");JLabel j5 = new JLabel("工资:");JLabel j6 = new JLabel("地址:");JLabel j7 = new JLabel("部门:");JRadioButton radioButton1 = new JRadioButton("男"); JRadioButton radioButton2 = new JRadioButton("女"); JButton but1 = new JButton("添加 ");JButton but2 = new JButton("关闭 ");JButton but3 = new JButton("返回主菜单");Font fnt=new Font("方正舒体",Font.BOLD,25);JTextField text1 = new JTextField(10);JTextField text2 = new JTextField(10);JTextField text3 = new JTextField(10);JTextField text4 = new JTextField(10);JTextField text5 = new JTextField(10);JTextField text6 = new JTextField(10);ButtonGroup bg = new ButtonGroup();public StaffAdd(String s) throws HeadlessException { super(s);// TODO Auto-generated constructor stubStaffInit();jpanel1.add(j1);jpanel1.add(text1);jpanel1.add(j2);jpanel1.add(text2);jpanel1.add(j3);bg.add(radioButton1);bg.add(radioButton2);jpanel1.add(radioButton1);jpanel1.add(radioButton2);jpanel1.add(j4);jpanel1.add(text3);jpanel1.add(j5);jpanel1.add(text4);jpanel1.add(j6);jpanel1.add(text5);jpanel1.add(j7);jpanel1.add(text6);jpanel1.add(but1);jpanel1.add(but2);jpanel1.add(but3);this.getContentPane().add(jpanel1);but1.addActionListener(this);but2.addActionListener(this);but3.addActionListener(this);Toolkit kit = Toolkit.getDefaultToolkit();Dimension screen = kit.getScreenSize();int x = screen.width; /* 取得显示器窗口的宽度 */ int y = screen.height;setSize(820, 620);int xcenter = (x - 820) / 2;int ycenter = (y - 620) / 2;setLocation(xcenter, ycenter);setResizable(false);setVisible(true);}public void StaffInit(){jpanel1.setLayout(null);j1.setFont(fnt);j2.setFont(fnt);j3.setFont(fnt);j4.setFont(fnt);j5.setFont(fnt);j6.setFont(fnt);j7.setFont(fnt);text1.setFont(fnt);text2.setFont(fnt);text3.setFont(fnt);text4.setFont(fnt);text5.setFont(fnt);text6.setFont(fnt);but1.setFont(fnt);but2.setFont(fnt);but3.setFont(fnt);radioButton1.setFont(fnt);radioButton2.setFont(fnt);j1.setBounds(50,50,80,30);j2.setBounds(250,50,80,30);j4.setBounds(50,100,80,30);j5.setBounds(250,100,80,30);j6.setBounds(50,150,80,30);j7.setBounds(250,150,80,30);text1.setBounds(119,52,100,30);text2.setBounds(319,52,100,30);text3.setBounds(119,102,100,30);text4.setBounds(319,102,100,30);text5.setBounds(119,152,100,30);text6.setBounds(319,152,100,30);j3.setBounds(50,200,80,30);radioButton1.setBounds(150,203,85,30); radioButton2.setBounds(250,203,85,30); but1.setBounds(135,240,100,30);but2.setBounds(135,290,100,30);but3.setBounds(95,340,170,30);text1.setOpaque(false);text1.setBorder(null);text2.setOpaque(false);text2.setBorder(null);text3.setOpaque(false);text3.setBorder(null);text4.setOpaque(false);text4.setBorder(null);text5.setOpaque(false);text5.setBorder(null);text6.setOpaque(false);text6.setBorder(null);radioButton1.setContentAreaFilled(false); radioButton2.setContentAreaFilled(false); but1.setContentAreaFilled(false);but1.setBorder(null);but2.setContentAreaFilled(false);but2.setBorder(null);but3.setContentAreaFilled(false);but3.setBorder(null);j1.setForeground(Color.white);j2.setForeground(Color.white);j3.setForeground(Color.white);j4.setForeground(Color.white);j5.setForeground(Color.white);j6.setForeground(Color.white);j7.setForeground(Color.white);j1.setForeground(Color.white);text1.setForeground(Color.white);text2.setForeground(Color.white);text3.setForeground(Color.white);text4.setForeground(Color.white);text5.setForeground(Color.white);text6.setForeground(Color.white);but1.setForeground(Color.white);but2.setForeground(Color.white);but3.setForeground(Color.white);radioButton1.setForeground(Color.white);radioButton2.setForeground(Color.white);}public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stubDataBaseManager db = new DataBaseManager();String ID = text1.getText().trim();String sql = "select ID from staff";int flag = 0;if (e.getSource() == but1) {ResultSet rs = db.getResult(sql);try {while(rs.next())if (ID.equals(rs.getString(1))) {flag = 1;break;}} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}if (flag == 1) {JOptionPane.showMessageDialog(this, "编号相同不能插入");text1.setText("");text2.setText("");text3.setText("");text4.setText("");text5.setText("");text6.setText("");}if (flag == 0) {init();}} else if (e.getSource() == but2) {System.exit(0);} else {this.hide();new StaffMain("员工信息管理系统");}}public void init() {String sql;String s1 = text1.getText().trim();String s2 = text2.getText().trim();String s3 = radioButton1.getText();String s4 = radioButton2.getText();String s5 = text3.getText().trim();String s6 = text4.getText().trim();String s7 = text5.getText().trim();String s8 = text6.getText().trim();if (radioButton1.isSelected()) {sql = "insert into staff values('" + s1 + "','" + s2 + "','" + s3 + "','" + s5 + "','" + s6 + "','" + s7 + "','" + s8 + "')";new DataBaseManager().updateSql(sql);JOptionPane.showMessageDialog(this, "添加成功!", "提示",RMATION_MESSAGE);text1.setText("");text2.setText("");text3.setText("");text4.setText("");text5.setText("");text6.setText("");} else if (radioButton2.isSelected()) {sql = "insert into staff values('" + s1 + "','" + s2 + "','" + s4 + "','" + s5 + "','" + s6 + "','" + s7 + "','" + s8 + "')";new DataBaseManager().updateSql(sql);JOptionPane.showMessageDialog(this, "添加成功!", "提示",RMATION_MESSAGE);text1.setText("");text2.setText("");text3.setText("");text4.setText("");text5.setText("");text6.setText("");} else {JOptionPane.showMessageDialog(this, "请选择性别", "提示",RMATION_MESSAGE);}}public static void main(String args[]) {new StaffAdd("增加员工信息");}}//修改员工信息import java.awt.BorderLayout;import java.awt.Color;import java.awt.Container;import java.awt.FlowLayout;import java.awt.Font;import java.awt.GridLayout;import java.awt.HeadlessException;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Vector;import javax.swing.BorderFactory;import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;class StaffUpdate extends JFrame implements ActionListener, ItemListener { private JComboBox jcb;private JLabel jlabel = new JLabel("按编号修改:");private JLabel j1 = new JLabel("姓名: ");private JLabel j2 = new JLabel("性别: ");private JLabel j3 = new JLabel("年龄: ");private JLabel j4 = new JLabel("工资: ");private JLabel j5 = new JLabel("地址: ");private JLabel j6 = new JLabel("部门: ");private JTextField text1 = new JTextField(25);private JTextField text2 = new JTextField(25);private JTextField text3 = new JTextField(25);private JTextField text4 = new JTextField(25);private JTextField text5 = new JTextField(25);private JTextField text6 = new JTextField(25);private JPanel panel1 = new ImagePanel("F:\\my picture\\111 (2).jpg");private JButton but1 = new JButton("修改");private JButton but2 = new JButton("清除");private JButton but3 = new JButton("返回主菜单 "); private Font fnt=new Font("方正舒体",Font.BOLD ,25);private Container con = getContentPane();public StaffUpdate(String s) throws HeadlessException { super(s);panel1.setLayout(null);init();jcb.setOpaque(false);jlabel.setBounds(150,30,280,50);jcb.setBounds(295,40,100,30);j1.setBounds(20,100,100,50);j2.setBounds(20,150,120,50);j3.setBounds(20,200,120,50);j4.setBounds(20,250,120,50);j5.setBounds(20,300,120,50);j6.setBounds(20,350,120,50);but1.setBounds(80,435,100,30);but2.setBounds(200,435,100,30);but3.setBounds(115,485,180,30);text1.setBounds(85,111,80,30);text2.setBounds(85,161,80,30);text3.setBounds(85,211,80,30);text4.setBounds(85,261,80,30);text5.setBounds(85,311,80,30);text6.setBounds(85,361,80,30);text1.setOpaque(false);text1.setBorder(null);text2.setOpaque(false);text2.setBorder(null);text3.setOpaque(false);text3.setBorder(null);text4.setOpaque(false);text4.setBorder(null);text5.setOpaque(false);text5.setBorder(null);text6.setOpaque(false);text6.setBorder(null);but1.setContentAreaFilled(false);but1.setBorder(null);but2.setContentAreaFilled(false);but2.setBorder(null);but3.setContentAreaFilled(false);but3.setBorder(null);jlabel.setFont(fnt);jcb.setFont(fnt);j1.setFont(fnt);j2.setFont(fnt);j3.setFont(fnt);j4.setFont(fnt);j5.setFont(fnt);j6.setFont(fnt);text1.setFont(fnt);text2.setFont(fnt);text3.setFont(fnt);text4.setFont(fnt);text5.setFont(fnt);text6.setFont(fnt);but1.setFont(fnt);but2.setFont(fnt);but3.setFont(fnt);panel1.add(jlabel);panel1.add(jcb);panel1.add(j1);panel1.add(j2);panel1.add(j3);panel1.add(j4);panel1.add(j5);panel1.add(j6);panel1.add(text1);panel1.add(text2);panel1.add(text3);panel1.add(text4);panel1.add(text5);panel1.add(text6);panel1.add(but1);panel1.add(but2);panel1.add(but3);con.add(panel1);but1.addActionListener(this);but2.addActionListener(this);but3.addActionListener(this);jcb.addItemListener(this);setBounds(258, 57, 850, 650);setVisible(true);}public void init() {DataBaseManager db = new DataBaseManager();String sql = "select * from staff";ResultSet rs = db.getResult(sql);Object s1[] = new Object[100];int i = 0;try {while (rs.next()) {s1[i] = rs.getString(1);i++;text1.setText(rs.getString("name"));text2.setText(rs.getString("sex"));text3.setText(rs.getString("age"));text4.setText(rs.getString("wage"));text5.setText(rs.getString("address"));text6.setText(rs.getString("department"));}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}jcb = new JComboBox(s1);}public void itemStateChanged(ItemEvent e) {// TODO Auto-generated method stubif (e.getStateChange() == ItemEvent.SELECTED) {// 判断是否是选中String s = (String) e.getItem();// 返回受事件影响的项DataBaseManager db = new DataBaseManager();String sql = "select name,sex,age,wage,address,department from staff where ID="+ "'" + s + "'";ResultSet rs = db.getResult(sql);try {while (rs.next()) {text1.setText(rs.getString("name"));text2.setText(rs.getString("sex"));text3.setText(rs.getString("age"));text4.setText(rs.getString("wage"));text5.setText(rs.getString("address"));text6.setText(rs.getString("department"));}} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}}public void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubif (e.getSource() == but1) {DataBaseManager db = new DataBaseManager();String s1 = (String) jcb.getSelectedItem();// 返回被选项String s2 = text1.getText();String s3 = text2.getText();String s4 = text3.getText();String s5 = text4.getText();String s6 = text5.getText();String s7 = text6.getText();String sql = "update staff set name=" + "'" + s2 + "',sex='" + s3 + "',age='" + s4 + "',wage='" + s5 + "',address='" + s6+ "',department='" + s7 + "'where ID=" + "'" + s1 + "'";db.updateSql(sql);JOptionPane.showMessageDialog(this, "成功修改 ");} else if (e.getSource() == but2) {String s1 = (String) jcb.getSelectedItem();text1.setText("");text2.setText("");text3.setText("");text4.setText("");text5.setText("");text6.setText("");String s2 = text1.getText();String s3 = text2.getText();String s4 = text3.getText();String s5 = text4.getText();String s6 = text5.getText();String s7 = text6.getText();String sql = "update staff set name=" + "'" + s2 + "',sex='" + s3 + "',age='" + s4 + "',wage='" + s5 + "',address='" + s6+ "',department='" + s7 + "'where ID=" + "'" + s1 + "'";DataBaseManager db = new DataBaseManager();db.updateSql(sql);} else {dispose();new StaffMain("员工信息管理系统");}}public static void main(String[] args) {// TODO Auto-generated method stubnew StaffUpdate("修改员工信息 ");}}//删除员工信息import java.awt.Color;import java.awt.Container;import java.awt.FlowLayout;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.sql.ResultSet;import java.sql.SQLException;import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;public class StaffDelete extends JFrame implements ActionListener { /****/private JLabel j1;//设置标签private JLabel j2;private JLabel j3;private JLabel j4;private JLabel j5;private JLabel j6;private JTextField text;//设置文本框private JTextField text1;private JTextField text2;private JTextField text3;private JTextField text4;private JTextField text5;private JTextField text6;private JButton but1;//设置按钮private JLabel jlabel;private JButton delete;private JButton returnButton;private Font fnt;//设置字体private Font fnt1;private JPanel panel1;//定义一个面板public StaffDelete() {super("删除员工信息");init();panel1.setLayout(null);//设置布局管理器panel1.add(but1);panel1.add(jlabel);panel1.add(j1);panel1.add(j2);panel1.add(j3);panel1.add(j4);panel1.add(j5);panel1.add(j6);panel1.add(text);panel1.add(text1);panel1.add(text2);panel1.add(text3);panel1.add(text4);panel1.add(text5);panel1.add(text6);panel1.add(delete);panel1.add(returnButton);setBounds(256, 57, 850, 650);this.getContentPane().add(panel1);setVisible(true);}void init() {panel1 = new ImagePanel("F:\\my picture\\1_120414121442_5.jpg");fnt = new Font("方正舒体", Font.BOLD, 30);fnt1 = new Font("华文新魏", Font.BOLD, 25);j1 = new JLabel("姓名:");j2 = new JLabel("性别:");j3 = new JLabel("年龄:");j4 = new JLabel("工资:");j5 = new JLabel("地址:");j6 = new JLabel("部门:");text = new JTextField(10);text1 = new JTextField(10);text2 = new JTextField(10);。

奥派人力资源管理实验报告

奥派人力资源管理实验报告

人力资源实验报告指导老师张霞姓名:彭丹学号: 08112023 专业:市场营销【实验目的】奥派人力资源管理实践教学平台将人力资源管理的理论知识和实践有效的结合在一起,通过对系统实践操作和学习,可以接受到人力资源管理方法与技巧方面的基本训练,掌握分析和解决人力资源管理问题的基本方法。

通过对人力资源管理系统的实践操作,接受到人力资源管理方法与技巧方面的基本训练,学习掌握分析和解决人力资源管理问题的基本实践能力;掌握人力资源需求分析和人力资源供给预测的方法;熟悉部门和岗位的信息配置的方法,并根据组织结构变化进行相关维护;熟练掌握员工招聘流程,熟悉人事管理相关环节的操作;熟练掌握培训管理的流程;掌握绩效考核方法的选择与执行,并进行薪酬设计与配置;对人才市场的整个工作流程有整体的把握与全面地了解。

【实验内容】此次试验依托于奥派人力资源管理实践教学平台,完整模拟现实人力资源管理的模块及流程。

系统分为两个操作环境,分别是人力资源和人才市场。

人力资源部分主要模块有:组织设计、人力资源规划、工作分析、招聘管理、人事管理、培训管理、考勤管理、绩效管理、薪酬管理、奖惩管理、保险管理、合同管理、成本中心管理、报表管理等,如图 1.1。

人才市场主要分为人才市场前台、人才市场服务商、人才市场企业用户和个人用户四大体系。

如图1.2。

图—1.1图—1.2【实验步骤】基于以上模块,我们进行了具体的试验操作。

一.创建空间:进入系统,输入信息进行用户信息注册。

二.人力资源模块:1. 系统配置:进入相应部分,依次添加的员工信息、进行员工角色分配、添加的表单信息、添加的合同信息、添加的费用类型信息、进行流程信息配置。

2. 组织设计1)公司信息配置进入人事经理操作界面,选择“组织设计”下的“公司信息配置”,填写公司的详细信息。

点击“组织结构形式”后的“虚拟组织结构维护”,进入虚拟组织结构设计页面。

2)部门信息配置在人事经理操作页面选择“组织设计”下的“部门信息配置”,进入部门信息配置页面。

员工管理系统项目报告

员工管理系统项目报告

企业人事管理系统需求分析报告第一部分.概述1.项目名称及背景项目名称:企业资源管理系统人事模块开发背景:为适应当前信息化潮流以及公司口益扩大和延伸的业务范畴,急切需要一款适合公司实际情况的企业管理系统以管理企业口常工作,针对公司经营状况以及公司实际规模屋身定制,旨在真正提高企业信息化管理水平,提高工作效率,降低管理成本,全面实现管理的标准化和信息化。

2.文档说明详细说明本企业管理系统人事模块应具备的业务功能。

技术人员开发程序的依据,指导后续的概要设计、详细设计和数据结构设计。

第二部分、任务说明1.需求总览XXX公司需要开发一套企业人事管理系统,以实现企业资源的信息化、标准化管理,全面提高生产效率,降低生产成本。

本系统主要功能基本资料管理:主要模块为部门管理,工种类型管理,职务类型管理,合同类型管理,员工基本信息管理等。

工资管理:计算员工工资,包扌舌奖励项目设置和惩罚项目设置人事管理:主要包括人事信息管理,员工入职,离职,自离,员工岗位调动,各种合同管理等。

系统管理:身份验证,数据备份等。

2.用户环境操作系统:Windows 2000, 2003, XP平台:.NETFrameWork2.0, Visual 2005数据库:SQL Seiver 20053.其他要求Rational XDEVSS第三部分、业务流程1、新员工入职流程说明:1、新员工到人事部报到,填写《报到通知单》,人事部对其审批;2、人事部暂时将新员工信息进行登记;3、新员工报到后,到行政部缴费(行政部代收),领取相关物品,行政部安排其食■宿等事项;4、行政部录入员工物品领用等相关信息;5、行政部将新员工的缴费转交财务部;6、财务部收费后,录入缴费信息;7、新员工缴费后,再到人事部签试用期合同,领取工作牌等;8、员工上岗前由人事部安排进行岗前培训;9、岗前培训后送往用人单位(生产部)上班;10、用人单位接收新员工,新员工正式上班后,用人单位填报部门新增员工,报人事部:11、人事部接收用人单位的部门新增后,确认员工信息保存其员工档案(与2有相似之处, 此处主要处理有新员工自离的情况,所以在新员工正式上班后再确认其员工档案信息)。

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

员工管理系统测试报告项目开发人员:XXXXXX年 X 月 XX 日目录一、简介 01. 编写目的 02. 背景 03. 定义 04. 系统简介 05. 参考资料 (1)二、测试用例 (2)三、测试结果及发现 (2)1. 测试1(系统登陆模块) (3)2. 测试2(员工管理模块) (3)3. 测试3(部门管理模块) (3)4. 测试4(职位管理模块) (3)5. 测试5(用户管理模块) (4)6. 测试6(员工签到模块) (4)7. 测试7(员工请假模块) (4)8. 测试8(公告管理模块) (5)9. 测试9(留言管理模块) (5)10. 测试10(公司通讯录模块) (5)11. 测试11(回收站模块) (6)四、对软件功能的结论 (7)1. 功能1(登录模块) (7)2. 功能2(公司基本信息管理模块) (7)3. 功能3(签到、签退模块) (7)4. 功能4(请假模块) (7)5. 功能5(留言模块) (8)6. 功能6(公告模块) (8)7. 功能7(回收站) (8)8. 功能8(通讯录模块) (9)五、分析摘要 (10)1. 能力 (10)2. 缺陷和限制 (10)3. 建议 (10)4. 评价 (10)一、简介1. 编写目的测试分析报告是在设计实现的基础上,对测试的结果以及测试的数据等加以记录和分析总结。

它也是测试过程中的一个重要环节,同时,它也是对软件性能的一个总结的分析和认可及不足之处的说明。

因此,测试分析报告对于今后对软件的功能的加强,不足之处的弥补等都起着十分重要的提纲作用。

另外,它还有利于今后软件开发者阅读原程序,根据测试提供的数据和结果,分析源代码,掌握各函数的功能和局限性。

从而缩短软件开发者的再开发时间和所耗费的精力,资金。

预期参考人员包括用户、测试人员、开发人员、项目管理者、其他质量管理人员。

为了系统的正常运行,及时发现可能存在的错误,本小组计划测试各个模块,每个模块设计多个用例。

2. 背景项目名称:员工管理系统开发项目开发者:中国石油大学胜利学院计算机科学与技术专业2班吴建海用户:企业人力资源管理部门运行环境:Windows XP及以上Windows系统数据库:Mysql3. 定义数据库:存储在某种存储介质上的相关数据有组织的集合。

单元测试又称模块测试,是针对软件设计的最小单位——程序模块,进行正确性检验的测试工作。

集成测试也叫组装测试或联合测试。

安全性:系统设置了不同级别的使用者的权限,仅有后台数据库管理员用户才可以对整个系统进行设置或修改,普通权限的登录用户可以进行简单的添加、修改、删除操作,非登录用户只能进行浏览检索功能。

4. 系统简介员工管理系统主要分为登录、公司基本信息管理、员工请假与考勤管理、公司公告管理、公司留言管理、公司通讯录、回收站七个模块。

系统主模块功能树如图1-1所示。

二、测试用例测试用例讲述了本系统各个功能模块内容和测试内容,该部分列出每一项测试的标识符及其测试内容,并指明实际进行的测试工作内容与测试计划中预先设计的内容之间的差别,说明作出这种改变的原因,是对系统测试的一个概述。

功能测试具体内容如表2-1所示。

表2-1 员工管理系统测试用例三、测试结果及发现1. 测试1(系统登陆模块)分别以员工、管理员和超级管理员身份登陆系统,分别可实现不同的功能。

利用员工权限登录时必须输入数据库中员工表内已存在员工姓名(例如:赵雅莉)和姓名全拼(例如:zhaoyali)才能登入,登录成功后可以执行员工权限可以操作的功能模块;利用管理员权限登录时必须输入数据库中用户表已存在用户名(例如:admin)和用户密码(例如:password)并且权限为管理员权限才可登录,登录成功后可以执行管理员权限可以执行的操作功能;利用超级管理员登入系统时必须输入数据库中用户表已存在用户名(例如:superadmin)和用户密码(例如:password)并且权限为超级管理员权限才可登录,登录成功后可以执行超级管理员权限可以执行的操作功能。

登录过程中只要用户名和密码不匹配则登录失败。

2. 测试2(员工管理模块)该模块包含员工增加功能测试、员工修改功能测试、员工删除功能测试、员工查询功能测试和员工导出功能测试。

员工增加功能中按要求输入数据,当数据和数据库数据类型相同时可以保存成功,如果不满足则自动弹出警告窗口。

员工修改功能中输入正确数据可以达到预期效果,修改后可以成功的保存数据信息。

员工删除功能中删除操作可以达到预期效果,单删除和批量删除都能成功操作。

员工查询功能中按要求输入数据进行查询,可以单条件查询也可以多条件查询都可以得到预期的效果。

员工导出功能中成功将员工信息导入到Excel表格中。

3. 测试3(部门管理模块)该模块包含部门增加功能测试、部门修改功能测试、部门删除功能测试和部门查询功能测试。

部门增加功能中按要求输入数据,当数据和数据库数据类型相同时可以保存成功,如果不满足则自动弹出警告窗口。

部门修改功能中输入正确数据可以达到预期效果,修改后可以成功的保存数据信息。

部门删除功能中删除操作可以达到预期效果,单删除和批量删除都能成功操作。

部门查询功能中按要求输入数据进行查询,可以单条件查询也可以多条件查询都可以得到预期的效果。

4. 测试4(职位管理模块)该模块包含职位增加功能测试、职位修改功能测试、职位删除功能测试和职位查询功能测试。

职位增加功能中按要求输入数据,当数据和数据库数据类型相同时可以保存成功,如果不满足则自动弹出警告窗口。

职位修改功能中输入正确数据可以达到预期效果,修改后可以成功的保存数据信息。

职位删除功能中删除操作可以达到预期效果,单删除和批量删除都能成功操作。

职位查询功能中按要求输入数据进行查询,可以单条件查询也可以多条件查询都可以得到预期的效果。

5. 测试5(用户管理模块)该模块包含用户增加功能测试、用户修改功能测试、用户删除功能测试和用户查询功能测试。

用户增加功能中按要求输入数据,当数据和数据库数据类型相同时可以保存成功,如果不满足则自动弹出警告窗口。

用户修改功能中输入正确数据可以达到预期效果,修改后可以成功的保存数据信息。

用户删除功能中删除操作可以达到预期效果,单删除和批量删除都能成功操作。

用户查询功能中按要求输入数据进行查询,可以单条件查询也可以多条件查询都可以得到预期的效果。

6. 测试6(员工签到模块)以员工身份登录系统并进行签到操作,签到成功,再次执行签到操作则提示不可重复签到。

执行签退操作,签退成功并自动计算工作时间,再次执行签退操作,提示不可重复签退。

用另一个员工身份登录直接执行签退操作,提示请先签到。

功能需求满足条件。

以管理员身份登录系统,打开员工签到管理,可以看到刚才员工的签到签退状态,该处没有操作按钮,符合要求。

再次以超级管理员身份登录系统同样进入员工管理模块可以看到刚才员工的签到签退状态,该处有删除按钮,选择一条记录点击删除,成功删除记录,满足条件。

7. 测试7(员工请假模块)以员工身份登录系统进入请假操作页面,新建三条请假信息提交人选择为三名管理员身份的用户,按要求输入数据新增成功,请假信息新增保存操作成功满足要求。

将其中三条请假记录分别提交,提示提交成功,请假信息提交功能满足条件。

以其中提交人之一登录系统,进入请假管理模块,只可以看到员工提交给自己的一条数据,选择数据执行审批通过操作,提示操作成功。

请假信息审批人权限控制和审批通过功能满足要求。

以另一名提交人管理员登录系统也能看到一条数据,执行审批不通过操作,提示操作成功,请假信息审批不通过功能满足要求。

以超级管理员身份登录系统,进入请假管理菜单可以看到员工提交的三条记录执行删除操作,提示只有销假后记录可删除,对其中一条待审批状态下的记录执行审批通过操作,提示操作成功。

超级管理员对请假记录的查看和操作权限满足要求。

再次以员工身份登录查看提交的三条请假记录两条审批通过状态和一条审批不通过状态,对三条数据分别执行销假操作,审批通过状态下的记录提示销假成功,审批未通过的记录提示该状态下记录不允许执行销假操作,分别对三条记录执行删除操作,提示删除成功。

销假和员工删除功能满足要求。

8. 测试8(公告管理模块)管理员登录本系统进入公告管理模块新增两条公告数据,提示增加成功。

公告新增功能满足条件。

分别提交两条公告记录,提示提交成功,记录从新建公告表移动到待审核公告列表,公告提交功能满足条件。

以另一个管理员进入系统的公告管理模块并不能看到上一个管理员创建的待审核状态下的公告信息,满足管理员对公告记录的查看权限。

超级管理员进入系统下的公告管理模块,可以看到刚刚创建的两条公告记录,对两条记录分别执行审批通过和审批不通过操作,提示操作成功,审批通过的公告信息移动到已发布公告列表内,审批不通过记录从待审核公告列表消失,超级管理员对公告审批功能满足条件。

再次以管理员身份登录系统会看到审批未通过状态下的公告记录,而审批已通过的记录能够在查看公告功能菜单中看到,对审批未通过记录执行撤回操作,提示操作成功,记录从待审核列表移动到提交列表状态有审核不通过变为未提交状态,管理员对审核未通过公告操作符合要求。

9. 测试9(留言管理模块)员工登录系统后进入员工留言模块建立两条留言信息并保存,提示操作成功。

员工留言新增功能满足条件。

将两条记录进行提交操作,提示操作成功,记录状态从未提交状态变为待审核状态,员工留言提交功能满足条件。

分别以管理员和超级管理员登录系统进入留言管理菜单,都会看到刚刚创建的两条留言记录,分别对其中的一条记录进行回复,输入数据点击保存,提示操作成功,同时记录被移除列表。

留言回复功能满足条件。

员工登录系统查看留言回复记录会看到不同管理员回复的记录,点击记录查看详情,记录状态由已回复变为已查看状态,相应颜色也会发生改变。

员工查看回复消息功能满足条件。

10. 测试10(公司通讯录模块)员工登录系统后进入公司通讯录菜单模块,可以看到公司所有员工的联系信息,输入员工姓名进行模糊查询,可以得到相关员工信息的查询结果。

员工对公司通讯录的操作满足条件。

管理员登录系统后进入公司通讯录菜单模块,可以看到公司所有员工的联系信息,输入员工姓名进行模糊查询,可以得到相关员工信息的查询结果。

管理员对公司通讯录的操作满足条件。

超级管理员登录系统后进入公司通讯录菜单模块,可以看到公司所有员工的联系信息,输入员工姓名进行模糊查询,可以得到相关员工信息的查询结果。

超级管理员对公司通讯录的操作满足条件。

11. 测试11(回收站模块)超级管理员进入系统后点击回收站功能菜单中的员工删除历史,展现出被第一次删除的员工记录,分别对不同记录执行还原和删除功能,提示操作成功。

还原成功后的员工记录会在员工管理菜单中查到,删除后的数据将被彻底删除。

相关文档
最新文档