数据库课程设计 工资管理系统.docx

上传人:b****1 文档编号:10475607 上传时间:2023-05-26 格式:DOCX 页数:35 大小:1.69MB
下载 相关 举报
数据库课程设计 工资管理系统.docx_第1页
第1页 / 共35页
数据库课程设计 工资管理系统.docx_第2页
第2页 / 共35页
数据库课程设计 工资管理系统.docx_第3页
第3页 / 共35页
数据库课程设计 工资管理系统.docx_第4页
第4页 / 共35页
数据库课程设计 工资管理系统.docx_第5页
第5页 / 共35页
数据库课程设计 工资管理系统.docx_第6页
第6页 / 共35页
数据库课程设计 工资管理系统.docx_第7页
第7页 / 共35页
数据库课程设计 工资管理系统.docx_第8页
第8页 / 共35页
数据库课程设计 工资管理系统.docx_第9页
第9页 / 共35页
数据库课程设计 工资管理系统.docx_第10页
第10页 / 共35页
数据库课程设计 工资管理系统.docx_第11页
第11页 / 共35页
数据库课程设计 工资管理系统.docx_第12页
第12页 / 共35页
数据库课程设计 工资管理系统.docx_第13页
第13页 / 共35页
数据库课程设计 工资管理系统.docx_第14页
第14页 / 共35页
数据库课程设计 工资管理系统.docx_第15页
第15页 / 共35页
数据库课程设计 工资管理系统.docx_第16页
第16页 / 共35页
数据库课程设计 工资管理系统.docx_第17页
第17页 / 共35页
数据库课程设计 工资管理系统.docx_第18页
第18页 / 共35页
数据库课程设计 工资管理系统.docx_第19页
第19页 / 共35页
数据库课程设计 工资管理系统.docx_第20页
第20页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库课程设计 工资管理系统.docx

《数据库课程设计 工资管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计 工资管理系统.docx(35页珍藏版)》请在冰点文库上搜索。

数据库课程设计 工资管理系统.docx

数据库课程设计工资管理系统

中北大学

课程设计说明书

 

学生姓名:

陈松

学号:

0606054112

学院:

电子与计算机科学技术学院

专业:

软件工程

题目:

工资管理系统

----职工考勤管理系统

 

指导教师:

韩燮职称:

教授

 

 

2008年6月27日

1系统设计

1.1目标设计

在工资管理中,需要从公司管理方式以及实际情况中提取相关信息,以反映工资管理情况。

传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。

使用计算机可以高速,快捷地完成以上工作。

避免重复劳动,规范工资管理行为,从而提高了管理效率和水平。

让人们的效率大大提高.

不难想象,正是资讯的迅速发展使得人们从过去繁复的手工劳作中得以解脱,从而使这种服务在现在才可能迅速普及。

同时,编写一套完整的工资管理系统的任务就显得尤为重要。

开发设计思想

本系统开发设计思想:

●对公司软硬件调查,从实际环境出发,以便充分利用公司现在资源,提高系统开发水平和应用效果。

●了解公司的需要及相关方面的规定,根据需要做出符合要求的软件,并达到操作过程中的直观、方便、实用、安全等要求。

●将系统按模块分工到人,提高效率,且模块化设计便于系统功能的各种组合和修改及日后的维护

●系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、等操作。

1.3开发和运行环境选择

开发工具:

SQL2000,java语言。

运行环境:

WindowsXP,Windows2000或VISTA操作系统。

1.4系统功能分析

本系统主要用于员工基本信息的管理,对员工以及其他信息的添加、修改、删除、查询等基本操作。

对于数据库的保护有数据备份和数据恢复的功能。

针对这些要求,设计本月工资信息管理系统。

该系统主要包括职工信息、职工考勤信息、职工津贴信息。

1)职工信息管理系统

功能为:

财务部门相关人员录入、修改、删除、查询员工个人信息;员工本人能通过用户名和密码查询自己的信息以及修改自己的密码;

2)职工工资管理系统

功能为:

根据工资生成公式,按照员工的考勤情况及各种表现按月生成相应的工资;财务部门相关人员能录入、修改、删除、查询每个月每个员工的工资信息以及工资汇总;员工本人能查询自己的工资信息以及工资汇总;

3)职工津贴管理系统

功能为:

财务部门相关人员录入、修改、删除、查询职工津贴信息;职工本人能查询自己的津贴;

4)职工考勤管理系统

功能为:

后勤管理人员录入、修改、删除、查询职工考勤信息;职工本人能查询自己的考勤情况。

采用模块化设计思想,可以大大提高设计的效率,并且可以最大限度地减少不必要的错误。

其系统结构框图如图所示:

 

图1.1系统功能模块图

2.数据库设计

2.1数据库需求分析

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

图2.1第一层数据流图

图2.2职工信息的载入

图2.3工资的信息载入

图2.4考勤的信息载入

图2.5津贴的信息载入

 

图2.6信息查询及管理的流程图

2.2数据库概念设计

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

1n

m

n

1n

m

n

1n

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

2.3数据库逻辑设计

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

员工(职工号,姓名,工龄,部门岗位,电话号码,密码)

工资(职工号,个人所得税,基本工资,医疗保险,缺勤扣除)

考勤(职工号,缺勤天数,缺勤类别,时间)

津贴(职工号,年终奖金,加班奖金,其他奖金)

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

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

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

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

表一:

员工信息表:

列名

数据类型

可否取空

备注说明

no

Char(8)

NOTNULL

职工号(主键)

name

Char(10)

NOTNULL

职工姓名

gw

Char(20)

NOTNULL

部门岗位

gl

Smallint

NOTNULL

工龄

hm

Char(11)

NULL

电话号码

mi

Smallint

NOTNULL

登录密码

表二:

工资表:

列名

数据类型

可否取空

备注说明

no

Char(8)

NOTNULL

职工号(主键)

Jb

money

NOTNULL

基本工资

yl

money

NULL

医疗保险

Sw

money

NULL

个人所得税

kc

money

NULL

缺勤扣除

Jt

money

NULL

津贴

yz

money

NOTNULL

月总工资

表三:

员工考勤信息表

列名

数据类型

可否取空

备注说明

no

Char(8)

NOTNULL

职工号(主键)

ts

Int(4)

NULL

缺勤天数

lb

Char(30)

NULL

缺勤类别

Sj

Char(10)

NULL

缺勤时间

表四:

津贴信息表

列名

数据类型

可否为空

备注说明

no

Char(8)

NOTNULL

职工号(主键)

Jiaban

money

NULL

月加班奖金

nz

money

NULL

年终奖金

qt

money

NULL

其他奖金

 

3.功能模块详细设计

3.1主界面及工资基本信息界面的设计

图2.8欢迎画面

 

图2.9登录界面

图3.0系统主界面

图3.1考勤信息录入,修改,删除,查询界面

3.2功能描述

1主界面

通过菜单将各个模块连接起来

2.工资基本信息模块

工资基本信息的添加、修改和删除等基本操作

3.3主要源代码

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjava.awt.*;

importjava.sql.*;

importjava.lang.*;

importjava.util.*;

importjavax.swing.table.*;

importjava.math.*;

classzzlcimplementsActionListener{

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

JLabellabel=newJLabel("制作人:

陈松张淑静张虎黎成",JLabel.CENTER);

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

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

ImageIconim=newImageIcon("1.jpg");

JLabela1=newJLabel(im);

voidCreate(){

JPanelpcontentPane=(JPanel)frame.getContentPane();

JPanelpcontentPane1=newJPanel();

pcontentPane.add(label);

pcontentPane.setLayout(newFlowLayout());

pcontentPane.add(button1);

pcontentPane.add(button2);

pcontentPane.add(newLabel(""));

pcontentPane.add(a1);

pcontentPane.setBackground(Color.pink);

pcontentPane.setVisible(true);

button1.addActionListener(this);

button2.addActionListener(this);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.pack();

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

frame.setVisible(true);

}

publicstaticvoidmain(String[]args){

zzlcdome=newzzlc();

dome.Create();

}

publicvoidactionPerformed(ActionEvente){

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

DLdl=newDL();

dl.create();

}

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

System.exit(0);

}

}

}

 

