工资管理系统Word格式.docx

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

工资管理系统Word格式.docx

《工资管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《工资管理系统Word格式.docx(39页珍藏版)》请在冰点文库上搜索。

工资管理系统Word格式.docx

管理人员能够对员工信息进行增删改查,对员工工资进行操作。

迅速准确地完成各种工资信息的统计计算和汇总工作。

二.问题描述

2.1问题概述

设计一个工资管理系统,实现管理员对员工信息和员工工资管理的基本功能,能够进行基本的增删改查操作。

员工也可登录自己的账号,进行一系列信息查询操作。

2.2系统设计目标

员工信息管理软件目标在于减轻管理人员的负担,提高工作效率。

以及实现员工对自己信息查询功能。

该工资管理系统是实现员工信息管理,工资管理的基本功能。

2.3系统主要功能

1.登录系统:

区分管理员,员工,给予不同的操作权限。

2.工资管理:

管理员可以通过此功能,修改,添加新用户,及新用户工资信息。

普通员工则只能查询自己的工资,修改密码。

3.员工信息管理:

管理员可以添加,修改,删除,查询员工信息。

三.需求分析

3.1设计思想

工资管理系统是企业员工管理重要的一个环节,员工工资管理软件有助于减轻企业管理人员的负担,提高工作效率。

该员工管理系统是对员工信息管理,工资管理,进行管理和维护,实现员工管理的基本功能。

本系统要求运行稳定,图形界面符合用户的日常使用习惯,数据处理正确无误。

3.2可行性分析

可行性分析也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。

可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。

该系统的可行性分析包括以下几个方面的内容。

A.技术可行性:

后台数据库采用Mysql,使用java编程,采用JDBC方式连接数据库,这些在目前都是容易实现的。

B.经济可行性:

在经济上,用此系统加强了企业员工管理效率,为企业管理人员提供了较高的效率,可节省人力资源的开支。

C.管理的可行性:

在工作上,企业员工工资管理信息量非常大,开发了此系统,可极大提高企业管理人员的工作的效率。

提高决策的管理能力等等,方便数据的储存和修改,及以后随时查询员工信息、工资信息,是一个比较人性化的管理系统。

由以上分析得出,本系统可进行开发。

3.3功能需求

3.3.1基本功能需求

区分不同的管理员,给予不同的操作权限

2.员工信息管理:

管理员可以通过此功能,添加新用户,添加员工相关信息,普通员工则只能修改自己的密码。

3.员工工资管理:

管理员添加员工工资相关信息,并进行工资统计计算。

4.员工查询个人工资:

员工查询自己工资相关信息。

5.修改密码:

员工可自行修改密码

3.3.2用户界面需求

界面对于用户来说至关重要,既是用户对软件评价的根据,也是用户最终使用的。

所以界面设计的怎么样,对于整个系统的成功与否有着密切联系。

当然,也许界面设计的好不会让其性能更好,但是设计的不好只会让它更差。

界面设计原则必须是,操作步骤少,随时提示用户系统正在进行哪些操作,减少用户记忆的东西。

3.4性能需求

1.硬件环境

处理器:

CPU1GHZ或更高

内存:

256M以上

硬盘空间:

120G以上

2.软件环境

操作系统:

Windows7

数据库:

Mysql

3.5系统设计基础

3.5.1系统数据流图

管理

图3.1顶级数据流图

图3.2添加或删除相关信息数据流图

登录

图3.3员工查询信息数据流图

四.概要设计

4.1功能描述

该系统的功能需求有如下方面

1.登录系统:

区分不同的人员,给予不同的操作权限。

2.员工信息管理:

管理员通过此功能,添加新用户,添加员工相关信息。

3.员工工资管理:

管理人员添加员工工资相关信息。

4.员工查询个人工资:

员工查询自己工资及相关信息。

5.修改密码:

员工可自行修改密码。

4.2系统模块

本系统分为三个模块:

系统模块:

管理系统用户的添加修改删除查询。

资源管理:

管理公司的员工,工资相关信息

数据管理:

管理本软件的数据库中的数据的导入,导出。

4.3系统功能模块图

图4.1系统功能模块图

五.数据库设计

5.1数据库简介

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。

数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。

根据系统开发的需要,以及考虑到数据库存储量的大小及数据量的多少,我选择了Mysql数据库。

因为开发的时间比较短加上所需要做的事情比较多,只能对数据库进行增、删、改、查等操作的了解与学习。

5.2概念设计

图5.1员工信息E-R图

图5.2工资信息E-R图

图5.3津贴信息E-R图

5.3逻辑结构设计

员工(职工号,姓名,密码)

工资(职工号,姓名,基本工资,扣除金额)

津贴(职工号,姓名,奖金)

5.4物理结构设计

表5.1员工信息表:

列名

数据类型

可否为空

说明

主/外键

no

varchar(8)

NOTNULL

员工号

主键

name

varchar(10)

员工姓名

mi

Smallint

密码

表5.2基本工资表:

外键

NULL

jb

double

基本工资

表5.3津贴信息表

jt

津贴

六.详细设计

6.1基本信息模块

6.1.1登录系统

(1)模块功能

此模块用于登录管理系统,管理员和员工进行各自权限之内的操作。

(2)界面设计

图6.1登录界面

(3)实现代码

packagecom.salary;

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;

importjava.sql.*;

publicclassDLextendsJFrameimplementsActionListener{

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(40,80);

p.add(username);

p.setSize(100,200);

p.setLocation(800,800);

p.add(label2);

p.setSize(50,20);

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("

)==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("

com.mysql.jdbc.Driver"

).newInstance();

con=DriverManager.getConnection(

"

jdbc:

mysql:

//localhost:

3306/wagemanagement"

"

root"

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

{

YGGLZJMyg=newYGGLZJM();

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

}

6.1.2工资管理

此模块用于实现对员工工资和信息的增删改查功能。

图6.2工资管理界面

packagecom.salary;

importjava.sql.SQLException;

importjavax.swing.JScrollPane;

importjavax.swing.JSplitPane;

importjavax.swing.JTable;

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

p.add(splitpane);

p1.add(b1);

p1.add(b2);

p1.add(b3);

p1.add(b4);

p1.add(b5);

JPanelp2=newJPanel();

p2.setBackground(Color.cyan);

p2.add(scrollpane);

JPanelp3=newJPanel();

p.add(newJLabel("

));

p.add(tf1);

p.add(tf2);

p.add(tf3);

p.add(tf4);

扣除"

p.add(tf5);

在此处输入职工号点击查询删除"

p.add(tf6);

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

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

f.setResizable(true);

//可以调整界面大小

f.setVisible(true);

publicvoidactionPerformed(ActionEvente){

if(b1.equals(e.getSource())){//录入

Connectioncon;

Statementsql;

}catch(ClassNotFoundExceptione1){

System.out.println("

+e1);

con=DriverManager.getConnection("

sql=con.createStatement();

StringinsertStr="

INSERTINTOwelfare(no,name,jt)VALUES('

+tf1.getText()+"

'

+tf2.getText()+"

+tf3.getText()+"

sql.executeUpdate(insertStr);

StringinsertStr1="

INSERTINTOwageinfo(no,name,jb)VALUES('

+tf4.getTex

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

当前位置:首页 > 农林牧渔 > 林学

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

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