java课程设计报告-mini人事管理系统

合集下载

java人事部课程设计

java人事部课程设计

java人事部课程设计一、课程目标知识目标:1. 掌握Java面向对象编程的基本概念,包括类、对象、继承、封装和多态;2. 学会使用Java编写人事部信息管理系统的基础功能,如员工信息的增加、删除、修改和查询;3. 理解并能运用Java异常处理、文件操作和数据持久化存储。

技能目标:1. 能运用面向对象的思想分析并解决实际问题,具备初步的软件项目设计能力;2. 能够使用Java编写结构清晰、可读性强的代码,养成良好的编程习惯;3. 能够运用所学知识,独立完成一个小型人事部信息管理系统的设计与实现。

情感态度价值观目标:1. 培养学生积极的学习态度,激发对计算机编程的兴趣和热情;2. 培养学生的团队合作意识,学会在项目开发过程中与他人沟通与协作;3. 培养学生勇于面对困难,敢于挑战的精神,提高解决问题的能力。

课程性质:本课程为实践性较强的学科,注重理论联系实际,通过项目驱动的教学方法,使学生能够将所学知识应用于实际项目中。

学生特点:学生具备一定的Java基础,对面向对象编程有一定的了解,但实践经验不足,需要通过实际项目锻炼编程能力。

教学要求:结合学生特点,教师应注重理论与实践相结合,引导学生通过项目实践,掌握Java编程技巧,提高解决实际问题的能力。

在教学过程中,关注学生的学习进度和个体差异,提供有针对性的指导。

二、教学内容1. 面向对象编程基础:- 类与对象的概念及其关系- 封装、继承和多态的实现原理- Java异常处理机制2. Java编程规范与技巧:- 代码规范、命名规范- 编程习惯和调试方法- 设计模式初步介绍3. 人事部信息管理系统功能模块设计:- 系统需求分析- 功能模块划分与设计- 数据存储与文件操作4. 实践项目开发:- 系统框架搭建- 员工信息管理功能实现- 系统测试与优化教学内容安排与进度:第一周:面向对象编程基础,学习类与对象、封装、继承和多态等概念;第二周:Java编程规范与技巧,培养良好的编程习惯;第三周:人事部信息管理系统功能模块设计,进行需求分析和模块划分;第四周:实践项目开发,分阶段完成系统框架搭建、功能实现及测试优化。

(完整word版)java实训报告(简单人事管理系统的设计与实现)

(完整word版)java实训报告(简单人事管理系统的设计与实现)

编号:xxxxXx学院综合课程设计报告简单人事管理系统的设计与实现学生姓名:x,x,x,xxxxxxxxxxxxxxxxxxxxxxxxxxx指导教师:x x所在系:电子信息系所学专业:计算机科学与技术年级:xxxxxxxxxxxx2014年12月目录摘要 (1)第一章前言 (2)第二章需求分析 (3)第三章概要设计 (5)3.1 总模块设计 (5)3.2系统管理模块设计 (5)3.3数据信息管理模块 (6)3.4数据信息浏览模块 (7)3.5数据信息查询模块 (8)3.6帮助模块 (9)第四章详细设计 (11)4.1总的流程 (11)4.2 用户登录流程图 (11)4.3员工信息管理流程图 (12)4.4 部门信息管理流程图 (16)4.4.1添加部门管理信息流程图 (16)4.4.2删除部门管理信息流程图 (16)4.4.3 修改部门管理信息流程图 (17)4.5查询信息管理流程图 (18)4.5.1按职工号查询员工信息 (18)4.5.2按部门号查询部门信息 (20)第五章系统实现 (21)5.1用户登录模块实现 (21)5.2主界面设计模块实现 (22)5.2.1管理员进入的主界面 (22)5.2.2员工进入的主界面 (28)第六章总结 (31)参考文献: (32)简单人事管理系统的设计与实现摘要随着计算机技术的飞速发展,计算机在企业管理中应用得到普及,不仅是在企业中,在学校利用计算机实现管理势在必行。

人事管理系统是现在企业管理工作不可缺少的一部分,是适应现在企业制度的要求,是推动企业劳动人事走向科学化、规范化的必要条件。

计算机以其强大的性能价格优势给人们的工作、学习和生活带来极大的方便.计算机代替人工处理一些事务已成为必然。

整个人类社会已进入高度信息化,人们对信息和数据的利用和处理已经进入自动化、网络化和社会化的阶段。

如在查找资料、处理日常办公事务、科研生产等方面,无不需要利用大量的信息资源。

java实训报告(简单人事管理系统的设计与实现)

java实训报告(简单人事管理系统的设计与实现)

编号:xxxxXx学院综合课程设计报告简单人事管理系统的设计与实现学生:x,x,x,xxxxxxxxxxxxxxxxxxxxxxxxxxx指导教师: x x所在系:电子信息系所学专业:计算机科学与技术年级: xxxxxxxxxxxx2014年12月目录摘要 (1)第一章前言 (2)第二章需求分析 (3)第三章概要设计 (5)3.1 总模块设计 (5)3.2系统管理模块设计 (5)3.3数据信息管理模块 (6)3.4数据信息浏览模块 (7)3.5数据信息查询模块 (8)3.6帮助模块 (9)第四章详细设计 (11)4.1总的流程 (11)4.2 用户登录流程图 (11)4.3员工信息管理流程图 (12)4.4 部门信息管理流程图 (16)4.4.1添加部门管理信息流程图 (16)4.4.2删除部门管理信息流程图 (16)4.4.3 修改部门管理信息流程图 (17)4.5查询信息管理流程图 (18)4.5.1按职工号查询员工信息 (18)4.5.2按部门号查询部门信息 (20)第五章系统实现 (21)5.1用户登录模块实现 (21)5.2主界面设计模块实现 (22)5.2.1管理员进入的主界面 (22)5.2.2员工进入的主界面 (28)第六章总结 (31)参考文献: (32)简单人事管理系统的设计与实现摘要随着计算机技术的飞速发展,计算机在企业管理中应用得到普及,不仅是在企业中,在学校利用计算机实现管理势在必行。

人事管理系统是现在企业管理工作不可缺少的一部分,是适应现在企业制度的要求,是推动企业劳动人事走向科学化、规化的必要条件。

计算机以其强大的性能价格优势给人们的工作、学习和生活带来极大的方便.计算机代替人工处理一些事务已成为必然。

整个人类社会已进入高度信息化,人们对信息和数据的利用和处理已经进入自动化、网络化和社会化的阶段。

如在查找资料、处理日常办公事务、科研生产等方面,无不需要利用大量的信息资源。

java课程设计人事管理系统

java课程设计人事管理系统

人事管理系统. 系统需求分析:(1)系统的功能设计. ..........................................(2)系统功能结构. ............................................(3)-- *• ■数据库设计. .............................................功能模块开发...........................(1)查询人员信息界面. ......................................... (2)添加员工界面. ............................................ (3)修改员工信息界面. ......................................... (4)删除员工界面. ............................................ (5)员工考核界面. ............................................ (6)员工考核历史记录界面. ....................................三.各个类说明............................四. 程序代码.............................(1)Manager. ................................................(2)CardEmploy. .............................................3) SelEmploy . ..............................................4) AddEmploy. ..............................................5) ReviseEmploy . ...........................................i UpdDialog . ...................................................6) DelEmploy. ...............................................7) AllEmploy . ...............................................8) Examine. ..................................................9) History . ....................................................10) EmployModel ...........................................11) AppraisalModel ...........................................12) SqlHelper ...............................................系统需求分析:(1) 系统的功能设计i员工信息管理:员工信息管理包括对员工基本信息和情况进行查询、添加、删除和修改及部门管理ii员工考核管理:包括对员工的考核情况进行操作,还可以对历史考核情况进行浏览(2) 系统功能结构人事管理的系统结构功能结构如图所示:(3) 数据库设计员工基本表(Employinfo)员工考核表(Appraisal )功能模块开发(1) 查询人员信息界面实例一个SelEmploy类,当点击“查询”时调用EmployModel类的queryEmploy方法实现查询(2) 添加员工界面实例一个AddEmploy类当点击“添加”时调用EmployModel类的updEmploy方法实现添加功能(3) 修改员工信息界面实例一个ReviseEmploy类当点击“修改”时,先调用UpdDialo弹跳出一个修改信息对话框,信息修改完毕后,调用EmployModel类的updEmploy方法实现修改功能(4) 删除员工界面实例一个DelEmploy类当点击“删除”时调用EmployModel类的updEmploy方法实现删除功能(5)员工考核界面实例一个Examine类当点击“确认”时调用AppraisalModel类的updAppraisal方法来完成考核功能(6)员工考核历史记录界面实例一个History 类当点击时调用AppraisalModel 类的updAppraisal 方法来完成考核功能三. 各个类说明类之间的关系图:1. Manager类Manager类的一个实例,从而生成了人事管理系统的界面,用JSplitPane类将整个界面分为左右两个部分。

java课程设计人事管理系统

java课程设计人事管理系统

