HRMS(人力资源管理系统)SaaS架构设计概要设计实践hotdefans

本篇主将详细的阐述架构设计过程中概要架构设计要点来和大家共同交流,掌握后续如何强化概要架构设计在架构设计中作用,帮助我们快速确认架构的方向及核心大框架。

在阐述具体的概要架构工作方法之前,还请大家先参考我们限定的业务场景:

1、HRMS系统的介绍?(涵盖哪些功能?价值和作用是什么?行业什么情况?)

本篇将围绕4类企业代表来阐述不同规模企业对于HRMS的需求及应用

3、架构师在设计该系统时的职责及具备的核心能力是什么?

概要架构阶段的特点:

满足“架构=组件+交互”的基本定义(所有架构都逃离不了该模式)

对高层组件的“职责”进行笼统界定,并给出高层组件的相互关系

不应涉及接口细节

在讲具体的概要架构设计实践之前,请大家思考以下问题:

不同系统的架构,为什么不同?

架构设计中,应何时确立架构大方向的不同?(功能、质量、约束

架构设计是功能需求驱动的,对吗?

架构设计是用例驱动的,对吗?

实际上架构设计的驱动力:功能+质量+约束

概要架构阶段还是概念视图?

阶段体现先后关系,视图体现并列关系

概要架构阶段根据重大需求、特殊需求、高风险需求形成稳定的高层架构设计成果

概念架构是一个架构设计阶段,必须在细化架构设计阶段之前,针对重大需求,特色需求、高风险需求、形成文档的高层架构设计成果。

重大需求塑造概念架构,这里的重大需求涵盖功能、质量、约束等3类需求的关键内容。

如果只考虑功能需求来设计概念架构,将导致概念架构沦为“理想化的架构”,这个脆弱的架构不久就会面临“大改”的压力,甚至直接导致项目失败。

整体可分为3个阶段:

1、通过鲁棒图:初步设计的目标就是发现职责,运用“职责协作链”原理画鲁棒图

2、高层分割:运用成熟的经验及方法论,结合场景选择合适的架构模式来确定系统的层级关系

3、质疑驱动:考虑非功能性需求来不断驱动概要架构设计过程。

鲁棒图的三种对象:

边界对象对模拟外部环境和未来系统之间的交互进行建模。边界对象负责接收外部输入、处理内部内容的解释、并表达或传递相应的结果。

控制对象对行为进行封装,描述用例中事件流的控制行为。

实体对象对信息进行描述,它往往来自领域概念,和领域模型中的对象有良好的对应关系。

初步设计的目标是“发现职责”,为高层切分奠定基础

初步设计“不是”必须的,但当“待设计系统”对架构师而言并无太多直接经验时,则强烈建议进行初步设计

基于关键功能(而不是对所有功能)、借助鲁棒图(而不是序列图,序列图太细节)进行初步设计

大家看完鲁棒图发现鲁棒图也有实体、控制及边界对象,怎么这么类似web系统时用到的MVC模式,那么我们这里对比下这2个模式的异同点:

通过上面的对比我们发现,鲁棒图能够更全面的体现架构设计过程中涉及的内容,单独的架构模式更侧重其中的部分架构层次,比如逻辑架构采取MVC的模式。

1)、直接分层

2)、先划分为子系统,再针对每个子系统分层

针对高层分割,我们可以采取分阶段的模式来进行落地实践:

1、直接划分层次:直接把系统划分为多个层次,梳理清晰各层次间的关联关系

2、分为2个阶段:先划分为多个子系统,然后再梳理子系统的层次,梳理清晰没格子系统的层次关系

2、物理层:分布部署在不同机器上

3、通用性分层:通用性越多,所处层次越靠下

多层Layer架构模式

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

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

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

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

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

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

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

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

A、性能的提升

B、可伸缩性

C、容错性

D、安全性

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2)、系统边界

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

i、管理员的系统边界

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

ii、HR的系统边界

iii、员工的系统边界

对于员工来说,HRMS系统中只有部分模块式可以操作使用的,诸如考勤、报销、绩效、查看及维护个人信息等,其他的信息都是由HR填写后用户可以查看,所以从操作便捷来看,员工与HR在业务系统入口上可以是统一入口,通过权限来限制访问边界即可。

iv、公司管理者的边界

3)、数据对象

i、基础数据:系统包含的元数据、服务管理、日志、模块、基础配置、数据字典、系统管理等基础数据管理

ii、业务数据:涵盖机构、员工、HRMS系统业务及流程数据、外部第三方业务联动数据等

B、划分高层子系统

我们基于上面鲁棒图分析后的核心需求,我们给出系统的宏观的架构轮廓,这里仅考虑用户角色及职责链、从而形成上述的高层分割。

