昨天我們的物流部門提了1個(gè)需求,希望我能為他們做1張出庫明細(xì)報(bào)表,以便他們統(tǒng)計(jì)和核對(duì)數(shù)據(jù)。嗯嗯,這個(gè)很簡(jiǎn)單的說,復(fù)制1個(gè)類似的模板,替換下數(shù)據(jù)源,按日期分組,20分鐘弄定!
這里簡(jiǎn)單插1下,介紹下我們系統(tǒng)中的報(bào)表的實(shí)現(xiàn)。報(bào)表是采取的第3方控件FastReport,通過設(shè)計(jì)報(bào)表模板―>定義報(bào)表(選擇模板、分期規(guī)則、會(huì)計(jì)主體、報(bào)送對(duì)象)―>生成報(bào)表(即時(shí)、按分期規(guī)則自動(dòng))。
物流部的同事用即時(shí)報(bào)表功能看過后提了個(gè)新的需求或是BUG,沒有按倉庫分組呀!親!
汗呀,忽視了,趕快加上,5分鐘弄定!然后。。。能不能按客戶類型分1下呀?可以!還沒開動(dòng)呢,能不能按產(chǎn)品系列分1下呀?嗯???可以是可以的,不過,你這是要鬧哪樣呀?這樣分真的好嗎?我知道的業(yè)務(wù)不需要分這么細(xì)的呀。
咳咳。。。我們每天要做1個(gè)匯報(bào),你看,我這個(gè)。。。。巴拉巴拉。。。
哦哦,明白了,親,你這是需要1個(gè)匯總表呀,拜托說明白好不好。我們物流的妹子表示很無辜。。。。然后我又復(fù)制了1個(gè)模板,替換了數(shù)據(jù)源,弄定!妹子很高興,表示這個(gè)匯總表實(shí)在是太棒了,以后她不再需要手工統(tǒng)計(jì)數(shù)據(jù)了。
你看,用戶的需求的提法總是這么地奇葩,要是我完全按物流描寫的需求去做,那末:
1、本來的明細(xì)表被各種小計(jì)分割地支離破碎,破壞了本來公道的結(jié)構(gòu)。雖然說對(duì)信息進(jìn)行分組有益于瀏覽,但濫用分組必定致使沒法正常瀏覽。
2、缺少真正需要的匯總表,匯總數(shù)據(jù)需要從明細(xì)表中獲得,然后手工做匯總表
3、浪費(fèi)我的時(shí)間,付出了勞動(dòng)卻沒有產(chǎn)出價(jià)值。
這個(gè)例子非常有代表性,我們?nèi)绻簧钊肜斫鈽I(yè)務(wù),必定會(huì)被需求方的要求各種似是而非的要求牽著鼻子走。最后的產(chǎn)品也就必定變成似是而非的產(chǎn)品,然后改著改著就沒法再改了,再改全部系統(tǒng)都要崩潰了。到那時(shí)候,甚么MVC,甚么設(shè)計(jì)模式,甚么先進(jìn)的技術(shù)架構(gòu)都沒法在你的系統(tǒng)面臨崩潰深淵的道路上挽救你。
能夠讓你的系統(tǒng)穩(wěn)健的唯1方法是深入地理解業(yè)務(wù),搭建1個(gè)正確的業(yè)務(wù)架構(gòu),在需求產(chǎn)生變更的時(shí)候進(jìn)行分析,在正確的業(yè)務(wù)里面實(shí)現(xiàn)正確的功能才能避免這類情況出現(xiàn)。