classDLimplementsActionListener{

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

JLabellabel1=newJLabel("用户名");

JLabellabel2=newJLabel("密码");

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

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

JButtoncancelButton=newJButton("退出");

JTextFieldt1=newJTextField(0);

JTextFieldt2=newJTextField(0);

ImageIconim=newImageIcon("2.jpg");

JLabela2=newJLabel(im);

JTextFieldusername=newJTextField(9);

JPasswordFieldpassword=newJPasswordField(9);

voidcreate(){

JPanelp=(JPanel)frame.getContentPane();

JPanelp1=newJPanel();

p.setLayout(newFlowLayout());

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(newJLabel(""));

p.add(logonButton2);

p.add(newJLabel(""));

p.add(cancelButton);

p.add(newJLabel(""));

p.add(a2);

p.add(t1);

p.add(t2);

p.setBackground(Color.red);

p.setVisible(true);

logonButton1.addActionListener(this);

logonButton2.addActionListener(this);

cancelButton.addActionListener(this);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.pack();

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

frame.setVisible(true);

}

publicvoidactionPerformed(ActionEvente){

if(logonButton1.equals(e.getSource())&&(username.getText().equals("123")==true)&&(password.getText().equals("123")==true)){

GZGLZJMgz=newGZGLZJM();

gz.create();

}

else{JOptionPane.showMessageDialog(null,"对不起,你输入的密码错误!

");

};

if(logonButton2.equals(e.getSource())&&(username.getText().equals(t1.getText())==true)&&(password.getText().equals(t2.getText())==true)){

XKxk=newXK();

xk.create();

Connectioncon;

Statementsql;

ResultSetrs;

Vectorvector=newVector();

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}catch(ClassNotFoundExceptione1){

System.out.println(""+e1);

}

try{

con=DriverManager.getConnection("jdbc:

odbc:

123","","");

sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);

sql.executeQuery("SELECTGno,mmFROMYWHEREGno="+t1.getText()+"ANDmm="+t2.getText());

}catch(SQLExceptione1){

System.out.println(e1);

}

}

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

System.exit(0);

}

}

}

classGZGLZJMextendsJFrameimplementsActionListener{

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

JButtonb1=newJButton("津贴管理");

JButtonb2=newJButton("总查询");

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

JButtonb4=newJButton("后勤管理");

JButtonb6=newJButton("员工个人信息管理");

JButtonb5=newJButton("返回");

ImageIconim=newImageIcon("3.jpg");

JLabela3=newJLabel(im);

voidcreate(){

JPanelp=(JPanel)f.getContentPane();

JPanelp1=newJPanel();

p.setLayout(newFlowLayout());

p.add(b1);

p.add(newJLabel(""));

p.add(b6);

p.add(newJLabel(""));

p.add(b3);

p.add(newJLabel(""));

p.add(b4);

p.add(newJLabel(""));

p.add(b2);

p.add(newJLabel(""));

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);

b5.addActionListener(this);

b6.addActionListener(this);

f.setBounds(200,100,800,600);

f.setVisible(true);

}

publicvoidactionPerformed(ActionEvente){

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

DLd=newDL();

f.dispose();

}

if(b1.equals(e.getSource())){//津贴管理

JTGLjt=newJTGL();

jt.create();

}

if(b6.equals(e.getSource())){//员工个人信息管理

YGGLyg=newYGGL();

yg.create();

}

if(b2.equals(e.getSource())){//查询

XKxk=newXK();

xk.create();

}

if(b4.equals(e.getSource())){//后勤管理

KQGLkq=newKQGL();

kq.create();

}

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

GZGLgz=newGZGL();

gz.create();

}

}

}

classKQGLimplementsActionListener{

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);

JButtonb6=newJButton("查询单人考勤");

String[]cloum={"职工号","缺勤天数","缺勤类别","缺勤时间"};

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

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.add(b6);

p1.add(b5);

JPanelp2=newJPanel();

p2.setBackground(Color.red);

p2.add(scrollpane);

JPanelp3=newJPanel();

p.setLayout(newFlowLayout());

p.add(newJLabel(""));

p.add(newJLabel("职工号"));

p.add(tf1);

p.add(newJLabel("缺勤天数"));

p.add(tf2);

p.add(newJLabel("缺勤类别"));

p.add(tf3);

p.add(newJLabel(""));

p.add(newJLabel("缺勤时间"));

p.add(tf4);

p.add(newJLabel("在此处输入职工号点击查询删除"));

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.addActionListener(this);

b4.addActionListener(this);

b5.addActionListener(this);

b6.addActionListener(this);

f.setBounds(200,100,500,600);

f.setResizable(true);

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

当前位置:首页 > 经管营销

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2