如何編寫程式/需求分析
這本身就是許多大型書籍的主題,也是許多高薪顧問的職業生涯。谷歌會引導你進入那個廣闊的領域。
毫無疑問,其他維基編輯可能會在該主題上進行大量的擴充套件。但在這裡,我只想說明
規則2 : 分析癱瘓是你程式所面臨的最大危險。
你可能聽說過,許多程式設計專案失敗或交付時間超長,超預算。
殘酷的真相是,大多數程式根本就沒有開始!
它們在永恆的分析階段凍結並死亡。
當然,你可以比生成 Rational Unified Process 所規定的工件做得更糟糕,但請將它留待你真正需要做一些大事的時候使用。
首先,用最簡單的方式寫下你想要程式做的事情。
現在不要花哨,手寫半頁絕對是最大限度。相信我。
現在讓我們試試...
我想從 ruby 中驅動 Povray 光線追蹤器。
好吧,把它劃掉。這是一個技術目標。一旦你在頁面上看到特定的技術,就把它們劃掉,然後重試...
我想用數學精確的方式繪製帶有成千上萬個物體的酷炫圖片。
啊,這好多了。但太模糊了。
好吧,實際上我試圖在 Povray 中繪製一個字串,但我對場景描述語言感到沮喪,我渴望我喜歡的語言的力量。但我喜歡的語言不做光線追蹤。我發現像 kpovraymodeler 這樣的建模器讓我抓狂,它們沒有做我想做的事情。
哦,很好。這就是客戶想要做的事情。
規則3: 當有人(包括你自己)告訴你“編寫一個程式來做...”時,做一些簡單的筆記,然後忽略他。
始終,始終,始終站起來,走到他們的工作場所,首先理解他們想要做什麼。我向你保證,從數百次的經驗中,如果你只是服從他們,並建立他們(或你自己)告訴你的程式,你會編寫錯誤的程式!
寫下你想與之互動的幾種方法。這些被稱為用例,谷歌會給你提供數百萬頁關於它們的資訊。在我完成程式之前,你還沒有讀完關於這個主題的一半重要頁面... :-)
- 我希望能夠在我的寵物程式語言中建立我的物件,並讓它們以漂亮圖片的形式出現在螢幕上。
- ...
- c2:UseCase,c2:UserStory,c2:UseCaseScenario,c2:UseCaseTemplate,c2:UserStoryAndUseCaseComparison
- http://usecases.org/
- Ali Bharami “面向物件分析與設計”,適合初學者的優秀書籍。