UML與面向對象的前世今生

前面講了面向對象的概念,相信大家對面向對象有了一定的認識,這裏我們再來嘮一嘮UML的前世今生

  • 【爲什麼要發明UML,UML用來解決什麼問題】

從20世紀70年代,隨着面向對象編程思想的興起,大家越來越發現原來以結構化的面向過程的分析設計方法沒辦法推導和指導面向對象編程,面向過程的分析設計還是第一步做什麼,第二步做什麼,但是面向對象卻是以看起來沒有太大關係的對象爲中心,面向過程的連續性和過程化結構設計與事件驅動型的離散對象結構編程脫鉤,爲了解決面向對象編程的分析與設計問題,一批面向對象的設計方法(OOD)開始出現,比如Booch86,GOOD(通用面向對象開發),HOOD(層次化面向對象設計),OOSE(面向對象結構設計),這些方法雖然各不同,但是理念卻非常相似,爲了方便使用和推廣,三位面向對象大師(Booch, Jacobson, Rumbaugh)決定將各自的方法進行統一,在1995年10月推出“Unified Method”,後來提交到對象管理組織(OMG),正式命名爲“UML”,即Unified Modeling Languange,UML就由此誕生了

  • 【UML分析設計如何指導面向對象編程】

1. 可視化

UML用各類元模型(圖標)將各類信息需求進行轉換,使得各種文字可見或者不可見的內容更便捷的展示和傳遞,使信息接受者更容易接收理解,比如參與者(執行者)、用例圖、時序圖、狀態圖、類圖等等等等,下面是簡單的例子

加載中....

2. 從現實世界到業務模型

UML通過人、事、物來抽象現實世界,人是一切的中心,人有需求,就會去做事情滿足需求,做事就會使用一些物,併產生一些物,同時遵循相應的社會規則,人驅動系統,做事體現過程,物記錄結果,規則是控制。通過定義人、事、物之間的規則,現實世界就可以建模起來了。UML通過執行者/參與者(Actor,也就是上面那個小人)來代表現實世界的“人”。再通過用例來表示執行者想做什麼,有什麼需求,這個就是現實世界中的“事”(也就是上面圖中的橢圓),再通過用例場景和業務場景來描述做事的規則。最後,通過業務對象模型視圖(可以理解爲一個圖)來說明在做事的過程中涉及到的物,並定義他們之間的關係,這樣,人、事、物、規則就被模型化了

3. 從業務模型到概念模型

通過上面的業務模型,現實世界被模擬記錄下來了,但是還是指導不了編程的工作,需要將業務模型轉化成一種可以指導開發的表達方式,這個時候UML通過概念模型來建立適合計算機理解和實現的模型(也行分析模型),UML通過以下幾個元模型來進行概念模型建模:

PS:所謂的概念模型可以認爲是建立計算機編程的概念

4. 從概念模型到設計模型

   概念模型基本上描繪了面向對象編程所需要的對象組成了,在設計模型中,邊界類可以轉化成操作界面或者接口了,控制類可以轉化成計算機邏輯代碼,實體類可以理解爲實體對象,數據表之類的

 

最後,用下面一張圖解釋UML分析設計是如何推導指導面向對象編程的

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章