“挑战杯”论文(设计)-人事管理系统论文.doc

上传人:小小飞 文档编号:3904762 上传时间:2019-10-10 格式:DOC 页数:28 大小:1.89MB
返回 下载 相关 举报
“挑战杯”论文(设计)-人事管理系统论文.doc_第1页
第1页 / 共28页
“挑战杯”论文(设计)-人事管理系统论文.doc_第2页
第2页 / 共28页
“挑战杯”论文(设计)-人事管理系统论文.doc_第3页
第3页 / 共28页
“挑战杯”论文(设计)-人事管理系统论文.doc_第4页
第4页 / 共28页
“挑战杯”论文(设计)-人事管理系统论文.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《“挑战杯”论文(设计)-人事管理系统论文.doc》由会员分享,可在线阅读,更多相关《“挑战杯”论文(设计)-人事管理系统论文.doc(28页珍藏版)》请在三一文库上搜索。

1、甘肃政法学院“挑战杯”论文(设计)题 目 人事管理系统开发 计算机科学学 院 计算机本科 专业 08 级 (2) 班 学 号: 姓 名: 指导教师: 完成时间: 2010 年 10 月 目 录一、开发背景3二、系统分析3(一)需求分析3(二)可行性分析41、引言42、可行性分析的前提43、对客户支出与收益的分析44、对公司技术支持的分析4三、系统设计4(一)系统目标4(二)系统功能结构4(三)构建开发环境5(四)系统预览5(五)目录组织6四、数据库设计6(一)数据库的分析7(二)项目E-R图7(三)数据库表的设计7五、开发前准备10六、数据库操作模块10(一)数据库连接10(二)数据库操作方法

2、11(三)增、删、改数据库中数据的操作方法11(四)获取数据的方法12七、个人资料档案模块12(一)界面开发12(二)界面处理代码的开发13(三)职工信息管理功能的开发14(四)职工信息显示功能的开发14八、个人简历模块15(一)界面开发15(二)界面处理代码的开发16(三)添加和查询功能方法的开发16九、查询职工信息模块17(一)界面开发17(二)界面处理代码的开发18(三)具体功能方法的开发19十、工资管理模块19(一)界面开发19(二)界面处理代码的开发21(三)工资信息操作功能开发22(四)信息显示功能的开发23十一、考勤管理模块23十二、人事管理系统主界面开发23十三、登录模块25(

3、一)界面设计25(二)界面处理代码的开发25十四、小结26 人事管理系统开发 作者:祁云龙【摘 要】:随着计算机技术的飞速发展,以及计算机在高校人事管理中应用的普及,利用计算机实现高校的人事管理已势在必行。高校人事管理系统是现代高校管理工作中不可缺少的一部分,是适应现代高校制度要求、推动高校人事管理走向科学化、规范化的必要条件。高校人事管理系统可以使用户操作起来简便、快捷,对减轻高校人事管理的劳动强度,提高工作效率与管理水平,具有很大的使用价值。【关键词】:人事管理;需求分析;对策研究Personnel management system developmentAbstraet: With t

4、he rapid development of computer technology,comPuter and Personnel Management in colleges and universities in the application of the universal use of computers to aehieve the University of Personnel Management have been inevitable. College Personnel Management System is a modern university in the ma

5、nagement of an indispensable Part of modern university system meets the requirements of Personnel Management to Promote the university seientifie ,standardized the neeessary conditions.University Personnel management system so that users can operate with simple fast,College Personnel Management to r

6、educe the labor intensity and improve work effieieney and management level,and it is very useful.Key wordS: Human resource administration; demand analysis; solution research一、开发背景以前,各企事业单位均采用人工方式管理人事档案、工资信息及考勤信息等,这种管理方式比较粗放,仅在人员较少的单位能够使用,而且在管理过程中极易出现以下问题。 管理效率低下; 记录信息时容易出现错误; 管理成本较高; 信息容易丢失。为了弥补上述缺陷

7、,提高管理效率,增强企业竞争力,大多数单位均开发了自己的人事管理系统,从而实现了人事管理信息化。二、系统分析系统分析是系统开发的基础,一般分为需求分析和可行性分析等两方面。这一阶段的分析结果,对系统的开发及系统的合理性、易用性都会用很大的影响。(一)需求分析需求分析是系统开发的第一步,也是极其重要的一步,在本系统的开发中也不会例外。通过与某单位领导进行细致的交流,确定了本系统的基本功能,具体如下所示。 实现人事档案的增、删、改、查等功能; 实现个人简历的添加、查询功能; 实现工资信息的添加、修改、查询功能; 实现考勤信息的添加、修改、查询功能; 实现工作人员照片的上传功能。(二)可行性分析这一

