UML 為什麼要使用UML

2021-09-08 07:40:30 字數 1678 閱讀 5206

以前一提到uml,就想到了複雜的流程圖。很敬佩哪些想想就能畫出整個系統的uml圖的人,因為他們頭腦中有整個軟體架構的藍圖,這樣在編寫實現的時候,就會知道哪個地方改怎麼做,哪個地方如何擴充套件。而想成為架構師,uml也是必備的技能。這裡就根據《大象——thinking in uml》總結一些學習筆記。

平時總是在說什麼是物件導向,什麼是面向過程。

面向過程,就是典型的c語言這種,乙個main函式,從頭走到腳,中間可能涉及到一些方法的呼叫,但是整個**完全是流水線一樣。這樣就會導致乙個問題,雖然**流程很清晰,但是不容易擴充套件,我需要修改某乙個計算過程,有可能導致全部**需要重寫。

物件導向,就是以一種物件的角度來編寫程式,設計程式,每個物件具有自己的生命特徵。每個物件內部具有一些複雜的變數以及方法,對外提供介面或者公共方法進行呼叫,這就是封裝。而物件之間可以互相關的繼承,借鑑存在的方法,這就是繼承。相同型別的物件,可以提取公共的部分,形成乙個新的父類物件,這就是抽象。每個相同型別的子物件之間可能存在不同的方法,這就是多型

這樣,通過物件的方式,來看待世界,整個過程就變得解耦了,一旦需要擴充套件或者修改某個地方,單純的修改與之對應的物件就可以了。

而這其中的難點,就是如何從現實世界中的業務場景轉換到抽象的物件模型;而通過複雜物件模型如何表示業務場景。

通過上面這個步驟,就可以從現實世界抽象出模型來表示業務場景了。

首先通過建模,把現實世界中需要的一些資料進行建模,建立對應的模型。

然後根據這些模型去設計相關的一些概念,比如控制類,實體類,以及邊界的展現類。

最後設計這些概念模型,進行**級的實現。

設計思想有了,那麼就出現了一種叫做rup的統一建模的過程模式,通過這種建模的模式,可以完整而且穩定的展示乙個軟體的軟體生命週期。

通過這四個階段,9個核心,完美的詮釋了傳統軟體的生命活動,但是現代的軟體開發,大多講究極限程式設計,敏捷開發,想要通過快速的迭代更新,來進行快速的適應,以滿足快速的需求變化。但是對於一些10年之久的系統來說,穩定才是最重要的,因此這種統一過程往往是最佳的選擇。

對於uml來說,我們最難的就是如何建模了!

首先要明確,建模的目的是什麼?需要滿足什麼業務場景!其次,根據多種場景抽象出模型。

傳統的方式可以通過自頂向下,或者自底向上的方式來進行。

自底向上,就是首先建立底層小物件的模型,再通過組合等方式,拼湊出完整的業務場景。

自頂向下,就是先進行大體的場景描述,再慢慢的細分功能。

一般都是這兩種方式,不斷的迭代,最終找到合適的方案。

posted @

2014-12-23 20:24

xingoo 閱讀(

...)

編輯收藏

UML 為什麼要使用UML

以前一提到uml,就想到了複雜的流程圖。很敬佩哪些想想就能畫出整個系統的uml圖的人,因為他們頭腦中有整個軟體架構的藍圖,這樣在編寫實現的時候,就會知道哪個地方改怎麼做,哪個地方如何擴充套件。而想成為架構師,uml也是必備的技能。這裡就根據 大象 thinking in uml 總結一些學習筆記。平...

UML是什麼?UML不是什麼?

大多數軟體人員應該對uml並不陌生,什麼是uml?它是unified modeling language,它是一種建模語言,它是進行需求分析和概要設計的利器。在您的理解中,什麼是uml呢?它僅僅是那些圖形 文字和符號的集合嗎?還是一種用文字 圖形和符號的集合來描述現實生活中各類事物 活動 及其之間關...

UML 建模是什麼 為什麼要建模?

首先在我們學習建模之前我覺得應該了解建模是什麼?為什麼要建模?就好比如若你自己要建造一座小房子,首先得先給要建造的房子設計一張草圖甚至是藍圖 若要建造一座大廈,首先要做的肯定不是先去所需買材料,而是需要對建築物的大小,形狀和樣式做乙個規劃,做出相應的圖紙和模型。可能在規劃中突然有了更好的想法,還可以...