




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
赣南师范学院科技学院数学与信息科学系数据库课程设计报告设计题目:职工工资管理系统专 业:计算机科学与技术班 级:计算机111班 学 号: 姓 名: 陈泰安 指导老师: 谢辅雯 日 期: 2013年 12 月 20日 成绩: 摘 要企业的工资管理是公司管理的一个重要内容。工资管理既涉及到企业劳动人事的管理,同时也是企业财务管理的重要组成部分。工资管理连接住房公积金和医疗保险等等,来生成企业每个职工的基本工资、福利补贴、实际发放工资等。资金是企业生存的主要元素,资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分。但考虑到学生的开发时间,本次设计主要阐述员工工资管理系统主要是以企业员工工资情况为对象而开发的。涉及系统比较小,有利于学生单独编写。其系统的设计主要包括数据库的设计、维护和应用界面的设计与后台数据库的连接。经分析用Eclipse为开发工具,Microsoft SQL sever 2000 为后台数据库。Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。并且Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK),Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C+ 和 COBOL 等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,关键词:职工工资管理系统、设计、开发工具摘要2目录31、系统需求分析4 1.1系统的用户管理4 1.2职工的信息管理4 1.3职工的工资管理41.4部门的信息管理4 1.5职工的奖惩管理4 1.6职工的培训管理42、功能需求分析4 2.1系统管理5 2.2信息管理5 2.3信息查询63、系统设计83.1数据库逻辑结构设计 83.1.1系统E-R图83.2 数据库物理结构设计9 3.2.1表之间的E-R图113.3数概念结构设计123.3.1数据流程图124、职工工资管理系统应用设计144.1 职工工资管理系统模块设计144.1.1“登陆模块”详细设计14 4.1.2主界面”的详细设计16 4.2 管理员界面子模块的设计174.2.1薪资信息.174.2.2 培训信息224.2.3奖惩信息254.2.4部门信息285、总结316、参考文献321、系统需求分析企业工资管理系统的主要任务是用计算机对各种工资信息和职工基本信息进行日常的管理,如查询、修改、添加、删除等,迅速准确地完成各种工资信息的统计计算和汇总工作,针对系统服务对象的具体要求,设计了企业工资管理系统。企业工资管理系统主要有以下几大功能:1.1系统的用户管理本模块主要功能包括用户的添加、删除、密码修改,重新登入,退出系统等。1.2职工的信息管理本模块主要功能包括职工信息的添加,查询,修改,删除等。员工基本信息:工龄、员工编号、员工姓名、员工性别、出生日期、单位、籍贯、学历、职业、部门、部门编号、婚姻、是否在职1.3职工的工资管理本模块主要功能包括职工工资的查询,添加,删除,修改,计算,统计等。1.4部门的信息管理本模块主要功能包括部门查询,添加,修改,删除等。1.5职工的奖惩管理本模块主要功能包括对职工奖惩信息的查询,添加,修改,删除等。1.6职工的培训管理本模块主要功能包括职工培训计划的查询、添加、删除、修改等。2功能需求分析员工工资管理系统功能分析总图22.1.系统管理:功能分析图2.2信息管理:功能分析图职工信息管理:功能分析图基本信息管理:功能分析图奖惩信息管理:功能分析图培训信息管理:功能分析图薪资信息管理:功能分析图2.3信息查询:功能分析图员工信息查询:功能分析图3、系统设计3.1数据库逻辑结构设计 3.1.1系统E-R图3.2数据库物理结构设计 需求分析的过程可以说是一个对具体问题的反复理解和抽象的过程。理解就是对现实问题的理解,要弄清楚究竟需要解决什么问题。抽象就是除去问题的表面,提取问题的本质,建立问题的逻辑模型,以便于以后阶段的系统的设计实现。需求分析阶段是软件产品生存命期中的一个重要阶段,其根本任务是确定用户对软件系统的需求。所谓需求是指用户对软件的功能和性能的要求,就是用户希望软件能什么事情,完成什么样的功能,达到什么性能。此次课程设计的使用者是企业的员工,主要是针对系统的管理员。其进行的操作就是对公司员工、部门等一些方面改动的改善。由此对员工需求分析如下。 用户的需求就是对员工工资和使用用户的添加、删除、修改和查询。这就要求各种信息中存在实体完整性、参照完整性和用户自定义完整性。搜集了各项要求,故数据项要求设计如下:表2.1登入信息表列名数据类型长度允许空usernameChar30不可以userpasswordChar20不可以competenceChar10不可以表2.2职工信息表列名数据类型长度允许空工龄Int4不可以职工编号(主键)Char20不可以性别Varchar10不可以姓名Varchar4不可以籍贯Varchar4不可以出生日期Datatime8不可以单位varchar30不可以部门Varchar30不可以职业Varchar20不可以学历Varchar10不可以婚姻Varchar4不可以部门编号Int4不可以在职否Varchar4不可以表2.3部门信息表列名数据类型长度允许空部门名称Varchar10不可以部门编号(主键)Int4不可以部门人数Int4不可以表2.4薪资信息表列名数据类型长度允许空顺序号Int4不可以薪资编号Int4不可以职工编号(主键)Char10不可以基本工资decimal9不可以福利补贴Decimal9不可以奖金Decimal9不可以住房公积金Decimal9不可以失业保险Decimal9不可以总薪资Int4可以部门名称(外键)varchar10不可以表2.5奖惩信息表列名数据类型长度允许空奖罚Varchar4不可以顺序号Int4不可以奖惩编号Int4不可以职工编号(主键)Char20不可以奖惩时间Datatime8不可以奖惩地点Varchar50不可以奖惩原因Varchar200不可以备注varchar500可以表2.6培训信息表列名数据类型长度允许空顺序号Int4不可以培训编号Int4不可以培训内容Varchar100不可以职工编号(主键)Char10不可以培训天数Int4不可以培训费用Int4不可以培训时间datatime8不可以3.2.1表之间的E-R图3.3数概念结构设计3.3.1数据流程图0层流程图1层流程图2层流程图4、职工工资管理系统应用设计4.1职工工资管理系统模块设计系统实现,胡庆敏完成了系统管理,胡君完成了信息查询和普通用户界面我完成了信息管理4.1.1 “登陆模块”详细设计“登录模块”的设计主要是针对用户登录界面的设计,判断用户是管理员还是普通用户,从而进入不同主界面。登陆界面主要由用户名和密码还有权限的信息,还有标题的设置,登录和取消按钮的设置。用户只有选择用户名后填入相应的密码后点击“登录”才能进入主界面,点击“取消”会退出系统。由此,登陆界面设计如图4.1所示图4.1若用户密码、用户名或权限其中有一个没有匹配成功的话,则点击“登入”时会提示以下消息框代码段:String driverName = com.microsoft.jdbc.sqlserver.SQLServerDriver; String dbURL = jdbc:microsoft:sqlserver:/localhost:1433; DatabaseName=login; String userName = sa; String userPwd = ; Connection dbConn = null; try Class.forName(driverName); dbConn = DriverManager.getConnection(dbURL, userName, userPwd); Statement stmt=dbConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String username=jTextField.getText(); String userpassword=new String(jPasswordField.getPassword(); String competence =jRadioButton.getText(); String competence1 =jRadioButton1.getText(); String sql; if( grp.getSelection()=jRadioButton1.getModel() sql=select * from log where username=+username+and userpassword=+userpassword+and competence=+competence1+; ResultSet rs1=stmt.executeQuery(sql);if(rs1.next()setVisible(false);function x=new function();x.setVisible(true);else JOptionPane.showMessageDialog(null,登入失败!); if (grp.getSelection()=jRadioButton.getModel()sql=select * from log where username=+username+and userpassword=+userpassword+and competence=+competence+; ResultSet rs=stmt.executeQuery(sql);if(rs.next()setVisible(false);function1 y=new function1();y.setVisible(true); else JOptionPane.showMessageDialog(null,登入失败!); catch (Exception eo) eo.printStackTrace(); 4.1.2 “主界面”的详细设计主界面有两个,其中管理员主界面的设计是由菜单编辑器生成,主要由系统管理、信息管理、信息查询、三个模块组成。其作用是使程序更加有条有理,有利于管理。另外一个为普通用户操作,主要有基本信息查询,基本工资查询两个模块组成,两个主界面设计如图4.2所示:管理员主界面职工主界面4.2 管理员界面子模块的设计4.2.1选择“信息管理”“薪资信息管理“删除”、“”修改”、“添加”菜单,分别实现删除职工,修改职工,添加职工薪资信息。删除薪资信息代码段:String driverName = com.microsoft.jdbc.sqlserver.SQLServerDriver;String dbURL = jdbc:microsoft:sqlserver:/localhost:1433; DatabaseName=login;String userName = sa;String userPwd = ;Connection dbConn = null;String num = JOptionPane.showInputDialog(请输入要删除的职工编号);String delete = delete from 薪资信息表 where 职工编号=+ num + ;if (num = null) return;if (JOptionPane.showConfirmDialog(null, 确认要删除吗?) = JOptionPane.YES_OPTION)try Class.forName(driverName);dbConn = DriverManager.getConnection(dbURL,userName, userPwd);Statement stmt = dbConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);if (stmt.executeUpdate(delete) != 0)JOptionPane.showMessageDialog(null,职工薪资信息删除操作,执行成功!);elseJOptionPane.showMessageDialog(null,没有该职工,执行失败!);catch (Exception e2) e2.printStackTrace();修改薪资信息代码段:ll = JOptionPane.showInputDialog(请输入需要修改薪资的职工编号);String driverName = com.microsoft.jdbc.sqlserver.SQLServerDriver;String dbURL = jdbc:microsoft:sqlserver:/localhost:1433; DatabaseName=txl;String userName = sa;String userPwd = ;Connection dbConn = null;try Class.forName(driverName);dbConn = DriverManager.getConnection(dbURL,userName, userPwd);java.sql.Statement stmt = dbConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);String sql1 = select 职工编号 from 薪资信息表 where 职工编号=+ ll + ;ResultSet rs1 = stmt.executeQuery(sql1);if (rs1.next() 薪资修改 x1 = new 薪资修改();x1.setVisible(true); else JOptionPane.showMessageDialog(null,没有该职工,请重新输入!);catch (Exception e1) e1.printStackTrace();String driverName = com.microsoft.jdbc.sqlserver.SQLServerDriver; String dbURL = jdbc:microsoft:sqlserver:/localhost:1433; DatabaseName=login; String userName = sa; String userPwd = ; Connection dbConn = null; String 顺序号=jTextField1.getText();String 薪资编号=jTextField2.getText();String 基本工资=jTextField3.getText();String 福利补贴=jTextField4.getText();String 奖金=jTextField5.getText();String 住房公积金=jTextField6.getText();String 部门名称=jTextField7.getText();String 失业保险=jTextField61.getText();int a1=Integer.parseInt(基本工资);int b1=Integer.parseInt(福利补贴);int c1=Integer.parseInt(奖金);int d1=Integer.parseInt(住房公积金);int f1=Integer.parseInt(失业保险);int x=a1+b1+c1-d1-f1;String s=Integer.toString(x);jTextField62.setText(s);try Class.forName(driverName); dbConn = DriverManager.getConnection(dbURL, userName, userPwd); Statement st=dbConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); st.executeUpdate(update 薪资信息表 set 顺序号=+顺序号+ where 职工编号=+jTextField.getText()+);st.executeUpdate(update 薪资信息表 set 薪资编号=+薪资编号+ where 职工编号=+jTextField.getText()+);st.executeUpdate(update 薪资信息表 set 基本工资=+基本工资+ where 职工编号=+jTextField.getText()+);st.executeUpdate(update 薪资信息表 set 福利补贴=+福利补贴+ where 职工编号=+jTextField.getText()+);st.executeUpdate(update 薪资信息表 set 奖金=+奖金+ where 职工编号=+jTextField.getText()+);st.executeUpdate(update 薪资信息表 set 住房公积金=+住房公积金+ where 职工编号=+jTextField.getText()+);st.executeUpdate(update 薪资信息表 set 失业保险=+失业保险+ where 职工编号=+jTextField.getText()+);st.executeUpdate(update 薪资信息表 set 部门名称=+ 部门名称+ where 职工编号=+jTextField.getText()+);st.executeUpdate(update 薪资信息表 set 总薪资=+s+ where 职工编号=+jTextField.getText()+);JOptionPane.showMessageDialog(null,薪资信息修改成功!);catch (Exception e1) e1.printStackTrace(); 添加薪资信息代码段:String driverName = com.microsoft.jdbc.sqlserver.SQLServerDriver; String dbURL = jdbc:microsoft:sqlserver:/localhost:1433; DatabaseName=login; String userName = sa; String userPwd = ; Connection dbConn = null; String 职工编号=jTextField.getText();String 顺序号=jTextField1.getText();String 培训编号=jTextField2.getText();String 培训天数=jTextField3.getText();String 培训费用=jTextField4.getText();String 培训内容=jTextArea.getText();String 培训时间=jTextField5.getText();try Class.forName(driverName); dbConn = DriverManager.getConnection(dbURL, userName, userPwd); Statement st=dbConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); st.executeUpdate(insert into 培训信息表 values(+顺序号+,+培训编号+,+培训内容+,+职工编号+,+培训天数+,+培训费用+,+培训时间+);JOptionPane.showMessageDialog(null,培训信息添加成功!);catch (Exception e1) e1.printStackTrace(); 统计人数/工资总额4.2.2选择“信息管理”“培训信息管理“删除”、“添加”菜单,分别实现删除职工,添加职工培训信息。 添加职工培训信息代码段:String driverName = com.microsoft.jdbc.sqlserver.SQLServerDriver; String dbURL = jdbc:microsoft:sqlserver:/localhost:1433; DatabaseName=login; String userName = sa; String userPwd = ; Connection dbConn = null; String 职工编号=jTextField.getText();String 顺序号=jTextField1.getText();String 培训编号=jTextField2.getText();String 培训天数=jTextField3.getText();String 培训费用=jTextField4.getText();String 培训内容=jTextArea.getText();String 培训时间=jTextField5.getText();try Class.forName(driverName); dbConn = DriverManager.getConnection(dbURL, userName, userPwd); Statement st=dbConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); st.executeUpdate(insert into 培训信息表 values(+顺序号+,+培训编号+,+培训内容+,+职工编号+,+培训天数+,+培训费用+,+培训时间+);JOptionPane.showMessageDialog(null,培训信息添加成功!);catch (Exception e1) e1.printStackTrace(); 删除职工培训信息由于没有该职工培训信息所以弹出以下窗口:如果含有该职工信息则会弹出以下窗口代码段:String driverName = com.microsoft.jdbc.sqlserver.SQLServerDriver;String dbURL = jdbc:microsoft:sqlserver:/localhost:1433; DatabaseName=login;String userName = sa;String userPwd = ;Connection dbConn = null;String num = JOptionPane.showInputDialog(请输入要删除的培训信息的职工编号);if (num = null) return;String delete = delete from 培训信息表 where 职工编号= + num+ ;if (JOptionPane.showConfirmDialog(null, 确认要删除吗?) = JOptionPane.YES_OPTION)try Class.forName(driverName);dbConn = DriverManager.getConnection(dbURL,userName, userPwd);Statement stmt = dbConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);if (stmt.executeUpdate(delete) != 0)JOptionPane.showMessageDialog(null,职工培训培训信息删除操作,执行成功!);else JOptionPane.showMessageDialog(null,没有该用户培训信息,执行失败!); catch (Exception e2) e2.printStackTrace();4.2.3选择“信息管理”“奖惩信息管理“删除”、“添加”菜单,分别实现删除职工,添加职工培训信息。添加职工培训信息代码段:String driverName = com.microsoft.jdbc.sqlserver.SQLServerDriver; String dbURL = jdbc:microsoft:sqlserver:/localhost:1433; DatabaseName=login; String userName = sa; String userPwd = ; Connection dbConn = null; String 职工编号=jTextField2.getText();String 顺序号=jTextField.getText();String 奖惩编号=jTextField1.getText();String 奖惩时间=jTextField3.getText();String 奖惩地点=jTextField4.getText();String 奖惩原因=jTextArea.getText();String 备注=jTextArea1.getText();String 奖罚=(String)(jComboBox.getSelectedItem();try Class.forName(driverName); dbConn = DriverManager.getConnection(dbURL, userName, userPwd); Statement st=dbConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); st.executeUpdate(insert into 奖惩信息表 values(+奖罚+,+顺序号+,+奖惩编号+,+职工编号+,+奖惩时间+,+奖惩地点+,+奖惩原因+,+备注+);JOptionPane.showMessageDialog(null,奖惩信息添加成功!);catch (Exception e1) e1.printStackTrace(); 删除职工培训信息 由于没有该职工培训信息所以弹出以下窗口:如果含有该职工信息则会弹出以下窗口4.2.4选择“信息管理”“部门信息管理“删除”、“添加”菜单,分别实现删除职工,添加部门信息。 添加部门信息代码段:String driverName = com.microsoft.jdbc.sqlserver.SQLServerDriver; String dbURL = jdbc:microsoft:sqlserver:/localhost:1433; DatabaseName=login; String userName = sa; String userPwd = ; Connection dbConn = null; String 部门编号=jTextField.getText();String 部门名称=jTextField1.getText();String 部门人数=jTextField2.getText();try Class.forName(driverName); dbConn = DriverManager.getConnection(dbURL, userName, userPwd); Statement st=dbConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); st.executeUpdate(insert into 部门信息表 values(+部门名称+,+部门编号+,+部门人数+);JOptionPane.showMessageDialog(null,部门添加成功!);catch (Exception e1) e1.printStackTrace(); 删除部门信息代码段:String driverName = com.microsoft.jdbc.sqlserver.SQLServerDriver;String dbURL = jdbc:microsoft:sqlserver:/localhost:1433; DatabaseName=login;String userName = sa;String userPwd = ;Connection dbConn = null;String num = JOptionPane.showInputDialog(请输入要删除的部门编号);if (num = null) return;String delete
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 一年级音乐教学计划
- 六年级下册教学计划
- 一年级语文主题活动教学计划
- 2025直播电商运营总监工作计划
- 2025小学教师学科知识更新计划
- 新部编人教版二年级下册课外活动计划
- 2025北师大版二年级数学下册团队合作计划
- 部编版一年级下册英语教学计划
- 房产取消交易协议书
- 房产破裂家庭协议书
- 天然气安全技术说明书
- 扬州酒店行业分析
- 护理亚专科工作汇报
- 酒店收购计划书
- 《揭开货币神秘面纱》课件
- 眼科手术室护理安全与配合
- 安全隐患报告奖励制度范本
- 山东省医院护理服务质量评价细则
- 宽宽窄窄量量看
- Unit6Craftsmanship+Listening+an课件-中职高教版(2021)基础模块2
- 医院安全风险分级管控清单
评论
0/150
提交评论