為什么要建模?
就好比如若你自己要建造一座小房子,首先得先給要建造的房子設計一張草圖甚至是藍圖;若要建造一座大廈,首先要做的肯定不是先去所需買材料,而是需要對建筑物的大小,形狀和樣式做一個規劃,做出相應的圖紙和模型。可能在規劃中突然有了更好的想法,還可以對圖紙或模型進行不斷的修改。這樣直到對圖紙、對模型滿意之后再進行施工。這樣不僅建造出滿意的大廈還能提高施工的效率。
建筑物需要建模,同樣,軟件也需要建模,就像之前沒有任何建模的情況下直接進行《機房收費系統》的軟件開發,而且還妄圖開發出高質量的產品,結果就是軟件不斷地有bug,甚至有時候都不知道問題出在了哪里。
所以說,如果沒有對代碼結構、過程和工具的詳細計劃,很大的可能都會是一個失敗的產品。看到一句話是:每一個失敗的軟件項目都有其特殊的原因,但是成功的項目在許多方面都是類似的,軟件組織獲得成功的因素有很多,但是一個基本的因素就是對建模的使用。
建模的目標
1、便于開發人員展現系統
2、允許開發人員指定系統的結構或行為
3、提供指導開發人員構造系統的模板
4、記錄開發人員的決策
通用建模語言的必要性
對比項目的復雜度會發現,越簡單的項目,使用規范建模的可能性越小。實際上,即便是最小的項目,開發人員也要建立模型,雖然說很不規范。開發者可以在一塊黑板或者一小片紙上概略地描述一下系統的某個部分,團隊可以使用CRC(類一責任一協作者模型)卡片來驗證設計的可行性。這些模型本身沒有任何錯誤,只要有用就盡可能地使用。但是這種不正規的模型通常情況下很難被其他開發者所共享,因為太有個性色彩了。正因為這樣,通用建模語言的存在成為必然。
每個項目都可以從建模中受益。甚至在自由軟件領域,模型可以幫助開發小組更好的規劃系統設計,更快地開發。所有受人關注的有用的系統都有一個隨著時間推移越來越復雜的趨勢,如果不建立模型,那么失敗的可能性就和項目的復雜度成正比。
建模四原則
1、選擇建立什么樣的模型對如何發現和解決問題具有重要的影響。就是說選擇正確的模型。
2、每個模型可以有多重表達方式
3、好的模型總是能夠切合實際
4、孤立的模型是不完整的
面向對象建模
面向對象建模主要模塊是對象或者類。對象通常是從問題字典或者方法字典中抽象出來的,類是對一組具有共同特點的對象的描述,每一個對象都有自己的標識、狀態和行為。
也就是說,他可以描述一個軟件從需求分析直到實現和測試的開發全過程。
對于建模還有任何不懂得問題歡迎咨詢,免費教材分享