B端入門:刪除、禁用、失效怎么用
B端產(chǎn)品的設(shè)計(jì),幾乎都是在圍繞新增、刪除、修改、查詢、顯示、計(jì)算、傳輸、業(yè)務(wù)流做工作,而增刪改查是原型設(shè)計(jì)中基礎(chǔ)的基礎(chǔ)?!皠h除”數(shù)據(jù)的方式有刪除、禁用、失效,那么,選擇的邏輯是什么呢?本文作者分享了自己的看法,一起來(lái)看一下吧。
B端產(chǎn)品的設(shè)計(jì),幾乎都是在圍繞新增、刪除、修改、查詢、顯示、計(jì)算、傳輸、業(yè)務(wù)流做工作,而增刪改查是原型設(shè)計(jì)中基礎(chǔ)的基礎(chǔ)。
今天的文章不長(zhǎng),圍繞最近反復(fù)被討論的一個(gè)點(diǎn)分享一下我個(gè)人的看法:“刪除”數(shù)據(jù)的方式有刪除、禁用、失效,選擇的邏輯是什么?
01 數(shù)據(jù)刪除的邏輯
兩年前的時(shí)候我寫過(guò)一篇文章《增刪改查顯算傳,七字箴言搭建ToB系統(tǒng)底層框架》,至今看來(lái)還算是抽象、概括性比較高的,為便于讀者理解,這里就直接引用了。
數(shù)據(jù)有新增的路徑,就會(huì)存在刪除的需求。通常說(shuō)的刪除,包含兩種:
- 物理刪除:真實(shí)刪除,從數(shù)據(jù)庫(kù)層面刪除了數(shù)據(jù),查詢找不到該條數(shù)據(jù),數(shù)據(jù)不可恢復(fù)。一般對(duì)于重要的基礎(chǔ)數(shù)據(jù),不建議設(shè)置刪除功能,設(shè)計(jì)中要避免不可逆的操作;
- 邏輯刪除:假刪除,只是從頁(yè)面對(duì)數(shù)據(jù)進(jìn)行了刪除,數(shù)據(jù)庫(kù)將數(shù)據(jù)的狀態(tài)改寫為“已刪除”,可通過(guò)刪除后撤回或者數(shù)據(jù)庫(kù)備份恢復(fù),產(chǎn)品設(shè)計(jì)中比較常用。
數(shù)據(jù)的前后業(yè)務(wù)關(guān)聯(lián)太強(qiáng),不適合設(shè)計(jì)刪除功能,那應(yīng)該如何對(duì)數(shù)據(jù)進(jìn)行合理的處理呢?個(gè)人理解的刪除需求的存在,可能存在以下幾種情況:
- 過(guò)期無(wú)用信息:可以設(shè)計(jì)數(shù)據(jù)庫(kù)定時(shí)任務(wù),根據(jù)實(shí)際的業(yè)務(wù)情況和指定條件,定期清理垃圾數(shù)據(jù),適用于數(shù)據(jù)量較大的情況;
- 信息錄入錯(cuò)誤:邏輯刪除或者使用編輯功能修改數(shù)據(jù);
- 數(shù)據(jù)狀態(tài)改變,或需要中止業(yè)務(wù):使用字典狀態(tài)來(lái)限制。
文章中對(duì)刪除邏輯和適用范圍的理解依然有效,但是不足之處在于具體使用場(chǎng)景的描述不夠詳細(xì)。接下來(lái)我們就聊一聊刪除、禁用、失效的適用場(chǎng)景和區(qū)別在哪里。
02 刪除、禁用、失效的適用場(chǎng)景
1. 刪除的適用場(chǎng)景
根據(jù)尼爾森十大可用性設(shè)計(jì)原則,為了避免用戶的誤用和誤擊,系統(tǒng)應(yīng)提供撤銷和重做功能。日常高頻新增的數(shù)據(jù),人工輸入就有可能產(chǎn)生誤差。從體驗(yàn)的角度來(lái)看,系統(tǒng)要允許刪除數(shù)據(jù)。
刪除分為即時(shí)刪除(提交信息之后的toast提供撤回和重做的選項(xiàng))和事后刪除(在列表或詳情中提供刪除功能)。
即時(shí)刪除通常用于輕量化信息的提交,因?yàn)檩p量化的信息內(nèi)容簡(jiǎn)單,提交后腦海中對(duì)信息還有整體的印象,而且和業(yè)務(wù)的耦合度低,從技術(shù)層面來(lái)說(shuō)做數(shù)據(jù)的回滾也不容易出錯(cuò),例如滴答清單筆記的立即撤回。
這里的撤回即軟刪除,并沒有從數(shù)據(jù)庫(kù)層面刪除掉數(shù)據(jù),而是將數(shù)據(jù)從已提交可撤回的狀態(tài)變?yōu)榱丝删庉嫽蛘咭烟峤坏臓顟B(tài)。
1)輕量化信息的刪除——立即撤回
在后臺(tái)系統(tǒng)的設(shè)計(jì)中,事后刪除一般和列表同步出現(xiàn)。
這里有個(gè)點(diǎn)可以發(fā)散一下:為什么刪除按鈕不在詳情頁(yè)而是列表頁(yè)呢?至少有一點(diǎn),詳情頁(yè)的刪除不滿足批量刪除的需求。
2)某電商后臺(tái)的數(shù)據(jù)列表——?jiǎng)h除
小結(jié)一下,除了高頻新增這一個(gè)場(chǎng)景,使用刪除還需要滿足一個(gè)場(chǎng)景:非核心、低耦合的數(shù)據(jù),這和“禁用”以及“失效”是對(duì)立的。
Tips:當(dāng)刪除數(shù)據(jù)是一項(xiàng)危險(xiǎn)的操作時(shí),也需要在確認(rèn)過(guò)程中警示,例如二次彈窗確認(rèn)(刪除后不可恢復(fù)提示、刪除影響提示)、高亮文字等。
2. 禁用的適用場(chǎng)景
數(shù)據(jù)變得無(wú)用,不能被其他業(yè)務(wù)引用,又不能刪除,怎么辦呢?可以使用“禁用、停用、作廢”功能來(lái)控制數(shù)據(jù)的有效性和可見范圍。
例如我司為以銷定采(根據(jù)客戶的訂單進(jìn)行采購(gòu),不提前采購(gòu)庫(kù)存)的業(yè)務(wù)模式,為了保證發(fā)貨的及時(shí)性,在生成訂單之后定時(shí)器會(huì)自動(dòng)觸發(fā)生成采購(gòu)單。
但是難免存在客戶臨時(shí)取消、修改訂單的情況,如果在數(shù)據(jù)庫(kù)層面做刪除操作,這類訂單將不可追溯,會(huì)導(dǎo)致多采。
所以我們最終采用了作廢這種形式,通過(guò)作廢標(biāo)記的訂單,指定人員可見,在特殊的業(yè)務(wù)環(huán)節(jié)做核銷即可。筆者對(duì)財(cái)務(wù)系統(tǒng)接觸不深,這和發(fā)票的紅沖應(yīng)該是差不多的意思。
再例如Oracle中有一個(gè)設(shè)計(jì)是可以禁用物料分類,這也是出于業(yè)務(wù)的耦合度較高,信息需要留存,但是不適合再被后期的其他業(yè)務(wù)引用產(chǎn)生新的數(shù)據(jù)有關(guān)。
小結(jié)一下,業(yè)務(wù)的耦合度高,數(shù)據(jù)有變更會(huì)對(duì)其他業(yè)務(wù)產(chǎn)生影響需要保留的情況下,就可以采用“禁用、停用、作廢”這種形式來(lái)做數(shù)據(jù)的刪除。
3. 失效的適用場(chǎng)景
失效和禁用類似,區(qū)別在于數(shù)據(jù)的失效是否有明確的截止時(shí)間。
例如權(quán)限控制中會(huì)通過(guò)有效期控制員工的賬號(hào),因?yàn)閱T工的離職是有明確時(shí)間節(jié)點(diǎn)的,而且是在將來(lái)發(fā)生,在發(fā)生之前賬號(hào)還要保持可使用的狀態(tài)。
使用刪除和禁用都不合適,一方面是要求當(dāng)場(chǎng)操作,時(shí)效的要求較高(禁用),如果遺忘可能會(huì)產(chǎn)生損失;另一方面是會(huì)影響到其他相關(guān)數(shù)據(jù),例如員工尚未完結(jié)的薪酬(刪除)。
再例如 Oracle 中會(huì)判斷物料的有效期來(lái)決定是否可以被其他業(yè)務(wù)引用,對(duì)應(yīng)的場(chǎng)景就是 B 端商貿(mào)業(yè)務(wù)中,商品的調(diào)價(jià)或者產(chǎn)品下線均是有計(jì)劃出現(xiàn)。通過(guò)截止時(shí)間使物料失效,方便采購(gòu)、倉(cāng)儲(chǔ)人員提前做好物料管理計(jì)劃。
價(jià)目表通過(guò)有效期來(lái)控制數(shù)據(jù)的可見性也是一樣的道理。
小結(jié)一下,在禁用的基礎(chǔ)上,如果數(shù)據(jù)有明確的截止時(shí)間,可通過(guò)調(diào)整失效時(shí)間來(lái)提前做數(shù)據(jù)規(guī)劃或“刪除”。
03 組織架構(gòu)的“禁用”是要禁用人員的賬號(hào)嗎?
這個(gè)問(wèn)題發(fā)生的背景是有學(xué)員提問(wèn),組織架構(gòu)中有“禁用”的功能,這里的禁用是為了讓組織架構(gòu)下的員工賬號(hào)失效,不能訪問(wèn)系統(tǒng)嗎?
其實(shí)這個(gè)問(wèn)題暴露了兩個(gè)沒有被理解的業(yè)務(wù)場(chǎng)景和一個(gè)產(chǎn)品設(shè)計(jì)原則:
- 組織架構(gòu)是什么
- 組織架構(gòu)的變更意味著什么
- 低耦合,高內(nèi)聚
看馮侖的《野蠻生成》(點(diǎn)擊查看讀書筆記)對(duì)于企業(yè)的組織架構(gòu)設(shè)定有所感觸,當(dāng)時(shí)在讀書筆記中寫道:之前一直想輸出一篇組織架構(gòu)的變更對(duì)企業(yè)的影響,現(xiàn)在發(fā)現(xiàn)自己的理解思路錯(cuò)了。組織是為目標(biāo)服務(wù)的,人群行為的管理也是為了達(dá)成目標(biāo)。所以,往上一層思考,應(yīng)該研究企業(yè)目標(biāo)的變化對(duì)企業(yè)的組織架構(gòu)、人群行為的影響。
Oracle(僅針對(duì)筆者接受的Oracle培訓(xùn)課,Oracle完整產(chǎn)品過(guò)于龐大,筆者還沒有機(jī)會(huì)了解其全貌)將OMS產(chǎn)品的組織劃分為四大類:庫(kù)存組織、HR組織、業(yè)務(wù)實(shí)體、財(cái)務(wù)套賬,這些對(duì)應(yīng)的就是收入和成本數(shù)據(jù)。
在筆者接觸的B端產(chǎn)品設(shè)計(jì)中,組織架構(gòu)的劃分就是按照成本組織和收入組織來(lái)規(guī)劃的,嚴(yán)格匹配企業(yè)的戰(zhàn)略目標(biāo),當(dāng)目標(biāo)發(fā)生變更,組織中資源的分配就會(huì)隨之調(diào)整,所以產(chǎn)生了組織架構(gòu)的新增和“刪除”。(問(wèn)題中學(xué)員提出的“禁用組織架構(gòu)”其實(shí)也有誤差,應(yīng)該是使組織架構(gòu)失效,因?yàn)榻M織架構(gòu)的變更通常是有規(guī)劃進(jìn)行的,不是突然發(fā)生的事件。)
在某個(gè)組織被變更后,組織內(nèi)產(chǎn)生的成本和收入依然會(huì)進(jìn)入財(cái)務(wù)體系核算,不宜刪除,人員作為成本的一部分,數(shù)據(jù)自然也要保留在系統(tǒng)中。
所以組織內(nèi)的人員會(huì)遷移到其他部門或者離職,因此需要對(duì)組織下個(gè)人賬號(hào)做所屬組織修改或者賬號(hào)失效處理。
回到產(chǎn)品設(shè)計(jì)本身,我們有一個(gè)原則是一次只做一件事情,產(chǎn)品架構(gòu)的設(shè)計(jì)要符合低耦合的原則。
組織的失效是對(duì)組織的相關(guān)數(shù)據(jù)做了凍結(jié)處理,凍結(jié)的前提條件是組織內(nèi)正在有效的數(shù)據(jù)、賬號(hào)需要遷移到其他組織下或者同時(shí)也使之失效。這個(gè)“前提”是另外要單獨(dú)做的事情,禁用組織和禁用人員賬號(hào),是兩碼事。
嘮嘮叨叨寫了這么多,最后來(lái)個(gè)總結(jié):
- 高頻新增和非核心、低耦合的數(shù)據(jù),使用刪除功能;
- 業(yè)務(wù)的耦合度高(數(shù)據(jù)有變更也會(huì)對(duì)其他業(yè)務(wù)產(chǎn)生影響需要保留的情況下)采用“禁用、停用、作廢”來(lái)做數(shù)據(jù)的刪除;
- 在禁用的基礎(chǔ)上,如果數(shù)據(jù)有明確的截止時(shí)間,可通過(guò)調(diào)整失效時(shí)間來(lái)提前做數(shù)據(jù)規(guī)劃或“刪除”。
專欄作家
RaRa,公眾號(hào):B 端產(chǎn)品的避坑歲月,人人都是產(chǎn)品經(jīng)理專欄作家。半路出家、一路摸索的 B 端產(chǎn)品經(jīng)理,擅長(zhǎng)企業(yè)級(jí)產(chǎn)品架構(gòu),長(zhǎng)期關(guān)注私域電商、供應(yīng)鏈領(lǐng)域。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來(lái)自u(píng)nsplash,基于 CC0 協(xié)議。
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
老師,賬號(hào)禁用后,正在登錄得賬號(hào)一般怎么處理?是自動(dòng)退出登錄。還是手動(dòng)退出登錄后再禁用,不影響用戶當(dāng)前操作。
牛的!??!感謝作者,一致對(duì)啟用禁用功能一知半解,如今終于知道怎么去應(yīng)用了!感謝,希望還能多出一些這樣的好文章
這篇文章的邏輯結(jié)構(gòu)非常的清晰,對(duì)于“禁用”的闡釋,也幫助我解答了對(duì)于刪除狀態(tài)的疑惑。很謝謝作者
謝謝你的認(rèn)可