电梯系统的UML文档07

news2025/1/22 11:24:14

从这个类中得到的类图,构划出了软件的大部分设计。

系统结构视图提供软件和整个系统结构最复杂的也是最优雅的描述。和通常的软件系统相比,在分布式嵌入系统中了解系统组件如何协同工作是非常重要的。毕竟,每个类图仅仅是一个系统的静态设计视图的一个图型表示。

单个类图不能捕获一个系统设计视图的全部内容。

一个系统的类图结合起来描述系统的全部静态设计,分开只是描述一个方面。

5 系统动态建模

UML 提供顺序图和协作图对系统动态建模。在本文中,只给出了电梯系统的顺序图,协作图能由顺序图很容易得到。

基于这学期课程项目的设计,电梯系统的状态图也在这部分给出。从我们的设计练习,给出了一些关于如何从需求到设计的经验方法。

5.1 顺序图

顺序图是一种交互图,描述一组对象的交互和它们的关系。(另一种交互图是协作图)。顺序图的目的是在一个有时间关系的视图中描述对象之间的消息序列。对于单个(部分)用例,典型的顺序图范围包括所有的消息相互作用。每个用例可以有多个顺序图,而每个用例场景有一个顺序图。

状态图通常包括:

· 对象
· 联结
· 消息
· 响应时间 ( 在实时系统中尤其有用)

垂直的 "生命线" 表明对象间的联结。消息在对象生命线之间流动。UML 支持在顺序图中标明响应时间,描述一个实时系统的性能需求。时间流从上到下。

在以下的章节的顺序图中,对象从软件结构角度的类图得来。那样做的原因是我们不想停在对象构造视图上,因为对象构造视图中对象的功能是模糊和不充分的; 也不想停在系统结构视图中,因为许多技术上的细节阻碍了对对象的相互作用的快速理解。

因为乘客发出一些消息,在一些顺序图中乘客似乎是系统的一个对象。

5.1.1 用例1 –处理门厅呼叫

在这个用例中有二个场景:

当乘客按门厅呼叫按钮请求一个门厅呼叫服务时,一个场景是电梯向与乘客的目的地相同的方向移动,另一个是反向移动。

这二个场景共享一个顺序图,唯一的不同是乘客进入之前的推进的时间,也就是(x sec) 在图中反映电梯的运行时间。

场景 1.1 门厅呼叫服务–电梯的移动方向和乘客的目的地相同。

场景 1.2 门厅呼叫服务–电梯向乘客的目的地的反方向移动。

图 6: 场景 1.1&1.2- 门厅呼叫服务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2280336.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据恢复常见故障(五)晶振异常导致时钟Clock信号异常引发的硬盘故障

晶振是给固态硬盘“主控”芯片工作提供时钟信号的器件。 高温、高湿、撞件等都会引起晶振不起振,最终导致时钟信号异常。 如图是正常情况下的晶振波形。 晶振异常时,输出的波形,不起振。 由于晶振异常,无法提供时钟信号&#…

16.5万煤气柜柜位计故障分析

一、事故经过: 2015年8月14日20点45分,16.5万立煤气柜柜顶油封溢流口有大量油液溢出,此时雷达柜位计在计算机上示值为63.79米,由于接近傍晚天色较暗,岗位操作员并未及时发现这一异常状况。22点45分左右&…

ARM学习(42)CortexM3/M4 MPU配置

笔者之前学习过CortexR5的MPU配置,现在学习一下CortexM3/M4 MPU配置 1、背景介绍 笔者在工作中遇到NXP MPU在访问异常地址时,就会出现总线挂死,所以需要MPU抓住异常,就需要配置MPU。具体背景情况可以参考ARM学习(41)NXP MCU总线挂死,CPU could not be halted以及无法连…

STM32 FreeRTOS 任务挂起和恢复---实验

实验目标 学会vTaskSuspend( )、vTaskResume( ) 任务挂起与恢复相关API函数使用: start_task:用来创建其他的三个任务。 task1:实现LED1每500ms闪烁一次。 task2:实现LED2每500ms闪烁一次。 task3:判断按键按下逻辑,KE…

七.网络模型

最小(支撑)树问题 最小部分树求解: 破圈法:任取一圈,去掉圈中最长边,直到无圈; 加边法:取图G的n个孤立点{v1,v2,…, vn }作为一个支撑图,从最短…

web前端1--基础

(时隔数月我又来写笔记啦~) 1、下载vscode 1、官网下载:Visual Studio Code - Code Editing. Redefined 2、步骤: 1、点击同意 一直下一步 勾一个创建桌面快捷方式 在一直下一步 2、在桌面新建文件夹 拖到vscode图标上 打开v…

麦田物语学习笔记:保存和加载场景中的物品

