批量新增功能的價值&實現方法

0 評論 8514 瀏覽 52 收藏 15 分鐘

在涉及范圍廣、信息龐雜的業務系統中,做好批量新增功能有助于高效增加信息,同時又不至于對系統的正常運行造成阻礙。

一、背景

在加入K公司的第三周,接到第三個需求,系統某模塊要增加批量新增的功能,而且是很急的那種,剛來公司不久的我,接到這種無前因后果的需求時,一臉蒙B。

雖然在以往負責的項目中處理過批量新增的需求,這次我仍決定摒棄過往,待“批量新增”如初見時,對它進行一翻調研,借助以下幾個問題,來回答為什么需要做批量新增:

  • 它是什么,有什么價值?
  • 沒有它的日子是怎么過的?
  • 為什么是它?為什么要它?
  • 未來它存在的必要性?
  • 現在不要它,會不會有什么問題?

二、什么是批量新增??

農民在收割的稻子的時候,都是一把一把用鐮刀割掉,后來科技發展隨著收割機的出現,進一步提高了農民的勞作效率,降低勞力成本的同時也避免了因收割不及時造成的損失。

生活中類似的批量操作場景比比皆是,在社會發展與進步的過程中,效率是人類不懈的追求。

在產品設計中,無論是3C硬件產品/C端產品/B端業務系統,拋開業務本身的差異,系統功能的設計本質上都是圍繞增、刪、改、查、顯、算、傳、異而展開。

為了提高業務信息維護的效率、準確性和產品的易用性,衍生出例如淘寶購物車的批量刪除商品、ctrl+A、WORD的批量替換、一鍵清空、一鍵已讀、列表的批量選擇、快遞單號的批量查詢等等對數據的批量操作。

1. 批量新增的概念

批量新增,是新增場景下的一個分支場景,相對于單項新增而言,批量新增是為了提高系統信息維護的效率、準確性和產品的易用性,針對重復有規律的數據的批量操作。

2. 批量新增做法

常見的批量新增的做法有以下兩種:

(1)批量導入(如圖2)

產品設計時為用戶在系統中設計一個批量導入的功能入口,并提供一個信息填寫模板,模板需要為excel的文件格式,常用的有.xlsx、.cvs兩種格式,提供的模板需要約定好模板中的字段與數據庫字段的對應關系以及每列內容的輸入格式(例如:圖1中,模板中手機號字段,可以限制只能輸入數字)。

用戶事先按照模板的要求填寫數據,并保存在某個文件模板里面,然后將填寫好的模板導入到系統中,系統按規則對導入的數據進行校驗,完成信息的批量插入。

圖1

圖2

(2)批量表單(如圖3)

產品設計中在用戶界面為用戶提供一個填寫信息的表單,用戶按表單的指引填寫信息,如果需要錄入多條類似信息,用戶可以選擇點擊【新增】按鈕,新增一行輸入框,如此用戶在前端界面完成信息的錄入并提交,系統按規則對提交的數據進行校驗,后臺批量接收并保存。

批量表單是導入功能的升級版,過程中必須由用戶手動填寫數據并點擊【提交】之后才能上傳數據,在方便用戶操作的同時,進一步降低操作的錯誤率。同時批量表單可以很好地兼顧到單項新增的場景。

一般情況下承載批量表單的形式有彈窗和頁面兩種,具體采用哪種形式可以根據具體用戶的場景來決定,設計過程中考慮給用戶提供更多便捷性,表單初始狀態是可以是多行。

圖3

在初步了解了什么是批量新增和主要的兩種實現方式之后,在產品方案設計的過程中,具體采用什么樣方式實現,可以從以下幾點去考慮:

3. 具體實現方式

(1)緊急程度

無論是批量導入或是批量表單,都會涉及到前端開發+后端開發。兩者后端的開發工作量相近,兩者前端實現的難度都不大。

在實現批量表單的過程中會涉及到頁面開發、交互、前端校驗及反饋、前后端聯調、頁面調試等工作,所以相對于批量導入的前端工作而言,批量表單的前端工作量是翻倍的。所以在需求比較緊急的情況下,可以優先考慮批量導入的方式滿足需求。

(2)數據量級

一般情況下用戶在使用批量導入的excel模板,excel表格不含表頭,默認可視的行數有40行,批量表單一般使用彈窗或頁面的方式呈現,在不翻頁的情況下可視的行數據有限。

另外,在填寫的數據過程中,在excel中填寫數據是在電腦本地進行,數據量相同的前提下,體驗要優于批量表單。

因而在設計的過程中,可以通過分析系統數據和用戶調研的方式,分析用戶每次操作的數據量,如果數據量偏大建議采用批量導入的方案。

(3)容錯能力

excel模板雖然可以實現簡單輸入內容和輸入規則的約定,但最終的數據合法是在用戶導入模板之后進行,對于不合法的數據反饋是相對滯后的,用戶填寫完數據即可以導入。

這個過程看似效率很高,但如果填寫的數據質量不高導致校驗不通過,定位異常數據并修改數據再導入的過程反而會影響效率。

