背景

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

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

需求

1、组织架构除了法人组织架构外,还需要业务型的架构。—多维度组织架构
2、集团发展迅猛,组织架构调整频繁,想看往年某个时间点的组织架构。—组织架构多版本追溯
3、组织架构对业务数据有隔离作用。—组织架构的数据权限
4、某个部门需要领导人的概念。 —组织特权人
5、组织的岗位与系统权限会有所关联。 —岗位权限
6、除了领导人外,可能涵盖了管辖的概念。—组织架构的数据权限

抽象与设计

核心UML

Unit

主要用来存放组织单元。

UnitType

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

Dimension和DimensionUnit

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

Position

主要存放组织岗位信息。

User

主要是用户表。

核心逻辑

多维度组织架构

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

组织架构多版本追溯

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

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

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

请期待下一篇《企业应用之权限设计》。

开发平台之组织架构设计相关推荐

  1. Java生鲜电商平台-SpringCloud微服务开发中的数据架构设计实战精讲

    Java生鲜电商平台-SpringCloud微服务开发中的数据架构设计实战精讲 Java生鲜电商平台:   微服务是当前非常流行的技术框架,通过服务的小型化.原子化以及分布式架构的弹性伸缩和高可用性, ...

  2. C2C平台的组织架构

    C2C平台的组织架构也就是整个C2C平台的组成,一个大的C2C平台的运行离不开很多小的部门相互协调合作,C2C平台的整个运行包括大到上级对货源的调配,小到每一个客服对客户的解答,其中任何一个环节都是缺 ...

  3. 基于Hadoop的大数据平台实施——整体架构设计

    大数据的热度在持续的升温,继云计算之后大数据成为又一大众所追捧的新星.我们暂不去讨论大数据到底是否适用于您的公司或组织,至少在互联网上已经被吹嘘成无所不能的超级战舰.好像一夜之间我们就从互联网时代跳跃 ...

  4. 从一线经理到全球副总裁,我的敏捷组织架构设计原则

    作者介绍 常红平,IT职场老兵,在做过除用户体验设计师外的所有软件研发团队中的角色后,于10年前开始专注于管理.爱技术.爱敏捷.爱读书.爱分享.现在IBM CIO中国实验室作为IBM全球软件和云服务销 ...

  5. SAP SD基础知识之组织架构设计-Shipping Point篇

    SAP SD基础知识之组织架构设计-Shipping Point篇 今天博主项目上不太忙,关键用户在做单元测试,那就再写一篇吧,作为组织架构设计的完结篇. Shipping Point,即装运点,同信 ...

  6. (转)微服务架构 互联网保险O2O平台微服务架构设计

    http://www.cnblogs.com/Leo_wl/p/5049722.html 微服务架构 互联网保险O2O平台微服务架构设计 关于架构,笔者认为并不是越复杂越好,而是相反,简单就是硬道理也 ...

  7. 微服务开发中的数据架构设计 1

    GitChat 作者:陈伟荣 原文:微服务开发中的数据架构设计 关注微信公众号:「GitChat 技术杂谈」 一本正经的讲技术 [不要错过文末彩蛋] 前言 微服务是当前非常流行的技术框架,通过服务的小 ...

  8. 一个电子发票开票平台的系统架构设计(02)

    这次主要从网络拓扑结构上讲一下平台是怎么运作的.先看图片 一般来说大家都会选择一家云服务商作为主要使用环境,另外一家作为备用环境的,但由于客户的特殊性所以先不要纠结这里的不同服务商. 简单说明一下: ...

  9. 【SDCC讲师专访】专访架构师薛珂:弹性调度平台Saturn的架构设计

    编者按:每个人的成长曲线不同,有的人在研究生之时就已有相当知名的产品和框架,从而在接下来的工作中一路顺风顺水,有的人却需要经历一个又一个的坑才能成长,不管是前者的聪明高效,还是后者的笨鸟先飞,他们都是 ...

最新文章

  1. python程序控制电脑开机_Python3.4实现远程控制电脑开关机
  2. 指针常量和常量指针简单区分理解
  3. boost::mpl模块实现identity相关的测试程序
  4. javascript基础:函数参数与闭包问题
  5. 210511阶段四 切片 迭代 生成器
  6. 使用JetBrains dotMemory 4.0分析内存
  7. iOS开发之SceneKit框架--实战地月系统围绕太阳旋转
  8. NYOJ11 - 奇偶数分离
  9. ERROR: cuvid requested, but not all dependencies are satisfied: ffnvcodec
  10. 陈弘:7月24日阿里云上海峰会存储大神
  11. 深度学习非自回归语音合成与自回归语音合成对比
  12. Windows环境下搭建SQL注入环境(sqli-labs)
  13. asus pc server + geforce titan xp + centos 7
  14. 公众平台 python_轻松实现python搭建微信公众平台
  15. 南大软院大神养成计划--CSS网页布局
  16. 中国市场杂志社中国市场编辑部2022年第32期目录
  17. latex 论文算法编辑
  18. 南农计算机考研真题,2021南京农业大学考研历年真题
  19. python的4种数据结构
  20. JSON解析:JSON对象还能这样???

热门文章

  1. 不能升级鸿蒙系统还可以用吗,华为推出鸿蒙系统后,鸿蒙系统在原android系统上是选择升级还是强制升级...
  2. 强制升级和非强制升级
  3. Python模块、包与面向对象综合案例
  4. Linux常用命令 -- lsblk(简单易学)
  5. 感染了Arp欺骗病毒(木马)
  6. Codeforces Round #775 (Div. 2) E. Tyler and Strings
  7. 浦东创变者 | 查湃智能付斌做水下智能领域的乘风破浪者
  8. Linux#Ubuntu 的蓝牙连接 不会激活GUI响应
  9. QQ密码输入框(防键盘钩子)原理分析
  10. 1177_SICP学习笔记_嵌套映射