關於這個話題,我似乎說過好多次了。軟體系統其實就是現實系統的抽象,就是現實系統的模型。最近,看到乙個論點,是這樣說的:軟體建模(架構)的過程其實就是乙個定理證明的過程。我得說,在我看來,這有一定的真理性。但是事實有一定的差異。基本原因是:我們碰到問題的時候,並不總是對問題的解決方案一無所知的,或者更確切的說,對問題的解決方案幾乎總是有一定的了解得。這時候,證明的過程其實並不是很明顯,反而是表達的過程成了重頭戲。
這兒,我在闡述一遍我的觀點,軟體就是模型,就是抽象。基於上面的描述,軟體開發過程也就是構思模型和表達模型的過程。由於表達和構思互相影響,密不可分(大家可以參照語言和思維的關係來理解這一點),所以我只說表達這個方面。我們的模型如何表達現實?
必須解釋一下資料的概念了。資料就是表達關係的,關係緊密到一定程度就叫做屬性了。乙個客體,或者常常被稱作物件,物件,就是用其屬性描述的。我們描述了客體,也就反映了現實。而客體是資料的集合,所以我們運算元據也就是反映了現實的行為了。對於資料的操作我們有crud(create read update destory)四個,對應於資料庫系統的insert、select、update、delete四個基本的資料操縱原語。所有的客體的行為,最終都是用crud來表達的。所以,只要我們正確地表達了資料,我們就能夠正確地表達軟體系統。
《軟體開發本質論》總結
這本書是大領導推薦,內容是作者關於軟體開發工作的經驗總結,本書薄薄的一本,字數不多,其價值在我這樣的新手看來很是重要,現總結這本書的一些內容 其中有些是個人體會,會有括弧標識 1 價值是我們軟體開發行業者的工作重點,產品功能的設計 團隊的組建 軟體的開發需要以創造價值為導向 2 當軟體發布並且被實際...
反饋 軟體開發流程與實踐的本質
我在大學裡面學的專業是自動控制。反饋是任何自動化控制系統中必不可少的。比如,在控制鍋爐爐溫的控制系統中,想要把爐溫控制在600 那麼感測器必須週期性採集鍋爐的溫度,控制系統再根據爐溫來調整火力。溫度不夠的話,燒火的還得再給點力 溫度差不多了就可以一邊歇著了。反饋的概念相當簡單,它在很多地方都發揮著重...
你真的了解軟體開發的本質嗎?
摘要 我們總是喜歡用自己的經歷來定義軟體是什麼以及判斷標準,但如果這種經歷來自完全不同的兩個領域,並且互相矛盾,那麼就有可能讓大家吵來吵去 是的,各位在忙於解決具體問題時,誰還會想到談談軟體開發的本質?看過我之前文章的人,可能會感覺到我對不加思考的所謂分享是持鄙視態度的,不管這種分享被冠以乾貨,經驗...