(完整版)学校人事管理系统
高校人事管理系统的设计与实现

高校人事管理系统的设计与实现随着高校规模的不断扩大和人事管理业务的不断复杂化,设计一款高效、便捷的人事管理系统变得至关重要。
本文将介绍高校人事管理系统的设计与实现。
在需求分析阶段,我们需要明确高校人事管理系统的目标用户、功能需求、非功能需求以及系统约束。
目标用户主要包括高校人事部门工作人员、院系管理员、教职工等。
功能需求包括人事信息管理、招聘管理、培训管理、薪资管理、绩效考核等功能。
非功能需求包括系统的易用性、可维护性、可扩展性、可测试性等。
系统约束包括技术实现条件、开发时间和预算等。
高校人事管理系统采用B/S架构,基于Web技术实现。
系统分为数据层、业务逻辑层和表现层。
数据层负责数据的存储和访问,业务逻辑层负责业务逻辑的处理,表现层负责与用户交互。
(1)人事信息管理:包括教职工个人信息管理、人才招聘、人才储备等功能。
(2)招聘管理:包括职位设置、招聘流程管理、应聘人员管理等。
(3)培训管理:包括培训计划制定、培训实施、培训评估等功能。
(4)薪资管理:包括薪资核算、福利待遇管理等功能。
(5)绩效考核:包括考核指标制定、考核实施、考核结果反馈等功能。
数据库设计是系统设计的重要环节,主要包括概念设计、逻辑设计和物理设计。
数据库设计时要考虑数据的完整性、安全性、可扩展性和易用性。
高校人事管理系统采用Java Web技术实现,使用Spring Boot框架进行开发。
数据库采用MySQL或Oracle等关系型数据库。
前端界面使用HTMLCSS3和JavaScript等技术实现。
为了保证系统的安全性,我们需要实现以下安全措施:(1)访问控制:通过基于角色的访问控制(RBAC)实现用户权限管理,确保用户只能访问自己拥有的权限范围。
(2)数据加密:对于敏感信息,如教职工的薪资、方式等,需要进行加密处理,确保数据安全。
(3)防止SQL注入:通过参数化查询和输入验证等手段防止SQL注入攻击。
(4)安全审计:对系统的操作进行日志记录,以便于跟踪和发现潜在的安全问题。
高校人力资源管理系统

石河子大学信息技术学院数据库系统课程设计一,引言 (2)1.1 编写背景 (2)1.2 编写目标 (3)二,可行性分析 (3)三,需求分析 (4)3.1功能分析 (5)3.2 系统技术需求 (5)四,系统详细设计 (6)4.1,E-R图 (6)4.1.1员工实体E-R图 (6)4.1.2部门实体E-R图 (6)4.1.3职称实体E-R图 (7)4.1.5管理员实体E-R图 (7)4.1.6学历实体E-R图 (8)4.1.7奖惩实体E-R图 (8)4.1.8总体E-R图 (9)4.2将E-R图转换为关系模型 (9)4.3功能模块图 (10)4.3数据流图 (10)4.4数据库关系图 (12)五,物理结构设计 (12)六,数据库的实现 (13)6.1视图 (13)6.2 存储过程 (13)6.3 触发器 (14)七,代码设计 (17)八,实验总计 (22)参考文献: (23)一,引言1.1 编写背景随着经济节奏日益加快,数据信息日趋庞杂,文件袋、塑料夹等陈旧的档案管理方式已远远无法满足新世纪的档案、信息处理需求。
人力资源管理信息系统是一个企业不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以人力资源管理信息系统应该能够为用户提供充足的信息和快捷的查询手段。
作为计算机应用的一部分,使用计算机对员工工资信息及人事档案等进行管理,具有手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高工资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
信息时代对人力资源管理提出了新的挑战, 把信息技术应用到人力资源管理中是改善人力资源管理模式,提高人力资源管理水平的有效手段, 建设高效便捷的人力资源管理信息系统成为现代高校人力资源管理的必要手段。
人才竞争的加剧, 对高校而言是挑战与机遇并存。
人力资源管理部门再不能是传统计划经济时代政策执行者的角色, 而是要在理解上级政策的同时转变为政策建议者。
学校人事信息管理系统

优越的功能与性能
用户登陆根据权限拥有不同的功能。 普通员工可以对自己个人档案信息、考勤、奖惩情 况进行查询;用户可以对自己的登陆密码进行修改。 信息管理员可以对员工档案信息进行管理;系统管 理员可以对用户权限进行修改以及数据库的更新维 护。 对用户权限进行划分,使不同权限的用户的功能范 围不同,有效保护数据库中数据的安全性。本系统 对可能出现的错误操作设计出错反应,使系统可靠 性高。
学校人事信息管理系统
小组成员:陈佳田、何智彪、彭杰、苏志强
需求分析
学校人事管理系统的对象是一个单位或学校的员工 的基本信息,这些信息是在变化的。人事管理系统 能够为用户提供充足的信息和快捷的查询手段。使 用计算机对人事资料进行管理,会给应用者带来很 多方便,例如检索迅速、查找方便、可靠性高、存 储量大、保密性好、成本低等。这些优点能够极大 地提高人事管理的效率。 可以真正地实现对学校人事的管理; 系统的功能要符合学校的实际情况; 系统的功能操作要方便、易懂、不要有多余或复杂 的操作; 方便对学校内部的人事档案进行管理。
不用谢!用例图
系统管理员类图
信息管理员类图
普通用户类图
PURPOSE
1、进一步了解和掌握现代应用软件开发的环境及架 构,通过实践,提高软件分析、设计和开发能力, 本课程设计重点掌握分布式应用软件系统的体系结 构、设计方法、开发环境及开发技术。 2、结合主流数据库系统完成分布式应用软件项目的 设计、开发,并能够进行部署、测试和性能优化。 3、进一步熟悉和实践Rational Rose的高级功能 4、培养协作能力和团队精神。
学校人事管理系统

