java课程设计雇员信息管理系统_第1页
java课程设计雇员信息管理系统_第2页
java课程设计雇员信息管理系统_第3页
java课程设计雇员信息管理系统_第4页
java课程设计雇员信息管理系统_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 JAVA程序设计 课程设计报告课 题: 雇员信息管理系统 姓 名: 学 号: 专业班级: 计算机科学与技术*班 指导教师: 设计时间: 评阅意见:评定成绩: 指导老师签名: 年 月 日目 录一、  系统描述21.1系统开发目的21.2背景说明21.3系统设计意义21.4系统的具体任务2二、  分析与设计32.1雇员信息管理系统概念设计文档32.2数据表设计42.3模块界面设计42.4系统结构5三、系统实现63.1主界面功能模块设计的实现63.2添加员工界面功能模块设计的实现73.3删除员工界面功能模块设计的实现73.4员工信息管理模块设计的实现8四、系

2、统调试84.1主界面84.2下一条信息的界面94.3删除员工界面104.4修改员工10五、小结10六、参考文献11七、部分源代码11一、  系统描述1.1系统开发目的(1)大大提高雇员信息管理的运作效率;(2)通过对雇员全面的信息采集和处理,为雇员职位升迁、调薪提供决策依据;(3)由计算机来代替人工执行一系列诸如增加新员工、删除员工、工资修改、查询、统计等操作。这样就使管理人员轻松快捷的完成雇员信息的管理工作。1.2背景说明企业中,经常涉及到对雇员的信息进行管理。本系统采取普通的Java客户端形式与SQL2000数据库进行连接来进行数据的增、删、改操作。1.3系统设计意义在

3、本课程设计中,需要熟悉JDBC在SQL2000环境中的用法。在GUI设计上,采用纯Java语言开发,目的在于熟悉Java的GUI开发和JDBC用法。1.4系统的具体任务该系统的具体任务就是设计一个雇员信息的数据库管理系统,由计算机来代替人工执行一系列诸如增加新员工、删除旧员工、工资修改、查询、对扣除工资等的处理操作,以方便管理人员的管理信息工作。     本设计以客户为中心,界面要美观大方,操作尽量简单明了,且要有良好的容错性,在用户出现误操作时能及时给出警告并修改。在现有的技术和资金的情况下完全可以设计出这套功能完善的应用软件。 1.5系统功能分析 系统功能分析

4、是在系统开发的总体任务的基础上完成的。本系统需要完成的功能主要有:雇员编号、姓名、曾用名、性别、出生日期、籍贯、户口所在地、出生地、学历、毕业院校、专业、政治面貌、电子邮件、电话号码、雇佣日期、从事工作编号、薪水等进行插入、删除、修改、查询等操作。1.6 系统环境需求   编程语言:JAVA开发工具:Eclipse SDK(英文版)SQL 2000(中文版)   运行环境:Windows xp或windows 2000二、  分析与设计2.1雇员信息管理系统概念设计文档(1) 数据流程图系统管理员前台管理系统录入用户名、密码信息登陆用

5、户管理表验证登陆信息登录用户管理基本信息管理雇员信息操作添加查询职务表、职称表、学历表修改查询员工信息表说明:管理员用户登陆系统,系统根据用户录入的信息与从数据库读入的信息进行比对无误后用户进入系统,可以进入相应的模块根据需要操作职工的相关信息,修改,查询,插入时系统都会连接数据库存取数据。(2)数据字典数据项:首先根据分析出的字段抽象成数据库表。系统中包含企业部门信息,人员信息,还有一些基本信息。根据给出的字段及各个信息之间的关系,得到数据库的表如下: tb_deptkind:部门类别表包含字段如下:列名数据类型长度允许空描述DkidInt4否部门类别编号(主键)DkindVarchar25

6、0否部门类别名称 tb_deptinfo:部门详细信息包含字段如下:列名数据类型长度允许空描述DeptnoInt4否部门编号(主键)DnameVarchar50否部门名称DkidInt4否部门类别编号 tb_duty:职务信息表包含字段如下:列名数据类型长度允许空描述DutyidInt4否职务id(主键)DutynameVarchar20否职务名称DutygradeInt4是部门等级HiredateVarchar10是聘任日期FiredateVarchar10是终止日期 tb_degree:学历信息表包含字段如下:列名数据类型长度允许空描述IdInt4否学历编号(主键)DegreeVarcha

