經常使用 UML 總結

這是我參與 8 月更文挑戰的第 5 天,活動詳情查看: 8月更文挑戰web

爲何要作需求分析?

爲了便於和客戶、策劃溝通,經過文檔的形式來展現本身對客戶需求的理解程度,省得作偏了,作出來的不是客戶或策劃須要的。 開發成本上,優先級等方面考慮 弄清楚用戶要解決什麼問題,從用戶提供的,用戶未提供但潛在存在的等方面全面地理解、挖掘、分析出用戶真實、準確的需求markdown

用例圖

1、用例圖是什麼場景下使用

從客戶的角度來描述系統功能,在需求分析文檔裏使用併發

2、組成元素

參與者:使用該系統的人或事物,以人形圖標表示app

用例:表明系統某項完整的功能,用橢圓表示oop

關係:定義用例之間的關係,有泛化關係,擴展關係,包含關係post

3、泛化關係

表示同一業務目的(父用例)的不一樣技術實現(各個子用例),用三角箭頭從子用例指向父用例 好比支付包含了分期支付,支付寶支付,貸款支持等,但同時也能夠用來表示基於某個參與者有更多的用例。spa

4、擴展與包含的區別

包含:一個用例能夠包含其餘用例具備的行爲,並把它包含的用例行爲做爲自身行爲的一部分,採用虛線箭頭加 include 指向被包含的用例 擴展:在完成某個功能的時候偶爾會執行另一個功能,用虛擬箭頭加 extend 指向被包含的用例。線程

類圖

1、類圖的主要元素

類、接口、關係code

2、類的主要元素

類名、屬性和方法orm

公共類型用 + 表示,私有用 - 表示,保護用 # 表示

對應 TypeScript 裏的 public private protected

3、類圖都有哪些關係

  1. 泛化關係:類與類,接口與接口之間的繼承關係,好比圓形繼承於形狀類,用實線空心箭頭指向父類

  2. 實現關係:類與接口之間的實現關係,用虛線空心箭頭指向父類

  3. 依賴關係:一個系統依賴另外一個系統的服務,好比自行車經過打氣筒類來充氣,用虛線箭頭指向被依賴的類,不會爲某輛自行車專門配個打氣筒

  4. 關聯關係:存在固定的對應關係,好比主人和自行車,公司與員工等,用實線箭頭指向被關聯的類。

    • 關聯關係的名稱:描述該關係的性質,是個動詞短語,代表源對象正在目標對象上執行動做
    • 關聯關係的角色:一個類對另外一個類所表現的職責,角色名稱是名詞或者名稱短語
    • 關聯關係的多重性:有多少對象能夠參與該關聯,1 表示 1 個對象,1..n 表示 1 到 n 個對象,* 表明許多個對象

    在這裏插入圖片描述

  5. 聚合關係:總體和部分的關係,兩個類處於不一樣的層次上,一個表明總體,一個表明部分,好比汽車由輪胎以及其它零件組成,用空心菱形箭頭表示,其中菱形指向總體,箭頭指向部分

在這裏插入圖片描述

  1. 組合關係:部分的生命週期依賴於總體,好比公司與部門,用實心菱形箭頭表示,其中菱形指向總體,箭頭指向部分

在這裏插入圖片描述

4、關聯、聚合、組合之間的差異

首先組合、聚合是關聯關係的一種,關聯的兩個類是屬於同一層級,而聚合、組合是不一樣層級,是總體與部分的關係,另外組合關係裏的部分的生命週期依賴於總體。 表示方式也不一樣,關聯是用實線箭頭指向被關聯類,聚合是用空心菱形箭頭,空心菱形指向總體,箭頭指向部分,而組合則是用實心菱形箭頭表示,實心菱形指向總體,箭頭指向部分。

時序圖

1、做用

描述對象之間傳遞消息的時間順序,即用例中的行爲順序。其中縱軸是時間軸,橫軸是表明在協做中各個獨立的對象

2、組成元素

  • 對象
  • 生命線
  • 消息
  • 激活
  • 對象的建立和銷燬(X)
  • 組合片斷: - 抉擇(ALT)兩個或更多消息序列之間的互斥的選擇,至關於 if else,在片斷中設置一個臨界來指示該片斷能夠運行的條件。好比空間配置有配製第三方跳轉則跳轉,沒有則繼續 - 選項(Opt)包含一個可能發生或不發生的序列,好比獲取相冊,通知,微博等動態數據是根據是否配製該應用來決定的 - 循環(Loop)片斷重複必定次數,能夠在臨界中指示片斷重複的條件 - 並行(Par)並行處理,片斷中的事件能夠交錯。好比發起相冊,通知等接口的請求是互相沒有依賴,能夠並行的 - 中斷(Break)

3、選項與抉擇的區別

選項表示可能會發生,也可能不會發生,通常用於只有一個 if 的場景 抉擇則用在多個 if 或者有 else 的場景

活動圖(流程圖)

1、做用

描述系統的活動,斷定點和分支

2、活動圖的組成元素

  • 動做狀態,圓角矩形
  • 分支與合併,空心小菱形,分支包括一個入轉換和兩個帶條件的出轉換
  • 分叉與匯合,分叉用來描述併發線程,粗直線表示
  • 泳道:哪些活動是由哪些對象進行的
相關文章
相關標籤/搜索