您好,登錄后才能下訂單哦!
借助隱喻可以更加深刻地理解軟件開發的過程。通過把不太理解的東西和一些你較為理解、且十分類似的東西做比較,這樣可以對不太理解的東西產生更深刻的理解,這種使用隱喻的方式叫做建模。
隱喻的威力在于其生動性,能夠讓你把握整個概念,暗示各種屬性、關系以及需要查證的部分。但是過度引申時,模型也會誤導人們。
軟件隱喻的作用更像是啟示,而不是算法,告訴你如何去尋找答案。算法是一套定義明確的指令使你完成某個特定的任務,算法是可預測的、確定的、不易變化的。
算法與啟發式方法之間的區別就在于其距離最終解決辦法的間接程度:算法直接給你解決問題的指導,而啟發式方法告訴你如何發現這些指導信息或者至少到哪里去尋找他們。
對于編程來說,最大的挑戰是將問題概念化(建模),編程中的很多錯誤是概念性的錯誤,因為每一個問題在概念上都是獨特的,所以要找到一套能解決所有問題的指導規則是很難得,甚至不太可能,所以能夠一般性質地知道大致如何解決問題,至少也和知道如何解決特定問題一樣有價值。
軟件的牡蠣養殖觀點:牡蠣制造珍珠的過程隱喻軟件開發,其中關鍵詞語有“增量的”,“迭代的”,“自適應的”以及“演進的”。以增量方式進行設計、編譯和測試,都是目前已知的最強有力的軟件開發概念。
在進行增量式開發時,先做出軟件系統的一個盡可能簡單、但能夠運行的版本,它不必接受真實的輸入,無須對數據進行真正的處理,不用產生真實的輸出,僅僅只需要一個足夠強壯的骨架,支撐起未來將要開發的真實系統。對于標志處的每一項基本功能,僅需要調用虛假的類。在骨架形成之后,要一點點地在其上附著肌肉和皮膚:將虛假的類替換為真正的類,接受真實的輸入,產生真實的輸出。
軟件構建:首先要決定準備建一個什么類型的房子---問題定義,接下來與建筑師探討總體設計---軟件架構設計,然后畫出詳細的藍圖并雇承包人---軟件詳細設計,在然后打地基、搭房屋框架、砌墻、通水電等---軟件構建,油漆工、裝修工將房子美化---軟件優化,檢查人員檢查工地、地基、框架、布線等---軟件評審。
通常自己編寫現成的、可以買得到的代碼是沒有意義的,除非在特殊情況下需要定制。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。