關鍵區別——序列圖與協作圖
在開發軟件之前,有必要很好地理解應該開發什麼。因此,需要對系統進行設計。它可以使用統一建模語言(UML)來完成。它不是一種編程語言,如Java、C#。它用於獲得系統的可視化表示。隨著面向對象程序設計(OOP)的引入,大多數程序和軟件都得到了開發。它是一個範例,有助於用對象對軟件進行建模。繼承、封裝等面向對象的概念可以用UML表示。這很容易理解。它甚至可以被非程序員使用。一般來說,一個圖表不足以理解整個系統。有各種類型的UML圖,每種圖都包含不同的方面。序列圖和協作圖是兩個交互圖。序列圖和協作圖的關鍵區別在於,時序圖用於時間序列更重要的時候,而協作圖則用於對象組織更重要的時候。本文討論了序列圖和協作圖之間的區別。
目錄
1. 概述和主要區別
2. 什麼是序列圖
3.什麼是協作圖
4. 序列圖與協作圖的相似性
5. 並列比較-順序圖與表格形式的協作圖
6. 摘要
什麼是序列圖(sequence diagram)?
序列圖用於表示對象之間在特定時間段內的交互作用。請求消息用深色箭頭表示,返回消息用虛線箭頭表示。矩形垂直框表示每個對象的激活時間。
根據上圖,customer對象向product對象發送一條消息,以查看產品是否可用。product對象向stock對象發送一條消息,以確定該產品是否在stock中可用。根據產品的可用性,庫存將回復產品,產品將回復客戶。然後customer對象向payment對象發送payment消息。最後,將接收消息發送給客戶。請求的產品,付款請求。它們用黑色箭頭表示。是/否、回執是返回消息。它們用虛線箭頭表示。客戶對象在整個過程中都是活動的。產品和庫存對象在開始時處於活動狀態。付款對象在結束時處於活動狀態,因為應該激活它以完成付款。總的來說,序列圖提供了特定時間段內對象之間交互的信息。
什麼是協作圖(collaboration diagram)?
協作圖關注對象之間的交互。它顯示對象組織。數字表示方法調用序列。每個數字代表它被調用的方法。
根據上面的協作圖,對象用矩形表示。消息由箭頭和序列號表示。第一條消息是訂單產品。第二條消息是get price,第三條消息是do payment。同樣,每個消息都有一個序列號。因此,這個數字表示如何一個接一個地調用這些方法。條件語句用方括號表示。通過master和visa支付是單獨的條件。船長付款和**付款屬於支付。因此,它們用3.1和3.2表示。
序列(sequence)和協作圖(collaboration diagram)的共同點
- 序列圖和協作圖都是UML中的交互圖。
- 序列圖和協作圖都描述了系統的行為方面。
序列(sequence)和協作圖(collaboration diagram)的區別
序列圖與協作圖 | |
序列圖是一種UML表示,用於可視化系統中執行特定功能的調用序列。 | 協作圖是一種UML表示,用於可視化對象的組織及其交互。 |
代表 | |
序列圖表示從一個對象流向另一個對象的消息序列。 | 協作圖表示系統的結構組織以及發送和接收的消息。 |
使用 | |
如果時間序列很重要,可以使用序列圖。 | 如果組織圖是重要的,那麼協作圖是很重要的。 |
總結 - 序列圖(sequence diagram) vs. 協作圖(collaboration diagram)
在開發軟件時,不可能直接開始開發。必須瞭解系統。UML用於對系統進行圖形化的理解。UML比通用編程語言(如java、C++等)更容易。其中兩個是序列圖和協作圖。序列圖和協作圖的區別在於,時序圖是在時間序列比較重要的時候使用的,而協作圖是在對象組織比較重要的時候使用的。