公司员工信息管理系统设计

合集下载

企业员工信息管理系统的设计与实现毕业设计论文

企业员工信息管理系统的设计与实现毕业设计论文

企业员工信息管理系统- 0 -分类号_______________ 密级________________UDC _______________ 学号_ ___毕业设计(论文)论文题目企业员工信息管理系统的设计与实现 Thesis Topic Design and implementation of enterprise employee2017年7月25日毕业设计(论文)任务书企业员工信息管理系统的设计与实现摘要随着电子信息的飞速发展,计算机已经融入到了生活的各个方面,越来越多的企业开始使用电子计算机来对企业进行管理,信息化的时代已经到来,各个企业无论大小都需要一个信息化的管理系统来对自己公司内部的员工信息进行管理,企业员工信息管理系统是一个针对此问题而进行开发的系统,使得公司的员工管理不如现代化,开启了一个新的管理模式。

本文首先对比了国内外企业员工信息管理的现状,明确了需求的不同以及需要吸收借鉴的部分,然后在员工信息管理的需求基础上,通过系统的功能需求与系统的可行性分析,确立了企业员工信息管理系统的基本功能,构建了该系统的框架以及结构设计,然后对该系统的各个功能的主要代码进行分析、设计,最后对系统的各个功能进行测试,完成了本次系统的开发。

企业员工信息管理系统分为两大模块,管理员模块和普通员工模块,管理员可以操作系统的所有功能,主要包括部门管理、员工信息管理、出勤管理、工资管理以及请假审核等功能;为了信息的保密以及系统的安全性,普通员工只具有查看工资以及请假的功能。

文章以需求分析,系统概要设计,系统功能实现,系统测试等为主要内容,详细介绍了一个基于Web技术的B/S结构的企业员工信息管理系统。

本系统主要使用MyEclipse软件进行程序编写,使用JSP作为前台的开发语言,使用MySql 作为后台的数据库管理系统,服务器采用tomcat,开发出的一个适应现代社会发展的企业员工信息管理系统。

关键词:员工信息,JSP,B/S结构The design and implementation of enterpriseemployee information management systemABSTRACTWith the rapid development of electronic information, computer has been integrated into all aspects of life, more and more enterprises begin to use computer to manage the enterprise, the information age has arrived, regardless of the size of each enterprise needs an information management system to the company's internal staff information management, employee information a management system is to solve this problem for the development of the system, making the company's employee management as the modernization, opening a new management mode.This paper first compares the present situation of domestic and foreign enterprise employee information management, clarifies the different demand and need to absorb the part, and then the demand based on the employee information management, through the feasibility of functional requirements and system analysis, establishes the basic function of enterprise staff information management system, construct the system framework and structure design, and then the main code foreach function of the system is analyzed and designed, and finally test the various functions of the system, completed the development of this system. Employee information management system is divided into two modules, administrator module and general staff module, the administrator can all functions of the operating system, including department management, employee information management, attendance management, salary management and audit functions in order to leave; information security and secrecy system, general staff wages and leave only with a view the function of.This paper takes requirement analysis, system outline design, system function realization and system test as the main contents, and introduces a B/S enterprise employee information management system based on Web technology in detail. This system mainly uses MyEclipse software to program and use JSP as the development language, using MySQL as the background database management system, using Tomcat server, an information management system for enterprise employees adapt to the development of modern society developed.Keywords:em ployee information,JSP,B / S structure企业员工信息管理系统目录摘要 (1)ABSTRACT (3)1绪论 (1)1.1课题背景 (1)1.2目的和意义 (2)1.3研究的目标与内容 (3)1.4软硬件需求 (4)1.5本文组织结构 (4)2 需求分析 (6)2.1系统功能需求 (6)2.1.1系统功能需求 (6)2.1.2用户特点 (8)2.2系统模型 (8)2.2.1参与者 (8)2.2.2管理员用例图 (8)2.2.3普通员工用例图 (9)2.3可行性分析 (10)2.3.1技术的可行性 (10)2.3.2经济的可行性 (11)2.3.3操作可行性 (11)2.3.4法律的可行性 (12)3 系统概要设计 (13)3.1系统设计原则 (13)3.2系统架构设计 (14)3.3数据库设计 (16)3.3.1数据库的概念结构设计 (16)3.3.2数据库的逻辑结构设计 (17)3.3.3数据库的连接原理 (21)4 系统详细设计 (25)4.1系统登陆页面实现 (25)4.2管理员模块 (32)4.2.1部门信息管理 (33)4.2.1.1部门信息录入 (33)4.2.1.2部门信息管理 (34)4.2.1.3部门信息删除 (37)4.2.2员工信息管理 (38)4.2.2.1员工信息信息录入 (38)4.2.2.2员工信息管理 (39)4.2.3出勤管理 (43)4.2.3.1出勤录入 (43)4.2.4修改密码 (43)4.2.5工资管理 (43)4.2.6请假审核管理 (44)4.2.7退出系统 (45)4.3普通员工模块 (45)4.3.1请假申请 (45)4.3.2我的工资浏览 (46)4.3.3修改密码 (47)5 系统测试 (48)5.1系统测试目的与意义 (48)5.2系统测试方法 (48)5.2.1系统测试计划 (48)5.2.2系统测试方法 (49)5.2系统功能测试 (49)5.2.1主页面的登录模块测试 (49)5.2.2修改密码的模块测试 (50)5.2.3部门管理的模块测试 (51)5.2.4员工管理的模块测试 (51)5.2.5出勤管理的模块测试 (52)5.2.6工资管理的模块测试 (53)5.2.7请假审核的模块测试 (54)5.2.8我的请假的模块测试 (55)5.3其他错误 (55)6 总结与展望 (57)6.1论文的主要工作 (57)6.2存在问题 (57)结论 (59)参考文献 (61)致谢 (62)外文原文 (63)中文翻译 (77)企业员工信息管理系统1绪论1.1课题背景计算机网络技术的发展,给信息时代的人们带来了很大的方便。