目录 基本流程 1.代码思路 2.代码实现 最终效果 补充知识点 1.序列化 2.委托 基本流程 现在在切换场景后,场景中的物品即使被拾取了,也还是会被重新加载出来,所以本篇文章的任务是在切换场景前后能保留当前场景的数据 1.代码思路 (1)为了保留处在地上的物品数据,就需要…

51c~SLAM~合集1

我自己的原文哦~ https://blog.51cto.com/whaosoft/12327374 #GSLAM 自动驾驶相关~~~ 一个通用的SLAM架构和基准 GSLAM:A General SLAM Framework and Benchmark 开源代码:https://github.com/zdzhaoyong/GSLAM SLAM技术最近取得了许多成功&am…

QT调用OpenSceneGraph

OSG和osgQt编译教程,实测通过 一、下载OpenSceneGraph OpenSceneGraphhttps://github.com/openscenegraph/OpenSceneGraph 二、使用CMAKE编译OpenSceneGraph 1.打开cmake,配置源代码目录 2. CMAKE_INSTALL_PREFIX设置为install文件夹,生…

Git 详细安装教程以及gitlab添加SSH密钥

目录 一、下载安装 二、gitlab添加SSH密钥 一、下载安装 (1)去官网下载 找到下载的安装包双击进行安装。 (2)使用许可声明 双击下载后的 Git-2.47.1.2-64-bit.exe,开始安装,这个界面主要展示了 GPL 第…

【优选算法】4----盛最多水的容器

开始有点上强度了铁子们,这道算法题也是可以说很难理解的~ 想了好久才想明白~ ---------------------------------------begin--------------------------------------- 题目解析: 这一道题刚看题目,根本不知道在讲啥,但看到体积…

今天也是记录小程序进展的一天(破晓时8)

嗨嗨嗨朋友们,今天又来记录一下小程序的进展啦!真是太激动了,项目又迈出了重要的一步,231啦!感觉每一步的努力都在积累,功能逐渐完善,离最终上线的目标越来越近了。大家一直支持着这个项目&…

Python保留字与标识符及常变量

1、保留字 保留字;严格区分大小写 不可以把保留字作为变量、函数、类、模块和其他对象的名称来使用 import keyword print(keyword.kwlist) # 输出所有的保留字 print(len(keyword.kwlist)) # 获取保留字的个数 true 真 # True 真 #属于保留字,会…

若依报错:无法访问com.ruoyi.common.annotation

无法访问com.ruoyi.common.annotation 若依的父工程的pom文件中设置了jdk为1.8,将idea的jdk也改为1.8即可。

2008-2020年各省城镇登记失业率数据

2008-2020年各省城镇登记失业率数据 1、时间:2008-2020年 2、来源:国家统计局、统计年鉴 3、指标:行政区划代码、地区名称、年份、城镇登记失业率 4、范围:31省 5、指标说明:城镇登记失业率是指在一定时期内&…

Linux——入门基本指令汇总

目录 1. ls指令2. pwd3. whoami指令4. cd指令5. clear指令6. touch指令7. mkdir指令8. rm指令9. man指令10. cp指令11. mv指令12. cat指令13. tac指令14. more指令15. less指令16. head指令17. tail指令18. date指令19. cal指令20. find指令21. which指令22. alias指令23. grep…

【知识分享】PCIe5.0 TxRx 电气设计参数汇总

目录 0 引言 1 参考时钟--Refclk 2 发射端通道设计 3 发送均衡技术 4 接收端通道设计 5 接收均衡技术 6 结语 7 参考文献 8 扩展阅读 0 引言 PCI Express Base Specification 5.0的电气规范中,关键技术要点如下: 1. 支持2.5、5.0、8.0、16.0和3…

npm install安装缓慢或卡住不动

起因 今天执行npm install eslint-plugin-cypresslatest --save-dev命令时进度条一直卡着不动,于是想着安装yarn来操作。 方案1 全局安装yarn(Mac在npm前加sudo): npm install -g yarn yarn安装好之后安装依赖用: y…

SparkSQL函数综合实践

文章目录 1. 实战概述2. 实战步骤2.1 创建项目2.2 添加依赖2.3 设置源目录2.4 创建日志属性文件2.5 创建hive配置文件2.6 创建数据分析对象2.6.1 导入相关类2.6.2 创建获取Spark会话方法2.6.3 创建表方法2.6.4 准备数据文件2.6.5 创建加载数据方法2.6.6 创建薪水排行榜方法2.6.…

Linux第103步_了解I2C总线框架

了解Linux中的I2C总线框架为后面做I2C实验做准备,学驱动,就是学习框架,了解是必须的。 1、了解Linux下的I2C子系统中的相关数据结构 struct i2c_adapter { struct module *owner; unsigned int class; /* classes to allow probing for …