UML应用-应用Rational Rose 进行状态机分析与设计实例

图书管理系统UML建模实战:Rational Rose中的状态图与活动图详解 本文详细介绍了如何使用Rational Rose进行图书管理系统的UML动态建模,重点解析状态图与活动图的设计与实践。通过具体案例展示图书状态转换和借阅流程的建模方法,包括关键状态定义、泳道划分、模型验证等核心技巧,帮助开发者掌握Rational Rose工具在UML建模中的高效应用。 阅读详情

版权声明: 本文可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息。
原文出处: http://www.aiview.com/notes/rose_state_machine.htm
作者: 张洋 Alex_doesAThotmail.com
最后更新: 2003-10-31


 目录
  1. 前言
  2. 用户的需求
  3. 分析状态机
  4. 画出状态图
  5. 参考资源
前言

本文结合一个具体的实例,试图通过对一个对象状态机的分析,画出一个完整的状态图。笔者初学UML,大胆下笔此文,难免纰漏,以期能抛砖引玉,请您不吝批评指正。

状态机用于对系统中的动态行为建模,一般使用一个状态机对一个对象经历的状态变化序列进行建模,状态是指对象在生命周期中的一个条件或状况,把这个状态机用UML图的形式表现出来,就是一个状态图。

一个系统中会有很多对象,一般仅对状态序列复杂的对象画出状态图,从而进行细致的分析。

 

用户的需求

首先介绍一下我们要实现系统的需求,本系统是一个专家网络,主要包括三种资源。

第一,网络服务的提供者。与专家合作,签署协议。

第二,领域专家,通过专家网络进行专业问题解答,并可以通过网络服务的提供者收取提问者的佣金。

第三,专家网络的最终用户,即提问者,可以通过专家网络提出问题,并选择相应的领域专家进行回答。

此系统中的一个核心对象就是问题(Questions),我们要针对它的状态机进行分析,给出状态图。

一个问题将籍由系统中不同角色的行为而相应改变自己的状态。

起初一个问题由提问者添加到系统中,编辑完成后,选择一个专家并提交,相应的专家在登录后可以查看到此问题,此时,提问者不能够再对问题进行修改。

一个问题在未提交给任何专家之前,提问者可以删除此问题。但一旦提交或者已经回答,就无法删除。

专家可以选择接受或者拒绝,如果专家拒绝此问题,则问题会重新发回给提问者,其可以在此编辑此问题,并选择不同的专家进行提问。当选择编辑此问题,则提问者可以在自己的视图看到问题已经被接受,并正在进行回答,但提问者看不到正在编辑的问题解答内容。

专家解答完成之后,把问题提交给提问者,提交之后,专家无法再进行编辑。此时,提问者可以查看专家的解答内容,如果认可解答内容,可以选择接受,问题被归档。否则,可以提出拒绝解答内容,拒绝的问题由网络服务提供者进行处理。如果提问者在问题解答后的一个确定的时间内没有作出明确的接受或者拒绝的回复,则系统会自动认为问题已经解答完毕,并归档。

提问者在提出问题时,可以选择问题的解答级别,分为简单解答和详细解答,在选择专家时,可以查看专家对不同级别问题进行解答所需要花费的最长时间以及费用。当专家开始编辑此问题后,则计时开始,若没有在规定的时间内完成解答,则问题会过期,由网络服务提供者确认后重新发送给提问者。提问者可以重新进行编辑提交。

如果提问者第一次提问要求为简单解答,在专家回复后,提问者可以选择要求更为详细的回答,问题会被再次提交给同一个专家。

以上概要描述了主要的需求,通过需求我们需要分析出Question对象所要经历的状态序列,以及触发状态转换的事件和对象的动作。

 

分析状态机

当问题被提问者加入系统,但还未提交给专家前,问题处于编辑状态,我们称状态为"Uploaded"。

当提问者删除了一个问题,则问题处于无效状态,我们称状态为"Removed"。

当问题由提问者第一次提交给专家后,问题处于等待解答状态,我们称状态为"New"。

当专家拒绝此问题后,问题状态处于被拒绝状态,我们称状态为"Refused by expert"。

当专家开始编辑解答内容,表示问题已经被接受,正在进行编辑,我们称状态为"Work in progress"。

如果专家没有及时解答完问题,问题会在规定的时间内过期,我们称状态为"Expired"。

当专家解答完问题,提交给提问者之后,问题等待提问者进行Check,我们称状态为"Answered"。

如果提问者拒绝了专家的回答,则问题处于被拒绝状态,我们称状态为"Refused by Asker"。

