数据库课程设计——工资管理系统--职工考勤管理系统java+sql-sever-2000教学总结_第1页
数据库课程设计——工资管理系统--职工考勤管理系统java+sql-sever-2000教学总结_第2页
数据库课程设计——工资管理系统--职工考勤管理系统java+sql-sever-2000教学总结_第3页
数据库课程设计——工资管理系统--职工考勤管理系统java+sql-sever-2000教学总结_第4页
数据库课程设计——工资管理系统--职工考勤管理系统java+sql-sever-2000教学总结_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、得分:课程设计报告工资管理系统-职工考勤管理系统姓名 LS班级 学号QQ:1054180233课程名称 数据库原理及应用指导教师 2011年12月15日1 .工资管理系统需求分析11.1 功能需求11.1.1 功能划分11.1.2 功能描述11.2 性能需求11.3 数据流图21.4 数据字典51.4.1 数据流的描述51.4.2 处理逻辑的描述61.4.3 数据存储的描述62 .总体设计72.1 数据库概念设计72.2 功能模块83 .系统详细设计93.1 数据库逻辑设计93.2 各模块功能103.2.1 职工信息管理系统103.2.2 职工工资管理系统103.2.3 职工津贴管理系统103

2、.2.4 职工考勤管理系统104.1 界面截图114.1.1 主界面及工资基本信息界面114.1.2 登录界面124.1.3 系统主界面134.1.4 考勤信息录入,修改,删除,查询界面144.2 设计代码151 、 需 求分 析1.1 功能 需 求1.1.1 功 能划 分(1) 、员工考勤情况表;及时反映员工的出勤,以及缺勤扣款情况(2) 、员工津贴表,反映员工的加班时间,加班类别、加班天数、津贴情况等;(3) 、员工基本信息表,反映员工的基本信息,反映员工的工种、等级,基本工资等信息;(4) 、员工月工资表,计算月工资,生成打印清单。(5) 、银行表,用于员工工资的发放。(6) 、后勤部门

3、表; 反映员工的水电扣款信息等1.1.2 功 能描述(1) 、员工每个工种基本工资的设定(2) 、 加班津贴管理,根据加班时间和类型给予不同的加班津贴;(3) 、按照不同工种的基本工资情况、员工的考勤情况产生员工的每月的月工资;(4)、员工年终奖金的生成,员工的年终奖金计算公式=(员工本年度的工资总和津贴的总和)/12 ;(5) 、企业工资报表。能够查询单个员工的工资情况、每个部门的工资情况、按月的工资统计,并能够打印;(6) 、系统维护功能;1.2 性能 需求此工资管理系统对工资数据精度的计算能在默认情况之下精确到小数点后3 位小数,即是精确到分的计算。但在用户使用过程中,能自行根据实际情况

4、进行小数计算精度的设定,最大能允许保留小数点后5 位的精度。在时间特性上,当用户发出命令请求时的服务器的响应时间、对数据更新处理、工资数据的查询检索等上,同样要求系统响应时间不会超过0.5 秒时间。 系统支持多种操作系统的运行环境,多不同操作系统,不同文件格式的磁盘上的数据均能实现信息的互通,及共享。当服务器移植到其他的系统平台,如:Linux 平台下时,同样能和其他的系统进行数据存取同步,不会出现系统之间互不兼容的情况,系统支持多 系统之间的互连互通,系统有巨大的强健性。1.3 数据流图根据工资管理要求及用户需求调查分析,得到以下数据流图图1.1第一层数据流图图1.2职工信息的载入图1.3工

5、资的信息载入图1.4考勤的信息载入输入津贴基本信息图1.5津贴的信息载入图1.6信息查询及管理的流程图1.4 数据字典工资管理系统各实体及联系的数据字典1.4.1 数据流的描述数据流的编号:D001数据流的名称:员工基本信息简述:与员工有关的基本信息数据流来源:员工基本信息表数据流去向:员工,部门数据流组成:员工编号+姓名+性别+年龄+部门+进入公司时间+住址数据流的编号:D002数据流的名称:工资结构信息简述:查询工资时所包含的相关信息数据流来源:工资信息表数据流去向:员工数据流组成:员工编号+加班加班+出差工资+迟到早退+矿工工资+应发工资+实发工资数据流的编号:D003数据流的名称:职务