8、阶段的分析,对领导的决策有很大的影响,系统开发可行程度直接决定了上层是否对其进行投资。根据前面的需求分析,对于本系统的可行性分析如下。1、引言某公司为了提高人事管理的效率,公司的核心竞争力,增强对员工的管理,提高开发本人事管理系统。1.1 编写目的对本系统的开发进行可行性分析,为领导决策提供依据。1.2 项目背景 项目提出者:*公司; 项目开发者:小雨工作室; 系统使用者:公司高级管理人员。2、可行性分析的前提2.1系统要求人事管理系统必须包括人事档案基本信息、个人简历基本信息、工资管理基本信息、考勤管理基本信息2,同时对上述基本信息的查询功能。2.2系统目标该系统的开发目标是提高工作人员的工

9、作效率,对工作人员的基本信息进行有效的管理,降低公司的管理成本。3、对客户支出与收益的分析客户以前使用手工方式记录人事档案、个人简历、工资信息以及考勤信息,这种管理方式不叫落后,在记录中极易出现错误。并且信息容易丢失,直接影响着信息的完整性和安全性4。公司实现人事管理信息化以后,这一状况将大大改观,工作效率得到提到,员工信息错误也将大大降低5。4、对公司技术支持的分析该系统是一个比较小的信息管理系统,对于该系统的开发不存在任何技术性的困难。三、系统设计通过前面的需求分析,对本系统的基本功能有了初步的了解,下面就应该制定其具体功能,为系统开发奠定基础。(一)系统目标通过与客户再次进行交流,确定本

10、系统的最终目标如下。 实现最初确定的系统功能; 在系统易用性方面多做考虑; 对系统的人性化处理进行考虑。(二)系统功能结构本系统包括个人资料档案、个人简历、员工信息查询、工资信息管理及考勤信息管理等部分1,其结构如图3-1所示。图3-1系统结构图人事管理系统 个人资料档案个人简历员工信息查询工资信息管理考勤信息管理(三)构建开发环境本系统的开发需要如下的软件环境6。(1)JDK 1.6 及其以上版本:JDK 1.6 是SUN公司的最新JDK版本,用户可到SUN的官方网站 或到其他相关链接上免费下载。(2)MySQL 5.0 及其以上版本:MySQL是一款免费软件,其功能比较强大。对于本系统这个

11、规模较小的系统来说,其性价比是十分高的。(四)系统预览图3-2登录成功图本系统共有两个窗体,分别是登录窗体和人事管理系统主窗体3,主要操作如下所示。(1) 首先启动本系统8,就可以进行登陆操作。在“用户名”文本框和“密码”文本框中分别输入相应的正确信息,单击“登录”按钮,即可进入人事管理系统主窗体,如图3-2所示;当用户输入的信息不正确时将弹出错误提示框,如图3-3所示。(2) 进入人事管理系统主窗体,双击“人事管理系统”节点,可以看到本系统的各个功能节点,如图3-4所示。 图3-3 登录失败 图3-4 人事管理系统主界面(3)单击人事管理系统主窗体的某一功能节点后,相对应的功能界面便会显示在

12、窗体右部,如单击“个人资料档案”节点,其最终效果如图3-5所示。图3-5 “个人资料档案”窗体(4)用户单击“个人简历”节点,就可以进入其功能界面对员工的个人简历进行操作,其功能界面如图3-6所示。(5)用户需要查询某员工的个人性信息时,单击“查询职工资料”节点,即可在其功能界面进行查询,其功能界面如图3-7所示。 图3-6 “个人简历”窗体 图3-7“查询职工信息”窗体(6)单击“工资管理”节点,用户就可在右面的窗体中对员工的工资信息进行操作,其功能界面如图3-8所示。(7)用户单击“考勤管理”节点,就可以在其功能界面对员工的考勤信息进行操作,其功能界面如图3-9所示。 图3-8 “工资管理

13、”窗体图3-9 “考勤管理”窗体(8)单击“退出”节点,将弹出选择对话框,选择“是”,就会退出系统主窗体,如图3-10所示。图3-10 “退出”窗体(五)目录组织开发之前,先来介绍系统开发的目录组织结构7,如图3-11所示。四、数据库设计图3-11管理系统中需要对各种信息进行处理,而对这些数据的处理离不开数据库的支撑,因此在系统9开发前创建数据库是十分必要的。一个设计良好的数据库,对系统性能起着至关重要的作用,对系统的后续维护也有很大的影响。(一)数据库的分析本系统使用的数据库为MySQL,其原因有三,一是本系统为小型系统,MySQL数据库不太复杂,完全可以满足系统要求;二是MySQL有免费版