如果提问者接受了专家的解答,则问题结束,我们称状态为"Finished"。

提问者还可以要求专家更详细的回答,提问者再次向同一个专家提交更详细的解答请求后,问题在此回到等待解答状态,与前面的"New"状态进行区分,我们称状态为"2th. New"。

此外还有两个特殊的状态,就是初态和终态。

以上我们根据需求列举出了问题对象在系统中经历的所有状态可能,以及出发状态转换的条件。接下来我们在Rational Rose中使用状态图画出状态的序列。

 

画出状态图

状态图如下:

点击看大图

 

参考资源
  • 下载本示例使用的的Rational Rose 建模文件,软件版本:Rational Rose 2002.05.00
  • 《UML 用户指南》《The Unified Modeling Language User Guide》Grady Booch, James Rumbaugh and Ivar Jacobson 合著,机械工业出版社出版。
  • 下载UML 电子教程 北京航空航天大学软件工程研究所撰文

 

UML模型交换实战:如何用XMI在不同工具间无缝迁移你的设计图(附Rational Rose配置步骤) 本文详细介绍了如何使用XMI(XML Metadata Interchange)在不同UML工具间无缝迁移设计图,特别提供了Rational Rose的配置步骤和实战技巧。通过XMI标准交换格式,解决团队协作中的模型兼容性问题,提升跨工具迁移效率,适用于复杂类图、大型模型及企业级协作场景。 阅读详情

相关推荐

Rational ROSE:深入UML模型构建与软件开发

Rational ROSE是IBM公司推出的一款面向对象建模工具,它支持统一建模语言(UML)的全系列图示设计,为开发者提供了一个强大的可视化编程环境。ROSE支持模型驱动开发(MDD)的概念,使得从模型到代码的转换变得更加直观和高效。本章节将深入探讨Rational ROSE的历史背景、核心功能以及在软件工程中的应用,为读者搭建起对这款工具的基本认识框架。Rational Rose是IBM推出的一款经典UML建模工具,它提供了强大的功能,以支持软件工程师进行系统分析和设计。

weixin_42576410的博客 1266

使用Rational Rose绘制状态图

在Rose中,可以为每个类创建一个或者多个状态图,类的转换和状态都可以在状态图中体现。首先,展开“Logic View”菜单项,然后在“Logic View”图标上单击鼠标右键,在弹出的菜单中选择“New”下的“Statechart Diagram”选项建立新的状态图。要增加事件,先双击转换图标,在出现的对话框的“General”选项卡里增加事件,接下来,在“Event”选项中添加触发转换的事件,在“Argument”选项中添加事件的参数,还可以在“Documentation”选项中添加对事件的描述。

Whtiewww的博客 8594

Rational Rose 2003软件建模实践指南

统一建模语言(UML)源于1990年代初期,是为了解决不同建模工具和方法之间的互操作性问题而设计。它由三位软件工程师Grady Booch, Jim Rumbaugh, 和 Ivar Jacobson 共同领导,他们分别来自Rational Software公司。UML是通过融合上述三位领导者的最佳方法和经验,再结合其他建模专家的贡献而形成的。

weixin_42571280的博客 1106

使用Rose绘制用例图、类图、状态图等详细步骤说明

用例图、类图、状态图、活动图属性设置,包括他们的角色名、多重性、可见性等等

weixin_65563416的博客 2万+

Rational Rose汉化补丁安装指南

在软件工程领域,Rational Rose一直扮演着重要的角色,它是一款由IBM公司推出的专业建模工具。Rational Rose支持统一建模语言(UML),为软件开发提供了一套丰富的模型图表示方法。从面向对象的设计到代码生成,再到逆向工程,Rational Rose为开发者提供了一整套完善的开发流程解决方案。本章将探讨Rational Rose的基本功能和在现代软件开发中的应用,为后续章节关于汉化补丁包的深入分析打好基础。

weixin_33812391的博客 2106

【HarmonyOS】ArkUI的组件扩展

ArkuI的组件扩展主要是通过等装饰器来对于一些常用的自定义组件进行封装, 来简化UI开发流程, 提高自定义组件的可复用性。

2302_79763237的博客 1166

UML之教学管理系统——5、Rational Rose画状态机图(一)

一、实验内容 画针对学生的课程Course的状态机图。 二、实验工具 Rational Rose 三、实验步骤 1、选择对象。 针对学生的课程Course的状态机图。 2、列出对象的状态。 课程的状态有:开始、初始状态、关闭状态、取消状态、结束。 3、分析状态的转换。 课程处于初始状态(Initial),管理员打开选课通道后(事件is open发生),课程进入开启状态(Open),用户进行选课。如...

