




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
郑州工业应用技术学院课程设计说明书题目: 员工工资管理系统 姓 名: 院 (系): 信息工程学院 专业班级:15计算机科学与技术三班学 号: 指导教师: 孙敬 成 绩: 时间: 2016 年 11 月 3 日至 2017 年 1 月 5 日郑州工业应用技术学院课程设计任务书题目 员工工资管理系统 专业、班级15计算机科学与技术三班学号 姓名 主要内容:员工工资管理系统的主要任务是用计算机对各种工资信息进行日常的管理,如查询、修改、添加、删除以及存储等,迅速准确地完成各种工资信息的统计计算和汇总工作,针对系统服务对象的具体要求,设计了员工工资管理系统。基本要求: (1)对单位人员的变动进行处理。一个单位的职工不会是一成不变的,总是在不断的变化:有调出、有调入、也有职工在本单位内部调动。因此,设计系统是应考虑到这些情况。 (2)对职工的工资进行计算、修改。可以对职工的工资档案进行个别、部分和批量修改,同时,能对各职工的工资进行计算,即计算基本工资、岗位工资、水电费及实发金额等。 (3)查询统计功能。要求即可以单项查询,比如查看某个职工的工资情况等;也可以多项查询,比如某个部门所有的员工的工资信息。主要参考资料:1 钱雪忠.数据库原理及其应用M.北京:邮电大学出版社,2007,8.2 王珊.数据库技术与联机分析处理M.北京:科学出版社,1998,5. 3 程燕.工资管理系统的开发J.上海电机高等专科学校学报.2003. 完 成 期 限: 2016.11.3-2017.1.5 指导教师签名: 课程负责人签名: 摘要摘要企业的工资管理是公司管理的一个重要内容。工资管理既涉及到企业劳动人事的管理,同时也是企业财务管理的重要组成部分。工资管理需要和人事管理相联系,同时连接工时考勤和医疗保险等等,来生成企业每个职工的基本工资、津贴、医疗保险、保险费、实际发放工资等。资金是企业生存的主要元素,资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分。但考虑到学生的开发时间,本次设计主要阐述员工工资管理系统主要是以企业员工工资情况为对象而开发的。涉及系统比较小,有利于学生单独编写。其系统的设计主要包括数据库的设计、维护和应用界面的设计与后台数据库的连接。经分析采用Microsoft 公司开发的Visual Basic 6.0为开发工具,Microsoft SQL sever 2000 为后台数据库。Visual Basic (简称VB)是由Microsoft公司推出的在Windows操作平台下最迅速、最简捷的应用开发工具之一。它引入了面向对象的程序设计思想和“控件”的概念,使得大量已经编好的Visual Basic 程序可以直接拿来使用。同时VB具有简单、易学的特点,是大多数初学者最理想的编程语言,也是专业人员得心应手的开发工具。它在一个公共环境里集成了许多不同的功能,例如,设计、编辑、编译和调试。目前市场上数据库的主流厂商及产品有IBM DB2、Microsoft SQL SERVER 2000、ORACLE 9i、Sybase。Microsoft SQL Server 2000是在SQL Server 7.0的基础上对性能、可靠性、质量以及易用性进行了扩展。SQL Server 2000中包含许多新特性,这些特性使其成为针对电子商务、数据仓库和在线商务解决方案的卓越的数据库平台。其增强的特性包括对丰富的扩展标记语言(XML)的支持、综合分析服务以及便捷的数据库管理。Microsoft SQL Server 2000简化了管理、优化工作,并且增强了迅速、成功的部署在线商务应用程序所需的可靠性和伸缩性。关键词 : 工资管理系统;设计;开发工具I目录目录摘要I目录II1 前言11.1 课程选题11.2 数据库背景11.3 数据库目的12 需求分析22.1任务描述22.2 需求分析23 概念结构设计33.1 数据流需求分析33.2 概念模型设计34 逻辑结构设计55 数据库物理设计与实施75.1数据库应用的硬件、软件环境介绍75.1.1软件环境75.1.2硬件环境75.2建表75.2.1 创建数据库75.2.2 创建基础表85.3 视图95.4 存储过程95.5触发器115.6索引126 各模块设计要点136.1 登录模块设计136.3用户管理设计136.3 信息管理设计136.4 查询工资设计137 运行与测试157.1 运行与测试157.2 分析17结束语19参考文献20III1 前言1 前言1.1 课程选题:员工工资管理系统1.2 数据库背景随着计算机技术的飞速发展和经济体制改革的不断深入,传统企业管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成员工工资管理工作。提高公司企业管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。基于数据库技术建立一个通用工资管理系统,该系统为提供了查询、增加记录、删除等,功能,功能比较的齐全,并对工资进行了统计如 津贴 管理、报表统计等,基本上能满足管理员和公司的要求。1.3 数据库目的(1)对单位人员的变动进行处理。一个单位的职工不会是一成不变的,总是在不断的变化:有调出、有调入、也有职工在本单位内部调动。因此,设计系统是应考虑到这些情况。(2)对职工的工资进行计算、修改。可以对职工的工资档案进行个别、部分和批量修改,同时,能对各职工的工资进行计算,即计算基本工资、岗位工资、水电费及实发金额等。(3)查询统计功能。要求即可以单项查询,比如查看某个职工的工资情况等;也可以多项查询,比如某个部门所有的员工的工资信息。(4)对用户管理功能。一个系统的应用有管理员和普通用户,他们对系统的权限受到限制。212 需求分析2 需求分析2.1 任务描述企业工资管理系统的主要任务是用计算机对各种工资信息进行日常的管理,如查询、修改、添加、删除以及存储等,迅速准确地完成各种工资信息的统计计算和汇总工作,针对系统服务对象的具体要求,设计了企业工资管理系统。2.2 需求分析 需求分析的过程可以说是一个对具体问题的反复理解和抽象的过程。理解就是对现实问题的理解,要弄清楚究竟需要解决什么问题。抽象就是除去问题的表面,提取问题的本质,建立问题的逻辑模型,以便于以后阶段的系统的设计实现。需求分析阶段是软件产品生存命期中的一个重要阶段,其根本任务是确定用户对软件系统的需求。所谓需求是指用户对软件的功能和性能的要求,就是用户希望软件能什么事情,完成什么样的功能,达到什么性能。此次课程设计的使用者是企业的员工,主要是针对系统的管理员。其进行的操作就是对公司员工、部门等一些方面改动的改善。 用户的需求就是对员工工资和使用用户的添加、删除、修改和查询。这就要求各种信息中存在实体完整性、参照完整性和用户自定义完整性。3 概念结构设计3 概念结构设计3.1 数据流需求分析 登陆信息 返回信息 用 户 登录操 作 错误信息 寻找信息 图3.1 数据库需求分析数据流图3.2 概念模型设计根据系统数据流图和数据字典,得出系统的概念模型(E-R)如图3.2所示。登录界面信息密码权限用户名 图3.2 登录界面实体图员工信息部门名称年龄性别 员工编号职称姓名学历 图3.3员工信息实体图员工工资信息员工编号应扣工资基本工资补贴津贴绩效工资岗位工资 图3.4员工工资实体图员工信息员工工资信息 n 1 n员工编号图3.5总体E-R图4 逻辑结构设计4 逻辑结构设计 在设计过程中,从用户的角度考虑来处理各个表之间的约束关系,把概念模式转化成逻辑模式最终形成E-R图。员工信息表(员工编号、姓名、性别、出生年月、所属部门、文化程度、职称)部门信息表(部门编号、部门名称、部门负责人、部门人数)基本工资表(工资级别、工资金额)岗位工资表(工资级别、工资金额)工资信息表(员工编号、部门编号、基本工资、岗位工资、水电费、实发工资)表4.1 员工信息表键名称数据类型大小空默认值主键员工编号char8不可以姓名char8不可以性别char2可以“男”出生年月datetime8可以外键所属部门char4可以文化程度char4可以职称char12可以表4.2 部门信息键名称数据类型大小空默认值主键部门编号char4不可以部门名称char20可以部门负责人char8可以部门人数int4可以表4.3 基本工资键名称数据类型大小空默认值主键工资级别char2可以工资金额numeric5(8,2)不可以表4.4 岗位工资键名称数据类型大小空默认值主键工资级别char2可以工资金额numeric5(8,2)不可以表4.5工资信息键名称数据类型大小空默认值主键、外键员工编号char8不可以外键部门编号char4可以基本工资numeric5(8,2)可以岗位工资numeric5(8,2)可以水电费numeric5(8,2)可以实发工资numeric5(8,2)可以5 数据库物理设计与实施5 数据库物理设计与实施5.1 数据库应用的硬件、软件环境介绍5.1.1 软件环境本次实验用到的软件是SQLsever 2008。5.1.2 硬件环境(1)cpu处理器类型:pentiumIII兼容处理器或速度更快的处理器。处理器速度:最低1.0GHz,建议2.0GHz。(2)内存最小512MB,建议2GB或更大。(3)硬盘根据组件的不同,需要的硬盘空间进行变化。建议2.2GB以上硬盘空间。(4)显示器分辨率1024X768像素以上。(5)操作系统可以安装到64位服务器的Windows on Windows 32位子系统中。5.2 建表5.2.1 创建数据库IF EXISTS(SELECT * FROM sysdatabases WHERE name=工资管理库) drop database 工资管理库GOCREATE 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%)5.2.2 创建基础表(1)员工信息表create table 员工(工号 VARCHAR(50) NOT NULL primary key,姓名 VARCHAR(50) NOT NULL,性别 CHAR(2) DEFAULT男CHECK(性别 IN(男,女),年龄 CHAR(10) NOT NULL,籍贯 VARCHAR(50) NOT NULL,身份证号 VARCHAR(50) UNIQUE NOT NULL,婚姻情况 VARCHAR(50),学历 VARCHAR(50),部门名称 VARCHAR(50) NOT NULL,工种 VARCHAR(50),工龄 VARCHAR(50) NOT NULL,职务等级 VARCHAR(50)GO(2)部门表create table 部门(部门名称 VARCHAR(50) primary key NOT NULL,部门负责人 VARCHAR(50) NOT NULL, 部门人数 VARCHAR(50)GO(3)工资表CREATE TABLE 工资(工号 varchar(50) not null primary key,工资年月 varchar(50) not null ,岗位工资 decimal not null,岗位补贴 decimal,出勤天数 decimal not null,加班工时 decimal, 加班工资 decimal, 加班天数 decimal,加班类别 varchar(50),病假扣款 decimal,事假扣款 decimal, 其他扣款 decimal, 应发工资 decimal not null, 实发工资 decimal not null)GO5.3 视图(1)查询员工工资情况建立一个视图,反映员工姓名及工资情况。CREATE VIEW 员工_工资 AS SELECT 员工.姓名, 工资.* FROM 员工,工资 WHERE 员工.工号=工资.工号5.4 存储过程(1)指定员工工资情况的查询定义一个名为stsffCost的存储过程,该存储过程以以工资年月(staffgongzi)、出勤天数(staffchuqin)、加班工资(staffjiaban)、应发工资(staffying)、实发工资(staffshi)为输入参数返回指定员工工资信息的存储过程。stsffCost代码如下:CREATE PROCEDURE staffCoststaffgongzi decimal,staffchuqin decimal,staffjiaban decimal,staffying decimal,staffshi decimalASSELECT *FROM 工资WHERE 工资年月=staffgongzi AND 出勤天数=staffchuqin AND 加班工资=staffjiaban AND应发工资=staffying AND实发工资=staffshiGO(2)指定范围的员工的信息查询。以员工工号、部门编号为输入参数返回指定员工基本信息的存储过程,要求输入部分员工信息查询员工全部信息。定义一个名为stsffInfo的存储过程,该存储过程以员工工号(staffNum)、部门编号(bmNum)作为输入参数,存储过程返回查询到的结果集。satffInfo的定义代码如下:CREATE PROCEDURE staffInfostaffNum VARCHAR(50)=%,bmNum VARCHAR(50)=%ASSELECT *FROM 员工,部门WHERE 员工.部门名称=部门.部门名称 AND (员工.工号 LIKE staffNum VARCHAR(50)+%) AND (部门编号 LIKE bmNum VARCHAR(50)+%)GO (3)统计指定年份各部门每个月份的工资总额。以年份为输入参数,以总工资金额为输出参数,产生该年度12个月份的每部门工资统计的存储过程。定义该存储过程名为bmMonhSum,输入参数为ThisYear,实现代码如下:CREATE PROCEDURE bmMonthSumThisYear CHAR(10)ASSELECT DATEPART(MM,工资年月) AS 员工工资月份,SUM(实发工资) AS 部门人数FROM 员工,工资,部门WHERE 员工.工号=工资.工号 AND 员工.部门名称=部门.部门名称 AND DATEPART(YYYY,工资年月)=ThisYearGROUP BY DATEPART(MM,工资年月)5.5 触发器(1)关键操作,在工资表里添加一条新的记录,实发工资会自动更新新的数据。定义这个触发器名称为insert_工资。代码如下:create trigger insert_工资 on 工资 for insertasdeclare i char(20)declare bb intset i=casewhen bb=0001 then 实发工资when bb=0002 then 实发工资endprint i (2)员工新调入进行员工新调入操作是在员工信息表中添加一条新的记录,可以为员工信息表设计一个Insert触发器,当员工信息表执行Insert操作后自动更改出部门信息表相应记录的数据。定义这个触发器名称为staff_insert。其代码如下:CREATE TRIGGER staff_insert ON 员工FOR INSERTAS IF (SELECT COUNT(*) FROM 部门,inserted,工资 WHERE 部门.部门人数=inserted.部门人数 AND 工资.工号=inserted.工号)=0ROLLBACK TRANSACTIONGO(3)员工调出进行员工调出操作是在员工信息表中删除该员工的记录,可以为员工信息表设计一个Delete触发器,当员工信息表执行Delete操作后,工资表、部门表中的记录也将全部删除。定义这个触发器名称为staff_delete。其实现代码如下:CREATE TRIGGER staff_delete ON 员工FOR DELETEAS SELECT COUNT(*) FROM 部门,工资,deleted WHERE 部门.部门人数=deleted.部门人数 AND 工资.工号=deleted.工号GO(4)员工内部调动为员工表设计一个名为staff_update的UPDATE触发器,当系统对员工表进行UPDATE操作后,将会自动触发它。该触发器将相应记录的部门人数、部门名称、工资更新。下面是client_update触发器的定义代码;CREATE TRIGGER staff_update ON 员工FOR UPDATEAS SELECT COUNT(*) FROM updated,部门 WHERE 部门.部门名称=updated.部门名称GO5.6 索引为提高检索性能,为表创建符合索引,其索引项为工号、姓名。CREATE INDEX 工号_姓名_indON 员工(工号,姓名)GO6 各模块设计要点6 各模块设计要点6.1 登录模块设计 登录模块是所有用户进入工资管理系统的唯一途径,除了确定用户类型以外,还要注意用户登录的密码是否与后台数据库的一致,如果不一致则会弹出图4.2所示的提示信息。用户在登录模块出现的所有情况我都予以考虑了。在用户登录时根据判断用户的权限,在模块中有“If power 管理员 Then frm_main.set.Enabled = False frm_main.defend = False”的代码,此项决定了主界面的操作模块。6.2 用户管理设计在添加用户模块中,我仿造了一般填写信息时的方法设计了“确认密码”操作,如果在操作错误时候会弹出如图6.1所示的提示信息,点击确定后,鼠标自动停在密码文本框中,用户不需要再次输入用户名,在此说明一下,在我做的系统中几乎所有的错误转移都有如上的提示和获得焦点的操作。删除用户模块中,在用户点击了确定按钮以后,会有如图6.1所示的对话框,为用户删除考虑了情况。图6.1 “确认密码”错误6.3 信息管理设计这个部门主要由部门信息和员工信息组成,发放工资是对员工工资的管理,部门信息的设置和员工信息设置基本相同。6.4 查询工资设计在这个版块中,主要是设计员工工资信息的基本内容,员工可输入自己的编号查找自己的工资信息。管理员可对其信息进行管理。包括查找、打印、添加、编辑、删除、退出这几个方面的管理。7 运行与测试7 运行与测试7.1 运行与测试图7.1 创建并查询职工信息表代码截图图7.2 数据库中职工考勤表截图图7.3 查询考勤表结果截图图7.4 数据库中职工津贴表截图图7.5 查询津贴表结果截图图7.6 职工月工资表结果截图7.2 分析软件测试是保证软件质量的关键,它是对需求分析设计和编码的最后复审。在软件生命周期的每个阶段,都不可避免地会产生错误:(1)在数据的插入的过程中,插入的时候错误提示:出现将截断字符串或二进制数据。语句已终止。出现错误的原因:输入的字符串长度超过用户自定义长度。解决方法:改变用户自定义长度或者改变登录数据的长度。(2)在编程序时第一次的时候没有设置工资计算表,导致在运行时不能正常进行运算。改进方法:增加一个工资计算表,在统计工资的时候利用工资计算表及之前录入的数据进行计算,导出工资表。通常在编写出每个原程序后,就要对它进行必要的测试,这步工作自己来完成。此后由专门的测试人员进行各种综合测试。了解程序的内部结构和处理过程,对程序中重要的逻辑路线进行测试,在不同点检查程序状态,确定实际状态与时期的状态是否一致。设计心得体会设计心得体会查询工资时主要考虑 用户的权限问题,主要在登录模块中用全局变量记录了用户的权限,在用户点击确定以后系统会统计权限,分配给用户正确的查询工资的方法。该工资管理系统总体说来功能比较齐全,管理员和员工的一些基本的功能都已经具备;数据库的设计方面,建有员工表、工资表。数据库中存在一些问题,如数据冗余,不够完善。但在做课程设计的过程中也遇到很多问题,一开始时其中最大的问题是数据库的连接部分,该部分直接影响到数据库与应用程序接口实现,而且必须注意数据库数据库的名称与连接数据库的取名以致.后来经过大家的合作努力解决了这个问题.在编写程序时,确实也遇到了很多困难,后来经过调试后终于把自已想到实现的功能一步步实现了,通过这次课程设计使我收获了好多,还复习了数据库相关语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年辅警招聘考试综合提升试卷附答案详解(巩固)
- (2025)辅警招聘考试试题库含答案详解(巩固)
- 2022年2月锦州市直机关遴选公务员面试真题带答案详解
- 2025年皖北煤电集团总医院招聘24人笔试备考题库含答案详解(突破训练)
- 临沧云南临沧市交通运输综合行政执法支队招聘交通运输综合行政执法辅助人员笔试历年参考题库(含答案详解)
- BMS-986156-生命科学试剂-MCE
- 2025企业运营指南采购合同范本
- 2025年口罩出口合同(中英文)
- 小小的植物写物作文10篇范文
- 2025写字楼租赁合同范本 写字楼租赁合同模板【标准版】
- 《PBR次世代游戏建模技术》教学大纲
- 海洋权益《基本概念》教案
- 专题06手拉手模型(原卷版+解析)
- 国家开放大学本科《管理英语3》一平台机考真题及答案总题库珍藏版
- 2024年河南高考成绩一分一段表(理科+文科)
- 2024年会计知识竞赛考试题库及答案(共170题)
- 20万吨高塔造粒颗粒硝酸铵工艺安全操作规程
- 吉林省2024年中考物理试题(含答案)
- CJJ82-2012 园林绿化工程施工及验收规范
- 江苏省南京市2022-2023学年四年级下学期数学期末试卷(含答案)
- HSK标准教程5上-课件-L2
评论
0/150
提交评论