???? 呵呵,正好在寫一份需求分析??吹健凹俣ê图s束”的問(wèn)題,有些自己的思考,拿來(lái)分享一下,同時(shí)也讓更多牛人來(lái)幫我指正一下我自己在概念上的錯(cuò)誤。
???? 看了很多需求說(shuō)明書了,包括自己以前也寫了很多,大部分時(shí)候我會(huì)刪除這個(gè)章節(jié)(呵呵,只是我個(gè)人的行為而已)。刪除的目的不是為了省事,是很多情況下連我自己都不清楚這些假定和約束,所以就沒(méi)有去寫。
??? 從個(gè)人理解(含教材中學(xué)到的知識(shí)):“假定和約束”描述系統(tǒng)設(shè)計(jì)中最主要的約束,這些是由客戶強(qiáng)制要求并在需求說(shuō)明書寫明的。說(shuō)明系統(tǒng)是如何來(lái)適應(yīng)這些約束的。另外如果本系統(tǒng)跟其它外部系統(tǒng)交互或者依賴其它外部系統(tǒng)提供一些功能輔助,那么系統(tǒng)可能還受到其它的約束。實(shí)現(xiàn)的語(yǔ)言和平臺(tái)也會(huì)對(duì)系統(tǒng)有約束,同樣在此予以說(shuō)明?!凹俣ê图s束”,應(yīng)該是現(xiàn)實(shí)需求所有的假定和約束包括了約束包括了性能、規(guī)模、進(jìn)度及商業(yè)等方面等因素?!凹俣ê图s束”,就是開(kāi)發(fā)項(xiàng)目所使用到的一些資源條件。包括:人力,財(cái)力,時(shí)間,設(shè)備等。一般情況下可以寫這么幾方面的內(nèi)容:建議開(kāi)發(fā)軟件運(yùn)行的最短壽命、經(jīng)費(fèi)來(lái)源和使用限制、法律和政策方面的限制、硬件、軟件、運(yùn)行環(huán)境和開(kāi)發(fā)環(huán)境的條件和限制、可利用的信息和資源、建議開(kāi)發(fā)軟件投入使用的最遲時(shí)間等等。
??? 和很多人考慮的一樣,我自己也希望在一個(gè)項(xiàng)目中沒(méi)有所謂的“假定和約束”這個(gè)概念。畢竟作為軟件而言,計(jì)算機(jī)是死的,必須要有開(kāi)發(fā)人員告訴計(jì)算機(jī)怎么去做,怎么去計(jì)算(難道計(jì)算機(jī)最會(huì)干的不就是循環(huán)、判斷嗎?),所以我就希望所有的一切都有一個(gè)定論。以前一個(gè)朋友畢業(yè)做論文要寫需求分析,問(wèn)我們幾個(gè)圈子里面的朋友,我們當(dāng)時(shí)給的回答就是“需求說(shuō)明一定要像《呂氏春秋》一樣,一字千金。就不能有什么假定之類的概念。”呵呵,后來(lái)當(dāng)幾個(gè)兄弟都開(kāi)始自己要寫需求的時(shí)候才發(fā)現(xiàn),《呂氏春秋》般的需求說(shuō)明書才是真正的軟件開(kāi)發(fā)過(guò)程中的烏托邦,幾乎不可能出現(xiàn)的。很多項(xiàng)目不停的進(jìn)行修改、不停的有推翻重來(lái)的可能,終極原因也就是因?yàn)轫?xiàng)目經(jīng)理沒(méi)有很好的注意對(duì)于假定和約束的思考。(唉,去年組里面的兄弟為此可是吃了不少虧,這幾乎是去年我自己工作中的致命bug了,很是羞愧ing)
???? 完整的“假定和約束”描述對(duì)于項(xiàng)目經(jīng)理進(jìn)行后期的數(shù)據(jù)庫(kù)設(shè)計(jì)、系統(tǒng)詳細(xì)設(shè)計(jì)等工作的時(shí)候都能起到良好的幫助作用。需求多思考一分鐘,對(duì)于后期工作的工作效率提高的遠(yuǎn)遠(yuǎn)不是這么一點(diǎn)點(diǎn)時(shí)間了。同時(shí)完整的“假定和約束”描述對(duì)于程序開(kāi)發(fā)人員而言作用也是相當(dāng)大的,也就是把所有的問(wèn)題在前期提出來(lái),其實(shí)每個(gè)程序員都有自己的思想,沒(méi)有人愿意別人要他作甚么他就作甚么,項(xiàng)目經(jīng)理能在需求分析階段將所有的“假定和約束”提出,對(duì)于程序員自己的思考也是很有幫助的。至少,不停的修改,不停的升級(jí)這種情況能盡量少一些:)
?
?? 所以,從現(xiàn)在開(kāi)始,呵呵,好好思考“假定和約束”問(wèn)題
????
???