人事档案管理系统4889730.docx

上传人:牧羊曲112 文档编号:1896601 上传时间:2022-12-24 格式:DOCX 页数:31 大小:765.33KB
返回 下载 相关 举报
人事档案管理系统4889730.docx_第1页
第1页 / 共31页
人事档案管理系统4889730.docx_第2页
第2页 / 共31页
人事档案管理系统4889730.docx_第3页
第3页 / 共31页
人事档案管理系统4889730.docx_第4页
第4页 / 共31页
人事档案管理系统4889730.docx_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《人事档案管理系统4889730.docx》由会员分享,可在线阅读,更多相关《人事档案管理系统4889730.docx(31页珍藏版)》请在三一办公上搜索。

1、沈阳航空航天大学课 程 设 计 报 告课程设计名称:软件综合课程设计课程设计题目:人事档案管理系统 院(系):计算机学院专 业:班 级: 学 号:姓 名:指导教师:完成日期:沈阳航空航天大学课程设计报告 目 录1 系统分析11.1需求分析11.2编程技术简介12 系统设计32.1 系统模块设计32.2 系统预览42.3 主流程图62.4.1 数据库设计72.4.2 数据库概念设计72.4.3 数据库逻辑设计83 具体设计113.1 系统登录界面设计113.2 系统主体窗体设计123.3添加/删除用户名模块173.4 员工信息管理模块213.5 员工信息查询模块224 调试分析25文件清单26参

2、考文献27 28 沈阳航空航天大学课程设计报告 1 系统分析1.1 需求分析伴随着企业人事管理系统化的日益完善,企业人事管理系统在企业管理中越来越受到企业管理者的青睐。企业人事管理系统的功能全面、操作简单,可以快速地为员工建立电子档案,这样做不但便于修改、保存和查看,而且实现了无纸化存档,为企业节省了大量资金和空间。通过企业人事管理系统,还可以实现对企业员工的个人信息管理、奖惩管理、培训管理、待遇管理和相关信息查询。 1.2 编程技术简介本次课设我主要使用的软件是NetBeans IDE 7.1.3和Navicat for MySQL,语言则以Java为主。NetBeans IDE 7.1.3

3、:NetBeans是开源软件开发集成环境,是一个开放框架,可扩展的开发平台,可以用于Java、C/C+,PHP等语言的开发,本身是一个开发平台,可以通过扩展插件来扩展功能。在 NetBeans Platform 平台中,应用软体是用一系列的软体模组(Modular Software Components)建构出来。而这些模组是一个jar档(Java Archive File)它包含了一组Java程式的类别而它们实作全依据依 NetBeans 定义了的公开界面以及一系列用来区分不同模组的定义描述档(Manifest File)。有赖于模组化带来的好处,用模组来建构的应用程式可只要加上新的模组就能

4、进一步扩充。由于模组可以独立地进行开发,所以由 NetBeans 平台开发出来的应用程式就能利用着第三方软件,非常容易及有效率地进行扩充。Navicat for MySQL:Navicat for MySQL1是一款强大的 MySQL 数据库管理和开发工具,它为专业开发者提供了一套强大的足够尖端的工具,但对于新用户仍然易于学习。Navicat for MySQL 基于Windows平台,为 MySQL 量身订作,提供类似于 MySQL 的用管理界面工具。此解决方案的出现,将解放 PHP、J2EE 等程序员以及数据库设计者、管理者的大脑,降低开发成本,为用户带来更高的开发效率。Navicat f

5、or MySQL 使用了极好的图形用户界面(GUI),可以用一种安全和更为容易的方式快速和容易地创建、组织、存取和共享信息。 用户可完全控制 MySQL 数据库和显示不同的管理资料,包括一个多功能的图形化管理用户和访问权限的管理工具,方便将数据从一个数据库转移到另一个数据库中(Local to Remote、Remote to Remote、Remote to Local),进行档案备份。 Navicat for MySQL 支援 Unicode,以及本地或远程 MySQL 服务器多连线,用户可浏览数据库、建立和删除数据库、编辑数据、建立或执行 SQL queries、管理用户权限(安全设定)