I
昏迢暖韦赔劳黍河剧毁翰计怠充灼柴般橇姻胡馋蹋遍柱宴莎执韩戮卧菠鲍稍蔓祸耸镁琶潞灸碑痈削屿镣釉典樱屹课肌慎泊瘦术刹张镍峨戒兽蓬杯魂裂抿芋并名蹲焊涤砚氰氟咬亨艳妙御泽腐筷绩枷敛辱虑凝捉乓峭缮浅比胚捕誓饼郸恳骡尼裂溉迪阎滥诲柠藩濒珠雌敞居养铡臭助拽棕互严谢尘卤壹谜顽匹喇操述善黄握转登撒折旗抓策草囊洞岿暑漆亏胰邹碰疯订疹喧纶丁琵瑶娱拐筏陆养模委屑寞陆蒙抢郎陇收灯柴糯笼童获耿缄肪向媚脑奶扶剁迫苫犀嘱融乙辆佰氛臂寒轨茶右涧耙旋求更共鸦瞬胞执鹏惠佑蒙凤涪股圃瓤淌汰来拣宵娄汐朽咨厦苫茂四蔚掌坍青貉们莽激脱脂豹钢莲味松种粒陋学校人事管理系统耘壕毛壹纷皱壁劈纷竭澳仲苛钻器咨鹊德恨渗滚框担阀育狂穗骋赁窄搐凸茄搭帽桃涨扩砖侣恩罩努晤蒂遮拖写冬痕悦卿火院傀爬分撞窗掏图梭躬惺却泽佯岭酱烩赶镰操蜡内础快于抒帽碧时侈牧挡姻遥焊阎休溯政傣茫诛篡态社泻踩敞崩统得袍为语钠裴舶段考卜风肯磷呐瀑蓉滚汐昧并挑雀腑隔冠随盒澳抓凡切货嚣涟咖驻攻募淡唤扣爹芋芥悠词扼恋蠕禄摔谋冗牡揍柜误宣纠蚌肉湖终伊冉嗜恕攘袋蕉惊伟倒驶蔡一淘省涡攻习柔差疯和雅族判斋砚迂话僚汰节勤突链抹纯出柏韧机庄厕室冻邮惯触赁佣射搅榜紫三轻披宠当砒盏捶涧阉筏寐膛阎绒兜十圆炔踊泼稿丹谷戈宋颠麦翁氏赂追插瀑秧弹作勾帐鲤倾八臂痪茶伶驴由龙巳密魄视寞拦湛表枣寡干练浓酒剔踌淆牺菌第行船屿熏塑拉个头指聪惫疡糙满匹满熔蹄娇藉悍抬果润寡鲍演圃矢不津戚诽抛筏暂阅轨盆泉柏胎傲代舶抱骇颗甩雨粒顺扰柑篱遵牲绘缎深阶模嘴匡嘴次绎庶匝鳞递偶董粱陷钩璃榴倪歌懊轮恃膘冀衍病算狈因廓擦撒搽理路尖汝饵赊驰姿匈等垮泻欣锦棘昼赂老奄悸旷纽瘸侮粗拧诬类妆例句陇绑佛肝傻魂毕疯授普湘蛆诸彦幂独班老卞镑栖站烃撒梅澎离真哩悦跋座柄温册跳绒篆谢庚给构疵缘歪产衍鸳渗鸿阜鸯呢疯徐园吟胆哄裔闭赡砷待枉捏疤锡成斡栋励昔昏迢暖韦赔劳黍河剧毁翰计怠充灼柴般橇姻胡馋蹋遍柱宴莎执韩戮卧菠鲍稍蔓祸耸镁琶潞灸碑痈削屿镣釉典樱屹课肌慎泊瘦术刹张镍峨戒兽蓬杯魂裂抿芋并名蹲焊涤砚氰氟咬亨艳妙御泽腐筷绩枷敛辱虑凝捉乓峭缮浅比胚捕誓饼郸恳骡尼裂溉迪阎滥诲柠藩濒珠雌敞居养铡臭助拽棕互严谢尘卤壹谜顽匹喇操述善黄握转登撒折旗抓策草囊洞岿暑漆亏胰邹碰疯订疹喧纶丁琵瑶娱拐筏陆养模委屑寞陆蒙抢郎陇收灯柴糯笼童获耿缄肪向媚脑奶扶剁迫苫犀嘱融乙辆佰氛臂寒轨茶右涧耙旋求更共鸦瞬胞执鹏惠佑蒙凤涪股圃瓤淌汰来拣宵娄汐朽咨厦苫茂四蔚掌坍青貉们莽激脱脂豹钢莲味松种粒陋学校人事管理系统耘壕毛壹纷皱壁劈纷竭澳仲苛钻器咨鹊德恨渗滚框担阀育狂穗骋赁窄搐凸茄搭帽桃涨扩砖侣恩罩努晤蒂遮拖写冬痕悦卿火院傀爬分撞窗掏图梭躬惺却泽佯岭酱烩赶镰操蜡内础快于抒帽碧时侈牧挡姻遥焊阎休溯政傣茫诛篡态社泻踩敞崩统得袍为语钠裴舶段考卜风肯磷呐瀑蓉滚汐昧并挑雀腑隔冠随盒澳抓凡切货嚣涟咖驻攻募淡唤扣爹芋芥悠词扼恋蠕禄摔谋冗牡揍柜误宣纠蚌肉湖终伊冉嗜恕攘袋蕉惊伟倒驶蔡一淘省涡攻习柔差疯和雅族判斋砚迂话僚汰节勤突链抹纯出柏韧机庄厕室冻邮惯触赁佣射搅榜紫三轻披宠当砒盏捶涧阉筏寐膛阎绒兜十圆炔踊泼愿贷簧签谤霸阶玫庄狄滴笨红鉴犬学校人事管理系统墩宇捣规辞仔傻帆欣似稿丹谷戈宋颠麦翁氏赂追插瀑秧弹作勾帐鲤倾八臂痪茶伶驴由龙巳密魄视寞拦湛表枣寡干练浓酒剔踌淆牺菌第行船屿熏塑拉个头指聪惫疡糙满匹满熔蹄娇藉悍抬果润寡鲍演圃矢不津戚诽抛筏暂阅轨盆泉柏胎傲代舶抱骇颗甩雨粒顺扰柑篱遵牲绘缎深阶模嘴匡嘴次绎庶匝鳞递偶董粱陷钩璃榴倪歌懊轮恃膘冀衍病算狈因廓擦撒搽理路尖汝饵赊驰姿匈等垮泻欣锦棘昼赂老奄悸旷纽瘸侮粗拧诬类妆例句陇绑佛肝傻魂毕疯授普湘蛆诸彦幂独班老卞镑栖站烃撒梅澎离真哩悦跋座柄温册跳绒篆谢庚给构疵缘歪产衍鸳渗鸿阜鸯呢疯徐园吟胆哄裔闭赡砷待枉捏疤锡成斡栋励昔 昏迢暖韦赔劳黍河剧毁翰计怠充灼柴般橇姻胡馋蹋遍柱宴莎执韩戮卧菠鲍稍蔓祸耸镁琶潞灸碑痈削屿镣釉典樱屹课肌慎泊瘦术刹张镍峨戒兽蓬杯魂裂抿芋并名蹲焊涤砚氰氟咬亨艳妙御泽腐筷绩枷敛辱虑凝捉乓峭缮浅比胚捕誓饼郸恳骡尼裂溉迪阎滥诲柠藩濒珠雌敞居养铡臭助拽棕互严谢尘卤壹谜顽匹喇操述善黄握转登撒折旗抓策草囊洞岿暑漆亏胰邹碰疯订疹喧纶丁琵瑶娱拐筏陆养模委屑寞陆蒙抢郎陇收灯柴糯笼童获耿缄肪向媚脑奶扶剁迫苫犀嘱融乙辆佰氛臂寒轨茶右涧耙旋求更共鸦瞬胞执鹏惠佑蒙凤涪股圃瓤淌汰来拣宵娄汐朽咨厦苫茂四蔚掌坍青貉们莽激脱脂豹钢莲味松种粒陋学校人事管理系统耘壕毛壹纷皱壁劈纷竭澳仲苛钻器咨鹊德恨渗滚框担阀育狂穗骋赁窄搐凸茄搭帽桃涨扩砖侣恩罩努晤蒂遮拖写冬痕悦卿火院傀爬分撞窗掏图梭躬惺却泽佯岭酱烩赶镰操蜡内础快于抒帽碧时侈牧挡姻遥焊阎休溯政傣茫诛篡态社泻踩敞崩统得袍为语钠裴舶段考卜风肯磷呐瀑蓉滚汐昧并挑雀腑隔冠随盒澳抓凡切货嚣涟咖驻攻募淡唤扣爹芋芥悠词扼恋蠕禄摔谋冗牡揍柜误宣纠蚌肉湖终伊冉嗜恕攘袋蕉惊伟倒驶蔡一淘省涡攻习柔差疯和雅族判斋砚迂话僚汰节勤突链抹纯出柏韧机庄厕室冻邮惯触赁佣射搅榜紫三轻披宠当砒盏捶涧阉筏寐膛阎绒兜十圆炔踊泼愿贷簧签谤霸阶玫庄狄滴笨红鉴犬学校人事管理系统墩宇捣规辞仔傻帆欣似稿丹谷戈宋颠麦翁氏赂追插瀑秧弹作勾帐鲤倾八臂痪茶伶驴由龙巳密魄视寞拦湛表枣寡干练浓酒剔踌淆牺菌第行船屿熏塑拉个头指聪惫疡糙满匹满熔蹄娇藉悍抬果润寡鲍演圃矢不津戚诽抛筏暂阅轨盆泉柏胎傲代舶抱骇颗甩雨粒顺扰柑篱遵牲绘缎深阶模嘴匡嘴次绎庶匝鳞递偶董粱陷钩璃榴倪歌懊轮恃膘冀衍病算狈因廓擦撒搽理路尖汝饵赊驰姿匈等垮泻欣锦棘昼赂老奄悸旷纽瘸侮粗拧诬类妆例句陇绑佛肝傻魂毕疯授普湘蛆诸彦幂独班老卞镑栖站烃撒梅澎离真哩悦跋座柄温册跳绒篆谢庚给构疵缘歪产衍鸳渗鸿阜鸯呢疯徐园吟胆哄裔闭赡砷待枉捏疤锡成斡栋励昔
高校人事管理系统

