《工资管理系统实验报告.docx》由会员分享,可在线阅读,更多相关《工资管理系统实验报告.docx(28页珍藏版)》请在优知文库上搜索。
1、数据库课程设计报告课题名称:工资管理系统指导教师:魏善沛专业班级:14级软件工程一班小组成员:学号姓名(组长)20234612冯婷婷20234619李建华组长20234630杨美梅20234632张艺瀚20234633赵飞完成日期:2023年6月8日目录1 .设计目的12 .开发环境13 .系统设计11 .1需求分析1数据需求1事物需求23 .2系统流程图24 .数据库设计21. 1数据流图24. 2数据字典2数据结构描述2数据流的描述3主要数据存储的定义35. 3概念模型设计(E-R图46. 4逻辑结构设计5关系模式5根本表55 .应用程序设计65. 1主窗体模块66. 2员工信息模块67.
2、 3部门信息模块6结论7参考文献错误!未定义书签。附录A(源代码)7SQL亮点语句:7源代码:8评分表:261 .设计目的数据库原理概述及应用课程设计是软件工程专业集中实践性环节之一,是学习完数据库原理概述及应用课程后进行的一次全面的综合练习。其目的在于加深对数据库根底理论和根本知识的理解,掌握使用数据库进行软件设计的根本方法,提高运用数据库解决实际问题的能力,最终实现对于给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。同时,此次设计对于同学将来的毕业设计和具体工作实践将有重要的意义。针对于本次设计的课题工资管
3、理系统,通过E-R图,逻辑结构、物理结构、概念结构三方面分析该系统的实体、属性、以及之间的联系,从各个方面全面了解分析课题,同时,也更掌握了根底知识,深入了解各局部含义。2 .开发环境SQLServer2005,JDKl.8,EclipseEE版本。3 .系统设计3.1 需求分析数据需求工资管理系统系是为了更好地实现工资各种信息的管理以及各种信息的平安性管理。本系统主要对查看员工的各种工资信息需求所设计的,可以很好的管理数据。本系统的主要功能由以下几个局部组成:系统功能的根本要求: 员工每个工种根本工资的设定。 加班津贴管理,根据加班时间和类型给予不同的加班津贴。 按照不同工种的根本工资情况、
4、员工的考勤情况产生员工的每月的月工资。 员工年终奖金的生成,员工的年终奖金计算公式=(员工本年度的工资总和+津贴的总和)/12。 企业工资报表。能够查询单个员工的工资情况、每个部门的工资情况、按月的工资统计,并能够打印。 各类单项和多条件组合查询。导出查询和统计的结果,形成EXCel表。数据库要求:在数据库中至少应该包含以下数据表:员工考勤情况表。员工工种情况表,反映员工的工种、等级,根本工资等信息。员工津贴信息表,反映员工的加班时间,加班类别、加班天数、津贴情况等。员工根本信息表。员工月工资表。事物需求(1)在员工信息管理局部,要求:A.可以查询员工信息B.可以对员工信息进行添加删除的操作(
5、2)在部门信息管理局部,要求:A.可以查询部门信息B.可以对部门信息进行添加删除的操作3. 2系统流程图图3.2系统流程图4.数据库设计4.1 数据流图图4.1数据流图4.2数据字典数据结构描述名称:员工含义说明:员工信息组成结构:员工编号+员工姓名+性别+所属部门+职称名称:工资含义说明:工资信息组成结构:员工编号+根本工资+岗位工资+津贴工资+扣除薪酬+实发工资名称:部门含义说明:部门信息组成结构:部门编号+部门名称+部门人数数据流的描述数据流名称:员工信息添加简述:新员工信息录入数据流来源:公司管理者数据流去向:员工信息数据流组成:员工编号+员工姓名+性别+所属部门+职称数据流名称:员工
6、信息修改简述:员工信息错误或员工调动数据流来源:公司管理者数据流去向:员工信息数据流组成:员工编号+员工姓名+性别+所属部门+职称数据流名称:员工信息删除简述:员工离职数据流来源:公司管理者数据流去向:员工信息数据流组成:员工编号+员工姓名+性别+所属部门+职称数据流名称:工资添加简述:公司对工资进行添加数据流来源:公司管理者数据流去向:工资信息数据流组成:员工编号+根本工资+岗位工资+津贴工资+扣除薪酬+实发工资数据流名称:工资修改简述:公司对工资进行修改数据流来源:公司管理者数据流去向:工资信息数据流组成:员工编号+根本工资+岗位工资+津贴工资+扣除薪酬+实发工资主要数据存储的定义存储名称
7、:员工记录输入:员工根本信息输出:员工所有信息数据结构:员工编号+员工姓名+性别+所属部门+职称存储名称:部门记录输入:部门根本信息输出:部门所有信息数据结构:部门编号+部门名称+部门人数存储名称:工资记录输入:员工工资信息输出:员工所有工资信息数据结构:员工编号+根本工资+岗位工资+津贴工资+扣除薪酬+实发工资存储名称:考勤记录输入:员工考勤信息输出:员工所有考勤信息数据结构:员工编号+迟到次数+缺席次数存储名称:津贴记录输入:员工津贴信息输出:员工所有津贴信息数据结构:员工编号+加班时间+加班天数+加班类型+津贴资金4. 3概念模型设计E-R图图4.3.1员工信息E-R图图4.3.2部门信
8、息E-R图图4.3.3根本工资E-R图图4.3.4考勤情况E-R图图4.3.5津贴情况E-R图图4.3.6工种情况E-R图图4.3.7月工资信息4图图4.3.8工作管理系统总E-R图4. 4逻辑结构设计关系模式员工信息员工编号,员工姓名,性别,所属部门,职称)部门信息(部门编号,部门名称,部门人数)根本工资(工资级别,根本工资,岗位工资)考勤信息(员工编号,迟到次数,缺席次数)津贴信息(员工编号,加班时间,加班天数,加班类型,津贴资金)工种情况(工资级别,岗位工资)工资信息(员工编号,根本工资,岗位工资,津贴工资,扣除薪酬,实发工资)根本表表1员工根本信息表(dbo.employee)员工编号
9、e_idvarchar(8)主键,不允许重复员工姓名e_namevarchar(8)性别e_sexvarchar(2)所属部门b_idvarchar(4)外键职称jnamevarchar(12)表2部门信息表(dbo.brank)部门编号b_idvarchar(8)主键,不允许重复部门名称b_namevarchar(20)部门人数bnumberint表3根本工资表(dbo.basesalary)工资级别bs_levvarchar(2)主键,不允许重复根本工资bs_salnumeric(8,2)表4考勤信息表(dbo.check)员工编号e_idvarchar(8)主键,不允许重复迟到次数Iat
10、etimesnumeric(3,0)缺席次数offtimesnumeric(3,0)表5津贴信息表(dbo.bonusinformation)员工编号e_idvarchar(8)主键,不允许重复加班时间etr_timenumeric(8,1)加班天数etr_daynumeric(2,1)加班类型etr_typevarchar(8)津贴资金bonussalnumeric(8,2)表6工种情况表(dbo.jobsalary)工资级别js_levvarchar(2)主键,不允许重复岗位工资js_salnumeric(8,2)表7工资信息表(dbo.salaryinfomation)员工编号e_idv
11、archar(8)主键,不允许重复;外键根本工资bs_salnumeric(8,2)岗位工资js_salnumeric(8,2)津贴工资bonus_salnumeric(8,2)扣除薪酬check_salnumeric(8,2)实发工资get_salnumeric(8,2)5. 应用程序设计5.1 主窗体模块进入登陆页面,如以下图:图5.1.1登录登陆后进入系统主界面,如以下图:图5.L2系统主界面5.2员工信息模块(1)查询,分别点击“编辑”删除按钮可修改、删除员工信息,如以下图:图5.2.1查询修改员工信息图5.2.2修改员工信息5.3部门信息模块(1)查询.删除所有部门信息,如以下图:图
12、5.3.1查询删除部门信息结论经过两周的不断实践与探索,人力资源-工资管理统的设计与实现己经完成,根本上到达了预期的设计要求和目的。一个完整的人力资源-工资管理统就创立完毕了。在本系统的设计与实现的过程中主要讲述了工资管理系统的系统设计局部,包括功能模块设计、数据库结构设计等。系统设计为整个程序构建了骨架,各个功能模块实现各个细节局部。系统的详细设计根据系统分析阶段的结论将系统具体化,并完成了各个模块的添加、修改、删除与查询的功能,直到最后形成一个完整的可行性的管理系统。在整个设计阶段的工作和本实验报告的写作过程的经历将会使我们小组终生受益,并对我们今后的工作和开展产生深远的影响。由于设计时间
13、比拟仓促,所以该系统还有许多不尽如意的地方,比方用户界面不够美观,出错处理不够等多方面问题。这些都有待于进一步的改善。参考文献1 .数据库原理概述及应用,作者是魏善沛,张艳。2 .JSP实用教程清华大学出版社。3 .访问的链接::/:/附录A(源代码)SQL亮点语句:1)双重左外连接,员工表数据全查出selectemployee.e_id,employee.e_name,employee.e_sex,branch.b_name,employee.j_name,bs_lev,bonus_salfrom(employeeleftjoinbranchonemployee.b_id=branch.b_
14、id)leftjoinbonusinformationonemployee.e_id=bonusinfbrmation.e_id2)创立触发器createtriggerdepartment_person一仓IJ立触发器onemployee-监听员工表的增删,自动更新部门表的人数forinsert,delete-监听employee表的增删操作asupdatebranchsetb_number=b_number+1whereb_id=(selectb_idfrominserted)updatebranchsetb_number=b_number-1whereb_id=(selectb_idfromdeleted)Go3)设置津贴默认值altertablebonusinformation-津贴默认0addconstraintdefault_bonusdef