软件工程课程设计人力资源管理系统.docx
《软件工程课程设计人力资源管理系统.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计人力资源管理系统.docx(29页珍藏版)》请在冰豆网上搜索。
![软件工程课程设计人力资源管理系统.docx](https://file1.bdocx.com/fileroot1/2022-11/30/076b9698-813d-4e41-aa80-6f19dcd4e862/076b9698-813d-4e41-aa80-6f19dcd4e8621.gif)
软件工程课程设计人力资源管理系统
课程设计(论文)任务书
学院
理学院
专业
信息与计算科学
学生姓名
班级学号
课程名称
软件工程课程设计
课程设计
(论文)题目
人力资源管理系统
设计要求(技术参数):
(1)以人力资源管理系统为例,设计软件设计开发的基本步骤
(2)描述系统的可行性、需求、概要设计和详细设计的基本过程
(3)设计任务:
人力资源管理系统
(1)掌握软件设计和开发的基本步骤和方法
(2)以系统为研究对象,设计系统的E-R图、系统结构图、程序流程图
(3)设计用户登录管理、人事信息管理、员工调动管理和工资管理
(4)研究系统的可行性、需求分析、概要设计和详细设计
(5)撰写设计报告
计划与进度安排:
(1)第一周教师讲解题目内容、任务和论文要求,学生查阅资料,提出设计方案
(2)第一周周五——第二周周五(包含周六周日)完成设计,得出结论
(3)第二周周六教师审查设计报告,合格者参加答辩
成绩:
指导教师(签字):
年月日
专业负责人(签字):
年月日
主管院长(签字)
年月日
摘要
随着经济全球一体化时代的到来,企业的发展不再是仅限于技术的竞争,市场的竞争,更重要的是人才的竞争。
企业在发展过程中,除了要维护好和客户的关系,掌握先进的行业生产技术以外,还需要拥有一批本领域中具有相当才能的工作人员,才能在信息时代的经济浪潮中立于不败之地。
人力资源管理系统是现代企业企业管理的核心的内容。
随着计算机信息技术的高速发展,电子商务模式的空前盛行,企业之间的竞争也从有形的经济市场转向了网络。
以计算机技术、网络技术、信息技术支持的现代人力资源管理系统,既能提高企业人力资源管理的技术含量和企业的办事效率,也能使人力资源管理进入现代化、决策科学化的进程。
通过人力资源管理系统使得管理者快速高效地完成企业日常事务中的人事工作,降低了人力资源管理成本,使管理者能集中精力在企业战略目标;另一方面,通过软件及时收集与整理分析大量的人力资源管理数据,为企业战略决策的生成与实施控制提供强有力的支持,以提高组织目标实现的可能性。
人事管理系统是典型的信息管理系统,使用了MICROSOFT公司的VISUALBASIC开发工具,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,形成可行系统。
本系统采用SQLServer2000开发和管理数据库,它功能强大、直观易于操作、建立表方便,具有强大的错误处理功能。
本文人力资源管理系统主要内容有:
用户登录管理、人事信息管理、员工调动管理和薪酬管理等。
关键词:
人力资源管理;数据库;员工调动管理;薪酬管理
1概述
企业在我国的国民经济方面起到非常大的作用,在满足人们的多样化需求、培养企业家、进行技术创新、参与专业协作等方面都具有重要的作用。
企业在一定程度上影响地区乃至整个国家经济的繁荣和社会的稳定。
然而企业的人员众多,职位繁杂,管理起来很麻烦,一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
由于当今企业的发展速度飞快,对各个环节的要求都非常之高,从生产的各个环节,进货、施工、运营、到后期的销售,等等都需要很多的人力和物力、进货中需要有采购部门,采购部门又需要分配诸多小的部门,施工运营更是需要人力最多的部门,各个圣生产线当中的各环节,紧密相扣,缺一不可,还有后期的销售,良好的生产和采购,最后的目的都是为了给生产出来的产品找个好的销路,所以各部门的人才更是需要很好的管理与策划。
这样一来,就需要人力资源部门对人力的规划做很周密细致的工作,这种工作的工作量相当巨大,所以说,就需要一个很完善的人力资源管理系统来协助人力资源管理人员,这样不仅可以减轻管理人员的负担,更可以把繁重的体力劳动转化为脑力劳动,用于多思考管理企业的方法。
管理企业人力资源需要很多方面,员工需要考勤、培训、还需要参看自己的一些信息、企业领导更需要对员工进行管理,这样一来,更需要系统有个比较完善功进而需要开发一个人力资源管理系统。
本系统的设计主要是解决人力资源管理的信息化、智能化、便捷化,提高了人力资源管理工作人员的工作效率,降低由于人力资源管理过于繁琐和因而导致的人才流失所带来的损失,同时也给企业发展带来一定经济效益。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对人事信息进行管理,具有手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高人事管理的效率,也是企业的科正规化管理,与世界接轨的重要条件。
2可行性研究
开发任何一个基于计算机的系统,都会受到时间和资源上的限制。
因此,在接受项目开发任务之前,必须根据客户提供的时间和资源条件进行可行性分析,以减少项目开发风险,避免人力、物力和财力的浪费。
可行性分析与风险分析在很多方面是相互关联的,项目风险越大,开发高质量的软件的可行性就越小。
2.1技术可行性
开发一个中小型企业的人力资源管理系统,涉及到的技术问题不会太多,主要用到的技术就是数据库和一门可视化开发的编程语言。
在这方面,数据库主要是用来存放数据,就目前主流的数据库来看,可以考虑采用MicrosoftSQLServer数据库系统,在前台开发编程方面,采用Microsoft公司的VisualBasic6.0中文版作为开发工具。
2.1.1本系统技术要求如下
功能:
对人事资料、系统管理、工资管理、阮元调动等进行综合管理。
输入/输出:
输入查询条件,输出查询内容。
基本的数据流程和处理流程:
先对人员信息进行录入,然后再对它们分类。
可以对数据进行插入、删除、修改、查询。
2.1.2开发工具
以上系统技术要求使用VB和SQLServer2000可以满足,SQLServer可以为各种用户提供完整的数据库应用解决方案。
除了其关系型系统的内核之外,它的分布式查询处理、强大的触发器功能、方便的数据发布等特点,使它充满着未来数据库技术的气息。
SQLServer是一个关系数据库管理系统,它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的。
于1988年推出了第一个OS/2版本,在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了,Microsoft将SQLServer移植到WindowsNT系统上专注于开发推广SQLServer的WindowsNT版本。
Sybase则较专注于SQLServer在UNIX操作系统上的应用。
在本系统中使用的是MicrosoftSQLServer。
SQLServer2000继承了SQLServer7.0版本的优点同时又比它增加了许多更先进的功能,具有使用方便、可伸缩性好、与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用
微软的VisualBasic6.0是Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。
VisualBasic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。
故而,实现本系统VB是一个相对较好的选择。
VisualBasic应用程序基本的构建块是用户所创建的对象,每一个对象都具有一些特性和行为(属性、事件和方法)。
开发人员可以最有效利用所创建的每一个对象。
使用应用程序具有可通用性可说扩展性和强有力的功能。
VisualBasic应用由一系列对象组成,包括有函数、菜单、函数、结构和数据窗口、用户对象、用户事件等等,对象中又包含若干控件如命令按钮、单行编辑器等这些对象和控件都可在许多应用中重复使用。
利用动态数据交换技术,使VB开发的应用程序能与其他Windows应用程序进行动态的数据通信。
通过动态链接库技术,能在VB开发的应用程序中调用其他程序设计语言编写的程序,也可调用Windows系统的应用程序接口函数。
使用对象的链接和嵌入技术,可以把其他Windows应用程序作为对象,在VB开发的应用程序中对它进行各种操作,使用它所提供的功能。
2.2操作可行性
该系统在操作上很简单,使用者完全可以没有专业的计算机知识。
启动系统后进入登陆用户界面,用户用自己的登陆名和密码进入系统操作页面。
不同的用户拥有不同的用户名及密码。
用户可以对信息进行浏览、删除、修改、添加等操作。
3需求分析
需求分析是介于系统分析阶段和软件设计阶段之间的重要桥梁。
一方面,需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现测试直至维护的主要基础。
良好的分析活动有助于避免或尽早发现早期的错误,从而提高软件生产率,降低开发成本,改进软件质量。
该系统分为4个模块:
用户管理模块、人事信息管理模块、员工调动管理模块和薪酬管理模块。
用户登管理模块:
该模块是对登陆该系统的用户的用户名及密码进行管理。
分为用户登录和注册新用户两项。
不同的用户拥有不同的权限。
人事信息管理模块:
该模块是关于公司的人事信息维护,首先是对入职员工的基本信息的录入、修改、浏览等操作;其次是员工人事档案、合同档案等基本信息的管理和公司的部门管理;最后,并对公司的人事信息从工种,专业,学历等属性进行统计分析。
员工调动管理模块:
该模块是对员工的职位调动进行管理的,员工调动主要分为内部调动和外部调动两方面,内部调动为本城市中部门间的调动,外部调动为分公司间的调动。
本模块还有登记新员工和复职、离职等信息管理。
薪酬管理模块:
主要包括薪酬登记、薪酬修改、薪酬查询薪酬设置4部分组成。
其中,薪酬登记是完成对员工薪酬的添加,如果有需要更正的部分,通过薪酬修改模块来实现,系统还提供给员工查询薪酬的功能,通过薪酬查询来实现。
4概要设计
4.1系统结构图及系统流程图
图1系统结构图
图2系统流程图
4.2数据库设计
4.2.1数据库设计过程
目前设计数据库主要采用的是以逻辑数据库设计和物理数据库设计为核心的规范设计方法。
其中逻辑数据库是根据用户要求和特定数据库管理系统的具体特点,以数据库设计理论为依据,设计数据库的全局逻辑结构和每个用户的局部逻辑结构。
物理数据库设计是在逻辑结构确定之后,设计数据库的存储结构及其他实现细节。
各种规范设计方法在设计步骤上存在差别,各有不同。
一般分为以下六个阶段:
(1)需求分析阶段:
进行数据库设计首先必须准确了解与分析用户需要(包括数据与处理)。
需求分析是整个设计过程的基础,需求分析是否充分与准确,决定整个数据库构建的速度与质量。
(2)概念结构设计阶段:
概念设计是整个数据库设计的关键,他通过对用户需求进行综合,归纳与抽象,形成一个独立于具体DBMS的概念模型。
(3)逻辑结构设计阶段:
逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。
(4)数据库物理设计阶段:
数据库物理设计是为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
(5)数据库实施阶段:
在数据库实施阶段,设计人员运用DBMS提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据录入,并进行试运行。
(6)数据库运行和维护阶段:
数据库系统经过试运行后,即可投入正式运行。
在数据库运行过程中必须不断地对其进行评价、调整与修改。
4.2.2人力资源管理数据库设计
新建一个数据库:
创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。
创建一个数据库结构的过程被认为是数据模型设计。
本系统采用SQLServer2000数据库为数据库开发工具,建立一个数据库---人力资源管理,其中包括多个表,并为之定义了相应的关系以适应本系统所需的功能。
下面介绍各表。
(一)系统各主要表的主要功能及设计方法
(1)部门总信息表:
部门表主要用于保存部门信息。
由于系统需要对部门进行添加、删除、修改、查询等操作,所以必须要有一个表,用于存储各个部门的名称、其上级主管部门,部门描述等信息,给这个表取名为:
部门表。
其中部门编号设置为主键,不允许为为空,其他字段都可以为空。
具体设计如下:
表1部门总信息表
字段名
数据类型
长度
允许空
部门编号
Varchar
12
本级编号
Varchar
2
√
部门名称
Varchar
20
√
部门全称
Varchar
200
√
部门主管
Varchar
10
√
部门地址
Varchar
50
√
部门电话
Varchar
30
√
编码级次
int
20
√
(2)各部门信息表:
用于存储公司各部门的职位信息
由于公司需要对各部门中的职位分配进行总的规划及管理,需要建立各部门信息表,用于存储当前公司各部门都有什么职位及在职人员名单。
需要每个部门都建立一张表,信息类别基本相同。
取名为***信息表。
以产品部为例,包括主管、组长、程序员三个职位。
信息表取名为产品部信息表。
部门编号设置为主键,不允许为空,其他字段可以为空。
具体设计如下:
表2产品部信息表
列名
数据类型
长度
允许空
部门编号
Bigint
8
主管
Varchar
15
√
组长
Varchar
5
√
程序员
Varchar
5
√
(3)员工信息表:
员工信息表主要用于保存员工的基本信息。
由于系统需要对员工进行管理,其中包括对员工的添加、删除、修改员工的基本信息,查询员工情况,所以需要有一个员工信息表,给这个表取名为:
员工信息表。
用于存储每个员工的姓名等基本信息,其中包括很多字段,编号设置为主键,不允许为空,其他字段都可以为空。
具体设计如下:
表3员工信息表
列名
数据类型
长度
允许空
编号
Varchar
5
姓名
Varchar
10
√
性别
Varchar
2
√
身份证号
Varchar
20
√
婚姻状况
Varchar
4
√
参加工作时间
Datetime
8
√
部门
Varchar
200
√
工种
Varchar
20
√
基本工资
Money
8
√
调入时间
Datetime
8
√
本单位工龄
Int
4
√
简历
Text
16
√
登记人
Varchar
30
√
登记日期
Datetime
8
√
(4)考勤登记表:
考勤登记表主要用于保存员工的考勤时刻信息。
企业的考勤要求非常严格仔细,企业要对员工进行考勤,所以要求系统能有培训管理模块,因此本系统的考勤管理做的也是本系统的亮点之一。
考勤管理模块需要对员工的考勤进行严格计算,因此必须创建一个表,用于存储员工的考勤情况,给这个表取名为:
考勤登记表。
其中包括很多字段:
员工编号、所属工资月份、员工姓名、出勤天数、请假天数、迟到或早退天数、旷工天数、加班次数。
员工编号设置为主键,不允许为空,其他字段都可以为空。
具体设计如下:
表5考勤表
列名
数据类型
长度
允许空
员工编号
Varchar
5
所属工资月份
Varchar
15
√
员工姓名
Varchar
10
√
出勤天数
Varchar
10
√
请假天数
Varchar
10
√
迟到或早退天数
Varchar
10
√
旷工天数
Varchar
10
√
加班次数
Varchar
10
√
(5)薪酬列表:
薪酬列表主要用于保存各个员工的薪酬信息。
企业的考勤做的仔细,也是更好的为员工的薪金发放服务,由于系统需要对员工进行薪金发放操作,所以必须要有一个表,用于存储各个员工的薪水情况,给这个表取名为:
薪酬表。
ID设置为主键,不允许为为空,其他字段都可以为空。
表6薪酬表
列名
数据类型
长度
允许空
ID
Bigint
8
所属工资月份
Varchar
15
√
员工编号
Varchar
5
√
基本工资
Money
8
√
奖励总额
Money
8
√
惩罚总额
Money
8
√
保险费
Money
8
√
应发工资
Money
8
√
应扣工资
Money
8
√
实发工资
Money
8
√
(6)离职表:
用于存储员工的离职信息
公司对于离职人员的信息需要进行统一的管理,便于公司日后的安排及职位的及时调动,不至于出现职位空置活人员冗余等问题。
其中包括跟多字段,编号设置为主键,不允许为空,其他字段可以为空。
具体设计如下:
表7离职表
字段名
数据类型
长度
允许空
编号
Varchar
5
姓名
Varchar
10
√
部门
Varchar
200
√
登记人
Varchar
30
√
登记日期
datetime
8
√
离职时间
datetime
8
√
离职登记日期
datetime
8
√
离职登记人
Varchar
30
√
是否复职
bit
1
√
复职时间
datetime
8
√
复职登记日期
datetime
8
√
复职登记人
Varchar
30
√
(7)合同表:
用于存储员工合同信息
公司对于进入本公司的每个员工都要签署就业协议,即劳动合同。
公司对于职员的合同信息进行统一的管理,其中包含许多字段,合同编号设置为主键,员工编号为外码,不允许为空,其他字段可以为空。
具体设计如下:
表8合同表
列名
数据类型
长度
允许空
合同编号
Varchar
15
员工编号
Varchar
5
合同类型
Varchar
20
√
合同开始日期
Datetime
8
√
合同结束日期
Datetime
8
√
合同期限
Varchar
10
√
合同期工资
Money
8
√
试用期
Varchar
10
√
试用期工资
Money
8
√
备注
Text
16
√
状态
Varchar
4
√
(二)介绍其他表的主要功能
人事调动表:
用于存储员工调动信息;
合同类型表:
用于设置合同的类型;
员工奖励表:
用于存储员工的奖励信息;
员工惩罚表:
用于存储员工的惩罚信息;
奖励项目表:
用于存储关于奖励项目的信息;
工种表:
用于存储工种的类型;
工资公式表:
用于存储各项基本工资的具体金额;
惩罚项目表:
用于存储关于惩罚项目的信息;
文化程序表:
用于存储员工文化程序的类型;
月份表:
用于存储月份信息;
权限信息表:
用于存储操作员的相关权限、密码信息;
民族表:
用于存储员工民族的类型信息;
离职表:
用于存储员工的离职信息;
考勤表:
用于存储考勤信息;
职务表:
用于存储员工职务类型;
职称表:
用于存储员工职称类型;
聘用类型表:
用于存储员工的聘用类型;
聘用表:
用于存储员工的聘用信息;
权限表:
用于存储权限信息。
4.3数据库概念模型设计
在需求分析的基础上设计出能够满足用户需求的各种实体以及它们之间的关系。
下面例举出各实体的实体图及实体关系E-R图:
1员工:
编号、姓名、性别、身份证号……
图3员工实体图
2合同:
合同编号、员工编号、合同类型、合同开始日期、合同期限……
图4合同实体图
3考勤:
所属工资月份、员工编号、出勤天数、请假天数、迟到或早退次数……
图5考勤实体图
4工资:
所属工资月份、员工编号、员工姓名、出勤天数……
图6工资实体图
5操作员:
名称、密码、权限
图7操作员实体图
6员工-合同实体关系图
图8员工-合同实体关系图
7与工资有关的实体关系E-R图
图9与工资有关的实体关系E-R图
5详细设计
5.1用户登录模块
用户登录界面是本系统的第一个界面,其中两个文本框用来输入用户名和密码。
通过用户名、密码来核对用户的身份。
如果输入的用户名和密码错误,会弹出提示框提示用户名或密码错误。
当输入用户名和密码3次错误时,会自动退出系统。
只有输入正确的用户名和密码才能进入管理系统。
登入窗体如图所示
图10登录窗体
主要实现代码如下:
PrivateSubCommand3_Click()
reg.Show
Me.Hide
EndSub
PrivateSubCommand1_Click()
DimsqlstrAsString
sqlstr="select*frompasswordwhereusername='"&Text1&"'"
Adodc1.RecordSource=sqlstr
Adodc1.Refresh
IfAdodc1.Recordset.BOFThen
MsgBox"用户名错误,重新输入",vbExclamation,"警告"
Text1.Text=""
Text1.SetFocus
Else
IfAdodc1.Recordset.Fields("password")=Text2Then
frmMain.Show
UnloadMe
Else
MsgBox"密码错误,重新输入",vbExclamation,"警告"
Text2.Text=""
Text2.SetFocus
EndIf
EndIf
micount=micount+1
Ifmicount=3ThenUnloadMe
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
点击注册新用户,出现注册新用户界面,可以进行新用户的添加。
图11注册新用户
实现代码如下:
PrivateSubCommand1_Click()
DimsqlstrAsString
IfText1=""Then
MsgBox"请输入用户名!
",vbExclamation,"确认密码"
Text1.SetFocus
ExitSub
Else
sqlstr="select*frompasswordwhereusername='"&Text1&"'"
Adodc1.RecordSource=sqlstr
Adodc1.Refresh
IfAdodc1.Recordset.EOF=FalseThen
MsgBox"用户已存在,请重新输入!
",vbExclamation,"检验用户名"
Text1=""