0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何设计时序图—以APA自动泊车系统为例(一)

冬至子 来源:喵星智能车 作者:荔枝喵喵 2023-07-21 14:18 次阅读

1.时序图说明

序列图是一种 UML(统一建模语言)图,它说明了系统中对象之间随时间的交互,通常用于可视化消息流和软件系统中对象之间方法调用的顺序。

时序图展示对象之间交互的顺序,将交互行为建模为消息传递,通过描述消息是如何在对象间发送和接收的来动态展示对象之间的交互;相对于其他UML图,时序图更强调交互的时间顺序;可以直观的描述并发进程。

2.绘制原则

绘制原则在比较简单,但是如果想要细致的描述出真实的交互情况,还需要在细节处多加斟酌,以及对整体流程有清晰的把握。在最近绘制时序图的工作过程,我感觉到自己对系统的认识深入和清晰了许多,不求甚解的地方突然豁然开朗了。

1. 角色(Actor)

系统角色,可以是人、机器、其他系统、子系统;在时序图中用下图表示。

图片

2. 对象(Object)和生命线(Lifeline)

对象:对象的左右顺序并不重要,但是为了作图清晰整洁,通常应遵循以下两个原则:把交互频繁的对象尽可能的靠拢;2.把初始化整个交互活动的对象放置在最左端。

生命线:在时序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间。

图片

3. 控制焦点(Focus of Control)

又称为激活期,表示时间段的符号,在这个时间段内对象将执行相应的操作。它可以被理解成C语言语义中一对花括号{ }中的内容;用小矩形表示。

4. 消息(Message)

同步消息(Synchronous Message):消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义.

异步消息(Asynchronous Message):消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。

返回消息(Return Message):返回消息表示从过程调用返回。

5. 自关联消息

表示方法的自身调用或者一个对象内的一个方法调用另外一个方法。

图片

6. 组合片段

组合片段用来解决交互执行的条件和方式,它允许在序列图中直接表示逻辑组件,用于通过指定条件或子进程的应用区域,为任何生命线的任何部分定义特殊条件和子进程。主要使用的组合片段名称及含义如下:

图片

3.绘制建议

时序图最重要的是应该清晰、准确地表达系统的交互和行为。根据需要,最好与团队成员进行沟通和反馈,以确保时序图能够准确地传达设计意图,能够让开发人员没有误解。

以下是个人在绘制时序图时总结的一些心得体会:

  1. 确定目标 :明确绘制时序图的目的是什么。是为了理解系统的交互流程,还是为了进行设计和调试等工作?这有助于确定所需的详细程度和关注的重点。
  2. 选择适当的颗粒度 :根据上一条确定的目标和需求,选择适当的粒度来表示对象和消息。颗粒度太细可能导致时序图复杂难懂,而粒度太粗可能会丢失一些重要的细节。肯定的是,我们没办法传递所有的信息,需要根据时序图目的去选择描述的倾向性。
  3. 使用清晰的命名 :为每个角色、对象和消息选择清晰、准确的命名,以确保时序图的可读性和理解性。避免使用模糊或不明确的术语,尽量使用业务领域相关的术语。
  4. 合理组织布局 :在绘制时序图时,合理组织和布局对象、生命线和消息,使其易于理解。可以按照时间顺序排列对象和消息,并使用对齐和间距来提高可读性。
  5. 使用注释和说明 :在时序图中使用注释和说明来提供额外的解释和上下文信息。这可以帮助读者更好地理解时序图,尤其是对于复杂的交互和控制流程。
  6. 简化和抽象 :对于复杂的系统和交互,可以考虑使用简化和抽象的方式来绘制时序图,以突出重点和减少混乱。可以使用分层和嵌套的时序图,或者使用关键路径和关键消息进行突出。
  7. 使用工具支持 :考虑使用专业的时序图绘制工具,如UML建模工具或在线绘图工具。这些工具提供了更多的功能和自动化支持,可以使绘制和编辑时序图更加高效和方便。

4.绘制工具推荐

磨刀不误砍柴工,在信息化时代,好的工具能够成倍的提高我们的工作效率,下面介绍常用的时序图绘制工具。

  1. Enterprise Architect :EA(Enterprise Architect)是一种功能强大的建模和设计工具,广泛用于软件开发、系统工程和业务流程建模等领域。
  2. Draw.io:Draw.io是一个在线绘图工具,提供了各种图表类型的绘制功能,包括时序图。它具有直观的用户界面和丰富的图形库,可以轻松绘制和编辑时序图。Draw.io还支持与Google Drive、Dropbox等云存储服务的集成,方便团队协作和文件共享。
  3. Microsoft Visio :Microsoft Visio是一种流行的商业绘图工具,具有丰富的图形库和模板,可用于创建各种图表和图形,包括时序图。Visio提供了直观的界面和强大的绘图功能,适用于较复杂的时序图绘制需求。
  4. Lucidchart :Lucidchart是另一种在线绘图工具,具有易用的界面和广泛的图形库。它支持时序图的绘制,提供了一系列交互元素和布局选项,方便绘制和调整时序图的结构和样式。Lucidchart还提供了与Google Drive、Slack等工具的集成,便于团队协作和分享。
  5. PlantUML :PlantUML是一种基于文本的绘图工具,可以通过简单的文本描述来生成各种UML图,包括时序图。它具有简单易用的语法,并支持多种输出格式,可以使用PlantUML在任何文本编辑器中编写时序图,并使用命令行或插件将其转换为图像。

