设为首页 加入收藏

TOP

HRMS(人力资源管理系统)-SaaS架构设计-概要设计实践(二)
2019-09-17 17:45:03 】 浏览:64
Tags:HRMS 人力资源 管理系统 -SaaS 架构 设计 概要 实践
体的服务器上或者,物理位置。

image

        多层Layer架构模式

       诸如我们常见的三层架构模式,三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。区分层次的目的即为了“高内聚低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层。

逻辑层次的架构能帮助我们解决逻辑耦合,达到灵活配置,迁移。 一个良好的逻辑分层可以带来:

A、逻辑组织代码/代码逻辑的清晰度

B、易于维护(可维护性)

C、代码更好的重用(可重用性)

D、更好的团队开发体验(开发过程支持)

 

2.2.2、Tier:物理层

Tier:物理层,各分层分布部署在不同机器上,Tier这指代码运行部署的具体位置,是一个物理层次上的划为,Tier就是指逻辑层Layer具体的运行位置。所以逻辑层可以部署或者迁移在不同物理层,一个物理层可以部署运行多个逻辑层。

image

       Tier指代码运行的位置,多个Layer可以运行在同一个Tier上的,不同的Layer也可以运行在不同的Tier上,当然,前提是应用程序本身支持这种架构。以J2EE和.NET平台为例,大多数时候,不同的Layer之间都是直接通过DLL或者JAR包引用来完成调用的(例如:业务逻辑层需要引用数据访问层),这样部署的时候,也只能将多个Layer同时部署在一台服务器上。相反,不同的Layer之间如果是通过RPC的方式来实现通信调用的,部署的时候,便可以将不同的Layer部署在不同的服务器上面,这也是很常见的解耦设计。

一个良好的物理架构可以带来:

A、性能的提升

B、可伸缩性

C、容错性

D、安全性

2.2.3、通用性分层

采取通用性分层模式,原则是通用性越多,所处层次越靠下

image

并且各层的调用关系是自上而下的,越往下通用性越高。

2.3、质疑驱动,不断完善系统架构(质量属性及约束决定了架构的演变)

基于系统中的重大功能来塑造概念架构的高层框架,过程中需要通过质量及约束等非功能性需求不断质疑初步的概念架构,逐步让这个概念架构完善,能够满足及支撑各类质量及约束的要求。具体的操作方法我们可以采取之前篇幅《HRMS(人力资源管理系统)-从单机应用到SaaS应用-架构分析(功能性、非功能性、关键约束)-上篇》中介绍的 “目标-场景-决策表” 来实现。

Ø通过“目标-场景-决策表”分析非功能需求:

image

通过分析关键的质量及约束内容,给出具体的场景及应对策略,梳理出清晰的决策表,在概念架构阶段融合决策表中给出的方案,最终给出初步的概念架构设计。

 

三、基于前面分析的HRMS系统?我们如何下手开始?

结合前面讲的需求梳理的要点内容,我们结合HRMS系统来进行应用实践,逐步形成概要架构设计。

A、基于RelationRose 来画出鲁棒图、确定系统的边界及关键内容

1)、分析系统中的参与者及应用功能边界:

image

基于上面我们能够发现我们的核心功能点:

组织管理:主要实现对公司组织结构及其变更的管理;对职位信息及职位间工作关系的管理,根据职位的空缺进行人员配备;按照组织结构进行人力规划、并对人事成本进行计算和管理,支持生成机构编制表、组织结构图等

人事档案:主要实现对员工从试用、转正直至解聘或退休整个过程中各类信息的管理,人员信息的变动管理,提供多种形式、多种角度的查询、统计分析手段

劳动合同:提供对员工劳动合同的签订、变更、解除、续订、劳动争议、经济补偿的管理。可根据需要设定试用期、合同到期的自动提示

招聘管理:实现从计划招聘岗位、发布招聘信息、采集应聘者简历,按岗位任职资格遴选人员,管理面试结果到通知试用的全过程管理

薪酬福利:工资管理系统适用于各类企业、行政、事业及科研单位,直接集成考勤、绩效考核等数据,主要提供工资核算、工资发放、经费计提、统计分析等功能。支持工资的多次或分次发放;支持代扣税或代缴税;工资发放支持银行代发,提供代发数据的输出功能,同时也支持现金发放,提供分钱清单功能。经费计提的内容和计提的比率可以进行设置;福利管理系统提供员工的各项福利基金的提取和管理功能。主要包括定义基金类型、设置基金提取的条件,进行基金的日常管理,并提供相应的统计分析,基金的日常管理包括基金定期提取、基金的补缴、转入转出等。此外,提供向相关管理机关报送相关报表的功能

行政管理:主要提供对员工出勤情况的管理,帮助企业完善作业制度。主要包括各种假期的设置、班别的设置、相关考勤项目的设置,以及调班、加班、公出、请假的管理、迟到早退的统计、出勤情况的统计等。提供与各类考勤机系统的接口,并为薪资管理系统提供相关数据。支持通知公告分发,支持会议室/车辆等资源预定并同步日历,支持调研和投票问卷,支持活动管理的报名/签到/统计等,支持人员的奖惩管理并与人事档案关联,支持活动的抽奖管理等

培训管理:根据岗位设置及绩效考核结果,确定必要的培训需求;为员工职业生涯发展制定培训计划;对培训的目标、课程内容、授课教师、时间、地点、设备、预算等进行管理,对培训人员、培训结果、培训费用进行管理

绩效管理:通过绩效考核可以评价人员配置和培训的效果、对员工进行奖惩激励、为人事决策提供依据。根据不同职位在知识、技能、能力、业绩等方面的要求,系统提供多种考核方法、标准,允许自由设置考核项目,对员工的特征、行为、工作结果等进行定性和定量的考评

配置管理:系统中为了增强系统的兼容性及灵活性,增加了诸多系统开关及配置,为后续满足各类场景提供支撑。其中需要有配置项的动态分类、动态增加、修改等功能

权限管理: 通用权限管理系统,支撑组织、员工、角色、菜单、按钮、数据等涵盖功能及数据全面的权限管理功能

流程管理:提供工作流引擎服务,支持自定义表单及流程,全面支撑HRMS系统中的审批流。

人力资源规划分析:提供全方位的统计分析功能,满足企业人力资源管理及规划,为后续的经营决策提供数据依据。

2)、系统边界

基于上述核心功能点,我们可以梳理出系统的边界,包含如下几个方面:

image

i、管理员的系统边界

       由于管理员的角色定位已经做了限定,所以他需要有专门的运维管理后台,这个后台提供的功能和业务操作人员的后台功能和界面是完全不同的,所以需要单独的入口,其中的功能模块也是有区别的。所以我们可以得出管理员使用系统时的接入方式和边界。

ii、HR的系统边界

       HR的角色承担业务管理的相关职责,诸如HR模块中的审批环节,他们既有业务发起的操作又有审批环节的操作,所以相对来说HR角色的使用边界会更广泛,相比

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇pyhton 面向对象之 小明左右手换牌 下一篇IOC的理解,整合AOP,解耦对Service..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目