《员工信息管理系统》详细设计说明书.1.doc

《员工信息管理系统》详细设计说明书.1.doc

《员工信息管理系统》详细设计说明书.1 《员工信息管理系统详细设计说明书》一、引言1.1编写目的根据需求规格说明书、概要设计说明书,在仔细考虑讨论之后,我们对员工信息管理系统软件功能的划分、数据结构、软件总体结构的实现有了进一步的想法。

本说明书的预期读者是与员工信息管理系统软件开发有联系的决策人,开发组成人员,扶助开发者,支持本项目的领导和公司人员,软件验证者。

1.2背景利用先进的管理手段,提高人事信息的管理水平,是每一现代公司所面临的重要课题。

为了解决这一重要课题,就必须有一套科学,高效,严密,实用的人事信息管理系统。

现代公司的人事信息管理都是在计算机上实现的,采用现代计算机管理系统来进行管理,提供规范,统一的服务,它在管理系统中的应用不仅可以简化,规范各机构的日常操作,而且可以使企业人事信息管理更加方便,简单,快捷,清晰,从而减轻工作人员的劳动强度,减少企业的财政消耗。

1.3定义SQL Server:所用的数据库管理系统VS 2010:所用的开发软件二、程序(一)设计说明2.1程序描述主模块2.2功能建立与数据库连接获取系统设置能够跳转至子模块:登陆、注册等模块。

2.3输入、输出项用户鼠标点击登陆、注册按钮跳转至相应模块界面2.5流程逻辑选择项登陆系统注册系统查询系统管理系统2.6界面设计2.7功能实现方法'跳转登陆页面Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As EventArgs) HandleslbtnLogin.ClickIf Request.Cookies("UserName") Is Nothing ThenResponse.Redirect("Login.aspx")ElsePage.ClientScript.RegisterStartupScript(Page.GetType(), "", "alert('您已成功登陆);")End IfEnd Sub'跳转注册页面Protected Sub lbtnRegister_Click(ByVal sender As Object, ByVal e As EventArgs) Handles lbtnRegister.ClickResponse.Redirect("Register.aspx")End Sub三、程序(二)设计说明3.1程序描述登陆模块3.2功能实现管理员账号登陆,以便继续后面操作3.3输人项输入:管理员账号、密码。

人力资源管理人力资源信息系统搭建方案

人力资源管理人力资源信息系统搭建方案

