軟體設計方法論
很久以來都在思考一個問題,即軟體該如何設計?
現在有很多所謂的軟體設計方法,如面向結構,面向物件,面向服務等等,但作為建築專業卻從事軟體行業的我,卻怎麼也感覺不到它們的好處。難道軟體不能像建築一樣有明確的定義嗎?
以前人們說軟體屬於高新技術,於是只有很少的感興趣的人去搞,結果他們中很多人確實搞出名堂來了,結果出來了比爾蓋茨,除了求伯君。他們當時寫的軟體不需要方法論去指導,因為那是藝術,或者說是個人藝術行為。
但當時的軟體確實技巧性很高,規模很小,所以比較容易平少量幾個人的能力來完成,DOS也就幾百K,但不可否認這些成功的軟體質量都很好。
不過軟體發展很快,短短几年,已經不知道改變多少了---它不再是所謂的高新技術了,甚至普通高中生都能做,就好像沒讀書的農民都能夠搞建築一樣,只不過因為軟體涉及到很多英文,現在農民工還不能做,但離那天也許不遠。
軟體能不能像建築一樣分工那麼明確呢?能不能形成完善而統一的設計規範、施工規範甚至定額呢?
今天先多個引子,改天再思考吧
相關推薦
軟體設計方法論
很久以來都在思考一個問題,即軟體該如何設計? 現在有很多所謂的軟體設計方法,如面向結構,面向物件,面向服務等等,但作為建築專業卻從事軟體行業的我,卻怎麼也感覺不到它們的好處。難道軟體不能像建築一樣有明確的定義嗎? 以前人們說軟體屬於高新技術,於是只有很少的感興趣的人去搞,結果
軟體設計模式七大原則
設計模式七大原則: 1.開放-封閉原則 2.單一職責原則 3.依賴倒轉原則 4.迪米特法則(也稱為最小知識原則) 5.介面隔離原則 6.合成/聚合複用原則 7.里氏代換原則 一.開放-封閉原則 概念:一個軟體實體如類、模組和函式應該對擴充套件開放,對修改關閉。模組應該儘量在不修改
軟體設計模式與體系結構--單例模式
單例模式例項 餓漢模式和懶漢模式區別 一.懶漢模式 只有在自身需要的時候才會行動,從來不知道及早做好準備,它在需要物件的時候,才判斷是否已有物件,如果沒有就立即建立一個物件,然後返回,如果已有物件就不再建立,立即返回。懶漢模式只在外部物件第一次請求例項的時候才去建立。程式碼如下: 1
程式設計師教程-5章-軟體工程基礎知識 軟體設計之UML—UML中的六大關係
先給出目錄結構 5.1 軟體工程概述 5.1.1 軟體生存週期 1 問題定義 2 可行性分析 3 需求分析 4 總體設計 5 詳細設計 6 編碼和單元測試 7 綜合測試 8 維護
交易環節訊息中介軟體設計——去哪兒餘昭輝
交易環節訊息中介軟體 問題考慮 不能丟訊息 丟訊息意味著掉單,意味著支付成功但是沒給人家出票,這是不能接受的。 穩定 訊息中介軟體一旦出問題,交易不能進行,也是嚴重的故障。 效能 典型的訊息中介軟體包含 3 部分 producer(釋出者)、broker(訊息中
青春激揚,創意無限——記美和易思特色班軟體設計大賽
知道嗎?安徽交通職業技術學院城信系美和易思網際網路+特色專業,前幾天又開始“搞事情”了,快跟隨小編的步伐,一起來回顧一下吧—— 11號下午16:00,城信系美和易思網際網路+特色專業第一屆“青春激揚,創意無限”專案大賽正式在北區八角樓拉開了帷幕。特色專業17、18級的同學悉數到場,不僅如此
【學習筆記】慕課網—Java設計模式精講 第3章 軟體設計七大原則-3-1 本章導航
/** * 軟體設計七大原則-本章導航 學習筆記 * @author cnRicky * @date 2018.11.7 */ 本章導航 開閉原則(所有原則的一個基礎) 依賴倒置原則 單一職責原則 介面隔離原則 迪米特法則(最少知道原則) 里氏替換原則 合成/複用原則(組合
【學習筆記】慕課網—Java設計模式精講 第3章 軟體設計七大原則-3-2 開閉原則
/** * 軟體設計七大原則-開閉原則 * @author cnRicky * @date 2018.11.7 */ 開閉原則 定義:一個軟體實體如類、模組和函式應該對擴充套件開放,對修改關閉 強調的是用抽象構建框架,用實現擴充套件細節 優點:提高軟體系統的可複用性及可維護性 開閉原則
常用的軟體設計模式(一)單例模式
單例模式:即一個類只有一個例項,在類裡自己建立自己的例項。 優點: (1)單例模式會阻止其他物件例項化其自己的單例物件的副本,從而確保所有物件都訪問唯一例項。 (2)因為類控制了例項化過程,所以類可以靈活更改例項化過程。尤其是在C++中,每次new都要delete,而是用單例模式可以避免
常用軟體設計模式(四)備忘錄模式
備忘錄模式:在不破壞封裝性的前提下,捕獲一個物件的內部狀態,並在該物件之外儲存這個狀態。這樣以後就可將該物件恢復到原先儲存的狀態 優點:1、給使用者提供了一種可以恢復狀態的機制,可以使使用者能夠比較方便地回到某個歷史的狀態。 &nb
常用軟體設計模式(三)工廠方法模式
工廠方法模式:定義一個用於建立物件的介面,讓其子類決定例項化哪一個工廠類,工廠模式使其建立過程延遲到子類進行。 優點:1、一個呼叫者想建立一個物件,只要知道其名稱就可以了
常用的軟體設計模式(二)簡單工廠模式
剛參加工作的時候,絲毫沒有面向物件的思想,所有分支都使用一堆的if...else...,現在回頭看以前的程式碼,著實low。但是隻要一心想著進步的人,一定是會總結和反省的,為什麼以前的程式碼出現bug這麼難維護,功能擴充套件那麼難,程式碼難得到複用,過了段時間連自己寫的程式碼都不知道什麼意思。都說女
常用軟體設計模式(六)迭代器模式
迭代器模式不常用,很多高階語言都將該模式封裝在語言中了,入C#的 foreach in 但是有必要了解一下 迭代器模式:提供一個方法順序訪問一個聚合物件中各個元素,而又不暴露該物件的內部表示。 優點: 1、它支援以不同的方式遍歷一個聚合物件。 &nb
軟體設計之—— 高內聚低耦合
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
軟工作業 6:軟體設計—— 使用者體驗
一:背景 為進一步提升資訊化應用水平,更好的服務師生,南通大學智慧校園移動端APP“今日校園”定於11月5日正式上線執行。登陸APP可瀏覽學校新聞、校園 生活、各部門微信公眾號等內容,檢視校內通知、校內發文、部門發文,查詢
軟工作業 6:軟體設計—— 使用者體驗(案例分析)
“今日校園” App 使用者體驗分析 一、背景 為進一步提升資訊化應用水平,更好的服務師生,南通大學智慧校園移動端APP“今日校園”定於11月5日正式上線執行。登陸APP可瀏覽學校新聞、校園生活、各部門微信公眾號等內容,檢視校內通知、校內發文、部門發文,查詢一
【學習筆記】慕課網—Java設計模式精講 第3章 軟體設計七大原則-3-6 迪米特原則(最少知道原則)
/** * 軟體設計七大原則-迪米特原則 學習筆記 * @author cnRicky * @date 2018.11.10 */ 迪米特原則(最少知道原則) 一個物件應該對其他物件保持最少的瞭解。又叫最少知道原則 迪米特原則主要強調:儘量降低類與類之間的耦合 優點:降低類與類之
【學習筆記】慕課網—Java設計模式精講 第3章 軟體設計七大原則-3-5 介面隔離原則
/** * 軟體設計七大原則-介面隔離原則 學習筆記 * @author cnRicky * @date 2018.11.10 */ 介面隔離原則 定義:用多個專門的介面,而不使用單一的總介面,客戶端不應該依賴它不需要的介面 一個類對一個類的依賴應該建立在最小的介面上 建立單一介
【學習筆記】慕課網—Java設計模式精講 第3章 軟體設計七大原則-3-4 單一職責原則
/** * 軟體設計七大原則-單一職責原則 學習筆記 * @author cnRicky * @date 2018.11.10 */ 單一職責原則 定義:不要存在多於一個導致類變更的原因 一個類只負責一個職責,如果分別有兩個職責,那就建立兩個類分別負責職責1和職責2 一個類/介面/方法只負