如何畫時序圖、流程圖、狀態流轉圖

如何畫時序圖、流程圖、狀態流轉圖

  • 流程圖
    • 符號
    • 約定
  • 時序圖
    • 元素
    • 交互框
    • 最佳實踐
  • 狀態流轉圖

在研發或者寫技術方案的時候,我們經常會畫各種圖。圖比文字更加容易理解一些,那么如何畫出優秀好看的圖呢

下面簡單介紹一些畫圖時需要注意的點

流程圖

流程圖是流程的圖形化。所謂流程,IS09000 系列國際標準中將流程定義為一組將輸入轉化為輸出的相互群或相互作用的活動。流程有六個要素構成,分別是流程的輸入資源、流程中的若干活動、活動的相互作用、輸出結果、顧客、最終流程創造的價值

一個流程會將這6個要素有序串聯起來,而流程圖則是承載上述程序的圖形載體

符號

流程圖中的每個符號都有著特定含義:
在這里插入圖片描述

約定

除了符號規劃、結構規劃,繪制流程圖過程中還要注意一些約定俗成的路徑規劃,比如

1,繪制流程圖時,為了提高流程圖的邏輯性,應遵循從左到右、從上到下的順序排列

2,一個流程從開始符開始,以結束符結束。開始符號只能出現一次,而結束符號可出現多次。若流程足夠清晰,可省略開始、結束符號

3,同一流程圖內,符號大小需要保持一致,同時連接線不能交叉,連接線不能無故彎曲

4,流程處理關系為并行關系的,需要將流程放在同一高度

5,處理流程須以單一入口和單一出口繪制,同一路徑的指示箭頭應只有一個

一個簡單的示例
在這里插入圖片描述

時序圖

時序圖,又名序列圖、循序圖,是一種 UML 交互圖。它通過描述對象之間發送消息的時間順序顯示多個對象之間的動態協作,時序圖可以清晰的說明在多個系統、多個對象中的交互邏輯

元素

我們在畫時序圖時會涉及7種元素:角色、對象、生命線、控制焦點()、消息(Message)、自關聯消息、組合片段。其中前6種是比較常用和重要的元素,剩余的一種組合片段元素不是很常用,但是比較復雜。我們先介紹前6種元素,在單獨介紹組合片段元素。

角色(Actor):系統角色,可以是人或者其他系統,子系統。以一個小人圖標表示

對象(Object):

對象位于時序圖的頂部,以一個矩形表示。對象的命名方式一般有三種:

  • 對象名和類名。例如:華為手機:手機
  • 只顯示類名,不顯示對象,即為一個匿名類。例如::手機
  • 只顯示對象名,不顯示類名。例如:華為手機:

生命線(LifeLine):時序圖中每個對象和底部中心都有一條垂直的虛線,這就是對象的生命線
在這里插入圖片描述

活動條(Activation):在生命線的虛線上可以用活動條來表示某種行為的開始和結束,一般用小矩形來表示
在這里插入圖片描述
消息(Message):表現代表對象之間發送的信息。消息分為三種類型

  • 同步消息(Synchronous Message):消息的發送者把控制傳遞給消息的接收者,然后停止活動,等待消息的接收者放棄或者返回控制。用來表示同步的意義。以一條實線和實心箭頭表示
  • 異步消息(Asynchronous Message):消息發送者通過消息把信號傳遞給消息的接收者,然后繼續自己的活動,不等待接受者返回消息或者控制。異步消息的接收者和發送者是并發工作的。以一條實線加大于號表示
  • 返回消息(Return Message):返回消息表示從過程調用返回。以小于號加虛線表示
    在這里插入圖片描述

交互框

UML 在2.0時在時序圖中加入了交互框。交互框用來解決交互執行的條件和方式,它允許在序列圖中直接表示邏輯組件,用于通過指定條件或子進程的應用區域,為任何生命線的任何部分定義特殊條件和子進程。組合片段共有13種,這里只展示一些常用的
在這里插入圖片描述

最佳實踐

1,從初始消息開始畫,依次畫出隨后消息,并給每個消息分配序號,方便理解
2,角色和對象用名詞,消息用動詞
3,角色放在時序圖的開始位置,對象重要程度或使用頻率從左到右排列。這就要根據時間的流程考慮了,是一個比較主觀的事情
4,活動條兩端要以消息元素封頂,控制焦點不要超過消息元素,錯誤示例:
在這里插入圖片描述

