1、课 程 设 计 任 务 书专 业计算机科学和技术班 级13计专升本姓 名徐占新设 计 起 止 日 期6月30日-7月4日设计题目:工资管理系统设计任务(关键技术参数):1.课程设计目标深入熟悉Java语言语法,加深对数据结构及软件工程中相关知识了解,掌握Java语言编程多种基础操作。2.课程设计要求1) 用Java语言编写工资管理系统程序,采取面向对象设计方法,实现信息录入、删除、修改及查找、汇总等基础功效,并上机调试运行。2) 初步掌握软件系统设计和开发方法,培养独立工作能力。3) 撰写课程设计说明书一份。3. 课程设计环境1) 硬件环境:CPU:Intel Core i3-350M(2.1
2、3GHz) 硬盘:320G 内存:2G2) 软件环境: Myeclipse-10.7.1指导老师评语:成绩: 签字:年 月 日1、课程设计目标工资管理系统系统对企业加强工资管理有着极其关键作用,就通常大型企业来说,它设计内容很复杂而且繁多,比如拥有工资计算功效,工资统计功效,报表输出功效,而且设计模块也很多,比如工资管理模块,工资统计模块,报表设计模块,打印输出模块,模糊查询模块等等。所以,工资管理系统为企业和职员带来极大方便。经过我们组员之间分析和研究,要求系统含有以下功效:提供用户登录、用户查询功效职员考勤情况表1.职员工种情况表,反应职员工种、等级,基础工资等信息2.职员津贴信息表,反应
3、职员加班时间,加班类别、加班天数、津贴情况等3.职员基础信息表4.职员月工资表2、功效描述工资管理系统在用户登录时分两个部分:管理员和一般用户。一般用户能够进入用户界面查询各个信息,但只有查询功效。管理员权限除了一般用户权限外,还有对各个部分信息进行添加、修改、删除等功效。全部功效管理员全部能实现。下面是系统所要达成几条要求:1.要求系统正确统计多种信息。2.系统要提供丰富查询功效。3.系统能够对基础数据进行维护。4.系统运行在Windows平台下,需要有良好图形用户界面。5.系统含有良好可扩展性,良好可移植性。2.1系统体系结构2.1.1 系统登入运行登入系统系统主界面职员信息检索职员绩效管
4、理退出运行图1系统登入系统有一个进入界面,只有输入密码才能进入主菜单,在主菜单中进行部分所需操作。在主菜单中能够添加删除修改登录用户,查找添加职员信息等操作。1、职员信息添加添加这一项,关键工作就是完成对职员资料填写,和对职员平时表现一个客观地而评价,以方便等换成月末对职员奖金数目,给职员颁发月末工资提供一个关键依据。2、职员信息删除 删除这一项,只要工作就是依据职员编号找到对应职员相关资料,并进行删除,删除还有和职员相关奖金和工资也要从总工资支出中一并删除,假如没有找到和编号相关职员资料,那么系统就会发出对应提醒2.1.2菜单界面所连接信息查询删除添加基础工资奖金领取工资职务编号部门工作评价
5、基础工资性别姓名职员拥有部门图2界面连接反应了一个人事管理系统中所要包含部分模块。如:1、职员信息 2、检索职员 3、绩效管理 4、退出运行2.2职员信息管理 图3 职员信息职员工作评价部门基础工资职务职员姓名性别职员编号1职员信息添加1职员信息添加1职员信息添加2职员信息删除3 全部职员信息显示2.3职员信息检索按职员编号检索职员信息按职员姓名按部门按性别图4职员信息 经过不一样条件来查看职员信息,假如所查看信息部存在就会弹出提醒信息框,提醒一随查看职员不存在。2.4职员信息实体和工资信息实体之间联络 2.4.1职员工资图5职员工资职员工资n1领取职务更具职员表现给一个评价,给对应奖金。2.
6、4.2 全部职员工资汇总 经过计算全部职员工资,统计所需支出总工资。3、数据库设计1.用户表:表1用户表结构列名数据类型长度约束用户名char10主键密码char6不为空2.职员基础信息表:表2 职员基础信息表结构列名数据类型长度约束职员编号char10主键姓名char10不为空性别char2不为空出生日期datetime8不为空职称char10许可空部门char10许可空入职时间datetime8不为空3.职职员资表:表3 职职员资表结构列名数据类型长度约束职员编号char10主键年份char4不为空月份char2不为空基础工资int4不为空补助int4许可空奖金int4许可空应发工资int
7、4不为空缴税int4不为空水电费int4不为空保险费int4不为空实发工资int4不为空4、功效实现4.1 具体设计4.1.1 建立系统主窗体工资管理系统第一个界面就是用户登录界面,该界面是用户想要登录本系统必需有步骤,当运行时,弹出界面。按钮选中管理员后,输入正确管理员用户名和密码后,按登录按钮就可进入系统主界面。假如用户名或密码输入错误会出对应提醒信息。运行时登录界面,图5.1所表示。图5.1登陆界面界面关键代码以下:public class Login1public static void main(String args)Loginmf = new Login();class Logi
8、nJFrame login = new JFrame();JButton b0 = new JButton();JButton b1 = new JButton();JTextField inputtext1 = new JTextField(15);JTextField inputtext2 = new JTextField(15);JLabel l1 = new JLabel();JLabel l2 = new JLabel();JLabel l3 = new JLabel();Login()login.setTitle(用户登录);login.setLayout(null);login.
9、setBounds(150,80,320,250);login.setVisible(true);login.add(l3);l3.setBounds(80,-10,100,100);l3.setText(工资管理系统);l3.setFont(new Font(黑体,Font.BOLD,15);login.add(l1);l1.setBounds(50,30,80,80);l1.setText(用户名:);login.add(inputtext1);inputtext1.setBounds(100,60,100,20);login.add(l2);l2.setBounds(50,60,80,8
10、0);l2.setText(密 码:);login.add(inputtext2);inputtext2.setBounds(100,90,100,20);login.add(b0);b0.setBounds(60,130,60,20);b0.setText(登录);b0.setMargin(new Insets(0,0,0,0);login.add(b1);b1.setBounds(130,130,60,20);b1.setText(退出);b1.setMargin(new Insets(0,0,0,0);4.1.2登录窗体import java.awt.*;import java.awt.
11、event.*;import javax.swing.*;import java.sql.*;import java.awt.geom.*;class logFrame extends FrameString sql=null;ResultSet rs=null;sqlconn dbconn=new sqlconn();Label nameLab=new Label( 账 号: );Label pwdLab=new Label( 密 码: );Label desLab=new Label(工资管理系统);TextField nameTxt=new TextField();TextField p
12、wdTxt=new TextField();Button logBut=new Button(登录);Button exitBut=new Button(退出);Image img;public logFrame()setTitle(欢迎使用工资管理系统);setLayout(null);setResizable(false);setSize(400,300);setBackground(Color.LIGHT_GRAY);Dimension scr=Toolkit.getDefaultToolkit().getScreenSize(); Dimension frm=this.getSize(
13、); setLocation(scr.width-frm.width)/2,(scr.height-frm.height)/2-18); img=getToolkit().getImage(getClass().getResource(/login_pic.jpg); nameLab.setBounds(125,185,50,20);pwdLab.setBounds(125,215,50,20);nameTxt.setBounds(185,185,80,20);pwdTxt.setBounds(185,215,80,20);logBut.setBounds(155,245,40,20);exi
14、tBut.setBounds(215,245,40,20);desLab.setBounds(160,50,80,30);/add(nameLab);/add(pwdLab);add(nameTxt);add(pwdTxt);add(logBut);add(exitBut);/add(desLab); /密码文本框显示*pwdTxt.setEchoChar(*);setVisible(true);/注册登陆按钮监听器logBut.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)sql
15、=select * from users where name=+nameTxt.getText()+ and password=+pwdTxt.getText()+;tryrs=dbconn.getRs(sql);if(rs.next()mainFrame mf=new mainFrame();dispose();/调用工资管理系统主界面mf.show();elseJOptionPane jop=new JOptionPane();jop.showMessageDialog(null,用户名或密码,请重新输入!,错误提醒,1);catch(Exception ee);/注册文本框监听器/输密
16、码后按回车键,检验用户密码pwdTxt.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)sql=select * from users where name=+nameTxt.getText()+ and password=+pwdTxt.getText()+;tryrs=dbconn.getRs(sql);if(rs.next()mainFrame mf=new mainFrame();dispose();mf.show();elseJOptionPane jop=new JOpt
17、ionPane();jop.showMessageDialog(null,用户名或密码,请重新输入!,错误提醒,1);catch(Exception ee);/按退出按钮退出系统exitBut.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)/dispose();System.exit(0););/添加窗口关闭按钮关闭功效addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)dispo
18、se(););public void paint(Graphics g) g.setClip(new Rectangle2D.Float(0,0,400,300); g.drawImage(img,0,0,this); public class loginpublic static void main(String args)logFrame logf1=new logFrame();4.1.3添加、修改和删除用户关键代码以下:/系统主框架类/导入系统包import java.awt.*;import java.awt.event.*;import javax.swing.*;/创建主框架类M
19、ainFramepublic class MainFrame extends JFrame implements ActionListener/创建内容面板JPanel contentPane;/创建菜单栏组件对象JMenuBar jMenuBar1=new JMenuBar();/菜单条JMenu jMenu0=new JMenu(系统);/菜单JMenuItem jMenuItem0=new JMenuItem(退出);/子菜单JMenu jMenu1=new JMenu(职员管理);JMenuItem jMenuItem1=new JMenuItem(添加职员);JMenuItem jM
20、enuItem2=new JMenuItem(修改职员);JMenuItem jMenuItem3=new JMenuItem(删除职员);JMenu jMenu2=new JMenu(工资管理);JMenuItem jMenuItem4=new JMenuItem(添加工资);JMenuItem jMenuItem5=new JMenuItem(修改工资);JMenuItem jMenuItem8=new JMenuItem(工资查询);JMenu jMenu3=new JMenu(职员查询);JMenuItem jMenuItem6=new JMenuItem(按工号查询);JMenuIt
21、em jMenuItem7=new JMenuItem(按姓名查询);JMenu jMenu4=new JMenu(帮助);JMenuItem jMenuItem9=new JMenuItem(互动);/创建标签,用于显示信息JLabel jLabel1=new JLabel(工资管理系统);JLabel jLabel2=new JLabel(7月9日);/创建结构方法public MainFrame()try/关闭框架窗口时默认事件方法setDefaultCloseOperation(EXIT_ON_CLOSE);/调用初始化方法jbInit();catch(Exception except
22、ion)exception.printStackTrace();/界面初始化方法private void jbInit() throws Exception/创建内容面板contentPane =(JPanel) getContentPane();/设置内容面板布局为空contentPane.setLayout(null);/主框架大小setSize(new Dimension(400,360);/主框架标题setTitle(工资管理小系统);/添加事件监听器jMenuItem0.addActionListener(this);jMenuItem1.addActionListener(this
23、);jMenuItem2.addActionListener(this);jMenuItem3.addActionListener(this);jMenuItem4.addActionListener(this);jMenuItem5.addActionListener(this);jMenuItem6.addActionListener(this);jMenuItem7.addActionListener(this);jMenuItem8.addActionListener(this);jMenuItem9.addActionListener(this);/添加菜单条到主框架setJMenu
24、Bar(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(jMenuIte
25、m8);jMenu3.add(jMenuItem6);jMenu3.add(jMenuItem7);jMenu4.add(jMenuItem9);/添加标签到主框架内容面板contentPane.add(jLabel1);contentPane.add(jLabel2);/设置标签组件大小和字体jLabel1.setFont(new java.awt.Font(黑体,Font.BOLD,20);jLabel1.setBounds(new Rectangle(65,70,275,55);jLabel2.setFont(new java.awt.Font(黑体,Font.BOLD,16);jLab
26、el2.setBounds(new Rectangle(90,150,200,35);/菜单项事件对应处理方法public void actionPerformed(ActionEvent actionEvent)/点击“系统”菜单下“退出”菜单项if(actionEvent.getSource()=jMenuItem0)System.exit(0);/点击“职员管理”菜单下“添加职员”菜单项if(actionEvent.getSource()=jMenuItem1)/创建“添加职员”面板对象AddEmployee AddEmp=new AddEmployee();/移除主框架上原有内容thi
27、s.remove(this.getContentPane();/加载“添加职员”面板对象到主框架this.setContentPane(AddEmp);/令界面可见this.setVisible(true);/点击“职员管理”菜单下“修改职员”菜单项if(actionEvent.getSource()=jMenuItem2)/创建“修改职员”面板对象ModifyEmployee ModifyEmp=new ModifyEmployee();this.remove(this.getContentPane();/加载“修改职员”面板对象到主框架this.setContentPane(ModifyE
28、mp);this.setVisible(true);/点击“职员管理”菜单下“删除职员”菜单项if(actionEvent.getSource()=jMenuItem3)/创建“删除职员”面板对象DeleteEmployee DeleteEmp=new DeleteEmployee();this.remove(this.getContentPane();/加载“删除职员”面板对象到主框架this.setContentPane(DeleteEmp);this.setVisible(true);/点击“工资管理”菜单下“添加工资”菜单项if(actionEvent.getSource()=jMen
29、uItem4)/创建工资添加面板对象AddSalary AddSal=new AddSalary();this.remove(this.getContentPane();/加载工资添加面板对象到主框架this.setContentPane(AddSal);this.setVisible(true);/点击“工资管理”菜单下“修改工资”菜单项if(actionEvent.getSource()=jMenuItem5)/创建工资修改面板对象ModifySalary ModifySal=new ModifySalary();this.remove(this.getContentPane();/加载工
30、资修改面板对象到主框架this.setContentPane(ModifySal);this.setVisible(true);/点击“工资管理”菜单下“工资查询”菜单项if(actionEvent.getSource()=jMenuItem8)/创建工资修改面板对象SalaryInquire SalaryInq=new SalaryInquire();this.remove(this.getContentPane();/加载工资修改面板对象到主框架this.setContentPane(SalaryInq);this.setVisible(true);/点击“职员查询”菜单下“按工号查询”菜
31、单项if(actionEvent.getSource()=jMenuItem6)/创建“按工号查询”面板对象InquireOnGH OnGH=new InquireOnGH();/移除主框架上原有内容this.remove(this.getContentPane();this.setContentPane(OnGH);this.setVisible(true);/点击“职员查询”菜单下“按姓名查询”菜单项if(actionEvent.getSource()=jMenuItem7)/创建“按姓名查询”面板对象InquireOnName OnName=new InquireOnName();/移除
32、主框架上原有内容this.remove(this.getContentPane();this.setContentPane(OnName);this.setVisible(true);/点击“帮助”菜单下“互动”菜单项if(actionEvent.getSource()=jMenuItem9)/创建“帮助”面板对象EmployeeHelp EmployeeH=new EmployeeHelp();/移除主框架上原有内容this.remove(this.getContentPane();this.setContentPane(EmployeeH);this.setVisible(true);5、
33、设计体会两周时间很快就过去了,在这两周短暂Java课程设计过程中,我们在一起学习,加深我们对Java学科认识深度,平时没怎么太在意,认为开卷考试就有点放松自己。现在知道自己错了,因为在课设过程中,必需得对Java知识尤其了解,而且必需自己动手去做。经过我们共同研究讨论,最终确定了企业工资管理系统。以后我们就开始搜集资料,我们上网下载,到图书馆检索,众多资料,纷繁复杂,真是忙我们不可开交。在我们一起查找资料过程中,经过了解该系统后,我们就把我们小组分工工作做好了。经过这一系列过程我们为以后工作,积累了宝贵经验。每走一步对我们来说全部是新尝试和挑战。充足体会了从事系统开发工作需要尤其严谨认真态度和
34、作风,一点全部马虎不得。每一个细微细节全部必需十分注意,假如不认真思索决议,就会出现或大或小错误,假如早期错误隐藏下来,对后面工作影响就会很大,甚至有时要推倒很多前面做工作重来。给我们印象最深刻是在代码调试过程,认为在该部分是需要很仔细、谨慎。我认为在这次Java课设过程中最关键是在代码调试部分,还有这次我也体会到了团体精神伟大。而且让我明白了小组活动让我们加深对集体荣誉了解。在课设过程中,我们有心情低落、难过时候,但最终结果是美好。经历了很多也收获了很多。6、参考文件1 java面向对象程序设计教程(第二版) 李发致 编著 清华大学出版社2 java2 实用教程(第三版) 耿祥义 张跃平 编著 清华大学出版社3 java程序设计经典教程(融合上机操作实例)张居敏 石礼娟 龙翔编著 电子工业出版社4 软件工程 重庆大学 出版社5 数据库系统原理教程 王珊 陈红 编著 清华大学出版社
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100