14、本,使用免费版MySQL数据库性价比比较高。三是因为一直在做嵌入式练习,对MySQL了解比其他数据库更深一点。(二)项目E-R图本系统的实体包括公司员工、考勤信息,工资信息、管理人员等,下面介绍各实体的E-R图,在E-R图中将一一列举实体的属性。 管理人员和考勤信息E-R图,如图4-1所示。 工资信息E-R图,如图4-2所示。 公司员工E-R图,如图4-3所示。 学习经历和基本信息E-R图,如图4-4所示。 联系方式和工作E-R图,如图4-5所示。(三)数据库表的设计本系统共有4张表,分别为公司员工信息表、管理人员信息表、考勤信息表、工资信息表等,下面将对其进行介绍。1、公司员工信息表:主要是

15、公司员工的基本信息,其中有职工ID、姓名、性别、出生年月、籍贯、民族、政治面貌、文化程度、结婚状况、毕业院校、所学专业、个人专长、工种、职务、身份证号、家庭住址、邮编、住宅电话、手机号码、电子邮件、个人简历、照片等,详细设计如表4-1所示。表4-1 公司员工信息表(Person)字段名称数据类型字段大小是否主键说明EmployeeIDintN/A是职工IDNamevarchar50否姓名Sexvarchar50否性别Datevarchar50否出生年月Cityvarchar50否籍贯Nationvarchar50否民族Polityvarchar50否政治面貌Culturevarchar50否文

16、化程度Marriagevarchar50否结婚状况Graduatevarchar50否毕业院校Specvarchar50否所学专长Specivarchar50否个人专长Wtypevarchar50否工种Dutyvarchar50否职务Departvarchar50否部门名称IDcardvarchar50否身份证号Addressvarchar50否家庭住址Postcodevarchar50否邮编HomePhonevarchar50否家庭电话Mobilevarchar50否手机Emailvarchar50否电子邮件ResumetextN/A否个人简历PhotoblobN/A否照片创建本表的SQL语