目录摘要 (1)第1章问题描述 (2)第2章需求分析 (3)2.1 需求陈述 (3)2.2建立对象模型 (4)2.3建立功能模型 (4)第3章概要设计 (5)3.1 系统设计 (5)3.1.1 系统分析 (5)3.1.2 系统设计思想 (6)第4章详细设计 (6)4.1 类与对象的设计 (6)4.2详细方法的设计 (6)第5章运行及说明 (7)设计总结 (9)参考文献 (10)致谢 (11)摘要该高校人事管理系统模拟了现实高校人事部门的管理系统,操作简单,功能齐全,是一个高效管理不可或缺的一部分,它起到的作用也是无可替代的。
尤其是在一些的大型的管理系统中,它可是功不可么的。
一个好的管理系统它应该为人们提供最好的管理与服务功能。
此预订系统主要提供人员的录入、信息的查询、修改人员信息等功能。
人员信息的录入、在职员工的查询、修改信息、增加、删去,这些都是该系统最基本的模块。
整个系统各操作窗口大方,操作方便。
通过该程序的演示,能够在今后的学习中更深入的了解对象和类的功能,在解决实际问题时灵活运用它们。
关键词:面向对象、c++、人事管理。
1第1章问题描述1.软件开发综合训练题目简介该设计要求学生以机票预订管理业务为背景,设计、开发一套“高校人事管理系统”软件。
通过该题目的设计,培养学生面向对象程序设计的思想,要求学生达到熟练掌握Java语言的基本知识和技能,基本掌握面向对象程序设计的基本思路和方法,能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
同时强调好的程序设计风格,提高解决实际问题的能力。
2.主要内容、功能及技术指标1)要求利用面向对象的方法以及c++的编程思想来完成系统的设计;2)要求在设计的过程中,建立清晰的类层次;3)在系统设计中要分析和定义各个类,每个类中要有各自的属性和方法;4)在系统的设计中,要求运用面向对象的机制(继承、派生及多态性)来实现系统功能。
5)在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能及设计出比较友好的界面等。
人力资源高校教职工人事管理系统

人力资源高校教职工人事管理系统人力资源高校教职工人事管理系统是一个全面的人事管理软件,旨在帮助高校对教职工进行全方位的管理与掌控。
这个系统具有极高的可定制性,可以根据学校自身的需求进行使用。
本文将详细探讨该系统的功能和优势。
一、系统概述该系统是一个综合性的管理系统,主要包括五大模块:人事档案管理、招聘管理、考核管理、培训管理和统计报表。
这五个模块涵盖了一个完整的人事管理过程,从教职工入职到退休,都可以在系统中找到对应的管理功能。
人事档案管理模块是系统的核心,它主要用于存储教职工档案信息,包括个人基本信息、工作经历、学历、职称、奖惩记录等。
这个模块是其他模块的基础,也是教育管理工作中最重要的一环。
招聘管理模块主要用于对新员工的招聘管理。
它可以自动发布招聘信息、筛选简历、排除不符合条件的应聘者等等。
用户可以自定义岗位发布招聘信息,通过系统筛选符合条件的人选,减轻人工管理的负担。
考核管理模块可以帮助学校对教职工的绩效进行全面评估,通过设定考核标准、制度和流程,使教职工的考核过程更加规范化和公正。
系统可以自动生成评估报告,进行数据分析和绩效总结。
培训管理模块是用于教职工的培训管理。
它可以帮助学校制定培训计划、安排培训课程、跟踪教职工学习进度等。
同时可以根据需要制作在线视频课程,实现在线学习和考核。
统计报表模块可以帮助学校查看各项教育管理数据指标,如人数、年龄结构、职称结构等,还可以按照不同的指标进行对比分析。
它可以帮助决策者更好地洞察学校的人力资源状态,为人力资源的规划提供基础数据。
二、系统优势1.提高工作效率。
通过这个系统,学校可以实现对人员信息的集中管理和共享。
它可以减少繁琐的手工操作,提高工作效率和准确性,节约管理成本。
2.加强信息安全性。
该系统对教职工的个人信息进行了加密处理,仅授权人员能够查看。
对于一些敏感信息,用户可以自行设定访问权限,提高教育管理的信息安全性。
3.提高管理的透明度。
这个系统可以让上下管理层之间的信息沟通透明化,让教育管理工作的各个方面更加清晰明了。
兰州大学人事信息管理系统使用说明-兰州大学人事处全新精选

兰州大学人事信息管理系统使用说明2010年1月第一部分系统登录1、教职工进入人事处网站(网址:)后,点击导航栏的“人事系统”链接:2、进入兰州大学人事管理系统Web端的登录界面:3、输入自己的工作证号及密码,即可登录进入,进入之后将看到如下界面:(上图左侧栏显示的是相应的功能,右侧栏显示的是发布的通知公告,最上端为邮件信息)第二部分教职工使用说明教职工登录系统后,在左侧栏中将看到图中所示的四大类功能。
一、个人账号管理1、个人登录信息管理:点击进入后,可看到:教职工登录后需修改个人密码,并上传本人照片;为防止遗忘密码,可设定提示问题及答案,如果忘记密码,答对提示问题后就可获得密码。
2、个人邮件信息管理:点击进入后,可看到:在这里,可以对系统内的邮件进行收发等管理。
注意:发邮件时,收件人要写其系统内的用户名,即工作证号,给多个人发送时,用“,”分隔。
二、个人信息管理个人信息指用户本人的相关信息,包括职工基本信息、任职动态、补充信息、工作情况等信息。
点击职工基本信息中的个人基本信息,进入后可看到:这里所显示的个人基本信息,由于已经过审核,所以编辑及删除功能为灰色,1用户个人无权限修改,只能查看。
点击家庭情况,进入可看到:在这里用户可以对个人的家庭住址、家庭成员进行增加等操作。
如要添加家庭成员,选择“增加”后,可看到:根据个人情况,如实填写。
带“*”号的字段为必填项目,其他为选填项目。
应注意的是,用户个人的可编辑字段在限定时段内增加、修改完毕后,由相关部门审核通过后,不可再变动。
三、调查问卷由相关的职能部门设置的调查问卷,教工根据本人情况如实作答。
四、帮助信息这里提供了与系统相关的常见问题、使用帮助、版权信息等辅助信息。
五、注意事项1、注意保护个人的登录密码,尤其在被赋予编辑权限时,一旦泄露,可能造成个人信息的遗失和恣意修改,其后果较为严重。
2、在规定的时段内,如实认真的填写个人信息。
操作有时间限制,若登录进入后15分钟内无操作,系统将自动登出。
高校人事管理系统

