工资管理系统课程设计.doc
《工资管理系统课程设计.doc》由会员分享,可在线阅读,更多相关《工资管理系统课程设计.doc(21页珍藏版)》请在咨信网上搜索。
数据库原理及应用课程设计指导书 专 业 信息管理与信息系统 姓 名 李恒 (083215131) 指导老师 闫晓妍、 张玉花、 赵军民 设计时间 2015-2016学年(一)第17-18周 计算机科学与工程学院 工资管理系统 1 系统简介 1.1 工资管理系统概述 在工资管理中,需要从公司管理方式以及实际情况中提取相关信息,以反映工资管理情况。传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。使用计算机可以高速,快捷地完成以上工作。避免重复劳动,规范工资管理行为,从而提高了管理效率和水平。让人们的效率大大提高. 不难想象,正是资讯的迅速发展使得人们从过去繁复的手工劳作中得以解脱,从而使这种服务在现在才可能迅速普及。同时,编写一套完整的工资管理系统的任务就显得尤为重要。 本课程设计共分为四大模块: Ø 员工每个工种基本工资的设定 Ø 加班津贴管理,根据加班时间和类型给予不同的加班津贴; Ø 按照不同工种的基本工资情况、员工的考勤情况产生员工的每月的月工资; Ø 员工年终奖金的生成,员工的年终奖金计算公式=(员工本年度的工资总和+津贴的总和)/12; Ø 企业工资报表。能够查询单个员工的工资情况、每个部门的工资情况、按月的工资统计。 1.2 可行性分析 技术可行性 技术上的可行性分析要考虑现有技术条件能否顺利完成开发工作及将来要采用的硬件和软 件技术能否满足用户提出的要求(如计算机的容量、速度等)。 本系统采用SQL工具建立数据库,不仅能帮助软件开发者提高软件开发的质量和效率,缩短开发周期,而且还具备强大的数据库管理功能,完全能够满足本系统的开发需求。此外,从开发人员的水平考虑,作为学习计算机的学生来说还是非常可行的。 经济可行性 由于本工资管理系统所要求的硬件(计算机及相关硬件)和软件环境在市场上都容易购买到或从相关网站下载,系统成本主要集中在本管理系统的开发与维护上,对用户不造成过重的经济负担。而一旦此系统投入使用不仅可以减少工资的工作强度,提高工作效率,而且方便了工资对信息的管理,延续了传统的管理模式,极大限度地方便了工资管理人员,而且,目标系统不是很复杂,开发的周期较短,人员经济支出不大,所节省的大量人力、财力产生的效益将远远大于本系统的开发成本,所以从经济方面讲开发此系统是可行的。 社会可行性 随着计算机的发展与普及,以及互联网技术的扩展,日常劳资人事管理必将实现无纸化办公并且加入到公司内部的网络上去,实现数据的共享,这样有利于劳资人事信息在单位内部的查询,提高了数据资源的利用,并且能及时的得到更新,不需要象过去那样浪费大量的人力物力去进行抄写,提高了工作的效率。 2. 需求分析阶段 本系统主要用于员工基本信息的管理,对员工以及其他信息的添加、修改、删除、查询等基本操作。对于数据库的保护有数据备份和数据恢复的功能。针对这些要求,设计本月工资信息管理系统。该系统主要包括职工信息、工资级别和工资金额、公司福利表等。 ⒈员工基本状况 包括员工号、员工姓名、性别、所在部门、工资级别、工资等级等。 2.工资级别和工资金额 包括工资等级、工资额。 3.企业部门及工作岗位信息 包括部门名称、工作岗位名称、工作岗位工资等。 4.工龄和工资金额 包括工龄及对应工资额。 5.公司福利表 包括福利名称、福利值。 2.1 数据需求 部门信息:部门名称,部门负责人,部门人数 员工信息:工号,姓名,性别,年龄,籍贯,身份证号,婚姻情况,学历,部门名称,工种,工龄,职务等级 工资:工号,工资年月,岗位工资,岗位补贴,出勤人数,加班工资,加班工时,加班天数,加班类别,病假扣款,事假扣款,其他扣款,应发工资,实发工资 工龄工资:工龄,工龄工资 2.2 数据处理及功能需求 1.能够存储一定数量的工资信息,并方便有效地进行相应的工资数据操作和管理,这主要包括: 1) 工资信息的录入、删除及修改; 2) 工资信息的多关键字检索查询; 3) 工资的发出、收到及罚款。 2. 能够对一定数量的职工、管理员进行相应的信息存储与管理,这包括: 1) 职工信息的登记、删除与修改; 2) 管理员信息的增加、删除与修改; 3) 职工资料的统计与查询。 3. 能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。 4. 对查询、统计的结果能够列表显示。 2.3 性能需求 1. 能够查询每个职员的工资情况。 2. 能够查询每个职工所在部门情况。 3. 能够查询每个职工的基本情况。 2.4 安全性和完整性要求 1) 安全性要求 系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。 2) 完整性要求 系统完整性要求系统中数据的正确性以及相容性。可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。 第一层数据流图数据库操作 操作数据 系统操作 工资信息 考勤信息 进入基本界面 职工信息 津贴管理 修改职工信息 删除职工记录 输入职工基本信息 职工表 添加操作 修改操作 删除操作 用户 查询操作 职工号 用户 修改工资信息 删除工资信息 输入工资基本信息 工资表 添加操作 修改操作 删除操作 查询操作 修改考勤信息 删除考勤信息 输入考勤基本信息 考勤表 添加操作 修改操作 删除操作 查询操作 用户 修改津贴信息 删除津贴信息 输入津贴基本信息 津贴表 添加操作 修改操作 删除操作 查询操作 用户 职工管理员进入系统 进入员工(工资,考勤,津贴)表 津贴表 职工表 考勤表 工资表 进行录入,修改,删除,查询操作 信息查询及管理的流程图 3 概念设计阶段 1 4 逻辑设计阶段 4.1 数据组织 将数据库的概念模型转换为关系模型: 实体转换成的关系模式有: 员工(工号,姓名,性别,年龄,籍贯,身份证号,婚姻状况,学历,部门名称,工种,工龄,职务等级) 部门(部门编号,部门名称,部门负责人,部门人数) 获得(工号,姓名) 工资(工号,工资年月,岗位工资,岗位补贴,出勤天数,加班工时,加班工资,加班天数,加班类别,病假扣除,事假扣除,其它扣除,应发工资,实发工资) 因为,员工与工资是1:N的关系,所以各关系模式为: 员工(工号,姓名,性别,年龄,籍贯,身份证号,婚姻状况,学历,部门名称,工种,工龄,职务等级) 部门(部门名称,部门负责人,部门人数) 工资(工号,工资年月,岗位工资,岗位补贴,出勤天数,加班工时,加班工资,加班天数,加班类别,病假扣除,事假扣除,其它扣除,应发工资,实发工资) 带下划线的属性为各关系模式的外码,字体为粗体的属性为各关系模式的主码。 4.2 数据库模式定义 部门表 列明 数据类型 可否为空 部门名称 Char(50) Not null 部门负责人 Char(50) Not null 部门人数 Char(50) null 工龄工资表 列名 数据类型 可否为空 工龄 Char(4) null 工龄工资 float Not null 工资表 列名 数据类型 可否为空 工号 Char Not null 工资年月 Char Not null 岗位工资 Decimal Null 岗位补贴 Decimal Null 出勤天数 Decimal Null 加班工时 Decimal Null 加班工资 Decimal Null 加班天数 Decimal Null 加班类别 Char Null 病假扣款 Decimal Null 事假扣款 Decimal Null 其他扣款 Decimal Null 应发工资 Decimal Null 实发工资 Decimal Not null 员工表 列名 数据类型 可否为空 工号 Char Not null 姓名 Char Not null 性别 Char Null 年龄 Char Not null 籍贯 Varchar Not null 身份证号 Char Null 婚姻情况 Char Null 学历 Char Null 部门名称 Char Not null 工种 Char Null 工龄 Char Not null 职务等级 Char Null 4.4 数据处理 (系统功能模块图) 工资管理系统 员工管理模块 考勤管理模块 津贴管理模块 工资生成模块 系统模块 5 物理设计阶段 数据库物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务: 1) 确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构; 2) 对物理结构进行评价,评价的重点是时间和空间效率。 3) 数据存储方面 为数据库中各基本表建立的索引如下: 1. 由于基本表部门的主码部门名称,经常在查询条件和连接操作的连接条件中出现,且他们的值唯一,在两个属性上建立唯一性索引。 2. 由于基本表工龄工资的属性工龄工资经常在查询条件中出现,在两个属性上建立聚集索引; 3. 由于基本表工资的属性工号,岗位工资经常在查询条件中出现,考虑在其之上建立聚集索引‘ 4. 由于基本表员工的属性工号,姓名经常在查询条件中出现,考虑在其之上建立聚集索。 6 系统实施阶段 6.1 建立数据库、数据表、视图、索引(代码) (1)建立数据库 CREATE DATABASE 工资管理库 ON PRIMARY( NAME=工资管理库, FILENAME='D:\工资管理库_data.mdf', SIZE=4MB, MAXSIZE=6MB, FILEGROWTH=2MB ) LOG ON (NAME ='工资管理库_log', FILENAME ='D:\工资管理库.ldf', SIZE=1MB,MAXSIZE=25MB,FILEGROWTH=10%) 工资管理系统 员工管理模块 考勤管理模块 津贴管理模块 工资生成模块 系统模块 (2)建立数据表 create table 部门( 部门名称 CHAR(50) NOT NULL primary key, 部门负责人 CHAR(50) NOT NULL, 部门人数 CHAR(50) create table 员工( 工号 CHAR(50) NOT NULL primary key, 姓名 CHAR(50) NOT NULL, 性别 CHAR(2) DEFAULT'男'CHECK(性别 IN('男','女')), 年龄 CHAR(10) NOT NULL, 籍贯 VARCHAR(50) NOT NULL, 身份证号 CHAR(50) UNIQUE NOT NULL, 婚姻情况 CHAR(50), 学历 CHAR(50), 部门名称 CHAR(50) NOT NULL, 工种 CHAR(50), 工龄 CHAR(4) NOT NULL, 职务等级 CHAR(50) CREATE TABLE 工资( 工号 char(50) not null primary key, 工资年月 char(50) not null , 岗位工资 decimal not null, 岗位补贴 decimal, 出勤天数 decimal not null, 加班工时 decimal, 加班工资 decimal, 加班天数 decimal, 加班类别 char(50), 病假扣款 decimal, 事假扣款 decimal, 其他扣款 decimal, 应发工资 decimal, 实发工资 decimal not null, foreign key (工号) references 员工(工号)); alter table 工资 add constraint CK_gongho check(工号>0); (3)建立视图 查询员工工资情况 建立一个视图,反映员工姓名及工资情况。 CREATE VIEW 员工_工资 AS SELECT 员工.姓名, 工资.* FROM 员工,工资 WHERE 员工.工号=工资.工号 (4)建立索引 (1)指定员工工资情况的查询 定义一个名为stsffCost的存储过程,该存储过程以以工资年月(@staffgongzi)、出勤天数(@staffchuqin)、加班工资(@staffjiaban)、应发工资(@staffying)、实发工资(@staffshi)为输入参数返回指定员工工资信息的存储过程。 stsffCost代码如下: CREATE PROCEDURE staffCost @staffgongzi decimal, @staffchuqin decimal, @staffjiaban decimal, @staffying decimal, @staffshi decimal AS SELECT * FROM 工资 WHERE 工资年月=@staffgongzi AND 出勤天数=@staffchuqin AND 加班工资=@staffjiaban AND 应发工资=@staffying AND 实发工资=@staffshi GO (2)指定范围的员工的信息查询。 以员工工号、部门编号为输入参数返回指定员工基本信息的存储过程,要求输入部分员工信息查询员工全部信息。 定义一个名为stsffInfo的存储过程,该存储过程以员工工号(@staffNum)、部门编号(@bmNum)作为输入参数,存储过程返回查询到的结果集。 satffInfo的定义代码如下: CREATE PROCEDURE staffInfo @staffNum VARCHAR(50)='%', @bmNum VARCHAR(50)='%' AS SELECT * FROM 员工,部门 WHERE 员工.部门名称=部门.部门名称 AND ((员工.工号 LIKE @staffNum VARCHAR(50)+'%') AND (部门编号 LIKE @bmNum VARCHAR(50)+'%')) GO (3)统计指定年份各部门每个月份的工资总额。 以年份为输入参数,以总工资金额为输出参数,产生该年度12个月份的每部门工资统计的存储过程。定义该存储过程名为bmMonhSum,输入参数为@ThisYear,实现代码如下: CREATE PROCEDURE bmMonthSum @ThisYear CHAR(10) AS SELECT DATEPART(MM,工资年月) AS 员工工资月份,SUM(实发工资) AS 部门人数 FROM 员工,工资,部门 WHERE 员工.工号=工资.工号 AND 员工.部门名称=部门.部门名称 AND DATEPART(YYYY,工资年月)=@ThisYear GROUP BY DATEPART(MM,工资年月) GO (5)建立触发器 关键操作,在工资表里添加一条新的记录,实发工资会自动更新新的数据。定义这个触发器名称为insert_工资。 代码如下: create trigger insert_工资 on 工资 for insert as declare @i char(20) declare @bb int set @i=case when @bb=0001 then '实发工资' when @bb=0002 then '实发工资' end print @i (六)索引 为提高检索性能,为表创建符合索引,其索引项为工号、姓名。 CREATE INDEX 工号_姓名_ind ON 员工(工号,姓名) GO 6.2 数据导入 CREATE DATABASE 工资管理库 ON PRIMARY( NAME=工资管理库, FILENAME='D:\工资管理库_data.mdf', SIZE=4MB, MAXSIZE=6MB, FILEGROWTH=2MB ) LOG ON (NAME ='工资管理库_log', FILENAME ='D:\工资管理库.ldf', SIZE=1MB,MAXSIZE=25MB,FILEGROWTH=10%) create table 部门( 部门名称 CHAR(50) NOT NULL primary key, 部门负责人 CHAR(50) NOT NULL, 部门人数 CHAR(50) create table 员工( 工号 CHAR(50) NOT NULL primary key, 姓名 CHAR(50) NOT NULL, 性别 CHAR(2) DEFAULT'男'CHECK(性别 IN('男','女')), 年龄 CHAR(10) NOT NULL, 籍贯 VARCHAR(50) NOT NULL, 身份证号 CHAR(50) UNIQUE NOT NULL, 婚姻情况 CHAR(50), 学历 CHAR(50), 部门名称 CHAR(50) NOT NULL, 工种 CHAR(50), 工龄 CHAR(4) NOT NULL, 职务等级 CHAR(50) CREATE TABLE 工资( 工号 char(50) not null primary key, 工资年月 char(50) not null , 岗位工资 decimal not null, 岗位补贴 decimal, 出勤天数 decimal not null, 加班工时 decimal, 加班工资 decimal, 加班天数 decimal, 加班类别 char(50), 病假扣款 decimal, 事假扣款 decimal, 其他扣款 decimal, 应发工资 decimal, 实发工资 decimal not null, foreign key (工号) references 员工(工号)); alter table 工资 add constraint CK_gongho check(工号>0); create table 工龄工资 ( 工龄 char(4) primary key, 工龄工资 float(8)not null); 6.3 创建各个功能的存储过程 (创建的存储过程列表) (存储过程的代码) 指定员工工资情况的查询 定义一个名为stsffCost的存储过程,该存储过程以以工资年月(@staffgongzi)、出勤天数(@staffchuqin)、加班工资(@staffjiaban)、应发工资(@staffying)、实发工资(@staffshi)为输入参数返回指定员工工资信息的存储过程。 stsffCost代码如下: CREATE PROCEDURE staffCost @staffgongzi decimal, @staffchuqin decimal, @staffjiaban decimal, @staffying decimal, @staffshi decimal AS SELECT * FROM 工资 WHERE 工资年月=@staffgongzi AND 出勤天数=@staffchuqin AND 加班工资=@staffjiaban AND 应发工资=@staffying AND 实发工资=@staffshi GO 7 系统调试和测试 触发器名称为insert_工资 总结 通过两周的设计,最终完成了一个工资管理系统,并能实现了对员工工资的查询、计算、添加删除等功能。通过亲身实践加深了对数据库技术的理解,提高了对SQL Server的运用能力。 通过这次的设计,我还体会到课程设计是培养综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对实际工作能力的具体训练和考察过程。在设计的过程中难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,把以前所学过的知识重新温故。 21- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工资管理 系统 课程设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文