枣庄学院信息科学与工程学院课程设计任务书题目:java人事管理系统学号: 0153 姓名: XXX 专业:计算机科学与技术课程: java程序设计指导教师: XXX 职称:讲师完成时间: 2012 年 5 月----2012 年 6 月枣庄学院信息科学与工程学院制课程设计任务书及成绩评定目录第1章概述前言1.1.1 背景随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机在实现企业人事档案的管理势在必行。

当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。

从而使我们从繁杂的事务中解放出来,提高了我们的工作效率。

目前很多企业的人事管理还处于人工管理的阶段,效率低下,已经远远落后于当今技术的发展。

并且人工管理的弊端也愈来愈严重,由于不可避免的人为因素,造成数据的遗漏、误报,而造成企业重大损失的事例层出不穷。

计算机信息化管理有着储存信息量大,速度快等许多优点,提供给我们的处理信息及时快捷,同时也提高了我们工作人员的自身素质。

因此我们利用计算机提供给我们信息,做出了这个人事信息管理系统。

人事管理系统是现在企业管理工作不可缺少的一部分,是适应现在企业制度的要求,是推动企业劳动人事走向科学化、规范化的必要条件。

传统的办公模式主要以纸介质为主,在信息革命的浪潮中,显然已经远远不能满足高效率、快节奏的现代工作和生活的需要。

如何实现信息处理的自动化和办公的无纸化逐步得到了人们的重视。

如今,随着计算机技术的普及人们开始采用一系列的计算机语言编写程序开发人事管理系统,它实现了办公地自动化,能使企业运行的数据更加准确、及时、全面、详实,同时对各种信息进一步地加工,使企业领导层对生产、经营的决策依据更充分,更具有合理性科学性,并创造出更多的发展机会;另外也进一步加强企业的科学化、合理化、制度化、规范化管理,为企业的管理水平跨上新台阶,为企业持续、健康、稳定的发展打下基础。

本文主要介绍一个简单的基于Java的企业人事管理系统的实现,系统开发的总体任务是实现企业人事信息关系的系统化、规范化和自动化。

Java、课程设计

Java、课程设计

Java程序设计期末课程设计报告题目人事管理系统设计班级:2017级网络安全与执法本科1班完成时间:2019 年12 月成绩评定:目录第一章引言 (1)1.1开发背景 (1)1.2需求分析 (1)第二章系统设计 (1)2.1 功能设计 (2)2.2 系统总体设计流程 (2)2.3 数据库设计及其环境的配置 (2)2.4 类与接口设计 (3)第三章系统的详细设计与实现 (4)3.1 界面设计 (5)3.2 用户登录模块 (6)3.3 员工信息添加模块 (7)3.4 员工信息删除模块 (8)3.5 权限设置模块 (9)第四章设计总结 (10)参考文献 (11)附录源码 (13)人事管理系统第一章引言随着计算机技术网络的飞速发展,当今社会正快速向信息自动化社会前进,智能化信息处理已是提高效率、规范管理、客观审查的最有效途径。

对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高人事管理的效率, 也是企业的科学化、正规化管理, 与世界接轨的重要条件。

不同的企业具有不同的人事管理制度,这就决定了不同的企业需要不同的人事管理系统。

论文首先论述了系统的开发背景和设计目标,并对系统开发所采用的技术进行相应的简单介绍。

在系统分析中,对系统的模型进行简单分析,明确系统的操作流程,并对系统进行可行性分析,确定在目前的条件下,开发人事管理系统是可行的。

在需求分析结果的基础上,对系统的功能模块进行划分。

接着对系统中的数据库进行模型设计,包括数据流图、实体联系图及数据表结构。

在系统的设计与实现中,确定系统的开发思想以及开发环境,最后给出了系统中模块的详细设并对系统中的计与实现,并对系统模块涉及到的关键源代码进行了详细的分析。

人事管理系统Java课程设计报告

人事管理系统Java课程设计报告

人事管理系统Java课程设计报告第一篇:人事管理系统Java课程设计报告湖南科技大学计算机科学与工程学院数据库课程设计报告题目:人事管理管理系统学号:1005030221 姓名:艾向兵指导教师:张黎完成时间:2012年1月4日组员:苏勇,成佳裕,艾向兵企业人事管理系统主要用于员工个人资料的录入,职务变动的记录和管理。

使用人事管理系统,便于公司领导掌握人员的动向,及时调整人才的分配 1.1系统功能需求分析人事管理系统主要有以下几项功能要求:.新员工资料的输入。

.自动分配员工编号,并且设置初始的用户密码:.人事变动的记载,包括岗位和部门的调整。

.员工信息的查询和修改,包括员工个人信息和密码 1.2 系统功能模块设计根据系统功能要求,可以将系统分解成几个模块来分别设计应用程序界面,如图,人事资源管理包括:新员工档案输入,人事变更,员工档案查询1.3 与其它系统的关系本关系是公司管理信息系统的基础部分,为其他子系统,如考勤管理系统,工资管理系统和员工培训系统,提供员工的基本信息。

同时为其他系统提供了员工登录的密码认证和权限分配。

1.4数据库设计数据库需求分析:员工信息:员工号,密码,权限,姓名,性别,生日,专业,通讯地址,电话,Email,当前状态,其他。

人事变动:记录号,员工,变动,详细描述部门设置:部门编号,名称员工变动代号表员工信息表员工职位代码表管理员登陆界面信息查询,修改,删除主界面查询单个员工的界面总结这次的课程设计,是在学习了Java以后通过阅读课本及在图书馆借阅相关书籍同严景、孟珍三人共同完成的。

在开发这个系统的过程中,碰到很多或大或小的问题,我们一起思考,一起努力,最后大部分都解决了,得到了现在的这个简单的人事管理系统。

在编制过程中,我们首先考虑到了界面的友好性,并在界面设计时不采用烦琐的细节,使界面简单、清晰,便于操作。

一开始我们是想做个登录界面,实现用户的登录权限管理,但试了几次都没有达到预期的效果,最后不得不放弃。

java学校人事管理系统实验报告

java学校人事管理系统实验报告

p=(Person)it.next(); if(p.ID.equals(id)) break; else p=null; } System.out.println("id为"+id+"的信息:"+p); return p; } } package mypackage; import java.util.Scanner; public class AdminApp { private static Scanner sc; public static void main(String[] args) { String id; System.out.println("人事管理:"); Personnel personnel=new Personnel(); personnel.addStudent("111", "zhangsan", "nan", "19920624",600,"网 络工程"); personnel.addTeacher("112","lisi","nv","19930212","shuxin","讲 师","8000"); System.out.println(personnel.pList); System.out.println("请输入要删除人的id:"); sc = new Scanner (System.in); id=sc.nextLine(); personnel.deletePerson(id); System.out.println(personnel.pList); System.out.println("请输入要查询人的id:"); sc = new Scanner (System.in); id=sc.nextLine(); personnel.seekPerson(id); } }

java学校人事管理系统实验报告1.doc

java学校人事管理系统实验报告1.doc

java学校人事管理系统实验报告1java 人事管理系统实验报告一、实验任务设计学校的人事管理系统(模拟板)二、实验过程(包括对任务的分析、实现思路、实现代码)1、任务分析此学校人事管理系统中包含对教师与学生的基本信息管理。

其中有些信息是教师与学生共同拥有的,例如,编号、姓名、性别、出生日期等;而有些信息是教师、学生特有的,如教师应该包含所在部门、职称、工资等,学生应该包含高考分数、所学专业等。

为此将共同拥有的部分抽象成人员类Person,并在此基础上定义教师类Teacher与学生类Student。