6、、将数据库备份/复原、汇入/汇出数据(支援 CSV, TXT, DBF 和 XML 档案种类)等。软件与任何 MySQL 5.0.x 伺服器版本兼容,支援 Triggers,以及 BINARY VARBINARY/BIT 数据种类等的规范。Java语言:Java编程语言的风格十分接近C、C+语言。Java是一个纯粹的面向对象的程序设计语言,它继承了 C+语言面向对象技术的核心。Java舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再

7、为内存管理而担忧。2 系统设计2.1 系统模块设计企业人事管理系统主要包括系统管理信息管理和信息查询三大功能模块用来提供对企业员工的信息管理和查询以及对相关部门的管理,还包括用户的管理。根据企业对人事管理的要求,本系统需要实现以下目标:(1) 操作简单方便、界面简洁大方。(2) 方便快捷的人员信息管理。(3) 简单实用的奖惩管理。(4) 简单实用的培训管理。针对企业中不同的待遇标准,实现待遇薪酬管理。企业人事管理系统的功能结构如图2.1所示企业人事管理系统信息管理帮助关于信息查询系统管理员工信息查询部门信息查询部门信息管理员工信息管理退出系统添加删除用户重新等录密码修改薪酬信息查询奖惩信息查询

8、培训信息查询基本信息查询薪酬信息管理奖惩信息管理培训信息管理基本信息管理图2.1 企业人事管理系统功能模块图2.2 系统预览企业人事管理系统由多个界面组成,下面仅列出几个典型界面,其他界面效果可参见源程序。企业人事管理系统的主体界面效果如图2.2所示。图2.2企业人事管理系统的主体界面员工信息界面效果如图2.3所示。图2.3员工信息界面 员工信息查询界面效果如图2.4所示。图2.4员工信息查询界面员工薪酬信息管理界面效果如图2.5所示。图2.5 薪酬信息管理界面2.3 主流程图进入网站时,先输入用户名和密码验证登录,验证成功后,再选择与需求相应的页面,按要求输入相应的信息,页面会自动判断以提供

9、满足用户要求的信息。如果验证失败,则需要用户添加注册信息。如图2.6所示。登录首页开始结束输入用户名,密码房产出租,出售房源出租登记N房产出售登记出租出售房产信息上传成功Y用户注册Response.Redirect(MM_redirectLoginSuccess)图2.6 系统主流程图沈阳航空航天大学课程设计报告 2.4.1 数据库设计企业人事管理系统的需求主要包括对人员信息的管理和查询,其中包括对人员个人信息职位部门的查询添加修改删除;人事奖惩培训信息的管理和人员薪酬信息的管理。2.4.2 数据库概念设计数据库设计是系统设计过程中的重要组成部分,它是通过管理系统的整体需求而制定的,数据库的好

10、坏直接影响到系统的后期开发。下面对本系统中具有代表性的数据库设计进行详细说明。婚姻状况出生日期性别员工姓名编号学历政治面貌员工部门职位状态离职时间转正时间进入公司时间在开发企业人事管理系统时,最重要的是人员信息。人员信息表实体属性图如图2.7所示。图2.7人员信息表实体属性图部门本系统还提供用户信息管理和部门信息管理,下面给出用户信息表和部门信息表的实体属性图如图2.8和2.9所示。名字人数部门编号用户身份用户名用户密码图2.8用户表实体属性图 图2.9部门表实体属性图本系统同时也提供培训信息管理和奖惩信息管理,下面给出培训信息表和奖惩信息表的实体属性图如图2.10和2.11所示编号日期名字编

11、号培训人名奖惩培训内容地点原因培训内容培训天数培训费用图2.10 信息表实体属性图 图2.11奖惩表实体属性图系统也提供了薪酬信息管理,下面给出薪酬信息表的实体属性图如图2.14所示。基本工资姓名编号薪酬实际工资计算方式福利奖金图2.12薪酬信息表实体属性图2.4.3 数据库逻辑设计在MySQL数据库中,创建名为xiezhenghuip的数据库。然后在数据库中根据数据表的E-R图创建数据表。(1) userinformation的结构如表2.1所示。表2.1 userinformation表字段名 数据类型 长度是否允许空值UserNameVarchar20否UpasswordVarchar2