人力资源管理人力资源信息系统搭建方案第一章:项目背景与目标 (3)1.1 项目背景 (3)1.2 项目目标 (3)第二章:人力资源信息系统概述 (4)2.1 系统定义 (4)2.2 系统功能 (4)2.3 系统架构 (5)第三章:需求分析 (5)3.1 业务需求 (5)3.1.1 组织结构管理 (5)3.1.2 员工信息管理 (5)3.1.3 招聘管理 (5)3.1.4 培训与发展管理 (6)3.1.5 薪酬福利管理 (6)3.2 用户需求 (6)3.2.1 系统管理员 (6)3.2.2 普通员工 (6)3.2.3 部门负责人 (6)3.3 需求优先级 (6)第四章:系统设计 (7)4.1 技术选型 (7)4.1.1 后端技术选型 (7)4.1.2 前端技术选型 (7)4.1.3 数据库技术选型 (7)4.2 系统模块设计 (7)4.2.1 用户管理模块 (7)4.2.2 员工信息管理模块 (7)4.2.3 薪资管理模块 (7)4.2.4 培训管理模块 (7)4.2.5 绩效管理模块 (8)4.3 数据库设计 (8)4.3.1 数据库表结构设计 (8)4.3.2 数据库表关系设计 (8)第五章:系统开发 (8)5.1 开发流程 (8)5.1.1 需求分析 (8)5.1.2 系统设计 (8)5.1.3 编码实现 (9)5.1.4 系统测试 (9)5.1.5 部署上线 (9)5.2 开发工具 (9)5.2.2 开发框架 (9)5.2.3 数据库 (9)5.2.4 版本控制 (9)5.3 代码管理 (9)5.3.1 代码规范 (9)5.3.2 代码审查 (9)5.3.3 代码提交 (10)5.3.4 代码备份 (10)5.3.5 代码维护 (10)第六章:系统测试与验收 (10)6.1 测试策略 (10)6.2 测试用例设计 (10)6.3 验收流程 (11)第七章:系统部署与维护 (11)7.1 部署方案 (11)7.1.1 部署目标 (11)7.1.2 部署流程 (11)7.1.3 部署策略 (12)7.2 系统维护 (12)7.2.1 维护目标 (12)7.2.2 维护内容 (12)7.2.3 维护流程 (13)7.3 备份与恢复 (13)7.3.1 备份策略 (13)7.3.2 恢复流程 (13)第八章:用户培训与支持 (13)8.1 培训计划 (13)8.1.1 培训目标 (13)8.1.2 培训对象 (13)8.1.3 培训内容 (13)8.1.4 培训方式 (14)8.1.5 培训时间 (14)8.2 培训材料 (14)8.2.1 培训手册 (14)8.2.2 演示文稿 (14)8.2.3 操作视频 (14)8.2.4 案例资料 (14)8.3 支持服务 (14)8.3.1 技术支持 (14)8.3.2 咨询服务 (14)8.3.3 更新与升级 (14)8.3.4 用户反馈 (15)第九章:项目风险与控制 (15)9.1.1 技术风险 (15)9.1.2 管理风险 (15)9.1.3 外部风险 (15)9.2 风险评估 (16)9.2.1 风险概率评估 (16)9.2.2 风险影响评估 (16)9.2.3 风险等级评估 (16)9.3 风险控制 (16)9.3.1 技术风险控制 (16)9.3.2 管理风险控制 (16)9.3.3 外部风险控制 (16)第十章:项目总结与展望 (16)10.1 项目成果 (17)10.2 经验教训 (17)10.3 项目展望 (17)第一章:项目背景与目标1.1 项目背景我国经济的快速发展,企业规模不断扩大,人力资源管理在企业管理中的地位日益凸显。

企业员工信息管理系统毕业设计

企业员工信息管理系统毕业设计

企业员工信息管理系统毕业设计学号毕业设计(论文)企业员工信息管理系统设计毕业设计(论文)任务书毕业设计(论文)开题报告注:1. 开题报告应根据教师下发的毕业设计(论文)任务书,在教师的指导下由学生独立撰写,在毕业设计开始后三周内完成;2.设计的目的及意义至少800字,基本内容和技术方案至少400字;3.指导教师意见应从选题的理论或实际价值出发,阐述学生利用的知识、原理、建立的模型正确与否、学生的论证充分否、学生能否完成课题,达到预期的目标。

郑重声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包括任何其他个人或集体已经发表或撰写的成果作品。

本人完全意识到本声明的法律后果由本人承担。

本人签名:日期:目录摘要 (I)ABSTRACT (II)1 绪论 (1)1.1 研究背景 (1)1.2 本课题研究现状 (1)2 企业信息管理系统分析 (3)2.1需求分析 (3)2.2 技术可行性 (4)2.3 环境可行性分析 (5)2.4 系统结构可行性分析 (6)3 企业信息管理系统设计 (9)3.1 数据库设计 (9)3.2 系统功能模块详细设计 (13)4 系统实现 (18)4.1 用户操作文件总体架构 (18)4.2 技术难点 (28)5 系统测试 (29)5.1 界面测试 (29)5.2 功能测试 (29)5.3 需求测试 (30)5.4 性能测试 (30)5.5 企业员工信息管理系统的测试 (30)总结 (31)参考文献 (32)致谢 (33)摘要在当今社会,互联网空前的发展,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选。

考虑到当前大量企业的企业员工管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。

因此根据部分企业提供的需求,设计此企业企业员工管理系统,以帮助企业达到企业员工管理办公自动化、节约管理成本、提高企业工作效率的目的。

企业员工信息管理系统的设计与实现论文

企业员工信息管理系统的设计与实现论文

企业员工信息管理系统的设计与实现论文企业员工信息管理系统的设计与实现论文一、需求分析企业员工信息管理系统是集合了人力资源、薪酬等管理功能的信息系统。

该系统主要是为企业员工信息的管理、查询和统计而设计。

系统的设计者需要了解和分析用户需求,并结合企业实际情况,将其转化为系统可以支持的功能。

1、用户需求企业员工信息管理系统的用户主要是公司的人力资源管理部门。

为了方便管理人员对企业员工信息的管理、查询和统计,系统需要满足以下需求:(1)员工信息管理:可以对员工的基本信息进行录入、修改、删除、查询等操作,包括工号、姓名、性别、出生日期、入职时间、联系方式、身份证号、籍贯等信息。

