小型工资管理系统 java 报告书

更新时间:2024-05-02 01:32:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

10届 第2学年 1学期 Java语言程序设计小组课程设计

报告书

小组名称: 致知小组

小组题目: 小型工资管理系统 专 业: 信息管理与信息系统 班 级: 6班 姓 名: 组长: 钱海燕

(组员:) 史丞玉

胡晓康 付爽 刘文婷

指导教师: 任 敏 贤 完成日期: 2012年1月4日

小型工资管理系统

1、问题描述

设计一个小型工资管理系统,为公司员工提供一套完整的信息,以便于公司对员工的管理。

2、开发环境搭建

Java开发环境的搭建包括三个部分: (1)JDK下载、安装及配置

下载:在Oracle官网下载的jdk-7u2版本。

安装:解压下载的JDK后,进入安装状态,下载好的JDK是一个可执行安装程序,执行安装即可。安装完成在安装目录下会有jdk1.7.0和jre1.7.0两个文件夹。

设置环境变量:

打开“我的电脑 -> 属性 -> 高级 -> 环境变量 -> 系统变量”,设置以下三个变量:

JAVA_HOME= 如:D:/Java/jdk1.7.0; CLASSPATH=.如:D:/Java/jdk1.70/lib; Path=<原Path>;如:D:/Java/jdk1.7.0/bin; 请注意:CLASSPATH变量的值是“.”(不包括引号).

打开“windows”的“命令提示符”窗口,在提示符下输入javac,如果出现编译器的选项,说明编译器正常。输入java,如果出现解释器的选项,说明解释器正常。这样就可以使用JDK编译和运行JAVA程序了。

(2)eclipse下载、安装

下载:在相应的官网上下载即可。

安装:直接解压,在eclipse目录里面找到eclipse.exe (3)SQL Server 2000 4 in 1的下载、安装及配置 下载:在微软官网上下载即可。

安装:解压后选择个人版进行安装,选择windows用户混合验证模式。再安装补丁包,最后添加ODBC数据源。

3、系统功能

(1)进行系统的需求分析:

随着科学技术的发展和整个社会的进步,计算机技术也得到了很大的提高,特别是微型计算机的大范围普及,是计算机的应用逐渐有科学计算、实时控制等方面向非数值处理的各个领域渗透并发挥着越来越重要的作用。尤其是以微型计算机为处理核心,以数据库管理系统为开发环境的管理系统在办公室自动化以及商业信息管理等方面的应用,日益受到人们的关注。

对一个企业而言,人力资源是企业最宝贵的资源,也势必企业的“生命线”。而工资管理是企业管理的一个重要环节,其管理方式和工具对企业的决策者和管理者来说至关重要。但一直以来大多企业内部人事和工资的管理基本上都是传统的手工操作,这种人管理的方式效率低,保密性差,而且很难满足及时记录、随时查询的需要,为信息的管理者带来诸多不便。

利用计算机进行信息控制和数据处理,不仅从整体上大大提高了

工作效率和安全性,而且具有存储量大,寿命长,成本低等优点,这些更是手工管理所无法比拟的。用计算机支持完成人事管理的日常事务,能够使人事管理自动化和科学化,提高了信息处理得速度和准确性;工资管理更是一项琐碎、复杂而又十分细致的工作,如果实行手工操作,会浪费工作人员很多时间和精力,且失误在所难免,而使用计算机进行工资计算和发放,不仅能够保证工资核算准确无误,而且能对相关信息进行统计,使工资与考勤、奖惩等事项合理挂钩,是企业内部管理体制更加科学有效。总之,为了很好的实现数据的录入、插入、查询、统计、更新等功能,已达到使企业人事工资信息管理科学化、系统化、规范化和自动化的目的,建立人事工资管理的需求。 系统的设计目标

1.设计出一套简单、方便的小型工资管理系统,方便公司对员工的管理。

2.在设计该人事管理系统的过程中,深化对JAVA的学习,以便掌握JAVA中的各种知识。 系统的可行性分析