狀態流轉圖

狀態流轉圖是一種用于描述狀態之間流轉過程的需求文檔,在電商類產品的訂單流、審批流一類的需求中比較常見,可以直觀的看見狀態機的變更

狀態流轉圖較簡單,箭頭中寫了一些操作,模塊中則寫了狀態,沒有判斷、循環等額外模塊
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/95428.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/95428.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/95428.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CSDN 與 掘金 高效學習指南

CSDN 和掘金(juejin.cn)是國內最活躍的技術社區,但信息量巨大、質量參差不齊。高效運用的關鍵是:從“被動瀏覽”轉向“主動獲取”,避免陷入“收藏一堆文章卻學不會”的陷阱。 以下是為你量身定制的CSDN 與 掘金 高效學…

容器tomcat鏡像制作

pull-tomcat鏡像 docker pull tomcat啟動 –security-opt 禁用默認的安全策略,放寬限制 docker run -d --name mysql-tomcat -p 8080:8080 --security-opt seccompunconfined tomcat:latest進入容器直接訪問404,網頁相關的webapps下面為空,將…

AC安全認證方式全解析

AC的幾種安全認證方法認證方式 安全性 便捷性 典型應用場景 所需配置Portal認證 ??中 高 訪客網絡、商場、 Portal服務 酒…

《壘球江西百科》男子壘球世界紀錄·壘球9號位

男子壘球世界紀錄終極盤點? | 冷知識科普!1. 最遠本壘打距離 | Longest Home Run Distance紀錄保持者: Jeff Hall (美國)距離: 643英尺 (約196米)賽事: 2012年 USSSA 慢投壘球錦標賽? 科普: 慢投壘球中,球…

設計模式六大原則2-里氏替換原則

肯定有不少人跟我剛看到這項原則的時候一樣,對這個原則的名字充滿疑惑。其實原因就是這項原則最早是在1988年,由麻省理工學院的一位姓里的女士(Barbara Liskov)提出來的。定義1:如果對每一個類型為 T1的對象 o1&#x…

Spring Security 深度學習(五): 過濾器鏈與自定義過濾器

目錄1. 引言:揭開Spring Security的內部奧秘2. Spring Security 過濾器鏈核心機制2.1 DelegatingFilterProxy:整合Spring與Servlet容器2.2 FilterChainProxy:管理安全過濾器鏈的“總管”2.3 Security Filters:核心安全功能的承載者…

微軟GraphRAG 端到端使用及自用工具類

文章目錄一. 環境準備1.安裝 Python 環境2.安裝依賴3.配置 LLM API Key二. 初始化項目三. 文檔上傳 & 索引構建四. 問答(CLI 方式)示例:五. 代碼中調用 GraphRAG工具概覽核心工具詳解1. simple_graphrag_integration.py - 智能問答核心2.…

sqlserver2008導入excel表數據遇到的問題

1.如果表格為.xlsx格式時可能會提示“沒有為此鏈接管理提供列”,無法點擊下一步的話,建議可以使用.csv格式 .csv格式可能也會存在此提示,但是可以不用管 2.導入.csv數據時,字段為int時,填null導入不進去的話可以給個0作…

Unity游戲打包——打包流程

本文由 NRatel 歷史筆記整理而來,如有錯誤歡迎指正。一、基本流程二、組合步驟把上述每步做成獨立的輸入輸出邏輯 y fuc(x)然后,控制/組合其過程,可靈活產生不同的流程:1、單渠道出測試包2、單渠道出正式包3、單渠道包熱更三、構…

卷積神經網絡(二):手寫數字識別項目(一)

文章目錄手寫數字識別項目一、準備數據集二、定義模型三、模型訓練3.1 導入依賴庫3.2 設備設置(CPU/GPU 自動選擇)3.3 超參數定義3.4數據集準備1.獲取數據集2.劃分訓練集與驗證集3.創建 DataLoader(按批次加載數據)3.5模型初始化與…

批量給文件夾添加文件v2【件批量復制工具】