(2)薪酬管理:可以对员工的工资、补助、奖金等进行管理和统计,支持工资条发布、数据导入和导出等功能。

(3)考勤管理:可以对员工的考勤情况进行统计和管理,支持请假、迟到早退等情况的处理。

(4)培训管理:可以对员工的培训情况进行管理和记录,支持课程安排、考试成绩查询等功能。

2、企业实际情况企业员工信息管理系统的设计需要结合实际情况,包括企业的规模、员工数量、薪资结构等,以及企业的管理体系、工作流程等。

二、系统设计1、架构设计企业员工信息管理系统采用三层架构,即包括表现层、业务逻辑层和数据访问层。

(1)表现层:表现层负责与用户进行交互,提供用户界面和反馈功能,包括网页、PC应用、移动端应用等。

(2)业务逻辑层:业务逻辑层负责实现系统的各种功能需求,包括员工信息管理、考勤管理、薪酬管理、培训管理等。

(3)数据访问层:数据访问层负责将数据存储到数据库中,并对外提供数据读取和写入服务。

2、数据库设计企业员工信息管理系统的数据库主要包括员工信息表、薪酬表、考勤表、培训表等。

(1)员工信息表:该表主要存储员工基本信息,包括工号、姓名、性别、出生日期、入职时间、联系方式、身份证号、籍贯等信息。

(2)薪酬表:该表主要存储员工的薪酬信息,包括工资、补助、奖金等。

员工管理系统 数据结构

员工管理系统 数据结构

员工管理系统数据结构一、引言员工管理系统是一个用于管理和跟踪员工信息的软件系统。

它使用数据结构来存储和组织员工的相关数据,包括个人信息、工作经历、薪资、考勤记录等。

本文将详细介绍员工管理系统的数据结构设计和实现。

二、数据结构设计1. 员工信息员工信息是员工管理系统的核心数据之一,包含以下字段:- 员工ID:每一个员工在系统中的惟一标识符。

- 姓名:员工的姓名。

- 性别:员工的性别。

- 出生日期:员工的出生日期。

- 联系方式:员工的联系方式,如手机号码或者电子邮件地址。

- 部门:员工所属的部门。

- 职位:员工的职位。

- 入职日期:员工的入职日期。

为了高效地存储和检索员工信息,可以使用以下数据结构:- 哈希表:将员工ID作为键,员工信息作为值,用于快速查找和更新员工信息。

- 链表:用于处理哈希表中的冲突,当发生冲突时,将冲突的员工信息链接到同一哈希桶中。

2. 工作经历工作经历是记录员工在不同公司的工作经历的数据,包含以下字段:- 公司名称:员工曾经工作的公司名称。

- 职位:员工在该公司的职位。

- 入职日期:员工在该公司的入职日期。

- 离职日期:员工在该公司的离职日期。

为了存储员工的工作经历,可以使用以下数据结构:- 数组:用于存储员工的多个工作经历记录。

3. 薪资薪资是记录员工薪资信息的数据,包含以下字段:- 基本工资:员工的基本工资。

- 奖金:员工的奖金。

- 补贴:员工的补贴。

- 扣款:员工的扣款。

- 实际工资:员工的实际工资。

为了存储员工的薪资信息,可以使用以下数据结构:- 树状数组:用于高效地计算员工的实际工资,支持快速的更新和查询操作。

4. 考勤记录考勤记录是记录员工出勤情况的数据,包含以下字段:- 日期:考勤记录的日期。

- 上班时间:员工的上班时间。

- 下班时间:员工的下班时间。

- 考勤结果:员工的考勤结果,如正常、迟到、早退、缺勤等。

为了存储员工的考勤记录,可以使用以下数据结构:- 链表:用于按照日期顺序存储员工的考勤记录。

(完整word版)员工管理系统

(完整word版)员工管理系统

一系统层次模块图总的系统模块主要包括:管理员的登陆;员工信息查看、修改、删除、增加;职位信息修改、删除、增加;部门信息修改、删除、增加;签到信息管理等功能模块。

总的系统功能结构图,如图2-1所示:图2-1 总的系统层次模块图系统设计流程图如2-3图所示:图2-3 系统设计流程图一个员工对应一个职位,一个员工对应一个部门,一个员工对应一个签到信息。

员工与相关信息表的E-R图如图3-5所示:1. admin(管理员信息表)管理员信息表用来存储管理员的基本信息。

其中包括管理员用户名和管理员登录密码等字段,表admin的结构如表3-1所示:字段名数据类型长度是否主键描述Id int 4 是唯一标识ldy_str_uname varchar30管理员用户名ldy_str_pwd varchar 20 登陆密码2. users (员工信息表)员工信息表(users)此表主要用于存储员工的相关信息,包括员工编号,员工名,员工地址,员工性别,员工备注,员工年龄以及与各表连接的相关字段等。

