【夯實PHP基礎】UML序列圖總結

来源:http://www.cnblogs.com/aiweixiao/archive/2016/11/15/6065686.html
-Advertisement-
Play Games

原文地址 序列圖主要用於展示對象之間交互的順序。 序列圖將交互關係表示為一個二維圖。縱向是時間軸,時間沿豎線向下延伸。橫向軸代表了在協作中各獨立對象的類元角色。類元角色用生命線表示。當對象存在時,角色用一條虛線表示,當對象的過程處於激活狀態時,生命線是一個雙道線。 消息用從一個對象的生命線到另一個對 ...


原文地址

序列圖主要用於展示對象之間交互的順序。

  序列圖將交互關係表示為一個二維圖。縱向是時間軸,時間沿豎線向下延伸。橫向軸代表了在協作中各獨立對象的類元角色。類元角色用生命線表示。當對象存在時,角色用一條虛線表示,當對象的過程處於激活狀態時,生命線是一個雙道線。

  消息用從一個對象的生命線到另一個對象生命線的箭頭表示。箭頭以時間順序在圖中從上到下排列。 

  序列圖中涉及的元素:

  1. 生命線:

  生命線名稱可帶下劃線。當使用下劃線時,意味著序列圖中的生命線代表一個類的特定實例。

 

  2. 同步消息

  發送人在它繼續之前,將等待同步消息響應。

   

  3. 非同步消息

  在發送方繼續之前,無需等待響應的消息。

 

  4. 註釋


  5. 約束

  約束的符號很簡單;格式是: [Boolean Test]

 

  6. 組合片段

  組合片段用來解決交互執行的條件及方式。它允許在序列圖中直接表示邏輯組件,用於通過指定條件或子進程的應用區域,為任何生命線的任何部分定義特殊條件和子進程。

  常用的組合片段有:

  抉擇(Alt

  抉擇用來指明在兩個或更多的消息序列之間的互斥的選擇,相當於經典的if..else..。

  抉擇在任何場合下只發生一個序列。 可以在每個片段中設置一個臨界來指示該片段可以運行的條件。else 的臨界指示其他任何臨界都不為 True 時應運行的片段。如果所有臨界都為 False 並且沒有 else,則不執行任何片段。

 

  選項(Opt

  包含一個可能發生或不發生的序列

 

  迴圈(Loop

  片段重覆一定次數。 可以在臨界中指示片段重覆的條件。

 

  並行(Par

 

  下表列出了常用的組合片段:

片段類型

名稱

說明

Opt

選項

包含一個可能發生或可能不發生的序列。 可以在臨界中指定序列發生的條件。

Alt

抉擇

包含一個片段列表,這些片段包含備選消息序列。 在任何場合下只發生一個序列。

可以在每個片段中設置一個臨界來指示該片段可以運行的條件。 else 的臨界指示其他任何臨界都不為 True 時應運行的片段。 如果所有臨界都為 False 並且沒有 else,則不執行任何片段。

Loop

迴圈

片段重覆一定次數。 可以在臨界中指示片段重覆的條件。

Loop 組合片段具有“Min”“Max”屬性,它們指示片段可以重覆的最小和最大次數。 預設值是無限制。

Break

中斷

如果執行此片段,則放棄序列的其餘部分。 可以使用臨界來指示發生中斷的條件。

Par

並行

並行處理。 片段中的事件可以交錯。

Critical

關鍵

用在 Par 或 Seq 片段中。 指示此片段中的消息不得與其他消息交錯。

Seq

弱順序

有兩個或更多操作數片段。 涉及同一生命線的消息必須以片段的順序發生。 如果消息涉及的生命線不同,來自不同片段的消息可能會並行交錯。

Strict

強順序

有兩個或更多操作數片段。 這些片段必須按給定順序發生。

  有關如何解釋序列的片段

  預設情況下,序列圖表明可能發生的一系列消息。 在運行的系統中,可能會出現您未選擇顯示在關係圖上的其他消息。

  以下片段類型可用於更改此釋義:

片段類型

名稱

說明

Consider

考慮

指定此片段描述的消息列表。 其他消息可發生在運行的系統中,但對此描述來說意義不大。

“Messages”屬性中鍵入該列表。

Ignore

忽略

此片段未描述的消息列表。 這些消息可發生在運行的系統中,但對此描述來說意義不大。

“Messages”屬性中鍵入該列表。

Assert

斷言

操作數片段指定唯一有效的序列。 通常用在 Consider 或 Ignore 片段中。

Neg

否定

此片段中顯示的序列不得發生。 通常用在 Consider 或 Ignore 片段中。


   
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、spring aop execution表達式說明 在使用spring框架配置AOP的時候,不管是通過XML配置文件還是註解的方式都需要定義pointcut"切入點" 例如定義切入點表達式 execution(* com.sample.service.impl..*.*(..)) executi ...
  • 在網上找了很多方法,終於找到了一個,記錄之。 JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); factory.setServiceClass(Service1Soap.class);// 設置請求介面 factory.setA... ...
  • 1、錯誤類型:PHP致命錯誤 Error type: PHP Fatal error Fatal error: Cannot redeclare (a) (previously declared in (b)) in (c) on line (d) 2、錯誤描述: 該錯誤報告表示你正企圖對已經定義過 ...
  • urllib requets selenium的應用場景 cookie識別用戶身份和記錄用戶狀態 driver.get_cookies() 獲得cookie信息 add_cookie(cookie_dict) 向cookie添加會話信息 delete_cookie(name) 刪除特定(部分)的co ...
  • 上篇說到了 RabbitMQ 的安裝。 這次要在講案例之前,需要安裝PHP的AMQP擴展。不然可能會報以下兩個錯誤。 1.Fatal error: Class 'AMQPConnection' not found 2. Fatal error: Uncaught exception 'AMQPCon ...
  • RabbitMQ: 1、是實現AMQP(高級消息隊列協議)的消息中間件的一種。 2、主要是為了實現系統之間的雙向解耦而實現的。當生產者大量產生數據時,消費者無法快速消費,那麼需要一個中間層。保存這個數據。 一般提到 RabbitMQ 和消息,都會用到以下一些專有名詞: (1)生產(Producing ...
  • 閱讀目錄 前言 怎麼賣 領域服務的使用 回到現實 結語 閱讀目錄 前言 怎麼賣 領域服務的使用 回到現實 結語 一、前言 上篇中我們講述了“把商品賣給用戶”中的商品和用戶的初步設計。現在把剩餘的“賣”這個動作給做了。這裡提醒一下,正常情況下,我們的每一步業務設計都需要和領域專家進行溝通,儘可能的符合 ...
  • 一、概述 迭代器模式提供一種方法順序訪問一個聚合對象中的各個元素,而又不暴露其內部的表示。 二、解決問題 迭代器模式就是提供一種遍歷元素的統一介面,用一致的方法遍歷聚合元素。試想,如果我們的聚合元素是用不同的方式實現的,有些用了數組,有些用了java的集合類,或者還有其他方式,當客戶端要遍歷這些元素 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...