技术上的可行性分析要考虑将来要采用的硬件和软件技术能否满足用户提出的要求。此外,还要考虑开发人员的水平,经过学习,在编程方面有一定的基础。

经济的可行性分析分为两个方面,一方面是支出的费用,另一方面是取得的收益。这是一个小型的工资管理系统,从投入的人力、财力与物力来讲是非常小的,只要有电脑就可以了。从节省人力方面,

可以让管理人员从繁冗复杂的工作中解脱出来,做更多的工作,可以给工资管理提高一个层次。

(2)系统的总体设计

建立系统的功能模型(各个模块的调用关系)

系统登录 系统设置 系统退出 添加职工 小型 工资管理系统 职工管理 修改职工 删除职工 添加工资 工资管理 修改工资 工资查询 按工号查询 职工查询 按姓名查询 帮助

(1)界面漂亮大方,简洁易懂,操作性强;

(2)每个模块分工明确,内容简明扼要,提示性强。 (3)代码准确无误,不含任何语法及逻辑错误,注释标注明确,使人一目了然。

(4)系统具有很高的实用性,可真正投入实际使用。 (5)程序将由小组每位成员分工合作完成,在自己的努力与相互帮助下,深化对JAVA的学习。

4、任务模块分配表:

成员 钱海燕 付爽 胡晓康 史丞玉 刘文婷 负责的功能模块说明 界面设计与数据库的连接 系统主函数、登录、退出与帮助 职工信息的添加、修改、删除 工资信息的添加、修改、查询 员工信息的查询(按工号查询与按姓名查询) 5、测试数据

登陆系统:输入用户名admin,密码1234,成功进入主界面;若用户

名或密码错误,则跳出对话框,显示登录失败,无法进入主界面。

数据库登陆:输入用户名sa,密码1234,成功进入数据库;若用户

名或密码错误,则抛出异常。

职工信息添加:输入职工的信息,包括职工的姓名、工号、性别、年

龄、家庭住址与联系电话。选择保存键可以保存该职工的信息。

职工信息修改:输入要修改的职工的工号,选择查找键进行查找,包

括职工的姓名、性别、年龄、家庭住址与联系电话。选择修改键可以保存修改后职工的信息。如果成功,则跳出对话框,显示修改成功;若无法找到该职工工号,跳出对话框,显示修改失败。

职工信息删除:输入要删除的职工的工号,找出要删除的职工,选择

删除键完全删除该职工的所有信息。如果成功,则跳出对话框,显示删除成功;若无法找到该职工工号,跳出对话框,显示删除失败。

工资信息添加:输入职工的工号,然后输入其工资,添加工资。如果

成功,则跳出对话框,显示添加成功;若无法找到该职工工号,跳出对话框,显示添加失败。

工资信息修改:输入职工的工号,选择查找键进行查找,修改相应的

工资信息,选择修改键可以保存修改后工资的信息。如果成功,则跳出对话框,显示修改成功;若无法找到该职工工号,跳出对话框,显示修改失败。

工资信息查询:输入要查询的职工的工号,选择工资查询,即可显示

出该职工的工资。如果成功,则跳出对话框,显示查询成功;若无法找到该职工工号,跳出对话框,显示查询失败。

按工号查询职工:输入要查询的职工的工号,然后选择查找,即可显

示该职工信息;若无法找到该职工工号,跳出对话框,

显示查询失败。

按姓名查找职工:输入要查找的职工的姓名,然后选择查找,即可显

示该职工信息。若无法找到该职工姓名,跳出对话框,显示查询失败。

6、程序模块调用关系图

登录 登陆系统成功! 小型工资管理系统 密码或用户名错误! 系统 职工管理 工资管理 职工查询 帮助 退出 添加职工 修改职工 删除职工 添加工资 修改职工 工资查询 按工号查询 按姓名查询 互动

图6程序模块调用关系图

7、源程序

登陆系统源代码