7、r20否学历名称 tb_nation:民族信息表 包含字段如下:列名数据类型长度允许空描述IdInt4否民族编号(主键)NationVarchar20否民族名称 tb_nativeplace:籍贯信息表 包含字段如下:列名数据类型长度允许空描述IdInt4否籍贯编号(主键)NpnameVarchar30否籍贯名称 tb_specialkind:专业类别表 包含字段如下:列名数据类型长度允许空描述SkindidInt4否类别编号(主键)SkindnameVarchar50否专业类别名称 tb_special:专业信息表 包含字读如下:列名数据类型长度允许空描述SidInt4否专业编号(主键)Sn

8、ameVarhcar50否专业名称SkindidInt4否专业类别编号 tb_specialduty:职称信息表 包含字段如下:列名数据类型长度允许空描述SdidInt4否职称编号(主键)SdnameVarchar30否职称名称SdsidInt4否职称序列号HiremarkVarchar10是聘任标志HiredateVarchar10是雇用日期FiredateVarchar10是聘任终止日期SdsalgradeInt4是工资等级SdsalInt4是工资金额SdsalmoddateVarchar10是工资修改日期SdgradeInt4否职称等级 tb_specialdutygrade:职称等级表

9、 包含字段如下:列名数据类型长度允许空描述SdgradeInt44职称等级(主键)SdgradenameVarchar5050职称名称 tb_specialdutyserial:职称序列表 包含字段如下:列名数据类型长度允许空描述SdsidInt4否职称序列号(主键)SdserialnameVarchar50否职称序列名称 tb_stationkind:岗位类别 包含字段如下:列名数据类型长度允许空描述StkindidInt4否岗位类别编号(主键)StkindnameVarchar50否岗位类别名称 tb_stationinfo:岗位信息表 包含字段如下:列名数据类型长度允许空描述StidIn

10、t4否岗位编号StationnameVarchar50否岗位名称StkindidInt4否岗位类别编号StsalInt4是岗位工资StsalmoddateVarhcar10是工资修改日期 tb_employee:员工信息表 包含字段如下:列名数据类型长度允许空描述EmpidInt4否员工号(主键)EnameVarchar30否员工姓名EynameVarhcar30是员工曾用名SexVarchar10否性别BirthdayVarchar10是出生年月NativeplaceVarchar50是籍贯NationVarchar20是民族HkszdVarchar20是户口所在地BornaddressVa

11、rchar50是出生地CommnitynameVarchar50是社区名称FirsteduVarchar50是最初学历EducationVarchar20是学历SchoolVarchar50是毕业院校SpecialnameVarchar50是专业名称IntoschooldateVarchar10是入学日期GraduateVarchar10是毕业日期IsfirsteduVarchar10是是否第一学历DegreeVarchar30是学位EduyearsInt4是受教育年限StudywayVarchar50是学习形式PloityfaceVarchar20是政治面貌IntoparydateVarch

12、ar10是入党时间WorkwayVarchar10是用工形式DutynameVarchar20否职务StationnameVarchar50是岗位SpedutynameVarchar30是职称BeginworkdateVarchar10是开始工作时间IntodeptdateVarchar10是进入本部门时间WorkstateVarchar10是工作状态RetireddateVarchar10是退休时间GrsfVarchar30是个人身份BgphoneVarchar20是办公电话SjphoneVarchar20是手机HomephoneVarchar20是家用电话FyzymarkVarchar10

13、是复员转业标识IdcardVarchar20是身份证号Xxdatevarchar10是下乡时间LdhtidVarchar20否劳动合同编号DeptnoInt4否部门号ClassnameVarchar20是班组名称MenuVarchar50是备注(3)系统分图(部分)员工工员工号员工姓名性别出生日期籍贯属于部门部门编号曾用名部门名称部门类别编号部门类别名称n1员工工员工号员工姓名性别出生日期籍贯担任职务职务曾用名职务名称部门等级聘任日期终止日期2.2数据表设计tb_deptkind:部门类别表(部门类别编号,部门类别名称)tb_deptinfo:部门详细信息(部门编号,部门名称,部门类别编号)t

