用設(shè)計的思路解讀“庫存鎖定”功能_第1頁
用設(shè)計的思路解讀“庫存鎖定”功能_第2頁
用設(shè)計的思路解讀“庫存鎖定”功能_第3頁
用設(shè)計的思路解讀“庫存鎖定”功能_第4頁
用設(shè)計的思路解讀“庫存鎖定”功能_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、用設(shè)計的思路解讀“庫存鎖定”功能-實施顧問需具備的系統(tǒng)架構(gòu)思維幾次在微信中提到用軟件架構(gòu)的思想去學(xué)軟件,今天更有感觸,基于標(biāo)準(zhǔn)產(chǎn)品的交付會越來越少,標(biāo)準(zhǔn)的核算和基礎(chǔ)的HR項目也會越來越少,更多的項目一定會向業(yè)務(wù)延伸,而且延伸的程度會越來越深,這意味著標(biāo)準(zhǔn)產(chǎn)品交付的模式將會受到?jīng)_擊,基于標(biāo)準(zhǔn)產(chǎn)品下的個性化開發(fā)會越來越多,如何在利用標(biāo)準(zhǔn)產(chǎn)品、利用現(xiàn)有系統(tǒng)平臺,通過一個好的業(yè)務(wù)設(shè)計實現(xiàn)用戶的需求的能力,對實施顧問會越來越重要。要具備這個能力,首先要學(xué)會用軟件設(shè)計的思想對產(chǎn)品功能進行深度剖析,漸漸的你會能站在產(chǎn)品的架構(gòu)層面看產(chǎn)品,你就會對產(chǎn)品隨心所欲。用一個例子來說明,我們用兩種思路來學(xué)習(xí)“銷售訂單”

2、這個功能。首先用常規(guī)的產(chǎn)品功能層面來學(xué):我們開始一項一項的學(xué)習(xí),從訂單的基本操作增刪改查審開始,到訂單的所有相關(guān)流程,多訂單相關(guān)的各種控制,例如價格、合同、信用、收款、庫存控制等,再到銷售訂單對生產(chǎn)、采購的影響功能,甚至訂單中個性化的客戶定制化的BOM,其實你還是學(xué)的很不錯。不過我們今天換個思路來學(xué)習(xí),除了掌握上述功能,作為一個管理科學(xué)與計算機技術(shù)交叉的行業(yè),除了產(chǎn)品功能和業(yè)務(wù)實現(xiàn)外,我們來嘗試從軟件設(shè)計角度學(xué)習(xí)一下訂單,再進一步,就深入理解一下銷售訂單鎖定庫存這個功能。我們知道很多流通企業(yè)都有一個需求,希望在客戶下達訂單時,檢查倉庫是否有貨,有貨下達訂單結(jié)束后,能對這些庫存鎖定,不能挪為它用

3、。我們開始想象如何實現(xiàn)這個功能,先不管軟件,我們可以這樣分析一下,想到如下兩種方案:第一種:庫存就像一個水池A,但客戶下達訂單后,我們把A水池的水移動到B水池中,A中的都是可以隨便使用的,B水池中的都是名花有主的,這樣我們只要隨時檢查A水池是否夠;第二種:在A水池上增加一個計量刻度,每次下訂單后,就將計量刻度按照訂貨量上升一點,刻度之上的可用,刻度之下的名花有主。這兩種方法第一種顯然是自由的和鎖定的完全隔離,第二種實際上都在一個池子,可以互換,只要整個池子還有水,當(dāng)然第一個方案屬于強硬型方案,可以理解為庫存硬鎖定,第二種方案實際是通過可用量在控制。從程序設(shè)計角度去看,第一種方案簡單粗暴型,直接

4、上去把庫存給分離出去,所以我們可以想象一定有一個庫存分離的過程存在,系統(tǒng)控制的是自由庫存中是否還有數(shù);第二種方案比較溫柔,沒有把庫存數(shù)據(jù)直接分離走,而是通過不停的計算是否還有可用量是否大于0。我們也可以分析出第一種方案,由于有數(shù)據(jù)分離的過程,所以更加可控,例如我們完全可以控制分離多少出去,可以更靈活的處理一些特殊場景,而第二種只是簡單的通過倉庫和訂單的量來計算,比較理論,從控制的角度看可調(diào)節(jié)性較差,但從另外一個單據(jù)管理的靈活性看,第二種顯然比較靈活,因為第二種沒有實際的分離動作,數(shù)據(jù)還混在一起,所以系統(tǒng)不會控制訂單與分離鎖定數(shù)據(jù)之間的邏輯關(guān)系,第一種方案則需要考慮這個關(guān)系,因為對訂單的影響也就