批量表單以前端頁面或彈窗的方式提供給用戶,用戶在填寫數據的過程中,可以通過前端豐富的校驗手段實現及時有效的校驗與反饋,前端+后端校驗的方式,讓批量表單具有更高的容錯性,保證了提交前的數據的質量,從而可以更好的滿足用戶對效率的追求。

所以在資源允許的情況下,我們在方案設計中可以給容錯能力多一點空間,采用批量表單的方案。

圖4

4. 批量新增環節

在批量新增的過程,大致會經過收集準備數據、填寫/導入數據、校驗數據、中斷/終斷插入數據、插入數據5個動作,如圖4所示流程,在設計的過程中需要分別對以上環節的細節問題做充分的考慮:

(1)收集準備數據

收集與準備:在產生新增數據需求之前,用戶必定會有一個數據的收集與準備的過程,收集來的數據有可能是書面形式或電子文檔形式的(txt、excel、word等),在完成了數據的收集工作之后,用戶在將數據錄入系統前,需要根據表單和excel的要求對數據做些整理。

例如:員工信息可能含有,姓名、手機、性別、生日、郵箱、崗位、籍貫……等字段,但系統表單只要求填寫姓名、手機、性別、崗位字段。

(2)填寫/導入數據

批量表單:用戶收集準備好數據后,會在系統表單中進行錄入,這種批量填寫數據的過程是繁瑣且耗時的,所以在表單的設計過程中需要充分考慮的交互的友好性。

批量導入

用戶按照excel模板填寫好數據后,在系統中點擊【導入】→【選擇文件】→【確認】,這個過程在用戶交互界面看起來很簡單,但系統讀取excel文件,將數據傳送到服務端,服務端要用數據導入程序,逐行讀取數據,根據定義的檢查邏輯檢查數據是否合法,并將數據寫入到指定的表。

在這個過程中有很多種復雜的情況需要處理,如果感興趣可以去csdn.net看看相關的博文。

(3、4)校驗數據&中斷/終斷插入數據

合法校驗

用戶在提交或導入數據之后,系統需要校驗輸入框、表格的數據填寫是否符合規則,是否符合唯一性的要求,校驗的方式包括逐條遍歷校驗、循環遍歷校驗。

異常處理

在校驗數據過程中,如出現數據不合法,需要及時提示用戶并給出異常處理方案。

如果采用批量表單方案,出現異常時可以在用戶界面及時給出反饋(例如:告知用戶某條數據是否插入成功,如果沒有插入成功,顯示失敗的原因)。

如果采用批量導入方案,出現異常時要考慮是中斷錯誤信息插入,還是終斷全部信息插入,在完成數據插入動作后,將插入失敗的原因寫入到源文件的對應行,方便用戶修正數據。

(5)插入數據

新增方式

在數據通過校驗之后,系統執行插入數據的動作,這里的插入根據需求不同,存在覆蓋和新增兩種情況,覆蓋指的是以現有數據覆蓋對應關系的原數據,新增則是在現有數據上插入新的數據。

系統性能

在批量插入數據的時候,需要考慮系統性能的瓶頸值在哪,業務的期望值在哪,在兩者之間尋一個平衡。

系統日志

在異常排除和支持擴展業務目標時,系統日志數據分析通常是重要的手段。所以在對數據進行新增操作時應該記錄相應的日志,例如:【XXXXXXXXX】【用戶】【時間】【新增】【成功/失敗】。

三、我們為什么做批量新增?

在接到需求的第2天,帶著事先整理好的思路與用戶進行了1個小左時右的面對面溝通,在實際市場開發與業務運營過程中,市場人員是按省、市、區的維度去開發市場,每次市場新開發一個片區,就需要在系統中以片區的維度在系統中維護數據。

所以每次維護新數據必然會有多條業務信息需要維護到系統中,大概每個月會進行3次左右的信息維護,每次少則需要15分鐘的時間,多則需要上小時的時間。

目前業務覆蓋到5個省,在2020年業務計劃覆蓋到10個省,業務量在原有基礎至少增加一倍。

基于以上與用戶溝通的信息,我又對系統歷史數據進行了簡單調研,針對于該業務的系統模塊在2019年9月底上線,從10月截止到1月,系統共有12天的信息維護記錄,其中有2天的信息維護記錄是分別對A省和B省補充了一條數據,共維護2XX條數據,平均每天信息維護的數據量在18條以上,其中信息維護數據量最少的一天共耗時約17分鐘,其中一天同省市維護的信息量多達93條耗時超過3小時,系統數據記錄進一步驗證了業務方的說法。

基于以上信息來看,可以判斷批量新增的需求是合理的,根據業務發展的計劃,現在這個階段去實現批量新增是有必要的,且在該業務信息的維護過程中,主要使用的應該是批量新增,而單項新增更多是使用在對某個片區進行少量補充的場景。

功能上線后,從用戶那得到反饋,業務信息維護的效率相比以前提升了20%,同時在溝通中挖掘到該功能還有優化空間,可以進一步提升效率。

 

作者:順序;公眾號:某些規律

本文由@順序 原創發布于人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發揮!