0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何設(shè)計(jì)時(shí)序圖—以APA自動泊車系統(tǒng)為例(一)

冬至子 ? 來源:喵星智能車 ? 作者:荔枝喵喵 ? 2023-07-21 14:18 ? 次閱讀

1.時(shí)序圖說明

序列圖是一種 UML(統(tǒng)一建模語言)圖,它說明了系統(tǒng)中對象之間隨時(shí)間的交互,通常用于可視化消息流和軟件系統(tǒng)中對象之間方法調(diào)用的順序。

時(shí)序圖展示對象之間交互的順序,將交互行為建模為消息傳遞,通過描述消息是如何在對象間發(fā)送和接收的來動態(tài)展示對象之間的交互;相對于其他UML圖,時(shí)序圖更強(qiáng)調(diào)交互的時(shí)間順序;可以直觀的描述并發(fā)進(jìn)程。

2.繪制原則

繪制原則在比較簡單,但是如果想要細(xì)致的描述出真實(shí)的交互情況,還需要在細(xì)節(jié)處多加斟酌,以及對整體流程有清晰的把握。在最近繪制時(shí)序圖的工作過程,我感覺到自己對系統(tǒng)的認(rèn)識深入和清晰了許多,不求甚解的地方突然豁然開朗了。

1. 角色(Actor)

系統(tǒng)角色,可以是人、機(jī)器、其他系統(tǒng)、子系統(tǒng);在時(shí)序圖中用下圖表示。

圖片

2. 對象(Object)和生命線(Lifeline)

對象:對象的左右順序并不重要,但是為了作圖清晰整潔,通常應(yīng)遵循以下兩個(gè)原則:把交互頻繁的對象盡可能的靠攏;2.把初始化整個(gè)交互活動的對象放置在最左端。

生命線:在時(shí)序圖中表示為從對象圖標(biāo)向下延伸的一條虛線,表示對象存在的時(shí)間。

圖片

3. 控制焦點(diǎn)(Focus of Control)

又稱為激活期,表示時(shí)間段的符號,在這個(gè)時(shí)間段內(nèi)對象將執(zhí)行相應(yīng)的操作。它可以被理解成C語言語義中一對花括號{ }中的內(nèi)容;用小矩形表示。

4. 消息(Message)

同步消息(Synchronous Message):消息的發(fā)送者把控制傳遞給消息的接收者,然后停止活動,等待消息的接收者放棄或者返回控制。用來表示同步的意義.

異步消息(Asynchronous Message):消息發(fā)送者通過消息把信號傳遞給消息的接收者,然后繼續(xù)自己的活動,不等待接受者返回消息或者控制。異步消息的接收者和發(fā)送者是并發(fā)工作的。

返回消息(Return Message):返回消息表示從過程調(diào)用返回。

5. 自關(guān)聯(lián)消息

表示方法的自身調(diào)用或者一個(gè)對象內(nèi)的一個(gè)方法調(diào)用另外一個(gè)方法。

圖片

6. 組合片段

組合片段用來解決交互執(zhí)行的條件和方式,它允許在序列圖中直接表示邏輯組件,用于通過指定條件或子進(jìn)程的應(yīng)用區(qū)域,為任何生命線的任何部分定義特殊條件和子進(jìn)程。主要使用的組合片段名稱及含義如下:

圖片

3.繪制建議

時(shí)序圖最重要的是應(yīng)該清晰、準(zhǔn)確地表達(dá)系統(tǒng)的交互和行為。根據(jù)需要,最好與團(tuán)隊(duì)成員進(jìn)行溝通和反饋,以確保時(shí)序圖能夠準(zhǔn)確地傳達(dá)設(shè)計(jì)意圖,能夠讓開發(fā)人員沒有誤解。

