【系統分析】UML圖表完整簡介:從使用案例到部署圖,一次知道所有UML圖表

更新 發佈閱讀 4 分鐘


使用案例圖(Use Case)

raw-image


1994年由Jacobson發明出來

由使用者角度,以高層次俯瞰並捕捉系統的需求

內部觀點 : 系統做什麼(What)外部觀點 : 參與者與系統怎麼互動(How)


  • 界定系統的分界,且不要把太細的細節畫出來
  • 界定出系統外與系統內



類別圖(Class)

raw-image


類別圖的產生是由領域模型轉換來

不是你寫完程式才反向將類別圖畫出來


類別圖是可以幫助人們了解這系統中有哪些物件

這些物件個別有什麼屬性與操作

物件與物件之間又有什麼關係




物件圖(Object)

raw-image

就像我們寫程式,撰寫類別後

會實例化創造出物件來

所以物件圖也被稱為實例圖(Instance)

通常物件圖的建立並不是必需的,不太常用


  • 藉由實際物件,可以幫助我們找尋新的類別
  • 檢驗類別圖的準確度



循序圖(Sequence)

raw-image

唯有循序圖才能表達系統運作時,物件與物件之間的互動行為

並以時間為主軸,可以知道訊息是如何在物件間傳遞與處理程序的




溝通圖(Communication)

raw-image

在UML1.X版中叫合作圖

UML2.0版改叫溝通圖


主要是描述物件間的互動行為

其實我覺得可以想成是循序圖的另一種表達方式

而且很多工具也支援將循序圖轉為溝通圖

或反向溝通圖轉成循序圖



狀態圖(State)

raw-image

以上為利用狀態圖描述學生一天的狀態


了解物件、子系統、系統等

在生命週期中,所有可能的狀態

以及造成狀態轉換的事件

且不同狀態下會如何活動


通常狀態圖都是為了”一個物件類別”而畫

以了解這類別存活時的行為



活動圖(Activity)

raw-image

其實可以把它看作流程圖


通常可以補足使用案例無法表達的部分

透過活動圖可以看出不同參與者會經歷的作業活動

作業活動中轉換和條件

特別是還可以描述具平行處理的情境



元件圖(Component)

raw-image

元件,其本質其實就是物件

但最大的不同點在於物件強調的是 “個體(Instance)” 的特徵及外在行為而元件強調的是 “介面(Interface)” 的溝通

用模組化的方式去表達軟體的架構

以及模組與模組之間的相依關係



部署圖(Deployment)

raw-image

通常都是畫完元件圖後,才畫部署圖

說明系統中應用到的軟硬體

如 : 處理器、處理元件是如何配置

甚至畫出硬體或網路基礎建設的拓樸



套件圖(Package)

raw-image

上圖表達出套件與套件之間的關係

也可以描述套件與其他群組元素的組成關係



時序圖(Timing)

raw-image

基本上用不太到

主要專注表達即時(Real-time)的環境上

並且用時間尺規表達物件在不同時間點上的狀態變化




互動概念圖(Interaction Overview)

raw-image

可以看做就是活動圖的變形

偶爾會用,因為適合用在分析和設計階段

通常以活動圖為主要還說明活動與控制流程

更細部的活動就已互動圖(包含循序圖、時序圖、溝通圖)來表達



複合結構圖(Composite Structure)

raw-image

也是個很少用的圖

也跟前面的元件圖、實例圖很像

只是著重以類別的角度還表達實例間如何運作

或物件如何達成目標




輪廓圖(Profile)

raw-image

也是一個不常用的圖,又稱剖面圖

當你的code跟圖會有關係時

用到MDA時

你就可能會用到