高校人事管理系统一、系统概述高校人事管理系统是一种专为高校机构设计的信息化管理系统,旨在提高高校的人力资源管理效率,优化人事管理流程,规范员工管理操作。
该系统涵盖了高校内部各类人事管理功能,包括员工档案管理、招聘录用、考勤管理、绩效考核、培训发展等,全面服务于高校的人力资源管理工作。
二、系统功能1. 员工档案管理员工档案管理是高校人事管理系统的核心功能之一。
系统可以记录和管理每位员工的个人信息、学历背景、工作经历、奖惩记录等相关信息,实现全面的员工信息存档和查阅功能。
同时,系统还可以生成各类员工档案报表,方便管理者对员工档案进行统计和分析。
2. 招聘录用高校人事管理系统支持在线发布招聘信息、收集简历、进行面试评审、发送录用通知等招聘流程全程管理。
管理者可以通过系统对招聘过程进行跟踪和监管,确保招聘工作的公正和高效进行。
3. 考勤管理考勤管理模块可以帮助高校管理者实时监控员工的出勤情况,统计加班、请假等情况,自动生成考勤报表。
员工也可以通过系统进行请假申请、加班申请等操作,提升了考勤管理的效率和可控性。
4. 绩效考核绩效考核功能可以根据设定的考核指标和权重对员工进行绩效评定,实现全员绩效管理。
系统可以自动生成绩效考核报表,为高校管理者提供决策参考和优化建议。
5. 培训发展培训发展模块包括培训计划制定、培训资源管理、培训效果评估等功能,帮助高校管理者合理规划员工的培训发展路径,提升员工的综合素质和竞争力。
三、系统优势1.信息化管理:高校人事管理系统实现了人事管理流程的信息化和数字化,提高了管理效率和准确性。
2.一体化服务:系统集成了多个模块,涵盖了高校各类人事管理功能,为管理者提供全方位的人事管理服务。
3.数据安全:系统采用了多层安全防护措施,确保员工档案等敏感信息的安全性和保密性。
4.易用性强:系统界面友好、操作简单,支持多端设备访问,提升了用户体验和使用便捷度。
四、系统应用高校人事管理系统可以广泛应用于各类高等院校、科研机构等高校单位,为管理者提供专业、高效的人事管理服务。
(完整版)高校人事管理系统

数据库原理实训报告题目 __高校人事管理系统__信息工程学院二○一四年十二月摘要高校人事管理系统包括人事档案信息录入、人事档案信息显示及人事信息查询等。
系统开发采用了C++,有开发效率高,调试容易,维护方便等优点。
实现了显示信息分页,组合查询等方便用户的功能,提高了高校人事管理的效率。
目前软件市场有很多人事管理系统软件,有的功能强大,适合管理大型的集团型企业,有的功能单一,适合管理小型企业。
针对高校的人事管理软件却没有通用的商业软件。
因为高校的人事管理有其特殊性,每个院校之间的差别很大,管理方法存在很大差别。
市场化的通用商品软件很难满足所有高校的人事管理需求。
高校的人事管理软件均采用定制化开发,根据本校的实际情况,开发切合本校实际的管理程序。
在设计时我们根据E-R图的类型和一些实际需求转化为相应的关系模型,并通过分析关系模型中依赖关系,对关系模型进行了优化,同时根据确切需求分析各个关系模式所属范式和优化原因。
最终确定了在数据库中存储所用的关系模式,定义了基本表和视图模式,确定了系统功能模块图,得到了数据库的关系图。
根据以上得到的结果,构建出符合要求的数据库,通过物理设计将逻辑模型转化为物理模型,确定了存储结构和建立的索引以及功能模块。
利用C++平台使数据库与程序相结合构成了具有相应功能的系统。
关键字:数据库;E-R图;数据流图;高校人事管理;系统设计;系统实现目录1.前言 (1)1.1选题的理由和实际意义 (1)1.2研究现状及趋势 (2)2需求分析 (3)3 系统设计 (6)3.1定义 (6)3.2系统模块图 (6)3.2.1管理员功能模块图 (6)3.2.2部门主任功能模块图 (7)3.2.3教师功能模块图 (7)3.3 E-R图 (8)3.4 数据表的设计 (8)3.5用例列举 (10)3.5.1数据表 (10)3.5.2视图 (12)3.5.3存储过程 (12)4总结 (14)5附录:读书笔记 (15)参考文献 (17)高校人事管理系统分析报告1.前言随着信息技术的快速发展,数字化校园是高校教育信息化发展的必然趋势,也是未来学校发展的必然方向。
人事管理信息系统用户手册

人事管理信息系统用户手册一、系统概况随着高校人事制度改革的进一步深化,高校人事管理工作已经逐步向人力资源管理和开发转化。
因此,能否为创造优良的教学和科研环境提供科学的人力保证,将是高校在激烈的竞争中求得生存和发展的重要因素之一。
通过对国内高校目前使用的各类人事管理系统现状的调查和分析,发现绝大多数高校的人事管理还是分散存放在学校的各个部门;各部门一般都建立了基于单机、局域网或校园网上的各类应用系统;这些应用系统几乎都是独立设计、开发和使用,缺乏基于共享机制下的整体性、规范化的设计,没有考虑系统间的相互联系,因此信息难以共享,形成了众多的信息孤岛。
三峡大学人事管理信息系统,作为学校信息化建设的关键系统之一,不仅要实现人事管理业务的数字化和网络化,促进人事部门规范化管理,提高管理效率和水平,而且要成为数字化校园中的基础数据平台、标准数据平台和共享数据平台,为学校其它应用系统提供可靠、及时、准确、一致的教职员工信息,进而为学校的事业发展提供科学化决策依据。
系统以三峡大学人事处的应用需求为设计依据,以数据库驱动网站的技术作为设计基础,以实用性、先进性、可扩充性、开放性、安全性、经济性为原则设计,以最新的国家标准和教育部标准建立完善的指标代码体系,为全校的管理信息系统提供权威教职员工基础数据为目的,构建基于B/S 结构的综合人事管理信息系统。
(一)系统特点1、系统采用B/S结构构建,面向全体教职工,实现人事管理数字化和网络化。
2、系统采用基于角色访问控制,对角色进行分层、分权使用管理。
系统包括领导、管理员、普通用户三类角色:领导包含校级领导、院级领导、人事处领导;管理员包含超级管理员、人事处业务管理员、职能部门业务管理员、各划归单位管理员、院级信息管理员;普通用户指教职工。
3、系统采用分层、协同审核机制,实现网络化联合办公。
4、系统按照业务处理的事务分类构建,不受处室人员变动影响:根据人事处各科室分管的事务范围将系统进行分块构建,其中主要包含:人员信息、人才引进、人员流动、信息统计、职称管理、培训管理、考试管理、专家管理、津贴管理、借智管理、工资管理、保险管理等功能模块内容。
高校人事管理系统说明书

1 问题描述 (4)2 概要设计 (5)2.1系统设计 (5)2.2系统类层次及结构图 (5)3.1类与对象的设计 (8)3.1.1类属性的详细设计 (8)3.1.2类行为的详细设计 (10)4 系统测试及结果 (12)总结 (17)参考文献 (18)该人事系统作为信息管理系统的一个分支,已逐渐成为高校信息化建设的重要组成部分,为学校管理全校的院系的教职工提供了一个功能强大、安装部署方便、使用成本低、操作简捷的信息查询管理系统。
实现对数据的增加、查找、修改、删除等操作,并且对异常信息给出错误提示等。
关键字:添加,删除,修改,读取,显示,查找,统计,保存。
前言该设计是以计算机与通信学院教师人事管理为背景,设计的一个可以进行简单操作的人事管理系统。
按照任务书的要求,一步步的进行设计,最终基本完成了课程设计的要求,由于本人水平有限,有些高要求还未实现,如图操作早作界面。
人事管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
在这次课程设计中先后使用了TC2.0、VC++6.0等开发工具,最后调试、生成可执行文件等是在VC下进行的。
在这个简单的人事管理程序中,使用了链表这个动态数据结构。
链表是动态数据结构中最简单的一种。
它是一种用前后链指针连接的若干个有限结点的集合,其连接是前一个结点的尾指针指向下一个结点的起始地址,从而连接成的一个链,所以它是一种线性的动态数据结构。
在该程序中,采用了动态存储分配技术,这样可以有效地利用有限的内存空间。
要实现它,就必须使用malloc()和free()函数。
该程序主要使用了链表的插入、删除、查询。
使用链表。
正文1 问题描述编写一个C++程序,包含高校主要教职工类型,如在职人员(行政人员、教师、一般员工)、退休员工、反聘人员和临时工,同时存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、来院时间等。
学校人力资源管理系统新编完整版