17、句如下:create table Person( EmployeeID int not null primary key,Name varchar(50) not null, Sex varchar(50) not null, Date varchar(50) not null, City varchar(50) not null, Nation varchar(50) not null, Polity varchar(50) null, Culture varchar(50) null, Marriage varchar(50) null, Graduate varchar(50) null

18、, Spec varchar(50) null, Speci varchar(50) null, Wtype varchar(50) null, Duty varchar(50) null, Depart varchar(50) null, IDcard varchar(50) null, Address varchar(50) null, Postcode varchar(50) null, HomePhone varchar(50) null, Mobile varchar(50) null, Email varchar(50) null, Resume text null, Photo

19、BLOB null);2、管理人员信息表:管理人员信息表主要是记录系统管理人员的具体信息,包括用户名和密码等,详细设计如表4-2所示。表4-2 管理人员信息表(man)字段名称数据类型字段大小是否主键说明mgNovarchar50是用户名passwordvarchar50否密码创建本表的SQL语句如下:create table man( mgNo varchar(50), password varchar(50);3、考勤信息表:考勤信息表主要记录了在某一时间段(本系统以月为单位),职工的出勤情况及休假情况,具体设计如表4-3所示。表4-3 考勤信息表(attend)字段名称数据类型字段大小是

20、否主键说明EmployeeIDintN/A是职工IDNamevarchar50否姓名Timevarchar50否年月LateintN/A否迟到LeaveearlyintN/A否早退JobwoundintN/A否公休假S_leaveintN/A否病假Pa_leaveintN/A否事假创建本表的SQL语句如下:create table Attend( EmployeeID int not null, Name varchar(50) not null, Time varchar(50) not null, Late int null, Leaveearly int null, Jobwound i

21、nt null, S_leave int null, Pa_leave int null);4、工资信息表:工资信息表主要是记录公司员工的工资及奖金的信息,主要包括职工ID、姓名、基本工资、基本奖金、效益奖金、养老保险、医疗保险、扣发工资、扣发奖金、考勤扣发等,具体设计如表4-4所示。表4-4 工资信息表(wage)字段名称数据类型字段大小是否主键说明EmployeeIDintN/A是职工IDNamevarchar50否姓名Base_payvarchar50否基本工资BaseprizeintN/A否基本奖金BenifitprizeintN/A否效益奖金InsuranceintN/A否养老保险M

22、edicareintN/A否医疗保险DeprivepayintN/A否扣发工资DepriveprizeintN/A否扣发奖金DepriveattendintN/A否考勤扣发创建本表的SQL语句如下:create table wage( EmployeeID int not null primary key, Name varchar(50) not null, Base_pay int null, Baseprize int null, Benifitprize int null, Insurance int null, Medicare int null, Deprivepay int nu

23、ll, Depriveprize int null, Depriveattend int null);五、开发前准备(1) 启动MySQL,打开MySQL命令行客户端MySQL Command Line Client。(2) 执行语句“use test;”进入数据库test开始对其进行操作。(3) 执行创建数据表的SQL语句。(4) 输入如下测试数据:insert into person values(1,张三,男,1981.1,河北唐山,汉,群众,本科,未婚,河北理工大学,计算机,无,技术,技术员,新华西道46号,300006,0315-2592920,13633665689,,130256

24、198101010130,);insert into person values(2,李四,男,1981.1,河北唐山,汉,群众,本科,未婚,河北理工大学,计算机,无,技术,技术员,新华西道46号,300006,0315-2592920,13633665689,,130256198101010130,);insert into person values(3,王五,女,1981.1,河北唐山,汉,群众,本科,未婚,河北理工大学,计算机,无,技术,技术员,新华西道46号,300006,0315-2592912,13635565689,,130254198101010530,);insert in

25、to person values(4,赵六,男,1981.1,河北唐山,汉,群众,本科,已婚,河北理工大学,计算机,无,技术,技术员,新华西道46号,300006,0315-2592920,13633665689,,130256198101010130,);insert into wage values(1,张三,1500,1050,600,500,400,200,200,100);insert into wage values(2,李四,1500,1050,600,500,400,200,200,100);insert into wage values(3,王五,1500,1050,600,

26、500,400,200,200,100);insert into wage values(4,赵六,1500,1050,600,500,400,200,200,100);insert into Attend values(1,张三,2002.1,0,1,1,1,0);insert into Attend values(2,李四,2002.1,0,1,1,1,0);insert into Attend values(3,王五,2002.1,0,1,1,1,0);insert into Attend values(4,赵六,2002.1,0,1,1,1,0);insert into man val

27、ues(wyf,hxl);至此,数据库的设计工作已经完成,下面将会介绍系统具体功能代码的开发。六、数据库操作模块信息管理系统必定要涉及对数据的各种操作,因此应该开发一个关于数据库操作的类,实现对数据库中信息的操作。这样的设计不但体现了Java语言的封装性,而且为后续开发提供了很大的方便,下面完成数据库的操作模块。(一)数据库连接为了与特定的数据源相连,JDBC必须加载相应的驱动程序。根据驱动程序的不同,装载驱动程序的格式也不同。第一种:JDBC-ODBC桥驱动程序用法:Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);对目前的大多数数据库,都可以通过这

28、种方式来装载驱动程序,其中使用了jdbc-odbc桥,用于将Java的JDBC驱动转化为ODBC驱动,访问数据库。第二种:装载JDBC驱动程序,这种方式适合于已经具有特定JDBC驱动程序的数据库访问,对不同的数据库,JDBC驱动程序也不同。用法:Class.forName(“jdbc.driver_class_name”);对于mySQL桥驱动程序,通过以下方式装载驱动程序:Class.forName(“org.git.mm.mysql.Driver”);对于Oracle Jdbc Thin桥驱动程序,通过以下方式装载驱动程序:Class.forName(“oracle.jdbc.driver

29、.OracleDriver”);MySQL数据库的连接方法,该方法主要完成了对数据库中数据操作前的准备工作,也可以参照该方法来连接其他的数据库,其具体实现如下:public class DataBaseConnection con=null;/声明Connection引用Statement stat;ResultSet rs;int count;public DataBase()try/加载MySQL的驱动类,并创建数据库连接Class.forName(org.gjt.mm.mysql.Driver);con=DriverManager.getConnection(jdbc:mysql:/lo

30、calhost:3306/test,root,q123456);stat=con.createStatement();/创建Statement对象catch(Exception e)/捕获异常,并打印出来e.printStackTrace();(二)数据库操作方法public void selectDb(String sql)/声明select方法try/对SQL语句进行转码sql=new String(sql.getBytes(),ISO-8859-1);rs=stat.executeQuery(sql);catch(Exception ei)/捕获异常,并打印出来ei.printStack

31、Trace();public int updateDb(String sql)/声明update方法try/对SQL语句进行转码sql=new String(sql.getBytes(),ISO-8859-1);count=stat.executeUpdate(sql); catch(Exception ei)/捕获异常,并打印出来ei.printStackTrace();return count;/返回参数public void dbClose()/声明close方法trycon.close();/执行数据库关闭动作catch(Exception e)/捕获异常,并打印出来e.printSt

