開發平臺之組織架構設計
阿新 • • 發佈:2019-02-12
背景
企業應用無論大小,必然有組織架構的功能剛需。小到公司只有10幾號人的單一組織,大到幾百上千的集團化公司的多組織集團架構,系統應用的設計如何支撐著這種大小規模不同的組織架構呢?
設計而不接實際業務之氣,設計的再好仍是空談。
–王小七
需求
1、組織架構除了法人組織架構外,還需要業務型的架構。—多維度組織架構
2、集團發展迅猛,組織架構調整頻繁,想看往年某個時間點的組織架構。—組織架構多版本追溯
3、組織架構對業務資料有隔離作用。—組織架構的資料許可權
4、某個部門需要領導人的概念。 —組織特權人
5、組織的崗位與系統許可權會有所關聯。 —崗位許可權
6、除了領導人外,可能涵蓋了管轄的概念。—組織架構的資料許可權
抽象與設計
核心UML
Unit
主要用來存放組織單元。
UnitType
主要用來存放組織單元型別,包含:集團、公司、事業部等。
Dimension和DimensionUnit
組織維度,主要用來區別組織所在的不同維度,不同的樹的展現形式。
Position
主要存放組織崗位資訊。
User
主要是使用者表。
核心邏輯
多維度組織架構
將組織架構的樹關係存放在DimensionUnit表中,利用維度(Dimension)+維度組織關係(DimensionUnit)就可以成功構建不同的維度組織架構數。
組織架構多版本追溯
維度組織關係表中存放兩個關鍵欄位【組織生效時間】和【組織失效時間】,通過特定的時間範圍來檢索節點,找到那些節點的【生效時間】且【失效時間】不在這個區間氛圍,從而可以獲取完整架構樹。
資料許可權、特權人、崗位許可權
組織許可權的內容,將移到許可權設計來特別講解。
請期待下一篇《企業應用之許可權設計》。