电梯系统的UML文档05

ops/2025/1/21 15:11:38/

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

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

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

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

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

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

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

·如何对网络建模

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

4.3.3 类图——系统架构图

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

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

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

控制类

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

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

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

网络

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

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


http://www.ppmy.cn/ops/151937.html

相关文章

如何使用 Redis 作为高效缓存

如何使用 Redis 作为高效缓存 Redis(Remote Dictionary Server)是一个高性能的 内存存储系统,通常被用作 缓存 来加速数据访问,提高应用的吞吐量和响应速度。本文详细讲解如何使用 Redis 作为高效缓存,包括基本原理、…

DNVS许可管理

在全球经济一体化的大背景下,合规管理成为了企业持续稳健发展的关键要素。DNVS许可管理作为一种国际领先的许可认证体系,以其严格的标准和专业的审核流程,帮助企业实现合规管理,为企业的稳健发展保驾护航。 一、DNVS许可管理的核…

【学习笔记15】如何在非root服务器中,安装属于自己的redis

一、下载安装包 官网下载黑马程序员给的安装包(redis-6.2.6) 二、将安装包上传至服务器 我将安装包上传在我的文件夹/home/XXX,指定路径中/src/local/redis/,绝对路径为/home/XXX/src/local/redis/解压安装包 XXXomega:~$ cd …

线性代数概述

矩阵与线性代数的关系 矩阵是线性代数的研究对象之一: 矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,是线性代数中的核心概念之一。矩阵的定义和性质构成了线性代数中矩阵理论的基础,而矩阵运算则简洁地表示和…

【思科】NAT配置

网络拓扑图 这个网络拓扑的核心是Router1,它通过配置多个VLAN子接口来实现对不同VLAN的支持,并通过NAT进行地址转换,使得内部网络能够与外部网络进行通信。Router1上配置了FastEthernet0/0.x接口,并启用了802.1Q封装,…

1. 基于图像的三维重建

1. 基于图像的三维重建 核心概念三维重建中深度图、点云的区别?深度图点云总结 深度图到点云还需要什么步骤?1. **获取相机内参**2. **生成相应的像素坐标**3. **计算三维坐标**4. **构建点云**5. **处理颜色信息(可选)**6. **去除…

Spring Cloud 微服务

一、什么是微服务? 先说说什么是微服务。想象一下,你有一个超大的乐高积木,里面有很多小零件,每个小零件都有自己的功能。要是其中一个零件坏了,你只需要换掉那个小零件,而不用把整个乐高都扔掉。微服务就…

cuda从零开始手搓PB神经网络

cuda实现PB神经网络 基于上一篇的矩阵点乘,实现了矩阵的加减乘除、函数调用等。并且复用之前元编程里面写的梯度下降、Adam、NAdam优化方法。实现PB神经网络如下: #ifndef __BP_NETWORK_HPP__ #define __BP_NETWORK_HPP__ #include "matrix.hpp&quo…