5、更復(fù)雜,所以一個不太規(guī)范的管理,用第一種方案實施難度較大。上面用形式化的語言描述一些一下方案后,我們再想想從系統(tǒng)角度如何實現(xiàn)了,第一種方法把庫存都搬走了,剩下的屬于可用的,對應(yīng)NC系統(tǒng),就有對應(yīng)搬走的單子(當(dāng)然不是出庫單,只是一種內(nèi)部的庫存鎖定單據(jù)),就有剩下的現(xiàn)存量,于是系統(tǒng)可以實施記錄這個存量,通過這個存量你就可以實現(xiàn)控制。第二種實際并沒有被搬走,也沒有相關(guān)單據(jù)反應(yīng)這種庫存的控制,實際上是通過一種總額控制模式,于是你會想到,他應(yīng)該是通過現(xiàn)存量+預(yù)計入庫-預(yù)計出庫(訂單未出庫量)=可用量,可用量大于0意味著還有可用庫存。于是你再想到第一種方案可能是通過一個靜態(tài)的結(jié)存數(shù)控制庫存是否可用,第二種

6、通過一個動態(tài)的公式計算是否可用。再進一步,我們都可以找到上述業(yè)務(wù)在NC中對應(yīng)的操作節(jié)點,例如庫存的鎖定,可用量的計算公式設(shè)置等。于是我們可以更深入的思考了,第一種方案我們說搬走了,其實只是一個系統(tǒng)動作,可能并沒有實物上的動作,我們所謂的存量這個靜態(tài)的值,其實也是計算機算出來的,系統(tǒng)是否真需要這個被搬走后的靜態(tài)值存在?我們完全可以用系統(tǒng)中的數(shù)據(jù)(入庫-出庫-鎖定)來計算這個值嗎?但是系統(tǒng)卻真不是這樣的,再向后臺深入一步,發(fā)現(xiàn)后臺真有一張獨立的現(xiàn)存量表來記錄這個實時庫存(NC中是ic_onhandnum,U8中CurrentStock),為什么需要,再分析,可以想象這是為系統(tǒng)效率著想,想想如果有大

7、量歷史數(shù)據(jù),每次都從所有的歷史數(shù)據(jù)中計算庫存,需要花多長時間啊,但是每張單保存時把實時庫存更新一下是很快的。由此很快我們很快明白了,為什么系統(tǒng)會有一個現(xiàn)存量整理功能,用來修正錯誤的現(xiàn)存量,冗余的數(shù)據(jù)庫設(shè)計,提高了效率,必然造成穩(wěn)定性下降。當(dāng)然如果你富有供應(yīng)鏈的經(jīng)驗,我們可能曾經(jīng)發(fā)現(xiàn),這個整理似乎也有點Bug,如果某一個存貨結(jié)存為0后,一經(jīng)整理,這個存貨在現(xiàn)存量表中的記錄就沒了,偏偏系統(tǒng)的盤點單中的存貨就是取的現(xiàn)存量中的數(shù)據(jù),這些沒有結(jié)存的存貨就不出現(xiàn)在盤點單上了,系統(tǒng)中沒有結(jié)存,并不表示不盤點,于是這里出現(xiàn)了一個小小的難題了,當(dāng)然你會說那就保存那些為0的記錄行不就行了,也許真的可以,不過我們再

8、研究下面的問題后,你會發(fā)現(xiàn)這個問題也不那么簡單。上面我們研究了一下存量的一些設(shè)計思路,不過我們還需要向前一步,從數(shù)據(jù)的角度,研究一下現(xiàn)存量表的后臺存儲: 我們可以發(fā)現(xiàn)兩個密碼,一是發(fā)現(xiàn)現(xiàn)存量是沒時間概念的,現(xiàn)存量都是最新的,由于沒有時間概念,于是可以理解了為什么系統(tǒng)雖然參數(shù)不允許負庫存,但是系統(tǒng)有時查看報表卻產(chǎn)生了負數(shù),由于控制表無時間概念,所以如果單據(jù)時間不規(guī)范就可能出現(xiàn)問題,例如用較大的時間做了入庫單,再用較小的時期做出庫單,所以有時候用戶會查庫存告訴你某一天出庫量大于那一天的庫存來證明軟件似乎出錯了,其實系統(tǒng)就是這樣設(shè)計的;第二個秘密更重要,從現(xiàn)存量表的字段可以完全可以判斷系統(tǒng)對庫存的管

