数据库课程设计企业工资管理系统java版+完整代码.docx

上传人:b****7 文档编号:10862198 上传时间:2023-02-23 格式:DOCX 页数:42 大小:134.63KB
下载 相关 举报
数据库课程设计企业工资管理系统java版+完整代码.docx_第1页
第1页 / 共42页
数据库课程设计企业工资管理系统java版+完整代码.docx_第2页
第2页 / 共42页
数据库课程设计企业工资管理系统java版+完整代码.docx_第3页
第3页 / 共42页
数据库课程设计企业工资管理系统java版+完整代码.docx_第4页
第4页 / 共42页
数据库课程设计企业工资管理系统java版+完整代码.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

数据库课程设计企业工资管理系统java版+完整代码.docx

《数据库课程设计企业工资管理系统java版+完整代码.docx》由会员分享,可在线阅读,更多相关《数据库课程设计企业工资管理系统java版+完整代码.docx(42页珍藏版)》请在冰豆网上搜索。

数据库课程设计企业工资管理系统java版+完整代码.docx

数据库课程设计企业工资管理系统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信息录入,修改,删除,查询界面…………

4.2设计代码…………………………………………………

五.实验总结…………………………………………………

1、需求分析

1.1功能需求

1.1.1功能划分

(1)、员工信息表;及时反映员工的基本信息

(2)、员工津贴表,反映员工津贴

(3)、员工基本工资表

1.1.2功能描述

(1)、基本工资的设定

(2)、津贴的设定

(3)、计算出月工资

(4)、录入员工工资信息

(5)、添加员工工资信息

(6)、更改员工工资信息

1.2性能需求

此工资管理系统对工资数据精度的计算能在默认情况之下精确到小数点后3位小数,即是精确到分的计算。

但在用户使用过程中,能自行根据实际情况进行小数计算精度的设定,最大能允许保留小数点后5位的精度。

在时间特性上,当用户发出命令请求时的服务器的响应时间、对数据更新处理、工资数据的查询检索等上,同样要求系统响应时间不会超过0.5秒时间。

系统支持多种操作系统的运行环境,多不同操作系统,不同文件格式的磁盘上的数据均能实现信息的互通,及共享。

当服务器移植到其他的系统平台,如:

Linux平台下时,同样能和其他的系统进行数据存取同步,不会出现系统之间互不兼容的情况,系统支持多系统之间的互连互通,系统有巨大的强健性。

本课程设计是用Java语言编写,mysql数据库。

1.3数据流图

根据工资管理要求及用户需求调查分析,得到以下数据流图

图1.1第一层数据流图

图1.2职工信息的载入

津贴表

添加操作

修改操作

删除操作

查询操作

用户

图1.4考勤的信息载入

2.总体设计

2.1数据库概念设计

有了数据流图,用E-R图来说明工资信息管理系统的数据库概念模式,如图

 

员工

领取

工资

领取

津贴

影响

职工号

姓名

职工号

基本工资

职工号

津贴

姓名

密码

姓名

 

1n

 

m

 

 

 

 

图2.1实体之间关系E-R图

 

2.2功能模块

 

工资管理系统

系统模块

工资管理模块

职工登陆模块

员工管理模块

 

3.系统详细设计

3.1数据库逻辑设计

将以上E-R转换成如下关系模式

员工(职工号,,密码)

工资(职工号,,基本工资,)

津贴(职工号,,奖金)

其中,标有下划线的字段表示为该数据表的主码,即主关键字。

在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。

工资信息管理系统数据库中各个表格的设计结果如下面的几个表格所示。

每个表格表示在数据库中的一个表。

表一:

员工信息表:

列名

数据类型

可否取空

备注说明

no

Char(8)

NOTNULL

职工号(主键)

name

Char(10)

NOTNULL

职工姓名

mi

Smallint

NOTNULL

登录密码

 

表二:

基本工资表:

列名

数据类型

可否取空

备注说明

no

Char(8)

NOTNULL

职工号(主键)

name

Char(10)

NOTNULL

职工姓名

Jb

money

NOTNULL

基本工资

 

表四:

津贴信息表

列名

数据类型

可否为空

备注说明

no

Char(8)

NOTNULL

职工号(主键)

name

Char(10)

NOTNULL

职工姓名

Jt

money

NOTNULL

津贴

3.2各模块功能

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设计代码

DB.java

packagewage_management;

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

classDBextendsJFrameimplementsActionListener{

JFrameframe=newJFrame("欢迎进入企业工资管理系统");

JLabellabel=newJLabel("",JLabel.CENTER);

JButtonbutton1=newJButton("进入系统");

JButtonbutton2=newJButton("退出系统");

ImageIconim=newImageIcon("1.jpg");

JLabela1=newJLabel(im);

voidCreate(){

JPanelpcontentPane=(JPanel)frame.getContentPane();

pcontentPane.add(a1);

pcontentPane.add(label);

pcontentPane.setLayout(newFlowLayout());

pcontentPane.add(button1);

pcontentPane.add(button2);

pcontentPane.setVisible(true);

button1.addActionListener(this);

button2.addActionListener(this);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.pack();

frame.setBounds(200,100,550,180);

frame.setVisible(true);

}

publicstaticvoidmain(String[]args){

DBdome=newDB();

dome.Create();

}

publicvoidactionPerformed(ActionEvente){

if(button1.equals(e.getSource())){

DLdl=newDL();

dl.create();

frame.dispose();

}

if(button2.equals(e.getSource())){//退出

System.exit(0);

}

}

}