import javax.swing.*; import java.awt.*; import java.awt.event.*; public class LogOn {

public static void main(String[] args){

final JFrame jfrmlogin=new JFrame(\系统登录\框标

题是 系统登录

jfrmlogin.setSize(400,280);//设置框的大小 Dimension

screenSize=Toolkit.getDefaultToolkit().getScreenSize();

jfrmlogin.setLocation((int)

(screenSize.width-400)/2,(int)(screenSize.height-300)/2);//设置框出现的位置

//构建面板 p1、p2、p3 //p1->用户名+文本框 JPanel p1=new JPanel(); p1.add(new JLabel(\用户名:\

final JTextField jtxtuser=new JTextField(14);

//p2->密码+文本框

JPanel p2=new JPanel();

p2.add(new JLabel(\密码:\

final JPasswordField jspwd=new JPasswordField(14); //p3->登陆+退出 两按钮 JPanel p3=new JPanel();

JButton jbtok=new JButton(\登录\JButton jbtexit=new JButton(\退出\//将组件加入到面板中 p1.add(jtxtuser); p2.add(jspwd); p3.add(jbtok); p3.add(jbtexit);

//,登陆键的监听器设置

jbtok.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

String a,b;

a=jtxtuser.getText(); //密码框置为不可见的字符

b=jspwd.getText(); if((a.equals(\

{

//如果成功则调用系统程序 隐藏当前

}

}

catch(Exception exception){ }

exception.printStackTrace();

//界面初始化方法

private void jbInit() throws Exception {

//创建内容面板

contentPane =(JPanel) getContentPane(); //设置内容面板的布局为空 contentPane.setLayout(null); //主框架的大小 Dimension

screenSize=Toolkit.getDefaultToolkit().getScreenSize();

setLocation((int)

(screenSize.width-400)/2,(int)(screenSize.height-300)/2);

setSize(new Dimension(400,360));

//主框架的标题

setTitle(\小型工资管理系统\//添加事件监听器

jMenuItem0.addActionListener(this); jMenuItem1.addActionListener(this); jMenuItem2.addActionListener(this); jMenuItem3.addActionListener(this); jMenuItem4.addActionListener(this); jMenuItem5.addActionListener(this); jMenuItem6.addActionListener(this); jMenuItem7.addActionListener(this); jMenuItem8.addActionListener(this); jMenuItem9.addActionListener(this); //添加菜单条到主框架 setJMenuBar(jMenuBar1); //添加菜单到菜单条 jMenuBar1.add(jMenu0); jMenuBar1.add(jMenu1); jMenuBar1.add(jMenu2); jMenuBar1.add(jMenu3); jMenuBar1.add(jMenu4); //添加菜单项到菜单 jMenu0.add(jMenuItem0); jMenu1.add(jMenuItem1); jMenu1.add(jMenuItem2);

jMenu1.add(jMenuItem3); jMenu2.add(jMenuItem4); jMenu2.add(jMenuItem5); jMenu2.add(jMenuItem8); jMenu3.add(jMenuItem6); jMenu3.add(jMenuItem7); jMenu4.add(jMenuItem9); //添加标签到主框架内容面板 contentPane.add(jLabel1); contentPane.add(jLabel2); //设置标签组件的大小和字体 jLabel1.setFont(new java.awt.Font(\黑体

\

jLabel1.setBounds(new Rectangle(65,70,275,55)); jLabel2.setFont(new java.awt.Font(\黑体

\

}

//菜单项事件对应的处理方法

public void actionPerformed(ActionEvent actionEvent) {

//点击“系统”菜单下的“退出”菜单项 jLabel2.setBounds(new Rectangle(90,150,200,35));

if(actionEvent.getSource()==jMenuItem0) {

JOptionPane.showMessageDialog(null,\您已成功退

出系统!\系统提示\

}

//点击“职工管理”菜单下的“添加职工”菜单项 if(actionEvent.getSource()==jMenuItem1) { }

//点击“职工管理”菜单下的“修改职工”菜单项 if(actionEvent.getSource()==jMenuItem2) {

//创建“修改职工”面板对象 //创建“添加职工”面板对象

AddEmployee AddEmp=new AddEmployee(); //移除主框架上原有的内容 this.remove(this.getContentPane()); //加载“添加职工”面板的对象到主框架 this.setContentPane(AddEmp); //令界面可见 this.setVisible(true); System.exit(0);

ModifyEmployee ModifyEmp=new

ModifyEmployee();

}

//点击“职工管理”菜单下的“删除职工”菜单项 if(actionEvent.getSource()==jMenuItem3) { }

//点击“工资管理”菜单下的“添加工资”菜单项 if(actionEvent.getSource()==jMenuItem4) {

//创建工资添加的面板对象 AddSalary AddSal=new AddSalary(); //创建“删除职工”面板对象

DeleteEmployee DeleteEmp=new DeleteEmployee(); this.remove(this.getContentPane()); //加载“删除职工”面板的对象到主框架 this.setContentPane(DeleteEmp); this.setVisible(true);

this.remove(this.getContentPane()); //加载“修改职工”面板的对象到主框架 this.setContentPane(ModifyEmp); this.setVisible(true);

}

this.remove(this.getContentPane()); //加载工资添加面板的对象到主框架 this.setContentPane(AddSal); this.setVisible(true);

//点击“工资管理”菜单下的“修改工资”菜单项 if(actionEvent.getSource()==jMenuItem5) { }

//点击“工资管理”菜单下的“工资查询”菜单项 if(actionEvent.getSource()==jMenuItem8) {

//创建工资修改的面板对象

SalaryInquire SalaryInq=new SalaryInquire(); this.remove(this.getContentPane()); //加载工资修改面板的对象到主框架 //创建工资修改的面板对象

ModifySalary ModifySal=new ModifySalary(); this.remove(this.getContentPane()); //加载工资修改面板的对象到主框架 this.setContentPane(ModifySal); this.setVisible(true);

}

this.setContentPane(SalaryInq); this.setVisible(true);

//点击“职工查询”菜单下的“按工号查询”菜单项 if(actionEvent.getSource()==jMenuItem6) { }

//点击“职工查询”菜单下的“按姓名查询”菜单项 if(actionEvent.getSource()==jMenuItem7) {

//创建“按姓名查询”面板对象

InquireOnName OnName=new InquireOnName(); //移除主框架上原有的内容 this.remove(this.getContentPane()); this.setContentPane(OnName); this.setVisible(true);

//创建“按工号查询”面板对象 InquireOnGH OnGH=new InquireOnGH(); //移除主框架上原有的内容 this.remove(this.getContentPane()); this.setContentPane(OnGH); this.setVisible(true);

} }

}

//点击“帮助”菜单下的“互动”菜单项 if(actionEvent.getSource()==jMenuItem9) { }

//创建“帮助”面板对象

EmployeeHelp EmployeeH=new EmployeeHelp(); //移除主框架上原有的内容 this.remove(this.getContentPane()); this.setContentPane(EmployeeH); this.setVisible(true);

数据库源代码

//类DBConnect用于数据库的连接

//导入sql包

import java.sql.*;

//创建数据库连接类DBConnect public class DBConnect {

//静态方法提高数据库的连接效率

public static Connection getConn() throws Exception

{

//加载JDBC驱动

Class.forName(\

er\

//以系统默认用户身份,连接数据库StudentManager return

DriverManager.getConnection(\;databaseNames=List\

//加载JDBC驱动

Class.forName(\//以系统默认用户身份,连接数据库StudentManager return

DriverManager.getConnection(\

} }

职工信息输入系统源代码

//添加职工面板类AddEmployee //导入系统的类包

import java.awt.*; import java.sql.*; import javax.swing.*; import java.awt.event.*;

//创建“添加职工“面板类

public class AddEmployee extends JPanel implements

ActionListener

{

//声明连接数据库对象 Connection con; //声明SQL语句对象 Statement st;

//创建组件对象:标签、文本行、单选 JLabel jLabel1=new JLabel(\职工工号\ JLabel jLabel2=new JLabel(\职工姓名\ JLabel jLabel3=new JLabel(\职工性别\ JLabel jLabel4=new JLabel(\职工年龄\ JLabel jLabel5=new JLabel(\家庭住址\ JLabel jLabel6=new JLabel(\联系电话\ JTextField jTextField1=new JTextField(); JTextField jTextField2=new JTextField(); JTextField jTextField3=new JTextField(); JTextField jTextField4=new JTextField(); JTextField jTextField5=new JTextField();

JRadioButton jRadioButton1=new JRadioButton(\男\ JRadioButton jRadioButton2=new JRadioButton(\女\

ButtonGroup buttonGroup1=new ButtonGroup(); JButton jButton1=new JButton(\添加职工\ //构造方法

public AddEmployee() { }

//界面初始化方法

private void jbInit() throws Exception {

//连接数据库

con=DBConnect.getConn(); st=con.createStatement(); //框架的布局 this.setLayout(null); //设置各组件的大小 try{ }

catch(Exception exception){ }

exception.printStackTrace(); //调用初始化方法 jbInit();

jLabel1.setBounds(new Rectangle(21,17,64,24)); jLabel2.setBounds(new Rectangle(21,51,53,22)); jLabel3.setBounds(new Rectangle(21,86,61,27)); jLabel4.setBounds(new Rectangle(21,122,59,25)); jLabel5.setBounds(new Rectangle(21,168,54,24)); jLabel6.setBounds(new Rectangle(21,205,54,24)); jTextField1.setBounds(new Rectangle(102,10,200,30)); jTextField2.setBounds(new Rectangle(102,49,200,30)); jTextField3.setBounds(new Rectangle(102,117,80,33)); jTextField4.setBounds(new Rectangle(102,163,200,29)); jTextField5.setBounds(new Rectangle(102,200,200,29)); jRadioButton1.setBounds(new Rectangle(102,83,65,30)); jRadioButton2.setBounds(new Rectangle(190,85,85,30)); jButton1.setBounds(new Rectangle(130,240,150,32)); //设置单选按钮被选中 jRadioButton1.setSelected(true); //添加按钮动作事件

jButton1.addActionListener(this); //添加组件到面板 this.add(jLabel1); this.add(jTextField1); this.add(jLabel2);

}

this.add(jTextField2); this.add(jLabel3);

buttonGroup1.add(jRadioButton1); buttonGroup1.add(jRadioButton2); this.add(jRadioButton1); this.add(jRadioButton2); this.add(jLabel4); this.add(jTextField3); this.add(jLabel5); this.add(jTextField4); this.add(jLabel6); this.add(jTextField5); this.add(jButton1);

//点击按钮事件

public void actionPerformed(ActionEvent e) {

//获取用户输入的信息

String EmployeeID=jTextField1.getText(); String EmployeeName=jTextField2.getText(); String EmployeeSex=\if(jRadioButton1.isSelected())

EmployeeSex+=\男\

if(jRadioButton2.isSelected())

EmployeeSex+=\女\

String EmployeeAge=jTextField3.getText(); String EmployeeAddress=jTextField4.getText(); String EmployeePhone=jTextField5.getText(); try{

//设置日期格式

st.execute(\

//利用st对象执行SQL语句,进行插入操作 st.executeUpdate(\

values('\mployeeAge+\

功!\

//清空文本行的内容 jTextField1.setText(\jTextField2.setText(\jTextField3.setText(\jTextField4.setText(\jTextField5.setText(\

//利用消息对话框提示职工添加成功

JOptionPane.showMessageDialog(this,\职工添加成

}

catch(Exception ex){

//利用消息对话框提示异常的信息

JOptionPane.showMessageDialog(this,\职工添加失

败!\

ex.printStackTrace();

}

} }

职工信息修改系统源代码

//“职工信息修改”面板类ModifyEmployee //导入系统的类包 import java.awt.*; import java.sql.*; import javax.swing.*; import java.awt.event.*; //创建“职工信息修改资”类

public class ModifyEmployee extends JPanel ActionListener

{

//声明连接数据库对象

implements

Connection con; //声明SQL语句对象 Statement st;

//创建组件对象:标签、文本行、单选

JLabel jLabel1=new JLabel(\请输入职工的编号:\JTextField jTextField1=new JTextField(); JButton jButton1=new JButton(\查找该职工\JLabel jLabel2=new JLabel(\职工编号:\JTextField jTextField2=new JTextField(); JLabel jLabel3=new JLabel(\职工姓名:\JTextField jTextField3=new JTextField(); JLabel jLabel4=new JLabel(\职工性别:\JTextField jTextField4=new JTextField(); JLabel jLabel5=new JLabel(\职工年龄:\JTextField jTextField5=new JTextField(); JLabel jLabel6=new JLabel(\家庭住址:\JTextField jTextField6=new JTextField(); JLabel jLabel7=new JLabel(\联系电话:\JTextField jTextField7=new JTextField(); JButton jButton2=new JButton(\修改职工信息\//构造方法

public ModifyEmployee()

{ }

//面板初始化方法

private void jbInit() throws Exception {

//连接数据库

con=DBConnect.getConn(); st=con.createStatement(); //框架的布局 this.setLayout(null); //设置各组件的大小

jLabel1.setFont(new java.awt.Font(\楷体try{ }

catch(Exception exception){ }

exception.printStackTrace(); //调用初始化方法 jbInit();

\

jLabel1.setBounds(new Rectangle(40,15,140,30)); jTextField1.setBounds(new Rectangle(185,15,120,30));

jButton1.setBounds(new Rectangle(110,55,150,30)); jLabel2.setFont(new java.awt.Font(\楷体

\

jLabel2.setBounds(new Rectangle(20,105,80,30)); jTextField2.setBounds(new Rectangle(100,105,80,30)); jLabel3.setFont(new java.awt.Font(\楷体

\

jLabel3.setBounds(new Rectangle(190,105,80,30)); jTextField3.setBounds(new Rectangle(270,105,80,30)); jLabel4.setFont(new java.awt.Font(\楷体

\

jLabel4.setBounds(new Rectangle(20,145,80,30)); jTextField4.setBounds(new Rectangle(100,145,80,30)); jLabel5.setFont(new java.awt.Font(\楷体

\

jLabel5.setBounds(new Rectangle(190,145,80,30)); jTextField5.setBounds(new Rectangle(270,145,80,30)); jLabel6.setFont(new java.awt.Font(\楷体

\

jLabel6.setBounds(new Rectangle(20,185,80,30)); jTextField6.setBounds(new Rectangle(100,185,80,30)); jLabel7.setFont(new java.awt.Font(\楷体

\

jLabel7.setBounds(new Rectangle(190,185,80,30)); jTextField7.setBounds(new Rectangle(270,185,80,30)); jButton2.setBounds(new Rectangle(120,240,150,30)); //添加按钮动作事件

jButton1.addActionListener(this); jButton2.addActionListener(this); //添加组件到面板 this.add(jLabel1); this.add(jTextField1); this.add(jButton1); this.add(jLabel2); this.add(jTextField2); jTextField2.setEditable(false); this.add(jLabel3); this.add(jTextField3); this.add(jLabel4); this.add(jTextField4); this.add(jLabel5); this.add(jTextField5); this.add(jLabel6); this.add(jTextField6);

}

this.add(jLabel7); this.add(jTextField7); this.add(jButton2);

//点击按钮事件

public void actionPerformed(ActionEvent actionevent) {

//点击“查找该职工”按钮 if(actionevent.getSource()==jButton1) { try{

//利用st对象执行SQL语句,返回结果集对象 ResultSet rs=st.executeQuery(\

Employee where EmployeeID='\

//处理结果集 if(rs.next()) {

jTextField2.setText(rs.getString(\

jTextField3.setText(rs.getString(\

本文来源:https://www.bwwdw.com/article/p04g.html

微信扫码分享

《小型工资管理系统 java 报告书.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
下载全文
范文搜索
下载文档
Top