数据库课程设计企业工资管理系统java版+完整代码.docx
- 文档编号:6994236
- 上传时间:2023-01-15
- 格式:DOCX
- 页数:37
- 大小:179.77KB
数据库课程设计企业工资管理系统java版+完整代码.docx
《数据库课程设计企业工资管理系统java版+完整代码.docx》由会员分享,可在线阅读,更多相关《数据库课程设计企业工资管理系统java版+完整代码.docx(37页珍藏版)》请在冰豆网上搜索。
数据库课程设计企业工资管理系统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;
importcom.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(newFlowLayout());
p.add(scrollpane);
p.add(splitpane);
JPanelp1=newJPanel();
p1.add(b1);
p1.add(b2);
p1.add(b3);
p1.add(b4);
p1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 企业 工资管理 系统 java 完整 代码
![提示](https://static.bdocx.com/images/bang_tan.gif)