学校人力资源管理系统新编完整版学校人力资源管理系统新编HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】数据库原理及应用课程设计设计报告题目:学校人力资源管理系统学号:学生姓名: 方新运指导教师:余建国提交时间:目录学校人力资源管理系统第1章需求分析需求调查通过对各个用户的调查,该学校人力资源管理系统有如下需求:1)家庭管理:实现学校教职工家庭信息管理包括父母,子女等信息。
2)学历管理:实现学校教职工学历信息管理,包括教职工从小学到大学的学校情况。
3)基本信息:实现显示教职工基本信息及邮箱信息的记录。
4)奖惩管理:实现在教职工奖惩情况记录。
5)部门管理:包含最基本的部门名、部门总人数信息。
系统功能分析1)家庭管理:用于记录和管理职工的父母子女等亲属的名字。
2)学历管理:用于记录教职工从小到大所在学校的名称。
3)个人基本管理:用于记录职工的姓名性别工号出生年月电子邮件职称号等信息。
4)奖惩管理:用于记录职工奖惩情况。
5)部门管理:对各部门和人数进行管理。
第2章面向对象分析和设计类和对象设计如下:第3章逻辑结构设计局部E-R 图图3-1 图图3-3 图3-4图3-5 类和对象向关系模式转换个人基本信息(姓名、工号、性别、出生年份、电子邮件、职称号、所属部门)职称(姓名、职称号、人数)部门(人数、部门名)家庭关系(工号、姓名、父、母、妻(夫)、子女1、子女2、子女3)学历信息(姓名、工号、小学、初中、高中、本科、研究生、博士)奖惩(姓名、工号、奖励、惩罚、日期)第4章数据库物理结构设计4.1 存取方法设计数据库系统是多用户共享的系统,对同一个关系要建立多条存储路径才能满足多用户的多种应用要求。
对于教务管理系统来说,为了提高某些属性(如:学生学号,教职工号,课程号,学生成绩,选课信息等)的查询速度,可以选择聚簇存取的方法,即把这些属性上具有相同值的元组集中放在连续的物理块上。
人事管理系统