12、0否uLimitInt4否BakVarchar100是(2) employeeinformation的结构如表2.2所示。 表2.2 employeeinformation 字段名 数据类型 长度是否允许空值E_NumberInt15否E_Namevarchar20否E_Sexvarchar4否E_BornDatevarchar10否E_Marriagevarchar10否E_PoliticsVisagevarchar20否E_SchoolAgevarchar20 否E_EnterDatevarchar10否E_InDueFormDatevarchar10 否E_Departmentvarch

13、ar20 否E_Headshipvarchar20 否E_Estatevarchar20 否E_DepartureDatevarchar10 是E_Remarkvarchar100是(3) departmentinformation的结构如表2.3所示。 表2.3 departmentinformation字段名数据类型长度是否允许空值D_NumberInt15否D_NameVarchar20否D_CountVarchar10否(4) encouragementpunishinformation的结构如表2.4所示。表2.4 encouragementpunishinformation字段名数

14、据类型长度是否允许空值EP_NumberInt15否EP_Namevarchar20否EP_Datevarchar10否EP_Addressvarchar50否EP_Causationvarchar100否EP_Remarkvarchar150否(5) traininformation的结构如表2.5所示。表2.5 traininformation字段名 数据类型 长度 是否允许空值T_NumberInt15否T_Contentvarchar50否T_Namevarchar20否T_Datevarchar10否T_Moneyvarchar10否(6) wageinformation的结构如表2

15、.6所示表2.6 wageinformation 字段名 数据类型 长度 是否允许空值W_NumberInt15否W_Namevarchar20否W_BasicWageInt10否W_Boonvarchar20否W_BonusInt10否W_CountMethodvarchar20否W_FactWageInt10否3 具体设计3.1 系统登录界面设计系统用户登录窗体主要用来验证用户的登录信息,完成用户的登录功能,该模块的运行结果如图3.1所示。图3.1用户登录窗体 登陆系统是验证用户是否可以使用此系统,如果输入的用户名和密码正确,选择身份正确,才可以验证成功,登录此系统进行使用,否则,信息不正

16、确或者身份不争取,都不可以进入此系统。如图3.2所示登陆界面输入用户名,密码,身份主界面N开始验证信息成功结束登录失败 图3.2 登录系统流程图3.2 系统主体窗体设计主窗体是软件系统的一个重要组成部分,是提供人机交互的一个必不可少的操作平台。通过主窗体,用户可以打开与系统相关的各个子操作模块,完成对软件的操作和使用;另外通过主窗体,用户还可以快速掌握本系统的基本功能。首先通过菜单栏可以打开本系统所有的子模块,菜单栏的效果如图3.3所示。图3.3菜单栏部分实现码:setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE

17、); lp1.setFont(new java.awt.Font(新宋体, 1, 18); / NOI18N lp1.setText( 欢 迎 使 用 企 业 人 事 管 理 系 统 !); javax.swing.GroupLayout pLayout = new javax.swing.GroupLayout(p); p.setLayout(pLayout); pLayout.setHorizontalGroup( jButton5.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jButton5.setVerti

18、calTextPosition(javax.swing.SwingConstants.BOTTOM); jButton5.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton5ActionPerformed(evt); ); jToolBar1.add(jButton5); systemM.setText(系统管理); password.setText(密码修改); password.addMouseLis

19、tener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) passwordMouseClicked(evt); ); password.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) passwordActionPerformed(evt); ); systemM.add(passwo

20、rd); land.setText(重新登录); land.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) landMouseClicked(evt); ); systemM.add(land); addDelete.setText(添加/删除用户); addDelete.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java

21、.awt.event.MouseEvent evt) addDeleteMouseClicked(evt); ); systemM.add(addDelete); exit.setText(退出系统); exit.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) exitMouseClicked(evt); ); exit.addActionListener(new java.awt.event.ActionListener() p

22、ublic void actionPerformed(java.awt.event.ActionEvent evt) exitActionPerformed(evt); ); systemM.add(exit); jMenuBar1.add(systemM); manageM.setText(信息管理); employeeMM.setText(员工信息管理); employeeM.setText(基本信息管理); employeeM.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.