详细说说我用过的两个工具,EA和Draw.io

EA就不用说了,在汽车行业内鼎鼎大名,我们见到大量的设计图都是出自EA,软件内置有专门的状态机绘制模块、软件部署、autosar、时序图等等,并且能够自动生成代码,用起来十分方便,还美观整洁。

但是由于专业版的收费原因,我供职的几家都没有买正版(流汗),只能自己在家用着玩玩,或者使用试用版,有30天免费试用(导出图片会有水印)。

图片

EA提供的时序图模板

Draw.io最大的优点是其便捷性,可以在线绘制,并且拥有多种模板,联网自动更新,方便团队协作。可以上Github上下载应用程序,体验和在线版一模一样,完美实现无环境依赖的办公。

图片

Draw.io提供的时序图模板

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    206

    文章

    27064

    浏览量

    201489
  • C语言
    +关注

    关注

    180

    文章

    7534

    浏览量

    129130
  • UML
    UML
    +关注

    关注

    0

    文章

    122

    浏览量

    30755
收藏 人收藏

    评论

    相关推荐

    自动泊车辅助系统快速增长,AMD携车规级自适应SoC入局

    近期,AMD宣布其车规级Zynq UltraScale+ MPSoC平台被爱信(Aisin)选中,为爱信自动泊车辅助(APA系统提供支持。该APA
    的头像 发表于 11-21 17:50 2654次阅读
    <b class='flag-5'>自动</b><b class='flag-5'>泊车</b>辅助<b class='flag-5'>系统</b>快速增长,AMD携车规级自适应SoC入局

    有关自动泊车系统设计,遇到难题

    的车位,自主避障、自动泊车,从而实现了智能泊车。我想问的是:设计的停车场地,每个车位上方都有个指示灯,指示灯亮红色,则车辆可在此位停泊;
    发表于 02-27 10:14

    如何检测自动泊车控制系统

    硕士毕业论文,用到LABVIEW,怎么检测自动泊车控制系统,要检测些什么?
    发表于 12-17 21:02

    如何检测自动泊车控制系统

    硕士毕业论文,怎么检测自动泊车控制系统,要检测些什么
    发表于 12-17 21:04

    Ameya360 环绕视野泊车辅助系统解决方案

    `1、前言泊车辅助系统是汽车主动防撞系统在低速和城市复杂环境下的个重要的应用,也是汽车主动防撞系统的智能化具体体现。
    发表于 04-16 17:19

    有谁做过自动泊车系统的设计吗

    题目如图,关于自动泊车系统的设计要求
    发表于 04-17 07:35

    自动泊车辅助系统介绍

    自动泊车系统组成以及原理半自动泊车辅助全自动泊车
    发表于 12-15 07:09

    什么是“自动泊车自动泊车”原理是什么

    自动泊车”原理是什么? 自动泊车系统由多组传感器组成,比如遍布车身的雷达、摄像头等等,在采集好图像、距离等相关数据后,数据会传输给处理
    发表于 08-29 15:47 2315次阅读

    AMD 为爱信下一代自动泊车辅助系统提供支持

    ── AMD Zynq UltraScale+ MPSoC 汽车平台搭载深度学习处理器,能为自动泊车系统提升低时延与基于 AI 的图像处理  ──   2022 年 11 月 16 日,加利福尼亚州
    发表于 11-21 11:09 311次阅读
    AMD 为爱信下一代<b class='flag-5'>自动</b><b class='flag-5'>泊车</b>辅助<b class='flag-5'>系统</b>提供支持

    APA自动泊车的车位检测算法的分析与研究

    第1级,APA 自动泊车:驾驶员在车内,随时准备制动,分为雷达感知和雷达+视觉感知两种方式。
    的头像 发表于 11-23 11:30 1889次阅读

    基于自动泊车自动驾驶控制算法设计与研究

    介绍了自动泊车系统的硬件架构,在此基础上,对自动泊车控制算法进行了设计与研究,包括APA算法功能
    的头像 发表于 05-04 11:02 945次阅读
    基于<b class='flag-5'>自动</b><b class='flag-5'>泊车</b>的<b class='flag-5'>自动</b>驾驶控制算法设计与研究

    自动泊车辅助系统控制器(APA

    概述自动泊车系统(AutoParkingAssistSystem)是北京经纬恒润科技股份有限公司设计研发的车辆自动驾驶核心组成部分,基于视觉传感器、毫米波传感器及超声波传感器,构建SL
    的头像 发表于 01-18 09:52 1018次阅读
    <b class='flag-5'>自动</b><b class='flag-5'>泊车</b>辅助<b class='flag-5'>系统</b>控制器(<b class='flag-5'>APA</b>)

    如何设计时序图—以APA自动泊车系统为例(二)

    在明确目标时首先强调,时序图没有优劣好坏高下之分,它的作用是帮助设计者传达出作者的设计理念,以便读者更够快速、无误的理解。
    的头像 发表于 07-21 14:21 1070次阅读
    如何设<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'>系统</b>为例(二)

    如何设计时序图—以APA自动泊车系统为例

    时序图是阐明软件设计的利器,也是系统架构的必备武器。今天我们以APA自动泊车系统为例来聊聊如何设
    的头像 发表于 09-14 11:20 759次阅读
    如何设<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'>系统</b>为例

    自动泊车和遥控泊车的区别

    存在着显著的差异。本文将比较自动泊车和遥控泊车的区别。 一、自动泊车技术 自动
    的头像 发表于 01-31 13:43 598次阅读