C、质量需求影响架构的基本原理:进一步质疑

1)、考虑关键质量属性中的持续可用性及可伸缩性,得出概要架构的中间成果:

2)、考虑关键质量属性中的互操作性,进一步优化概要架构的中间成果:

3)、考虑高性能,除了高负载,还需要考虑静态化、缓存等提升系统性能:

上面基本形成了一个概要架构的雏形,不过这还不够,我们还有一项关键的内容没有分析,那就是系统约束,我们需要将之前明确的关键约束进行分析拆解,转化为功能或质量要求:

D、分析约束影响架构的基本原理:直接制约、转化为功能或质量需求

分析上述表格的内容,结合上几轮分析后给出的概要架构进行验证,看看这些约束会不会影响该架构内容,然后进行优化调整:

i、业务环境及约束:目前来看,上述概要架构可以支持,不会对于当前的概要架构造成影响。

ii、使用环境约束:之前拟定的PC、App端访问模式已考虑了上述的场景,关于多语言在应用层细节设计时考虑即可。

iii、开发环境约束:概要架构还不涉及细节内容,当前的约束也不会对于架构产生较大影响

iv、技术环境约束:无影响,属于细节层面

E、基于上面几部走,我们得到了初步的概要架构,基本上符合功能、质量及约束的各类要求及场景,得出以下概要架构设计图。

基于前面对于概要架构设计推演过程的实践,我们总结概要架构过程的3个核心要点内容如下:

1、首先,需要分析找到HRMS系统中的关键功能、质量及约束

2、其次,利用鲁棒图找到系统的用户、关键功能及职责链,形成初步的子系统的拆分、过程中借助高层分割形成分层结构,不断通过质疑+解决方案的模式,应对及完善质量及约束的要求。

3、最后,通过1、2步实践过程,最终推导出初步的概要架构,为下一步的细化架构提供基础。

希望大家通过上面示例的展示,为大家后续在系统架构设计实践的过程中提供一些帮助。