32、ackTrace(); (三)增、删、改数据库中数据的操作方法public int updatePic(String path,int eid)try/创建预编译语句实现将图片存进数据库的功能PreparedStatement ps=con.prepareStatement(update Person set Photo=? where EmployeeID=+eid);File f=new File(path);int length=(int)f.length();/获取图片的长度byte b=new bytelength;/创建byte数组其程度为图片文件的长度FileInputStrea

33、m fin=new FileInputStream(f);/创建文件类型字节流对象并为其指定源文件fin.read(b);/读取文件存于byte数组中fin.close();ps.setBytes(1,b);/设置预编译语句中的字段的值ps.execute();ps.close(); catch(Exception ei)/捕获异常,并打印出来ei.printStackTrace();return count;(四)获取数据的方法public Vector getPerson()/对员工信息进行搜索Vector vtemp = new Vector();String sql = select

34、EmployeeID,Name,Sex,Date,City,Nation,Polity,+Culture,Marriage,Graduate,Spec,Speci,Wtype,Duty,Depart,+IDcard,Address,Postcode,HomePhone,Mobile,Email from Person;/执行查询的SQL语句tryrs=stat.executeQuery(sql);while(rs.next()/当结果集不为空String str = new String21;for(int i=0;istr.length;i+)/得到结果集,并对其进行转码stri = rs.

35、getString(i+1);stri = new String(stri.getBytes(ISO-8859-1),gb2312);vtemp.add(str);catch(Exception e)/捕获异常,并打印出来e.printStackTrace();return vtemp;public Vector getRecord ()/部分代码已删除String str = new String10;for(int i=0;istr.length;i+)/得到结果集,并对其进行转码stri = rs.getString(i+1);stri = new String(stri.getByte

36、s(ISO-8859-1),gb2312);vv.add(str);/将获得的结果集数据,存到一个向量中catch(Exception eov)/捕获异常,并打印出来eov.printStackTrace();return vv;七、个人资料档案模块(一)界面开发实现本模块的具体功能之前,首先要对界面进行开发,然后再将各功能方法挂接到界面,本模块的界面开发代码如下:public class Person extends JPanel implements ActionListenerJFileChooser jfc=new JFileChooser();/创建文件选择器Vector listD

37、ata=new Vector();/创建用来存放列表数据的向量 String str=new String21; DataBase db;String sql; Vector vtemp;/创建字符串向量 Vector image;/创建image向量 int count=0;private JLabel jlArray=/声明标签并为其指定文本new JLabel(职工ID),new JLabel(姓 名),new JLabel(性 别),new JLabel(出生年月),new JLabel(籍 贯),new JLabel(民 族),new JLabel(政治面貌),new JLabel(

38、文化程度),new JLabel(婚姻状况),new JLabel(毕业院校),new JLabel(所学专业),new JLabel(个人特长),new JLabel(工 种),new JLabel(职 务),new JLabel(部门名称),new JLabel(身份证号),new JLabel(家庭住址),new JLabel(邮政编码),new JLabel(联系电话),new JLabel(Email),new JLabel(个人资料档案),new JLabel(个人照片),new JLabel(住宅电话),new JLabel(手 机),/中间部分控件声明代码被删/db=new D

39、ataBase();vtemp=db.getPerson();/调用getPerson方法以获得职工信息 image=db.getPic();/获得照片信息db.dbClose();this.setBounds(5,5,650,500);/设置窗体的大小位置this.setVisible(true);/设置窗体的可见性(二)界面处理代码的开发public void actionPerformed(ActionEvent e)if(e.getSource()=jbArray8) /实现添加照片的功能 jfc.showOpenDialog(this);if(jfc.getSelectedFile(

40、)!=null)/将照片放在一标签中jtxt21.setText(+jfc.getSelectedFile();/以下20行代码实现了键盘易用性if(e.getSource()=jtxt0)jtxt1.requestFocus();if(e.getSource()=jtxt1)jtxt2.requestFocus();if(e.getSource()=jtxt2)jtxt3.requestFocus();if(e.getSource()=jtxt3)jtxt4.requestFocus();/中间部分代码被删/实现添加职工信息的功能this.insertPerson();if(e.getSource()=jbArray5)/实现删除职工信息的功能this.deletePerson();if(e.getSource()=jbArray6)/实现修改职工信息的功能this.updatePerson();if(e.getSource()=jbArray7)/实现查询按钮的提示JOptionPane.showMessageDialog(this,请使用左边树的子节点 查询 !, 消息!,JOpti

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1