Suzishang的博客 1万+

Paddle账户与支付宝功能快速开通指南:全球化支付解决方案

本文为开发者提供了Paddle账户与支付宝功能集成的详细开通与配置指南。通过Paddle这一全球化支付与销售平台,开发者可一站式管理全球支付与税务合规,而集成支付宝则能无缝覆盖中国用户,实现“一个平台,覆盖全球主流支付方式”,有效提升支付转化率与收款效率。

qq_27496129的博客 1119

UML之教学管理系统——5、Rational Rose画状态机图(二)

一、实验内容 绘制学生(Student)的状态机图 二、实验工具 Rational Rose 三、实验步骤 (详细步骤见上一篇。) 1、实验分析: 学生的状态有: 初始:Initial 在线状态(即登录后):On-line 离线状态(即退出系统后):Off-line 事件: 学生登录:log in 学生退出系统:log out 动作: 注册课程:registerCourse 打印课程:printC...

Suzishang的博客 3893

WSL2+Ubuntu-22.04搭建PX4仿真环境:从零避坑到一键起飞

本文详细指导在Windows系统上通过WSL2和Ubuntu-22.04搭建PX4仿真开发环境的完整流程,涵盖环境配置、源码下载、依赖安装、Gazebo仿真及常见错误解决方案,帮助开发者从零避坑实现无人机一键起飞仿真。

k8s6orchestrator的博客 670

基于ROS2的实时视频流转换:image2rtsp在多路相机采集中的应用

本文详细介绍了如何在ROS2机器人系统中使用image2rtsp工具,将ROS2内部的相机图像话题实时转换为标准的RTSP视频流。重点阐述了其安装配置、核心参数调优,并提供了多路相机采集的实战方案,解决了机器人视觉数据跨平台、跨网络分发的难题,极大提升了视频流集成的部署效率。

weixin_29214559的博客 396

UML建模语言入门-视图,事物,关系,通用机制

一. UML视图 1. Rational Rose浏览器中的四个视图 用例视图(Use Case View) :用例视图中包括 参与者, 用例, 用例图, 时序图 和 协作图, 用例视图与代码实现无关, 该视图关注系统的高层, 不关注如何具体实现. 逻辑视图(Logical View) :逻辑视图中包括需要的特定类, 类图 和 状态图;逻辑视图关注如何实现用例视图中的具体功能...

369540808 621

嵌入式NuttX RTOS面试题及参考答案

NuttX 的板级支持包(BSP)是一组软件组件,用于将 NuttX 操作系统适配到特定的硬件平台上。BSP 提供了硬件抽象层,使得 NuttX 能够与硬件进行交互,包括初始化硬件设备、提供设备驱动程序等。BSP 的主要作用是隐藏硬件细节,为上层应用程序和操作系统内核提供统一的接口,从而提高软件的可移植性和可维护性。开发 NuttX 的 BSP 通常需要以下步骤:硬件分析:首先需要对目标硬件平台进行详细的分析,了解硬件的架构、处理器类型、外设接口等信息。

大模型大数据攻城狮的专栏 1304

UML 与rational rose 使用(一)

UML是一种标准的图形化建模语言,是面向对象分析与设计的标准表示。

m0_69766688的博客 4369

核心组件大换血:Backbone与Neck魔改篇:YOLO26魔改Neck:引入BiFPN(双向特征金字塔),多尺度融合能力飙升

本文深入解析了YOLO26目标检测模型中Neck部分的优化策略,重点探讨了BiFPN(双向特征金字塔网络)的原理与实现。文章首先指出YOLO26原生FPN+PAN结构在多尺度特征融合上的局限性,特别是在小目标检测和边缘部署场景中的性能瓶颈。随后系统梳理了Neck网络的演进历程,从FPN、PANet到BiFPN和ASFF,详细对比了各架构的特点。核心部分展示了如何将BiFPN引入YOLO26,包括可学习权重融合、双向跨尺度连接等关键技术实现,并提供了PyTorch代码示例。本文为需要提升小目标检测性能或优化边

ZDQ58818的博客 246

【论文汇总】Diffusion Models视频生成/视频编辑/可控视频生成/跨模态视频生成

本文总结了Diffusion Models视频生成领域相关的工作,目前共收录142篇,持续更新中。

沉迷单车的追风少年 1672

UML建模: StarUML VS Telelogic TAU VS Rational Rose