23、awt.event.MouseEvent evt) employeeMMouseClicked(evt); ); employeeMM.add(employeeM); trainM.setText(培训信息管理); trainM.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) trainMMouseClicked(evt); ); employeeMM.add(trainM); encouragementPunishM.setTe

24、xt(奖罚信息管理); encouragementPunishM.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) encouragementPunishMMouseClicked(evt); ); employeeMM.add(encouragementPunishM); wageM.setText(薪资信息管理); wageM.addMouseListener(new java.awt.event.MouseAdapter()

25、public void mouseClicked(java.awt.event.MouseEvent evt) wageMMouseClicked(evt); ); employeeMM.add(wageM); manageM.add(employeeMM); departmentM.setText(部门信息管理); departmentM.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) departmentMMouseClick

26、ed(evt); ); manageM.add(departmentM); jMenuBar1.add(manageM); selectM.setText(信息查询); employeeSM.setText(员工信息查询); employeeS.setText(基本信息查询); employeeS.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) employeeSMouseClicked(evt); ); employeeSM.a

27、dd(employeeS); trainS.setText(培训信息查询); trainS.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) trainSMouseClicked(evt); ); employeeSM.add(trainS); encouragementPunishS.setText(奖罚信息查询); encouragementPunishS.addMouseListener(new java.awt.event.

28、MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) encouragementPunishSMouseClicked(evt); ); employeeSM.add(encouragementPunishS); wageS.setText(薪资信息查询); wageS.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) wageSMouseCli

29、cked(evt); ); employeeSM.add(wageS); selectM.add(employeeSM); departmentS.setText(部门信息查询); departmentS.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) departmentSMouseClicked(evt); ); selectM.add(departmentS); jMenuBar1.add(selectM); helpM.s

30、etText(帮助); jMenuBar1.add(helpM); aboutM.setText(关于); jMenuBar1.add(aboutM); setJMenuBar(jMenuBar1);工具栏的设计,为了方便用户使用系统,在工具栏中为常用的系统子模块提供了快捷按钮,用户可以快速地进入系统中常用的子模块。工具栏的效果如图3.4所示。图3.4工具栏部分实现代码:pLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pLayout.createSequentialGroup()

31、.addComponent(lp1, javax.swing.GroupLayout.PREFERRED_SIZE, 632, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, Short.MAX_VALUE) ); pLayout.setVerticalGroup(pLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pLayout.createSequentialGroup() .addGap(20, 20, 20) .add

32、Component(lp1) .addContainerGap(23, Short.MAX_VALUE) ); jToolBar1.setRollover(true); jButton1.setText(员工基本信息管理); jButton1.setFocusable(false); jButton1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jButton1.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); jButton1.addActio

33、nListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton1ActionPerformed(evt); ); jToolBar1.add(jButton1); jButton2.setText(员工基本信息查询); jButton2.setFocusable(false); jButton2.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jButton

34、2.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); jButton2.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton2ActionPerformed(evt); ); jToolBar1.add(jButton2); jButton3.setText(修改密码); jButton3.setFocusable(false); jBu

35、tton3.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jButton3.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); jButton3.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton3ActionPerformed(evt); ); jToolBa

36、r1.add(jButton3); jButton5.setText(退出系统); jButton5.setFocusable(false);3.3添加/删除用户名模块 该模块主要报告添加和删除功能,现实流程图如图3.5所示。开始添加新用户和密码清空选择要被删除的用户名添加删除结束 图3.5添加/删除用户名流程图首先添加的部分代码如下: Database.joinDB();/初始化窗体数据 String sqlc=select * from EmployeeInformation; try if(Database.query(sqlc) /System.out.println(ok); whi

37、le(Database.rs.next() num= Database.rs.getInt(E_Number)+1; /number=Database.rs.getString(D_Number)+1; System.out.print(num); catch(Exception e) System.out.println(e); if(txt_name.getText().equals()|txt_borndate.getText().equals()|tdepartment.getText().equals() |theadship.getText().equals()|txt_InDueFormDate.getText().equals()|tschoolage.getText().equals()

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号