版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、. . . . 第一章、设计任务书一、课程设计目的和要求1.目的:1)复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力;3)培养学生在项目开发中团队合作精神、创新意识与能力。2.要求:1)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;2)系统设计要实用,编程简练,可用,功能全面3)说明书、流程图要清楚4)记录设计情况(备查,也为编写设计说明
2、书作好准备);5)要求采用模块化程序设计方法,与锯齿型书写格式,要求上机调试通过和按设计报告格式。6)设计上交容:设计报告一份(按格式书写);源程序文件。二、设计项目:1、项目名称:公司员工管理系统2、项目概述:在人才过剩的今天,企业对于有用人才的需求逐步加大,企业部的人事变动和部门规划也开始加速,传统的人事档案已经不能满足各个企业的人员流动速度,迫使人们起用新的管理方法来管理员工的相关信息。科学技术日新月异的进步,让人类生活发生了巨大的变化,计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普与和使用。信息化时代的到来成为不可抗拒的潮流,人类文明正在进入一个崭新的时代。因此,员
3、工管理系统也以方便、快捷、费用低、绿色环保的优点正慢慢地进入各个行业和领域,将传统的员工管理方式彻底的解脱出来,提高效率,减轻工人人员以往繁忙的工作,加速信息的更新速度,使企业管理层第一时间了解到员工的信息,从而进一步的进行对员工的调配。3、项目功能简介:增加增加用户、员工的基本信息(基本信息和工资信息)、部门信息、薪资信息删除可根据员工的编号与等资料的删除修改用户可以对员工的和编号、进行修改。查询用户可以根据、编号,准确的查到要找的员工,也可以选择部门,查看选中的部门的所有员工。辅助可以调用单独制作的计算器进行数字计算,节省操作时间关于 可以了解本系统的运行环境,开发理念、开发人员等信息三、
4、设计时间与容序号时间容11月4日班级分组,选定课题,查阅相关资料21月5日划分模块、小组成员分工,编制源程序31月6日编制源程序41月7日编制源程序51月8日编制源程序61月11日上机调试,修改、完善系统71月12日上机调试,修改、完善系统81月13日撰写课程设计报告,上机调试,修改、完善系统91月14日撰写课程设计报告,作品答辩101月15日实习成绩的评定四、设计方式和安排1、项目承接:筑梦小组2、小组成员:王英(组长)、涂云跃、胜胜、夏春碧、玮、周玉琳、华云平、王英良3、项目选题:根据小组成员的深入讨论后,结合当今市场需求,决定以员工管理为设计方向,以人性化管理操作为设计理念,根据课题工作
5、量大小,合理分配人数(后台数据库开发:夏春碧、胜胜、王英良、周玉琳,前台开发:王英、涂云跃、玮、华云平,全组成员参加总体调试改进,组长负责本组设计工作的协调、分工等。4、设计过程:1)分析设计准备阶段(按组讨论、对系统功能进行分析,确定算法,并进行明确分工);2)编程调试阶段(绘制流程图,编制源程序;上机调试,修改程序)五、考核容和方式1、在设计期间,小组成员要按时上机,设计结束根据记录的设计材料整理成设计说明书。设计说明书中应写下设计中的主要收获,要求对问题有一定的分析,文字简短明确流畅。2、通过设计答辩方式,并结合小组成员的动手能力,独立分析解决问题的能力和创新精神,设计成绩由指导教师根据
6、考勤、设计说明书质量、答辩表现以与学习态度按五级分制综合评定。成绩分优、良、中、与格和不与格五等。第二章、项目总体设计一、总体设计思路:本系统管理的是大量的员工信息,涉与到员工各方面的信息安全,从系统的设计理念出发,我们必须保障系统信息的安全,所以我们采取了通过密码验证的方式进入系统。设计流程介绍如下:进入登陆窗口为空判断为空不为空输入用户名和密码正确判断用户名密码不正确主窗体正确各种相关操作二、后台数据库设计1、数据库名称:yggl(员工管理 缩写)2、数据字典:库名(yggl)用户信息表(UserInformation)字段类型说明大小是否为空User_IDInt员工编号NOT NULLU
7、ser_Namevarchar员工20NOT NULLPasswordvarchar密码20NOT NULLPopedomvarchar权限20NOT NULL部门信息管理(DepartmentInformation)字段类型说明大小是否为空D_Numberint部门编号NOT NULLD_Namevarchar部门名称20NOT NULLD_Countvarchar部门人数20NOT NULL员工基本信息表(EmployeeInformation)字段类型说明大小是否为空E_Numberint-员工编号NOT NULLE_Namevarchar-20NOT NULLE_Sexvarchar-
8、性别2NOT NULLE_BornDatevarchar-出生日期30NOT NULLE_Marriagevarchar-婚姻状态4NOT NULLE_PoliticsVisagevarchar政治面貌20NOT NULLE_SchoolAgevarchar学历20NOT NULLE_EnterDatevarchar进入公司时间30NOT NULLE_InDueFormDatevarchar转正时间30NOT NULLE_Departmentvarchar部门20NOT NULLE_Headshipvarchar职务20NOT NULLE_Estatevarchar状态20NOT NULLE_
9、Remarkvarchar备注500NOT NULL薪资信息表(WageInformation)字段类型说明大小是否为空W_Numberint员工编号NOT NULLW_Namevarchar员工30NOT NULLW_BasicWageint基本工资NOT NULLW_Boonint福利NOT NULLW_Bonusint奖金NOT NULLW_CountMethodvarchar计算方法50NOT NULLW_FactWageint实发工资NOT NULL3、问题与难点:表与表之间的相互级联与更新三、前台效果图发布与设计过程(一)、登录窗口设计1、设计思路:本窗口是整个系统的入口,关系到系
10、统部各个员工的信息安全,在整个设计中有着重要的作用。具体可以分为用户名密码是否为空的判断和用户名密码是否正确判断。2、介绍与图解: 当用户密码为空时,给出相应提示信息,当用户密码输入并且正确时才能成功进入系统主窗体。3、关键代码: 1)登录按钮的监听(为空判断)buttonEnter.addMouseListener(new MouseAdapter()public void mouseClicked(MouseEvent me)if(textName.getText().equals("")new JOptionPane().showMessageDialog(null,
11、"用户名不能为空!");else if(textage.getText().equals("")new JOptionPane().showMessageDialog(null,"密码不能为空!");elseString sql="select * from UserInformation where User_Name = '" + textName.getText() + "' and Password = '" + textage.getText()+ "
12、'"System.out.println(sql);Judge(sql);); 2)登录按钮的监听(为空判断)private void Judge(String sqlString) if (database.joinDB() if (database.query(sqlString) try if(database.rs.isBeforeFirst() System.out.println("密码正确"); jf.setVisible(false); System.out.println("main"); /关闭数据库连接 .clos
13、e(); new main(); else System.out.println("错误"); new JOptionPane().showMessageDialog(null,"用户名或密码错误!","",JOptionPane.ERROR_MESSAGE); catch(Exception ex) System.out.println(ex.getMessage(); else System.out.println("连接数据库不成功!"); new JOptionPane().showMessageDialo
14、g(null,"连接数据库失败!","",JOptionPane.ERROR_MESSAGE); (二)系统主窗体设计1、设计思路: 本界面是整个系统操作主界面,是各个模块的操作的入口。具体分析如下: 主 窗 体系统管理信息管理信息查询关于修改密码重新登录添加删除修改密码员工信息管理(基本信息工资信息)部门信息管理员工信息查询(基本信息工资信息)部门信息查询2、图解与介绍:(1)主窗体 1)效果图 2)关键代码: /主函数类 import java.awt.*;/倒包import java.awt.event.*;/倒包import javax.swin
15、g.*;/倒包import java.sql.*;/倒包public class main extends JFrame implements Runnable Thread t = new Thread(this);/在窗体里创建线程并实例化 JDesktopPane deskpane = new JDesktopPane();/在窗体里建立虚拟桌面并实例化 JPanel p = new JPanel();/创建一个面板并实例化 Label lp1 = new Label("欢 迎 进 入 员 工 管 理 系 统! 如 有 不 明 白 之 处 请 询 问 开 发 人 员!"
16、;);/菜单上的图标创建并实例化- ImageIcon icon1 = new ImageIcon("image/tjsc.gif"); ImageIcon icon2 = new ImageIcon("image/cxdl.gif"); ImageIcon icon3 = new ImageIcon("image/xgmm.gif"); ImageIcon icon4 = new ImageIcon("image/tcxt.gif"); ImageIcon icon5 = new ImageIcon("
17、image/jj.gif"); ImageIcon icon6 = new ImageIcon("image/help.gif"); ImageIcon icon7 = new ImageIcon("image/cx.gif"); ImageIcon icon8 = new ImageIcon("image/gl.gif"); ImageIcon icon9 = new ImageIcon("image/xt.gif"); ImageIcon icon10 = new ImageIcon("im
18、age/xxgl.gif"); ImageIcon icon11 = new ImageIcon("image/xxcx.gif"); ImageIcon icon12 = new ImageIcon("image/bz.gif"); ImageIcon icon13 = new ImageIcon("image/gy.gif"); ImageIcon icon14 = new ImageIcon("image/glxx.gif"); ImageIcon icon15 = new ImageIcon(&q
19、uot;image/cxxx.gif"); public main() /构造函数 setTitle("员工管理系统");/设置窗体标题 Container con = getContentPane(); con.setLayout(new BorderLayout();/创建一个布局 con.add(deskpane, BorderLayout.CENTER);/实例虚拟桌面的布局 Font f = new Font("新宋体", Font.PLAIN, 12);/设置一个字体,以后设置字体全部调用这种字体,懒得弄那么花花哨哨的 JMenuB
20、ar mb = new JMenuBar();/实例化菜单栏 /实例化菜单开始 JMenu systemM = new JMenu("系统管理"); systemM.setFont(f); JMenu manageM = new JMenu("信息管理"); manageM.setFont(f); JMenu employeeMM = new JMenu("员工信息管理");/这个是信息管理的二级菜单 employeeMM.setFont(f); JMenu selectM = new JMenu("信息查询");
21、 selectM.setFont(f); JMenu employeeSM = new JMenu("员工信息查询");/这个是信息查询的二级菜单 employeeSM.setFont(f); JMenu aboutM = new JMenu("关于"); aboutM.setFont(f); /实例化菜单结束 /实例化系统管理菜单的菜单项 JMenuItem password = new JMenuItem("密码修改"); password.setFont(f); JMenuItem login = new JMenuItem(&
22、quot;重新登陆"); login.setFont(f); JMenuItem addDelete = new JMenuItem("添加/删除用户"); addDelete.setFont(f); JMenuItem exit = new JMenuItem("退出系统"); exit.setFont(f); systemM.add(password); systemM.add(login); systemM.add(addDelete); systemM.add(exit); /实例化系统管理菜单的菜单项结束/为系统管理菜单加事件- pa
23、ssword.addActionListener(new ActionListener() /密码修改监听 public void actionPerformed(ActionEvent e) System.out.println("xiugaiPassword"); deskpane.add(new xiugaiPassword();); login.addActionListener(new ActionListener() /重新登陆监听 public void actionPerformed(ActionEvent e) System.out.println(&qu
24、ot;denglu"); setVisible(false); new denglu();); addDelete.addActionListener(new ActionListener() /添加/删除用户监听 public void actionPerformed(ActionEvent e) deskpane.add(new AddDeleteUser();); exit.addActionListener(new ActionListener() /退出系统监听 public void actionPerformed(ActionEvent e) /new JOptionP
25、ane().showMessageDialog( setVisible(false);); /实例化信息管理的菜单项 JMenuItem departmentM = new JMenuItem("部门信息管理"); departmentM.setFont(f); JMenuItem employeeM = new JMenuItem("基本信息管理"); employeeM.setFont(f); JMenuItem wageM = new JMenuItem("薪资信息管理"); wageM.setFont(f); employee
26、MM.add(employeeM); employeeMM.add(wageM); manageM.add(employeeMM); manageM.add(departmentM); /实例化信息管理的菜单项结束/为管理菜单加事件- departmentM.addActionListener(new ActionListener() /部门信息管理监听 public void actionPerformed(ActionEvent e) System.out.println("Departmentmanage"); deskpane.add(new bumenmanage
27、();); employeeM.addActionListener(new ActionListener() /基本信息管理监听 public void actionPerformed(ActionEvent e) System.out.println("Employeemanage"); deskpane.add(new Employeemanage();); wageM.addActionListener(new ActionListener() /薪资信息管理监听 public void actionPerformed(ActionEvent e) System.ou
28、t.println("gongziManage"); deskpane.add(new gongziManage();); /实例化信息查询的菜单项 JMenuItem departmentS = new JMenuItem("部门信息查询"); departmentS.setFont(f); JMenuItem employeeS = new JMenuItem("基本信息查询"); employeeS.setFont(f); JMenuItem wageS = new JMenuItem("薪资信息查询");
29、wageS.setFont(f); employeeSM.add(employeeS); employeeSM.add(wageS); selectM.add(employeeSM); selectM.add(departmentS); /实例化信息查询的菜单项结束/为查询菜单加事件- departmentS.addActionListener(new ActionListener() /部门信息查询监听 public void actionPerformed(ActionEvent e) System.out.println("bumenchaxun"); deskpan
30、e.add(new bumenchaxun();); employeeS.addActionListener(new ActionListener() /基本信息查询监听 public void actionPerformed(ActionEvent e) System.out.println("yuangongxxchaxun"); deskpane.add(new yuangongxxchaxun();); wageS.addActionListener(new ActionListener() /薪资信息查询监听 public void actionPerformed
31、(ActionEvent e) System.out.println("gongzichaxun"); deskpane.add(new gongzichaxun();); JMenuItem about = new JMenuItem("关于"); about.setFont(f); aboutM.add(about);/为帮助菜单加事件- about.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) deskpane.add(new Ab
32、out();); mb.add(systemM); mb.add(manageM); mb.add(selectM); mb.add(aboutM); setJMenuBar(mb);/以下全都是在添加图标- /窗口图标 Image img = Toolkit.getDefaultToolkit().getImage("imagemain.gif"); setIconImage(img); /添加菜单图标20 / 20systemM.setIcon(icon9); manageM.setIcon(icon8); selectM.setIcon(icon7); addDele
33、te.setIcon(icon1); password.setIcon(icon3); exit.setIcon(icon4); employeeMM.setIcon(icon5); employeeSM.setIcon(icon5); departmentM.setIcon(icon10); departmentS.setIcon(icon11); aboutM.setIcon(icon13); about.setIcon(icon13); employeeM.setIcon(icon14); wageM.setIcon(icon14); employeeS.setIcon(icon15);
34、 wageS.setIcon(icon15); JToolBar jToolBar1 = new JToolBar();/创建一个工具栏 jToolBar1.setLayout(new GridLayout(9, 1);/设置成网格布局 utton utton1 = new utton();/创建并实例化按钮 utton1.setToolTipText("员工基本信息管理");/设置按钮悬停信息 utton utton2 = new utton(); utton2.setToolTipText("员工基本信息查询"); utton utton3 = ne
35、w utton(); utton3.setToolTipText("修改密码"); utton utton5 = new utton(); utton5.setToolTipText("计算器"); utton utton6 = new utton(); utton6.setToolTipText("退出系统"); jToolBar1.setMaximumSize(new java.awt.Dimension(600, 50);/设置工具栏最大值 jToolBar1.setMinimumSize(new java.awt.Dimens
36、ion(600, 50);/设置工具栏最小值 utton1.setIcon(new ImageIcon("image/1.png");/添加左边第一个按钮1图标 utton1.addActionListener(new ActionListener() /监听该按钮1图表显示 public void actionPerformed(ActionEvent e) System.out.println("Employeemanage"); deskpane.add(new Employeemanage();); jToolBar1.add(utton1);/
37、将按钮添加到JToolBar1中,以下同理添加按钮2 utton2.setIcon(new ImageIcon("image/2.png"); utton2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) deskpane.add(new yuangongxxchaxun();); jToolBar1.add(utton2); utton3.setIcon(new ImageIcon("image/3.png"); utton3.addAc
38、tionListener(new ActionListener() public void actionPerformed(ActionEvent e) deskpane.add(new xiugaiPassword();); jToolBar1.add(utton3); utton5.setIcon(new ImageIcon("image/5.png"); utton5.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) System.out.println(
39、"Calculator"); deskpane.add(new jisuanqi();); jToolBar1.add(utton5); utton6.setIcon(new javax.swing.ImageIcon("image/6.png"); utton6.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) System.exit(0);); jToolBar1.add(utton6); /添加工具栏中按钮的方法结束 jToolBar1
40、.setBounds(0, 0, 30, 600);/工具栏位置 jToolBar1.setEnabled(false);/禁止更改大小 con.add(jToolBar1, BorderLayout.WEST);/布局 Label lb2 = new Label("欢 迎 使 用 员 工 管 理 系 统 !"); lb2.setForeground(Color.black); p.setLayout(new BorderLayout(); p.add(lp1, BorderLayout.EAST); p.add(lb2, BorderLayout.CENTER); t.s
41、tart(); con.add(p, BorderLayout.SOUTH); Toolkit t = Toolkit.getDefaultToolkit();/这个类是抽象的,一切实际实现的抽象窗口工具包。类的工具包是用来约束的,实现各个组成部分的具体本地工具箱。 int width = t.getScreenSize().width - 200; int height = t.getScreenSize().height - 100; setSize(width, height); setLocation(150, 100); setVisible(true); setResizable(
42、false); /线程的方法 public void run() System.out.println("线程启动了!");/友好提示 Toolkit t = Toolkit.getDefaultToolkit(); int x = t.getScreenSize().width; lp1.setForeground(Color.red); while (true) if (x < -600) x = t.getScreenSize().width; lp1.setBounds(x, 0, 700, 20); x -= 10; try Thread.sleep(100
43、); catch (Exception e) (2)密码修改窗口 1)效果图2)关键代码/将所有用用户名读出来 database.joinDB(); String sql="select * from UserInformation" try if(database.query(sql) while(database.rs.next() String name=database.rs.getString("User_Name"); tf.addItem(name); catch(Exception e)/为确定按钮加事件 b1.addActionList
44、ener(new ActionListener() public void actionPerformed(ActionEvent e) String name="" + tf.getSelectedItem(); System.out.println(name); String sql="select * from UserInformation where User_Name='"+ name +"'" System.out.println(sql); try if(database.query(sql) data
45、base.rs.next(); String ps1=pas1.getText(); String password=database.rs.getString("Password"); if(ps1.equals(password) if(pas2.getText().equals(pas3.getText()String supdate="update UserInformation set Password='"+ pas3.getText()+"' where User_Name='"+ name +&
46、quot;'" database.executeSQL(supdate); new JOptionPane().showMessageDialog(null,"密码更改成功!"); else new JOptionPane().showMessageDialog(null,"两次密码不同!"); else new JOptionPane().showMessageDialog(null,"旧密码不正确!"); catch(Exception el) System.out.println(el););(3)添加删除用户
47、窗口1)效果图2)关键代码:/将所有用用户名读出来 database.joinDB(); String sql = "select * from UserInformation" try if (database.query(sql) while (database.rs.next() /顺序读出所有用户名 String name = database.rs.getString("User_Name"); cbUserName.addItem(name); catch (Exception e) /为添加和取消按钮加事件- butOk.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) if (txtname.getText().equals("")
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 扫黑除恶考试题目及答案
- 2026年导游资格证考试模拟试卷及答案(共八套)
- 2024-2025学年反射疗法师大赛理论考试综合练习及完整答案详解【夺冠系列】
- 2024-2025学年度注册公用设备工程师自我提分评估含答案详解(考试直接用)
- 2026年医保基金使用监管条例考试试题及答案
- 2024-2025学年度公务员考试《常识》考前冲刺练习(夺冠系列)附答案详解
- 2024-2025学年公务员考试《常识》考试彩蛋押题及参考答案详解
- 2024-2025学年山西警官职业学院单招数学考前冲刺练习试题含答案详解(考试直接用)
- 2024-2025学年度火电电力职业鉴定模考模拟试题【能力提升】附答案详解
- 2024-2025学年中级软考模拟试题附答案详解【黄金题型】
- 肉羊高效健康养殖与疫病防控技术培训
- 养老院食品安全培训
- -世界水日主题班会课件
- 全球核安全形势课件
- 《婴幼儿常见病识别与预防》高职早期教育专业全套教学课件
- 《智能制造基础与应用》课件全套 第1-8章 绪论、智能制造数字化基础- 智能制造应用
- 供电所所长安全演讲
- 急腹症临床诊断思维及程序
- 第三章-儿童游戏的分类与发展
- 音乐学校乐器购买合同
- HG∕T 5209-2017 黄磷生产尾气处理处置方法
评论
0/150
提交评论