6、部门信息简述:查询员工职务部门信息数据流来源:职务部门信息表数据流去向:员工数据流组成:员工编号+职务+部门数据流的编号:D004数据流的名称:员工变动信息简述:查询员工变动情况数据流来源:员工变动信息表数据流去向:员工数据流组成:员工编号+原职务+原部门+现职务+现部门1.4.2 处理逻辑的描述处理逻辑编号:p001处理逻辑名称:工资统计简述:对工资进行统计、计算输入的数据流:基本工资信息处理描述:根据职工的职位及其他相应情况计算出工资输出的数据流:工资信息处理逻辑编号:p002处理逻辑名称:员工信息处理简述:对员工信息进行处理输入的数据流:员工信息处理描述:根据员工的基本信息进行各种操作输

7、出的数据流:员工信息处理逻辑编号:p003处理逻辑名称:变动处理简述:对员工的变动情况进行处理输入的数据流:员工变动信息处理描述:可进行添加、修改和删除等操作输出的数据流:员工变动信息1.4.3 数据存储的描述数据存储编号:F001数据存储名称:员工基本信息表简述:员工的基本信息数据存储组成:员工编号+姓名+性别+年龄+部门+进入公司时间+住址关键字:员工编号相关联的处理:P002数据存储编号:F002数据存储名称:基本工资表简述:员工的工资信息数据存储组成:员工编号+加班加班+出差工资+迟到早退+矿工工资关键字:员工编号相关联的处理:P001数据存储编号:F003数据存储名称:变动信息表简述

8、:员工的变动信息数据存储组成:员工编号+原职务+原部门+现职务+现部门关键字:员工编号相关联的处理:P002,P0032 . 总体设 计2.1 数据 库概 念设计有了数据流图,用E-R图来说明工资信息管理系统的数据库概念模式,如图图2.1实体之间关系E-R图2.2功能模块工资管理系统系 统 模 块工资生成模块津贴管理模块考 勤 管 理 模 块3 .系统详细设计3.1 数据库逻辑设计将以上E-R转换成如下关系模式员工(职工号,姓名,工龄,部门岗位,电话号码,密码)工资(职工号,个人所得税,基本工资,医疗保险,缺勤扣除)考勤(职工号,缺勤天数,缺勤类别,时间)津贴(职工号,年终奖金,加班奖金,其他

9、奖金)其中,标有下划线的字段表示为该数据表的主码,即主关键字。在上面的实 体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系工资信息管理系统数据库中各个表格的设计结果如下面的几个表格所示。每 个表格表示在数据库中的一个表表一:员工信息表:列名数据类型可否取空备注说明noChar ( 8 )NOT NULL职工号(主键)nameChar (10)NOT NULL职工姓名gwChar (20)NOT NULL部门岗位glSmallintNOT NULL工龄hmChar(11)NULL电话号码miSmallintNOT NULL登录密码灰谀汁表GGL ,位置是_L5"中.

