讓軟體像樹一樣成長起來而非像房子一樣建造起來

2021-07-02 20:48:22 字數 1042 閱讀 3086

讓軟體像樹一樣成長起來而非像房子一樣建造起來

——fred brooks

學了這麼久的軟體設計模式和軟體體系結構,今天看到這句話,確實有些話想說,觀點不一定正確,仁者見仁,智者見智!

軟體工程與其它所有的傳統工程領域都不一樣,沒有辦法事先將設計做得非常完美,使用者的需求隨時可能發生變化,這在其它工程領域中是無法想像的。比如建築工程中,一旦設計圖紙定了,工程開始施工之後,使用者如果需要更改需求,這幾乎是不可能的事,這樣產生的高昂的成本代價是任何一家建築公司無法承受的。事實上,在傳統工程領域中,使用者需要對需求做出臨時更改的情況並不多見,使用者的腦海中也不會有隨時改變需求的意識和想法。

軟體工程是從其它傳統工程領域概念中搬過來的概念,這不得不說是一項劃時代的進步,把傳統軟體行業從小作坊生產方式推向了高度工業化模式。

然而,軟體工程發展到今天,業內人士又發現了乙個巨大的問題,其它工程的概念並不能完全適用於軟體工程,在一些具體的專案中甚至會嚴重的水土不服。造成這種現象的根本原因就在於——需求變化,這點非常重要。文章開頭舉的例子可以看出來。

但是,使用者去並不明白這些或者說即使明白他們也不會在意,在使用者看來,軟體工程內所謂的需求變化只不過是增加、刪除或者修改**罷了,這在使用者看來並沒有什麼了不起的,也不會關心這樣做的成本問題。使用者不會給建築公司提要求讓他們在事先擬定的報酬範圍內為已經完工或者快要完工的建築加乙個地下室,如果真的有客戶這樣做了,建築公司肯定會懷疑這個客戶是不是剛剛從精神病院也來。但是這個問題放在軟體領域將會出現另一番現象,使用者能夠理直氣壯的針對一款軟體產品對軟體公司提出一些需求變化,不管這款軟體的開發處於什麼時期,這並不會給使用者帶來絲毫的心理負擔。當然我需要宣告的是,對於軟體產品來說,使用者的合理的需求變化是正常的,畢竟使用者事先也並不能考慮到所有方面。

上述的情況對軟體工程提出了新的要求,我們設計的系統、軟體要盡可能的適應更多維度的需求變化,這對軟體(系統)框架的設計來說至關重要。在當今這個以信奉「使用者就是上帝」的市場經濟時代,fred brooks所說的應該是我們的終極追求,雖然這很難,但大家不都正在向這個目標邁進,不是嗎?

讓SOA使用者像超人一樣自由

普元軟體今年為 應用打造像超人一樣自由 靈活 神速的新理念 當超人突然發現自己的超能力時欣喜若狂。於是,他試著開始學習飛翔。他笨拙地飛過麥田,飛過莊園,直到最後他終於可以自由而靈活地飛向藍天。這是普元軟體今年為soa應用打造的新理念 像超人一樣的自由 靈活 神速,並以此期望獻給在soa應用路途上不斷...

讓Activity像Dialog一樣從螢幕底部彈出

第一步 準備xml 1.retech page from bottom 2.retech page to bottom 3.retech page stay 第二步 啟動activity時 intent intent new intent mcontext,class mcontext.starta...

如何讓文章像病毒一樣傳播

最近幾年,一直在寫實用型的文章,很少些評論型文章。最近打算天天更新部落格了,那麼需要讓部落格人氣火爆起來,於是我就用以前的技巧寫了前天那篇評論,果然火爆,評論打破了我部落格的記錄,同時罵架罵的是灰天暗地,效果不錯。今天的se程式設計客棧o賺錢培訓講課過程中,根據不少學員的需要,我重點講了一下軟文的寫...