当前位置: 首页 > article >正文

电梯系统的UML文档02

现在我们来回答用UML 设计电梯系统的实践中遇到的问题:“UML 是一种适合于实时系统的建模语言吗?”我们发现基于上段提到的特征,UML 是适合的但有不足。用UML 设计实时系统有以下问题:
•特定硬件及它们特征的定义。
•在对象、任务和硬件层次描述时间约束。
•网络建模。

在接下来的章节,我们将指出如何较好地用UML 描述电梯系统。下面的实践建议可能是标准UML 有益的补充。

4 系统静态建模

4.1 电梯控制系统快照

作为我们的教学项目,电梯系统的设计与“真实”的系统相比省去了很多技术上的细节。我们的电梯系统有所有的电梯系统都有的基本功能,如上升和下降、开门和关门当然还有载客。电梯假设被用在一幢大楼的第一层到第MaxFloor 层,第一层是大厅。电梯里有每一层对应的呼叫按钮。除了第一层和顶层,每一层都有两个按钮,乘客可以呼叫上楼或下楼。顶楼只有一个下楼按钮,而大厅只有一个上楼按钮。当电梯停在某一层,电梯开门,电梯指示灯亮标明当前运行的方向,这样乘客就知道了当前电梯运行的方向。电梯在两个楼层之间快速移动,但它应该能提前减速停在目的层。为了保证电梯系统的安全,在任何不安全的情况下,紧急制动就会被促发,电梯被强制停止。


4.2 用例图

所有系统和人或为了某种目的使用系统的自动化角色交互。人和角色都希望系统的行为是可预知的。在UML中,一个用例对一个系统行为或系统的一部分建模,是对一组行为序列的描述,系统对一个角色产生的可见的结果[2]。

用例图对系统的动态设计视图建模。它是一个系统行为、一个子系统或一个类建模的中心。用例图描述一组用例、角色和它们的关系。用例图的主要内容是:

·用例
·角色
·依赖、泛化和关联关系

按照我们课程的需求文档,电梯系统的用例图如图1 所示:

图1:电梯系统的用例图

共有七个用例基于我们课程的需求文档,如图1 所示:

· 处理电梯呼叫:这个用例包括几个场景,本文接下来的部分兼作详细描述。这些场景有电梯接受乘客的呼叫、电梯呼叫按钮的亮灭、系统控制部分电梯呼叫按钮信息的更新等等。

·处理楼层呼叫:和处理电梯呼叫类似,这个用例包括电梯接受乘客的楼层选择、楼层按钮的亮灭和系统控制部分楼层按钮信息的更新等等。

·电梯的动/停:这是一台电梯的主要功能,详细的动作包括驱动速度的改变,停止的判定,电梯的运动方向驱动。

·标识运行方向:电梯应该有这种机制,即让乘客知道电梯目前的运动方向,决定是否进电梯。

·标识电梯位置:类似的,电梯应该让乘客知道他/她的目的层是否到达,决定是否离开电梯。 


http://www.kler.cn/a/504130.html

相关文章:

  • 【数据结构学习笔记】19:跳表(Skip List)
  • WeakAuras NES Script(lua)
  • SpringBoot整合Easy-es
  • 《盘古大模型——鸿蒙NEXT的智慧引擎》
  • C#,入门教程(27)——应用程序(Application)的基础知识
  • Three.js 用户交互:构建沉浸式3D体验的关键
  • 62_Redis服务器集群优化
  • 从零搭建一个Vue3 + Typescript的脚手架——day1
  • Redis快速入门店铺营业状态设置
  • px、em 和 rem 的区别:深入理解 CSS 中的单位
  • 【ArcGIS初学】产生随机点计算混淆矩阵
  • 【树莓派3B】香瓜树莓派3B之语音识别机器人
  • 2025年  生活公报计划
  • 见微知著:Tripo 开创 3D 生成新时代
  • 无人机反制设备十大应用场景详解
  • 什么是IDE,新手如何选择IDE?
  • 宝塔面板 php8.0 安装 fileinfo 拓展失败
  • 解决“无法定位程序输入点 av_buffer_create 于动态链接库 XXX\Obsidian.exe 上”问题
  • electron 打包后的 exe 文件,运行后是空白窗口
  • 开源工作管理解决方案tillywork
  • IO流相关概念
  • 使用 LLaMA-Factory 微调大模型
  • 【练习】力扣热题100 除自身以外数组的乘积
  • WinForm如何跨线程更新界面
  • 在vscode中使用R-1
  • “代驾”小程序查漏补缺