IM卡發(fā)給營業(yè)員,用戶入網(wǎng)的時候,選擇一個號碼,然后付錢。營業(yè)員把SIM卡號碼和電話號碼輸入系統(tǒng),在交換網(wǎng)絡(luò)上進行注冊,這個SIM卡就可以通話了。然后各種費用記入各人帳戶,合同歸檔。
2:SIM卡在下發(fā)給營業(yè)員之前,先在交換網(wǎng)絡(luò)上和注冊,并且已經(jīng)預(yù)先設(shè)置了一定的話費。用戶選擇了這個號碼,付錢之后直接SIM卡拿走就可以打電話了。營業(yè)員事后再輸入用戶的合同資料,費用計入各人帳戶,合同歸檔。
這兩種方案在實現(xiàn)過程上是不同的,因此具有不同的功能點。比如第二種方案中的SIM卡在出售之前是可以進行通話的,所以必須對這樣的號碼的通話費用進行監(jiān)控,這個功能在第一種方案中是根本不需要的。并且兩種方案在帳目的核對方式上區(qū)別也是比較大的。這兩種方案是不同的功能點的集合,他們完成的是同一個業(yè)務(wù)需求。
系統(tǒng)在開發(fā)階段如果沒有保留用戶的業(yè)務(wù)需求情況,而是只留下一個功能點的列表,會給維護人員帶來成很大的困難。維護人員無法從這樣一堆功能點中發(fā)現(xiàn)最初的需求是什么樣子。各位可以試試,假設(shè)我們忘記上面的四個需求要素,只看下面的某個實現(xiàn)方案,從這個復(fù)雜的實現(xiàn)過程中,我們很難知道用戶現(xiàn)在的需求到底是什么。一旦需求發(fā)生了變化,這些功能點就會出錯,或者是功能點的時序發(fā)生意料不到的錯誤,也許帳目核對不上了,也許是用戶拿走的SIM卡不能打電話了。
看不見需求在哪里,不知道手里這段代碼會觸動需求的哪根神經(jīng)。維護人員的痛苦大部分來源于此。
“不要緊,客戶記得自己的需求。”但是客戶通常不懂技術(shù),即使他們懂技術(shù),他們也不知道系統(tǒng)是如何實現(xiàn)的。如果開發(fā)人員依靠客戶提出新需求的解決方案,結(jié)果就是讓軟件工程變成“生物工程”。到最后是錢基本花光,人基本累死,甲乙雙方感情基本破裂。
軟件開發(fā)必須劃分成幾個過程,但是各個步驟應(yīng)該有一個統(tǒng)一的核心——業(yè)務(wù)需求。
在需求調(diào)查階段要搞清楚用戶的業(yè)務(wù)需求,為了達(dá)到這個目的,可以提問回答,可以對用戶進行跟蹤采訪,或者做一個demo給用戶看看,最終的目的是為了搞清楚用戶在做什么事,遇到了什么問題,程序應(yīng)該去解決什么問題,這就是這一階段的工作。
然后開始進行設(shè)計,設(shè)計系統(tǒng)的邏輯結(jié)構(gòu)和物理結(jié)構(gòu),邏輯結(jié)構(gòu)要符合需求的概念,各個對象互相調(diào)用要能夠?qū)崿F(xiàn)需求中的業(yè)務(wù)過程,同時物理結(jié)構(gòu)劃分合理,符合實際的分布狀況,可以達(dá)到要求的的性能,業(yè)務(wù)過程的物理運行方式合理高效。這一階段仍然是以業(yè)務(wù)需求為核心。
接下來是編碼。首先是編寫一些基礎(chǔ)設(shè)施,比如網(wǎng)絡(luò)通信、數(shù)據(jù)庫、文件的讀寫、分布式計算,這些基礎(chǔ)設(shè)施和業(yè)務(wù)需求沒有什么關(guān)系,有很多現(xiàn)成的框架,借助這些框架我們可以盡快度過這個黑暗的階段。然后編寫業(yè)務(wù)對象,這時候業(yè)務(wù)需求中的一些概念逐步出現(xiàn)在代碼中,比如上面說的那個例子,“用戶”、“號碼”、“合同”、“入網(wǎng)”、“SIM卡資源”這樣的業(yè)務(wù)要素逐漸出現(xiàn),這些對象所擁有的屬性、可以運行的行為也和現(xiàn)實的需求一樣。接著這些業(yè)務(wù)對象串接起來,實現(xiàn)業(yè)務(wù)過程,現(xiàn)在業(yè)務(wù)需求又回到了人們的視野當(dāng)中。業(yè)務(wù)需求是什么,如何實現(xiàn),在這里一目了然。最后將這些過程在UI或者接口中調(diào)用,將功能提供給用戶或者別的系統(tǒng)。
測試更是要圍繞著業(yè)務(wù)需求來進行,正常的業(yè)務(wù)流程應(yīng)該產(chǎn)生正常的結(jié)果,如果缺少某個資源,或者輸入了不合適的數(shù)據(jù),應(yīng)該出現(xiàn)業(yè)務(wù)含義明確的異常。并且系統(tǒng)的業(yè)務(wù)對象是處在一個獨立的層次上,與UI和基礎(chǔ)設(shè)施沒有很大的關(guān)聯(lián),這樣可以方便的采用自動化的測試方法。
這樣的系統(tǒng)維護起來一定少很多痛苦。
項目經(jīng)理勝任力免費測評PMQ上線啦!快來測測你排多少名吧~
http://opto-elec.com.cn/pmqhd/index.html