第二章 UML簡介 課前指引 本章介紹什麼是UML以及利用圖形來塑模資訊系統的好處在哪裡。文中也介紹了何謂「4+1的觀點」、以及簡述各項UML圖形的使用目的。並且,我們從靜態以及動態這兩個觀點來分類、介紹各圖形的使用時機。
章節大綱 章首示意圖 2-3 UML圖形簡介 2-1 塑模 2-4 UML工具 2-2 4+1觀點 備註:可依進度點選小節
章首示意圖
UML UML是Unified Modeling Language的縮寫,中文翻譯為統一塑模語言。從上一章,我們知道為什麼它會有統一(Unified)這個字。UML統合了物件導向方法論之各派不同的方法,提供了一致性的圖形語言做為開發系統的溝通媒介。 UML是圖形語言 UML不是一種語言 UML是一種語言
UML 圖形的溝通工具 對於系統的使用者,我們可以用UML來表達系統的功能,讓使用者對於系統所能從事的工作有一個高層次的了解。
2-1 塑模(Modeling) Why? 那麼塑模(Modeling)的意思呢?顧名思義,塑模就是塑造模型。所以問題可以改成, 為什麼要塑造模型?
2-1 塑模(Modeling) 塑模的例子 我們每個人應該都曾看過樣品屋, 你可能曾在建築公司見過,或者是從電視上看到。為什麼建築師要蓋那些樣品屋?它又不能住人。相同的問題同樣出現在許多的不同的工程領域中。為什麼飛機製造商要建造飛機的模型?為什麼造橋的工程師也要蓋橋的模型?這些模型到底有什麼做用?
2-1 塑模(Modeling) 塑模的原因 工程師建造模型來驗證他們的設計不會出問題。並且,如果設計真的出了問題,損失的只是模型。飛機製造商藉由飛機的模型以及風動的測試來看看設計出來的飛機可不可以飛;造橋的工程師可以利用模型來測試橋樑可以承受的強風或是重量而不至於斷裂。建築師利用樣品屋可以知道到底有沒有人會想要買他設計出來的房子。
2-1 塑模(Modeling) 塑模的好處 建構模型比建構實物來得較容易,也較便宜。 模型可以用來模擬。如果出現了錯誤,也不至於造成重大的損失。 使用模型可以幫助我們學習。 使用模型是一種有效的溝通方式。 使用模型,可以用來表達不同層次的細節。
2-1 塑模(Modeling) 軟體塑模 塑模可以達成的四個目標 透過塑模,我們可以對於即將開發的系統有更好的了解;利用塑模,可以幫助我們預見將來在系統開發時所會面臨到的問題,及早做修正。 塑模可以達成的四個目標 Booch等在他們的書中指出了塑模可以達成的四個目標 模型幫助我們視覺化一個系統 模型允許我們詳述一個系統的結構或是行為。 模型給出了指引我們建構系統的一個樣板 模型記錄了我們所做的決定
2-2 4+1觀點 4+1觀點最早是由Philippe Kruchten於1995年在一篇論文中所提出。所謂的4+1觀點是用來做為塑模系統架構的一個藍圖。Booch等在他們所出版的UML使用手冊中定義了UML中的4+1觀點,簡述如下: 使用案例觀點(Use Case View) 從系統外部的使用者角度,表達系統所提供的功能。(4+1中的1指的是使用案例觀點。)
2-2 4+1觀點 設計觀點(Design View) 處理流程觀點(Process View) 描繪出系統的靜態結構以及動態行為,以做為系統所應提供之功能的解答。因此,設計觀點圍繞在類別,介面以及物件的合作等等設計問題上。 處理流程觀點(Process View) 描繪出組成系統的平行以及同步機制之執行緒(thread)以及程序(process)。這個觀點強調系統的性能、延展性等非功能性需求。 實作觀點(Implementation View) 以模組或元件來顯示設計觀點的物件是在那一個模組或元件中實作。
2-2 4+1觀點 部署觀點(Deployment View) 描繪系統在執行時,各個組成元件的實際佈置與安裝。強調系統執行環境的硬體拓樸結構。
2-3 UML圖形簡介 對於4+1觀點中的每一個觀點,可以利用UML所提供的九種圖形來表達。對於每一個不同的觀點,又可區分為靜態面以及動態面,因此,這九種UML圖形在各觀點的應用時機可以利用下面這一個表格來做一個歸納整理。
2-3 UML圖形簡介 UML圖形與4+1觀點 靜態模型 動態模型 使用案例觀點 使用案例圖 互動圖、狀態圖、活動圖 設計觀點 類別圖、物件圖 處理流程觀點 實作觀點 元件圖 部署觀點 部署圖
2-3 UML圖形簡介 UML圖形與4+1觀點 利用不同的觀點來看系統是了解系統架構相當有效的方式。而利用RUP所提出之各種不同觀點,我們基本上可以將系統以下列的方式來看之: 功能觀點 靜態觀點 動態觀點 部署觀點
2-4 UML工具 IBM Rational Software Architect 6.0
2-4 UML工具 Sparx Systems Enterprise Architect
2-4 UML工具 Visual Paradigm 6.0
2-4 UML工具 JUDE