表users的结构如表3-2所示。

3. dep(部门信息表)此表主要用于存储部门的信息,包括部门编号,部门名称,部门备注等。

表dep的结构如表3-3所示。

4. job(职位信息表)职位信息表主要用于保存各类职位信息,包括职位编号,职位名称,职位工资,职位备注等字段。

表job的结构如表3-4所示。

5. qiandao(签到信息表)签到信息表主要用于保存员工签到信息,包括签到编号,员工编号,签到次数等字段。

表qiandao的结构如表3-5所示。

信息管理系统设计与开发

信息管理系统设计与开发

信息管理系统设计与开发随着信息技术的不断发展,信息管理系统成为一种必不可少的组织管理工具。

信息管理系统可以有效地管理组织的各种信息,如客户信息、员工信息、财务信息等,提高工作效率,降低管理成本。

本文将讨论信息管理系统的设计与开发。

一、需求分析信息管理系统的设计与开发需要进行详细的需求分析,包括以下几个方面:1.功能需求:通过细致的业务分析,明确系统需要满足的需求,包括数据录入、数据查询、数据报表等。

2.性能需求:明确系统性能指标,包括响应时间、并发用户数、数据容量等。

3.稳定性需求:明确系统的稳定性指标,包括系统故障率、稳定性期限等。

4.安全需求:明确系统的安全需求,包括数据加密、访问控制等。

5.用户需求:了解用户的具体要求,包括界面友好、易操作、易部署等。

二、系统设计在需求分析的基础上,进行系统设计,包括以下几个方面:1.系统架构设计:根据业务需求,确定系统架构,包括后端数据存储、中间层数据逻辑处理以及前端用户界面等。

2.数据库设计:根据业务需求,设计数据库结构,包括表结构、索引等。

3.API设计:如果需要对外开放接口,需要进行API设计,包括接口文档、参数定义等。

4.界面设计:根据用户需求,设计界面风格、布局等。

三、系统开发系统开发是信息管理系统设计的核心阶段,包括以下几个方面:1.后端开发:根据需求分析和系统设计,进行后端代码编写,包括数据存储实现、数据逻辑处理等。

2.前端开发:根据需求分析和系统设计,进行前端代码编写,包括界面实现、数据交互等。

3.测试:针对系统功能、性能、稳定性、安全性等方面进行测试,包括单元测试、集成测试、验收测试等。

4.上线部署:将系统部署到生产环境使用。

四、系统维护信息管理系统设计与开发完成后,需要进行系统维护。

系统维护包括以下几个方面:1.监控:监控系统运行情况,及时处理异常情况。

2.维护:对系统进行定期维护,保证系统的稳定性和可靠性。

3.更新:定期对系统进行更新,修复漏洞,增加新功能等。

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

面向对象程序设计(C++)课程大作业设计题目:公司员工信息管理系统设计院系:计算机科学与信息工程学院专业班级:软件工程学号姓名:指导教师:***2015 年1月目录1 目的与要求 (1)1.1设计目的 (1)1.2基本要求 (1)1.3功能要求 .......................................................................................... 错误!未定义书签。

1 2系统分析 . (3)2.1系统需求分析 (3)2.2系统功能分析 (4)2.3系统可行性分析 (4)2.3.1技术可行性分析 (4)2.3.2操作可行性分析 (4)2.3.3经济可行性分析 (5)3系统设计 (6)3.1系统结构图 (6)3.2系统功能模块 (6)3.3系统类的设计 (7)4 系统实现 (10)4.1经理类的实现 (10)4.2技术人员类的实现 (16)4.3主函数的实现.............................................................................. 错误!未定义书签。

22 结束语.. (23)参考文献 (23)1目的与要求1.1 设计目的(1)要求学生达到熟练掌握C++语言的基本知识和技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。

