资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
eHR软件开发突破简述EHR软件开发突破简述Design in EHRHR软件工作室QQ:12652083462012年2月目 录导 言2第1章 通用EHR的平台库表设计思路2第2章 EHR系统平台模块5第3章 通用EHR的平台核心组件6第4章 主表和附表的设计思想8第5章 EHR软件模块8第6章 组织机构8第7章 人员管理9第8章 薪资管理11第9章 考勤管理13第10章 合同管理14第11章 通用报表15结束语15附录一:专业eHR通常包括以下功能16导 言感谢您阅读本书!本书是写给致力于开发人力资源管理软件(HR软件)的公司或开发者,帮其突破种种困惑!使其拥有专业的、通用的HR软件!困惑一、根据客户的要求开发完成了HR软件,功能似乎很全,该用户也基本满意。但面对新的需求时,必须要不断地修改代码、不停地重新编译程序以满足客户。困惑二、完成的软件,在面对新的客户时,总是要把大量的需求提交给开发者,对现有的软件功能进行调整、甚至重新实现。导致多个客户多个版本!软件不通用!困惑三、经常困惑于某些人力资源业务流程上该如何设计?软件如何实现?比如人员模块人员的变动如何与工资模块发放人员进行联动?比如通用的报表制作工具?这种设计是不是符合绝大多数客户的情况?困惑四、有了用户需求、有了开发技术,就可以写各种各样的功能满足用户需求,似乎没有什么困难,只是不停地写、不停地改、单调忙碌!但好像大部分功能,没有通用性,不能适用所有的客户!困惑五、那些专业的知名HR厂商,她们的HR软件又是如何设计的呢?是如何做到软件通用?如何做到代理商实施HR软件而不用修改代码就能让客户满意呢?诸多的困惑使许多HR软件开发者迷茫、抱怨,并且更多的困惑还存在于软件的实现细节当中!初级的HR软件系统迟迟得不到客户的验收,款项无法及时收回,造成公司管理者焦虑!这是一本简要讲述通用HR软件设计的书,她会协助您建立更专业的HR软件!满足绝大多数客户的需求!本人有幸在国内知名的软件公司、国内知名的HR专业厂商从事开发工作10多年,并有幸参与了大型客户的HR软件改造、实施、服务工作,对HR行业客户的需求、软件的开发、实施、服务,积累了丰富的经验。愿意与各位分享、沟通、共同推动HR行业软件的发展!第1章 通用EHR的平台库表设计思路1. Sys_Tables表表Namevarchar(20)表名SNint表序号Captionvarchar(50)表标签Visiblesmallint表可见性:0-不可见 1-可见 2-可见不可删 3-可见不可改 2. Sys_Fields字段表IDintTableNamevarchar(20)表名SNint字段序号Namevarchar(20)字段名Captionvarchar(50)字段标签Typevarchar(20)字段类型(物理类型、支持重构) Widthsmallint字段宽度 (总位数,整数位数即Width- Scale)Scalesmallint数值精度(小数位数)EditorTypevarchar(20)编辑类型(同TcxGridDBColumn.Properties)DisplayFormatvarchar(30)内容显示格式LookUpvarchar(50)下拉关联键Activitysmallint活性(1-关键字,2-固定项,3-自定义固定项,4-被定义固定项, 5-可选已选且固定项,6-自定义项,7-可选且已选项,8-可选且未选项,9-自定义可选且未选项)Visiblebit可见性(0/1)3. Sys_LookUp选择项表IDint自增长IDCodevarchar(50)代码ParentCodevarchar(50)父代码Namevarchar(50)名字Gradesmallint(2)层级PYMvarchar(20)拼音码4. Sys_Module模块表IDint自增长IDNamevarchar名字5. Sys_Functions功能块表Codevarchar代码SNint功能块序号新增ParentCodevarchar父代码Namevarchar名字Module_IDint所属模块6. Sys_Dept组织结构表Codevarchar代码ParentCodevarchar父代码Gradesmallint层级Namevarchar名字7. Sys_User用户表UserNamevarchar账户Descriptionvarchar用户描述PassWordvarbinary密码IsGroupbit是否组(0/1)GroupIDint所属组ID8. Sys_Rights权限表(功能模块、组织结构权限)UserNamevarchar用户名RightTypesmallint权限类型(0-功能权限,1-部门权限)Rightstext/存储格式:Code=RightLevel,9. Sys_RightTables表、字段权限表IDint自增长IDUserNamevarchar用户名FieldID int字段编号ReadOnlybit是否只读(0/1) SNint显示顺序Module_IDint所属模块TableNamevarchar表名(此字段非必需,冗余是为提高查询效率)系统表间关系分为几个类:(1)数据定义类:Tables、Fields、Looup(2)软件组成类:Module、Function(3)用户及组织类:Dept、User(4)权限类:Rights、RightTablesRights- Function/ModuleRightTables- Fields/Tables第2章 EHR系统平台模块一、 数据重构,软件通用的灵魂模块数据重构是HR系统最重要的维护模块之一,是保证数据库及指标项能够满足不同用户需求的实现工具。她主要完成以下功能:1. 建立新的人事、工资及其他信息库2. 修改已有信息数据库结构,增加、修改、删除信息项目3. 管理不同功能模块的各类信息库,定义各类信息库的归属现在我们来想一想,不同的客户,其人员基本信息内容是不是不完全一样?比如银行账号、社保账号、岗档级等等,有的客户需求,有的客户不需要,不同的行业、不同的客户,其人员信息内容肯定是不相同的!而工资信息表,内容也肯定不相同!人员档案信息不同的客户需求也不同:有的要员工培训结果子集,有的要特殊工种情况子集等等。初级的HR软件一般没有这个模块,当面对上面的客户需求时,只能是不同客户进行不同的编码,一个项目一个项目的去定制开发完成!有了数据重构模块,我们就可以根据用户的需求,建立不同的表、不同的字段!完全不用修改程序代码,就可满足用户的需要!数据重构模块的有无,在某种程序上,可视作专业HR软件与初级HR软件的分水岭!数据重构模块的有无,是通用HR软件与非通用HR软件的最重要区别!拥有数据重构模块的HR软件,其功能设计、开发实现更简洁、更快速、功能更稳定!其开发思路和实现代码与没有该模块的初级HR软件完全不同!后者开发新功能时所需时间更长,还会带来功能不易稳定、操作不易一致等诸多问题!既然数据重构模块如此重要,那么为什么许多的HR软件没有去实现她呢?原因不外乎以下几点:1. HR软件开发者没有通用软件设计的经验,完全不会想到这样设计软件2. 该模块的实现,需要设计系统表来管理HR数据表结构,这种设计思维,一般的开发者也难以想到3. 最重要的一点是,数据重构模块操作影响的是数据库的表结构,在前台的软件功能界面上,如何自动地反映出数据库表结构的变化,满足不同用户的操作要求,这需要一个核心组件(或者多个组件)去实现,这个组件的设计和实现有一定的难度!后面,我会讲到如何实现数据重构和这个核心组件。相关表:模块表Sys_Module、 表表Sys_Tables、 字段表Sys_Fields。二、 权限管理实现对系统用户及使用权限的管理,包括增加、修改、删除用户并对它们进行授权。人力资源数据保密性要求高。一般的HR软件权限管理内容比较简单:只是增删改用户,对部门权限、功能权限进行控制而已。而专业的HR软件不仅具有这些基础功能,还具有以下功能:n 表及字段的控制权限:拒绝、查看、编辑权限;人力资源数据的权限控制精确到表和每一个字段。不同的用户,可以查看不同的项目内容。n 角色或用户组,方便授权n 大用户功能一般的HR软件,只有系统管理员用户可以进入权限模块进行授权。但对于集团型大客户,用户数过百时,系统管理员的授权工作就会变得繁重。这时,引入大用户功能,大用户可进入权限管理,建立自己分公司内的使用用户并授权。相关表:模块表Sys_Module、 表表Sys_Tables、 字段表Sys_Fields、用户表Sys_User、 功能表Sys_Functions、 组织机构表Sys_Dept、权限表Sys_Rights、 表、字段权限表Sys_RightTables。三、 代码管理同数据重构、权限管理、日志管理一样,“代码维护”也是系统维护模块,它用于对指标代码的维护。指标代码一般分成单级代码、多级代码、多选代码来分别管理,单级代码下只有一级(比如:人员模块中性别字段关联的代码选项:男、女),多级代码下有多级(如:行政区划),它们都是单选;多选代码可以多选(如:兴趣)。相关表:选择项表Sys_LookUp第3章 通用EHR的平台核心组件前面我们讲到了通用EHR软件的平台组成:数据重构、系统表、核心组件(这里,我们称之为HRGrid组件)。平台保证了软件的通用性。拥有了平台,软件功能的扩展变得更容易、更稳定、更易用!当应用数据重构功能,添加完用户需要的信息表和信息项目后,业务模块(比如人员管理、薪资管理)应该能自动地展现这些项目,并可让用户维护这些项目的数据,而不用修改任何程序代码,这样才可做到软件的通用。一、 HRGrid组件界面展现Grid模式查看部门人员列表信息:卡片模式查看某个人员信息:二、 HRGrid组件基本实现方法HRGrid组件从平台库表中获取业务表信息,显示人员业务数据。并提供数据维护的属性和方法。以下是HRGrid基本的方法,供开发者参考。public procedure Open; procedure OpenEditors(Parent: TWinControl; ColumnCount: Integer = 2); function AppendData: Boolean; /追加数据 function InsertData: Boolean;
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号