




免费预览已结束,剩余45页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业论文设计题 目: 人事管理系统 教学院系: 计算机科学系 学生姓名: 学 号: 年 级: 专 业: 计算机应用技术 完成日期: 指导老师: 2人 事 管 理 系 统 分 析摘 要:目前,我国各大企业在经历了多年传统的、较为闭塞的人事管理状况下,不得不在短短的几年时间里面对全球企业的残酷竞争和巨大的生存考验。因此,如何规避行业风险,提高工作效率,实现业务流程自动化定制以及充分利用信息资源提供信息分析决策,提高管理水平,是摆在我国各大企业面前的重大课题。本系统就是充分利用各大企业的信息资源以及遍布各地的网络平台,实现人事管理的自动化和规范化。为此人事管理系统的开发,势在必行!根据社会发展的走向和企业发展的实情,现代的电子信息管理日益普遍,人工管理和电子管理的反差成极端势拉大。为此企业的人事管理软件开发,不能只是一个假设级的工程,而应该是势在必行的开发工程。做为计算机科学系毕业的学生,了解社会企业的发展行情,结合自已的所学专业知识,用JAVA语言制作该系统!关键词:JAVA; 人事管理; 综合统计; 积分统计; 人事统计; 超级管理员Personnel Management SystemAbstract: At present, major enterprises in our country has gone through years of traditional, more isolated personnel management conditions, had to just a few years at the time inside the cruelty of the global business competition and the enormous survival test. Therefore, how to circumvent the industry risk, improve efficiency, automate business processes and make full use of customized information resources to provide analysis of information in decision-making, improve management level, are facing our country at the major companies are major tasks. Take full advantage of this system is the major companies all over the information resources and networks around the platform, implementation of personnel management of the automation and standardization. Personnel Management System for this development, it is imperative! According to the trend of social development and enterprise development of the facts of modern electronic information management has become increasingly popular, artificial management and electronic management of the contrast into the extreme potential widening. To this end enterprise personnel management software development, not just a hypothetical class of works, but it is imperative that the development project. As a computer science graduate students to understand the development of social enterprise market, by combining their own expertise to study, using JAVA language of the system!Keywords: JAVA; General Personnel; Management statistics; points to statistics; staff statistics ;Super Administrator2 目 录1 前言11.1 人事管理系统的意义11.2 项目建设的目标11.3 项目建设的原则11.健壮性12.可靠性13.高效性24.易用性25.清晰性26.安全性27.可扩展性28.可移植性22 设计过程22.1 调查22.2 需求分析32.3 详细设计32.4 数据库分析设计31数据库介绍.42.数据库分析42.5 代码编写41生日提醒.4-52.闹钟提醒5-153.综合统计15-194.积分统计19-225.人事统计23-286.登陆日志28-322.6 系统结构图展示332.7 统计管理模块运行界面展示331生日提醒332闹钟提醒343综合统计354积分统计365人事统计376登陆日志383系统测试393.1 测试的定义391. 测试目的392. 软件测试背景403. 软件测试方法403.2 需求概述401. 性能及运行环境403.3 测试计划411. 准则413.4 测试项目说明411. 测试方案412. 测试用例方法42总结43参考文献44致 谢441 前 言1.1人事管理系统的意义随着企业的不断发展与壮大以及业务的多元化和现代经济的高速发展,人事管理工作量巨增,传统的手工记账方式和一些低效率的软件已经远远不能满足企业人事管理的需要,现在企业急需一个高效、安全、稳定的系统来满足它的需要,于是人事管理系统就这样诞生了!人事管理系统的诞生在人事管理的历史上具有划时代的意义,首先,该系统在满足企业人事管理的同时,还有一些辅助性功能,比如员工生日提醒,提醒对员工进行激励;还有事务记录功能,及时帮助提醒管理者对事务进行及时处理。其次,该系统界面友好,操作方便 ,采用java面向对象设计,具有良好的扩展性能,运行效率高,运用java异常处理机制,健壮性强。1.2 项目建设的目标满足企业日常人事管理需要。1.3 项目建设的原则为了保证系统在使用过程中能够顺利运行,在本系统设计时将遵循如下具体的原则:1.健壮性要求据有以下异常处理功能:1、数字格式验证:输入非数字或超长度的符号后返回系统,提示非法输入并要求重新输入;2、管理者账号、密码正确性验证:通过读取文件中数据,验证输入的账号、密码等的正确性,如果输入错误提示重新输入,并控制输错3次后退出登陆系统对话框。3、数据读取验证:当数据不存在时候,提示相应错误信息并返回上一级操作界面;4、其它必需的异常处理。2.可靠性除非人为执行退出命令、意外断电等非人为控制的错误,否则系统始终在运行中。3.高效性系统写入读出数据应当即时处理。4.易用性系统应该让所有管理者能够根据不同的角色,提示信息进行所需操作。5.清晰性系统各功能模块名称应准确、易懂。6.安全性通过密码验证,系统能够防止任何没有账号密码人员的登陆。7.可扩展性系统应能够在不对原有代码做大的修改的前提下,轻松扩展其它功能。比如:实现网络多级管理。8.可移植性系统在Windows Server 2003 下开发,应能够不需修改而在Linux、Unix等系统上正常运行。2 设计过程2.1 调查到企业了解真实的人事管理业务,并且记录下每个功能的具体实现要求。再与企业客户交流,了解清楚客户在人事管理时遇到过些什么问题,当时是怎样解决的,有没有更好、更简洁的解决问题,如果有没有解决的问题,记录下来,根据实际情况分析设计出解决方法。2.2 需求分析在调查的基础上写需求分析,为详细设计做准备,将每个功能的具体实现记录下来,将对每个功能的分析写出来。具体实现在需求分析说明书上有说明2.3 详细设计对项目进行详细设计,再对每个项目进行详细设计说明,在详细设计说明书上记录下几个主要功能的设计流程。构思系统结构,然后设计框架。首先在大体设计了一下页面:进入系统后首先是登陆页面,登陆分管理员登陆和超级管理员登陆,超级管理员登陆后进入超级管理员管理界面,在这里的超级管理员就相当于企业的老总,他可以任意添加、删除管理员,当企业的下级管理者需要更换时先删除原有的管理者信息,再添加一下新的管理者信息,这样就可以实现在企业的人员调动的情况下保证管理员账号密码的安全性,被调走的工作人员在这里就没有了管理员档案。管理员登陆后对进入管理员管理界面,这里的管理员就是上面提到的老总下级的管理人员,当管理员登陆成功后,就可以为方便的对员工进行管理,如:奖罚、调动、出差、考核等。如果企业老总想对下级管理者进行管理,则进入的界面和其下级管理员除了,不能对管理员进行添加删除以外的功能;一样都可以对员工进行相同的操作管理。生日提醒是为人事管理者对员工实行激励而设计的一种功能,他可以使管理者轻松的掌握并在恰当的时间对员工进行激励。闹钟提醒可以帮助管理者记录一些事项,提醒管理者在什么时间完成什么任务,以避免影响工作的正常进行。此项功能,是在管理者登陆进去以后手动添加的,在时间到时自动提醒,并留有记录,不会随着时间而消失,可以方便管理者查阅!登陆日志在管理者登陆以后在工具栏上显示出的功能,它只适合于超级管理员使用。普通管理员登陆时,此项功能为灰色,即显示为不可用状态。此项功能分为按登陆时间进行查询和按操作者进行查询两种查询方式。可以查询,但是不可以更改和删除。综合统计此项功能分为按部分或按职位进行统计的两种功能,按部门进行统计是根据该企业的部门多少来进行的一种统计方式。按职位进行查询是根据不同职位的人进行统计出来。方便管理者进行管理操作,当然此项功能可以对员工的一些表现情况进行更改。积分统计此项功能是根据员工的奖罚等一些最为基本的信息情况进行的统计。它一般显示出这个分数段的人的详细信息。方便管理者,进行详细的管理操作。人事统计此项功能是根据员工的不同属性进行的一些详细的统计显示数据的一各统计方式。它方便于管理者统计出该企业员工有多少为男或者有多少为党员、群众、团员等信息。2.4 数据库分析设计1数据库介绍.本系统开发采用SQLserver2005开发,采用JDBC链接实现。实现本系统,主要的数据存储中心。依赖于该数据库,才能和JAVA语言结合向用户呈现更为明了详细的数据信息。2.数据库分析实现本系统,主要的数据存储中心,经过多次的讨论与规划设计出以下15张表:(详细信息请参阅:数据库设计.doc文档)1管理员表(admin)2 员工表(employee)3 部门表()4 职位表5转正表(to_normal)6调动记录表(change_record)7退休离职表(demission)8调薪记录表(adjust_pay)9奖惩标准表(judge_standard)10奖惩记录表(judge_ record)11培训记录表(train_record)12考勤表(check_work)13加班表( overtime)14出差表(evection)15权限表(popedom)2.5 代码编写根据详细设计说明书对该系统进行代码编写,主要代码实现如下:1生日提醒package com.zzhw.fc.gui;import com.zzhw.fc.data.JDBCBridge;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;/* * * author 高向向 */public class LZH_Birthday implements Runnable static StringBuffer message = new StringBuffer(); boolean isShow = false; public LZH_Birthday() public void run() message.delete(0, message.length(); String birthday = JDBCBridge.getData(SELECT employee_name , employee_birth FROM, Employee, ); DateFormat df1 = new SimpleDateFormat(yyyy-MM-dd); DateFormat df2 = new SimpleDateFormat(MM月dd日); Date date1 = new Date(); Calendar calendarNow = new GregorianCalendar(); calendarNow.setTime(date1); for (int i = 0; i 0 & (calendarBir.get(Calendar.DAY_OF_MONTH) - calendarNow.get(Calendar.DAY_OF_MONTH) 3) message.append(df2.format(date2) + t + birthdayi0 + t + (calendarNow.get(Calendar.YEAR) - calendarBir.get(Calendar.YEAR) + 岁生日 + n); isShow = true; if (calendarBir.get(Calendar.DAY_OF_MONTH) - calendarNow.get(Calendar.DAY_OF_MONTH) = 0) message.append(今天t + birthdayi0 + t + (calendarNow.get(Calendar.YEAR) - calendarBir.get(Calendar.YEAR) + 岁生日,Happy birthday + n); isShow = true; try Thread.sleep(30); catch (Exception e) System.out.println(sleep wrong); 2.闹钟提醒package com.zzhw.fc.gui;import com.zzhw.fc.data.JDBCBridge;import com.zzhw.fc.util.DateTime;import com.zzhw.fc.util.MyTableModel;import com.zzhw.fc.util.ParentTable;import javax.swing.JOptionPane;import javax.swing.text.AttributeSet;import javax.swing.text.BadLocationException;import javax.swing.text.PlainDocument;/* * * author 高向向 */public class LZH_RemindDialog extends javax.swing.JDialog String columnNames = 提醒时间, 提醒内容; /* Creates new form Remind */ public LZH_RemindDialog(java.awt.Frame parent, boolean modal) super(parent, modal); initComponents(); refreshTable(); addWindowListener(new java.awt.event.WindowAdapter() Override public void windowClosing(java.awt.event.WindowEvent e) setVisible(false); dispose(); ); setVisible(true); public void refreshTable() String data = JDBCBridge.getData(SELECT remind_date , remind_message FROM, Remind, ); jTable1.setModel(new MyTableModel(data, columnNames); jTextField1.setEditable(false); jTextField1.setText(); jTextField2.setEditable(false); jTextField2.setText(); jTextArea1.setEditable(false); jTextArea1.setText(); jButton5.setEnabled(false); jButton6.setEnabled(false); repaint(); /* This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ SuppressWarnings(unchecked) / private void initComponents() jButton1 = new javax.swing.JButton(); jButton2 = new javax.swing.JButton(); jButton3 = new javax.swing.JButton(); jButton4 = new javax.swing.JButton(); jSplitPane1 = new javax.swing.JSplitPane(); jPanel1 = new javax.swing.JPanel(); jPanel2 = new javax.swing.JPanel(); jTextField1 = new javax.swing.JTextField(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jTextField2 = new javax.swing.JTextField(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jPanel3 = new javax.swing.JPanel(); jScrollPane2 = new javax.swing.JScrollPane(); jTextArea1 = new javax.swing.JTextArea(); jButton5 = new javax.swing.JButton(); jButton6 = new javax.swing.JButton(); jScrollPane1 = new javax.swing.JScrollPane(); jTable1 = new ParentTable(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle(闹钟提醒); getContentPane().setLayout(null); jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource(/com/zzhw/fc/png/tj.png); / NOI18N jButton1.setText(添 加); jButton1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jButton1.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); jButton1.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton1ActionPerformed(evt); ); getContentPane().add(jButton1); jButton1.setBounds(10, 10, 80, 65); jButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource(/com/zzhw/fc/png/xttc.png); / NOI18N jButton2.setText(修 改); jButton2.setEnabled(false); jButton2.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jButton2.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); jButton2.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton2ActionPerformed(evt); ); getContentPane().add(jButton2); jButton2.setBounds(110, 10, 80, 65); jButton3.setIcon(new javax.swing.ImageIcon(getClass().getResource(/com/zzhw/fc/png/sc.png); / NOI18N jButton3.setText(删 除); jButton3.setEnabled(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); ); getContentPane().add(jButton3); jButton3.setBounds(220, 10, 80, 65); jButton4.setIcon(new javax.swing.ImageIcon(getClass().getResource(/com/zzhw/fc/png/xttc.png); / NOI18N jButton4.setText(关 闭); jButton4.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jButton4.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); jButton4.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton4ActionPerformed(evt); ); getContentPane().add(jButton4); jButton4.setBounds(320, 10, 80, 65); jSplitPane1.setDividerLocation(250); jSplitPane1.setOneTouchExpandable(true); jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(提醒时间); jTextField1.setDocument(new MyDocument2(); jTextField1.setEditable(false); jTextField1.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) jTextField1MouseClicked(evt); ); jLabel1.setText(年月日); jLabel2.setText(时:分:秒); jTextField2.setDocument(new MyDocument(); jTextField2.setEditable(false); jLabel3.setText(格式:0000-00-00); jLabel4.setText(格式:00:00:00); javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); jPanel2.setLayout(jPanel2Layout); jPanel2Layout.setHorizontalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createSequentialGroup() .addGap(18, 18, 18) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel1) .addComponent(jLabel2) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) .addComponent(jTextField2) .addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 169, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel3) .addComponent(jLabel4) .addContainerGap() ); jPanel2Layout.setVerticalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createSequentialGroup() .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel3) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel2) .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel4) .addContainerGap(8, Short.MAX_VALUE) ); jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(提醒内容); jTextArea1.setColumns(20); jTextArea1.setRows(5); jScrollPane2.setViewportView(jTextArea1); javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3); jPanel3.setLayout(jPanel3Layout); jPanel3Layout.setHorizontalGroup( jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel3Layout.createSequentialGroup() .addContainerGap() .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 341, Short.MAX_VALUE) .addContainerGap() ); jPanel3Layout.setVerticalGroup( jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel3Layout.createSequentialGroup() .addContainerGap() .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 286, Short.MAX_VALUE) .addContainerGap() ); jButton5.setIcon(new javax.swing.ImageIcon(getClass().getResource(/com/zzhw/fc/png/bt_save.png); / NOI18N jButton5.setEnabled(false); jButton5.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.Ac
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中级会计师考试核心考点与模拟题集合解析
- 文库发布:电与磁课件
- 2025年财务分析师面试指南及模拟题答案
- 甲状腺结构学习课件
- 甲状腺磁共振影像课件
- 甲状腺癌的护理常规课件
- 甲状腺瘤课件
- 江苏苏州2022-2024年中考满分作文46篇
- 江苏南京2021-2023年中考满分作文38篇
- 新解读《GB-T 36134-2018不定形耐火材料 抗爆裂性试验方法》
- 2025年高考英语全国一卷听力评析及备考建议
- 小学生课件藏文版下载
- 中试基地管理制度
- 2025至2030中国工业电机行业产业运行态势及投资规划深度研究报告
- 养老院电动车管理制度
- 2026届高考语文复习:辨析并修改病句
- 2025年区域卫生规划与医疗卫生资源优化配置的研究报告
- 养生馆转让协议书
- 南充市“十四五”现代物流产业发展规划
- 义务教育《艺术课程标准》2022年修订版(原版)
- 江苏省无锡市江阴市六校2024-2025学年高一下学期4月期中联考试题 物理 含答案
评论
0/150
提交评论