DL.java

packagewage_management;

importjava.awt.Color;

importjava.awt.FlowLayout;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.ResultSet;

importjava.sql.Statement;

importjavax.swing.ImageIcon;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JLabel;

importjavax.swing.JOptionPane;

importjavax.swing.JPanel;

importjavax.swing.JPasswordField;

importjavax.swing.JTextField;

import.mysql.jdbc.PreparedStatement;

importQuery.Querypad;

classDLextendsJFrameimplementsActionListener

{

ImageIconim=newImageIcon("2.jpg");

JLabela2=newJLabel(im);

JFrameframe=newJFrame("职工/管理员登陆");

JLabellabel1=newJLabel("用户名");

JLabellabel2=newJLabel("密码");

JButtonlogonButton1=newJButton("管理员登录");

JButtonlogonButton2=newJButton("职工登录");

JButtoncancelButton=newJButton("退出");

 

JTextFieldusername=newJTextField(9);

JPasswordFieldpassword=newJPasswordField(9);

staticStringt1;

staticStringt2;

 

voidcreate()

{

JPanelp=(JPanel)frame.getContentPane();

JPanelp1=newJPanel();

p.setLayout(newFlowLayout());

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(100,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_ON_CLOSE);

frame.pack();

frame.setBounds(200,100,500,220);

frame.setVisible(true);

}

publicvoidactionPerformed(ActionEvente)

{

t1=username.getText();

t2=password.getText();

if(e.getSource()==logonButton1)

{

if(username.getText().equals("admin")==true

&&(password.getText().equals("admin")==true))

{

JOptionPane.showMessageDialog(this,"登录成功!

");

GZGLZJMgz=newGZGLZJM();

gz.create();

frame.dispose();

}

else{

JOptionPane.showMessageDialog(null,"输入用户名或密码错误!

");

}

}

if(e.getSource()==logonButton2)

{

try{

Connectioncon;

Statementps;

ResultSetrs;

Stringsql=null;

Class.forName("org.gjt.mm.mysql.Driver");

Class.forName("org.gjt.mm.mysql.Driver").newInstance();

con=DriverManager.getConnection(

"jdbc:

mysql:

//localhost:

3306/wagemanagement","root","jxb");

sql="select*fromworkerinfowherename='"+t1+"'andmi='"+t2+"'";

ps=(PreparedStatement)con.prepareStatement(sql);

rs=ps.executeQuery(sql);

if(rs.next())

{

if(rs.getString("name").equals(t1)&&rs.getString("mi").equals(t2))

{

YGDLJMyg=newYGDLJM();

yg.create();

frame.dispose();

JOptionPane.showMessageDialog(this,"登录成功!

");

this.dispose();

}

}

else{

JOptionPane.showMessageDialog(this,"输入用户名或密码错误!

");

}

}catch(Exceptione1){

//TODOAuto-generatedcatchblock

e1.printStackTrace();

}

}

if(cancelButton.equals(e.getSource()))//退出

{

System.exit(0);

}

}

}

GZGLZJM.java

packagewage_management;

importjava.awt.Color;

importjava.awt.FlowLayout;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjavax.swing.ImageIcon;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JLabel;

importjavax.swing.JPanel;

classGZGLZJMextendsJFrameimplementsActionListener{

JFramef=newJFrame("工资管理系统");

JButtonb1=newJButton("工资管理");

JButtonb2=newJButton("员工信息管理");

JButtonb3=newJButton("返回");

ImageIconim=newImageIcon("3.jpg");

JLabela1=newJLabel(im);

voidcreate(){

JPanelp=(JPanel)f.getContentPane();

p.setLayout(newFlowLayout());

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.setVisible(true);

}

publicvoidactionPerformed(ActionEvente){

if(b3.equals(e.getSource())){//返回

DLd=newDL();

d.create();

f.dispose();

}

if(b2.equals(e.getSource())){//员工信息管理

YGGLyg=newYGGL();

yg.create();

f.dispose();

}

if(b1.equals(e.getSource())){//工资管理

 

GZGLgz=newGZGL();

gz.create();

f.dispose();

}

}

}

GZGL.java

packagewage_management;

importjava.awt.Color;

importjava.awt.FlowLayout;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.sql.Statement;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JLabel;

importjavax.swing.JOptionPane;

importjavax.swing.JPanel;

importjavax.swing.JScrollPane;

importjavax.swing.JSplitPane;

importjavax.swing.JTable;

importjavax.swing.JTextField;

publicclassGZGLextendsJFrameimplementsActionListener{

JFramef=newJFrame("工资管理");

JButtonb1=newJButton("录入");

JButtonb2=newJButton("修改");

JButtonb3=newJButton("删除");

JButtonb4=newJButton("查询所有");

JButtonb5=newJButton("返回");

JTextFieldtf1=newJTextField(4);

JTextFieldtf2=newJTextField(4);

JTextFieldtf3=newJTextField(4);

JTextFieldtf4=newJTextField(4);

JTextFieldtf5=newJTextField(6);

JTextFieldtf6=newJTextField(7);

String[]cloum={"职工号","","津贴","月基本工资","月薪"};

Object[][]row=newObject[50][5];

JTabletable=newJTable(row,cloum);

JScrollPanescrollpane=newJScrollPane(table);

JSplitPanesplitpane=newJSplitPane(JSplitPane.VERTICAL_SPLIT);

voidcreate(){

JPanelp=(JPanel)f.getContentPane();

p.setLayout(newFl

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1