2、实现功能主要有查询功能,添加和删除功能3、实现代码package mypackage;public class Person{public String ID,name,sex,date;public Person(String id,String na,String se,String da) {ID=id;name=na;sex=se;date=da;}public String getID() {return ID;}public void setID(String iD) {ID = iD;}package mypackage;public class Student extends Person{public int grade;public String subject;public Student(String id, String name, String sex, String date, int grade,String subject){super(id, name, sex, date);this.grade = grade;this.subject = subject;}public int getGrade() {return grade;}public void setGrade(int grade) {this.grade = grade;}public String getSubject() {return subject;}public void setSubject(String subject) {this.subject = subject;}public String toString(){String s=ID+" "+name+" "+sex+" "+date+" "+grade+" "+subject;return s;}}package mypackage;public class Teacher extends Person{public String department;public String rank;public String salary;public Teacher(String id, String name, String sex, String date, String department,String rank, String salary)super(id, name, sex, date);this.department = department;this.rank = rank;this.salary = salary;}public String getDepartment() {return department;}public void setDepartment(String department) { this.department = department;}public String getRank() {return rank;}public void setRank(String rank) {this.rank = rank;public String getSalary() {return salary;}public void setSalary(String salary) {this.salary = salary;}public String toString(){String s=ID+" "+name+" "+sex+" "+date+" "+department+" "+rank+" "+salary;return s;}}package mypackage;import java.util.*;public class Personnel{public List pList=new ArrayList();private ListIterator it;private Person p;public void addStudent(String id,String name,String sex,String date,int grade,String subject){pList.add(new Student(id,name,sex,date,grade,subject));}public void addTeacher(String id,String name,String sex,String date,String department,String rank, String salary){pList.add(new Teacher(id,name,sex,date, department,rank,salary));}public void deletePerson(String id){it=pList.listIterator();while(it.hasNext()){p=(Person)it.next();if(p.ID.equals(id)){it.remove();break;}}System.out.println("id为"+id+"的信息已被删除!"); }public Person seekPerson(String id){p=null;it=pList.listIterator();while(it.hasNext()){p=(Person)it.next();if(p.ID.equals(id))break;elsep=null;}System.out.println("id为"+id+"的信息:"+p); return p;}}package mypackage;import java.util.Scanner;public class AdminApp {private static Scanner sc;public static void main(String[] args) { String id;System.out.println("人事管理:");Personnel personnel=new Personnel();personnel.addStudent("111", "zhangsan", "nan", "19920624",600,"网络工程");personnel.addTeacher("112","lisi","nv","19930212","shuxin","讲师","8000");System.out.println(personnel.pList);System.out.println("请输入要删除人的id:");sc = new Scanner (System.in);id=sc.nextLine();personnel.deletePerson(id);System.out.println(personnel.pList);System.out.println("请输入要查询人的id:");sc = new Scanner (System.in);id=sc.nextLine();personnel.seekPerson(id);}}4、实验结果java研究生毕业论文开题报告下文是为大家精选的java研究生毕业论文开题报告,希望对大家有帮助!java研究生毕业论文开题报告专业:通信工程班级:xx级通信工程一班姓名:XXX指导教师姓名:XXX指导教师职称:讲师20xx年xx月1.本课题的研究意义,国内外研究现状、水平和发展趋势1.1本课题研究的意义随着企业管理现代化意识的不断增强,普通意识上的门锁系统已经不能满足企业现代管理的要求。

java课程设计报告_mini人事管理系统

java课程设计报告_mini人事管理系统

JAVA程序设计课程设计报告课题: mini人事管理系统姓名:学号:同组姓名:专业班级:指导教师:设计时间:目录一、系统描述 (1)1. 前言 (1)2. 开发系统的功能介绍 (1)二、分析与设计 (2)1. 功能模块划分 (2)2. 数据库结构描述 (2)3. 各个模块实现方法描述 (3)4. 测试数据及期望结果 (5)三、源代码 (5)1. 主页面设计 (5)2. 记录添加界面的开发设计 (12)3. 上班登记子系统开发设计 (14)4. 下班登记子系统开发设计 (16)5. 信息统计页面的设计开发 (18)四、系统测试 (22)五、总结 (25)1. 实验心得 (25)2. 参考文献 (26)一、系统描述1.前言随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对人事信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高人事理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

因此,开发这样一套管理软件成为很有必要的事情。

目前,无论是机关、事业单位、还是企业单位,人事管理对于组织生存与长远发展所具备的重要性都已经有了明确的认识,而人事管理水平的提升不仅需要高素质的管理人员,而且也需要信息化工具进行辅助在现代化的企业管理中,人事管理系统有着十分重要的作用,然而,用大型软件系统来于小型的企事业单位,不啻于“杀鸡用牛刀”,因此小型的的软件对于这种单位自然有十分重要作用。

2、开发系统的功能介绍(1)上班登记子系统上班登记子系统主要对所有员工的上班信息进行登记,包括员工的工号、员工的姓名、员工的上班时间和相应的备注信息,并且还要能够删除错误的员工上班时间信息的记录(2)下班登记子系统下班登记子系统主要对所有员工的下班信息进行登记,包括员工的工号、员工的姓名、员工的下班时间和相应的备注信息,并且还要能够删除错误的员工下班时间信息的记录。

人事管理系统课程设计报告

人事管理系统课程设计报告

1.应用程序的名称:人事管理系统2.应用程序的主题和目的:制作能用于创建人事信息管理的系统,创建人事管理数据表,反映职工的基本信息。

其中含有,“职工编号”,“职工姓名”,“职工性别”,“职工年龄”,“基本工资”,“所在部门”。

“工作时间”,“简历”,“职称”等字段。

可以对人员信息进行适当的处理,以满足单位或企业需要。

能够执行以下四种操作:(1)可以输入职工的完整信息以增加新成员(2)可以选择性的删除职工的信息(3)可以实现对职工人员进行排序(4)可以实现对某个职工进行筛选3.应用程序的简介:设计目的:创建人事管理数据表,该表反映职工的基本信息,其中包含职工编号、职工姓名、职工性别、所在部门、职工年龄、工作日期、基本工资、职称、职务和简历等字段。

应用系统主控界面应包括记录编辑和记录查询等功能模块。

记录编辑功能完成职工记录编辑的“增加记录”、“删除记录”、“筛选记录”和“排序记录”等功能。

功能介绍:“增加记录”功能可以弹出提示信息对话框,对话框含有九个分别对应人员信息的静态控件,和九个编辑框,用于用户输入要增加的人员的九条信息。

“删除记录”功能可以用来删除某个人员或某些人员的信息。

系统中会显示该信息已被删除。

该信息也会从数据库中删除。

“筛选记录”功能可以用来提供给用户筛选出需要查看的人员的信息,该人事管理系统会弹出一个对话框,提示用户输入要筛选的人员的职工编号,从而筛选出该人员的信息。

此时系统会弹出被筛选出的人员的全部信息。

“排序记录”功能可以用来用户对数据库中的所有人员根据职工编号进行排序。

使用该功能后按下一个记录键,可以看到所有的人员已按照职工编号排好顺序了。

基本内容:每一个界面都是一个类,类上的选择按钮由该类的成员函数实现,而职工信息则是数据成员。

主界面的类是:CMyView,成员函数有OnButtonAdd( )(增加记录);OnButtonDel( )(删除记录);OnButtonPaiXu( )(排序记录); OnButtonSort( )(筛选记录) CMySet,定义指针为:m_pSet调用数据成员。

Java课程设计报告-企业人事管理系统设计.x

Java课程设计报告-企业人事管理系统设计.x

Java课程设计报告题目企业人事管理系统专业信息管理与信息系统班级信管152学号1510402204姓名指导教师完成时间二零一六年六月二十九日目录一、设计任务与要求 (2)1.1 设计任务与要求 (2)1.2 选题目的与意义 (2)二、需求分析 (3)2.1 用户需求分析 (3)2.2 开发环境分析 (3)三、系统设计 (4)3.1 系统总体设计 (4)3.2 功能模块设计 (4)3.3 类及方法的设计 (5)四、程序实现 (6)4.1 程序流程图 (6)4.2 关键程序 (6)五、测试运行 (8)5.1 系统测试方案 (8)5.2 系统测试运行及结果分析 (8)六、设计体会 (12)主要参考文献 (13)附录: (14)一、设计任务与要求1.1设计任务与要求根据所选课题“企业人事管理系统”,完成课程设计的分析、设计和编码,制作一个简单的管理系统,并用窗口界面实现,可以对企业员工的基本信息(员工编号、姓名、性别、联系电话、部门、职务、底薪)实现录入、修改、调用、删除。

并完成课程设计报告。

1.2选题目的与意义无论企业大小,都需要进行人事管理,企业人事管理系统基于这样的要求,实现了对企业人事的基本信息管理。

通过企业人事管理系统的设计过程,深刻了解掌握面向对象程序设计语言Java的核心概念和特性;了解编程技术知识,会处理异常情况。

了解基于Swing的图形用户界面开发;掌握Java应用软件的开发环境和开发过程;灵活选择程序设计思想。

二、需求分析2.1 用户需求分析现在的社会是信息化的社会,随着科学技术的发展,人们越来越多的用计算机去代替和延伸脑力劳动,而且计算机能够更高效地帮助人们去处理一些事情,为了把传统的人事管理和现在用计算机技术对人事进行管理相结合,这次,我设计了这套基本的企业人事管理系统方案。

通过此系统的运用,可以满足企业人事管理的诸多需求,例如对新员工基本信息录入,对离职员工实现信息删除,对员工信息实现修改等需求。

java课程设计人事管理系统

java课程设计人事管理系统

java课程设计人事管理系统一、教学目标本节课的教学目标是使学生掌握Java语言编程的基本技能,通过人事管理系统的设计与实现,让学生了解面向对象编程的思想,掌握类与对象的概念,熟练使用Java语言编写简单的程序。

1.理解Java语言的基本语法和数据结构。

2.掌握面向对象编程的基本概念,包括类、对象、继承、封装和多态。

3.了解Java语言的常用类库和API。

4.能够使用Java语言编写简单的程序。

5.能够运用面向对象编程思想解决实际问题。

6.能够设计和实现一个简单的人事管理系统。

情感态度价值观目标:1.培养学生的编程兴趣,提高学生对计算机科学的热爱。

2.培养学生的团队协作能力和解决问题的能力。

3.使学生认识到编程技术在社会发展和个人发展中的重要性。

二、教学内容本节课的教学内容主要包括Java语言的基本语法、数据结构、面向对象编程思想和人事管理系统的设计与实现。

1.Java语言的基本语法和数据结构。

2.面向对象编程的基本概念,包括类、对象、继承、封装和多态。

3.Java语言的常用类库和API。

4.人事管理系统的设计与实现,包括数据模型设计、界面设计和功能实现。

三、教学方法为了达到本节课的教学目标,我们将采用以下教学方法:1.讲授法:讲解Java语言的基本语法、数据结构和面向对象编程的概念。

2.案例分析法:通过分析实际案例,让学生了解面向对象编程的思想和人事管理系统的设计与实现。

3.实验法:让学生动手编写Java程序,巩固所学知识,培养编程能力。

4.小组讨论法:分组进行讨论,培养学生的团队协作能力和解决问题的能力。

四、教学资源为了支持本节课的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《Java编程思想》。

2.参考书:《Java核心技术》。

3.多媒体资料:教学PPT、视频教程。

4.实验设备:计算机、网络。

通过以上教学资源的支持,我们将努力提高学生的学习体验,达到本节课的教学目标。

五、教学评估为了全面、客观地评估学生的学习成果,我们将采用以下评估方式:1.平时表现:通过课堂参与、提问、小组讨论等方式评估学生的学习态度和积极性。

Java课程设计-人事管理系统的设计与实现

Java课程设计-人事管理系统的设计与实现

课程设计课程名称 Java语言课程设计题目名称人事管理系统的设计和实现学生学院专业班级____ ____ _学号学生姓名指导教师2012年6月8日一、设计内容自学Swing图形界面设计和数据库程序设计。

开发用于某单位的人事管理系统。

该系统要求实现以下功能:员工信息管理(包括:员工信息一览表、新员工的建立、修改、删除)二、设计方案1、使用Netbeans IDE 7.1和SQL Server2000进行编译。

2、代码如下:登录按钮代码:private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {}private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {String user = jTextField1.getText().trim();String password = jTextField2.getText().trim();if (user.equals("wsm") && password.equals("wsm")) {new yuangongxinxiguanli().setVisible(true);setVisible(false);} else {JOptionPane.showMessageDialog(null, "请正确输入!");}}public static void main(String args[]) {java.awt.EventQueue.invokeLater(new Runnable() {public void run() {new denglu().setVisible(true);}});}员工信息关系系统界面:package 人事管理系统;public class yuangongxinxiguanli extends javax.swing.JFrame {public yuangongxinxiguanli() {initComponents();setLocation(450,220);}@SuppressWarnings("unchecked")// <editor-fold defaultstate="collapsed" desc="Generated Code">private void initComponents() {jButton1 = new javax.swing.JButton();jButton2 = new javax.swing.JButton();jButton3 = new javax.swing.JButton();jLabel1 = new javax.swing.JLabel();jButton4 = new javax.swing.JButton();jButton5 = new javax.swing.JButton();setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);jButton1.setText("查询员工信息");jButton1.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton1ActionPerformed(evt);}});jButton2.setText("添加员工信息");jButton2.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton2ActionPerformed(evt);}});jButton3.setText("删除员工信息");jButton3.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton3ActionPerformed(evt);}});jLabel1.setFont(new java.awt.Font("宋体", 0, 24)); // NOI18NjLabel1.setText("员工信息管理系统");jButton4.setText("修改员工信息");jButton4.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton4ActionPerformed(evt);}});jButton5.setText("退出系统");jButton5.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton5ActionPerformed(evt);}});javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());getContentPane().setLayout(layout);layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI NG).addGroup(layout.createSequentialGroup().addGap(91, 91, 91).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignme nt.LEADING, false).addComponent(jButton1,javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_V ALUE).addComponent(jButton4,javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_V ALUE).addComponent(jButton2,javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_V ALUE).addComponent(jButton3,javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_V ALUE).addComponent(jButton5,javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_V ALUE))).addGroup(layout.createSequentialGroup().addGap(47, 47, 47).addComponent(jLabel1))).addContainerGap(52, Short.MAX_V ALUE)));layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGap(14, 14, 14).addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE).addGap(18, 18, 18).addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(ponentPlacement.UNRELATED).addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(ponentPlacement.UNRELATED).addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(ponentPlacement.UNRELATED).addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(ponentPlacement.UNRELATED).addComponent(jButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE).addContainerGap(36, Short.MAX_V ALUE)));pack();}// </editor-fold>private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {chaxun ch=new chaxun();ch.setVisible(true);ch.setLocation(400,220);setVisible(false);}private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {tianjia ti=new tianjia();ti.setVisible(true);ti.setLocation(400,220);setVisible(false);// TODO add your handling code here:}private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {xiugai xi=new xiugai();xi.setVisible(true);xi.setLocation(400,220);setVisible(false);// TODO add your handling code here:}private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {shanchu sh=new shanchu();sh.setVisible(true);sh.setLocation(400,220);setVisible(false);}private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {System.exit(0);}public static void main(String args[]) {java.awt.EventQueue.invokeLater(new Runnable() {public void run() {new yuangongxinxiguanli().setVisible(true);}});}// Variables declaration - do not modifyprivate javax.swing.JButton jButton1;private javax.swing.JButton jButton2;private javax.swing.JButton jButton3;private javax.swing.JButton jButton4;private javax.swing.JButton jButton5;private javax.swing.JLabel jLabel1;// End of variables declaration}查询按钮代码:可选择项查询按钮代码:private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {try {String xuanze= jComboBox1.getSelectedItem().toString().trim();String tianxie=jTextField1.getText().trim();Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");String url="jdbc:microsoft:sqlserver:"+ "//127.0.0.1:1433;DatabaseName=员工信息管理库";Connection con=DriverManager.getConnection(url,"sa","900526");java.sql.Statement stmt=con.createStatement();ResultSet rs=stmt.executeQuery("select * from 员工where "+xuanze+"='"+tianxie+"'");DefaultTableModel dt=(DefaultTableModel) jTable1.getModel();dt.getDataVector().clear();dt.fireTableDataChanged();while(rs.next ()){ Vector v1=new Vector();v1.add(rs.getString(1));v1.add(rs.getString(2));v1.add(rs.getString(3));v1.add(rs.getString(4));v1.add(rs.getString(5));v1.add(rs.getString(6));v1.add(rs.getString(7));dt.addRow(v1);}dt.fireTableDataChanged();rs.close();stmt.close();con.close();} catch (ClassNotFoundException ex) {ex.getMessage();}catch(SQLException ex){ex.getMessage();}}查询全部信息按钮代码:private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {try {Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");String url="jdbc:microsoft:sqlserver:"+ "//127.0.0.1:1433;DatabaseName=员工信息管理库";Connection con=DriverManager.getConnection(url,"sa","900526");java.sql.Statement stmt=con.createStatement();ResultSet rs=stmt.executeQuery("select * from 员工");DefaultTableModel dt=(DefaultTableModel) jTable1.getModel();dt.getDataVector().clear();while(rs.next ()){ Vector v1=new Vector();v1.add(rs.getString(1));v1.add(rs.getString(2));v1.add(rs.getString(3));v1.add(rs.getString(4));v1.add(rs.getString(5));v1.add(rs.getString(6));v1.add(rs.getString(7));dt.addRow(v1);}dt.fireTableDataChanged();rs.close();stmt.close();con.close();} catch (ClassNotFoundException ex) {Logger.getLogger(chaxun.class.getName()).log(Level.SEVERE, null, ex);}catch(SQLException ex){ex.getMessage();}}public static void main(String args[]) {java.awt.EventQueue.invokeLater(new Runnable() {public void run() {new chaxun().setVisible(true);}});}添加界面代码:private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {try{String yuangonghao = jtf_yuangonghao.getText().trim();String phonenumber = jtf_phonenumber.getText().trim();String name = jtf_name.getText().trim();String age = jtf_age.getText().trim();String sex = jtf_sex.getText().trim();String post = jtf_post.getText().trim();String pay = jtf_pay.getText().trim();Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");String url = "jdbc:microsoft:sqlserver:"+ "//127.0.0.1:1433;DatabaseName=员工信息管理库";Connection con = DriverManager.getConnection(url, "sa", "900526");String str="insert into 员工values(?,?,?,?,?,?,?)";PreparedStatement stmt = con.prepareStatement(str);stmt.setString(1,yuangonghao);stmt.setString(2,name);stmt.setString(3,age);stmt.setString(4,sex);stmt.setString(5,post);stmt.setString(6,phonenumber);stmt.setString(7,pay);ResultSet rs=stmt.executeQuery();rs.close();stmt.close();con.close();} catch (ClassNotFoundException ex) {} catch (SQLException ex) {if (ex.getSQLState().equals("HY000")) {JOptionPane.showMessageDialog(null, "添加成功");}if((ex.getSQLState().equals("23000"))){JOptionPane.showMessageDialog(null, "已经存在该编号的员工,添加失败");}}}public static void main(String args[]) {java.awt.EventQueue.invokeLater(new Runnable() {public void run() {new tianjia().setVisible(true);}});}修改界面代码:private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {try {String xuanze= jComboBox1.getSelectedItem().toString().trim();String tianxie=jTextField2.getText().trim();//haoString tianxie2=jTextField3.getText().trim();//xieif(tianxie2.equals("")){JOptionPane.showMessageDialog(null, "请正确输入!");}else{Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");String url="jdbc:microsoft:sqlserver:"+ "//127.0.0.1:1433;DatabaseName=员工信息管理库";Connection con=DriverManager.getConnection(url,"sa","900526");java.sql.Statement stmt=con.createStatement();ResultSet rs=stmt.executeQuery("update 员工set "+xuanze+"='"+tianxie2+"'"+"where 员工号="+"'"+tianxie+"'");}} catch (ClassNotFoundException ex) {}catch(SQLException ex){if(ex.getSQLState().equals("HY000"))JOptionPane.showMessageDialog(null, "修改成功");}}private void jTextField3ActionPerformed(java.awt.event.ActionEvent evt) {}public static void main(String args[]) {java.awt.EventQueue.invokeLater(new Runnable() {@Overridepublic void run() {new xiugai().setVisible(true);}});}删除界面代码:private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {DefaultTableModel dt=(DefaultTableModel) jTable1.getModel();try {String tianxie=jTextField2.getText().trim();Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");String url="jdbc:microsoft:sqlserver:"+ "//127.0.0.1:1433;DatabaseName=员工信息管理库";Connection con=DriverManager.getConnection(url,"sa","900526");java.sql.Statement stmt=con.createStatement();//用于执行静态SQL 语句并返回它所生成结果的对象ResultSet rs=stmt.executeQuery("delete from 员工where 员工号='"+tianxie+"'");rs.close();stmt.close();con.close();} catch (ClassNotFoundException ex) {System.out.println( ex.getMessage());}catch(SQLException ex){//System.out.println( ex.getMessage()+ " "+ex.getSQLState());if(ex.getSQLState().equals("HY000")){dt.getDataVector().clear();dt.fireTableDataChanged();JOptionPane.showMessageDialog(null, "删除成功!");}}}public static void main(String args[]) {java.awt.EventQueue.invokeLater(new Runnable() {public void run() {new shanchu().setVisible(true);}});}返回按钮代码:private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {new yuangongxinxiguanli().setVisible(true);setVisible(false); }三、结果和数据处理登陆界面:输入管理员账号密码,进行登录。

人事管理系统

人事管理系统

人事管理系统1JA V A程序设计课程设计报告课题: mini人事管理系统姓名:学号: 14同组姓名:专业班级: 网工指导教师:设计时间: 6月17日评阅意见:评定成绩:指导老师签名:目录一系统描述......................................... (1)(一) 前言 (1)(二) 开发系统的功能介绍 (1)二分析与设计 (2)(一) 功能模块划分 (2)(二) 数据库结构描述 (2)(三)各个模块实现方法描述...... ......... ......... .. (3)(四) 测试数据及期望结果 (3)三源代码 (5)(一) 主页面设计 (5)(二)记录添加界面的开发设计 (11)(三)上班登记子系统开发设计 (13)(四)信息统计页面的设计开发 (15)四系统测试 (18)五总结............................................. .. (21)(一) 实验心得 (21)(二) 参考文献 (22)一.系统描述(一) 前言随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对人事信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高人事理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

因此,开发这样一套管理软件成为很有必要的事情。

当前,无论是机关、事业单位、还是企业单位,人事管理对于组织生存与长远发展所具备的重要性都已经有了明确的认识,而人事管理水平的提升不但需要高素质的管理人员,而且也需要信息化工1具进行辅助在现代化的企业管理中,人事管理系统有着十分重要的作用,然而,用大型软件系统来于小型的企事业单位,不啻于”杀鸡用牛刀”,因此小型的的软件对于这种单位自然有十分重要作用。

java员工管理系统课程设计报告

java员工管理系统课程设计报告

Java员工管理系统课程设计报告1. 引言员工管理是企业管理的重要组成部分,是为了高效地组织、调度和管理员工而进行的一系列工作。

随着信息技术的发展,人们开始使用计算机软件来帮助管理员工。

本文档旨在介绍一个基于Java的员工管理系统的设计和实现。

2. 系统需求分析2.1 需求概述本系统的目标是提供一个方便、高效的方式来管理公司的员工信息,包括员工的基本信息、部门信息、工资信息等。

系统应具备以下功能:•员工信息管理:包括员工的基本信息(姓名、年龄、性别等)、职位信息、部门信息等。

•部门信息管理:包括部门代码、部门名称和部门描述等。

•工资信息管理:包括员工的工资记录、奖金记录等。

•员工信息查询:可以通过员工姓名、工号等信息查询员工的详细信息。

•统计报表:系统可以生成各种统计报表,如员工年龄分布、部门人员统计等。

2.2 功能需求分析基于上述需求概述,可以进一步详细描述系统的功能需求:•员工管理:管理员工的基本信息,包括姓名、年龄、性别、联系方式等。

•部门管理:管理公司的各个部门,包括部门代码、部门名称和部门描述等。

•工资管理:记录员工的工资情况,包括基本工资、加班工资、奖金等。

•员工查询:根据员工的姓名、工号等信息进行查询,并显示员工的详细信息。

•统计报表:系统可以生成各种统计报表,如员工年龄分布、部门人员统计等。

3. 系统设计3.1 概要设计根据需求分析,系统需要包含员工信息管理、部门信息管理、工资信息管理、员工查询和统计报表模块。

以下是系统的简要设计:•员工信息管理模块:包括员工的基本信息管理功能,如添加员工、删除员工、修改员工信息等。

•部门信息管理模块:包括部门信息管理功能,如添加部门、删除部门、修改部门信息等。

•工资信息管理模块:包括员工的工资信息管理功能,如记录工资、修改工资记录等。

•员工查询模块:根据输入的员工信息进行查询,显示员工的详细信息。

•统计报表模块:根据数据库中的数据生成统计报表,如员工年龄分布图、部门人员统计表等。

JAVA课程设计——一个简单的教务人事管理系统

JAVA课程设计——一个简单的教务人事管理系统

JAVA课程设计——⼀个简单的教务⼈事管理系统 ⼤三上学期期末总结,没错,上学期,写在下学期新学期开始,哈哈哈。

上学期学习了⾯向对象程序设计,课程设计的题⽬使⽤JAVA语⾔完成⼀个简单的教务⼈事管理系统,能够实现访问数据库的登录验证,分别按部门和员⼯编号查看员⼯信息,增添新员⼯,删除离职员⼯,修改员⼯信息等功能,并且根据不同的操作准确实现对数据库的访问和相应业务逻辑的实现。

直接徒⼿写⼀个管理系统肯定是不现实的,就算写出来了,也有很⼤的改进空间,索性就去读书馆查了⼀下,使⽤JAVA+Mysql+Navicat+NetBeans的综合项⽬书。

原本是教务管理系统,但是写下来太庞⼤了,我记得包括学⽣信息管理,教师信息管理,成绩信息管理等等好多模块,从时间和技术上考虑,打算只写⼀个教务⼈事管理系统,能够实现访问数据库的登录验证,分别按部门和员⼯编号查看员⼯信息,增添新员⼯,删除离职员⼯,修改员⼯信息等功能。

⾸先是安装Mysql,启动服务器后,安装图形化⼯具Navicat创建数据库,建表: 包括使⽤者User表,属性有UserNO,UserID,UserName,UserPWD; 教师信息表TeacherInfo,属性应该有教师编号,教师姓名,教师⽣⽇,教师性别,教师毕业院校,教师专业,教师地址,教师⼊职时间,教师部门,教师岗位; 部门表DepartmentInfo,属性包括DEPARTMENTID,DEPARTMENTNAME;然后填表。

然后使⽤NetBeans编写程序,先是⽤户登录验证模块,了解使⽤DAO模式。

再编写主窗体模块,实现按部门查询,按员⼯编号查询,⼊职新员⼯,员⼯离职,信息修改,退出管理等模块。

最后在登录模块增加了注册账户和重置密码两个功能模块。

其中实现了⼏个常⽤类,包括JDBCUtil类,该类实现了数据库访问的准备⼯作; User类,User类中封装了系统使⽤者的基本信息; gui窗体类,窗体类包括登录窗体(LoginFrame)、管理窗体(ManageFrame)、⼊职新员⼯窗体(AddTeacherFrame)、员⼯离职窗体(DelTeacherFrame)、修改信息窗体(ModifyTeacherFrame)、⽤户密码重置窗体(UserPasswordResetFrame)和⽤户注册账户窗体(UserRegisterFrame); InfoBean类,InfoBean类实现对教师和部门信息的封装; Action类,本课程设计采⽤MVC模式,⽤Action类实现了对教师和部门不同⾏为的封装; 之后就是具体给对应的控件绑定事件,能够根据不同的情况,调⽤相应的类中的⽅法达到显⽰出不同教师信息的效果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JAVA程序设计课程设计报告课题: mini人事管理系统姓名:学号:同组姓名:专业班级:指导教师:设计时间:目录一、系统描述 (1)1. 前言 (1)2. 开发系统的功能介绍 (1)二、分析与设计 (2)1. 功能模块划分 (2)2. 数据库结构描述 (2)3. 各个模块实现方法描述 (3)4. 测试数据及期望结果 (5)三、源代码 (5)1. 主页面设计 (5)2. 记录添加界面的开发设计 (12)3. 上班登记子系统开发设计 (14)4. 下班登记子系统开发设计 (16)5. 信息统计页面的设计开发 (18)四、系统测试 (22)五、总结 (25)1. 实验心得 (25)2. 参考文献 (26)一、系统描述1.前言随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对人事信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高人事理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

因此,开发这样一套管理软件成为很有必要的事情。

目前,无论是机关、事业单位、还是企业单位,人事管理对于组织生存与长远发展所具备的重要性都已经有了明确的认识,而人事管理水平的提升不仅需要高素质的管理人员,而且也需要信息化工具进行辅助在现代化的企业管理中,人事管理系统有着十分重要的作用,然而,用大型软件系统来于小型的企事业单位,不啻于“杀鸡用牛刀”,因此小型的的软件对于这种单位自然有十分重要作用。

2、开发系统的功能介绍(1)上班登记子系统上班登记子系统主要对所有员工的上班信息进行登记,包括员工的工号、员工的姓名、员工的上班时间和相应的备注信息,并且还要能够删除错误的员工上班时间信息的记录(2)下班登记子系统下班登记子系统主要对所有员工的下班信息进行登记,包括员工的工号、员工的姓名、员工的下班时间和相应的备注信息,并且还要能够删除错误的员工下班时间信息的记录。

(3)请假登记子系统请假登记子系统主要对所有员工的请假信息进行登记,包括员工的工号、员工的姓名、员工的请假时间和相应的备注信息,并且还要能够删除错误的员工请假时间信息的记录。

(4)信息统计子系统信息统计系统主要对所有员工的上班时间信息、下班时间信息、请假时间信息进行统计,包括员工的工号、员工的姓名、员工的上班时间、员工的下班时间、员工的请假时间和相应的备注信息,并且还可以删除错误的员工时间信息的记录。

(5)记录添加子系统记录添加子系统的主要作用是在数据库中添加员工工号、员工姓名、相应的时间和备注。

二、分析与设计本组共有三人一起完成本次的课程设计任务,组长是李海霞,组员有李丹和周露,组内分工为:李丹负责上班系统的开发,周露负责下班系统的开发,李海霞负责请假系统的开发以及统计信息系统的开发,然后再将每人完成的开发系统总结到一块。

大家一起研究错误出在哪里,该怎么改正这些错误。

1.功能模块划分本系统分为如下的几大模块:2.数据库结构描述在这个MINI 开发系统中,选用mysql 作为系统服务数据库,这是因为mysql 功能强大,操作简便,应用较广。

数据库方面只做了一张表,根据功能不同,在每个子系统里面读取的数据部分不同。

设计的表如表一:表一3.各个模块实现方法描述1) 上班登记模块描述(负责人:李丹)上班登记子系统主要包括一个上班信息统计界面和一个上班信息添加界面。

上班信息统计界面是一个表格,每一行就是一个员工的相关信息。

如果某条记录不符合要求,可以将此条记录删除。

上班信息添加界面主要是员工工号、员工姓名、相应时间和相关备注信息。

可以根据信息添加界面上的系统时间指示来填入相应的时间。

其流程图为:2) 下班登记模块描述(负责人:周露)下班登记子系统主要对所有员工的下班信息进行登记,包括员工的工号、员工的姓名、员工的下班时间和相应的备注信息,并且还要能够删除错误的员工下班时间信息的记录。

