系統(tǒng)建設(shè)的脊柱:表對(duì)象建模

0 評(píng)論 2883 瀏覽 8 收藏 15 分鐘

隨著不斷深入的拆解,從產(chǎn)品經(jīng)理的設(shè)計(jì)方法到系統(tǒng)的拆解,每一部分都有值得探索的地方。本文將對(duì)系統(tǒng)建設(shè)的脊柱:表對(duì)象建模進(jìn)行拆解分析,希望對(duì)你有所啟發(fā)。

隨著不斷深入的拆解,從產(chǎn)品經(jīng)理的設(shè)計(jì)方法,到經(jīng)典系統(tǒng)的拆解,到零代碼平臺(tái)的構(gòu)建,一直在走系統(tǒng)建設(shè)方法路線。如今再看系統(tǒng),希望打碎打散系統(tǒng),從系統(tǒng)各個(gè)組成部分來(lái)拆碎重組,從系統(tǒng)的遠(yuǎn)近、放大視圖多角度來(lái)審視系統(tǒng)。

一、MVC的俯瞰

系統(tǒng)類似一座大山,我們從太空逐漸落到系統(tǒng)山上來(lái)的角度查看系統(tǒng)。系統(tǒng)首先展示給我們?nèi)齻€(gè)部分:展示頁(yè)面、接口、數(shù)據(jù)庫(kù)表。

系統(tǒng)關(guān)鍵組成

展示頁(yè)面,是用戶最有感知的部分,用戶可以操作并獲取反饋;主要實(shí)現(xiàn)頁(yè)面展現(xiàn),是View的核心價(jià)值。

接口,是隨用戶操作實(shí)現(xiàn)數(shù)據(jù)更新的手段,并支持用戶操作的提交;主要實(shí)現(xiàn)數(shù)據(jù)的交互,是Control的核心價(jià)值。

數(shù)據(jù)庫(kù)表,是系統(tǒng)數(shù)據(jù)存儲(chǔ)的具體承載,落地為分庫(kù)分表存儲(chǔ),包括基礎(chǔ)數(shù)據(jù)、業(yè)務(wù)數(shù)據(jù)(年度銷售計(jì)劃、生產(chǎn)計(jì)劃)、操作執(zhí)行數(shù)據(jù)、統(tǒng)計(jì)數(shù)據(jù)等;主要實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ),是Model的核心價(jià)值。

隨著高度下降,系統(tǒng)展示給我們一個(gè)全貌,讓三個(gè)大部展示更為細(xì)致。系統(tǒng)最直觀的頁(yè)面部分,頁(yè)面一般為左右結(jié)構(gòu),左邊為菜單,右邊為具體的頁(yè)面內(nèi)容。由頁(yè)面組件組成,具體可表現(xiàn)為新增頁(yè)、編輯頁(yè)、列表頁(yè)、詳情頁(yè)、操作處理頁(yè)。在低代碼工具中,由“表單”搭建實(shí)現(xiàn)。

應(yīng)用軟件展示效果

如上圖,展示了一個(gè)常見信息化系統(tǒng)的主體頁(yè)面,左側(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)頁(yè)面交互

在上面的交互中,“設(shè)備保修單”提交內(nèi)容,需要通過(guò)接口保存到數(shù)據(jù)庫(kù)中。如下圖所示,展示了設(shè)備檢查記錄的增刪改查接口,也是所有操作具體記錄的關(guān)鍵控制器。

接口(系統(tǒng)內(nèi)部)

提交的方式是接口,提交的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)表中。

數(shù)據(jù)庫(kù)表

一次提交的數(shù)據(jù)存在一張表,還是多張表,極大的影響接口實(shí)現(xiàn)的難度、數(shù)據(jù)存儲(chǔ)的效率;也極大影響相關(guān)人員理解的難易,模型建設(shè)是最關(guān)鍵的承接。

MVC新解

二、表對(duì)象建模

如何有效進(jìn)行“模型”建設(shè)?模型,也就是我們的對(duì)象,是我們需要操作、管理的具體事務(wù)的系統(tǒng)抽象。這里可使用面向?qū)ο蟮慕K枷搿?/p>

以線索創(chuàng)建為例,線索創(chuàng)建所有業(yè)務(wù)邏輯拆解到場(chǎng)景、流程、用戶用例、功能點(diǎn)、具體規(guī)則或步驟中表達(dá)出來(lái)。

收集線索場(chǎng)景拆解

系統(tǒng)要實(shí)現(xiàn)“線索創(chuàng)建”相關(guān)的業(yè)務(wù)功能,就需要對(duì)應(yīng)去實(shí)現(xiàn)功能點(diǎn),包含:創(chuàng)建線索(聯(lián)系方式、線索重復(fù)、歸屬人進(jìn)行校驗(yàn),并生成線索記錄)、標(biāo)記線索、通知線索、活動(dòng)記錄。如上分析,要更好的實(shí)現(xiàn)功能,更核心的是實(shí)現(xiàn)線索相關(guān)的對(duì)象建模。

