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

电梯系统的UML文档14

对于 HallButtonControl,我们有二个状态:

"门厅灯开 " 和 " 门厅灯关"。
从给出的初始信息,初始的状态应该是"门厅灯关"。行为定义: " 当 HallCall[f,d]是真,则指令
HallLight[f,d] 为 On ",这是第一个状态变化从on 到off;同样地,"如果DesiredFloor.d 是Stop,则命令两个 HallLight 切换到off",改变状态从on 到off。在此,状态机停下来等一个新的门厅呼叫。

第 4 步:
我们决定增加每个状态机的前置条件、 后置条件、行动、入口码和退出码,这些状态机是从约束和行为相关的需求文档得到。
第 5 步:
检查事件的组合是否覆盖所有状态。
第 6 步:
检查是否有死状态,没有 ( 组合) 事件可以使状态机从该状态变换到其他状态。
第 7 步:
一项项地按照行为运行状态机,确定所有的需求条件被覆盖,而且状态机改变状态,采取行动,正确地修改变量。确定没有遗漏和冗余。第 8 步:
正确地画出每一个对象的状态图、标示状态、守卫条件、进出码和过渡,记录用于跟踪的相应需求。

6 结论

在这份报告中,给出了一个模拟电梯控制系统详细的 UML 文档。这个文档中用到的 UML 图包括用例图、类图表、顺序图和状态图。在课程项目设计过程中,实时系统中如何使用UML 图得到了大量的关注,我们项目的成功对这个问题给出了一个很好的答案。由于当前UML 版本的流行和广泛的符号化,OO 技术可以在实时系统开发中得到适度的发展。

目前面向对象分析和设计方法重心只是在系统的软件。对于实时系统不是完全合适,实时系统需要对系统开发作出整体苛刻的要求而不仅仅是软件。

实时系统的一些方面:
·硬件元件的定义和他们的特性·任务的定义和任务的通信·时间限制·网络的建模。

如果适当地注意系统的实时特征和不同点的组合,对实时系统的设计和分析有很大的帮助。
为了描述硬件元素和对网络建模,我们用三种不同的视图对系统结构建模。对象构造和软件结构都将重点放在系统的软件结构上,而从系统结构角度给出了一个系统硬件的略图和系统组件间的通信方法。为了描述时间约束给出了顺序图和协作图,通过消息和对象的名称标识时间约束标识系统的实时特征。每个图表仅仅是系统的一些方面的一个图形表示。没有单个图表可以覆盖一个系统设计的所有东西。图表结合起来表达实时系统的完全描述。系统类图的三个不同的视图有助于了解系统的结构。

本文给出的一些我的项目经验实用方法,可能有助于填补需求和设计之间的间隙。当建立系统的图表的时,已经存在一些组件,如系统结构和状态图。不清楚上面总结的方法在一般系统的分析和设计过程中是否仍会有效。

举例来说,系统架构 -类图是以Phil Koopman的电梯架构为基础的 (这个报告的附件),它使用非标准的UML语言。

这里的问题是:UML语言有没有好到,在没有架构图时仍然可以设计系统架构 ?
本文中电梯系统的功能描述仍然限制在课程项目。而在真实世界中更可能需要一些其他特征,例如一个火警按钮、或一个风扇锁。然而,给出了系统的框架,这些附加的功能可以被毫不费力的增加到系统的静态和动态的描述中。

7 参考文献
[1] Hermann Kopetz. Real-Time Systems,Design Principles for Distributed Embedded Applications.
[2] Grady Booch,James Rumbaugh and Ivar Jacobson. The Unified Modeling Language User Guide.
[3] Perdita Stevens and Rob Pooley. Using UML,Software Engineering with Objects and Components.
[4] Martin Fowler and Kendall Scott. UML Distilled,A Brief Guide to the Standard Object Modeling Language.
[5] Bruce Powel Douglass. Doing Hard Time: Developing Real-time Ssystems with UML,Objects,Frameworks,and Patterns.
[6] Desmond F. D’Souza and Ala n Cameron Wills. Objects,Components,and Frameworks with UML.
[7] Alan Moore and Niall Cooling. Developing Real-Time Systems using Object Technology,A white paper from Artisan Software Tools.

http://www.lryc.cn/news/529364.html

相关文章:

  • 一种用于低成本水质监测的软传感器开源方法:以硝酸盐(NO3⁻)浓度为例
  • [250130] VirtualBox 7.1.6 维护版本发布 | Anthropic API 推出全新引用功能
  • JVM_类的加载、链接、初始化、卸载、主动使用、被动使用
  • 2025最新版MySQL安装使用指南
  • MIMIC IV数据库中mimiciv_hosp的transfers表的careunit分析
  • AI学习指南HuggingFace篇-Hugging Face 的环境搭建
  • 白嫖DeepSeek:一分钟完成本地部署AI
  • C# dataGridView1获取选中行的名字
  • Day28(补)-【AI思考】-AI会不会考虑自己的需求?
  • 幸运数字——蓝桥杯
  • 快速提升网站收录:避免常见SEO误区
  • [Java]泛型(二)泛型方法
  • 如何监控ubuntu系统某个程序的运行状态,如果程序出现异常,对其自动重启。
  • UE学习日志#15 C++笔记#1 基础复习
  • CSS:跑马灯
  • rust 自定义错误(十二)
  • EWM 变更库存类型
  • AI大模型开发原理篇-9:GPT模型的概念和基本结构
  • MySQL数据库(二)
  • 从0到1:C++ 开启游戏开发奇幻之旅(二)
  • 【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.18 逻辑运算引擎:数组条件判断的智能法则
  • EasyExcel写入和读取多个sheet
  • LLM架构与优化:从理论到实践的关键技术
  • 【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.22 形状操控者:转置与轴交换的奥秘
  • NLP模型大对比:Transformer >Seq2Seq > LSTM > RNN > n-gram
  • DeepSeek部署教程(基于Ollama)
  • Java基础面试题总结(题目来源JavaGuide)
  • WPS mathtype间距太大、显示不全、公式一键改格式/大小
  • 宇宙大爆炸是什么意思
  • MotionLCM 部署笔记