1.2 基本要求(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;(2)要求在设计的过程中,建立清晰的类层次;(3)在系统中至少要定义四个类,每个类中要有各自的属性和方法;(4)在系统的设计中,至少要用到面向对象的一种机制。

1.3 功能要求(1)添加功能程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求人员的编号要唯一,如果添加了重复编号的记录时,则提示用户数据添加重复并取消添加。

(2)查询功能可根据编号、姓名等信息对已添加的记录进行查询。

如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。

(3)显示功能可显示当前系统中所有记录。

(4)修改功能可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。

(5)删除功能对已添加的人员记录进行删除。

如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存在。

(6)统计功能能根据多种参数进行人员的统计。

例如:统计四类人员数量以及总数,统计男、女员工的数量,统计平均工资、最高工资、最低工资等。

(7)保存功能将当前系统中各类人员记录存入文件中。

(8)读取功能将保存在文件中的人员信息读入到当前系统中,以供用户使用。

在完成以上基本功能的基础上,可自行进行扩展或完善。

2系统分析随着经济的迅速发展,企业的规模越来越大,企业的管理也越来越复杂,组织机构越来越庞大,组织的划分也越来越细,对企业各组织部门的管理以及各部门内部各职务的管理变的十分复杂,需要借助于计算机来进行管理。

企业人员数量的增多,对员工的管理也是一项繁重的工作。

所以,只有合理的对员工进行管理,企业才能有条不紊的运行。

本系统可使管理人员对全局人员结构及岗位配置情况有清晰的了解。

在人才选拔上可实现人才的内部挖掘,保证人事的合理配置。

在系统的实施过程中完成了对管理制度和流程的完善和优化,提高了整个企业的人事管理效率,促进人事管理工作向着标准化、规范化的方向发展。

2.1 系统需求分析本系统’操作的信息有存储基本信息、经理信息、销售人员信息、销售经理信息及技术人员信息。

1.基础信息的添加功能程序能够任意添加经理信息、销售信息、销售经理信息和技术人员信息。

2.修改功能对已添加的记录(经理信息、销售信息、销售经理信息和技术人员信息)进行修改。

3.删除功能对已添加的记录(经理信息、销售信息、销售经理信息和技术人员信息)进行删除。

如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作;否则输入要删除的编号对该记录进行删除,如果没有找到,则提示相应的记录不存在。

4.查询功能①可根据职位的编号查询某职位的所有职员信息。

②可根据职员的编号查询某职员的所有信息。

如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。

5.保存功能将当前系统中各类记录存入文件中。

6.读取功能将保存在文件中的信息读入到当前系统中,以供用户使用。

2.2 系统功能分析随着经济的迅速发展,企业的规模越来越大,企业的管理也越来越复杂,组织机构越来越庞大,组织的划分也越来越细,对企业各组织部门的管理以及各部门内部各职务的管理变的十分复杂,需要借助于计算机来进行管理。

企业人员数量的增多,对员工的管理也是一项繁重的工作。

所以,只有合理的对员工进行管理,企业才能有条不紊的运行。

2.3 系统可行性分析搭建企业人事管理系统的必要性取决于需求的迫切性和实现的可行性。

在决定开发管理信息系统应用项目之前,首先要做好系统开发的可行性分析。

可行性分析的任务是确定项目开发是否必要和可行。

从以下几个方面认真进行研究,从而为确定系统开发项目的决策提供科学依据。

2.3.1技术可行性分析技术上的可行性分析所考虑采用的硬件和软件技术能满足用户提出的要求(如计算机的容量、速度等)。

此外,因本系统难度不大,所涉及的范围只限于企业人事信息管理,所以在技术上已达到开发该系统的能力。

2.3.2操作可行性分析对于用户来说,本系统只要求使用者掌握一定的上网经验,经过仔细设计和测试之后的系统具有操作简单,方便灵活等优点,足可以满足各种用户的不同需求,同时也方便了公司的内部管理。

管理人员及用户一定会在短时间内掌握并熟练使用。

只要动一动鼠标键盘就可以达到想要的效果。

2.3.3经济可行性分析系统的经济可行性指的是对组织的经济状况和投资能力进行分析,对系统建设、运行和维护费用进行估算,对系统建成后可能取得的社会及经济效益进行估计。

本模块简单易开发,且开发需要资金少,系统开发运行后,可以实现企业员工信息管理的计算机化,节省了人力、物力,将人从繁重的工作业务中解脱出来,减少了信息管理中无意的错误,节省了大量的时间,管理效率也大幅度提高,因此,在经济上是可行的。

所带来的效益远远大于系统软件的开发成本。

在经济上完全可行。

3 系统设计3.1 系统结构图3.2系统功能模块系统定义了Stuff类、Manager类、Salesman类、SalseManager类这五个类,定义了add()、m odify()、del()、read()、save()、look()、count()、show()、等函数来实现系统所需功能。

系统通过调用函数来实现信息录入、信息修改、信息删除、信息查询和数据保存等功能。

add ()函数用于录入信息;modify()函数用来修改信息;del()函数用来修改信息;look()函数用来搜索职员信息;read()函数用于将文件中的数据读取到内存中;save()函数用于将内存中的信息存入文件内;count用于统计职员总数;show()显示职员信息;主函数main用于调用这些函数。

3.3系统类的设计(1)Stuff类(抽象类)的设计:(2)经理类的设计:(3)销售人员类的设计:(4)销售经理类的设计:(5)技术人员类的设计:(6)各个类的关系描述:4 系统实现4.1 经理类的实现class Manager:public Stuff{public:void read();void add();void look();void show();void modify(int);void del(int);void count();void save();void Input(){ cout<<"请输入经理的编号:\n";cin>>number;cout<<"姓名:\n";cin>>name;cout<<"性别:\n";cin>>sex;cout<<"所在部门:\n";cin>>department;cout<<"级别:\n";cin>>rank;cout<<"固定工资:\n";cin>>pay;monpay=pay; }void Output(){cout<<setw(10)<<"经理信息"<<setw(10)<<"编号"<<setw(10)<<"姓名"<<setw(10)<<"性别"<<setw(10)<<"所在部门"<<setw( 10)<<"级别"<<setw(10)<<"月薪"<<endl;cout<<setw(10)<<"经理信息"<<setw(10)<<number<<setw(10)<<name<<setw(10)<<sex<<setw(10)<<department<<setw(10)< <rank<<setw(10)<<monpay<<endl;}protected:float pay;};Manager.cppvoid Manager::read(){fstream managerfile("经理信息管理.dat",ios::in|ios::out); managerfile>>m1[count_Manager].number>>m1[count_Manager].name>>m1[count_Manager].se x>>m1[count_Manager].department>>m1[count_Manager].rank>>m1[count_Manager].monpay;while(!managerfile.eof()){managerfile>>m1[count_Manager].number>>m1[count_Manager].name>>m1[count_Ma nager].sex>>m1[count_Manager].department>>m1[count_Manager].rank>>m1[count_Manager]. monpay;count_Manager++; }managerfile.close();}void Manager::add(){m1[count_Manager].number=number;strcpy(m1[count_Manager].name,name);strcpy(m1[count_Manager].sex,sex);strcpy(m1[count_Manager].department,department);strcpy(m1[count_Manager].rank,rank);m1[count_Manager].monpay=monpay;m1[count_Manager].number=number;count_Manager++;}void Manager::look(){if(count_Manager==0){cout<<"对不起,没有相关记录!"<<endl;return;}int choice;cout<<"请选择查找方式:1、编号查找2、姓名查找 "<<endl; cin>>choice;while(choice!=1&&choice!=2){cout<<"请输入正确的选择:";cin>>choice;}switch(choice){case 1:{cout<<"请输入要查找经理的编号:";int number;cin>>number;for(int i=0;i<count_Manager;i++){if(m1[i].number==number){m1[i].Output();return;}}cout<<"没有相关人员!"<<endl;break;}case 2:{cout<<"请输入要查找经理的姓名:";char name[100];cin>>name;for(int i=0;i<count_Manager;i++){if(strcmp(m1[i].name,name)==0){m1[i].Output();return;}}cout<<"没有相关人员!"<<endl;break;}default:cout<<"无此选项,请重试!"<<endl;break;}}void Manager::show(){for(int i=0;i<=count_Manager-1;i++)m1[i].Output();}void Manager::modify(int index){m1[index-1].number=number;strcpy(m1[index-1].name,name);strcpy(m1[index-1].sex,sex);strcpy(m1[index-1].department,department);strcpy(m1[index-1].rank,rank);m1[index-1].monpay=monpay;}void Manager::del(int index){for(int i=index;i<=count_Manager-1;i++){m1[i-1].number=m1[i].number;strcpy(m1[i-1].name,m1[i].name);strcpy(m1[i-1].sex,m1[i].sex);strcpy(m1[i-1].department,m1[i].department);strcpy(m1[i-1].rank,m1[i].rank);m1[i-1].monpay=m1[i].monpay;}count_Manager--;}void Manager::count(){int sum=0;int male=0,female=0;for(int i=0;i<count_Manager;i++){if(!strcmp(m1[i].sex,"男"))male++;if(!strcmp(m1[i].sex,"女"))female++;sum++;}cout<<"总的人数是:"<<sum<<endl;cout<<"男的人数是:"<<male<<endl;cout<<"女的人数是:"<<female<<endl;}void Manager::save(){ofstream managerfile;managerfile.open("经理信息管理.dat");for(int i=0;i<=count_Manager-1;i++)managerfile<<m1[i].number<<" "<<m1[i].name<<" "<<m1[i].sex<<" "<<m1[i].department<<" "<<m1[i].rank<<" "<<m1[i].monpay<<endl;managerfile.close();}程序运行结果:4.2 技术人员类的实现Technicist.hclass Technicist:public Stuff{public:void read();void add();void look();void show();void modify(int);void del(int);void count();void save();void Input(){cout<<"请输入技术人员的编号:\n";cin>>number;cout<<"姓名:\n";cin>>name;cout<<"性别:\n";cin>>sex;cout<<"所在部门:\n";cin>>department;cout<<"级别:\n";cin>>rank;cout<<"工作时数:\n";cin>>hour;monpay=100*hour;}void Output(){cout<<setw(10)<<"技术人员信息"<<setw(10)<<"编号"<<setw(10)<<"姓名"<<setw(10)<<"性别"<<setw(10)<<"所在部门"<<setw( 10)<<"级别"<<setw(10)<<"月薪"<<endl;cout<<setw(10)<<"技术人员信息"<<setw(10)<<number<<setw(10)<<name<<setw(10)<<sex <<setw(10)<<department<<setw(10)<<rank<<setw(10)<<monpay<<endl;}protected:float hour;};Technicist.cppvoid Technicist::read(){fstream Technicistfile("技术人员信息管理.dat",ios::in|ios::out); Technicistfile>>t1[count_Technicist].number>>t1[count_Technicist].name>>t1[count_Technicist ].sex>>t1[count_Technicist].department>>t1[count_Technicist].rank>>t1[count_Technicist].mon pay;while(!Technicistfile.eof()){Technicistfile>>t1[count_Technicist].number>>t1[count_Technicist].name>>t1[count_Te chnicist].sex>>t1[count_Technicist].department>>t1[count_Technicist].rank>>t1[count_Technicist].monpay;count_Technicist++;}Technicistfile.close();}void Technicist::add(){t1[count_Technicist].number=number;strcpy(t1[count_Technicist].name,name);strcpy(t1[count_Technicist].sex,sex);strcpy(t1[count_Technicist].department,department);strcpy(t1[count_Technicist].rank,rank);t1[count_Technicist].monpay=monpay;count_Technicist++;}void Technicist::look(){if(count_Technicist==0){cout<<"对不起,没有相关记录!"<<endl;return; }int choice;cout<<"请选择查找方式:1、编号查找2、姓名查找"<<endl;cin>>choice;while(choice!=1&&choice!=2){cout<<"请输入正确的选择:";cin>>choice;}switch(choice){case 1:{cout<<"请输入要查找技术人员的编号:";int number;cin>>number;for(int i=0;i<count_Technicist;i++){if(t1[i].number==number){t1[i].Output();return;}}cout<<"没有相关人员!"<<endl;break;}case 2:{cout<<"请输入要查找技术人员的姓名:";char name[100];cin>>name;for(int i=0;i<count_Technicist;i++){if(strcmp(t1[i].name,name)==0){t1[i].Output();return;}}cout<<"没有相关人员!"<<endl;break;}default:cout<<"无此选项,请重试!"<<endl;break;}}void Technicist::show(){for(int i=0;i<=count_Technicist-1;i++)t1[i].Output();}void Technicist::modify(int index){t1[index-1].number=number;strcpy(t1[index-1].name,name);strcpy(t1[index-1].sex,sex);strcpy(t1[index-1].department,department);strcpy(t1[index-1].rank,rank);t1[index-1].monpay=monpay;}void Technicist::del(int index){for(int i=index;i<=count_Technicist-1;i++) {t1[i-1].number=t1[i].number;strcpy(t1[i-1].name,t1[i].name);strcpy(t1[i-1].sex,t1[i].sex);strcpy(t1[i-1].department,t1[i].department);strcpy(t1[i-1].rank,t1[i].rank);t1[i-1].monpay=t1[i].monpay;}count_Technicist--;}void Technicist::count(){int sum1=0;int male1=0,female1=0;for(int i=0;i<count_Technicist;i++){if(!strcmp(t1[i].sex,"男"))male1++;if(!strcmp(t1[i].sex,"女"))female1++;sum1++;}cout<<"总的人数是:"<<sum1<<endl;cout<<"男的人数是:"<<male1<<endl;cout<<"女的人数是:"<<female1<<endl;}void Technicist::save(){ofstream Technicistfile;Technicistfile.open("技术人员信息管理.dat");for(int i=0;i<=count_Technicist-1;i++)Technicistfile<<t1[i].number<<" "<<t1[i].name<<" "<<t1[i].sex<<" "<<t1[i].department<<" "<<t1[i].rank<<" "<<t1[i].monpay<<endl;Technicistfile.close();}程序运行结果图:4.3 主函数的实现void main(){ Stuff *p=NULL;Manager mm;mm.read();Technicist tt;tt.read();Salesman se;se.read();Salesmanager sellm;sellm.read();int choice=1;while(1){cout<<"***********欢迎进入公司人员信息管理系统**********"<<endl;cout<<" 1.经理信息管理"<<endl;cout<<" 2.技术人员信息管理"<<endl;cout<<" 3.销售人员信息管理"<<endl;cout<<" 4.销售经理信息管理"<<endl;cout<<" 0.退出"<<endl;cout<<"*************************************************"<<endl;cout<<"请输入所要操作的编号:";cin>>choice;switch(choice){case 1: Manager_manage();break;case 2: Technicist_manage();break;case 3: Salesman_manage();break;case 4: Salesmanager_manage();break;case 0: cout<<"谢谢您的使用!"<<endl; return;break;default:cout<<"请输入0~4之间的数字!"<<endl;break;}}}程序运行结果:结束语程序总共设计了五个类,满足了课题对类的要求,在设计的过程中,建立了较为清晰的类层次,也利用了面向对象的方法以及C++的编程思想来完成系统的设计,做到了用文件存储公司人员管理信息、从文件中读取公司人员信息、修改信息、查询信息、删除信息显示文件中存储的信息等要求。

相关文档
最新文档