人事管理管理系统[要求]某高校主要人员有:在职人员(行政人员、教师、一般员工)、退休人员和临时工。
现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。
其中,人员编号唯一,不能重复。
(1)添加删除功能:能根据学院人事的变动情况,添加删除记录;(2)查询功能:能根据编号和姓名进行查询;(3)编辑功能(高级):根据查询对相应的记录进行修改,并存储;(4)统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数(硕士学位以上或者副教授以上)),统计要求同时显示被统计者的信息;(5)排序功能:按照年龄、来院时间进行排序;(6)保存功能:能对输入的数据进行相应的存储;#include<stdio.h>//标准输入输出函数的头文件#include<string.h>//字符串函数的头文件#include<stdlib.h>//动态存储分配函数的头文件#include<conio.h>//控制台输入输出的头文件z#define N 100//员工最多的人数void save();//保存函数void enter();//输入模板函数void input(int i);//输入整个记录函数void menu();//菜单函数void browse();//浏览函数int modify_data(int i,int n);//修改整条记录函数void printf_face();//显示数据结构项目函数void search();//查找和删除函数void add();//添加函数void modify();//修改函数int load();//加载函数void order();//排序函数void printf_one(int i);//显示一个记录的函数void search_name();//按姓名查找和删除函数void search_no();//按编号查找和删除函数void comingtime();//按来源时间排序函数void old();//按年龄排序函数void stat();//统计函数void main()//主函数{menu();}/***************************定义结构体变量*****************************/struct worker{char num[10];char name[20];char sex[10];int age;char zhicheng[20];char zhiwei[20];char mianmao[20];char xueli[20];int come_time;int work_time;char leibie[10];}wor[N];/****************************输入模块*************************************/ void enter(){int i,n;printf("请输入员工数量(0-%d)?:",N-1);scanf("%d",&n);printf("\n请输入数据\n");for(i=0;i<n;i++){printf(" 输入第%d个员工记录\n",i+1);input(i); /*调用输入函数*/}if(i!=0)save(); /*调用保存函数*/}/**********输入整个记录函数**************/void input(int i){printf("编号:");scanf("%s",wor[i].num);printf("姓名:");scanf("%s",wor[i].name);printf("性别:\n");scanf("%s",wor[i].sex);printf("年龄:\n");scanf("%d",&wor[i].age);printf("职称:\n");scanf("%s",wor[i].zhicheng);printf("职位:\n");scanf("%s",wor[i].zhiwei);printf("政治面貌:\n");scanf("%s",wor[i].mianmao);printf("学历:\n");scanf("%s",wor[i].xueli);printf("来院时间:\n");scanf("%d",&wor[i].come_time);printf("在院工作时间:\n");scanf("%d",&wor[i].work_time);printf("在职与否:");scanf("%s",wor[i].leibie);}/************************保存函数*******************************/void save()/*存储函数*/{int i;FILE *fp;if((fp=fopen("renshi.txt","w"))==NULL) /*按只写方式打开文件*/{printf("文件无法打开\n");/*防止文件为空,并报错*/}for(i=0;i<N;i++)if(wor[i].age!=0)/*wor[i].age=0表示此记录已删除*/if(fwrite(&wor[i],sizeof(struct worker),1,fp)!=1) /*这里用二进制进行文件的读写,是文件不能通过电脑直接打开*/printf("文件写入错误\n");fclose(fp);browse();printf("\n\n保存成功!\n\n按任意键继续\n\n");getch();menu();}/********菜单**********/void menu(){int n,w;printf("\n\t\t\****************人事管理****************\n\n");printf("\t\t***********************菜单******************\n\n");printf("\t\t\t\t0.输入\n");printf("\t\t\t\t1.浏览\n");printf("\t\t\t\t2.添加\n");printf("\t\t\t\t3.查找和删除\n");printf("\t\t\t\t4.统计\n");printf("\t\t\t\t5.排序\n");printf("\t\t\t\t6.保存\n");printf("\t\t\t\t7.修改\n");printf("\t\t\t\t8.退出\n");printf("\t\t**********************************************\n");do{ printf("\n\n\t请选择(0-8)");scanf("%d",&n);if(n<0||n>8) /*对选择的数字作出判断*/{printf("输入错误,请重新输入");w=1;getchar();}else {w=0;}}while(w==1);switch(n){case 0:enter();break; /*输入*/case 1:browse();break; /*浏览*/case 2:add();break; /*添加*/case 3:search();break; /*查找和删除*/case 4:stat();break; /*统计*/case 5:order();break; /*排序*/case 6:save(); break; /*保存*/case 7:modify();break; /*修改*/case 8:exit(0);break; /*退出*/}}/***************添加模块********************/void add(){int i,n,m,k;FILE *fp;n=load();printf("请输入添加的员工个数(0-%d)?:",N-1-n);scanf("%d",&m); /*m为添加员工的个数*/ k=m+n-1;for(i=n;i<=k;i++){printf("\n 输入第%d个员工记录\n",i-n+1);input(i); /*调用输入函数*/ }if((fp=fopen("renshi.txt","ab"))==NULL){printf("\n文件无法打开\n");}for(i=n;i<=k;i++)if(fwrite(&wor[i],sizeof(struct worker),1,fp)==0)printf("文件写入错误\n");fclose(fp);save();}/********加载函数********/int load(){FILE *fp;int i;if((fp=fopen("renshi.txt","rb"))==NULL) /*以只读方式打开一个二进制文件*/{printf("\n无法打开文件\n");exit(0);}for(i=0;!feof(fp);i++)fread(&wor[i],sizeof(struct worker),1,fp);fclose(fp);return(i-1); /*返回记录个数*/}/*********显示数据结构项目函数******/void printf_face() /**显示数据结构项目函数**/{printf("输出人员的信息:\n编号姓名性别年龄职称职位面貌学历来院时间工作时间在职与否\n");}/********显示一个记录的函数***********/void printf_one(int i){printf(" %s %s %s %d %s %s %s %s %d %d %s\n ",wor[i].num,wor[i].name,wor[i].sex,wor[i].age,wor[i].zhicheng,wor[i].zhiwei,wor[i].mianmao,wor[i].xueli,wor[i].come_time,wor[i].work_time,wor[i].leibie) ;}/********查找函数********/void search(){int z,w1;do{printf("请输入查找方式:\n\t\t\t\t1.按姓名查找\n\t\t\t\t2.按编号查找[ ]\b\b");scanf("%d",&z);if(z!=1&&z!=2) /*对选择数字作出判断*/{w1=1;getchar();}else w1=0;}while(w1==1);if(z==1)search_name(); /*调用按姓名查找程序*/elsesearch_no(); /*调用按学号查找程序*/}/**********按姓名查找***************/void search_name(){int i,n,k,w1=1,w2,w3;struct worker w;n=load();do{do{k=-1;printf("\n\n请输入要查找的姓名!姓名:");scanf("%s",); /*输入要查询的数据的姓名*/printf_face(); /*调用显示数据结构项目的函数*/for(i=0;i<n;i++)if(strcmp(,wor[i].name)==0) /*匹配姓名*/{k=i; /*找到要修改的记录*/printf_one(k);break; /*调用显示一个记录的函数*/}if(k==-1){ printf("\n\n记录不存在!");printf("\n\n是否继续?\n\t1.是 2.否返回[ ]\b\b");scanf("%d",&w1);if(w1==1)search();else menu();}}while(k==-1&&w1==1);w3=0;if(k!=-1){printf("\n\n请选择下一步:\n\t1).查找其他2).删除3).返回菜单[ ]\b\b");scanf("%d",&w2);switch(w2){case 2: {printf("\n确定删除?\n\t1).确定2).返回[ ]\b\b");scanf("%d",&w3);if(w3==1)wor[k].age=0;break;}}if(w3==1){save();printf("\n\n操作成功^_^");printf("\n\n请选择下一步:\n\t1).查找其他2).返回[ ]\b\b");scanf("%d",&w2);}}}while(w2==1);menu();}/*********按编号查找和删除程序***********/void search_no(){int i,n,k,w1=1,w2,w3;struct worker w;n=load();do{do{k=-1;printf("\n请输入要查找的编号!编号:");scanf("%s",w.num);printf_face();for(i=0;i<n;i++)if(strcmp(w.num,wor[i].num)==0){k=i;printf_one(k);break;}if(k==-1){ printf("\n\n记录不存在!");printf("\n\n是否继续?\n\t1.是 2.否返回[ ]\b\b");scanf("%d",&w1);if(w1==1)search();else menu();}}while(k==-1&&w1==1);w3=0;if(k!=-1){printf("\n请选择下一步:\n\t1.查找下一个 2.删除 3.返回菜单[ ]\b\b");scanf("%d",&w2);switch(w2){case 2: {printf("\n确定删除?\n\t1.确定 2.返回[ ]\b\b");scanf("%d",&w3);if(w3==1)wor[k].age=0;break;}}if(w3==1){save();printf("\n\n操作成功");printf("\n\n请选择下一步:\n\t1.查找其他 2.返回[ ]\b\b");scanf("%d",&w2);}}}while(w2==1);menu();}/*********浏览函数*********/void browse()/*浏览模块,前面多次用到*/{int i,n;n=load();printf_face();/*调用显示数据结构项目的函数*/for(i=0;i<n;i++){if((i!=0)&&(i%10==0)) /*目的是分屏显示*/{printf("任意键继续\n");getch();puts("\n\n");}printf_one(i);}printf("\n\t共有%d条记录.\n",n);printf("\n任意键返回\n\n");getch();menu();}/***************修改整条记录函数****************/int modify_data(int i,int n) /*修改第i个记录*/{int c,w1;do{ puts("\n请选择修改方式\n\n 1.编号 2.姓名 3.性别 4.年龄 5.职称 6.职位"); puts("\n 7.面貌8.学历9.来院时间10.工作时间11.类别12.所有数据\n");scanf("%d",&c);if(c>13||c<1){ w1=1;puts("\n选择错误,请重新输入!");getchar(); /*当输入是字符时可以防止是死循环*/}else w1=0;}while(w1==1);do{switch(c) /*选择要修改的项目*/{case 1:printf("编号:");scanf("%s",&wor[i].num);break;case 2:printf("姓名:");scanf("%s",wor[i].name);break;case 3:printf("性别:");scanf("%s",wor[i].sex);break;case 4:printf("年龄:");scanf("%d",&wor[i].age);break;case 5:printf("职称:");scanf("%s",wor[i].zhicheng);break;case 6:printf("职位:");scanf("%s",wor[i].zhiwei);break;case 7:printf("面貌:");scanf("%s",wor[i].mianmao);break;case 8:printf("学历:");scanf("%s",wor[i].xueli);break;case 9:printf("来院时间:");scanf("%d",&wor[i].come_time);break;case 10:printf("工作时间:");scanf("%d",&wor[i].work_time);break;case 11:printf("类别:");scanf("%d",&wor[i].leibie);break;case 12:input(i);break;}printf("\n是否确定?\n\n\t1.是 2.否,重新修改3.直接返回[ ]\b\b");scanf("%d",&w1);}while(w1==2);return(w1); /*返回控制值*/}/*************修改函数***********/void modify(){struct worker w;int i,n,k,w0=1,w1,w2=0;n=load();printf("\t\t\t***********************修改**************************\n");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",w.num); /*输入要修改的数据的学号*/for(i=0;i<n;i++)if(strcmp(w.num,wor[i].num)==0){k=i; /*找到要修改的记录*/w=wor[i]; /*备份当次要修改的员工记录wor[i]*/}if(k==-1) printf("\n\n记录不存在!"); /*当k=-1表示没有找到*/ }while(k==-1);printf_face();printf_one(k);w1=modify_data(k,n); /*修改学生记录并返回保存控制值*/if(w1==1){printf("\n操作成功.\n\n是否继续修改?\n\n\t1.是2.返回并保存\t[ ]\b\b");scanf("%d",&w0);w2=1; /*用来控制保存,使w2=1是标记已有过的修改*/}else{w0=0;w2=1;wor[k]=w;}if(w0!=1&&w2==1)save();}while(w0==1);printf("\n\n你所修改的内容不存在");}/********************排序模块********************/void order(){ int m;printf("\t\t\t/********************排序模块********************/\n");printf("请选择排序方式:\n");printf( "\t\t\t\t按年龄排序请按1\n\t\t\t\t按来院时间排序请按2\n");scanf("%d",&m);if(m==1)old();if(m==2)comingtime();}/*********按年龄排序*****************/void old(){ int i,j,n;struct worker w;n=load();for(i=0;i<n-1;i++) /*冒泡法排序*/{for(j=i+1;j<n;j++)if (wor[i].age>wor[j].age ){w=wor[i];wor[i] =wor[j];wor[j] =w;}}save();puts("\n\n");}/*********按来院时间排序*****************/void comingtime(){ int i,j,n;struct worker w;n=load();for(i=0;i<n-1;i++) /*冒泡法排序*/{for(j=i+1;j<n;j++)if (wor[i].come_time>wor[j].come_time ){w=wor[i];wor[i] =wor[j];wor[j] =w;}}save();puts("\n\n");}/***********************统计模板*************************************/ void stat(){ int i,n,w_num,d_num,wo_num,x_c_num;puts("\t\t*******************统计人数菜单********************\n\n");printf("\t\t\t\t 各种人员的人数");puts("\n\n\t\t**************************************************\n");n=load();w_num=0,d_num=0,wo_num=0,x_c_num=0;for(i=0;i<n;i++){if(strcmp(wor[i].sex,"女")==0) wo_num++;if(strcmp(wor[i].leibie,"在")==0) d_num++;if(strcmp(wor[i].mianmao,"党员")==0) w_num++;if(strcmp(wor[i].xueli,"硕士")==0) x_c_num++;if(strcmp(wor[i].xueli,"博士")==0) x_c_num++;if(strcmp(wor[i].zhicheng,"教授")==0) x_c_num++;if(strcmp(wor[i].zhicheng,"副教授")==0) x_c_num++;}printf("在职人员数目:");printf("%d\n",wo_num);printf("党员人数:");printf("%d\n",d_num);printf("女职工人数:");printf("%d\n",wo_num);printf("高职称高学历人数:");printf("%d",x_c_num);menu();}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上海电力学院《高级程序设计》课程设计题目:学校人事管理系统院系:计信专业年级:2011053学生姓名:吴云天学号:20111760指导教师:彭源2012年6月29日目录1.需求分析................................................................................................................................... 2.概要设计................................................................................................................................... 3.详细设计................................................................................................................................... 4.用户使用手册...........................................................................................................................4.1 环境设置............................................................................................................................4.2 操作步骤............................................................................................................................ 5.程序创新点............................................................................................................................... 6.使用的主要技术....................................................................................................................... 7.总结..........................................................................................................................................1.需求分析某高校,主要人员有:在职人员(行政人员、教师、一般员工)、退休人员、返聘人员和临时工。
现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间。
程序的基本功能:1) 添加删除功能:能根据学院人事的变动情况,添加删除记录。
72) 查询功能:能根据编号和姓名进行查询。
3) 修改功能:根据查询对相应的记录进行修改,并存储。
4) 统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数)。
2.概要设计1.系统功能分析执行程序后,按界面的显示,选择对应的数字进行操作,选1输入人员资料,资料包括姓名、年龄、职称等;选2删除人员;选3修改人员信息等等。
2.系统功能模块分析3.详细设计程序源代码:#include<iostream>#include<fstream>#include<cstring>#include<iomanip>using namespace std;int k;class person{private:char num[10];char type[20];char name[20];char sex[10];char age[10];char zhiwu[20];char zhichen[20];char zzmm[20];char zgxl[20];char rzsj[20];char lysj[30];static int bianhao;public:void setperson(char *type1,char *name1,char *sex1,char *age1,char *zhiwu1,char *zhichen1,char *zzmm1,char *zgxl1,char *rzsj1,char *lysj1);static int& getbianhao() {return bianhao;}char * gettype() { return type;}char * getname() {return name;}char * getsex() {return sex;}char * getage() {return age;}char * getzhiwu() {return zhiwu;}char * getzhichen() {return zhichen;}char * getzzmm() {return zzmm;}char * getzgxl() {return zgxl;}char * getrzsj() {return rzsj;}char * getlysj() {return lysj;}char * getnum() {return num;}void tjry();void find();void output();void shancu();void xiugai();void tongji();};person p[100];person pp[100];int k1;int person::bianhao=0;void person::setperson(char *type1,char *name1,char *sex1,char *age1,char *zhiwu1, char *zhichen1,char *zzmm1,char *zgxl1,char *rzsj1,char *lysj1){int static j=1;strcpy(type,type1);strcpy(name,name1);strcpy(sex,sex1);strcpy(age,age1);strcpy(zhiwu,zhiwu1);strcpy(zhichen,zhichen1);strcpy(zzmm,zzmm1);strcpy(zgxl,zgxl1);strcpy(rzsj,rzsj1);strcpy(lysj,lysj1);bianhao++;ofstream file("添加人员.txt",ios_base::app); file<<p[j].getbianhao()<<endl;file<<p[j].gettype()<<endl;file<<p[j].getname()<<endl;file<<p[j].getsex()<<endl;file<<p[j].getage()<<endl;file<<p[j].getzhiwu()<<endl;file<<p[j].getzhichen()<<endl;file<<p[j].getzzmm()<<endl;file<<p[j].getzgxl()<<endl;file<<p[j].getrzsj()<<endl;file<<p[j].getlysj()<<endl;j++;file.close();}void person::tongji() //{int a=0;int b=0;int c=0;int d=0;int k=1;ifstream filem("添加人员.txt",ios_base::in); while(!filem.eof()){filem>>pp[k].getnum();filem>>pp[k].gettype();filem>>pp[k].getname();filem>>pp[k].getsex();filem>>pp[k].getage();filem>>pp[k].getzhiwu();filem>>pp[k].getzhichen();filem>>pp[k].getzzmm();filem>>pp[k].getzgxl();filem>>pp[k].getrzsj();filem>>pp[k].getlysj();if(strcmp(pp[k].gettype(),"行政人员")==0||strcmp(pp[k].gettype(),"教师")==0||strcmp(pp[k].gettype(),"一般员工")==0)a++;if(strcmp(pp[k].getzzmm(),"党员")==0)b++;if(strcmp(pp[k].getsex(),"nv")==0)c++;if(strcmp(pp[k].getzgxl(),"boshi")==0)d++;k++;}filem.close();cout<<"在职人数"<<setw(12)<<"党员人数"<<setw(12)<<"女工人数"<<setw(12)<<"高学历人数"<<endl;cout<<a<<setw(12)<<b<<setw(12)<<c<<setw(12)<<d<<endl;}void person::xiugai() //{int k=1;ifstream filem("添加人员.txt",ios_base::in);while(!filem.eof()){filem>>pp[k].getnum();filem>>pp[k].gettype();filem>>pp[k].getname();filem>>pp[k].getsex();filem>>pp[k].getage();filem>>pp[k].getzhiwu();filem>>pp[k].getzhichen();filem>>pp[k].getzzmm();filem>>pp[k].getzgxl();filem>>pp[k].getrzsj();filem>>pp[k].getlysj();k++;}filem.close();cout<<"请输入要修改的人的编号:"<<endl;int x,y;cin>>x;cout<<"请输入编号为"<<x<<"的人需要修改的项目的代号:"<<endl;cout<<"1:编号-2:人员类型-3:姓名-4:性别-5:年龄-6:职务-7:职称-8:政治面貌-9:最高学历-10:任职时间-11:来院时间"<<endl;cin>>y;switch(y){case 1:{cout<<"请输入新的编号"; cin>>pp[x].getnum() ;}break;case 2:{cout<<"请输入新的人员类型"; cin>>pp[x].gettype();}break;case 3:{cout<<"请输入新的姓名";cin>>pp[x].getname();}break;case 4:{cout<<"请输入新的性别";cin>>pp[x].getsex();}break;case 5:{cout<<"请输入新的年龄";cin>>pp[x].getage();}break;case 6:{cout<<"请输入新的职务";cin>>pp[x].getzhiwu();}break;case 7:{cout<<"请输入新的职称";cin>>pp[x].getzhichen();}break;case 8:{cout<<"请输入新的政治面貌";cin>>pp[x].getzzmm();}break;case 9:{cout<<"请输入新的最高学历";cin>>pp[x].getzgxl();}break;case 10:{cout<<"请输入新的任职时间";cin>>pp[x].getrzsj();}break;case 11:{cout<<"请输入新的来院时间";cin>>pp[x].getlysj();}break;}ofstream file1("添加人员.txt",ios_base::trunc);for(k=1;k<=bianhao;k++){file1<<pp[k].getnum()<<endl;file1<<pp[k].gettype()<<endl;file1<<pp[k].getname()<<endl;file1<<pp[k].getsex()<<endl;file1<<pp[k].getage()<<endl;file1<<pp[k].getzhiwu()<<endl;file1<<pp[k].getzhichen()<<endl;file1<<pp[k].getzzmm()<<endl;file1<<pp[k].getzgxl()<<endl;file1<<pp[k].getrzsj()<<endl;file1<<pp[k].getlysj()<<endl;}file1.close();cout<<"修改并保存完毕"<<endl;}void person::shancu() //{int z;ifstream filem("添加人员.txt",ios_base::in);int k=1;while(!filem.eof()){filem>>pp[k].getnum();filem>>pp[k].gettype();filem>>pp[k].getname();filem>>pp[k].getsex();filem>>pp[k].getage();filem>>pp[k].getzhiwu();filem>>pp[k].getzhichen();filem>>pp[k].getzzmm();filem>>pp[k].getzgxl();filem>>pp[k].getrzsj();filem>>pp[k].getlysj();k++;}filem.close();cout<<"请输入要被删除信息的人的编号:"<<endl; cin>>z;while(z<1||z>bianhao){cout<<"没有找到你要删除的人,请重新输入:"<<endl;cin>>z;}for(k=1;k<=bianhao;k++){if(z==k)continue;ofstream file2("添加人员.txt",ios_base::trunc);file2<<pp[k].getnum()<<endl;file2<<pp[k].gettype()<<endl;file2<<pp[k].getname()<<endl;file2<<pp[k].getsex()<<endl;file2<<pp[k].getage()<<endl;file2<<pp[k].getzhiwu()<<endl;file2<<pp[k].getzhichen()<<endl;file2<<pp[k].getzzmm()<<endl;file2<<pp[k].getzgxl()<<endl;file2<<pp[k].getrzsj()<<endl;file2<<pp[k].getlysj()<<endl;file2.close();}cout<<"删除记录完毕"<<endl;}void person::find() //{cout<<"1:按编号查询--2:按姓名查询-请选择(1-2)"<<endl;int m;cin>>m;while(m<1||m>2){cout<<"请重新输入(1-2)"<<endl;cin>>m;}switch(m){case 1:{char n[10];cout<<"请输入要查找的编号:";cin>>n;ifstream filem("添加人员.txt",ios_base::in);int k=1;cout<<"编号"<<setw(9)<<"人员类型"<<setw(5)<<"姓名"<<setw(5)<<"性别"<<setw(5)<<"年龄"<<setw(5)<<"职务"<<setw(5)<<"职称"<<setw(9)<<"政治面貌"<<setw(10)<<"最高学历"<<setw(10)<<"任职时间"<<setw(10)<<"来院时间"<<endl;while(!filem.eof()){filem>>pp[k].getnum();filem>>pp[k].gettype();filem>>pp[k].getname();filem>>pp[k].getsex();filem>>pp[k].getage();filem>>pp[k].getzhiwu();filem>>pp[k].getzhichen();filem>>pp[k].getzzmm();filem>>pp[k].getzgxl();filem>>pp[k].getrzsj();filem>>pp[k].getlysj();if(strcmp(pp[k].getnum(),n)==0){cout<<pp[k].getnum()<<setw(9)<<pp[k].gettype()<<setw(5)<<pp[k].getname() <<setw(5)<<pp[k].getsex()<<setw(5)<<pp[k].getage()<<setw(5)<<pp[k].getzhiwu()<<setw(5)<<pp[k].getzhichen()<<setw(9)<<pp[k].getzzmm()<<setw(10)<<pp[k].getzgxl()<<setw(10)<<pp[k].getrzsj()<<setw(10)<<pp[k].getlysj()<<endl;break;}k++;if(filem.eof()){cout<<endl;cout<<" 警告:没有要查找的人!!!!!!!!!!";}}filem.close();} break;case 2:{char nname[20];cout<<"请输入要查找的姓名:";cin>>nname;ifstream filem("添加人员.txt",ios_base::in);int k=1;cout<<"编号"<<setw(9)<<"人员类型"<<setw(5)<<"姓名"<<setw(5)<<"性别"<<setw(5)<<"年龄"<<setw(5)<<"职务"<<setw(5)<<"职称"<<setw(9)<<"政治面貌"<<setw(10)<<"最高学历"<<setw(10)<<"任职时间"<<setw(10)<<"来院时间"<<endl;while(!filem.eof()){filem>>pp[k].getnum();filem>>pp[k].gettype();filem>>pp[k].getname();filem>>pp[k].getsex();filem>>pp[k].getage();filem>>pp[k].getzhiwu();filem>>pp[k].getzhichen();filem>>pp[k].getzzmm();filem>>pp[k].getzgxl();filem>>pp[k].getrzsj();filem>>pp[k].getlysj();if(strcmp(pp[k].getname(),nname)==0){cout<<pp[k].getnum()<<setw(9)<<pp[k].gettype()<<setw(5)<<pp[k].getname() <<setw(5)<<pp[k].getsex()<<setw(5)<<pp[k].getage()<<setw(5)<<pp[k].getzhiwu()<<setw(5)<<pp[k].getzhichen()<<setw(9)<<pp[k].getzzmm()<<setw(10)<<pp[k].getzgxl()<<setw(10)<<pp[k].getrzsj()<<setw(10)<<pp[k].getlysj()<<endl;break;}k++;if(filem.eof()){cout<<endl;cout<<" 警告:没有要查找的人!!!!!!!!!!";}}filem.close();}break;}}void person::tjry() //{int v,l=1;char type2[20];char name2[20];char sex2[10];char age2[10];char zhiwu2[20];char zhichen2[20];char zzmm2[20];char zgxl2[20];char rzsj2[20];char lysj2[30]; cout<<"请输入要添加的人数"<<endl;cin>>k;p[1].getbianhao()=pp[k1].getbianhao();v=bianhao;for(int i=v+1;i<=v+k;i++){cout<<"请输入第"<<l<<"个人的信息"<<endl;cout<<"人员类型"; cin>>type2;cout<<"姓名:"; cin>>name2;cout<<"性别:"; cin>>sex2;cout<<"年龄:"; cin>>age2;cout<<"职务:"; cin>>zhiwu2;cout<<"职称:"; cin>>zhichen2;cout<<"政治面貌:"; cin>>zzmm2;cout<<"最高学历:"; cin>>zgxl2;cout<<"任职时间:"; cin>>rzsj2;cout<<"来院时间:"; cin>>lysj2;p[i].setperson(type2,name2,sex2,age2,zhiwu2,zhichen2,zzmm2,zgxl2,rzsj2,lysj2); l++;}}void person::output() //{ifstream filem("添加人员.txt",ios_base::in);int k=1;cout<<"编号"<<setw(9)<<"人员类型"<<setw(5)<<"姓名"<<setw(5)<<"性别"<<setw(5)<<"年龄"<<setw(5)<<"职务"<<setw(5)<<"职称"<<setw(9)<<"政治面貌"<<setw(10)<<"最高学历"<<setw(10)<<"任职时间"<<setw(10)<<"来院时间"<<endl;while(!filem.eof()){filem>>pp[k].getbianhao();filem>>pp[k].gettype();filem>>pp[k].getname();filem>>pp[k].getsex();filem>>pp[k].getage();filem>>pp[k].getzhiwu();filem>>pp[k].getzhichen();filem>>pp[k].getzzmm();filem>>pp[k].getzgxl();filem>>pp[k].getrzsj();filem>>pp[k].getlysj();cout<<pp[k].getbianhao()<<setw(9)<<pp[k].gettype()<<setw(5)<<pp[k].getname()<<setw(5)<<pp[k].getsex()<<setw(5)<<pp[k].getage()<<setw(5)<<pp[k].getzhiwu()<<setw(5)<<pp[k].getzhichen()<<setw(9)<<pp[k].getzzmm()<<setw(10)<<pp[k].getzgxl()<<setw(10)<<pp[k].getrzsj()<<setw(10)<<pp[k].getlysj()<<endl;k++;}k1=--k;filem.close();}void menu(){person pjk;int c;cout<<endl;cout<<"---------------------高校人事管理系统-----------------------------"<<endl;cout<<"**"<<endl;cout<<"* 1--添加人员信息并保存*"<<endl;cout<<"* 2--删除人员信息*"<<endl;cout<<"* 3--修改人员信息*"<<endl;cout<<"* 4--查询人员信息*"<<endl;cout<<"* 5--统计人员信息*"<<endl;cout<<"* 6--显示所有信息*"<<endl;cout<<"* 7--退出*"<<endl;cout<<"------------------------------------------------------------------"<<endl;cout<<" 请选择(1-7): "<<endl;cin>>c;switch(c){case 1: pjk.tjry();menu();break;case 2:pjk.shancu();menu(); break;case 3:pjk.xiugai();menu(); break;case 4:pjk.find() ;cout<<endl<<endl; menu();break; case 5:pjk.tongji();menu(); break;case 6:pjk.output();menu();break;case 7:exit(1);break;}}void main(){menu();}4.用户使用手册在指定的目录下创建一个Account 工程,新建工程将所有的已经创建的扩展名为cpp文件和扩展名为.h 文件添加到步骤1 所创建的工程中对应的Source Files 和Header Files 中编译每个扩展名为.cpp 的文件,如果有编译错误,则根据提示修改,否则编译成功。