以下是個(gè)人在繪制時(shí)序圖時(shí)總結(jié)的一些心得體會:

  1. 確定目標(biāo) :明確繪制時(shí)序圖的目的是什么。是為了理解系統(tǒng)的交互流程,還是為了進(jìn)行設(shè)計(jì)和調(diào)試等工作?這有助于確定所需的詳細(xì)程度和關(guān)注的重點(diǎn)。
  2. 選擇適當(dāng)?shù)念w粒度 :根據(jù)上一條確定的目標(biāo)和需求,選擇適當(dāng)?shù)牧6葋肀硎緦ο蠛拖ⅰnw粒度太細(xì)可能導(dǎo)致時(shí)序圖復(fù)雜難懂,而粒度太粗可能會丟失一些重要的細(xì)節(jié)。肯定的是,我們沒辦法傳遞所有的信息,需要根據(jù)時(shí)序圖目的去選擇描述的傾向性。
  3. 使用清晰的命名 :為每個(gè)角色、對象和消息選擇清晰、準(zhǔn)確的命名,以確保時(shí)序圖的可讀性和理解性。避免使用模糊或不明確的術(shù)語,盡量使用業(yè)務(wù)領(lǐng)域相關(guān)的術(shù)語。
  4. 合理組織布局 :在繪制時(shí)序圖時(shí),合理組織和布局對象、生命線和消息,使其易于理解??梢园凑諘r(shí)間順序排列對象和消息,并使用對齊和間距來提高可讀性。
  5. 使用注釋和說明 :在時(shí)序圖中使用注釋和說明來提供額外的解釋和上下文信息。這可以幫助讀者更好地理解時(shí)序圖,尤其是對于復(fù)雜的交互和控制流程。
  6. 簡化和抽象 :對于復(fù)雜的系統(tǒng)和交互,可以考慮使用簡化和抽象的方式來繪制時(shí)序圖,以突出重點(diǎn)和減少混亂??梢允褂梅謱雍颓短椎臅r(shí)序圖,或者使用關(guān)鍵路徑和關(guān)鍵消息進(jìn)行突出。
  7. 使用工具支持 :考慮使用專業(yè)的時(shí)序圖繪制工具,如UML建模工具或在線繪圖工具。這些工具提供了更多的功能和自動化支持,可以使繪制和編輯時(shí)序圖更加高效和方便。

4.繪制工具推薦

磨刀不誤砍柴工,在信息化時(shí)代,好的工具能夠成倍的提高我們的工作效率,下面介紹常用的時(shí)序圖繪制工具。

  1. Enterprise Architect :EA(Enterprise Architect)是一種功能強(qiáng)大的建模和設(shè)計(jì)工具,廣泛用于軟件開發(fā)、系統(tǒng)工程和業(yè)務(wù)流程建模等領(lǐng)域。
  2. Draw.io:Draw.io是一個(gè)在線繪圖工具,提供了各種圖表類型的繪制功能,包括時(shí)序圖。它具有直觀的用戶界面和豐富的圖形庫,可以輕松繪制和編輯時(shí)序圖。Draw.io還支持與Google Drive、Dropbox等云存儲服務(wù)的集成,方便團(tuán)隊(duì)協(xié)作和文件共享。
  3. Microsoft Visio :Microsoft Visio是一種流行的商業(yè)繪圖工具,具有豐富的圖形庫和模板,可用于創(chuàng)建各種圖表和圖形,包括時(shí)序圖。Visio提供了直觀的界面和強(qiáng)大的繪圖功能,適用于較復(fù)雜的時(shí)序圖繪制需求。
  4. Lucidchart :Lucidchart是另一種在線繪圖工具,具有易用的界面和廣泛的圖形庫。它支持時(shí)序圖的繪制,提供了一系列交互元素和布局選項(xiàng),方便繪制和調(diào)整時(shí)序圖的結(jié)構(gòu)和樣式。Lucidchart還提供了與Google Drive、Slack等工具的集成,便于團(tuán)隊(duì)協(xié)作和分享。
  5. PlantUML :PlantUML是一種基于文本的繪圖工具,可以通過簡單的文本描述來生成各種UML圖,包括時(shí)序圖。它具有簡單易用的語法,并支持多種輸出格式,可以使用PlantUML在任何文本編輯器中編寫時(shí)序圖,并使用命令行或插件將其轉(zhuǎn)換為圖像。

詳細(xì)說說我用過的兩個(gè)工具,EA和Draw.io

