版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章、设计任务书一、课程设计目的和要求1.目的:1)复习、巩固java语言的基础知识,进一步加深对java语言的理解和掌握;2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力;3)培养学生在项目开发中团队合作精神、创新意识及能力。2.要求:1)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;2)系统设计要实用,编程简练,可用,功能全面3)说明书、流程图要清楚4)记录设计情况(备查,也为编写设计说明书作好准备);5
2、)要求采用模块化程序设计方法,及锯齿型书写格式,要求上机调试通过和按设计报告格式。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_id int 员工编号n
7、ot nulluser_name varchar员工姓名20not nullpasswordvarchar密码20not nullpopedom varchar权限20not null部门信息管理(departmentinformation)字段类型说明大小是否为空d_numberint部门编号not nulld_namevarchar部门名称20not nulld_countvarchar部门人数20not null员工基本信息表(employeeinformation)字段类型说明大小是否为空e_numberint-员工编号not nulle_namevarchar-姓名20not nul
8、le_sexvarchar-性别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
9、状态20not nulle_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().showm
11、essagedialog(null,"用户名不能为空!");else if(textage.gettext().equals("")new joptionpane().showmessagedialog(null,"密码不能为空!");elsestring sql="select * from userinformation where user_name = '" + textname.gettext() + "' and password = '" + textage
12、.gettext()+ "'"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&quo
13、t;); /关闭数据库连接 .close(); 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
14、().showmessagedialog(null,"连接数据库失败!","",joptionpane.error_message); (二)系统主窗体设计 1、设计思路: 本界面是整个系统操作主界面,是各个模块的操作的入口。具体分析如下: 主 窗 体系统管理信息管理信息查询关于修改密码重新登录添加删除修改密码员工信息管理(基本信息工资信息)部门信息管理员工信息查询(基本信息工资信息)部门信息查询 2、图解与介绍: (1)主窗体 1)效果图 2)关键代码: /主函数类 import java.awt.*;/倒包import java.awt.event.
15、*;/倒包import javax.swing.*;/倒包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
17、= new imageicon("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 =
18、new imageicon("image/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 ico
19、n15 = new imageicon("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);/设置一个字体,以后设置字体全部调用
20、这种字体,懒得弄那么花花哨哨的 jmenubar 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 jm
21、enu("信息查询"); 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 l
22、ogin = new jmenuitem("重新登陆"); 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); /实例化系统管理菜
23、单的菜单项结束/为系统管理菜单加事件- password.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)
24、system.out.println("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(action
25、event e) /new joptionpane().showmessagedialog( setvisible(false);); /实例化信息管理的菜单项 jmenuitem departmentm = new jmenuitem("部门信息管理"); departmentm.setfont(f); jmenuitem employeem = new jmenuitem("基本信息管理"); employeem.setfont(f); jmenuitem wagem = new jmenuitem("薪资信息管理"); wage
26、m.setfont(f); employeemm.add(employeem); employeemm.add(wagem); managem.add(employeemm); managem.add(departmentm); /实例化信息管理的菜单项结束/为管理菜单加事件- departmentm.addactionlistener(new actionlistener() /部门信息管理监听 public void actionperformed(actionevent e) system.out.println("departmentmanage"); deskpa
27、ne.add(new bumenmanage();); employeem.addactionlistener(new actionlistener() /基本信息管理监听 public void actionperformed(actionevent e) system.out.println("employeemanage"); deskpane.add(new employeemanage();); wagem.addactionlistener(new actionlistener() /薪资信息管理监听 public void actionperformed(ac
28、tionevent e) system.out.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("bumen
30、chaxun"); deskpane.add(new bumenchaxun();); employees.addactionlistener(new actionlistener() /基本信息查询监听 public void actionperformed(actionevent e) system.out.println("yuangongxxchaxun"); deskpane.add(new yuangongxxchaxun();); wages.addactionlistener(new actionlistener() /薪资信息查询监听 publi
31、c void actionperformed(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
32、e) deskpane.add(new about();); mb.add(systemm); mb.add(managem); mb.add(selectm); mb.add(aboutm); setjmenubar(mb);/以下全都是在添加图标- /窗口图标 image img = toolkit.getdefaulttoolkit().getimage("imagemain.gif"); seticonimage(img); /添加菜单图标 19systemm.seticon(icon9); managem.seticon(icon8); selectm.setic
33、on(icon7); adddelete.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); employee
34、s.seticon(icon15); wages.seticon(icon15); jtoolbar jtoolbar1 = new jtoolbar();/创建一个工具栏 jtoolbar1.setlayout(new gridlayout(9, 1);/设置成网格布局 jbutton jbutton1 = new jbutton();/创建并实例化按钮 jbutton1.settooltiptext("员工基本信息管理");/设置按钮悬停信息 jbutton jbutton2 = new jbutton(); jbutton2.settooltiptext("
35、员工基本信息查询"); jbutton jbutton3 = new jbutton(); jbutton3.settooltiptext("修改密码"); jbutton jbutton5 = new jbutton(); jbutton5.settooltiptext("计算器"); jbutton jbutton6 = new jbutton(); jbutton6.settooltiptext("退出系统"); jtoolbar1.setmaximumsize(new java.awt.dimension(600,
36、50);/设置工具栏最大值 jtoolbar1.setminimumsize(new java.awt.dimension(600, 50);/设置工具栏最小值 jbutton1.seticon(new imageicon("image/1.png");/添加左边第一个按钮1图标 jbutton1.addactionlistener(new actionlistener() /监听该按钮1图表显示 public void actionperformed(actionevent e) system.out.println("employeemanage")
37、; deskpane.add(new employeemanage();); jtoolbar1.add(jbutton1);/将按钮添加到jtoolbar1中,以下同理添加按钮2 jbutton2.seticon(new imageicon("image/2.png"); jbutton2.addactionlistener(new actionlistener() public void actionperformed(actionevent e) deskpane.add(new yuangongxxchaxun();); jtoolbar1.add(jbutton2
38、); jbutton3.seticon(new imageicon("image/3.png"); jbutton3.addactionlistener(new actionlistener() public void actionperformed(actionevent e) deskpane.add(new xiugaipassword();); jtoolbar1.add(jbutton3); jbutton5.seticon(new imageicon("image/5.png"); jbutton5.addactionlistener(new
39、 actionlistener() public void actionperformed(actionevent e) system.out.println("calculator"); deskpane.add(new jisuanqi();); jtoolbar1.add(jbutton5); jbutton6.seticon(new javax.swing.imageicon("image/6.png"); jbutton6.addactionlistener(new actionlistener() public void actionperf
40、ormed(actionevent e) system.exit(0);); jtoolbar1.add(jbutton6); /添加工具栏中按钮的方法结束 jtoolbar1.setbounds(0, 0, 30, 600);/工具栏位置 jtoolbar1.setenabled(false);/禁止更改大小 con.add(jtoolbar1, borderlayout.west);/布局 label lb2 = new label("欢 迎 使 用 员 工 管 理 系 统 !"); lb2.setforeground(color.black); p.setlayout
41、(new borderlayout(); p.add(lp1, borderlayout.east); p.add(lb2, borderlayout.center); t.start(); con.add(p, borderlayout.south); toolkit t = toolkit.getdefaulttoolkit();/这个类是抽象的,一切实际实现的抽象窗口工具包。类的工具包是用来约束的,实现各个组成部分的具体本地工具箱。 int width = t.getscreensize().width - 200; int height = t.getscreensize().heig
42、ht - 100; setsize(width, height); setlocation(150, 100); setvisible(true); setresizable(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)
43、x = t.getscreensize().width; lp1.setbounds(x, 0, 700, 20); x -= 10; try thread.sleep(100); 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.getstrin
44、g("user_name"); tf.additem(name); catch(exception e)/为确定按钮加事件 b1.addactionlistener(new actionlistener() public void actionperformed(actionevent e) string name="" + tf.getselecteditem(); system.out.println(name); string sql="select * from userinformation where user_name='
45、"+ name +"'" system.out.println(sql); try if(database.query(sql) database.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 s
46、et password='"+ pas3.gettext()+"' where user_name='"+ name +"'" database.executesql(supdate); new joptionpane().showmessagedialog(null,"密码更改成功!"); else new joptionpane().showmessagedialog(null,"两次密码不同!"); else new joptionpane().showmessage
47、dialog(null,"旧密码不正确!"); catch(exception el) system.out.println(el););(3)添加删除用户窗口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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南省怀化市高中生物 第二章 基因和染色体的关系 2.3 伴性遗传教案 新人教版必修2
- 2024企业文化建设与传播合同
- 2024年工程分包合同标准文本及注意事项
- 2024全新消防标志标识安装工程合同
- 2024年工业设计团队建设与激励合同
- 04艾诺斯霍克蓄电池生产线技术升级合同
- 2024丙丁双方基于区块链技术构建平台之合作协议
- 2024年专业家政派遣服务合同
- 2024年企业与租赁公司的设备租赁合同
- 2024展览馆装修墙地砖供应协议
- 公共卫生主题培训
- 广东省特种设备作业人员考试机构申请表
- 第三章-自然语言的处理(共152张课件)
- 分布式光伏系统组件缺陷检测及诊断技术规范
- 企业网站建设及维护服务合同
- 北师版八年级数学上册 第四章 一次函数(压轴专练)(十大题型)
- 住院医师规范化培训教学病例讨论教案(模板)
- 2024年安全教育培训变更新增记录
- 校园消防安全宣传教育课件
- 国开2024年秋《经济法学》计分作业1-4答案形考任务
- 知道网课智慧《设计创新思维》测试答案
评论
0/150
提交评论