THE END
1.人力资源管理六大模块划的实质是根据公司经营方针,通过确定未来公司人力资源管理目标来实现公司 的即定目标。 因此,我们将人力资源规划分为战略计划和战术计划两个方面。 一、 人力资源的战略计划 战略计划主要是根据公司内部的经营方向和经营目标,以及公司外部的社会和法 律环境对人力资源的影响,来制定出一套跨年度计划。同时还要注意战略...http://www.chinahrd.net/blog/264/1011645/263502.html
2.百年教育职业培训中心管理信息系统章节资料考试资料1、【单选题】企业组织层级中三个主要的层次是() A、高层管理、操作层管理和服务工人 B、高层管理、中层管理和操作层管理 C、高层管理、操作层管理和信息系统 D、高层管理、中层管理和服务工人 2、【单选题】为企业设计新产品或服务的工程师、科学家或设计师属于企业层级的() ...https://bnjyedu.cn/pc/news_xx-5423-.html
3.第二部分人力资源管理第四章 战略性人力资源管理 一、战略的三个层次及其相互关系 二、人力资源战略与不同组织战略的匹配 本章回顾 第五章 人力资源规划 一、德尔菲法 德尔菲法的特点: 1、吸收和综合了很多专家的意见,避免了个人预测的片面性 2、不采用集体讨论的方式,而是匿名进行,可以使专家独立的作出判断,避免了从众行为,避免了在...https://www.jianshu.com/p/dffe8a842962
4.个人学习成长大脑在处理事情时,通常会分六个层次,简单的六个...我们的大脑在处理事情时,通常会分六个层次,有人用很简单的六个词来解释:环境、行为、能力、信念、身份、精神。 一、环境层——外部归因 门店生意惨淡,他们会抱怨马云和刘强东太可恶,把线上线下搞得一团糟,店里员工也太可恶,天天不干活消极怠工混日子,他们的思维和情绪全被环境左右,抱怨是他们的典型特征。 https://www.meipian.cn/4u29laqf
5.会计与审计类:管理层认定的三个层次中公事业单位招聘考试网助力各位考生顺利通过事业单位招聘考试!小编为大家带来的是会计与审计类《管理层认定的三个层次》。 ·与各类交易和事项相关的认定: 1)发生:记录的交易和事项已发生且与被审计单位有关。 2)完整性:所有应当记录的交易和事情均已记录。 https://www.zgsydw.com/kaoshitiku/20180605/407305_1.html
1.课程学习⑶基层管理人员 亦称第一线管理人员,也就是组织中处于最低层次的管理者,他们所管辖的仅仅是作业人员而不涉及其他管理者。 主要职责:给下属作业人员分派具体工作任务,直接指挥和监督现场作业活动,保证各项任务的有效完成。 第一线管理人员所关心的主要是具体的战术性工作,而最高管理层人员所关心的则主要是抽象的战略性...http://wljy.whut.edu.cn/coursefiles/scorm/GLXYLZK/1_4.html
2.考研管理学基础问答题及答案注:计划通常被称为管理的主要职能,因为它构成了所有其他职能的基础。计划工作包含了两个重要的要素:计划和目标。 9.区分目标和计划。 答:目标是个体、群体和整个组织期望的产出。目标为各种管理决策和行动提供了方向以及衡量标准。计划是一种文件,它规定了怎么实现目标以及通常描述了资源的分配、进度以及其他实现目标的...https://m.oh100.com/kaoshi/yanjiusheng/332995.html
3.项目管理PMP备考宝典第一章《引论》51CTO博客新的考试大纲分为三个层次:第一,领域;第二,任务;第三,驱动因素。站在项目经理的视角,项目管理涉及三个领域,共计35个任务,每项任务又包含若干驱动因素。 驱动因素只是完成某项任务时可能采取的几个实例措施,并非穷尽了所有的情况。我们在实践中应该根据项目的业务环境、行业特点和现实需要来决定如何灵活、有效地完成...https://blog.51cto.com/u_15646271/7063049
4.2017电大管理学基础1.1.8管理机制主要包括运行机制、动力机制、约束机制等三个子机制。 1.1.9按存在于社会组织的内外范围划分,管理环境可分为内部环境和外部环境。 1.1.10组织的外部环境还可以进一步划分为一般环境和任务环境。 1.1.11中基层管理者的十大管理实务:⑴确定目标;⑵制定计划;⑶建立机构;⑷配备人员;⑸指挥;⑹激励;⑺沟通;...http://edu.yjbys.com/xiangmuguanli/158427.html
5....题目精编国家开放大学电大《管理信息系统》形考网络课作业1B.管理信息系统可以代替人进行决策 C.管理科学是管理信息系统的重要学科基础之一 D.管理信息系统是一个“人一机”系统 题目3 3.—般情况下 可将管理分为三个层次 即高层、 中层和基层 其中高层管理属于 选择一项 A.战术级管理 B.战略级管理 C.控制层管理 ...https://blog.csdn.net/weixin_34639033/article/details/117096488
6.2021年10月自考管理系统中计算机应用00051模拟题自考A .职能结构 B .管理阶段结构 C .层次结构 D .全面综合结构 25.先将管理信息系统划分为若干层次, 然后在每个层次上建立若干功能子系统的结构形式,称为 A .全面综合结构 B .层次结构 C .功能结构 D .管理阶段结构 26.第一个完整的用于制造业的管理信息系统是 ...https://www.educity.cn/zikao/305769.html
7.培训专员年终个人工作总结(通用18篇)三、分层次分等级开展全员各项培训 1、注重安全培训,夯实公司安全生产基础。 20xx年,公司认真贯彻落实国务院《关于进一步加强安全培训工作的决定》要求,加强对从业人员的安全培训,把安全生产意识、安全知识、安全技能、安全管理水平作为安全培训的主要内容。同时,积极吸取“”火灾事故教训,在员工及客户中间开展以“学消防,...https://www.jy135.com/peixunzongjie/1068338.html
8.战略管理的三个层次战略管理的三个层次是总体层战略、业务层战略、职能层战略。 1.总体层战略:它主要强调两个方面的问题:一是“应该做什么业务”,即从公司全局出发,根据外部环境的变化及企业的内部条件,确定企业的使命与任务、产品与市场领域;二是“怎样管理这些业务”,即在企业不同的战略事业单位之间如何分配资源以及采取何种成长方向...https://www.dongao.com/zjjs/zy/201910161175105.shtml
9.培训报告(精选21篇)例如,新聘员工岗前培训,需要员工了解厂纪厂规、公司质量方针及质量目标、操作规程等,因此,对培训的考核可以采取闭卷 考试 和现场实际操作并用的方法。三是对以下培训进行第三、四层次的评估:耗时三个月以上的培训项目;投入较大的项目;解决顾客投诉方面的培训;培训效果对组织很关键的项目;组织管理层十分关注的项目。https://www.unjs.com/baogao/6686351.html
10.心理学基础知识与应用第五层次是自我实现的需要。这是最高一层的精神需要,包括个人成长,发挥个人潜能,实现个人理想的需要。 以上五种层次的需要可以大致分为两大类:前三个层次为基本需要,这些需要的满足主要依靠外部条件或因素;后两个层次为高级需要,这两个层次的需要的满足主要靠内在因素。马斯洛的理论假设人的需要是从最底层的生理需要...https://www.hqwx.com/web_news/html/2012-9/201209040327251173.html