《工资管理系统的设计与实现数据库原理与应用课程设计报告.doc》由会员分享,可在线阅读,更多相关《工资管理系统的设计与实现数据库原理与应用课程设计报告.doc(59页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 . . . 课程设计报告 工资管理系统的设计与实现课 程 数据库原理与应用班 级 姓 名 学 号 指导教师时间:2012 年 5 月21 日 至 2012 年 5 月 25 日目 录第一章开发背景4第二章功能描述5第三章业务流程分析6第四章数据流程分析74.1 数据流程图74.2 数据字典8第五章概念模型设计.12第六章逻辑模型设计和优化13第七章物理设计和实施14第八章 系统测试21第九章课程设计心得体会58参考文献5959 / 59第一章 开发背景借助现代信息技术和管理理论,建立企业管理信息系统是当今社会的重要趋势。党和政府根据知识经济时代的特点,对国民经济建设提出了“用信息化带动工业化
2、”的指导思想。对企业而言,全面开发和应用计算机管理信息系统就是近期不能回避的问题。在企业管理中,人力资源是企业最宝贵的资源,也是企业的“生命线”,因此人事管理是企业的计算机管理信息系统重要组成部分。而工资管理又是人力资源管理的重中之重。实行电子化的工资管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。工资管理信息系统的实现可以减轻比较繁琐的手工工资管理。现在应用在大中型企业的管理信息系统中,几乎都包括了工资管理模块。有些环境中是由作为大型ERP软件中的一个模块引进的,有些是作为企业的财务系统的一部分。这些根据规的西方的管理制度设计的工资管理软件,在很多时候还不能完全
3、解决中国特色的中小企业的问题,本文介绍的毕业设计的研究工作就是要为这些具有中国特色的中小企业解决他们在工资管理方面的问题。通过在本小组经过一周的调研,并参考其他同行设计工资管理软件,我基本上搞清楚了像我们单位这样的小型企业对系统的需求,如果能够设计一套针对类似本单位的小型国有企业的工资管理系统特别有意义,并且是现行的财务管理软件代替不了的。在和指导老师多次交流后,确定实现方案的要点和工作计划。本系统的实现的主要功能有:员工信息管理、工资结构设置、工资汇总打印等等功能。第二章 功能描述工资管理系统的功能是收集员工的个人信息,以便实现按照科室录入个人的基本资料,向各科室发放个人工资和计算个人的实际
4、发放工资,可以让相关财务部门与领导查看各科室人数情况和工资金额,还可以让员工用自己的员工号去查看自己的工资和扣除金额的情况。(1)工资管理包括与工资发放相关的各种数据处理,以与对这些处理的有机组织规划。(2)人事管理主要指对各种员工人事信息的管理,包括员工的基本情况和升迁离职情况;(3)工资项目影响工资计算的各种因素,如:基本工资,福利补贴和奖励工资,扣除的事业保险和住房公积金等等。(4)用户登录管理2种权限,一种是管理员权限,可以做任何操作;一种是普通用户权限只可以查看自己的工资与基本信息,不能编辑,也不能查看其他用户信息。第三章 业务流程分析根据对该系统的功能要求做出流程分析,具体流程实现
5、包括系统管理员与员工、用户的实质联系,实现网络化操作,具体流程图如图3所示。图3 系统业务流程图第四章 数据流程分析4.1数据流程图(1)系统的主要数据流程图系统的主要数据流程图如图4-1所示。基础工资设定岗位工资设定工龄工资设定工资标准设定员工信息设定员工工资汇总图4-1系统的主要数据流程图 (2)管理用户权限流程图管理用户权限流程图如图4-2所示。登入系统C1.c1.a1管理员添加或删除C1.a1系统功能设置C1.b1系统信息修改C1.c1.b1更新管理员权限管理员用户图4-2 管理用户权限流程图 (3)登陆系统主界面流程图 登陆系统主界面流程图如图4-3所示.登入系统D1.d1更新员工报
6、表D1.c1查询和输出员工信息D1.b1更新员工信息D1.a1更新员工权限管理员用户 图4-3登陆系统主界面流程图4.2 数据字典1、数据项 1.系统操作员 (1)员工编号 名称:操作员编号 总编号:001-050 别名:无 编号:001 说明:工资管理系统操作员的编号 类型:字符 长度:20 有关数据结构:操作员信息表 (2)操作员 名称:操作员编号 总编号:001-050 别名:无 编号:001 说明:工资管理系统操作员的编号 类型:字符 长度:20 有关数据结构:操作员信息表 (3)操作员密码 名称:操作员密码 总编号:001-051 别名:无 编号:001 说明:工资管理系统操作员的密
7、码 类型:字符 长度:20 有关数据结构:操作员信息表 (4)操作员时间 名称:操作员时间 总编号:001-051 别名:登录时间 编号:001 说明:工资管理系统操作员的登录时间 类型:时间日期 长度:8 有关数据结构:操作员信息表 2.员工 (1)员工编号 名称:员工编号 总编号:001-200 别名:无 编号:200 说明:工资管理系统员工的编号 类型:字符 长度:20 有关数据结构:员工基础信息表 (2)员工 名称:员工 总编号:001-200 别名:无 编号:200 说明:工资管理系统员工的 类型:字符 长度:20 有关数据结构:员工基础信息表 (3)员工性别 名称:员工性别 总编号
8、:001-002 别名:无 编号:001 说明:工资管理系统员工的性别 类型:字符 长度:20 有关数据结构:员工基础信息表 3.工资 (1)工资名称 名称:员工工资名称 总编号:001-200 别名:无 编号:200 说明:工资管理系统员工的工资名称 类型:字符 长度:20 有关数据结构:员工工资明细表 (2)工资金额 名称:员工工资金额 总编号:001-200 别名:无 编号:200 说明:工资管理系统员工的工资金额 类型:字符 长度:20 有关数据结构:员工工资明细表2、数据存储 1.工资发放明细 名称:工资基本信息数据 说明:工资管理系统中工资基本信息,工资管理后进行的数据处理 结构:
9、员工编号+员工+基本工资+职务工资+工龄工资+养老保险金+加班天数+加班 工资+事假天数+事假扣款+个人所得税+住房补助+保险费+生活补助+应发金额+实发金额+余额+时间+联系方式 存储方式:随机存储 2.员工基本工资 名称:员工基本信息数据 说明:工资管理系统中员工基本信息,员工管理后进行的数据处理 结构:员工编号+员工+性别+文化程度+岗位+工龄+联系方式 存储方式:随机存储 3.操作员信息 名称:操作员基本信息数据 说明:工资管理系统中操作员基本信息,操作员管理后进行的数据处理 结构:操作员编号+操作员+密码+级别 存储方式:随机存储3、 数据流(1)数据流名:工资信息 说明:反映了工资
10、的基本信息 来自过程:工资管理 流至过程:报表管理 数据结构:用户个人信息+工资名称+工资金额(2)数据流名:人员信息 说明:反映了人员的基本信息 来自过程:人员管理 流至过程:工资管理 数据结构:员工编号+员工+性别+文化程度+岗位+工龄+联系方式4、 处理过程(1)处理过程:系统验证 说明:对用户输入的用户名,密码进行验证 输入:用户名+用户密码 输出:正确的用户名和密码(2)处理过程:人员管理 说明:对员工信息进行管理 输入:登录信息 输出:人员信息(3)处理过程:工资管理 说明:对员工的工资进行管理 输入:人员信息 输出:工资信息(4)处理过程:报表管理 说明:对员工的工资以报表形式表
11、示 输入:工资信息 输出:工资报表第五章 概念模型设计根据系统数据流图和数据字典,得出系统的总体概念模型(E-R)如图2所示。员工部门属于1N工资清单表实发工资表查询发工资计算111111图2 系统的总体概念模型第六章 逻辑模型设计和优化根据系统的总体概念设计模型、E-R图向关系模式的转化规则和数据库的式理论,得到系统优化后的逻辑模型,如表1表5所示。表1员工基本信息表ID编号性别部门生日籍贯婚姻状况职务联系加入日期照片工资 2表2职务表ID职务表3登陆用户信息表ID用户名密码用户类型登录时间表4员工出勤福利表表ID 编号部门 奖励情况 表现情况奖金罚金奖励日期发薪日期表5员工工资总结表ID编
12、号性别部门职务基本工 资津贴奖励资 金罚款全勤加班应发工 资出差实际工 资月 数表6部门表ID部门第七章 物理设计和实施得到系统逻辑模型后,就该进行数据库的物理设计和实施数据库了,物理设计主要是要确定数据库的存储路径、存储结构以与如何建立索引等,可以采用系统的默认设置。数据库实施主要包括在具体的DBMS中创建数据库和表的过程,本设计所选用的DBMS为SQL SERVER2000,有关创建数据库和关系表的SQL语句如下所示:(1)创建数据库/*=*/* DataBase: db_PMS,创建数据库,数据库名称为db_PMS*/*=*/create database db_PMSgo(2)创建员工
13、信息表/*=*/* Table: tb_employee,员工信息表 */*=*/CREATE TABLE dbo.tb_employee(ID int IDENTITY(1,1) NOT NULL,employeeID varchar(50) COLLATE Chinese_PRC_CI_AS NULL,employeeName varchar(50) COLLATE Chinese_PRC_CI_AS NULL,employeeSex varchar(50) COLLATE Chinese_PRC_CI_AS NULL,employeeDept varchar(50) COLLATE Ch
14、inese_PRC_CI_AS NULL,employeeBirthday varchar(50) COLLATE Chinese_PRC_CI_AS NULL,employeeNation varchar(50) COLLATE Chinese_PRC_CI_AS NULL,employeeMarriage varchar(50) COLLATE Chinese_PRC_CI_AS NULL,employeeDuty varchar(50) COLLATE Chinese_PRC_CI_AS NULL,employeePhone varchar(50) COLLATE Chinese_PRC
15、_CI_AS NULL,employeeAccession varchar(50) COLLATE Chinese_PRC_CI_AS NULL,employeePhoto image NULL,employeePay decimal(18, 2) NULL CONSTRAINT DF_tb_employee_employeePay DEFAULT (0.00), CONSTRAINT PK_tb_employee PRIMARY KEY CLUSTERED (ID ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARY TEXTIMAGE
16、_ON PRIMARYGOSET ANSI_PADDING OFFGOEXEC sys.sp_addextendedproperty name=NMS_Description, value=N部门 ,level0type=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=Ntb_employee, level2type=NCOLUMN, level2name=NemployeeDeptGOEXEC sys.sp_addextendedproperty name=NMS_Description, value=N生日 ,level0ty
17、pe=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=Ntb_employee, level2type=NCOLUMN, level2name=NemployeeBirthdayGOEXEC sys.sp_addextendedproperty name=NMS_Description, value=N民族 ,level0type=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=Ntb_employee, level2type=NCOLUMN, level2name=
18、NemployeeNationGOEXEC sys.sp_addextendedproperty name=NMS_Description, value=N婚姻 ,level0type=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=Ntb_employee, level2type=NCOLUMN, level2name=NemployeeMarriageGOEXEC sys.sp_addextendedproperty name=NMS_Description, value=N职务 ,level0type=NSCHEMA, le
19、vel0name=Ndbo, level1type=NTABLE, level1name=Ntb_employee, level2type=NCOLUMN, level2name=NemployeeDutyGOEXEC sys.sp_addextendedproperty name=NMS_Description, value=N ,level0type=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=Ntb_employee, level2type=NCOLUMN, level2name=NemployeePhoneGOEXEC
20、 sys.sp_addextendedproperty name=NMS_Description, value=N就职 ,level0type=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=Ntb_employee, level2type=NCOLUMN, level2name=NemployeeAccessionGOEXEC sys.sp_addextendedproperty name=NMS_Description, value=N工资 ,level0type=NSCHEMA, level0name=Ndbo, level
21、1type=NTABLE, level1name=Ntb_employee, level2type=NCOLUMN, level2name=NemployeePay(3)创建关于员工id属性索引/*=*/* Index: Relationship_1_FK :在员工信息表员工ID属性上创建索引 */*=*/create index Relationship_1_FK on tb_employee (employeePay Id)go(4)创建职位信息表/*=*/* Table: tb_department,职位信息表 */*=*/CREATE TABLE dbo.tb_department(I
22、D int IDENTITY(1,1) NOT NULL,DepName varchar(50) COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT PK_tb_department PRIMARY KEY CLUSTERED (ID ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARYGOSET ANSI_PADDING OFF(5)创建员工工资表/*=*/* Table: Reader,员工工资表*/*=*/CREATE TABLE dbo.tb_pay(ID int IDENTITY(1,1) NO
23、T NULL,YID varchar(50) COLLATE Chinese_PRC_CI_AS NULL,YName varchar(50) COLLATE Chinese_PRC_CI_AS NULL,YSex varchar(50) COLLATE Chinese_PRC_CI_AS NULL,Ydep varchar(50) COLLATE Chinese_PRC_CI_AS NULL,YZhiwu varchar(50) COLLATE Chinese_PRC_CI_AS NULL,YBasePay decimal(18, 2) NULL CONSTRAINT DF_tb_pay_Y
24、BasePay DEFAULT (0),YJintie decimal(18, 2) NULL CONSTRAINT DF_tb_pay_YJintie DEFAULT (0),Yjiangli decimal(18, 2) NULL CONSTRAINT DF_tb_pay_Yjiangli DEFAULT (0),YFK decimal(18, 2) NULL CONSTRAINT DF_tb_pay_YFK DEFAULT (0),Yquanqin decimal(18, 2) NULL CONSTRAINT DF_tb_pay_Yquanqin DEFAULT (0),Yjiaban
25、decimal(18, 2) NULL CONSTRAINT DF_tb_pay_Yjiaban DEFAULT (0),Yyingfa decimal(18, 2) NULL CONSTRAINT DF_tb_pay_Yyingfa DEFAULT (0),Ygeren decimal(18, 2) NULL CONSTRAINT DF_tb_pay_Ygeren DEFAULT (0),Ypay decimal(18, 2) NULL CONSTRAINT DF_tb_pay_Ypay DEFAULT (0),YMonth varchar(50) COLLATE Chinese_PRC_C
26、I_AS NULL, CONSTRAINT PK_tb_pay PRIMARY KEY CLUSTERED (ID ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARYGOSET ANSI_PADDING OFFGOEXEC sys.sp_addextendedproperty name=NMS_Description, value=N员工编号 ,level0type=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=Ntb_pay, level2type=NCOLUMN, l
27、evel2name=NYIDGOEXEC sys.sp_addextendedproperty name=NMS_Description, value=N员工 ,level0type=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=Ntb_pay, level2type=NCOLUMN, level2name=NYNameGOEXEC sys.sp_addextendedproperty name=NMS_Description, value=N员工性别 ,level0type=NSCHEMA, level0name=Ndbo,
28、level1type=NTABLE, level1name=Ntb_pay, level2type=NCOLUMN, level2name=NYSexGOEXEC sys.sp_addextendedproperty name=NMS_Description, value=N员工部门 ,level0type=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=Ntb_pay, level2type=NCOLUMN, level2name=NYdepGOEXEC sys.sp_addextendedproperty name=NMS_D
29、escription, value=N职务 ,level0type=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=Ntb_pay, level2type=NCOLUMN, level2name=NYZhiwuGOEXEC sys.sp_addextendedproperty name=NMS_Description, value=N基本工资 ,level0type=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=Ntb_pay, level2type=NCOLUMN
30、, level2name=NYBasePayGOEXEC sys.sp_addextendedproperty name=NMS_Description, value=N职务津贴 ,level0type=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=Ntb_pay, level2type=NCOLUMN, level2name=NYJintieGOEXEC sys.sp_addextendedproperty name=NMS_Description, value=N奖励 ,level0type=NSCHEMA, level0n
31、ame=Ndbo, level1type=NTABLE, level1name=Ntb_pay, level2type=NCOLUMN, level2name=NYjiangliGOEXEC sys.sp_addextendedproperty name=NMS_Description, value=N罚款 ,level0type=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=Ntb_pay, level2type=NCOLUMN, level2name=NYFKGOEXEC sys.sp_addextendedproperty
32、 name=NMS_Description, value=N全勤奖金 ,level0type=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=Ntb_pay, level2type=NCOLUMN, level2name=NYquanqinGOEXEC sys.sp_addextendedproperty name=NMS_Description, value=N加班工资 ,level0type=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=Ntb_pay, lev
33、el2type=NCOLUMN, level2name=NYjiabanGOEXEC sys.sp_addextendedproperty name=NMS_Description, value=N应发工资 ,level0type=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=Ntb_pay, level2type=NCOLUMN, level2name=NYyingfaGOEXEC sys.sp_addextendedproperty name=NMS_Description, value=N个人所得税 ,level0type
34、=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=Ntb_pay, level2type=NCOLUMN, level2name=NYgerenGOEXEC sys.sp_addextendedproperty name=NMS_Description, value=N实发工资 ,level0type=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=Ntb_pay, level2type=NCOLUMN, level2name=NYpayGOEXEC sys.sp_a
35、ddextendedproperty name=NMS_Description, value=N工资月份 ,level0type=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=Ntb_pay, level2type=NCOLUMN, level2name=NYMonth(6)创建员工奖惩表/*=*/* Table: tb_prize,员工奖惩表*/*=*/CREATE TABLE dbo.tb_prize(ID int IDENTITY(1,1) NOT NULL,UserID varchar(50) COLLATE Chine
36、se_PRC_CI_AS NULL,UserName varchar(50) COLLATE Chinese_PRC_CI_AS NULL,UserDep varchar(50) COLLATE Chinese_PRC_CI_AS NULL,UserJF varchar(50) COLLATE Chinese_PRC_CI_AS NULL,UserJFcontent varchar(50) COLLATE Chinese_PRC_CI_AS NULL,UserJLMoney decimal(18, 2) NULL CONSTRAINT DF_tb_prize_UserJLMoney DEFAU
37、LT (0.00),UserFKMoney decimal(18, 2) NULL CONSTRAINT DF_tb_prize_UserFKMoney DEFAULT (0.00),UserJFDate varchar(50) COLLATE Chinese_PRC_CI_AS NULL,UserCXDate varchar(50) COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT PK_tb_prize PRIMARY KEY CLUSTERED (ID ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRI
38、MARYGOSET ANSI_PADDING OFFGOEXEC sys.sp_addextendedproperty name=NMS_Description, value=N员工编号 ,level0type=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=Ntb_prize, level2type=NCOLUMN, level2name=NUserIDGOEXEC sys.sp_addextendedproperty name=NMS_Description, value=N ,level0type=NSCHEMA, leve
39、l0name=Ndbo, level1type=NTABLE, level1name=Ntb_prize, level2type=NCOLUMN, level2name=NUserNameGOEXEC sys.sp_addextendedproperty name=NMS_Description, value=N部门 ,level0type=NSCHEMA, level0name=Ndbo, level1type=NTABLE, level1name=Ntb_prize, level2type=NCOLUMN, level2name=NUserDepGOEXEC sys.sp_addextendedproperty name=NMS_Description, value=N判断是奖还是罚 ,level0type=NSCHEMA, level0name=