系統建設的脊柱:表對象建模
隨著不斷深入的拆解,從產品經理的設計方法到系統的拆解,每一部分都有值得探索的地方。本文將對系統建設的脊柱:表對象建模進行拆解分析,希望對你有所啟發。
隨著不斷深入的拆解,從產品經理的設計方法,到經典系統的拆解,到零代碼平臺的構建,一直在走系統建設方法路線。如今再看系統,希望打碎打散系統,從系統各個組成部分來拆碎重組,從系統的遠近、放大視圖多角度來審視系統。
一、MVC的俯瞰
系統類似一座大山,我們從太空逐漸落到系統山上來的角度查看系統。系統首先展示給我們三個部分:展示頁面、接口、數據庫表。
系統關鍵組成
展示頁面,是用戶最有感知的部分,用戶可以操作并獲取反饋;主要實現頁面展現,是View的核心價值。
接口,是隨用戶操作實現數據更新的手段,并支持用戶操作的提交;主要實現數據的交互,是Control的核心價值。
數據庫表,是系統數據存儲的具體承載,落地為分庫分表存儲,包括基礎數據、業務數據(年度銷售計劃、生產計劃)、操作執行數據、統計數據等;主要實現數據的存儲,是Model的核心價值。
隨著高度下降,系統展示給我們一個全貌,讓三個大部展示更為細致。系統最直觀的頁面部分,頁面一般為左右結構,左邊為菜單,右邊為具體的頁面內容。由頁面組件組成,具體可表現為新增頁、編輯頁、列表頁、詳情頁、操作處理頁。在低代碼工具中,由“表單”搭建實現。
應用軟件展示效果
如上圖,展示了一個常見信息化系統的主體頁面,左側菜單包含:字典數據、基礎數據、業務填報、數據統計、數據分析,支持基礎數據的管理,完成業務數據的收集處理,達成數據統計、分析,形成完整的信息化業務循環。下圖為設備管理與巡檢的系統截圖,展示“設備保修單”的填寫內容。
系統頁面交互
在上面的交互中,“設備保修單”提交內容,需要通過接口保存到數據庫中。如下圖所示,展示了設備檢查記錄的增刪改查接口,也是所有操作具體記錄的關鍵控制器。
接口(系統內部)
提交的方式是接口,提交的數據存儲在數據庫表中。
數據庫表
一次提交的數據存在一張表,還是多張表,極大的影響接口實現的難度、數據存儲的效率;也極大影響相關人員理解的難易,模型建設是最關鍵的承接。
MVC新解
二、表對象建模
如何有效進行“模型”建設?模型,也就是我們的對象,是我們需要操作、管理的具體事務的系統抽象。這里可使用面向對象的建模思想。
以線索創建為例,線索創建所有業務邏輯拆解到場景、流程、用戶用例、功能點、具體規則或步驟中表達出來。
收集線索場景拆解
系統要實現“線索創建”相關的業務功能,就需要對應去實現功能點,包含:創建線索(聯系方式、線索重復、歸屬人進行校驗,并生成線索記錄)、標記線索、通知線索、活動記錄。如上分析,要更好的實現功能,更核心的是實現線索相關的對象建模。
創建線索領域
依據“線索創建”的業務分析,構建對應的領域。當前建立兩個領域:線索、活動領域;線索與活動的關系主要是,線索是在某一個活動中產生的,領域是相對獨立而不應該是包含關系。當前支持對線索進行標記,并支持線索通知相關人員,屬于線索領域內,則在“線索”領域中構建“標記”、“通知”子領域。
領域劃分的關鍵在于領域邊界的確定,劃分合理的領域將更好支持系統的擴展與穩定。下面通過問題、需求、缺陷的相互轉換來細致分析邊界的重要性。現實業務中,我們將不符合現實的情況定義為問題;將不符合現狀,有期許的解決目標的情況定義為需求;將期許的解決目標和實際的實現不符的情況定義為缺陷。
問題、需求、缺陷的相互轉換
業務意義不一樣,其處理過程不一樣。僅從 問題、需求、缺陷 信息實體本身來講,差異并不是很大。都需要記錄標題、狀態、說明、提出人、提出時間、處理人等信息;但是需求需要經歷設計、評審、排期、實現、測試等階段,會比問題、缺陷多階段信息;為提高缺陷的有效處理,增加缺陷的重開次數,防止推諉以及無效修改。
問題、需求、缺陷的屬性設計
問題狀態及操作
問題處理的關鍵在于符合現狀,不管是做了一件事,抑或定了一個流程,亦或是各方同意擱置爭議,那么不符合現狀的情況被清理掉,問題就得到了解決。
需求狀態及操作
需求的關鍵在于梳理清楚要怎么解決這個情況,并通過產品的方式來實現。
缺陷狀態及操作
缺陷的關鍵在于解決目標和具體實現之間的差異,一般是調整實現方案,處理各種異常情況,最終符合預期。在明確了問題、需求、缺陷的領域后,可通過表對象建模,完成模型的構建。
三、工廠建模
一個制造業工廠的完整運轉需要以下四個大環節:工廠建設、組織組建、物料轉換、生產管理。
工廠建設主要完成工廠從荒山野地變成具備生產條件的過程管理,需要進行廠房建設、產線搭建、設備安裝與調試。在軟件系統中也需要恢復工廠基礎信息,為后續的生產執行提供基礎條件。系統建設中,需要支持工廠管理,包含工廠的基礎信息如廠址、位置、法人等;需要支持產線/操組間管理,流程式生成需要完成產線建設,散點式生產需要完成操作間建設,這也需要依據現實情況來落地;需要支持設備管理,如沖壓機、鑄造機、熱熔機等,在后續的管理中用于問題追蹤、設備保養等。
工廠設備流
基于工廠建設,模型設計如下,工廠領域包含車間領域,和設備領域部分重疊。
工廠模型
組織建設主要完成工廠的人事架構錄入,實現所有工廠用戶進入系統。包含部門建設以及人員管理。
人員權限管理
基于系統建設原則,增加組織管理,以支持分子公司形式;增加角色管理,支持權限設置,提高權限設置便捷度。
人員管理模型
組織和人員的領域存在重疊,部門屬于組織的子領域,角色屬于人員的子領域。物料轉換主要實現物料的跟蹤,實現從生產原材料到產品的跟蹤,管理物料和產品之間的比例關系,可支持物料損耗計算。
物料流
產品和物料分屬獨立的領域,通過BOM串聯起來。產品工藝獨屬于產品,是產品的子領域。工藝獨立成為子領域,是為支持工藝本身的管理,包含工藝的生產條件、工藝的技能需求等。
物料模型
生產管理主要實現生產任務的執行管理,從產品訂單生成生產計劃,由生產計劃具體落實為生產任務,由公司整體的生產任務落地到產線、車間的作業計劃。
生產管理
各模塊相對獨立又順序關聯。
生產模型
以上完成工廠建模的基礎部分,但現實業務的復雜需要擴展更多領域進行支持,如設備的子領域、人員的子領域。
設備領域
設備領域中,可支持臺賬、維修、保養、點檢;人員領域可支持:出勤、技能、薪酬、績效、培訓。
人員領域
基于領域,可以擴展各個領域的屬性創建,完成表對象建模。表對象建模,更好的支持數據庫表的創建,更好的支持數據庫接口的實現,更好的明確各個系統模塊之間的關系。表對象建模由業務拆分,更貼切的支持業務;表對象建模便捷支持單個領域接口生成,且更為合理支持多表聯合查詢,更好生成接口;表對象建模支持為所有單個領域提供新建、編輯、列表、詳情、操作多個視圖,更為便捷和高效。
專欄作家
壹叁零壹,公眾號:壹叁零壹,人人都是產品經理專欄作家。攀山零代碼產品的行者,產品思維的商販。
本文原創發布于人人都是產品經理,未經許可,禁止轉載
題圖來自 Unsplash,基于 CC0 協議
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。
- 目前還沒評論,等你發揮!