不埋坑,不踩坑(軟件設計篇)

最近公衆號沒有更新,其實不是小編懈怠了,一方面工作比較忙碌,另一方面也不知道寫些什麼。最近在做產品設計,數據庫設計的時候,時而有一些感觸,簡單整理一下。

先來講一個案例:

產品中,物流公司可以發佈貨源,數據庫中記錄了貨源的發佈時間publishTime,司機來進行搶單。但是物流公司發出的貨源,當天不一定有司機來搶單,達成運單交易。於是給物流公司增加了一個重新發布貨源的功能。簡單來說就是修改貨源的publishTime,讓自己的運單刷新一下,顯示在前面。

這個設計,並有什麼問題,但是最近新增了一個報表統計的功能,統計一下每天,每月的發貨量。任務分配給A同學,A同學說簡單啊,就按發佈時間統計就行了,很快統計功能上線了。市場的B同學每天要在下班的時候,統計一下每天發了多少貨源,報告給老闆。N天之後,老闆偶爾看到這個統計圖。額!最近一週的統計結果怎麼跟市場彙報的有這麼大的出入呢?問題出在哪裏?馬上解決一下。小編向來都是專業的消防員,馬上進行分析,問清楚了重新發布功能的設計原理,恍然大悟。發佈時間是可變的,那麼統計結果當前是變化的。

其實最初在進行產品設計,數據庫設計的時候,並沒有什麼問題,只是一般人想不到後來會影響到統計功能,爲後人埋下了一個地雷。

案例講完了。最近產品經常迭代,原因有很多,市場在變化,老闆在搖擺。APP迭代麻煩的是還要考慮版本兼容問題。保證新舊版本都可以正常使用,這是一個很頭疼的問題。
A同學又說了:爲啥老迭代啊,一次做好不行嗎?(NM,諸葛亮在世也不能事事考慮周全啊!)
B同學又說了:爲啥要進行版本兼容啊?讓用戶升級好了!
小編又說了:產品設計,很多時候就是在爲難自己,方便用戶!每次都讓用戶升級,對軟件設計和開發人員來說是簡單了,但是用戶不樂意了,我爲啥每次都要浪費自己的流量升級。我就不升級,如果不能正常使用,就是你們的軟件垃圾,我換一家就是了。

軟件設計真的是一門很深的學問,在遵守原則的基礎上,考慮擴展性,兼容性,分分鐘讓你頭痛。另外一個頭痛的事情是小編設計一版詳細設計,數據庫設計,流程設計,領導又覺得不滿意。然後在會議中跟領導各種爭執,誰都不能說服對方,爭來爭去沒個結果。最後,各自退一步,求個折中的方案。軟件設計就是這樣,橫看成嶺側成峯,每個人想問題的角度不同,有時候不存在誰對誰錯,求個大家都覺得可行的方案就行。

小小的感慨一發,希望在軟件設計之路上的同學們,能少埋幾個坑,讓別人少踩幾個坑,足矣!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章