电梯系统的UML文档05

devtools/2025/1/19 12:12:21/

·Dispatcher 不控制实际的电梯组件,但它在软件系统中是重要的。每一个电梯有一个ispatcher,主要功能是计算电梯的移动方向、移动目的地以及保持门的打开时间。它和系统中除灯控制器以外的几乎所有控制对象交互。

·安全装置也是一个环境对象,它不属于控制软件,但是系统的重要部分。在真实世界中,如果一台电梯的紧急制动被触发,则安全装置动作变化。但在我们的模拟系统中,只显示一些信息。

在我们的系统中,乘客也作为一个环境对象来建模。乘客和楼层呼叫按钮、电梯呼叫按钮交互,使门反转,观察电梯的方向和位置等。为了简单,乘客对象没有在图3 中列出(不像其他的环境对象)。

软件的类图解决了前一节提出的大多数问题。控制任务被分配到几个控制对象中,每个控制一个或两个环境对象,都没有负担过重或空闲。不需要竞争中心控制器的计算资源,因为由控制器控制其受控对象。

但是从这个类图引发的,关于我们系统实现细节问题如下:

·控制对象如何控制环境对象?

·一个对象如何从其他的对象得到必需的信息?

·如何对网络建模

从系统架构的角度,这些问题必须回答。

4.3.3 类图——系统架构图

为了回答上一节提出的问题,类图要加入网络、传感器/传动装置进行细化,以对真实系统的架构进行建模。

从这一点来看,系统的类图和普通UML 图的类图不完全一样。但类图是描述系统静态结构的一种有效的途径,为什么不用它来帮助更好的表达系统架构?

类图中的各个部分如图4,被分成如下8 类:

控制类

·前一节我们对系统中的控制对象作了大量的陈述。从系统架构来看控制对象包括电梯位置控制、电梯按钮控制、灯控制、门控制、驱动控制、楼层按钮控制和Dispatcher(CarPositionControl,CarButtonControl,LanternControl,DoorControl,DriveControl,HallButtonControl and Dispatcher.)。

·所有的控制对象连接到网络,从网络得到输入并发送输出消息到网络给其他的对象。

·控制对象控制一个和传感器及传动装置相连的系统实体(如门和按钮),从传感器得到信息,并发送反馈到传动装置执行控制功能。

网络

·所有的控制对象和通信网络连接,在图的中间用网络类来建模。网络是(编注:此处缺1 页,抱歉)

图4:类图——软件架构图


http://www.ppmy.cn/devtools/151805.html

相关文章

Android wifi列表中去自身的热点

Android wifi列表中去自身的热点 一、前言 Android wifi列表中能搜索到自身的热点wifi? 正常手机上都不会出现这个问题;可能是系统底层已经做了过滤处理。 现实开发中Android设备的Wifi能搜索到自身热点也可能会存在。 比如基于两个单独的wifi双模组硬…

02UML图(D1_结构图)

目录 学习前言 ---------------------------------- 讲解一:类图 一、类图的组成结构 1. 类(Class) 1.1. 类的成员变量的表示方式 1.2. 类的成员方法的表示方式 2. 接口(Interface) 3. 包(Package) 二、UML类…

[Azure] 如何解决个人账号无法直接登录的问题:利用曲线救国方法访问Speech Studio

近期,Azure的一些用户反映,他们在尝试通过个人账号登录Azure Portal时遇到问题,登录失败或无法访问已创建的资源。虽然Azure可能正在进行一些后台改制,导致了这一问题的发生,但用户仍然需要访问和使用一些资源(比如Speech Studio中的服务)。本文将分享一种曲线救国的解决…

测试集群内主机链路带宽并生成网络拓扑图

测试集群内主机链路带宽并生成网络拓扑图 一、背景二、操作步骤1.修改 Docker 源2.启动 Redis 服务3.创建 Python 3.10 容器4.在容器内安装依赖5.创建删除 Redis 集合的脚本 reset.py6.创建发布本地 IP 的脚本 publish.py7.创建带宽测试的脚本 benchmark.py8.创建生成网络拓扑图…

网络设备安全保证计划 (NESAS) - 供应商视角 笔记

NESAS 对供应商的意义 提升产品安全性: NESAS 为供应商提供了一套全球认可的安全评估标准,帮助其识别和解决产品中的安全漏洞。通过 NESAS 评估,供应商可以证明其产品符合行业最高安全标准,增强客户信任。增强市场竞争力: 通过 NESAS 认证的…

【报错解决】Sql server 2022连接数据库时显示证书链是由不受信任的颁发机构颁发的

SSMS 20在连接Sql server 2022数据库时有如下报错: A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - 证书链是由不受信任的颁发机构颁发的。 原因是尝试使…

electron 获取本机 ip 地址

1. 主进程代码 在主进程中,使用 os 模块获取本机 IP 地址,并通过 ipcMain 将结果发送给渲染进程。 // main.jsconst { app, BrowserWindow, ipcMain } require("electron");const os require("os");function createWindow() {c…

SpringMVC 实战指南:文件上传

第一章:常用的注解: RequestParam 注解: 作用:把请求中的指定名称的参数传递给控制器中的形参赋值属性: value:请求参数中的名称required:请求参数中是否必须提供此参数,默认值是 tr…