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