14、b_duty:职务信息表(职务id,职务名称,部门等级,聘任日期,终止日期)tb_degree:学历信息表(学历编号,学历名称)tb_nation:民族信息表(民族编号,民族名称)tb_employee:员工信息表(员工号,员工姓名,员工曾用名,性别,出生年月,籍贯,民族,户口所在地,出生地,社区名称,最初学历,学历,毕业院校,专业名称,入学日期,毕业日期,是否第一学历,学位,受教育年限,学习形式,政治面貌,入党时间,用工形式,职务,岗位,职称,开始工作时间,进入本部门时间,工作状态,退休时间,个人身份,办公电话,手机,家庭电话,复员转业标识,身份证号,下乡日期,劳动合同编号,部门编号,班组名

15、称,备注)2.3模块界面设计登陆界面设计 在文本框内输入正确的用户名和密码可以进入系统主界面。系统主界面设计主界面正中显示欢迎使用雇员信息管理系统的背景图片,菜单栏内分为五大功能模块:部门管理、信息查询、员工信息操作、基本信息管理、系统。部门管理模块设计本模块是信息查询与管理功能有添加、删除、修改部门信息。信息查询模块设计本模块包含的功能有查询全体员工信息和条件查询,其中条件查询可以根据人员编码、姓名、职务、年龄、性别、职称、部门、受聘时间分别进行查询相应信息。员工信息操作模块设计本模块包含的功能有添加员工信息、删除员工信息、修改员工信息、添加职工可以输入员工姓名、曾用名、性别、出生日期、籍贯

16、、民族、户口所在地、出生地、社区名称、最初学历、学历、毕业院校、专业名称、入学日期、毕业日期、是否第一学历、学位、受教育年限、学习形式、政治面貌、入党时间、用工形式、职务、岗位名称、专业技术职务、开始工作时间、入本单位时间、工作状态、退休时间、个人身份、办公电话、手机、家庭电话、复员转业标识、身份证号、下乡日期、劳动合同编号、部门编号、班组名称、备注。删除员工信息则根据姓名进行删除。修改员工信息可以对员工姓名、曾用名、性别、出生日期、籍贯、民族、户口所在地、出生地、社区名称、最初学历、学历、毕业院校、专业名称、入学日期、毕业日期、是否第一学历、学位、受教育年限、学习形式、政治面貌、入党时间、用

17、工形式、职务、岗位名称、专业技术职务、开始工作时间、入本单位时间、工作状态、退休时间、个人身份、办公电话、手机、家庭电话、复员转业标识、身份证号、下乡日期、劳动合同编号、部门编号、班组名称、备注进行相应的修改操作。基本信息管理模块设计本模块包含的功能有学历、职务、职称、岗位添加操作。系统模块设计本模块包含的功能有系统介绍、操作说明、版本信息。显示文档里面的相关信息。2.4系统结构系统总体结构雇员信息管理系统部门管理信息查询员工信息操作基本信息管理系统模块子系统结构部门管理部门信息查询与管理功能描述:可以将包括员工姓名、曾用名、性别、出生日期、籍贯、民族、户口所在地、出生地、社区名称、最初学历、

18、学历、毕业院校、专业名称、入学日期、毕业日期等信息全部显示出来。信息查询查询全部员工信息条件查询功能描述:查询全体员工信息和条件查询,其中条件查询可以根据人员编码、姓名、职务、年龄、性别、职称、部门、受聘时间分别进行查询相应信息。员工信息操作添加员工信息修改员工信息删除员工信息功能描述:可以添加员工信息、删除员工信息、修改员工信息。基本信息管理职务添加学历添加职称添加岗位添加功能描述:对数据库用户进行学历、职务、职称、岗位添加操作。系统系统介绍操作说明版本信息功能描述:查看系有关该系统的介绍及一些本系统的操作说明和版本信息。三、系统实现根据上面的功能模块图进行分模块设计,具体的各模块设计如下:

19、(1)主界面功能模块设计的实现主窗体设计形式:程序运行后,主窗体打开铺平整个screen。主窗体带有菜单栏,上面有五个菜单项,分别是部门管理,信息查询,员工信息操作,基本信息管理,系统。在部门管理菜单项下面有一个Item,部门信息查询与管理。信息查询下有查询全部员工信息和条件查询两个Item。员工信息操作包括添加员工信息、修改员工信息和删除员工信息三个Item。基本信息管理下有学历添加,职务添加,职称添加,岗位添加。系统项中有帮助和退出两个Item。将这些菜单项都添加到菜单中。然后将菜单放入frame中。首先,在frame包中新建DeptInfo.java类,继承自JFrame。在部门信息查询

20、与管理菜单项中添加以下时间监听程序:jmi6.addActionListener(new ActionListener()在frame包中新建QueryAllEmployee.java类,继承自JFrame,给查询全部员工信息菜单项添加以下事件监听程序:jmi.addActionListener(new ActionListener()新建QueryCondition.java类,继承自JFrame,给条件查询添加以下事件监听程序:jmi1.addActionListener(new ActionListener()新建AddEmployee.java类,继承自JFrame。给添加员工信息项添

21、加事件监听程序:jmi7.addActionListener(new ActionListener()新建UpdateEmployee.java,继承自JFrame。给修改员工信息想添加事件监听程序:jmi2.addActionListener(new ActionListener()新建DeleteEmployee.java,继承自JFrame。给删除员工信息添加事件监听程序:jmi3.addActionListener(new ActionListener()新建BasicInfoAdd.java,继承自JFrame。给学历添加注册事件监听:jmi8.addActionListener(n

22、ew ActionListener()新建AddSpecialDuty.java,添加职称添加的事件监听程序:jmi10.addActionListener(new ActionListener()新建AddStation.java,继承自JFrame。给岗位添加菜单项添加事件监听:jmi11.addActionListener(new ActionListener()新建About.java,继承自JFrame。给有关本系统添加事件监听:jmi5.addActionListener(new ActionListener()给退出菜单项添加事件监听如下:jmi4.addActionListen

23、er(new ActionListener()public static boolean addEmployee(TbEmployeeInfo info)重置按钮的事件监听程序如下:btnreset.addActionListener(new ActionListener()打开AddEmployee.java文件,此类实现员工信息的添加。先调用model包中的InitFrame方法进行初始化。界面中的几个下拉框需要从数据库查找数据来进行添加项,所以给窗体添加监听程序如下:ae.addWindowListener(new WindowAdapter()在点击添加按钮时将添加的数据经判断无误后添

24、加到数据库表中,首先将信息封装到TbEmployee的对象中,将此对象作为参数传递到DAO的方法中,此方法通过此JavaBean中的getXxx方法获取到封装到对象中的信息,然后进行添加操作:按钮的监听程序:btnadd.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)if(ename.equals("") | dutyname.equals("") | spedutyname.equals("") | idcard.equ

25、als("") |deptno.equals("") | idcard.equals("")JOptionPane.showMessageDialog(null, "请输入完整的员工信息!","警告",JOptionPane.WARNING_MESSAGE);之后为删除按钮添加事件监听:btndele.addActionListener(new ActionListener()打开QueryAllEmployee.java类,此类用于显示所有员工的信息,在打开窗体时就直接将员工的信息显示到JFr

26、ame中的JTable中。首先在DAO中编写查找所有员工信息的方法:public static ResultSet getEmployee()之后在类的初始化里调用初始化表的方法:public void getEmployee()打开QueryConditin.java类。该类实现通过不同的查询条件查询符合条件的员工信息。将信息显示出来。该界面包括两个JComboBox,第一个用于选择查询条件,第二个根据第一个查询条件的不同显示不同的值,据此查询员工信息;第一个下拉框当选择发生变化时的事件监听程序如下:cbo.addActionListener(new ActionListener()查询按钮

27、的事件监听如下:btnquery.addActionListener(new ActionListener()同时在DAO实现对数据库操作的方法:public static ResultSet getConditionEmp(String col,String val)打开AddEmployee.java文件,此类实现员工信息的添加。先调用model包中的InitFrame方法进行初始化。界面中的几个下拉框需要从数据库查找数据来进行添加项,所以给窗体添加监听程序如下:ae.addWindowListener(new WindowAdapter()在点击添加按钮时将添加的数据经判断无误后添加到数

28、据库表中,首先将信息封装到TbEmployee的对象中,将此对象作为参数传递到DAO的方法中,此方法通过此JavaBean中的getXxx方法获取到封装到对象中的信息,然后进行添加操作:按钮的监听程序:btnadd.addActionListener(new ActionListener() 数据库操作的实现:public static boolean addEmployee(TbEmployeeInfo info)重置按钮的事件监听程序如下:btnreset.addActionListener(new ActionListener()四、系统调试图1主界面图2部门管理界面图3全部员工信息查询

29、功能图4修改员工数据功能图5基本信息添加五、小结这一周的java课程设计,我收获了很多,学到了很多知识,同时也发现了自己许多的不足。在一个星期的学习中,我发现了很多问题。总的来讲:对系统分析不全面,分析不具体,模型太抽象,有很大的局限性。具体如下:在数据库这块,在用SQL语句查询的时候,连接查询和嵌套查询语句不是很熟,自己还没达到那种熟悉的地步。其次 我没有很好的把握系统的全局。另外对Java的类库不是很熟。GUI 这块学的不是很好。当然,我也学到了很多。第一, 通过这一周的课程设计,我从总体上加深了对数据库的了解, 学会了数据库各个方面的知识包括动态查询语句的使用。第二, 在过程中我遇到了不

30、少困难,但我还是坚持下来了,这让我发发现问题,解决问题的能力得到加强。为以后的软件设计打下良好的基础。第三, 系统的分析、设计、调试等整个开发过程,我们是团队分工合作的。这让我有了项目相关方面的经验,懂得内部人员的良好的沟通是非常重要的。最后要说的是,这一周的时间我没有浪费,在各个方面我都学会了很多。为我以后的学习打下良好的基础。因此以后在数据库方面还要多加努力。六、参考文献1 黄晓东等.Java课程设计案例精编(第2版)M.北京:中国水利水电出版社,20072 李尊朝 苏军.JAVA语言程序设计M.北京:中国铁通出版社,2007.103 李明 袁晓君Java计算机语言函数应用M.北京:科学出

31、版社,2000七、部分源代码数据库操作的实现:/* * 查询职称等级 * return */public static ResultSet getSpecialDutygrade()String sql = "select sdgrade from tb_specialdutygrade"ResultSet rs = DAO.getResultSet(sql);return rs;/* * 查询职称序列 * return */public static ResultSet getSpecialserial()String sql = "select sdsid f

32、rom tb_specialdutyserial"ResultSet rs = DAO.getResultSet(sql);return rs;/* * 添加职称 * param info * return */public static boolean addSpecialduty(TbSpecialdutyInfo info)conn = DAO.getConnection();tryStatement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery("select * from tb_spe

33、cialduty where sdname='"+info.getSdname()+"'");if(rs.next()return false;int count = stmt.executeUpdate("insert into tb_specialduty values('"+info.getSdname()+"',"+info.getSdgrade()+","+info.getSdsid()+",'"+info.getHiremark()+

34、"','"+info.getHiredate()+"','"+info.getFiredate()+"',"+info.getSdsalgrade()+","+info.getSdsal()+",'"+info.getSdsalmoddate()+"')");if(count > 0)return true;elsereturn false;catch(Exception ex)System.out.println

35、(ex.getMessage();return false;打开AddStation.java。此类实现岗位信息的添加。设计窗体如下:输入信息后,点击按钮实现添加,在此之前,打开窗体时需要 将岗位类别加入到下拉框中;故添加窗体的事件监听如下:as.addWindowListener(new WindowAdapter()public void windowOpened(WindowEvent e)ResultSet rs = DAO.getStationkind();trywhile(rs.next()cbokind.addItem(new Integer(rs.getInt("st

36、kindid");catch(Exception ex)System.out.println(ex.getMessage(););添加按钮的事件监听如下:/添加按钮的事件监听程序btnadd.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)/名称不能为空if(txtname.getText().equals("")JOptionPane.showMessageDialog(null, "请输入岗位名称!","警告",JOptionPane.WARNING_MESSAGE);return;/将信息封装到JavaBeanTbStation info = new TbStation();info.setStationname(txtname.getText().trim();info.setStkindid(Integer.parseInt(cbokind.getSelectedItem().toString().trim();info.setStsa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论