10、,(local冲上列名数据羌型|长度|允许空里BHchar3R碗电char10型chir203sin 社 LiM2hmchar11Jmisoi alLmt2表二:工资表:列名数据类型可否取空备注说明noChar ( 8 )NOT NULL职工号(主键)JbmoneyNOT NULL基本工资yimoneyNULL医疗保险SwmoneyNULL个人所得税kcmoneyNULL缺勤扣除JtmoneyNULL津贴yzmoneyNOT NULL月总工资r,ft嫉计表=GEGLK .&置是"DB-LSff中、-(local)* ±列名数据类型长度允许空k?39char8jbmo

11、itey0ylmonejrBV=Sw附际Ejr3kc8Jtm bikey9尹nionejra表三:员工考勤信息表列名数据类型可否取空备注说明noChar ( 8 )NOT NULL职工号(主键)tsInt(4)NULL缺勤天数lbChar (30)NULL缺勤类别SjChar(10)NULL缺勤时间岫饿计表"KQGL" 位置是"DB_LSW中' 1H (local)"上列名数据英空长度心午空西1chu-gtiint4Lbchir30V而ch=artoV表四:津贴信息表列名数据类型可否为空备注说明noChar ( 8 )NOT NULL职工号(主键

12、)JiabanmoneyNULL月加班奖金nzmoneyNULL年终奖金qtmoneyNULL其他奖金7m设计表=JTGL位置是中、"(local)*上万列名1 数据类型*度簿许空|0Ji alanmoiieygnrm Dniey&6mona 产3.2 各模块功能3.2.1 职工信息管理系统功能为:财务部门相关人员录入、修改、删除、查询员工个人信息;员工本 人能通过用户名和密码查询自己的信息以及修改自己的密码;3.2.2 职工工资管理系统功能为:根据工资生成公式,按照员工的考勤情况及各种表现按月生成相应 的工资;财务部门相关人员能录入、修改、删除、查询每个月每个员工的工资信

13、息以及工资汇总;员工本人能查询自己的工资信息以及工资汇总;3.2.3 职工津贴管理系统功能为:财务部门相关人员录入、修改、删除、查询职工津贴信息;职工本人能查询自己的津贴;3.2.4 职工考勤管理系统功能为:后勤管理人员录入、修改、删除、查询职工考勤信息;职工本人能 查询自己的考勤情况。采用模块化设计思想,可以大大提高设计的效率,并且可以最大限度地减少不必要的错误。4 .系统实现4.1 界面截图4.1.1 主界面及工资基本信息界面4.1.2 登录界面R工黄管理系统0叵I区4.1.3系统主界面,展工/言理员曾陆DX4.1.4考勤信息录入,修改,删除,查询界面录入修改除考勤信息13叵区录入 悭改

14、除查同阴有查洵单人寿物返回1职工号S»劲天麴I靛初类别|03032y4030329 .030327i0303262病保2Q0S-3-1D030325030324030323103032203032110303200303ld0303133谙旗2303-50203t703031603035 5030314030313病根2»09-3-160303120303T1030310030309l030308030307030306030305!俄勤天嘲H 版勘费剂_ 裁曲胴响在西地输入朝工号点击直陶啷F余|4.2 设计代码Java源程序:import java.awt.*;impor

15、t java.awt.event.*;import javax.swing.*;import java.awt.*;import java.sql.*;import java.lang.*;import java.util.*;import javax.swing.table.*;import java.math.*;class DB_LS implements ActionListenerJFrame frame=new JFrame(" 欢迎进入LS工资管理系统");JLabellabel=newJLabel("09络 2_54_ 李 胜",JLab

16、el.CENTER);JButton button1=new JButton("进入系统");JButton button2=new JButton("退出系统");ImageIcon im=new ImageIcon("1.jpg");JLabel a1=new JLabel(im);void Create()JPanel pcontentPane=(JPanel)frame.getContentPane();JPanel pcontentPane1=new JPanel();pcontentPane.add(label);pcon

17、tentPane.setLayout(new FlowLayout();pcontentPane.add(button1);pcontentPane.add(button2);pcontentPane.add(new Label("");pcontentPane.add(a1);pcontentPane.setBackground(Color.green);pcontentPane.setVisible(true);button1.addActionListener(this);button2.addActionListener(this);frame.setDefault

18、CloseOperation(JFrame.EXIT_ON_CLOSE);frame.pack();frame.setBounds(200,100,550,600);frame.setVisible(true);public static void main(String args)DB_LS dome=new DB_LS();dome.Create();public void actionPerformed(ActionEvent e)if(button1.equals(e.getSource()DL dl=new DL();dl.create();if(button2.equals(e.g

19、etSource()/退 出System.exit(0);职 工 / 管 理 员 登 陆 ");class DL implements ActionListener JFrame frame=new JFrame("JLabel label1=new JLabel("用 户 名 ");JLabel label2=new JLabel("密 码 ");管理员登录");职工登录");退出");JButton logonButton1=new JButton(" JButton logonButton

20、2=new JButton(" JButton cancelButton=new JButton(" JTextField t1=new JTextField(0);JTextField t2=new JTextField(0);ImageIcon im=new ImageIcon("2.jpg");JLabel a2=new JLabel(im);JTextField username=new JTextField(9);JPasswordField password=new JPasswordField(9); void create()JPanel

21、 p=(JPanel)frame.getContentPane();JPanel p1=new JPanel();p.setLayout(new FlowLayout();p.add(label1);p.setSize(5,5);p.setLocation(4,8);p.add(username);p.setSize(100,200);p.setLocation(800,800);p.add(label2);p.setSize(50,20);p.setLocation(40,80);p.add(password);p.setSize(100,20);p.setLocation(80,120);

22、p.add(logonButton1);p.add(new JLabel("");p.add(logonButton2);p.add(new JLabel("");p.add(cancelButton);p.add(new JLabel("");p.add(a2);p.add(t1);p.add(t2);p.setBackground(Color.blue);p.setVisible(true);logonButton1.addActionListener(this);logonButton2.addActionListener(th

23、is);cancelButton.addActionListener(this);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.pack();frame.setBounds(200,100,750,550);frame.setVisible(true);public void actionPerformed(ActionEvent e) if(logonButton1.equals(e.getSource()&&(username.getText() .equals("123")=tru

24、e)&&(password.getText().equals("123")= true)GZGLZJM gz=new GZGLZJM();gz.create();不起elseJOptionPane.showMessageDialog(null,"对你 输 入 的 密 码 错 误 !");if(logonButton2.equals(e.getSource()&&(username.getText().equals(t1.getText()=true)&&(password.getText().equal s

25、(t2.getText()=true)XK xk=new XK();xk.create();Connection con;Statement sql;ResultSet rs;Vector vector=new Vector();try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch (ClassNotFoundException e1) System.out.println("" + e1);try con = DriverManager.getConnection("jdbc:odb

26、c:123","", "");sqlcon.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,Result Set.CONCUR_READ_ONLY);WHEREsql.executeQuery("SELECTGno,mm FROM YGno="+t1.getText() +"AND mm="+t2.getText();catch (SQLException e1) System.out.println(e1);if(cancelButton.equals(e

27、.getSource() System.exit(0);class GZGLZJM extends JFrame implements ActionListenerJFrame f=new JFrame("JButton b1=new JButton(JButton b2=new JButton(JButton b3=new JButton(JButton b4=new JButton(JButton b6=new JButton(JButton b5=new JButton(ImageIcon im=new ImageIcon("3.jpg");工 资 管 理

28、系 统 ");津贴管理");总查询");工资管理");后勤管理");员 工 个 人 信 息 管 理 ") 返 回 ");JLabel a3=new JLabel(im);void create()JPanel p=(JPanel)f.getContentPane();JPanel p1=new JPanel();p.setLayout(new FlowLayout();p.add(b1);p.add(new JLabel("");p.add(b6);p.add(new JLabel(""

29、;);p.add(b3);p.add(new JLabel("");p.add(b4);p.add(new JLabel("");p.add(b2);p.add(new JLabel("");p.add(b5);p.add(a3);p.setBackground(Color.red);p.setVisible(true);b1.addActionListener(this);b2.addActionListener (this);b3.addActionListener(this);b4.addActionListener(this)

30、;b5.addActionListener(this);b6.addActionListener(this);f.setBounds(200,100,800,600);f.setVisible(true);public void actionPerformed(ActionEvent e)if(b5.equals(e.getSource()/返 回DL d=new DL();f.dispose();if(b1.equals(e.getSource()/津 贴 管 理JTGL jt=new JTGL();jt.create();if(b6.equals(e.getSource()/员 工 个 人

31、 信YGGL yg=new YGGL();yg.create();if(b2.equals(e.getSource()/查 询XK xk=new XK();xk.create();if(b4.equals(e.getSource()/后 勤 管 理KQGL kq=new KQGL();kq.create();管理if(b3.equals(e.getSource()/GZGL gz=new GZGL(); gz.create();class KQGL implements ActionListener工资管理JFrame f=new JFrame("JButton b1=new JBu

32、tton("JButton b2=new JButton("JButton b3=new JButton("JButton b4=new JButton("JButton b5=new JButton("录入修改删除考勤信息 录入");修改");删除");查 询 所 有 ");返回"););JTextField tf1=new JTextField(4);JTextField tf2=new JTextField(4);JTextField tf3=new JTextField(4);JText

33、Field tf4=new JTextField(4);JTextField tf5=new JTextField(6);JButton b6=new JButton(" 查 询 单 人 考 勤 ");String cloum=" 职 工 号 "," 缺 勤 天 数 "," 缺 勤 类 别 "," 缺 勤 时 间 "Object row=newObject504;JTable table=new JTable(row,cloum);JScrollPane scrollpane=new JScro

34、llPane(table);JSplitPanesplitpane=newJSplitPane(JSplitPane.VERTICAL_SPLIT);void create()JPanel p=(JPanel)f.getContentPane();p.setLayout(new FlowLayout();/p.add(scrollpane);p.add(splitpane);JPanel p1=new JPanel();p1.add(b1);p1.add(b2);p1.add(b3);p1.add(b4);p1.add(b6);p1.add(b5);JPanel p2=new JPanel()

35、;p2.setBackground(Color.red);p2.add(scrollpane);JPanel p3=new JPanel();p.setLayout(new FlowLayout();p.add(new JLabel("");p.add(new JLabel(" 职 工 号 ");p.add(tf1);p.add(new JLabel("缺勤天数");p.add(tf2);p.add(new JLabel("缺勤类别");p.add(tf3);p.add(new JLabel(""

36、;);p.add(new JLabel(" 缺 勤 时 间 ");p.add(tf4);在此处输入职工号点击查询p.add(new JLabel( 删 除 ");p.add(tf5);splitpane.add(p1,splitpane.TOP);splitpane.add(p2,splitpane.BOTTOM);splitpane.setDividerLocation(50);p.setBackground(Color.CYAN);b1.addActionListener(this);b2.addActionListener(this);b3.addActio

37、nListener(this);b4.addActionListener(this);b5.addActionListener(this);b6.addActionListener(this);f.setBounds(200,100,500,600);f.setResizable(true);/可 以 调 整 界 面 大 小f.setVisible(true);public void actionPerformed(ActionEvent e)if(b1.equals(e.getSource() /添 加Connection con;Statement sql;ResultSet rs;try

38、 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch (ClassNotFoundException e1) System.out.println("" + e1); try conDriverManager.getConnection("jdbc:odbc:123", "", "");sql = con.createStatement();String insertStr = "INSERT INTO K VALUES "

39、; +"(" + "'" + tf1.getText() + "'" + "," + tf2.getText()+"," +"'" +tf3.getText()+"'" + ","+tf4.getText()+")"sql.executeUpdate(insertStr);con.close(); catch (SQLException e1) System.out.println(e

40、1);if(b2.equals(e.getSource()/修 改Connection con;Statement sql;ResultSet rs;try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch (ClassNotFoundException e1) System.out.println("" + e1);try conDriverManager.getConnection("jdbc:odbc:123", "", "");sq

41、l = con.createStatement();SETSETSETsql.executeUpdate("UPDATEKts="+tf2.getText()+"WHERE Kno="+tf1.getText()+"");sql.executeUpdate("UPDATEKlb="+tf3.getText()+"WHERE Kno="+tf1.getText()+"");sql.executeUpdate("UPDATEKsj="+tf4.getText(

42、)+"WHERE Kno="+tf1.getText()+"");con.close(); catch (SQLException e1) System.out.println(e1);if(b3.equals(e.getSource()/删 除Connection con;Statement sql;ResultSet rs;try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch (ClassNotFoundException e1) System.out.println(&

43、quot;" + e1);try con=DriverManager.getConnection("jdbc:odbc:123", "", "");sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,Result Set.CONCUR_READ_ONLY);sql.executeUpdate("DELETEFROM K WHEREKno="+tf5.getText();con.close(); catch (SQLException e1) Sy

44、stem.out.println(e1); if(b4.equals(e.getSource()/查 询 全 部Connection con;Statement sql;ResultSet rs;Vector vector=new Vector();try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch (ClassNotFoundException e1) System.out.println("" + e1);try con = DriverManager.getConnection("jdbc:odbc:123", "sa", "");sql=con.createStatement(Re

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论