EA就不用說了,在汽車行業(yè)內(nèi)鼎鼎大名,我們見到大量的設(shè)計(jì)圖都是出自EA,軟件內(nèi)置有專門的狀態(tài)機(jī)繪制模塊、軟件部署、autosar、時(shí)序圖等等,并且能夠自動生成代碼,用起來十分方便,還美觀整潔。

但是由于專業(yè)版的收費(fèi)原因,我供職的幾家都沒有買正版(流汗),只能自己在家用著玩玩,或者使用試用版,有30天免費(fèi)試用(導(dǎo)出圖片會有水?。?/p>

圖片

EA提供的時(shí)序圖模板

Draw.io最大的優(yōu)點(diǎn)是其便捷性,可以在線繪制,并且擁有多種模板,聯(lián)網(wǎng)自動更新,方便團(tuán)隊(duì)協(xié)作??梢陨螱ithub上下載應(yīng)用程序,體驗(yàn)和在線版一模一樣,完美實(shí)現(xiàn)無環(huán)境依賴的辦公。

圖片

Draw.io提供的時(shí)序圖模板

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    211

    文章

    28423

    瀏覽量

    207139
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7604

    瀏覽量

    136861
  • UML
    UML
    +關(guān)注

    關(guān)注

    0

    文章

    122

    瀏覽量

    30861
收藏 人收藏

    評論

    相關(guān)推薦

    自動泊車輔助系統(tǒng)快速增長,AMD攜車規(guī)級自適應(yīng)SoC入局

    近期,AMD宣布其車規(guī)級Zynq UltraScale+ MPSoC平臺被愛信(Aisin)選中,愛信自動泊車輔助(APA系統(tǒng)提供支持。
    的頭像 發(fā)表于 11-21 17:50 ?3008次閱讀
    <b class='flag-5'>自動</b><b class='flag-5'>泊車</b>輔助<b class='flag-5'>系統(tǒng)</b>快速增長,AMD攜車規(guī)級自適應(yīng)SoC入局

    超聲波雷達(dá)在APA自動泊車功能中的應(yīng)用與仿真

    自動泊車輔助系統(tǒng)APA)是現(xiàn)代汽車智能駕駛技術(shù)的重要組成部分,該系統(tǒng)使得車輛能夠在沒有任何人為干預(yù)的情況下,
    的頭像 發(fā)表于 07-19 08:25 ?3490次閱讀
    超聲波雷達(dá)在<b class='flag-5'>APA</b><b class='flag-5'>自動</b><b class='flag-5'>泊車</b>功能中的應(yīng)用與仿真

    有關(guān)自動泊車系統(tǒng)設(shè)計(jì),遇到難題

    的車位,自主避障、自動泊車,從而實(shí)現(xiàn)了智能泊車。我想問的是:設(shè)計(jì)的停車場地,每個(gè)車位上方都有個(gè)指示燈,指示燈亮紅色,則車輛可在此位停泊;
    發(fā)表于 02-27 10:14

    如何檢測自動泊車控制系統(tǒng)

    碩士畢業(yè)論文,用到LABVIEW,怎么檢測自動泊車控制系統(tǒng),要檢測些什么?
    發(fā)表于 12-17 21:02

    如何檢測自動泊車控制系統(tǒng)

    碩士畢業(yè)論文,怎么檢測自動泊車控制系統(tǒng),要檢測些什么
    發(fā)表于 12-17 21:04

    有誰做過自動泊車系統(tǒng)的設(shè)計(jì)嗎

    題目如圖,關(guān)于自動泊車系統(tǒng)的設(shè)計(jì)要求
    發(fā)表于 04-17 07:35

    自動泊車輔助系統(tǒng)介紹

    自動泊車系統(tǒng)組成以及原理半自動泊車輔助全自動泊車
    發(fā)表于 12-15 07:09

    比亞迪被授權(quán)自動泊車相關(guān)的新專利

    據(jù)企查查信息顯示,近日,比亞迪被授權(quán)自動泊車相關(guān)專利,專利名為“自動泊車系統(tǒng)、方法及車輛”。
    的頭像 發(fā)表于 01-13 11:43 ?2290次閱讀

    AMD 愛信下自動泊車輔助系統(tǒng)提供支持

    圣克拉拉 —— AMD(納斯達(dá)克股票:AMD)今日宣布,AMD 賽靈思車規(guī)級( XA )Zynq? UltraScale+? MPSoC 平臺已被選中愛信( Aisin )自動泊車輔助( A
    發(fā)表于 11-21 11:09 ?410次閱讀
    AMD <b class='flag-5'>為</b>愛信下<b class='flag-5'>一</b>代<b class='flag-5'>自動</b><b class='flag-5'>泊車</b>輔助<b class='flag-5'>系統(tǒng)</b>提供支持

    APA自動泊車的車位檢測算法的分析與研究

    第1級,APA 自動泊車:駕駛員在車內(nèi),隨時(shí)準(zhǔn)備制動,分為雷達(dá)感知和雷達(dá)+視覺感知兩種方式。
    的頭像 發(fā)表于 11-23 11:30 ?2690次閱讀

    基于自動泊車自動駕駛控制算法設(shè)計(jì)與研究

    介紹了自動泊車系統(tǒng)的硬件架構(gòu),在此基礎(chǔ)上,對自動泊車控制算法進(jìn)行了設(shè)計(jì)與研究,包括APA算法功能
    的頭像 發(fā)表于 05-04 11:02 ?1209次閱讀
    基于<b class='flag-5'>自動</b><b class='flag-5'>泊車</b>的<b class='flag-5'>自動</b>駕駛控制算法設(shè)計(jì)與研究

    自動泊車輔助系統(tǒng)控制器(APA

    概述自動泊車系統(tǒng)(AutoParkingAssistSystem)是北京經(jīng)緯恒潤科技股份有限公司設(shè)計(jì)研發(fā)的車輛自動駕駛核心組成部分,基于視覺傳感器、毫米波傳感器及超聲波傳感器,構(gòu)建SL
    的頭像 發(fā)表于 01-18 09:52 ?1434次閱讀
    <b class='flag-5'>自動</b><b class='flag-5'>泊車</b>輔助<b class='flag-5'>系統(tǒng)</b>控制器(<b class='flag-5'>APA</b>)

    如何設(shè)計(jì)時(shí)序APA自動泊車系統(tǒng)(二)

    在明確目標(biāo)時(shí)首先強(qiáng)調(diào),時(shí)序沒有優(yōu)劣好壞高下之分,它的作用是幫助設(shè)計(jì)者傳達(dá)出作者的設(shè)計(jì)理念,以便讀者更夠快速、無誤的理解。
    的頭像 發(fā)表于 07-21 14:21 ?1414次閱讀
    如何設(shè)<b class='flag-5'>計(jì)時(shí)序</b><b class='flag-5'>圖</b>—<b class='flag-5'>以</b><b class='flag-5'>APA</b><b class='flag-5'>自動</b><b class='flag-5'>泊車</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>為</b><b class='flag-5'>例</b>(二)

    如何設(shè)計(jì)時(shí)序APA自動泊車系統(tǒng)

    時(shí)序是闡明軟件設(shè)計(jì)的利器,也是系統(tǒng)架構(gòu)的必備武器。今天我們APA自動
    的頭像 發(fā)表于 09-14 11:20 ?1282次閱讀
    如何設(shè)<b class='flag-5'>計(jì)時(shí)序</b><b class='flag-5'>圖</b>—<b class='flag-5'>以</b><b class='flag-5'>APA</b><b class='flag-5'>自動</b><b class='flag-5'>泊車</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>為</b><b class='flag-5'>例</b>

    宏景智駕自動泊車2.0系統(tǒng)征服高難度車位

    隨著自動泊車技術(shù)(APA)的進(jìn)步以及裝車成本的降低,該功能已經(jīng)實(shí)現(xiàn)在多種場景下的落地,有效解決了用戶泊車難問題。近年來,各大主機(jī)廠加大對自動
    的頭像 發(fā)表于 07-30 15:15 ?651次閱讀