starUML VS Telelogic TAU VS Rational Rose UML建模软件目前用的主要有3种:商业版本:Telelogic TAU 和 Rational Rose 开源版本:StarUML Telelogic TAU与Rational Rose的功能很强,但是需要买License。StarUML就是希望能提供和TAU/Rose一样功能的开源版本。

Linux智能手机--cuijpus的专栏 5011

OpenClaw实战系列10(完结篇):企业级应用实战案例——从0到1搭建智能客服系统

本文以一家跨境电商公司为例,从需求分析、系统设计、分步搭建到上线运营,完整呈现智能客服系统的落地全过程。所有配置命令和截图均来自实测环境,你可以直接复制使用。

PeterPan的博客 1305

UML建模三个工具: StarUML ,Telelogic TAU 和 Rose

UML建模软件目前用的主要有3种:  商业版本:Telelogic TAU 和 Rational Rose  开源版本:StarUML  Telelogic TAU与Rational Rose的功能很强,但是需要买License。  StarUML就是希望能提供和TAU/Rose一样功能的开源版本。  目前使用起来还是不错的。  能熟练使用其中一个是软件设计人员

zhaozidong86的专栏 1538

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

UML总结 面向对象技术 、Rational Rose 界面

章节 概述 构成 面向对象技术 各种图 RUP 设计模式 案例 第一章概述 面向对象技术 : 一种程序设计方法 现实问题抽象方式 建模语言 类描述相同共性抽象描述 封装性:也就是保密性和独立性 继承性:事物包含某种关系或者事物 多态性:应对不同的信息有不同的行动 聚合关系:多种事物组成 软件质量衡量标准: 外部: 正确性:执行结果正确 健壮性:结实 运行崩溃 可靠; 24xiaoshi运行 性能:延迟、压缩率 内部: 模块性 :结构清晰 灵活性:扩展能力 可复用:代码能否重复

任亚兵 618

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

别再死记硬背UML了!用Rational Rose画一张电梯运行用例图,5分钟搞懂包含与扩展关系

本文通过电梯系统案例,详细讲解如何使用Rational Rose绘制UML用例图,重点解析包含与扩展关系的核心区别。从参与者、用例到关系建立,提供实战步骤和常见误区分析,帮助读者快速掌握用例图绘制技巧,提升系统设计能力。

weixin_28707739的博客 285

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Rational Rose学习笔记01:安装与注册

安装、注册和启动Rational Rose 2003

howard2005的专栏 1万+

Rational Rose画用例图、类图

新建用例图 Use Case View->右键new->Use case Diagram 画图,“谁”可以做什么,他们间有什么关系 泛化=继承,箭头指向父用例 包含=分解功能。箭头指向分解出来的功能用例 扩展=附加功能。箭头指向基础用例 VS2010新增: 依赖,表示源用例依赖于目标用例。箭头指向被依赖项 项目(Artifact),以便让开发人员能够在用例图中链接一个普通文档。 用依赖关系把某个用例依赖到项目上: 然后把项目-》属性 的Hyperlink设置到你的文档上; 这样当你在用例图.

jeff的博客 1万+

UML是什么?UML常用图以及建模工具有哪些?

“ 在做项目设计方案的时候,理解为需求后,我们都会做技术设计方案,这个时候就需要用到UML建模,涉及到UML常用图形以及工具画图,以下我会详细介绍UML图形和我个人推荐的UML建模工具。 UML即Unified Model Language,是一种建模语言,也是标准建模语言。在软件开发中,当系统规模比较复杂时,需要用图形抽象地来表达复杂的概念,让整个软件设计更具有可读性,可理解性,以便尽早发现软件设计时存在的潜在问题,从而降低开发风险。同时,也极大地方便了业务人员与开发人员之...

一个有情怀的程序猿博客 3417

欧阳俊曦精通Rational Rose

文章来源: http://download.youkuaiyun.com/source/181544第1章 Rose入门《Rational Rose 2003基础教程》配套电子教案内容 Rose与可视化建模 Rational Rose工具简介 Rational Rose 2003企业版的安装 Rose应用程序界面 Rose模型 Rose视图1 Rose与可视化建模 1.1  理解可视化建模

欧阳俊曦的博客 6508

统一建模语言UML轻松入门(1)――基本概念

统一建模语言UML轻松入门(1)――基本概念 --------------------------------------------------------------------- 宋宝华 email:21cnbao@21cn.com --------------------------------------------------------------------- 公元前260

wangziqi1991的博客 547
上一篇: 利用XML 与XSL 开发一个易于修改和扩充的用户手册
下一篇: 在RHEL2.0 上部署Websphere5.0 集群环境
alexdoes
博客等级 码龄23年 2粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值