下班信息添加界面主要是员工工号、员工姓名、相应时间和相关备注信息。

可以根据信息添加界面上的系统时间指示填入相应的时间。

其流程图为:3) 请假登记模块描述(负责人:李海霞)请假登记子系统主要对所有员工的请假信息进行登记,包括员工的工号、员工的姓名、员工的请假时间和相应的备注信息,并且还要能够删除错误的员工请假时间信息的记录。

在这个下班信息添加界面中,主要是读取员工的ID、员工的姓名、员工的请假时间以及相关的描述信息,并将这些信息写入到数据库中。

其流程图为:4) 信息统计模块描述(负责人:李海霞)信息统计系统主要对所有员工的上班时间信息、下班时间信息、请假时间信息进行统计,包括员工的工号、员工的姓名、员工的上班时间、员工的下班时间、员工的请假时间和相应的备注信息,并且还可以删除错误的员工时间信息的记录。

信息统计子系统主要是一个信息统计界面。

信息统计界面是一个表格,每一行就是一个员工的相关信息。

如果觉得某些记录不符合要求,还可以将此条记录删除。

在此界面,可以看到所有员工的上下班时间及其请假时间。

4.测试数据及期望结果这个阶段的工作主要是实际运行人事管理系统应用程序,进入人事管理系统登录界面,在前一阶段,虽然也作了性能预测,但是仅仅做了性能估计,且在估计过程中,做了许多简化和假设,忽略了许多次要因素,因而估计是粗糙的,并可能失真。

