1、什么是JavaBeans?JavaBeans就是Java的可重用组件技术。ASP通过COM来扩充复杂的功能,如文件上载、发送email以及将业务处理或复杂计算分离出来成为独立可重复利用的模块。JSP通过JavaBeans实现了同样的功能扩充。JSP对于在Web应用中集成JavaBeans组件提供了完善的支持。这种支持不仅能缩短开发时间还可以直接利用经测试和可信任的已有组件,避免了重复开发也为JSP应用带来了更多的可伸缩性。JavaBeans组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。在实际的JSP开发过程中 读者将会发现,和传统的ASP或PHP页面相比,JSP页面将会是
2、非常简洁的,由于JavaBeans开发起来简单,又可以利用Java语言的强大功能 许多动态页面处理过程实际上被封装到了JavaBeans中。 本系统概述了工资管理的需求、整体结构、基本功能和数据库结构。内容包括:对普通工资管理业务中存在的一些问题的分析,对工资的数据进行查询、统计、报表打印等基本功能的分析设计和实现。重点介绍了工资管理信息系统中数据查询统计模块的分析和设计以及如何利用本系统的开发解决以往工资管理中存在的需要人工管理,进行人工统计,对工资的统计和查询都很单一、不能综合处理业务、工作效率低等问题。第二章 系统分析2.1 可行性分析2.1.1 经济可行性分析工资管理作为企业内部财务管
3、理的一个重要方面,已逐步被企业管理者所重视,由于企业的规模的不断扩,大企业职工人数的不断增多,使工资发放成为企业管理中的一个重课题;再加上每一位职工的具体实际情况相同,规章制度的不完善,增大了个人工资发放难度;每个人每月的工资都要通过工资制度的审核,这大大增加了管理人员的工作量,通过计算机管理系统对员工工资进行全面的统计与管理,全面解决了工资管理过程中所遇到的各种问题,并且克服了传统管理方式中的易出错等问题,提高了企业管理的效率,并且这些信息都具有极高的安全性和保密性。2.1.2技术可行性分析技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要,各类技
4、术人员的数量,水平,来源等。工资管理系统的工作主要是在企业和员工之间架起一座桥梁,能相互沟通信息和处理信息。这一特点非常适合计算机特点,通过网络internet技术,发挥计算机的信息传输速度快、准确度高的优势。计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件2.1.3社会可行性分析社会可行性有时也称为操作可行性,主要论证新系统在企业或机构开发和运行的可能性以及运行后可能一起的对企业或机构的影响,即组织内外是否具备接受和使用新系统的条件。在当前信息技术飞速发展的大环境下,计算机技术和软件技术的更新使人们完全有可能也有能力采用这样先进的管理技术。在某种意义上,信息与科技在现代化建设中显现
5、出越来越重要的地位。管理方面的信息化与科学化,已成为现代化生活水平步入高台阶的重要标志。好的管理系统对提高人们的生活效益是极为有益的2.2功能需求 1、系统功能的基本要求:(1)员工每个工种基本工资的设定(2)加班津贴管理,根据加班时间和类型给予不同的加班津贴;(3)按照不同工种的基本工资情况、员工的考勤情况产生员工的每月的月工资;(4)员工年终奖金的生成,员工的年终奖金计算公式(员工本年度的工资总和津贴的总和)/12;(5)企业工资报表。能够查询单个员工的工资情况、每个部门的工资情况、按月的工资统计,并能够打印;2、数据库要求:在数据库中至少应该包含下列数据表:(1)员工考勤情况表;(2)员
6、工工种情况表,反映员工的工种、等级,基本工资等信息;(3)员工津贴信息表,反映员工的加班时间,加班类别、加班天数、津贴情况等;(4)员工基本信息表(5)员工月工资表。2.3数据流程图2.3.1总数据流程图图2-1总数据流程图2.3.2职员信息载入图2-2职员信息2.3.3工资信息载入图2-3工资信息2.3.4考勤信息载入图2-4考勤信息2.3.5津贴信息载入图2-5津贴信息2.4数据字典工资管理系统各实体及联系的数据字典2.4.1数据流的描述数据流的编号:D001 数据流的名称:员工基本信息 简述:与员工有关的基本信息 数据流来源:员工基本信息表 数据流去向:员工,部门 数据流组成:员工编号+
7、姓名+性别+年龄+部门+进入公司时间+住址 D002 工资结构信息 查询工资时所包含的相关信息 工资信息表 员工 员工编号+加班加班+出差工资+迟到早退+矿工工资+应发工资+实发工资D003 职务部门信息 查询员工职务部门信息 职务部门信息表 员工 数据流组成:员工编号+职务+部门 D004 员工变动信息 查询员工变动情况 员工变动信息表 员工编号+原职务+原部门+现职务+现部门2.4.2处理逻辑的描述处理逻辑编号:p001 处理逻辑名称:工资统计 对工资进行统计、计算 输入的数据流:基本工资信息 处理描述:根据职工的职位及其他相应情况计算出工资 输出的数据流:工资信息 p002 员工信息处理
8、 对员工信息进行处理 员工信息 处理描述:根据员工的基本信息进行各种操作 员工信息 p003 变动处理 对员工的变动情况进行处理 输入的数据流:可进行添加、修改和删除等操作 员工变动信息2.4.3数据存储的描述数据存储编号:F001 数据存储名称:员工的基本信息 数据存储组成:关键字:员工编号 相关联的处理:P002 F002 基本工资表 员工的工资信息员工编号+加班加班+出差工资+迟到早退+矿工工资 P001 F003 变动信息表 员工的变动信息 员工编号+原职务+原部门+现职务+现部门 P002,P003第三章 数据库设计3.1数据库概念设计有了数据流图,用E-R图来说明工资信息管理系统的
9、数据库概念模式。图3-1总E-R图图3-2工资E-R图图3-3津贴E-R图图3-4考勤E-R图图3-5员工E-R图3.2系统详细设计3.2.1数据库逻辑设计将以上E-R转换成如下关系模式员工(职工号,姓名,工龄,部门岗位,电话号码,密码)工资(职工号,个人所得税,基本工资,医疗保险,缺勤扣除)考勤(职工号,缺勤天数,缺勤类别,时间)津贴(职工号,年终奖金,加班奖金,其他奖金)其中,标有下划线的字段表示为该数据表的主码,即主关键字。在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。工资信息管理系统数据库中各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中
10、的一个表。表一:员工信息表:列名数据类型可否取空备注说明no Char ( 8 )NOT NULL职工号(主键)nameChar(10)职工姓名gwChar(20)部门岗位glSmallint工龄hmChar(11)NULL电话号码mi登录密码图3-6表二:工资表:Char ( 8 )Jbmoney基本工资yl医疗保险Sw个人所得税kc缺勤扣除Jt津贴yzNOT NULL 月总工资图3-7表三:员工考勤信息表tsInt(4)缺勤天数lbChar(30)缺勤类别Sj缺勤时间图3-8表四:津贴信息表可否为空Jiaban月加班奖金nz年终奖金qt其他奖金图3-93.3功能模块图3-10模块图3.4各
11、模块功能3.4.1职工信息管理系统 功能为:财务部门相关人员录入、修改、删除、查询员工个人信息;员工本人能通过用户名和密码查询自己的信息以及修改自己的密码;3.4.2职工工资管理系统 功能为:根据工资生成公式,按照员工的考勤情况及各种表现按月生成相应的工资;财务部门相关人员能录入、修改、删除、查询每个月每个员工的工资信息以及工资汇总;员工本人能查询自己的工资信息以及工资汇总;3.4.3职工津贴管理系统财务部门相关人员录入、修改、删除、查询职工津贴信息;职工本人能查询自己的津贴;3.4.4职工考勤管理系统后勤管理人员录入、修改、删除、查询职工考勤信息;职工本人能查询自己的考勤情况。采用模块化设计
12、思想,可以大大提高设计的效率,并且可以最大限度地减少不必要的错误。第三章 系统实现3.1界面截图3.1.1登录界面图3-1登录界面3.1.2系统主界面图3-2系统主界面3.1.3考勤信息录入,修改,删除,查询界面图3-3录入修改考勤3.2设计代码Java源程序:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;import java.lang.*;import java.util.*;import javax.swing.table.*;import java.math.*; cla
13、ss DB_LS implements ActionListener JFrame frame=new JFrame(欢迎进入LS工资管理系统); JLabel label=new JLabel(09网络2_54_李胜,JLabel.CENTER); JButton button1=new JButton(进入系统 JButton button2=new JButton(退出系统 ImageIcon im=new ImageIcon(1.jpg JLabel a1=new JLabel(im); void Create() JPanel pcontentPane=(JPanel)frame.g
14、etContentPane(); JPanel pcontentPane1=new JPanel(); pcontentPane.add(label); pcontentPane.setLayout(new FlowLayout(); pcontentPane.add(button1); pcontentPane.add(button2); pcontentPane.add(new Label( ); pcontentPane.add(a1); pcontentPane.setBackground(Color.green); pcontentPane.setVisible(true); but
15、ton1.addActionListener(this); button2.addActionListener(this); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setBounds(200,100,550,600); frame.setVisible(true); public static void main(String args) DB_LS dome=new DB_LS(); dome.Create(); public void actionPerformed(ActionE
16、vent e) if(button1.equals(e.getSource() DL dl=new DL(); dl.create(); if(button2.equals(e.getSource()/退出 System.exit(0); class DL implements ActionListener职工/管理员登陆 JLabel label1=new JLabel(用户名 JLabel label2=new JLabel(密码 JButton logonButton1=new JButton(管理员登录 JButton logonButton2=new JButton(职工登录 JBu
17、tton cancelButton=new JButton(退出 JTextField t1=new JTextField(0); JTextField t2=new JTextField(0);2.jpg JLabel a2=new JLabel(im); JTextField username=new JTextField(9); JPasswordField password=new JPasswordField(9); void create() JPanel p=(JPanel)frame.getContentPane(); JPanel p1=new JPanel(); p.set
18、Layout(new FlowLayout(); 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(new JLabel( p.add(logo
19、nButton2); p.add(cancelButton); p.add(a2); p.add(t1); p.add(t2); p.setBackground(Color.blue); p.setVisible(true); logonButton1.addActionListener(this); logonButton2.addActionListener(this); cancelButton.addActionListener(this); frame.setBounds(200,100,750,550); if(logonButton1.equals(e.getSource()&(
20、username.getText().equals(123)=true)&(password.getText().equals()=true) GZGLZJM gz=new GZGLZJM(); gz.create(); elseJOptionPane.showMessageDialog(null,对不起,你输入的密码错误! ; if(logonButton2.equals(e.getSource()&(username.getText().equals(t1.getText()=true)&(password.getText().equals(t2.getText()=true) XK xk=new XK(); xk.create(); Connection con; Statement sql; ResultSet rs; Vector vector=new Vector(); try Class.fo
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1