創(chuàng)建線索領(lǐng)域

依據(jù)“線索創(chuàng)建”的業(yè)務(wù)分析,構(gòu)建對(duì)應(yīng)的領(lǐng)域。當(dāng)前建立兩個(gè)領(lǐng)域:線索、活動(dòng)領(lǐng)域;線索與活動(dòng)的關(guān)系主要是,線索是在某一個(gè)活動(dòng)中產(chǎn)生的,領(lǐng)域是相對(duì)獨(dú)立而不應(yīng)該是包含關(guān)系。當(dāng)前支持對(duì)線索進(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)定。下面通過(guò)問(wèn)題、需求、缺陷的相互轉(zhuǎn)換來(lái)細(xì)致分析邊界的重要性?,F(xiàn)實(shí)業(yè)務(wù)中,我們將不符合現(xiàn)實(shí)的情況定義為問(wèn)題;將不符合現(xiàn)狀,有期許的解決目標(biāo)的情況定義為需求;將期許的解決目標(biāo)和實(shí)際的實(shí)現(xiàn)不符的情況定義為缺陷。

問(wèn)題、需求、缺陷的相互轉(zhuǎn)換

業(yè)務(wù)意義不一樣,其處理過(guò)程不一樣。僅從 問(wèn)題、需求、缺陷 信息實(shí)體本身來(lái)講,差異并不是很大。都需要記錄標(biāo)題、狀態(tài)、說(shuō)明、提出人、提出時(shí)間、處理人等信息;但是需求需要經(jīng)歷設(shè)計(jì)、評(píng)審、排期、實(shí)現(xiàn)、測(cè)試等階段,會(huì)比問(wèn)題、缺陷多階段信息;為提高缺陷的有效處理,增加缺陷的重開次數(shù),防止推諉以及無(wú)效修改。

問(wèn)題、需求、缺陷的屬性設(shè)計(jì)

問(wèn)題狀態(tài)及操作

問(wèn)題處理的關(guān)鍵在于符合現(xiàn)狀,不管是做了一件事,抑或定了一個(gè)流程,亦或是各方同意擱置爭(zhēng)議,那么不符合現(xiàn)狀的情況被清理掉,問(wèn)題就得到了解決。

需求狀態(tài)及操作

需求的關(guān)鍵在于梳理清楚要怎么解決這個(gè)情況,并通過(guò)產(chǎn)品的方式來(lái)實(shí)現(xiàn)。

缺陷狀態(tài)及操作

缺陷的關(guān)鍵在于解決目標(biāo)和具體實(shí)現(xiàn)之間的差異,一般是調(diào)整實(shí)現(xiàn)方案,處理各種異常情況,最終符合預(yù)期。在明確了問(wèn)題、需求、缺陷的領(lǐng)域后,可通過(guò)表對(duì)象建模,完成模型的構(gòu)建。

三、工廠建模

一個(gè)制造業(yè)工廠的完整運(yùn)轉(zhuǎn)需要以下四個(gè)大環(huán)節(jié):工廠建設(shè)、組織組建、物料轉(zhuǎn)換、生產(chǎn)管理。

工廠建設(shè)主要完成工廠從荒山野地變成具備生產(chǎn)條件的過(guò)程管理,需要進(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í)情況來(lái)落地;需要支持設(shè)備管理,如沖壓機(jī)、鑄造機(jī)、熱熔機(jī)等,在后續(xù)的管理中用于問(wèn)題追蹤、設(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)域,通過(guò)BOM串聯(lián)起來(lái)。產(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)管理

各模塊相對(duì)獨(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)域中,可支持臺(tái)賬、維修、保養(yǎng)、點(diǎn)檢;人員領(lǐng)域可支持:出勤、技能、薪酬、績(jī)效、培訓(xùn)。

人員領(lǐng)域

基于領(lǐng)域,可以擴(kuò)展各個(gè)領(lǐng)域的屬性創(chuàng)建,完成表對(duì)象建模。表對(duì)象建模,更好的支持?jǐn)?shù)據(jù)庫(kù)表的創(chuàng)建,更好的支持?jǐn)?shù)據(jù)庫(kù)接口的實(shí)現(xiàn),更好的明確各個(gè)系統(tǒng)模塊之間的關(guān)系。表對(duì)象建模由業(yè)務(wù)拆分,更貼切的支持業(yè)務(wù);表對(duì)象建模便捷支持單個(gè)領(lǐng)域接口生成,且更為合理支持多表聯(lián)合查詢,更好生成接口;表對(duì)象建模支持為所有單個(gè)領(lǐng)域提供新建、編輯、列表、詳情、操作多個(gè)視圖,更為便捷和高效。

專欄作家

壹叁零壹,公眾號(hào):壹叁零壹,人人都是產(chǎn)品經(jīng)理專欄作家。攀山零代碼產(chǎn)品的行者,產(chǎn)品思維的商販。

本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載

題圖來(lái)自 Unsplash,基于 CC0 協(xié)議

該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 目前還沒評(píng)論,等你發(fā)揮!