![人事档案管理系统课程设计报告_第1页](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/e9ef1f42-e69e-41b8-8754-e33e3b9f9ee1/e9ef1f42-e69e-41b8-8754-e33e3b9f9ee11.gif)
![人事档案管理系统课程设计报告_第2页](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/e9ef1f42-e69e-41b8-8754-e33e3b9f9ee1/e9ef1f42-e69e-41b8-8754-e33e3b9f9ee12.gif)
![人事档案管理系统课程设计报告_第3页](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/e9ef1f42-e69e-41b8-8754-e33e3b9f9ee1/e9ef1f42-e69e-41b8-8754-e33e3b9f9ee13.gif)
![人事档案管理系统课程设计报告_第4页](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/e9ef1f42-e69e-41b8-8754-e33e3b9f9ee1/e9ef1f42-e69e-41b8-8754-e33e3b9f9ee14.gif)
![人事档案管理系统课程设计报告_第5页](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/e9ef1f42-e69e-41b8-8754-e33e3b9f9ee1/e9ef1f42-e69e-41b8-8754-e33e3b9f9ee15.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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_NumberInt一五否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_NumberInt一五否D_NameVarchar20否D_CountVarchar10否(4) encouragementpunishinformation的结构如表2.4所示。表2.4 encouragementpunishinformation字段名数
14、据类型长度是否允许空值EP_NumberInt一五否EP_Namevarchar20否EP_Datevarchar10否EP_Addressvarchar50否EP_Causationvarchar100否EP_Remarkvarchar一五0否(5) traininformation的结构如表2.5所示。表2.5 traininformation字段名 数据类型 长度 是否允许空值T_NumberInt一五否T_Contentvarchar50否T_Namevarchar20否T_Datevarchar10否T_Moneyvarchar10否(6) wageinformation的结构如表2
15、.6所示表2.6 wageinformation 字段名 数据类型 长度 是否允许空值W_NumberInt一五否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, 一八); / NOI一八N lp1.setText(" 欢 迎 使 用 企 业 人 事 管 理 系 统 !"); javax.swing.GroupLayout pLayout = new javax.swing.GroupLayout(p); p.setLayout(pLayout); pLayout.setHorizontalGroup( jButton5.setHorizontalTextPosition(javax.swing.SwingConstants.CE
18、NTER); jButton5.setVerticalTextPosition(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
19、.setText("密码修改"); password.addMouseListener(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) pas
20、swordActionPerformed(evt); ); systemM.add(password); 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.addMouse
21、Listener(new java.awt.event.MouseAdapter() public void mouseClicked(java.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) ex
22、itMouseClicked(evt); ); exit.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) exitActionPerformed(evt); ); systemM.add(exit); jMenuBar1.add(systemM); manageM.setText("信息管理"); employeeMM.setText("员工信息管理"); employeeM.
23、setText("基本信息管理"); employeeM.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) employeeMMouseClicked(evt); ); employeeMM.add(employeeM); trainM.setText("培训信息管理"); trainM.addMouseListener(new java.awt.event.MouseAdapter() pu
24、blic void mouseClicked(java.awt.event.MouseEvent evt) trainMMouseClicked(evt); ); employeeMM.add(trainM); encouragementPunishM.setText("奖罚信息管理"); encouragementPunishM.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) encouragementPun
25、ishMMouseClicked(evt); ); employeeMM.add(encouragementPunishM); wageM.setText("薪资信息管理"); wageM.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) wageMMouseClicked(evt); ); employeeMM.add(wageM); manageM.add(employeeMM); departmentM.s
26、etText("部门信息管理"); departmentM.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) departmentMMouseClicked(evt); ); manageM.add(departmentM); jMenuBar1.add(manageM); selectM.setText("信息查询"); employeeSM.setText("员工信息查询&quo
27、t;); employeeS.setText("基本信息查询"); employeeS.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) employeeSMouseClicked(evt); ); employeeSM.add(employeeS); trainS.setText("培训信息查询"); trainS.addMouseListener(new java.awt.event.Mo
28、useAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) trainSMouseClicked(evt); ); employeeSM.add(trainS); encouragementPunishS.setText("奖罚信息查询"); encouragementPunishS.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) e
29、ncouragementPunishSMouseClicked(evt); ); employeeSM.add(encouragementPunishS); wageS.setText("薪资信息查询"); wageS.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) wageSMouseClicked(evt); ); employeeSM.add(wageS); selectM.add(employeeSM)
30、; 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.setText("帮助"); jMenuBar1.add(helpM); ab
31、outM.setText("关于"); jMenuBar1.add(aboutM); setJMenuBar(jMenuBar1);工具栏的设计,为了方便用户使用系统,在工具栏中为常用的系统子模块提供了快捷按钮,用户可以快速地进入系统中常用的子模块。工具栏的效果如图3.4所示。图3.4工具栏部分实现代码:pLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pLayout.createSequentialGroup() .addComponent(lp1, javax
32、.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) .addComponent(lp1) .addConta
33、inerGap(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.addActionListener(ne
34、w 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
35、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
36、(false); jButton3.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)
37、; ); jToolBar1.add(jButton3); jButton5.setText("退出系统"); jButton5.setFocusable(false);3.3添加/删除用户名模块 该模块主要报告添加和删除功能,现实流程图如图3.5所示。开始添加新用户和密码清空选择要被删除的用户名添加删除结束 图3.5添加/删除用户名流程图首先添加的部分代码如下: Database.joinDB();/初始化窗体数据 String sqlc="select * from EmployeeInformation" try if(Database.query
38、(sqlc) /System.out.println("ok"); while(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.getTex
39、t().equals("")|tdepartment.getText().equals("") |theadship.getText().equals("")|txt_InDueFormDate.getText().equals("")|tschoolage.getText().equals("") |txt_enterdate.getText().equals("") new JOptionPane().showMessageDialog(null,"除备注外,其
40、余数据均不能为空!"); else String name=txt_name.getText(); String borndate=txt_borndate.getText(); String department=tdepartment.getText(); String headship=theadship.getText(); String indueformdate=txt_InDueFormDate.getText(); String schoolage=tschoolage.getText(); String enterdate=txt_enterdate.getText
41、(); String departure=txt_departure.getText(); String remark=remark_ta.getText(); String sex=("" + sex_cb.getSelectedItem(); System.out.println(sex); String marriage=(""+marriage_cb.getSelectedItem(); String estate=("" + estate_cb.getSelectedItem(); String politicsVisage
42、=("" + politicsVisage_cb.getSelectedItem(); System.out.print(num); System.out.println(sex); String sInsert="insert into EmployeeInformation(E_Number,E_Name,E_Sex,E_BornDate,E_Marriage,E_PoliticsVisage,E_SchoolAge,E_EnterDate,E_InDueFormDate,E_Department,E_Headship,E_Estate,E_Departure
43、Date,E_Remark) values("+num+",'"+ name +"','"+sex+"','"+ borndate+"',"+ "'"+ marriage +"','"+ politicsVisage +"','"+ schoolage +"','"+ enterdate +"','
44、"+ indueformdate +"',"+ "'"+ department +"','"+ headship +"','"+ estate +"','"+departure+"','"+ remark +"')" /System.out.println(sInsert); try if(Database.executeSQL(sInsert) txt_nu
45、mber.setEditable(true); save_bt.setEnabled(false); new JOptionPane().showMessageDialog(null,"添加数据成功!"); Database.joinDB(); String sql="select * from EmployeeInformation" Database.query(sql); Database.rs.last(); txt_number.setText("" + Database.rs.getInt("E_Number&q
46、uot;); catch(Exception einsert) System.out.println(einsert); 用户的删除,部分代码如下:String sdelete = "delete from EmployeeInformation where E_Number ='"+ txt_number.getText()+"'" try if(Database.executeSQL(sdelete) new JOptionPane().showMessageDialog(null,"数据删除成功!"); String sql="select * from EmployeeInformation" Database.query(sql); Database.rs.next(); txt_number.setText("" + Database.rs.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB2201-T 57-2023 梅花鹿核心育种场管理规范
- 2024-2025学年北京市朝阳区高一上学期期末质量检测物理试卷(解析版)
- 民宿度假旅游合同
- 新版北师版一年级下册数学课件综合实践 设计教室装饰图第1课时 装饰图中的奥秘
- 二星章申请书
- 经理层聘任协议书(2篇)
- 2024-2025学年江苏省苏州市高一上学期期末调研英语试题(解析版)
- 湖北省华大新高考联盟2024-2025学年高三上学期11月测评物理试题(解析版)
- 我的入队申请书
- Module3练习(单元测试)英语四年级下册-外研版(一起)(含答案)
- Before Sunrise 爱在黎明破晓时
- 人教版八年级数学下册《第十六章二次根式》专题复习附带答案
- MotionView-MotionSolve应用技巧与实例分析
- 碳纳米管应用研究
- 投标声明书模板
- 幼儿园幼儿园小班社会《兔奶奶生病了》
- 设备管理试题库含答案
- 2023年《反电信网络诈骗法》专题普法宣传
- 2024届武汉武昌区五校联考数学九年级第一学期期末经典试题含解析
- 诈骗控告书模板
- 热应激的防与控
评论
0/150
提交评论