资源描述
东莞理工学院课程设计东 莞 理 工 学 院课程设计课程 数据库系统原理 题目 工资管理系统 院系名称 计算机学院 班 级 2012信息与计算科学1班 学生姓名 指导教师 时 间 2014.01.12 目录1. 题目及任务描述- 1 -1.1 题目- 1 -1.2 主要任务- 2 -2. 解决方案与程序实现- 2 -2.1 功能分析- 2 -2.2系统功能结构- 2 -2.3数据字典- 3 -2.4概念模型(E-R图)- 5 -2.5关系模式- 8 -2.6表数据- 8 -2.7 程序实现时应考虑的问题- 12 -2.8程序开发环境- 13 -2.9主要源代码及说明- 13 -3. 小结- 14 -3.1 解决方案及程序实现小结- 14 -3.2 尚未解决的问题及下一步工作思路- 16 -3.3 开发心得- 16 -4. 参考文献- 16 -1. 题目及任务描述1.1 题目1、系统功能的基本要求: 员工每个工种基本工资的设定 加班津贴管理,根据加班时间和类型给予不同的加班津贴; 按照不同工种的基本工资情况、员工的考勤情况产生员工的每月的月工资; 员工年终奖金的生成,员工的年终奖金计算公式(员工本年度的工资总和津贴的总和)/12; 企业工资报表。能够查询单个员工的工资情况、每个部门的工资情况、按月的工资统计,并能够打印;2、数据库要求:在数据库中至少应该包含下列数据表: 员工考勤情况表; 员工工种情况表,反映员工的工种、等级,基本工资等信息; 员工津贴信息表,反映员工的加班时间,加班类别、加班天数、津贴情况等; 员工基本信息表 员工月工资表。3、本课题设计的基本要求:(1) 必须提交系统分析报告,包括系统的功能分析、系统的功能模块设计、数据库的数据字典,数据库的概念结构(ER图),数据库中的表、视图(如果使用)、存储过程(如果使用)的结构和定义(可以用SQL脚本提供);(2) 程序设计的报告:包括程序的运行环境、开发环境、程序的详细设计(包括模块之间的关系,模块的功能、主要功能实现的程序段)(3) 系统的源程序,包括数据库脚本程序。1.2 主要任务1. 数据库设计(1) 、实现查询员工基本个人信息的功能;(2) 、津贴表实现对员工加班不同类型进行津贴补贴;(3) 、考勤表实现对员工迟到缺席进行适当的减薪功能;(4) 、使用视图生成员工的月工资表,部门年报表,部门每月实发工资2. 程序设计(1) 、使用JDBC实现数据库与Java程序的链接;(2) 、开发登陆页面,分员工账号和管理员;(3) 、开发管理员页面,管理员查看员工信息,部门报表等(4) 、开发员工页面,查看个人信息,包括津贴,缺席等信息。3. 本人主要负责部分本次系统开发过程,我主要负责实现Java和SQL Serve的链接,实现窗口的的每个按钮功能,创建月工资的视图。2. 解决方案与程序实现2.1 功能分析员工考勤情况表:查看员工考勤情况,如缺席次数,迟到次数;以及扣除的薪水。员工工种情况表:反映员工的工种、等级,基本工资等信息;员工津贴信息表:反映员工的加班时间,加班类别、加班天数、津贴情况等;员工基本信息表:包括员工的工号、姓名、学历、地址、身份证、电话、部门。员工月工资表:由员工的考勤情况和工种的基本工资来决定月工资。2.2系统功能结构图2.1 系统层次图2.3数据字典(1),数据项描述数据项类型长度取值范围取值含义含义说明工种nchar72012001至2012999前四位为入职年份,后三位为编号唯一标识每个员工工种号nchar31,002,003规范化唯一标识不同工种等级nchar3“一”、“二”、“三”、“四”规范化与工种对应基本工资money员工基本工资姓名varchar20员工姓名,不唯一学历varchar10“本科”、“大专”、“研究生”、“其他”规范化地址varchar20员工身份证居住地址身份证nchar20电话nchar10员工现用手机或电话号码加班津贴money结算每月工资加班类型char3“白班”、“晚班”区分不同津贴加班天数char30至99结算每月工资迟到次数varchar100-10每次扣40元,超过10可以辞退结算每月工资缺席次数varchar100-3每次100元,超过3次可以辞退减薪money结算每月工资(2)数据存储数据存储说明流入数据流流出数据流组成存取方式月度考勤统计记录员工每月的考勤情况一个月的信息统计统计好的考勤数据月度考勤编号、员工编号、日期、加班次数及类型、迟到次数、缺席次数更新,顺序检索(3)数据表结构User表IDpasswordvarchar(20)varchar(20)工种表工种号工种等级基本工资nchar(10)nchar(10)nchar(10)money基本信息表工号姓名学历地址身份证电话工种号char(10)varchar(20)varchar(10)varchar(20)nchar(20)nchar(12)nchar(10)津贴表工号月份加班津贴加班类型加班天数char(10)char(10)moneychar(3)char(3)考勤表工号月份迟到次数缺席次数减薪char(10)char(10)varchar(10)varchar(10)varchar(10)月工资表(视图)工号月份基本工资加班津贴减薪char(10)char(10)moneymoneymoney2.4概念模型(E-R图)图2.2 员工信息表属性图图2.3工种表属性图图2.4津贴表属性图图2.5考勤表属性图图2.6月工资表属性图图2.7 系统E-R图2.5关系模式 员工基本信息表(工号,姓名,学历,地址,身份证,电话,部门,工种号) 津贴表(工号,加班津贴,加班类型,加班天数) 员工工种表(工种,工种号,等级,基本工资) 考勤表(工号,迟到次数,缺席次数,减薪) 月工资表(工号,月份,基本工资,加班津贴,减薪)2.6表数据UsersIDpassword1201200120120012201200220120023201200320120034201200420120045adminadmin工种表工种号工种等级基本工资1001经理一50002002销售二40003003主管三35004004后勤四3000基本信息表工号姓名学历地址身份证电话工种号12012001张三本科湖北武汉445121198902013987156378654300122012002李四大专湖南长沙4450201990032745321367156783400232012003王五博士广东深圳44510119890412232451342196543800342012004许六大专四川重庆4451231988052912131581354234004津贴表工号月份加班津贴加班类型加班天数1201200101¥600.00白班52201200102¥120.00白班13201200103¥120.00白班14201200104¥120.00白班15201200105¥0.0006201200106¥120.00白班17201200107¥240.00白班28201200108¥120.00白班19201200109¥750.00夜班510201200110¥120.00白班111201200111¥120.00白班112201200112¥0.00013201200201¥120.00白班114201200202¥120.00白班115201200203¥120.00白班116201200204¥120.00白班117201200205¥120.00白班118201200206¥120.00白班119201200207¥300.00夜班220201200208¥120.00白班121201200209¥120.00白班122201200210¥120.00白班123201200211¥120.00白班124201200212¥120.00白班125201200301¥120.00白班126201200302¥120.00白班127201200303¥120.00白班128201200304¥120.00白班129201200305¥0.00030201200306¥120.00白班131201200307¥120.00白班132201200308¥120.00白班133201200309¥450.00夜班334201200310¥120.00白班135201200311¥120.00白班136201200312¥0.00037201200401¥120.00白班138201200402¥120.00白班139201200403¥120.00白班140201200404¥120.00白班141201200405¥0.00042201200406¥120.00白班143201200407¥120.00白班144201200408¥0.00045201200409¥600.00白班546201200410¥120.00白班147201200411¥120.00白班148201200412¥0.000考勤表工号月份迟到次数缺席次数减薪120120010110¥40.00220120010200¥0.00320120010311¥140.00420120010410¥40.00520120010510¥40.00620120010600¥0.00720120010700¥0.00820120010800¥0.00920120010900¥0.001020120011010¥40.001120120011110¥40.001220120011200¥0.001320120020110¥40.001420120020200¥0.001520120020310¥40.001620120020410¥40.001720120020500¥0.001820120020600¥0.001920120020701¥140.002020120020800¥0.002120120020900¥0.002220120021010¥40.002320120021110¥40.002420120021200¥0.002520120030110¥40.002620120030200¥0.002720120030310¥40.002820120030410¥40.002920120030500¥0.003020120030600¥0.003120120030701¥140.003220120030800¥0.003320120030900¥0.003420120031010¥40.003520120031110¥40.003620120031200¥0.003720120040110¥40.003820120040200¥0.003920120040310¥40.004020120040410¥40.004120120040500¥0.00工号姓名月份部门基本工资4320120040701¥140.004420120040800¥0.004520120040900¥0.004620120041010¥40.004720120041110¥40.004820120041200¥0.00月工资表(视图)工号姓名月份部门基本工资加班津贴减薪实发工资12012001张三01营销部¥5,000.00¥600.00¥40.00¥5,560.0022012001张三02营销部¥5,000.00¥120.00¥0.00¥5,120.0032012001张三03营销部¥5,000.00¥120.00¥140.00¥4,980.0042012001张三04营销部¥5,000.00¥120.00¥40.00¥5,080.0052012001张三05营销部¥5,000.00¥0.00¥40.00¥4,960.0062012001张三06营销部¥5,000.00¥120.00¥0.00¥5,120.0072012001张三07营销部¥5,000.00¥240.00¥0.00¥5,240.0082012001张三08营销部¥5,000.00¥120.00¥0.00¥5,120.0092012001张三09营销部¥5,000.00¥750.00¥0.00¥5,750.00102012001张三10营销部¥5,000.00¥120.00¥40.00¥5,080.00112012001张三11营销部¥5,000.00¥120.00¥40.00¥5,080.00122012001张三12营销部¥5,000.00¥0.00¥0.00¥5,000.00132012002李四01营销部¥4,000.00¥120.00¥40.00¥4,080.00142012002李四02营销部¥4,000.00¥120.00¥0.00¥4,120.00152012002李四03营销部¥4,000.00¥120.00¥40.00¥4,080.00162012002李四04营销部¥4,000.00¥120.00¥40.00¥4,080.00172012002李四05营销部¥4,000.00¥120.00¥0.00¥4,120.00182012002李四06营销部¥4,000.00¥120.00¥0.00¥4,120.00192012002李四07营销部¥4,000.00¥300.00¥140.00¥4,160.00202012002李四08营销部¥4,000.00¥120.00¥0.00¥4,120.00212012002李四09营销部¥4,000.00¥120.00¥0.00¥4,120.00222012002李四10营销部¥4,000.00¥120.00¥40.00¥4,080.00232012002李四11营销部¥4,000.00¥120.00¥40.00¥4,080.00242012002李四12营销部¥4,000.00¥120.00¥0.00¥4,120.00252012003王五01市场部¥3,500.00¥120.00¥40.00¥3,580.00262012003王五02市场部¥3,500.00¥120.00¥0.00¥3,620.00272012003王五03市场部¥3,500.00¥120.00¥40.00¥3,580.00282012003王五04市场部¥3,500.00¥120.00¥40.00¥3,580.00292012003王五05市场部¥3,500.00¥0.00¥0.00¥3,500.00302012003王五06市场部¥3,500.00¥120.00¥0.00¥3,620.00312012003王五07市场部¥3,500.00¥120.00¥140.00¥3,480.00322012003王五08市场部¥3,500.00¥120.00¥0.00¥3,620.00332012003王五09市场部¥3,500.00¥450.00¥0.00¥3,950.00342012003王五10市场部¥3,500.00¥120.00¥40.00¥3,580.00352012003王五11市场部¥3,500.00¥120.00¥40.00¥3,580.00362012003王五12市场部¥3,500.00¥0.00¥0.00¥3,500.00372012004许六01财务部¥3,000.00¥120.00¥40.00¥3,080.00382012004许六02财务部¥3,000.00¥120.00¥0.00¥3,120.00392012004许六03财务部¥3,000.00¥120.00¥40.00¥3,080.00402012004许六04财务部¥3,000.00¥120.00¥40.00¥3,080.00412012004许六05财务部¥3,000.00¥0.00¥0.00¥3,000.00422012004许六06财务部¥3,000.00¥120.00¥0.00¥3,120.00432012004许六07财务部¥3,000.00¥120.00¥140.00¥2,980.00442012004许六08财务部¥3,000.00¥0.00¥0.00¥3,000.00452012004许六09财务部¥3,000.00¥600.00¥0.00¥3,600.00462012004许六10财务部¥3,000.00¥120.00¥40.00¥3,080.00472012004许六11财务部¥3,000.00¥120.00¥40.00¥3,080.00482012004许六12财务部¥3,000.00¥0.00¥0.00¥3,000.002.7 程序实现时应考虑的问题(1) 、Java与数据实现连接时,出现连接错误的问题;(2) 、数据库设计时主键外键设置为题;(3) 、数据库查询时出现数据错误的问题;(4) 、数据库做聚合运算时数据类型错误的问题;(5) 、数据库做+/-运算时出现数据类型错误的问题;(6) 、数据库创建视图是出现SQL语言逻辑问题;(7) 、Java与SQL serve 数据连接时JDBC错误的问题;(8) 、Java语言操作数据库时抛出SQLException;(9) 、Java界面设计出现版面与查询结果不匹配的问题;(10) 、Java按钮功能实现失败的问题。2.8程序开发环境(1)、系统运行环境Windows XP/Windows 7/Windows8/Windows8.1/Windows10/Linux/Mac(2)、系统开发环境JDK1.7,JDBCSQL,SQL serve 2005(3)、系统开发工具lemonz_eclipse,SQL serve 2005(4)、系统运行数据库SQL serve 20052.9主要源代码及说明工资管理系统开发过程中,使用了SQL语言,Java语言,限于篇幅,不能将代码全部在此处展现,在提交的电子文件中有整个开发过程的代码,下面是本人负责部分的主要代码级说明:数据库链接ResultSet rs = null;Statement stmt = null;Connection conn = null;try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);conn = DriverManager.getConnection(jdbc:sqlserver:/localhost:1433; DatabaseName=SalarySystemDB, sa, 123);stmt = conn.createStatement();rs = stmt.executeQuery(select ID,password from Users);3. 小结3.1 解决方案及程序实现小结1.开发结果实现功能简图:2. 程序小结程序提供登陆功能,管理员和员工进入不同的界面,管理员可以查看整个公司的财务,员工工资,界面编写人员的风格不同,显示出不一样的效果,功能均由本人开发,代码风格一致。但是,跟计划的功能有相差的部分,预留了实现功能的接口,等期末之后进行完善。3.2 尚未解决的问题及下一步工作思路没有实现添加员工的功能,没有实现员工签到功能,整体上完成实验要求,唯一的遗憾是没有编写出调用打印机,打印报表的功能。在学期结束之后,将进行更加深入的探讨,添加签到,查看签到,迟时签到有记录,修改员工密码的功能,实现调用打印机功能。3.3 开发心得这是一次非常愉快的开发过程,虽然时间十分紧迫,但是没有我们去走捷径,开发全部代码均是本组人员辛苦敲进去,界面设计也是绝对的原创,数据库设计过程出现了一些小的分歧,没有理解题目的意思,最后的月工资表我决定用视图表示,不再设计新表,因为月工资表是由其他表产生的,所有的数据都存储过了,设计新的表会造成数据冗余。良好的分工和团队合作是我组成功开发的关键因素,我们分配同学设计界面和用代码实现,数据库熟练的进行E-R设计和数据库设计,而我则负责数据库这一块的,只根据学过的知识是很难做到理想的目标的,我自己上网查教程,看书本,无数次失败头绪一次又一次磨灭,但是经过苦苦的奋斗,终于把数据库弄了下来。总的来说,我们小组像团队一样开发出来了,实现了功能,是成功的。4. 参考文献1. 万常选. 数据库系统原理与数据设计(第2版). 清华大学出版社. 2012.92. 叶核亚. Java程序设计使用教程(第4版). 电子工业出版社. 2013.113. 萧仁惠. JDBC数据库设计. 中国铁道出版社. 2004.3- 16 -
展开阅读全文