在试运行阶段,必须进行实际测量和评价,测试数据尽可能覆盖现实世界的各种情况。

如果实际测试结果不符合设计目标,则需返回物理设计阶段,修改参数。

有时也许还需要返回初始阶段。

期望结果:比方说,员工A3:00来上班,点击上班登记,手动添加上班记录。

下班亦然。

在统计模块中可以自动统计并显示出每个员工每天上下班,请假的全部记录。

三、源代码1.主页面的设计开发package manpowersystem;import javax.swing.*;import java.awt.event.*;import java.awt.*;import yout.*;import javax.swing.event.*;public class MainFrame extends JFrame {private ImageIcon fmImage; //主框架面板代码文件声明的属性和变量XYLayout xYLayout1 = new XYLayout();JButton jTitleButton = new JButton();JButton jOnWorkButton = new JButton();JButton jOffWorkButton = new JButton();JButton jLeaveWorkButton = new JButton();JButton jStaticButton = new JButton();JButton jExitButton = new JButton();public MainFrame() {try {jbInit();addWindowListener( new WindowAdapter() { //窗口事件监听public void windowClosing( WindowEvent e ) {dispose(); //销毁窗口 }} );}catch ( Exception e ) {e.printStackTrace();}}public static void main( String[] args ) {MainFrame mainFrame = new MainFrame();mainFrame.validate();mainFrame.setLocation( 200, 150 );mainFrame.setSize( 600, 480 );mainFrame.setVisible( true );mainFrame.pack();}private void jbInit() throws Exception {fmImage=new ImageIcon( manpowersystem.MainFrame.class.getResource("Fengmian.png" ) ); jTitleButton.setBackground( new Color( 210, 138, 177 ) ); jTitleButton.setIcon( fmImage );jTitleButton.setFocusable( false ); //此按钮的聚焦作用失效xYLayout1.setWidth( 540 );xYLayout1.setHeight( 407 );this.getContentPane().setBackground( new Color( 210, 138, 177 ) ); this.setLocale( java.util.Locale.getDefault() );this.setResizable( true );this.setTitle( "Mini人事管理系统" );this.addWindowListener(newMainFrame_this_windowAdapter( this ) );this.getContentPane().setLayout( xYLayout1 );jOnWorkButton.setBackground( new Color( 212, 158, 217 ) ); jOnWorkButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) ); jOnWorkButton.setText( "上班登记" );jOnWorkButton.addActionListener(new MainFrame_jOnWorkButton_actionAdapter( this ) );jOnWorkButton.addHierarchyBoundsListener( newMainFrame_jOnWorkButton_hierarchyBoundsAdapter( this ) ); jOffWorkButton.setBackground( new Color( 212, 158, 217 ) ); jOffWorkButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) ); jOffWorkButton.setText( "下班登记" );jOffWorkButton.addActionListener(newMainFrame_jOffWorkButton_actionAdapter(this));jOffWorkButton.addAncestorListener( newMainFrame_jOffWorkButton_ancestorAdapter( this ) ); jLeaveWorkButton.setBackground( new Color( 212, 158, 217 ) ); jLeaveWorkButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) ); jLeaveWorkButton.setText( "请假登记" );jLeaveWorkButton.addActionListener(newMainFrame_jLeaveWorkButton_actionAdapter(this));jLeaveWorkButton.addAncestorListener( newMainFrame_jLeaveWorkButton_ancestorAdapter( this ) );jStaticButton.setBackground( new Color( 212, 158, 217 ) ); jStaticButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) ); jStaticButton.setText( "统计情况" );jStaticButton.addActionListener(newMainFrame_jStaticButton_actionAdapter(this));jStaticButton.addAncestorListener( newMainFrame_jStaticButton_ancestorAdapter( this ) );jExitButton.setBackground( new Color( 212, 158, 217 ) );jExitButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) ); jExitButton.setText( "退出系统" );jExitButton.addActionListener(newMainFrame_jExitButton_actionAdapter( this ) );jExitButton.addAncestorListener(new MainFrame_jExitButton_ancestorAdapter( this ) );this.getContentPane().add( jTitleButton,new XYConstraints( 0, 0, 358, 409 ) );this.getContentPane().add( jOnWorkButton,new XYConstraints( 393, 35, 115, 45 ) );this.getContentPane().add( jOffWorkButton,new XYConstraints( 393, 109, 115, 45 ) );this.getContentPane().add( jLeaveWorkButton,new XYConstraints( 393, 184, 115, 45 ) );this.getContentPane().add( jStaticButton,new XYConstraints( 393, 258, 115, 45 ) );this.getContentPane().add( jExitButton,new XYConstraints( 393, 332, 115, 45 ) );this.setResizable(false);} void this_windowClosed( WindowEvent e ) {System.exit( 0 );}void jOnWorkButton_ancestorMoved( HierarchyEvent e ) {}void jOffWorkButton_ancestorMoved( AncestorEvent e ) {}void jLeaveWorkButton_ancestorMoved( AncestorEvent e ) {}void jStaticButton_ancestorMoved( AncestorEvent e ) {}void jExitButton_ancestorMoved( AncestorEvent e ) {}void jExitButton_actionPerformed( ActionEvent e ) {System.exit( 0 ); }//退出系统按钮的事件处理void jOnWorkButton_actionPerformed( ActionEvent e ) {OnWorkPanel onWorkPanel = new OnWorkPanel();onWorkPanel.setVisible(true);}//上班登记按钮的事件处理void jOffWorkButton_actionPerformed(ActionEvent e) {OffWorkPanel offWorkPanel = new OffWorkPanel();offWorkPanel.setVisible(true);}//下班登记按钮的事件处理void jLeaveWorkButton_actionPerformed(ActionEvent e) { LeaveWorkPanel leaveWorkPanel = new LeaveWorkPanel(); leaveWorkPanel.setVisible(true);}//请假登记按钮的事件处理void jStaticButton_actionPerformed(ActionEvent e) {StaticPanel staticPanel = new StaticPanel();staticPanel.setVisible(true);}//统计情况按钮的事件处理}Class MainFrame_this_windowAdapterextends java.awt.event.WindowAdapter {MainFrame adaptee;MainFrame_this_windowAdapter( MainFrame adaptee ) {this.adaptee = adaptee;}public void windowClosed( WindowEvent e ) {adaptee.this_windowClosed( e );}}class MainFrame_jOnWorkButton_hierarchyBoundsAdapter extends java.awt.event.HierarchyBoundsAdapter {MainFrame adaptee;MainFrame_jOnWorkButton_hierarchyBoundsAdapter( MainFrame adaptee ) { this.adaptee = adaptee;}public void ancestorMoved( HierarchyEvent e ) {adaptee.jOnWorkButton_ancestorMoved( e );}}class MainFrame_jOffWorkButton_ancestorAdapter implements javax.swing.event.AncestorListener {MainFrame adaptee;MainFrame_jOffWorkButton_ancestorAdapter( MainFrame adaptee ) {this.adaptee = adaptee;}public void ancestorAdded( AncestorEvent e ) {}public void ancestorRemoved( AncestorEvent e ) {}public void ancestorMoved( AncestorEvent e ) {adaptee.jOffWorkButton_ancestorMoved( e );}}class MainFrame_jLeaveWorkButton_ancestorAdapter implements javax.swing.event.AncestorListener {MainFrame adaptee;MainFrame_jLeaveWorkButton_ancestorAdapter( MainFrame adaptee ) { this.adaptee = adaptee;}public void ancestorAdded( AncestorEvent e ) {}public void ancestorRemoved( AncestorEvent e ) {}public void ancestorMoved( AncestorEvent e ) {adaptee.jLeaveWorkButton_ancestorMoved( e );}}class MainFrame_jStaticButton_ancestorAdapterimplements javax.swing.event.AncestorListener {MainFrame adaptee;MainFrame_jStaticButton_ancestorAdapter( MainFrame adaptee ) {this.adaptee = adaptee;}public void ancestorAdded( AncestorEvent e ) {}public void ancestorRemoved( AncestorEvent e ) {}public void ancestorMoved( AncestorEvent e ) {adaptee.jStaticButton_ancestorMoved( e );}}class MainFrame_jExitButton_ancestorAdapterimplements javax.swing.event.AncestorListener {MainFrame adaptee;MainFrame_jExitButton_ancestorAdapter( MainFrame adaptee ) { this.adaptee = adaptee;}public void ancestorAdded( AncestorEvent e ) {}public void ancestorRemoved( AncestorEvent e ) {}public void ancestorMoved( AncestorEvent e ) {adaptee.jExitButton_ancestorMoved( e );}}class MainFrame_jExitButton_actionAdapterimplements java.awt.event.ActionListener {MainFrame adaptee;MainFrame_jExitButton_actionAdapter( MainFrame adaptee ) { this.adaptee = adaptee;}public void actionPerformed( ActionEvent e ) {adaptee.jExitButton_actionPerformed( e );}}class MainFrame_jOnWorkButton_actionAdapterimplements java.awt.event.ActionListener {MainFrame adaptee;MainFrame_jOnWorkButton_actionAdapter( MainFrame adaptee ) { this.adaptee = adaptee;}public void actionPerformed( ActionEvent e ) {adaptee.jOnWorkButton_actionPerformed( e );}}class MainFrame_jOffWorkButton_actionAdapterimplements java.awt.event.ActionListener {MainFrame adaptee;MainFrame_jOffWorkButton_actionAdapter(MainFrame adaptee) { this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jOffWorkButton_actionPerformed(e);}}class MainFrame_jLeaveWorkButton_actionAdapter implements java.awt.event.ActionListener {MainFrame adaptee;MainFrame_jLeaveWorkButton_actionAdapter(MainFrame adaptee) {this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jLeaveWorkButton_actionPerformed(e);}}class MainFrame_jStaticButton_actionAdapter implements java.awt.event.ActionListener {MainFrame adaptee;MainFrame_jStaticButton_actionAdapter(MainFrame adaptee) {this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jStaticButton_actionPerformed(e);}}2.记录添加界面的开发设计package manpowersystem;import java.io.*;import java.util.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import javax.swing.border.*;import javax.swing.table.*;public class RecordItem {private String strEmployeeID;private String strEmployeeName;private String strOnWorkTime;private String strOffWorkTime;private String strLeaveWorkTime;private String strDescribe;public RecordItem() {strEmployeeID = new String( "" );strEmployeeName = new String( "" );strOnWorkTime = new String( "" );strOffWorkTime = new String( "" );strLeaveWorkTime = new String( "" );strDescribe = new String( "" );}public void SetOnworkItem( String strEmployeeID, String strEmployeeName, String strOnWorkTime, String strDescribe ) {this.strEmployeeID = strEmployeeID;this.strEmployeeName = strEmployeeName;this.strOnWorkTime = strOnWorkTime;this.strDescribe = strDescribe;}public void SetOffworkItem( String strEmployeeID, String strEmployeeName,String strOffWorkTime, String strDescribe ) {this.strEmployeeID = strEmployeeID;this.strEmployeeName = strEmployeeName;this.strOffWorkTime = strOffWorkTime;this.strDescribe = strDescribe;}public void SetLeaveworkItem( String strEmployeeID, String strEmployeeName,String strLeaveWorkTime, String strDescribe ) {this.strEmployeeID = strEmployeeID;this.strEmployeeName = strEmployeeName;this.strLeaveWorkTime = strLeaveWorkTime;this.strDescribe = strDescribe;}public String GetEmployeeID() {return strEmployeeID;}public String GetEmployeeName() {return strEmployeeName;}public String GetOnWorkTime() {return strOnWorkTime;}public String GetOffWorkTime() {return strOffWorkTime;}public String GetLeaveWorkTime() {return strLeaveWorkTime;}public String GetDescribe() {return strDescribe;}public void SetEmployeeID( String strEmployeeID ) {this.strEmployeeID = strEmployeeID;}public void SetEmployeeName( String strEmployeeName ) { this.strEmployeeName = strEmployeeName; }public void SetOnWorkTime( String strOnWorkTime ) {this.strOnWorkTime = strOnWorkTime;}public void SetOffWorkTime( String strOffWorkTime ) { this.strOffWorkTime = strOffWorkTime;}public void SetLeaveWorkTime( String strLeaveWorkTime ) { this.strLeaveWorkTime = strLeaveWorkTime;}public void SetDescribe( String strDescribe ) {this.strDescribe = strDescribe;}}3.上班登记子系统开发设计package manpowersystem;import java.io.*;import java.util.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import javax.swing.border.*;import javax.swing.table.*;import java.util.*;import yout.*;public class OnWorkPanel extends TablePanel {String[] arrField = {"工号", "姓名", "上班时间", "备注"};public OnWorkPanel() {tableModel = new DefaultTableModel( arrData, arrField );jRecordTable = new JTable( tableModel );jTableScrollPane.getViewport().add( jRecordTable, null ); UpdateRecord(); //更新表格this.setTitle( "上班登记页面" );}public void AddRecord() {OnWorkRecordPane recordPane = new OnWorkRecordPane();recordPane.setSize( 630, 300 );recordPane.setLocation( 230, 100 );recordPane.setVisible( true );recordPane.setResizable( false );recordPane.validate();UpdateRecord(); //更新表格}public void DelRecord() {jTableScrollPane.getViewport().add( jRecordTable, null );intRow = jRecordTable.getSelectedRow();if ( intRow == -1 )return;try {database.DeleteData( tableModel.getValueAt( intRow, 0 ).toString() );}catch ( Exception e ) {e.printStackTrace();}UpdateRecord(); //更新表格}public void UpdateRecord() {Object[][] arrTmp = {}; //设定表格的字段tableModel = new DefaultTableModel( arrTmp, arrField ); jRecordTable = new JTable( tableModel ); jTableScrollPane.getViewport().add( jRecordTable, null ); try {RecordItem[] result = new RecordItem[ 100 ];for ( int j = 0; j < 100; j++ )result[ j ] = new RecordItem();result = database.AccessData();for ( int i = 0; i < result.length; i++ ) {Object newdata[] = {result[ i ].GetEmployeeID(),result[ i ].GetEmployeeName(),result[ i ].GetOnWorkTime(),result[ i ].GetDescribe()};String strTmp = result[ i ].GetOnWorkTime();if ( strTmp.trim().length() == 0 )continue;tableModel.addRow( newdata );}}catch ( Exception e ) {e.printStackTrace();}}}public class OnWorkRecordPane extends RecordPane {public OnWorkRecordPane() {}public void RestoreRecord() {String strTmp = jEmployeeIDTextField.getText();if(strTmp.trim().length() == 0){this.dispose();return;}item.SetOnworkItem( jEmployeeIDTextField.getText(), jEmployeeNameTextField.getText(),jDateTimeTextField.getText(),jReasonTextField.getText() );try {database.StoreData( item );}catch ( Exception e ) {e.printStackTrace();}this.dispose();}}4.下班登记子系统开发设计package manpowersystem;import java.io.*;import java.util.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import javax.swing.border.*;import javax.swing.table.*;import java.util.*;import yout.*;public class OffWorkPanel extends TablePanel {String[] arrField = {"工号", "姓名", "下班时间", "备注"}; public OffWorkPanel() {tableModel = new DefaultTableModel( arrData, arrField ); jRecordTable = new JTable( tableModel );jTableScrollPane.getViewport().add( jRecordTable, null ); UpdateRecord(); //更新表格this.setTitle( "下班登记页面" );}public void AddRecord() {OffWorkRecordPane recordPane = new OffWorkRecordPane(); recordPane.setSize( 630, 300 );recordPane.setLocation( 230, 100 );recordPane.setVisible( true );recordPane.setResizable( false );UpdateRecord(); //更新表格}public void DelRecord() {jTableScrollPane.getViewport().add( jRecordTable, null );intRow = jRecordTable.getSelectedRow();if (intRow == -1)return;try {database.DeleteData( tableModel.getValueAt( intRow, 0 ).toString() );}catch ( Exception e ) {e.printStackTrace();}UpdateRecord(); //更新表格}public void UpdateRecord() {Object[][] arrTmp = {}; //设定表格的字段tableModel = new DefaultTableModel( arrTmp, arrField );RecordTable = new JTable( tableModel );jTableScrollPane.getViewport().add( jRecordTable, null );try {RecordItem[] result = new RecordItem[ 100 ];for ( int j = 0; j < 100; j++ )result[ j ] = new RecordItem();result = database.AccessData();for ( int i = 0; i < result.length; i++ ) {Object newdata[] = {result[ i ].GetEmployeeID(),result[ i ].GetEmployeeName(),result[ i ].GetOffWorkTime(),result[ i ].GetDescribe()};String strTmp = result[ i ].GetOffWorkTime();if ( (strTmp== null) || (strTmp.trim().length() == 0) )continue;tableModel.addRow( newdata );}}catch ( Exception e ) {e.printStackTrace();}}}public class OffWorkRecordPane extends RecordPane {public OffWorkRecordPane() {}public void RestoreRecord() {String strTmp = jEmployeeIDTextField.getText();if ( strTmp.trim().length() == 0 ) {this.dispose();return;}item.SetOffworkItem( jEmployeeIDTextField.getText(), jEmployeeNameTextField.getText(),jDateTimeTextField.getText(),jReasonTextField.getText() );try {database.StoreData( item );}catch ( Exception e ) {e.printStackTrace();}this.dispose();}}5.信息统计页面的设计开发package manpowersystem;import java.util.*;import java.awt.*;import javax.swing.*;public class Clock extends JPanel implements Runnable {boolean keepRunning = true;int lastxs = 0, lastys = 0, lastxm = 0, lastym = 0, lastxh = 0, lastyh = 0;Date dummy = new Date();String lastdate = dummy.toLocaleString();String myName;public Clock( String inName ) {myName = new String( inName );}public void plotpoints( int x0, int y0, int x, int y, Graphics g ) { g.drawLine( x0 + x, y0 + y, x0 + x, y0 + y );g.drawLine( x0 + y, y0 + x, x0 + y, y0 + x );g.drawLine( x0 + y, y0 - x, x0 + y, y0 - x );g.drawLine( x0 + x, y0 - y, x0 + x, y0 - y );g.drawLine( x0 - x, y0 - y, x0 - x, y0 - y );g.drawLine( x0 - y, y0 - x, x0 - y, y0 - x );g.drawLine( x0 - y, y0 + x, x0 - y, y0 + x );g.drawLine( x0 - x, y0 + y, x0 - x, y0 + y ); }public void circle( int x0, int y0, int r, Graphics g ) {int x, y;float d;x = 0;y = r;d = 5 / 4 - r;plotpoints( x0, y0, x, y, g );while ( y > x ) {if ( d < 0 ) {d = d + 2 * x + 3;x++;}else {d = d + 2 * ( x - y ) + 5;x++;y--;}plotpoints( x0, y0, x, y, g );}}public void paintComponent( Graphics g ) {super.paintComponent( g );int xh, yh, xm, ym, xs, ys, s, m, h, xcenter, ycenter;String today;Date dat = new Date();s = dat.getSeconds();m = dat.getMinutes();h = dat.getHours();today = dat.toLocaleString();xcenter = getWidth() / 2;ycenter = getHeight() / 2 - 10;xs = ( int ) ( Math.cos( s * 3.14f / 30 - 3.14f / 2 ) * 35 + xcenter ); ys = ( int ) ( Math.sin( s * 3.14f / 30 - 3.14f / 2 ) * 35 + ycenter ); xm = ( int ) ( Math.cos( m * 3.14f / 30 - 3.14f / 2 ) * 30 + xcenter ); ym = ( int ) ( Math.sin( m * 3.14f / 30 - 3.14f / 2 ) * 30 + ycenter ); xh = ( int ) ( Math.cos( ( h * 30 + m / 2 ) * 3.14f / 180 - 3.14f / 2 ) * 20 + xcenter );yh = ( int ) ( Math.sin( ( h * 30 + m / 2 ) * 3.14f / 180 - 3.14f / 2 ) *20 + ycenter );g.setFont( new Font( "TimesRoman", Font.PLAIN, 14 ) );g.setColor( Color.green );circle( xcenter, ycenter, 40, g );g.setColor( new Color( 0, 0, 200 ) );g.drawString( "9", xcenter - 35, ycenter + 3 );g.drawString( "3", xcenter + 30, ycenter + 3 );g.drawString( "12", xcenter - 5, ycenter - 27 );g.drawString( "6", xcenter - 3, ycenter + 35 );g.setColor( Color.red );if ( xs != lastxs || ys != lastys ) {g.drawLine( xcenter, ycenter, lastxs, lastys );g.drawString( lastdate, xcenter - 55, ycenter + 55 );}if ( xm != lastxm || ym != lastym ) {g.drawLine( xcenter, ycenter - 1, lastxm, lastym );g.drawLine( xcenter - 1, ycenter, lastxm, lastym );} if ( xh != lastxh || yh != lastyh ) {g.drawLine( xcenter, ycenter - 1, lastxh, lastyh );g.drawLine( xcenter - 1, ycenter, lastxh, lastyh );} g.setColor( Color.red );g.drawString( today, xcenter - 55, ycenter + 55 );g.drawLine( xcenter, ycenter, xs, ys );g.setColor( Color.black );g.drawLine( xcenter, ycenter - 1, xm, ym );g.drawLine( xcenter - 1, ycenter, xm, ym );g.drawLine( xcenter, ycenter - 1, xh, yh );g.drawLine( xcenter - 1, ycenter, xh, yh );lastxs = xs;lastys = ys;lastxm = xm;lastym = ym;lastxh = xh;lastyh = yh;lastdate = today;}public void stop() {keepRunning = false;}public void run() {while ( keepRunning ) {try {Thread.sleep( 100 );}catch ( InterruptedException e ) {}repaint();}}}四.测试结果1.进入主页面如图一图一2.进入上班登记如图二图二在上班登记页面中添加记录如图三:图三添加记录后的界面如图四:图四3.进入下班登记添加下班的记录,添加下班记录后的界面如图五图五4.进入请假登记添加相关记录后如图六:图六5.进入统计情况如图七图七6.退出系统即退出人事管理系统,结束程序的运行。

相关文档
最新文档