本文目录一览:
- 1、用jsp..java做一个管理系统需要的工作流程
- 2、java教师工作量计算法
- 3、求个JAVA 人力资源管理系统 源代码和模版界面以及需求分析,求参考
- 4、求用java写的统计员工每天的工作量的类
- 5、简述Java应用程序的开发流程
用jsp..java做一个管理系统需要的工作流程
用jsp..java做一个管理系统需要的工作流程
项目过程
1、项目启动
1)、项目组成立(公司成员、客户成员)
2)、制定项目预期目标
3)、制定项目计划周期
4)、建立好项目组成员沟通机制
2、需求调研
1)、创建调研计划、协调调研时间
2)、收集客户资料,获取客户需求
所有的资料都需要保留一份,资料中存疑的需要及时询问
3)、编写需求文档
重点描述出客户的业务流程和性能要求。
采用Word、Excel、Rose等形式。
4)、需求变更记录
5)、确定开发环境和运行环境
6)、扩展性要求
7)、与旧系统的接驳要求。
8)、估算出项目工作量
本阶段需要一套需求管理系统来进行需求的管理。
本阶段的需求文档也是用户测试的依据。
3、系统设计/详细设计
一个系统可以分为基础平台和应用模块两部分。
1)、选择基础平台,无论是采用第三方平台还是自行开发平台,都需要深入了解,查看是否符合要求。
2)、应用模块设计(针对业务流程)
3)、中间件的采用或自行开发,需要深入了解。
4)、用户界面的设计
如果用户界面设计完毕并确认,即可初步写出用户使用手册、管理员使用手册。
5)、变更记录
本阶段的系统设计是集成测试的依据。
4、程序开发
创建开发任务计划表、开发计划日程表
1)、优先编写测试用例
2)、按照编码规范编写代码
3)、按照文档注释规范注释
以上形成开发文档。
本阶段需要一套版本管理系统。
本阶段的测试用例也是单元测试的依据。
如果能做到,最好每日构建。
5、测试
本阶段需要一套Bug管理系统,形成需求、设计、开发、测试互动。
1)、编写测试计划和测试方案
2)、功能测试
单元测试、集成测试
3)、性能测试
集成测试、压力测试
如果能做到,最好能进行自动化测试。
如果能做到,做分析统计工作。
最后形成测试报告。
6、试用、培训、维护
本阶段需要解决:
1)、解决异地修改和公司修改的同步问题。
2)、用户测试中的Bug修改问题,按照级别分为
a)、程序Bug
b)、设计变更
c)、需求变更
尽量按照a b c的顺序来进行修改,尽量避免b、c级的修改。
最后形成安装手册、维护记录。
项目成员组成
根据以上过程,一个项目组中,需要:
1、需求工程师,其要求
善于与客户沟通,能快速了解客户的需求,对客户所在的行业比较熟悉。
善于学习新知识。
熟悉Word、Excel、Rose等工具的使用。
熟悉开发语言和开发框架
熟悉已积累的产品的功能、性能等。
2、系统分析师/设计师,其要求
精通开发语言和开发框架,部分需要精通数据库
精通已积累的产品的功能、性能等
深入了解客户行业特点
能根据客户的要求分析出其实质
能做出优秀的设计
熟悉Word、Excel、Rose等工具的使用
3、开发工程师,其要求
熟悉开发语言,熟悉开发要求和注释规范,部分需要熟悉数据库。
熟悉单元测试。
能根据设计做出良好的编码,保证功能和性能。
部分需要有一定的设计要求,因为涉及到将来的维护。
4、测试工程师,其要求
熟悉测试工作,能按照测试计划进行测试。
熟悉开发语言,能协助开发工程师找错。
能独立完成黑、白盒测试。
如果是高级测试人员,还要能够对系统能深入进行分析并能制定出优秀的测试方案。
5、管理人员
一般由以上人员兼任,主要有
项目经理:负责整个项目
开发经理:负责系统设计、开发工作
测试经理:负责测试工作
6、其他人员
一些项目涉及到其他人员,如页面设计人员、页面制作人员。
部分大的项目,还有专门的维护人员。
由于目前国内很多公司并没有严格这么区分,如果项目小的话,可以一人兼任多项职位.
java教师工作量计算法
/**
* 我写了一个 希望 有用
*
* 如果 哪位高手 有兴趣
* 帮忙 实现 一下 Teacher 类中的 private void checkClassRepeat() 方法 感谢!!
*/
==================================第一个类 TypeValue
package org.wood.teacher;
/**
* 创建 各种系数常量
* @author Administrator
*
*/
public interface TypeValue {
/**
* 理论课系数 1.2
*/
double COURSE_TYPE_THEORY_VALUE = 1.2;
/**
* 实训课系数 0.8
*/
double COURSE_TYPE_PRACTISE_VALUE = 0.8;
/**
* 班级系数
*/
/**
* 小于40人 系数1
*/
double CLASS_TYPE_STUDENT_NUMBER_UNDER_40_VALUE = 1.0;
/**
* 大于等于40人且小于80人 系数1.1
*/
double CLASS_TYPE_STUDENT_NUMBER_BETWEEN_40_AND_80_VALUE = 1.1;
/**
* 大于等于80人且小于100人 系数1.2
*/
double CLASS_TYPE_STUDENT_NUMBER_BETWEEN_80_AND_100_VALUE = 1.2;
/**
* 大于等于100人 系数1.3
*/
double CLASS_TYPE_STUDENT_NUMBER_ABOVE_100_VALUE = 1.3;
/**
* 职称系数
*/
/**
* 助教 系数1
*/
double LEVEL_TYPE_ASISITANT_VALUE = 1.0;
/**
* 讲师 系数1.2
*/
double LEVEL_TYPE_DOCENT_VALUE = 1.2;
/**
* 副教授 系数1.5
*/
double LEVEL_TYPE_ASSOCIATE_PROFESSOR_VALUE = 1.5;
/**
* 正教授 系数2
*/
double LEVEL_TYPE_PROFESSOR_VALUE = 2.0;
/**
* 理论课重复系数
*/
/**
* 重复课系数
*/
double REPEAT_COURSE_VALUE = 0.8;
/**
* 非重复课 系数
*/
double UNREPEAT_COURSE_VALUE = 1;
}
==================================第二个类 Class类
package org.wood.teacher;
/**
* 班级类 包含
* 班级号 classId
* 班级课程类别(courseName):如java,c++,.net或其他
* 班级人数(studentNumber)
* 班级理论课时间(theoryTime)
* 班级实训(实践)课时间(practiseTime)
* 班级是不是重复的 repeat(如果是重复的,计算该班级的工作量时,使用的系数与重复的不一样)
* repeat属性,比较特殊,需要在统计该班的工作量之前,确定该班是否是重复了。
* repeat=true; 重复的
* repeat=false; 班级非重复的
*
* 核心方法 calculateClassWorkload
* 该方法 用来计算 带此班的老师的工作量,有一个参数,就是老师的职称系数。
*
* 如:30(理论课天数)*1.2(理论课系数)*1.1(60人,学生人数系数)*1.2(职称系数)*1(非重复系数,人多的班级) + 10(实践天数)*0.8(实践课系数)*1.1(60人,学生人数系数)*1.2(职称系数)
*
* 30(理论课天数)*1.2(理论课系数)*1.1(60人,学生人数系数)*1.2(职称系数)*0.8(重复系数,人少的班级) + 10(实践天数)*0.8(实践课系数)*1.1(60人,学生人数系数)*1.2(职称系数)
* @author Administrator
*
*/
public class Class {
private int classId;
// 班级课程类别
private String courseName;
// 班级人数
private int studentNumber;
// 班级理论课时间
private int theoryTime;
// 班级实训(实践)课时间
private int practiseTime;
private boolean repeat;
public Class() {
super();
}
public Class(int classId, String courseName, int studentNumber,
int theoryTime, int practiseTime) {
super();
this.classId = classId;
this.courseName = courseName;
this.studentNumber = studentNumber;
this.theoryTime = theoryTime;
this.practiseTime = practiseTime;
}
/**
* 计算班级工作量 参数 为 老师的 职称系数
*
* @param teacherLevlValue(参数为 该老师的 职称的系数)
* @return
*/
public double calculateClassWorkload(double teacherLevelValue) {
/**
* 判断是否是重复的课程
*/
if (this.repeat) {
System.out.println(this.courseName+" "+this.classId+"班,重复了!");
System.out.println(
this.theoryTime+" * "
+ TypeValue.COURSE_TYPE_THEORY_VALUE+" * "
+getClassTypeStudentNumberValue()+" * "
+teacherLevelValue+" * "
+TypeValue.REPEAT_COURSE_VALUE +"(重复系数) + "
+this.practiseTime+" * "
+ TypeValue.COURSE_TYPE_PRACTISE_VALUE+" * "
+getClassTypeStudentNumberValue()+" * "
+teacherLevelValue);
/**
* 重复的班级 工作量算法
* 30(理论课天数)*1.2(理论课系数)*1.1(60人,学生人数系数)*1.2(职称系数)*0.8(重复系数,人少的班级) + 10(实践天数)*0.8(实践课系数)*1.1(60人,学生人数系数)*1.2(职称系数)
*/
return this.theoryTime
* TypeValue.COURSE_TYPE_THEORY_VALUE
* getClassTypeStudentNumberValue()
* teacherLevelValue
* TypeValue.REPEAT_COURSE_VALUE
+ this.practiseTime
* TypeValue.COURSE_TYPE_PRACTISE_VALUE
* getClassTypeStudentNumberValue()
* teacherLevelValue;
} else {
// System.out.println(this.classId+"班,非重复!");
System.out.println(
this.theoryTime+" * "
+ TypeValue.COURSE_TYPE_THEORY_VALUE+" * "
+getClassTypeStudentNumberValue()+" * "
+teacherLevelValue+" * "
+TypeValue.UNREPEAT_COURSE_VALUE +"(非重复系数) + "
+this.practiseTime+" * "
+ TypeValue.COURSE_TYPE_PRACTISE_VALUE+" * "
+getClassTypeStudentNumberValue()+" * "
+teacherLevelValue);
/**
* 非重复的班级的 工作量的算法
* 30(理论课天数)*1.2(理论课系数)*1.1(60人,学生人数系数)*1.2(职称系数)*1(非重复系数,人多的班级) + 10(实践天数)*0.8(实践课系数)*1.1(60人,学生人数系数)*1.2(职称系数)
*/
return this.theoryTime
* TypeValue.COURSE_TYPE_THEORY_VALUE
* getClassTypeStudentNumberValue()
* teacherLevelValue
* TypeValue.UNREPEAT_COURSE_VALUE
+ this.practiseTime
* TypeValue.COURSE_TYPE_PRACTISE_VALUE
* getClassTypeStudentNumberValue()
* teacherLevelValue;
}
}
/**
* 获取班级 人数系数
*
* @return
*/
private double getClassTypeStudentNumberValue() {
if (this.studentNumber 0 this.studentNumber 40) {
return TypeValue.CLASS_TYPE_STUDENT_NUMBER_UNDER_40_VALUE;
} else if (this.studentNumber = 40 this.studentNumber 80) {
return TypeValue.CLASS_TYPE_STUDENT_NUMBER_BETWEEN_40_AND_80_VALUE;
} else if (this.studentNumber = 80 this.studentNumber 100) {
return TypeValue.CLASS_TYPE_STUDENT_NUMBER_BETWEEN_80_AND_100_VALUE;
} else if (this.studentNumber = 100) {
return TypeValue.CLASS_TYPE_STUDENT_NUMBER_ABOVE_100_VALUE;
}
return -1;
}
public int getClassId() {
return classId;
}
public void setClassId(int classId) {
this.classId = classId;
}
public String getCourseName() {
return courseName;
}
public void setCourseName(String courseName) {
this.courseName = courseName;
}
public int getStudentNumber() {
return studentNumber;
}
public void setStudentNumber(int studentNumber) {
this.studentNumber = studentNumber;
}
public int getTheoryTime() {
return theoryTime;
}
public void setTheoryTime(int theoryTime) {
this.theoryTime = theoryTime;
}
public int getPractiseTime() {
return practiseTime;
}
public void setPractiseTime(int practiseTime) {
this.practiseTime = practiseTime;
}
public boolean isRepeat() {
return repeat;
}
public void setRepeat(boolean repeat) {
this.repeat = repeat;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result
+ ((courseName == null) ? 0 : courseName.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
final Class other = (Class) obj;
if (courseName == null) {
if (other.courseName != null)
return false;
} else if (!courseName.equals(other.courseName))
return false;
return true;
}
}
==================================第三个类 Teacher类
package org.wood.teacher;
import java.util.ArrayList;
import java.util.List;
/**
* 教师类 包含教室的 姓名,职称(级别)信息
*
* 核心方法 计算该教师的工作量(多个班级的工作量的和) calculateWorkload();
*
* @author Administrator
*
*/
public class Teacher {
/**
* 姓名
*/
private String name;
/**
* 职称/级别 助教、讲师、副教授、正教授
*/
private String level;
/**
* 老师 所带领的班级的集合
*
*/
private ListClass classes = new ArrayListClass();
public Teacher() {
super();
}
public Teacher(String name, String level) {
super();
this.name = name;
this.level = level;
}
/**
* addClass(Class clas) 添加 老师带的班级 到 老师带班集合
*
* @param clas
*/
public void addClass(Class clas) {
this.classes.add(clas);
}
/**
* 计算教师的工作量(workload)
*
* @return
*/
public double calculateWorkload() {
/**
* 获取教师的级别系数
*/
double levlValue = getTeacherLevlValue();
System.out.println("职称系数:"+levlValue);
/**
* 检测 教师 所带领的 班级
* 如果 有班级是 重复的,将人数最少的班级 的重复属性 赋值为 true
*/
checkClassRepeat();
/**
* 计算 工作量
* 结合 教师的 职称
*/
double sum=getSum(levlValue);
return sum;
}
private double getSum(double levlValue) {
double sum=0.0;
for(Class c:this.classes){
sum+=c.calculateClassWorkload(levlValue);
System.out.println("SUM:----"+sum);
}
return sum;
}
/**
* 检测 教师 所带领的 班级
* 如果 有班级是 重复的,将人数最少的班级 的重复属性 赋值为 true
*/
private void checkClassRepeat() {
/**
* 此方法 没有实现,请高手 实现
*
* 我的想法是遍历 ListClass classes 集合,比较集合中的对象,
* 如果有对象是相同的(我重写了Class的equals()方法,只要课程名相同,就表示两个班相同)
* 则将 班级人数少的班级的重复 属性 赋值为true(默认为false)----计算班级的工作量是用到 该属性 做判断
*
* 我遇到的问题是,如果一个老师 带的重复的班级 有3个或三个以上(如:3个java班),我的逻辑就有点乱了,没理过来
* 请高手帮忙!!
*
* 现在只能 手动地设置 某个班级 为重复的,从而进行计算
*/
}
/**
* 获取教师的 职称系数方法
* 通过 教师的 职称 确定的 教师的 职称系数
* @return
*/
private double getTeacherLevlValue() {
// 助教、讲师、副教授、正教授
if ("助教".equals(this.level)) {
return TypeValue.LEVEL_TYPE_ASISITANT_VALUE;
} else if ("讲师".equals(this.level)) {
return TypeValue.LEVEL_TYPE_DOCENT_VALUE;
} else if ("副教授".equals(this.level)) {
return TypeValue.LEVEL_TYPE_ASSOCIATE_PROFESSOR_VALUE;
} else if ("正教授".equals(this.level)) {
return TypeValue.LEVEL_TYPE_PROFESSOR_VALUE;
}
return -1;
}
/**
* 计算教师的收入
*
* @param perWorkloadPrice(单价)
* @return
*/
public double calculateIncome(double perWorkloadPrice) {
return calculateWorkload()*perWorkloadPrice;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getLevel() {
return level;
}
public void setLevel(String level) {
this.level = level;
}
public ListClass getClasses() {
return classes;
}
public void setClasses(ListClass classes) {
this.classes = classes;
}
}
==================================第四个类 测试类 TestCal类
package org.wood.teacher;
public class TestCal {
public static void main(String[] args) {
/**
* 职称/级别 助教、讲师、副教授、正教授
*/
Teacher teacher=new Teacher("张三","讲师");
/**
* 构建 班级1 对象
* 班级2 java课 60人 30天理论 10天实践
*/
Class class01=new Class(1,"java",35,30,10);
class01.setRepeat(true);
/**
* 构建 班级2 对象
* 班级2 java课 60人 30天理论 10天实践
*/
Class class02=new Class(2,"java",60,30,10);
class02.setRepeat(false);
/**
* 将1,2班 添加到教室 带班列表
*/
teacher.addClass(class01);
teacher.addClass(class02);
/**
* 计算工作量
*/
double result=teacher.calculateWorkload();
System.out.println("R:"+result);
/**
* 单个班级 java02 班 测试数据
* 30(理论课天数)*1.2(理论课系数)*1.1(60人,学生人数系数)*1.2(职称系数)*1(非重复系数,人多的班级) + 10(实践天数)*0.8(实践课系数)*1.1(60人,学生人数系数)*1.2(职称系数)
* 理论数据: 30 * 1.2 * 1.1 * 1.2 * 1 + 10 * 0.8 * 1.1 * 1.2 =58.08
* 程序数据: 30 * 1.2 * 1.1 * 1.2 * 1.0 + 10 * 0.8 * 1.1 * 1.2 =58.080000000000005(double类型数据不精确存储)
*/
/**
* 两个班级 java01 java02 班 共同 测试数据
* java 1班,重复了!
* 30 * 1.2 * 1.0 * 1.2 * 0.8(重复系数) + 10 * 0.8 * 1.0 * 1.2
*
* java 2班
* 30 * 1.2 * 1.1 * 1.2 * 1.0(非重复系数) + 10 * 0.8 * 1.1 * 1.2
*
* 程序数据结果:R:102.24000000000001
*
*/
}
}
/**
*
*实现了Teacher 类中的 private void checkClassRepeat() 方法 就可以
*自动判断 哪一个 班级是重复的
* 但是 现在 我未能实现此方法
* 只能 像测试类中的 那样, 手动地 设置 该班级 是否是重复班级
*/
求个JAVA 人力资源管理系统 源代码和模版界面以及需求分析,求参考
星原人力资源管理系统 结构如下,
产品说明: 人力资源规划 组织管理 招聘管理 人力测评
人事管理
培训管理
考勤管理
薪酬福利
绩效管理
行政事务
员工关系 人力分析和辅助决策
文控管理 工作流
领导查询和员工自助查询
SA8000人权验厂方案
系统概览
一、人力资源规划
◇通过企业发展阶段设置,设定适应各发展期的人力资源管理政策;
◇适应年度培训计划体系、三级培训体系、岗位培训体系、ISO管理培训体系;
◇自动生成培训到课与缺课统计,对比岗位任职与培训需求,为晋升与上岗提供依据;
◇针对ISO体系验证,为繁杂的培训记录及文档管理提供自动生成核对功能,防止漏训或资料的不一致;
◇自定义培训费用项目;
◇提供培训需求调查表,统一管理培训教材,简化教材的不致性与版本混乱;
◇可直接在系统中制作培训通知单;
◇提供培训心得报告;
◇提供培训效果调查表,统一考核管理,加强培训效果,评估成本效益;
◇能对个人、部门的培训成绩及效果进行分析,并输出各种分析报表;
◇简化培训操作;
◇培训规划可根据用户需要直接转入到培训安排中。
返回顶端
二、组织管理
1、组织机构管理
◇提供对集团公司组织管理的支持,自定义组织层级,不限组织层次;
◇对不同时期的组织职能变更进行动态管理;
◇能够导出树状和矩状的组织架构图;
◇可以进行部门合并、部门升降,并有历史记录记载。
2、岗位管理
◇可以对岗位层级关系进行管理,通过设立岗位层次、级别、职系、职类、职位进行人力分析与规划,建立组织架构与权责体系;
◇可以对不同时期的岗位职责进行管理,并有历史记录记载;
◇可以建立在职级、职务、职类体系上的工作分析、含职位工作说明、职务任职资格、
◇工作量评估、权责体系、工作流分析、工资结构与权重、薪点数等管理职能表格;并有历史记录记载;
◇可以对不同时期的岗位任职资格进行管理,并有历史记录记载;
◇可以对内容进行管理,并有历史记录记载;
◇可设计该岗位的职业发展通道,使员工在此岗位上有很好的前景展望;
◇可设计该岗位的不同时期的绩效考评指标(KPI),并有历史记录记载;
◇可以进行岗位的升迁、降级处理,并有历史记录记载;
◇对不同岗位市场成本调查,按岗位制度公司薪酬体系,对各岗位的评估上限与下限值,根据任职资格与个人资料评估薪酬;
◇通过岗位职责分类,控制直接与间接人员数量与成本比例,使管理成本更合理。
3、年度编制计划与编制管理
◇可对各年度各部门岗位进行人员编制管理;
◇与人力资源规划、招聘模块关联,自动产生招聘申请需求及招聘标准;
◇按既定编制招聘人手,判断是否超编。
◇支持各种计划性、临时性、租赁、外包等多种用工招聘模式;
◇按人力资源规划确定各组织人员需求层次,按岗位分析与任职要求制定测评指标;
◇参照人力资源规划需求、组织架构与岗位编制制定出相应的招聘计划;
◇制定对内招聘与晋升计划,激发员工学习与工作能力;
◇按组织规划确认面试者薪酬结构与标准;
◇参照组织管理中岗位规划属性,结合当前人事档案的年龄、藉贯、性别、学历等统计分析报表,确定招聘申请人员标准;
◇记录招聘渠道信息,及相关广告、费用等;
◇招聘关键环节的申报审批功能;
◇从招聘计划开始对每个关键环节详细跟踪,实现动态信息记载;
◇对应聘人员从填写应聘简历到面试、测评录用进行全程跟踪记载;
◇把应聘人员转入到人事档案中并设置此人的状态,很好的与人事档案结合到一起;
◇内部储备人才和外部储备人才进行分别管理;
◇对一段时间内各部门人员需求单的分类统计;
◇对已审批的部门需求单直接转入到招聘安排中;
◇面试通知单可直接在系统中通过邮件的形式发送给面试者;
◇提供通用的报表形式,如录用通知单,招聘通知单等;
◇可直接从系统中生成招聘发布信息,也可直接把招聘需求发送给人才市场;
◇对招聘渠道、招聘成功率、留任率、人均成本等招聘结果进行综合全面的分析;
◇对未审批的招聘计划、已审批的招聘计划、未审批的人员需求单、已审批的人力需求单及时提醒用户;
◇可与人力测评结合使用,对应聘人员的各方面素质进行测试记载。
返回顶端
三、招聘管理
◇支持各种计划性、临时性、租赁、外包等多种用工招聘模式;
◇按人力资源规划确定各组织人员需求层次,按岗位分析与任职要求制定测评指标;
◇参照人力资源规划需求、组织架构与岗位编制制定出相应的招聘计划;
◇制定对内招聘与晋升计划,激发员工学习与工作能力;
◇按组织规划确认面试者薪酬结构与标准;
◇参照组织管理中岗位规划属性,结合当前人事档案的年龄、藉贯、性别、学历等统计分析报表,确定招聘申请人员标准;
◇记录招聘渠道信息,及相关广告、费用等;
◇招聘关键环节的申报审批功能;
◇从招聘计划开始对每个关键环节详细跟踪,实现动态信息记载;
◇对应聘人员从填写应聘简历到面试、测评录用进行全程跟踪记载;
◇把应聘人员转入到人事档案中并设置此人的状态,很好的与人事档案结合到一起;
◇内部储备人才和外部储备人才进行分别管理;
◇对一段时间内各部门人员需求单的分类统计;
◇对已审批的部门需求单直接转入到招聘安排中;
◇面试通知单可直接在系统中通过邮件的形式发送给面试者;
◇提供通用的报表形式,如录用通知单,招聘通知单等;
◇可直接从系统中生成招聘发布信息,也可直接把招聘需求发送给人才市场;
◇对招聘渠道、招聘成功率、留任率、人均成本等招聘结果进行综合全面的分析;
◇对未审批的招聘计划、已审批的招聘计划、未审批的人员需求单、已审批的人力需求单及时提醒用户;
◇可与人力测评结合使用,对应聘人员的各方面素质进行测试记载。
返回顶端
四、人力评测
◇系统支持各种测试模式,自定义测评类别与试题,例如通过导入一般职业适合性测验、心理测试、领导测评类测评试题或工具,对任职指标、智力、语言能力、算术、书写知觉、空间判断能力、形状知觉、协同动作、运动速度、手指灵活度、手灵活度、领导类型、能力、职业兴趣、个性,LPC领导有效性测评、领导与部属关系测量、工作结构测量、职位权力测量等各项指标进行测评;
◇可按测评职位、标准任职资格指标库等自动推荐测评方案、项目、权重等;
◇ 提供测评方式维护;
◇可利用电脑进行人力在线测评,方便控制时间与测评效果;
◇人力测评登记;
◇人力测评查询;
◇ 岗位匹配性分析;
◇情景测试:公文处理测试等;
◇对应各测试类别的测试的方法与题目:所有试题给出总分值、测试目标与功能,合格分、胜任分、优秀分值及否决项;
◇测评项目与职位指标相对应部份自动对比,计算匹配度;
◇ 按各测试项的测试目标、总分值、实得分值,自动分析出各项优秀、合格、不合格层次及总层次;
◇测评结果可以用不同方式查询与设计报表。
返回顶端
五、人事管理
◇提供身份证识别设备供验证身份证真伪,同时将身份证相片及姓名、号码、住址等自动读入系统,减少输入错误、提高效率,自动判断年龄等合法性;
◇预先统计时间点在职、离职等各种人员状态,为生产计划、招聘计划提供依据;
◇提供员工状态管理,了解各类员工比例;
◇通过各种统计报表了解人员各种比例,分析可能存在的同籍贯风险、年龄或学历不合理等,为招聘与调配提供依据;
◇通过统计流失率及离职原因分析,查找人员流失率主因,为行政工作决策提供依据;
◇对个人档案管理增加了对个人的技能档案管理、计生档案管理、岗位职责查询;
◇自动统计员工学习、工作、培训、考核、异动、加薪履历,对比组织管理岗位规划,作为晋升、调动、加薪等依据;
◇个人职业生涯规划;
◇个人离职记录查询,对有多次离职记录人员进行记载跟踪;
◇人事档案中人事动态跟踪,用户可自定义人员状态,并记载各状态下的发生信息。比如可定义离职申请状态、离职已审批状态、已离职状态;
◇人事黑名单管理,对在公司犯有重大错误的人纳入到黑名单中,系统提醒是否录用。
返回顶端
六、培训管理
◇适应年度培训计划体系、三级培训体系、岗位培训体系、ISO管理培训体系;
◇自动生成培训到课与缺课统计,对比岗位任职与培训需求,为晋升与上岗提供依据;
◇针对ISO体系验证,为繁杂的培训记录及文档管理提供自动生成核对功能,防止漏训或资料的不一致;
◇自定义培训费用项目;
◇提供培训需求调查表,统一管理培训教材,简化教材的不致性与版本混乱;
◇可直接在系统中制作培训通知单;
◇提供培训心得报告;
◇提供培训效果调查表,统一考核管理,加强培训效果,评估成本效益;
◇能对个人、部门的培训成绩及效果进行分析,并输出各种分析报表;
◇简化培训操作;
◇培训规划可根据用户需要直接转入到培训安排中。
返回顶端
七、考勤管理
◇丰富的参数设置,适应不同企业班制特殊性;
◇提供了与多种型号IC卡、条码、指纹考勤机数据接口;
◇能处理频繁倒班、调班、停工待料、中途请假等灵活的出勤管理;
◇能处理临时加班,周末加班、节假日加班、班前、班中、班后加班以及通宵加班等各种加班的管理;可根据最大加班管控指标预警,并通过各种加班报表分析加班的必要性,以控制加班成本;与门禁系统结合可规范员工行为,培养员工良好的工作习惯与优秀的公司文化;
◇能处理跨72小时连班作业(跨两天);
◇可根据各项加班最大加班管控指标预警,并通过各种加班报表显示;
◇分析加班的必要性,以控制加班成本与防范违反法规,分析产值加班负荷率;
◇自定义各种假期,如事假、病假、工伤假、调休、年假、累计假等有薪、无薪、半薪假的管理可处理存假自动与请假抵消,各种复杂的调休等;
◇能输出各种请假单、加班单、排班表、班制作休时间;
◇能输出并查询年、月、日及任意时间段任意部门人的出勤情况报表、异常出勤表并进行各种汇总分析;
◇运用了自动找班和多种灵活排班技术,极大地减轻了考勤人员工作量;
◇运用了先进的考勤算法,处理5000人一个月的考勤报表只需3-5分钟,提高了考勤管理的时效性及管理效率,高度开放的二次开发平台,可最大程度调整考勤项目与计算方法;
◇系统支持多用户和网络,通过严格的权限控制技术、使得考勤日常管理(分散和集中)做到随心所欲,实时控制;
◇自定义各类迟到、早退、旷工、加班超时等异常查询逻辑显示颜色,一目了然、处理快捷
◇自定义签卡控制次数,签卡显示以颜色区分;
◇可定义入职或离职当天是否计出勤;
◇提供海量数据处理机制,解决大型企业历史数据累积导致系统性能下降问题;
◇考勤与门禁系统结合分析上班期间外出情况,可规范员工出勤行为;
◇考勤与消费系统结合,使上班时间与就餐时间对应,公司可以视情况确定是否补贴与是否允许就餐;
◇提醒机制:系统提供默认迟到、早退、旷工、超时加班等提醒功能,同时提供自定义提醒项目需求;
◇安全机制:提供加班、请假、签卡、调休、考勤结果审核功能,防止生效后结果被人为更改或因制度改变重算影响历史数据;
◇考勤项目直接汇入工资计算,考勤、工资、消费数据整合;
◇自定义各种考勤明细、汇总报表,加班、缺勤、异常等报表;
◇支持集团性多套帐或验厂用到的多帐套算法。
返回顶端
八、薪酬福利管理
◇可对薪资项目进行分类管理,如:岗位工资、福利、奖金,实现用户自定义设定和自定义计算,适应各种薪资体系与工资计算方式经常变动;
◇解决了一个月多次调薪的计算难题;
◇可按薪资等级或薪点数根据岗位进行设置,并可设定多个调薪方案;
◇支持多个薪酬体系,不同组织、岗位、职级不同的薪资方案的计算方法,可根据岗位设计标准成本与实际薪资对比,部门预算与实际薪资对比;
◇每个月可计算多个帐套;
◇各帐套可支持不同财务周期算法;
◇支持非自然月为财务周期的工资计算方式,财务周期起止日期可支持自定义;
◇帐套间可共用每月录入数据及接口数据;
◇薪资计算可从考勤、绩效导入数据;
◇支持银行报盘,所得税计算与申报;
◇丰富的薪酬福利报表;
◇支持借款扣除;
◇支持自离或旷工多日自动薪资冻结,也支持手动冻结与解冻;
◇对于其客观存在系统的数据完全共享,如计件工资、考勤、考评、奖惩、水电费、就餐资产等数据与本系统实现了无缝联接,实时调用,只要一次录入,不用重复录入或转换。
返回顶端
九、绩效管理
◇系统支持自定义考核模型或工具:排名表、面谈表、组织考核表、KPI、MBO、360度;
◇绩效参数设置:包括绩效指标库管理,绩效指标可以根据职位绩效指标引入绩效考评指标,并可在此基础上进行自定义其它指标库;
◇绩效层次设置:每个绩效层次有相应的绩效变量及职位;
◇在支持量化指标考核同时,也支持关键工作事项等不能量化的考核项目考核与跟踪;
◇绩效考评级别管理,根据绩效考评级别可以进行多层次、多方位的考评,可以更准确的了解考评者的绩效状况,考评级别依赖于考评分类,每个考评级别所需要的考评级别及每个级别所占的比重是不一样的;
◇绩效考评模板管理,个人绩效考评表及组织绩效考评表可在绩效考评模板基础上生成;
◇组织绩效考评包括引入组织、定义考评分类及考评要点、制作考评表,查看考核信息;
◇个人绩效考评根据个人所在的考评层次及考评周期设置考评分类及考评要点,并根据每个考评级别制作考评表,最后根据每个考评级别及考评周期生成综合考评信息;
◇系统支持自定义考评工具及相关考评表格式;
◇按考评分值与权重自动统计考核结果,自动比对标杆;
◇自动提醒针对考核不合格的培训项目;
◇自动对比各期考核结果,跟踪考核项目改善状况;
◇支持对考核者直接评分;
◇支持领导多级点评、修正、审核;
◇考核结果自动应用于晋升、调职、薪资计算、培训等相关功能模块,起到预警提醒作用;
◇考核结果查询支持:绝对分值比较、相对标准比较、客观标准比较;
◇支持排序法,代表人物法、强制正态分布法(预先设定优良中及格差比例)统计方法;
◇支持绩效考核结果申诉,设定提交、受理、处理、结案周期;
◇考核结果可以通过自定义算法,直接应用于薪酬,异动等子系统。
返回顶端
十、行政事务管理
1、会议管理
系统通过对会议室及物品配套、会议室安排排程、会议参会人员与时间核算会议成本。通过会议申请,提前规范会议内容以 提高会议效率,避免管理中的文山会海;同时,提高会议记录管理,对会议决议跟踪,避免会议流于形式,每次会议决议、跟进责任人、进度、结案做自动跟踪,管 理者通过系统查询,跟进工作,保证决议得以执行。
通过会议管理系统,避免诸多企业会而不议、议而不决、决而不行、行而不果的会议怪圈与高昂的会议成本。
2、工伤管理
工伤管理,通过对工伤等级划分,确认各级别对应处理预案。对单个工伤案例每一个社保步骤进度跟踪记录,同时保持对应的文件。可随时产生所有工伤案例进度表,员工离职是可避免工伤未结案带来的风险。
3、宿舍管理
◇对宿舍基本资料、床位床号的设置;
◇可随时查询各宿舍的入住情况及空床位;可自定义按部门,班组等自动建议床位分配;
◇对各宿舍进行物品配置及管理;
◇对住宿安排、变更、退宿进行全面管理;
◇对外宿人员的登记管理;
◇对宿舍水电费价格的设定,水电表的登记、水电费用等的登记、计算;
◇水电等费用的分摊;相关费用与薪资系统的链接,并可直接从工资中扣除;
◇宿舍日常的维修维护、物品租赁的登记管理等。
4、图书管理
用于企业内部文化室(或图书馆)的计算机化管理。可对所有图书、报刊、杂志、传记、专业资料书籍等进行分类登记;对内部员工的借阅、归还进行跟踪管理;对破损、遗失、赔偿等进行登记跟踪管理。
5、资产管理
对人力资源部门通常管理的办公用品、工衣等物品进行分类编码;对办公用品的购进、 分发、领用、归还、赔偿等进行登记跟踪管理;对库存物品可进行盘点操作;对所有数据的分类分析等。与员工离职相关联,保证先退保管资产,后办离职发工资的 手续。在规定时间内重复领用系统自动提示。可核算人均办公费用等管理指标。
6、保险管理
管理企业内部的各类福利保险;自定义保险险种、员工、企业的缴费记录、明细分摊;处理员工参保,停保操作,与系统的工资等其它功能模块相关联进行汇总和查询分析。
7、医疗管理
记录员工入职时及各次体检记录,对在企业内部药品的分发、使用、回收、医药费进行管理;对医疗服务的过程进行跟踪记录;对医疗服务的类型、费用等进行分类、分析等。
8、车辆管理
规范企业的公务用车管理。从申请、批复等环节对公务用车进行有效的管控;对外出路线、逗留时间、维修保养、路桥费、油费等进行有效有据的跟踪记录,从而达到降低费用,提高效用的目的。
返回顶端
十一、员工关系
◇对相关法律法规条款重要性与内容案例解读,可能风险性预估;
◇明确公司规章各项条款与对应措施,量化必要的指标,更好贯彻各项规章;
◇公司公告的发布、公示与保管等,协助达到制度、公告的最大公示性;
◇法律法规、公司规章、公司公告明确责任到相关执行与保管人员,量化必要数据,保留原始凭据体系,以降低公司人力资源风险;
◇需求调查与处理、员工建议、文娱管理,结合公司理念,协助公司文化建设,提高员工满意度,加强公司员工凝聚力;
◇职代会管理、工会管理:建立公司各种会议架构,明确职责。并对公司相关制度决议讨论,对接国家对企业工会、职代会制度要求,有利公司和谐经营,从文化上降低经营风险与推行企业文化理念;
◇员工跟踪:对员工计划事项进行跟进,防止工作漏失;
◇离职员工访谈与跟踪,针对离职原因切实改善管理;
◇合同管理:可对新员工自动产生合同,进行分类型管理,明确各类合同法定事项,保存各类相关原始文本与变更记录,合同外约定附件等;
◇提供合同批次管理可按签订日期分合同批次,避免每日续签合同,也防止漏签或迟签;
◇工伤管理:提供各工伤案的原始文件,处理步骤流程与进度维护。对各种工种鉴定级别做相应的理培事项;
◇证件管理:对各种证件的有无与有效期管理,自动提醒;
◇体检管理:关注员工健康,对各工种员工按法规或公司制度进行体检管理。按周期要求自动提醒需求;
◇文娱管理:对公司文娱计划与执行,相关经费预算与实际应用进行管理;
◇◇对企业内部公告、通知、新闻消息等的登记、发布、跟踪、反馈等进行分类管理与分析;
◇总经理信箱:在公司内部架设一个上下级之间可以快速、直接的沟通渠道。可对信息进行分类管理,并有保密措施。
返回顶端
十二、人力分析和辅助决策
◇包括人力成本分析、组织绩效分析、合理化建议分析、薪资实验分析、薪资分布分析;
◇自定义和输出多种报表和图表,灵活生成和输出各种多维统计报表,分析人力资源的组成、成本和效益,发掘和预测人力资源的发展趋势;
◇系统内置分析型数据仓库,提供在线实时(OLAP)数据统计分析功能;
◇人员供给分析(根据生产情况及现有人员分析);
◇劳动生产率分析。
返回顶端
十三、文档办工流管理
◇支持文档柜管理,保证电子文档与纸质文档保管台帐对应,方便查找;
◇支持文件多级审批与会签;
◇支持文件分类管理,内置常用法律法规、公司制度、通知通告等类别;
◇支持其它子系统调用相关文件;
◇可制定各类别文件对应不同审批流程、管控流程;
◇支持文件号、文件多版本管理;
◇通过文档收发记录,实时查询文件起草、审批、公布、收发、保管履历;
◇支持文件集中备份。
返回顶端
十四、工作流
◇支持针对不同单据而不同职位自定义工作流程;
◇支持自动提醒当前各类需要审批工作流单据;
◇支持工作流程权限公式定义,例如每个职位可审批的请假天数;
◇支持多人会签;
◇支持前后审批人员审批意见是否可见;
◇支持离岗期间指定职位替代,替代时可以按流程指定多人替代,是否可查看本人以前单据审批记录
返回顶端
十五、领导查询和员工自助查询
◇XY-WEB星原人力资源查询系统,采用完全的B/S结构,提高软件的可维护性和可扩充性;
◇提供使用户进行二次开发的通用模块,用户可以方便地扩展软件的功能;
◇提供统一友好的操作界面和丰富的数据管理分析功能;
◇为企业的信息发布交流提供人性化的操作平台,使企业的规章制度、新闻简报、技术交流、公告事项等及时传播,使企业员工能及时了解企业发展动态;
◇改变传统的集中办公方式,扩大办公区域,企业用户可在家中、城市各地甚至世界各个角落通过网络连接随时办公;
◇系统地利用企业积累的信息资源,改进企业的创新能力和快速响应能力,以提高效率;
◇对客户端机器的硬件要求较低,可以在保留原有的软件和硬件的基础上运行新的应用系统,不影响原有资源;
◇基于WEB方式的办公系统只需在服务器上作配置和维护,大大降低了用户用于软件系统维护和升级的难度及费用,使系统更加容易实施。
返回顶端
十六、SA8000人权验厂方案
人权验厂主要是政府部门、欧美客户检查企业执行劳动法的情况,主要表现在员工是否有超时加班和符合当地最低工资标准以及保险福利、安全保护情况。其核心就是人事、考勤和薪酬福利部分。
主持验厂的对象及特点:
◇政府部门(劳动、税务、海关)查厂:除了考勤和工资部门要调整外,人数、身份证和保险也应为关注调整重点。企业与政府保持良好的关系也是重要因素; ◇欧美客户直接验厂:由于不熟悉大陆情况比较容易应对;
◇客户委托第三方验厂:专业从事验厂工作,对我国情况了如指掌,最难应对,既要符合标准,又要处理好关系。
验厂的应对方式:
普遍采用的是针对不同的验厂对象设立多套账和多套制度,不同的方式,费用和效果差别很大。传统手工和纸卡考勤方式 工作量大、费用高主要表现在处理考勤和工资项目以及对员工培训的项目上。为了避免在处理人事考勤工资多套账时耗用大量的人力和物力,我公司结合近千家工厂 一卡通验厂实施经验,总结了多套一卡通验厂实施方案。
求用java写的统计员工每天的工作量的类
//问的问题应该清楚一点,我是看了半天才理解 。。
public Double getWorkPercent(Date in,Date out){
//错误
if(in.after(out)){
return 0D;
}
//考虑周末
SimpleDateFormat dateFm = new SimpleDateFormat("EEEE");
if("星期日".equals(dateFm.format(in)) || "星期六".equals(dateFm.format(in))){
return 0D;
}
Date restStart = in ;
Date restEnd = in ;
restStart.setHours(12);
restEnd.setHours(13);
//上午时间
Long morningTimes = restStart.getTime()-in.getTime();
//下午时间
Long afterTimes = out.getTime() - restEnd.getTime();
//上班时间 如果在休息时间之后,或者休息时间中间上班,下班。则上班总时间为0;
Long totalTimes = (morningTimes0?0:morningTimes)+(afterTimes0?0:afterTimes);
return totalTimes/1000.0/60/60 / 8;
}
简述Java应用程序的开发流程
Java应用程序的运行经过编写、编译、运行三个步骤。
第1步,编写程序。使用记事本或其他软件编写程序的源代码,将源代码保存为文件filename.java文件。
第2步,编译程序。在MS-DOS命令窗口,将当前目录转换到Java源程序所在的保存目录;输入“javac filename.java”形式的命令进行程序编译。
第3步,执行程序。在同样的命令窗口中输入“java filename”形式的命令执行程序。
完成了程序的开发,查看相应t目录,其中应该具有两个文件,分别是XXXX.java和XXXX.class。
如果是开发网页应用,开发流程大概是这样的:
搭建开发平台,一般使用的是j2ee
编写DAO层,建立数据库
编写业务层action
编写显示文件jsp、html