天天看點

讀《建構之法》

         按照精讀的讀法,細緻的讀完了《建構之法》的第一、二、十六章。結合書本内容與自我了解,提出以下問題。

     第一章

1.1軟體=程式+軟體工程

書中有這樣一個例子:如果一架民用飛機上有需求,使用者使用它的機率是百萬分之一,你還要做這個功能麼?你會選擇:

1.  根本不考慮

2.  如果沒時間實作這個功能就算了

3.  做了,但不告訴使用者

4.  做了,而且不厭其煩地告訴使用者如何使用

謎底是:

飛機的安全功能。

我的問題:隻有安全功能被考慮在内嗎?同理在軟體功能中極少部分的使用就能不考慮嗎?

一個民用飛機它的運作一定是商業的,根據書中前文中提到的:軟體企業=軟體+商業模式。同理用于航空公司。通俗地說,一個航空公司一定是要賺錢的,那麼它所注重的,是使用者的飛信體驗,除開安全功能,他的其他功能的開發一定是為了有商業競争力。

從海底撈的近幾年的大火,我們可以看出,與衆不同的營銷能夠讓使用者趨之若鹜,大家都願意去海底撈,比起同價位的火鍋店,他的服務更貼心,而且有他與别家不同的東西。同理在航空公司上,首都航空在飛機上禁用便攜式電子裝置的時候,飛機座位前人手一個pad,也許飛行疲憊,都利用短暫的飛行時間補眠,一個飛機上也許沒有一個人使用它,但對于少部分精神很好的人,pad的存在無疑是一個很好的打發時間的娛樂工具。

再說到現在的南航等部分航空公司開放飛機wifi,這難道在各航空公司的競争中不是一個強有力的武器。就算以後所有的飛機都有飛機WiFi,人們記住的是先行試用的南航的驚人的行動力,緻力于提高使用者的飛行體驗。

由此看出一個軟體也應該做到這樣吧?

第二章

對于第二章,都起來就不向第一章那麼清楚明白了,例如回歸測試,效能分析等,讀了很多遍還不是很懂。

文中有關于確定團隊裡的成員是合格的軟體工程師,一個團隊需要一定的流程來管理開發活動,每個工程師在軟體生命周期所做的工作也應該有一個流程。那就是是以提到的psp。

我的問題:當一個軟體被分成子產品,一個子產品由這個子產品的作者完成,代碼的作者最了解代碼的目的,特點,和實作的局限性,然而當一個子產品它已經可以可以完成這部分的功能而他隐藏的局限性并沒有被作者發現出來,那麼這個問題一定會影響以後的運作。這個問題又應該怎麼解決?

第十六章

我的問題:第十六章整章都在講一個創新,對于一個新興行業來說,軟體的更新日新月異,這樣就無可避免的有重複性能的軟體出現,怎麼樣的創新才算創新?在目前已知的領域、已知的需求裡面,真正适用的好的軟體還少之又少,談創新隻是企業一個宣傳噱頭還是認真的?

以下觀點來自豆瓣論壇:

現實中多數設計者都期望設計出的東西覆寫更多的人,往往這就是敗筆的開始。

創新是生産力發展的第一要素和最主要驅動力...軟體隻是服務于人類發展的一種工具,軟體創新就是順應人類需求發展而對舊理念的突破...隻要是能夠對提高生産力有幫助的都叫創新,任何事物都是不會停止發展的,當然發展過程中不适應發展的創新必然會被淘汰...