1、数据库课程设计企业工资管理系统java版+完整代码得分:课程设计报告企业工资管理系统XXX班级XXXXX学号XXXXXX课程名称数据库原理及应用指导教师201X年X月X日 一工资管理系统需求分析1.1功能需求 1.1.1功能划分 1.1.2功能描述1.2性能需求1.3数据流图二.总体设计2.1数据库概念设计2.2功能模块三.系统详细设计3.1数据库逻辑设计3.2各模块功能 3.2.1职工信息管理系统 3.2.2职工工资管理系统 3.2.3职工津贴管理系统四.系统实现4.1界面截图 4.1.1主界面及工资基本信息界面 4.1.2登录界面 4.1.3系统主界面 4.1.4信息录入,修改,删除,查询
2、界面4.2设计代码五.实验总结 1、 需求分析1.1 功能需求1.1.1功能划分(1)、员工信息表;及时反映员工的基本信息 (2)、员工津贴表,反映员工津贴 (3)、员工基本工资表 1.1.2 功能描述(1)、基本工资的设定(2)、津贴的设定(3)、计算出月工资(4)、录入员工工资信息 (5)、添加员工工资信息 (6)、更改员工工资信息1.2性能需求此工资管理系统对工资数据精度的计算能在默认情况之下精确到小数点后3位小数,即是精确到分的计算。但在用户使用过程中,能自行根据实际情况进行小数计算精度的设定,最大能允许保留小数点后5位的精度。在时间特性上,当用户发出命令请求时的服务器的响应时间、对数
3、据更新处理、工资数据的查询检索等上,同样要求系统响应时间不会超过0.5秒时间。系统支持多种操作系统的运行环境,多不同操作系统,不同文件格式的磁盘上的数据均能实现信息的互通,及共享。当服务器移植到其他的系统平台,如:Linux平台下时,同样能和其他的系统进行数据存取同步,不会出现系统之间互不兼容的情况,系统支持多系统之间的互连互通,系统有巨大的强健性。本课程设计是用Java语言编写,mysql数据库。1.3数据流图根据工资管理要求及用户需求调查分析,得到以下数据流图图1.1第一层数据流图 图1.2职工信息的载入津贴表添加操作修改操作删除操作查询操作用户图1.4考勤的信息载入2.总体设计2.1数据
4、库概念设计有了数据流图,用E-R图来说明工资信息管理系统的数据库概念模式,如图员工领取工资领取津贴影响职工号姓名职工号基本工资职工号津贴姓名密码姓名 1 n m 图2.1实体之间关系E-R图2.2功能模块工资管理系统 系统模块 工资管理模块 职工登陆模块 员工管理模块3系统详细设计3.1数据库逻辑设计将以上E-R转换成如下关系模式员工(职工号,密码)工资(职工号,基本工资,)津贴(职工号,奖金)其中,标有下划线的字段表示为该数据表的主码,即主关键字。在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。工资信息管理系统数据库中各个表格的设计结果如下面的几个表格所示。每
5、个表格表示在数据库中的一个表。表一:员工信息表:列名数据类型可否取空备注说明no Char ( 8 )NOT NULL职工号(主键)nameChar(10)NOT NULL职工姓名miSmallintNOT NULL登录密码表二:基本工资表:列名数据类型可否取空备注说明noChar ( 8 )NOT NULL职工号(主键)nameChar(10)NOT NULL职工姓名JbmoneyNOT NULL基本工资表四:津贴信息表列名数据类型可否为空备注说明noChar ( 8 )NOT NULL职工号(主键)nameChar(10)NOT NULL职工姓名JtmoneyNOT NULL津贴3.2各模
6、块功能3.2.1职工信息管理系统 功能为:财务部门相关人员录入、修改、删除、查询员工个人信息3.2.2职工工资管理系统 功能为:根据工资生成公式,按照员工的考勤情况及各种表现按月生成相应的工资;财务部门相关人员能录入、修改、删除、查询每个月每个员工的工资信息以及工资汇总;员工本人能查询自己的工资信息以及工资汇总;3.2.3职工登陆查询系统 功能为:员工本人能通过用户名和密码查询自己的信息以及修改自己的密码;4.系统实现4.1界面截图4.1.1主界面4.1.2登录界面4.1.3管理员管理工资界面4.1.4信息录入,修改,删除,查询界面4.1.5职工信息查询界面4.1.6职工密码修改界面4.2设计
7、代码DB.javapackage wage_management;import java.awt.*;import java.awt.event.*;import javax.swing.*;class DB extends JFrame implements ActionListener JFrame frame = new JFrame(欢迎进入企业工资管理系统); JLabel label = new JLabel(, JLabel.CENTER); JButton button1 = new JButton(进入系统); JButton button2 = new JButton(退出
8、系统); ImageIcon im = new ImageIcon(1.jpg); JLabel a1 = new JLabel(im); void Create() JPanel pcontentPane = (JPanel) frame.getContentPane(); pcontentPane.add(a1); pcontentPane.add(label); pcontentPane.setLayout(new FlowLayout(); pcontentPane.add(button1); pcontentPane.add(button2); pcontentPane.setVis
9、ible(true); button1.addActionListener(this); button2.addActionListener(this); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setBounds(200, 100, 550, 180); frame.setVisible(true); public static void main(String args) DB dome = new DB(); dome.Create(); public void actionPer
10、formed(ActionEvent e) if (button1.equals(e.getSource() DL dl = new DL(); dl.create(); frame.dispose(); if (button2.equals(e.getSource() / 退出 System.exit(0); DL.javapackage wage_management;import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionL
11、istener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing
12、.JPasswordField;import javax.swing.JTextField;import .mysql.jdbc.PreparedStatement;import Query.Querypad;class DL extends JFrame implements ActionListener ImageIcon im = new ImageIcon(2.jpg); JLabel a2 = new JLabel(im); JFrame frame = new JFrame(职工/管理员登陆); JLabel label1 = new JLabel(用户名); JLabel lab
13、el2 = new JLabel(密码); JButton logonButton1 = new JButton(管理员登录); JButton logonButton2 = new JButton(职工登录); JButton cancelButton = new JButton(退出); JTextField username = new JTextField(9); JPasswordField password = new JPasswordField(9); static String t1; static String t2; void create() JPanel p = (J
14、Panel) frame.getContentPane(); JPanel p1 = new JPanel(); p.setLayout(new FlowLayout(); p.add(a2); 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(10
15、0, 20); p.setLocation(80, 120); p.add(logonButton1); p.add(logonButton2); p.add(cancelButton); p.setBackground(Color.cyan); p.setVisible(true); logonButton1.addActionListener(this); logonButton2.addActionListener(this); cancelButton.addActionListener(this); frame.setDefaultCloseOperation(JFrame.EXIT
16、_ON_CLOSE); frame.pack(); frame.setBounds(200, 100, 500, 220); frame.setVisible(true); public void actionPerformed(ActionEvent e) t1 = username.getText(); t2 = password.getText(); if(e.getSource()=logonButton1) if( username.getText().equals(admin) = true & (password.getText().equals(admin) = true) J
17、OptionPane.showMessageDialog(this, 登录成功!); GZGLZJM gz = new GZGLZJM(); gz.create(); frame.dispose(); else JOptionPane.showMessageDialog(null, 输入用户名或密码错误!); if (e.getSource()=logonButton2) try Connection con; Statement ps; ResultSet rs; String sql = null; Class.forName(org.gjt.mm.mysql.Driver); Class
18、.forName(org.gjt.mm.mysql.Driver).newInstance(); con = DriverManager.getConnection( jdbc:mysql:/localhost:3306/wage management,root,jxb); sql=select * from workerinfo where name=+t1+ and mi=+t2+; ps = (PreparedStatement) con.prepareStatement(sql); rs = ps.executeQuery(sql); if(rs.next() if(rs.getStr
19、ing(name).equals(t1) & rs.getString(mi).equals(t2) YGDLJM yg = new YGDLJM(); yg.create(); frame.dispose(); JOptionPane.showMessageDialog(this, 登录成功!); this.dispose(); else JOptionPane.showMessageDialog(this, 输入用户名或密码错误!); catch (Exception e1) / TODO Auto-generated catch block e1.printStackTrace(); i
20、f (cancelButton.equals(e.getSource() / 退出 System.exit(0); GZGLZJM.javapackage wage_management;import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;impo
21、rt javax.swing.JLabel;import javax.swing.JPanel;class GZGLZJM extends JFrame implements ActionListener JFrame f = new JFrame(工资管理系统); JButton b1 = new JButton(工资管理); JButton b2 = new JButton(员工信息管理); JButton b3 = new JButton(返回); ImageIcon im = new ImageIcon(3.jpg); JLabel a1 = new JLabel(im); void
22、create() JPanel p = (JPanel) f.getContentPane(); p.setLayout(new FlowLayout(); p.add(a1); p.add(b1); p.add(b2); p.add(b3); p.setBackground(Color.cyan); p.setVisible(true); b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); f.setBounds(200, 100, 500, 200); f.setVisibl
23、e(true); public void actionPerformed(ActionEvent e) if (b3.equals(e.getSource() / 返回 DL d = new DL(); d.create(); f.dispose(); if (b2.equals(e.getSource() / 员工信息管理 YGGL yg = new YGGL(); yg.create(); f.dispose(); if (b1.equals(e.getSource() / 工资管理 GZGL gz = new GZGL(); gz.create(); f.dispose(); GZGL.
24、javapackage wage_management;import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.s
25、wing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JSplitPane;import javax.swing.JTable;import javax.swing.JTextField;public class GZGL extends JFrame implements ActionListener JF
26、rame f = new JFrame(工资管理); JButton b1 = new JButton(录入); 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); JTextField tf
27、4 = new JTextField(4); JTextField tf5 = new JTextField(6); JTextField tf6 = new JTextField(7); String cloum = 职工号, , 津贴, 月基本工资,月薪; Object row = new Object505; JTable table = new JTable(row, cloum); JScrollPane scrollpane = new JScrollPane(table); JSplitPane splitpane = new JSplitPane(JSplitPane.VERTICAL_SPLIT); void create() JPanel p = (JPanel) f.getContentPane(); p.setLayout(new Fl
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1