代碼功能介紹 這個代碼的功能就是一個,給某個文件夾里面添加某個文件(含父級文件夾下的每一個子文件夾) 舉個例子,父級文件夾是:“D:\Desktop\1,要添加的文件路徑是:D:\1.txt” 則最后會把文件…

Qt實現2048小游戲:看看AI如何評估棋盤策略實現“人機合一

2048 是一款經典的數字益智游戲,其簡單的規則背后蘊含著豐富的策略性。該項目不僅完整實現了 2048 的核心玩法,還包含了一個基于啟發式評估和蒙特卡洛方法的智能 AI 玩家。 我們將從項目整體架構入手,逐一解析游戲核心邏輯、UI 渲染、事件處理、AI 策略等關鍵模塊,并通過展…

封裝紅黑樹實現mysetmymap

1. 源碼分析 set實例化rb_tree時第二個模板參數給的是key&#xff0c;map實例化rb_tree時第?個模板參數給的是 pair<const key,T>&#xff0c;這樣一顆紅黑樹既可以實現key搜索場景的set&#xff0c;也可以實現key/value搜索場 景的map源碼里面模板參數是用T代表value&…

以OWTB為核心以客戶為基礎的三方倉運配一體化平臺分析V0.2

一、系統概述以OWTB&#xff08;Order-Warehouse-Transportation-Billing&#xff0c;訂單-倉儲-運輸-結算&#xff09;為核心的三方倉運配一體化平臺&#xff0c;是專為第三方物流企業打造的深度定制化解決方案。該平臺以第三方倉運配為主線&#xff0c;以多客戶/多SKU/個性化…

技術框架之腳手架實現

一、 序言在日常的企業級Java開發中&#xff0c;我們經常會發現自己在重復地做著一些項目初始化工作&#xff1a;創建相似的項目結構、引入一堆固定的依賴包、編寫通用的配置文件、拷貝那些幾乎每個項目都有的基礎工具類和日志配置。這些工作不僅枯燥乏味&#xff0c;而且容易出…

小迪安全v2023學習筆記(七十七講)—— 業務設計篇隱私合規檢測重定向漏洞資源拒絕服務

文章目錄前記WEB攻防——第七十七天業務設計篇&隱私合規檢測&URL重定向&資源拒絕服務&配合項目隱私合規 - 判斷規則&檢測項目介紹案例演示URL重定向 - 檢測判斷&釣魚配合介紹黑盒測試看業務功能看參數名goole語法搜索白盒測試跳轉URL繞過思路釣魚配合資…

用AI做旅游攻略,真能比人肉整理靠譜?

大家好&#xff0c;我是極客團長&#xff01; 作為一個沉迷研究 “AI 工具怎么滲透日常生活” 的科技博主&#xff0c;我開了個 AI 解決生活小事系列。 前兩期聊了用 AI 寫新聞博客、扒商業報告&#xff0c;后臺一堆人催更&#xff1a;能不能搞點接地氣的&#xff1f;比如&am…

Axure RP 9 Mac 交互原型設計

原文地址&#xff1a;Axure RP 9 Mac 交互原型設計 安裝教程 Axure RP 9是一款功能強大的原型設計和協作工具。 它不僅能夠幫助用戶快速創建出高質量的原型設計&#xff0c;還能促進團隊成員之間的有效協作&#xff0c;從而極大地提高數字產品開發的效率和質量。 擁有直觀易…

多線程——線程狀態

目錄 1.線程的狀態 1.1 NEW 1.2 RUNNABLE 1.3 BLOCKED 1.4 WAITING 1.5 TIMED_WAITING 1.6 TERMINATED 2.線程狀態的相互轉換 在上期的學習中&#xff0c;已經理解線程的啟動&#xff08;start()&#xff09;、休眠&#xff08;sleep()&#xff09;、中斷&#xff08;i…

IMX6ULL的設備樹文件簡析

先分析一個完整的設備樹&#xff0c;是怎么表達各種外設信息的。以imux6ull開發板為例進行說明。這個文件里就一個設備信息才這么點內容&#xff0c;是不是出問題了&#xff1f;當然不是&#xff0c;我們知道dts文件是可包含的&#xff0c;所以&#xff0c;最終形成的一個完整文…