开发平台之组织架构设计

作者: 架构老A | 来源:发表于2017-04-18 17:24 被阅读3503次

上一篇《开发平台之权限设计

背景

企业应用无论大小,必然有组织架构的功能刚需。小到公司只有10几号人的单一组织,大到几百上千的集团化公司的多组织集团架构,系统应用的设计如何支撑着这种大小规模不同的组织架构呢?

设计而不接实际业务之气,设计的再好仍是空谈。–王小七

需求

1、组织架构除了法人组织架构外,还需要业务型的架构。—多维度组织架构

2、集团发展迅猛,组织架构调整频繁,想看往年某个时间点的组织架构。—组织架构多版本追溯

3、组织架构对业务数据有隔离作用。—组织架构的数据权限

4、某个部门需要领导人的概念。 —组织特权人

5、组织的岗位与系统权限会有所关联。 —岗位权限

6、除了领导人外,可能涵盖了管辖的概念。—组织架构的数据权限

抽象与设计

核心UML

Unit

主要用来存放组织单元。

UnitType

主要用来存放组织单元类型,包含:集团、公司、事业部等。

Dimension和DimensionUnit

组织维度,主要用来区别组织所在的不同维度,不同的树的展现形式。

Position

主要存放组织岗位信息。

User

主要是用户表。

核心逻辑

多维度组织架构

将组织架构的树关系存放在DimensionUnit表中,利用维度(Dimension)+维度组织关系(DimensionUnit)就可以成功构建不同的维度组织架构数。

组织架构多版本追溯

维度组织关系表中存放两个关键字段【组织生效时间】和【组织失效时间】,通过特定的时间范围来检索节点,找到那些节点的【生效时间】且【失效时间】不在这个区间氛围,从而可以获取完整架构树。

数据权限、特权人、岗位权限

组织权限的内容,将移到权限设计来特别讲解。

相关文章

网友评论

  • be3d764f5f1d:太抽象了,Dimension和DimensionUnit还是没有理解明白。
  • 569cb468db11:你好,能否举出各个表的具体设计吗。
    569cb468db11:看起来很抽象,能否把每个表主要的字段,列出来。
  • 58351018ee14:你好,请问 DimensionUnit和UNIT表里各放什么数据,看了文章我的理解是 DimensionUnit存放一个组织架构树,unit表里面存放公司当年的大部门下面的小部门单元 对吗?
    架构老A:对的。

本文标题:开发平台之组织架构设计

本文链接:https://www.haomeiwen.com/subject/sohqzttx.html