9、理維度,因為顯然現(xiàn)存量表決定了系統(tǒng)的控制維度,這個維度也顯然就是庫存系統(tǒng)的管理維度,例如我們看到有庫存組織、倉庫、存貨、主計量、供應(yīng)商、批號、輔計量,自由項等,這些維度都反映了庫存數(shù)據(jù)的管理維度與精度。很容易我們發(fā)現(xiàn)無論NC還是U8沒有物料狀態(tài)(待檢、報廢、可用等)這個維度的,所以這個需求只能另想辦法。所以我們能從現(xiàn)存量表看到整個庫存模塊的管理粒度,從一個點上你就抓住了整個庫存管理。在這個地方我必須出一道思考題了,在現(xiàn)存量表中,NC中有輔助計量單位字段,U8中卻沒有,于是我們困惑了,正常情況下,計量單位不是存貨的一個屬性嗎?如果只是一個屬性,顯然在數(shù)據(jù)庫中是無需單獨建字段的,因為從存貨字段可以

10、獲取,而且NC和U8在這一點上表現(xiàn)的還不一樣,這個地方又會充分反映多計量單位的設(shè)計思路,相信研發(fā)設(shè)計這個地方的時候一定有小小的糾結(jié)了,如果你沒糾結(jié),那基于架構(gòu)的思考可能還不到位,這是一道思考題,請各位從業(yè)務(wù)出手開始分析,為什么會有糾結(jié),這反映了多計量設(shè)計可能出現(xiàn)哪些需求和潛在的問題。第一個方案分析了一遍,發(fā)現(xiàn)后面隱藏著現(xiàn)存量這個大鱷,分析一下第二種方案,第二種方案是現(xiàn)存量結(jié)合一些公式計算,公式計算就有不穩(wěn)定性,因為公式需要從不同的地方取值,這不是個簡單的問題,例如想到了如果訂單不發(fā)貨,訂單部分發(fā)貨,他們會怎么對可用量產(chǎn)生影響,分析一下就明白了訂單的關(guān)閉等一些列功能是多么的重要了,再開動腦筋,關(guān)

11、閉這個操作雖好,但是有時挺復(fù)雜的,大宗物資采購經(jīng)常都有一定量的誤差,造成訂單處于一個部分完成的狀態(tài),如果都去人工處理關(guān)閉,多復(fù)雜,于是終于明白了為什么系統(tǒng)有自動關(guān)閉策略;既然是公式,不同企業(yè)的規(guī)則就可能不一樣,于是就需要設(shè)計不同環(huán)境下的可用量計算公式。所以,即使一個看著挺小的功能,后面隱藏著不少業(yè)務(wù)與相對應(yīng)的系統(tǒng)設(shè)計。先就說這多,就一個庫存鎖定的功能,也許我們隨口一說系統(tǒng)支持,但功能的背后卻隱藏了現(xiàn)存量這個設(shè)計,從現(xiàn)存量這個設(shè)計我們甚至能夠認識整個庫存管理對庫存的管理程度,甚至找到了各種功能缺陷的真正設(shè)計原因。如果我們更深入的研究鎖定,銷售訂單的實例還只停留在銷售和成品倉庫的鎖定,再分析一下生產(chǎn)有關(guān)的材料鎖定,再向采購與加工環(huán)境延伸,怎么從訂單環(huán)節(jié)開始鎖定,就一個鎖定功能,甚至可以打通整個業(yè)務(wù)系統(tǒng)。就這樣我們從業(yè)務(wù)推功能,從功能推設(shè)計,從設(shè)計追數(shù)據(jù),再從數(shù)據(jù)又能發(fā)現(xiàn)系統(tǒng)的設(shè)計,從這些設(shè)計你又能明確系統(tǒng)能實現(xiàn),能怎么實現(xiàn)那些功能,于是我們愈發(fā)清晰和明白了,業(yè)務(wù)、功能、架構(gòu)、數(shù)據(jù)都開始融為一體了,這也許就是氣功中所謂的任督二脈打通了的感覺。我們實施顧問開始具備

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論