留言
avatar-img
留言分享你的想法!
avatar-img
ZAXC科技商業週週報
3會員
11內容數
分享軟體科技與商業時事新知 👏歡迎一起每週變得更強👏
你可能也想看
Thumbnail
在小小的租屋房間裡,透過蝦皮購物平臺採購各種黏土、模型、美甲材料等創作素材,打造專屬黏土小宇宙的療癒過程。文中分享多個蝦皮挖寶地圖,並推薦蝦皮分潤計畫。
Thumbnail
在小小的租屋房間裡,透過蝦皮購物平臺採購各種黏土、模型、美甲材料等創作素材,打造專屬黏土小宇宙的療癒過程。文中分享多個蝦皮挖寶地圖,並推薦蝦皮分潤計畫。
Thumbnail
小蝸和小豬因購物習慣不同常起衝突,直到發現蝦皮分潤計畫,讓小豬的購物愛好產生價值,也讓小蝸開始欣賞另一半的興趣。想增加收入或改善伴侶間的購物觀念差異?讓蝦皮分潤計畫成為你們的神隊友吧!
Thumbnail
小蝸和小豬因購物習慣不同常起衝突,直到發現蝦皮分潤計畫,讓小豬的購物愛好產生價值,也讓小蝸開始欣賞另一半的興趣。想增加收入或改善伴侶間的購物觀念差異?讓蝦皮分潤計畫成為你們的神隊友吧!
Thumbnail
這個章節主要介紹了Swift程式語言中物件導向程式設計的基本概念,包括類別、建構子、公開、私有、受保護等等的概念。同時,也介紹了繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda表達式、泛型和反射等進階特性。
Thumbnail
這個章節主要介紹了Swift程式語言中物件導向程式設計的基本概念,包括類別、建構子、公開、私有、受保護等等的概念。同時,也介紹了繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda表達式、泛型和反射等進階特性。
Thumbnail
這篇文章介紹了面試時以及開始工作後可能會遇到的問題,包括物件導向OOP、SOLID 設計原則、測試方式,以及 Cookie、Session 與 Cache 的相似處與不同處。提供了豐富的相關資訊。
Thumbnail
這篇文章介紹了面試時以及開始工作後可能會遇到的問題,包括物件導向OOP、SOLID 設計原則、測試方式,以及 Cookie、Session 與 Cache 的相似處與不同處。提供了豐富的相關資訊。
Thumbnail
本章節是一個初級的 TypeScript 教學,主要介紹了 TypeScript 中物件導向程式設計的各種核心概念,包括類別、建構子、存取修飾子、繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda 表達式、泛型和反射等。每個概念都通過詳細的解釋和實例代碼來進行深入的介紹。
Thumbnail
本章節是一個初級的 TypeScript 教學,主要介紹了 TypeScript 中物件導向程式設計的各種核心概念,包括類別、建構子、存取修飾子、繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda 表達式、泛型和反射等。每個概念都通過詳細的解釋和實例代碼來進行深入的介紹。
Thumbnail
本章節的目的是讓讀者瞭解C#的物件導向特性,包括類別、繼承、多型、封裝等基本概念,以及介面、抽象類別、靜態類別等進階主題。此外,本章節也將介紹如何使用列舉、委派、Lambda表達式、泛型及反射,這些都是C#中常見的強大功能。
Thumbnail
本章節的目的是讓讀者瞭解C#的物件導向特性,包括類別、繼承、多型、封裝等基本概念,以及介面、抽象類別、靜態類別等進階主題。此外,本章節也將介紹如何使用列舉、委派、Lambda表達式、泛型及反射,這些都是C#中常見的強大功能。
Thumbnail
本文介紹了Python中的物件導向程式設計的重要概念,包括類別、繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda表達式、泛型和反射。每個概念都有對應的程式碼範例來說明其用法和功能。這些概念對於理解和使用Python進行物件導向程式設計至關重要。
Thumbnail
本文介紹了Python中的物件導向程式設計的重要概念,包括類別、繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda表達式、泛型和反射。每個概念都有對應的程式碼範例來說明其用法和功能。這些概念對於理解和使用Python進行物件導向程式設計至關重要。
Thumbnail
本階段深掘PHP中類別與物件的應用,從基本定義到屬性與方法的運用,並特別著重於訪問控制和靜態成員的概念。學生將學會如何有效地利用公開、保護、私有屬性,以及如何在不實例化的情況下透過類別名稱直接訪問靜態屬性和方法,進一步鞏固物件導向程式設計的核心知識。
Thumbnail
本階段深掘PHP中類別與物件的應用,從基本定義到屬性與方法的運用,並特別著重於訪問控制和靜態成員的概念。學生將學會如何有效地利用公開、保護、私有屬性,以及如何在不實例化的情況下透過類別名稱直接訪問靜態屬性和方法,進一步鞏固物件導向程式設計的核心知識。
Thumbnail
系統的分析與規劃 在談到程式設計時,首要的是進行系統的分析與規劃。程式設計的起點通常是系統分析與規劃,這涉及到如何分析和設計系統的大原則和方向。為了達到預期效果,重要的是擁有對產業的清晰邏輯認識和深入了解。 進行深入了解 若要進行系統分析,必須對企業的設計和程式設計的對象進行深入了解,以充分理
Thumbnail
系統的分析與規劃 在談到程式設計時,首要的是進行系統的分析與規劃。程式設計的起點通常是系統分析與規劃,這涉及到如何分析和設計系統的大原則和方向。為了達到預期效果,重要的是擁有對產業的清晰邏輯認識和深入了解。 進行深入了解 若要進行系統分析,必須對企業的設計和程式設計的對象進行深入了解,以充分理
Thumbnail
在網路上查找可以發現有很多類別圖的 6 種關係的說明與示例,通常不太容易難取得共鳴。主要有兩個原因: 1. 對於這些關係線的定義混淆,導致無法判斷滿足條件與使用時機 2. 缺少生活相關的具體案例,很難理解這些關係所對應的抽象概念
Thumbnail
在網路上查找可以發現有很多類別圖的 6 種關係的說明與示例,通常不太容易難取得共鳴。主要有兩個原因: 1. 對於這些關係線的定義混淆,導致無法判斷滿足條件與使用時機 2. 缺少生活相關的具體案例,很難理解這些關係所對應的抽象概念
Thumbnail
這邊要來跟大家分享流程圖是什麼?它很重要嗎? 一、什麼是流程圖?   它可以幫我們簡化密密麻麻的程式,用圖表來說明這支程式運行的來龍去脈,包含著流程的步驟、決策、輸出/輸入的相關過程。   當我們在製作程式過程中,可以協助我們紀錄、規劃流程、甚至是介紹程式或未來自己要看的時候,流程圖就可以派上用場
Thumbnail
這邊要來跟大家分享流程圖是什麼?它很重要嗎? 一、什麼是流程圖?   它可以幫我們簡化密密麻麻的程式,用圖表來說明這支程式運行的來龍去脈,包含著流程的步驟、決策、輸出/輸入的相關過程。   當我們在製作程式過程中,可以協助我們紀錄、規劃流程、甚至是介紹程式或未來自己要看的時候,流程圖就可以派上用場
Thumbnail
知識圖解是一個非常實用的技能,但不是很好掌握。這篇文章分享由軟體架構師 Simon Brown 提出的 C4 模型,可以很好地讓圖解變的「見樹又見林」,最後我還會分享在軟體業之外的應用。如果你是需要在工作場合中思考與溝通複雜事物的人,就一起來看看這篇文章吧!
Thumbnail
知識圖解是一個非常實用的技能,但不是很好掌握。這篇文章分享由軟體架構師 Simon Brown 提出的 C4 模型,可以很好地讓圖解變的「見樹又見林」,最後我還會分享在軟體業之外的應用。如果你是需要在工作場合中思考與溝通複雜事物的人,就一起來看看這篇文章吧!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News