IBM Rational Software Architect安装感受及使用初体验

1 安装感受

最近准备用UML 2.0绘制模型图。在读UML创始人之一Grady Booch写的书《Object-Oriented Analysis and Design with Applications》(第3版)1时,发现书中用的UML工具之一为IBM Rational Software Architect(RSA)。我对该工具早有耳闻。此外,近几年我用的UML工具为Sparx Systems Enterprise Architect(EA),想感受下其他建模工具的新鲜性。因此,决定安装RSA建模工具。

RSA是在Rational Rose的基础上发展而来的。Rational Rose只支持UML 1.42,IBM在收购Rational后在Rational Rose的基础上开发了RSA。RSA支持UML 2.0。

1.1 下载安装包

这个安装包很容易在网络上找到。这里不给出具体细节。下载成功安装包后,我发现整体有6.6GB之大。我纳闷,一个用于绘制UML图的工具安装包怎么可能有这么大。后来安装过程中才发现,该安装包是一个套件,里面包含了好多其他的软件和工具,例如:

  • IBM WebSphere Application Server for Developers 版本8.0.0.6
  • IBM WebSphere Application Server for Developers 版本8.5.5.0
  • IBM WebSphere Application Server Liberty for Developers 版本8.5.5.0
  • IBM WebSphere SDK Java Technology Edition(可选)版本 7.0.41
  • IBM WebSphere SDK Java Technology Edition V6.0 for Liberty 版本6.0.5.1
  • IBM WebSphere SDK Java Technology Edition V7.0 for Liberty 版本7.0.4.1

  • 等等,还有一些。

这些其他的安装软件和工具,我都不需要。所以只勾选了IBM Installation Manager 版本为1.6.3.1(强制被勾选)和IBM Rational Software Architect 版本9.0。

事后在使用时,感受到该安装包容量大的另一个原因是RSA本身也有好多工具,例如模型检测、模型模板等等。该工具与RUP软件过程模型融合在一起了。也就是说,RSA不仅仅是一个绘图工具,其能够与优良的开发过程结合在一起,以方便在软件开发过程中更好地使用UML 2.0。

1.2 安装过程

安装过程中,会提示安装缺省的Eclipse,或者更新现有的Eclipse。由于当前电脑没装Eclipse,我选择安装缺省的Eclipse。

之前下载的IBM 安装包中,解压后有四个disk开头的文件夹,最后一个字符分别为1、2、3、4。安装过程中需指定这4个disk所在位置,例如disk1。选择该文件夹即可,不用选择该文件夹下面的子文件夹。后续安装过程中,安装包会自动找到其他的disk文件夹,如disk2。

安装过程中,可以发现,即使仅仅安装该套件中的IBM Rational Software Architect 9.0,其包含的模块也是比较多的。安装时,我全选了所有功能。

安装过程会持续一段时间,大概半个多小时,用的时间还是比较多的。

安装完成后,成功提示界面如下图:
RSA安装成功
安装成功后,通过观察程序所在文件夹中个别jar包的名称信息,以及启动页面的信息,可知该V 9.0版本是2013年发布的。而Rational Rose 的最新版本是 Rational Rose Enterprise 7.0.0.4,该版本于 2006 年发布。因此,RSA是作为替代Rational Rose而存在的。

2 使用初体验

2.1 创建一个用例模型并绘制用例图

安装后,当然迫切地想用用该软件。我创建了一个项目,在该项目上创建一个模型,如下图中选择“标准模板”:
创建模型-选择“标准模板”
在上图中点击“下一步”,在出现的图中,在“类别”处选择“需求”,在“模板”处选择“用例包”,如下图:
创建模型
点击上图中的“完成”按钮,即创建一个用例模型。我在该用例模型上,创建了一个用例图,其是一个不完整的用例图,仅仅用于演示的目的。因为我的目的仅仅是绘制用例图,没有撰写用例描述等其他信息。如下图:
用例图
相应地,RSA左侧的资源管理器的结构如下图:
资源管理器
从上图可以看出,按模板创建用例模型后,RSA自动为我们创建了该模型的文件夹结构,便于我们对模型元素进行相应的调整和更新。通过我的实际感受,这些文件夹结构是虚拟的,也就是说,在电脑文件夹中并不存在上面的文件夹结构,我们在项目文件夹中看到的还是一个.emx文件。如下图:
在这里插入图片描述

2.2 如何将用例图导出为一个图片文件

因为我的目的仅仅是绘制一个用例图,迫切地想知道如何将绘制的用例图导出为一个图片文件,以进一步将图加入到文档中。可是,我探索了一会,也没发现如何将用例图导出到外部图片文件的方法。对于工具EA来说,菜单栏有一个菜单,其子菜单有一个“export to …”,即可很容易导出到外部图片文件,而RSA却没有。

后来,经过我的探索,发现了导出到图片文件的方法。在用例图的编辑区,右击出现快捷菜单,在该菜单中点击文件=>另存为图像文件(S)...,即可导出为图片。如下图:

RSA另存为图片

3 总结

通过上面的安装过程和使用初步可以看出:

  1. RSA的安装包非常大,我们只需安装IBM Rational Software Architect 版本9.0即可。而IBM Installation Manager 是通过该安装包强制安装的,亦即不像有些资料说还要单独下载IBM Installation Manager 的安装包;
  2. 创建了一个基于模板的用例模型后,RSA会自动在资源管理器中产生相应的文件夹结构和文件。对于该文件夹结构,RSA会有相应的指导说明,帮助我们使用。教材《UML软件建模技术:基于IBM RSA工具》2中讲解的不清楚。这一点还需进一步精进;
  3. 给出了一个如何将用例图导出到外部文件的方法。

最后,提醒大家,RSA不仅仅是一个UML2.0绘图工具,更是一个软件开发工具


  1. Grady Booch, Robert A. Maksimchuk, Michael W. Engle, et al. Object-Oriented Analysis and Design with Applications. 3rd Edition. Addison-Wesley, 2007. ↩︎

  2. 高科华, 李娜, 吴银婷 等. UML软件建模技术:基于IBM RSA工具. 北京: 清华大学出版社, 2017. ↩︎ ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/901284.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

接听电话,手机靠近耳朵后拿开,挂断电话,设备自动锁屏

目录 一、问题分析/需求分析 二、解决方案 一、问题分析/需求分析 先说一下大致流程: 首先是打电话过程会启动PROXIMITY(接近光传感器)用于监听手机是否到耳边,当手机到耳边时进行灭屏处理,灭屏过程中会调用到锁屏,所以最终会导致锁屏 详细流程分析: 首先根据日志看…

21天Python计划:零障碍学语法(更新完毕)

目录 序号标题链接day1Python下载和开发工具介绍https://blog.csdn.net/XiaoRungen/article/details/146583769?spm1001.2014.3001.5501day2数据类型、字符编码、文件处理https://blog.csdn.net/XiaoRungen/article/details/146603325?spm1011.2415.3001.5331day3基础语法与…

Honor of Kings (S39) 13-win streak

Honor of Kings (S39) 13-win streak S39赛季13连胜,庄周,廉颇硬辅助,对面有回血就先出红莲斗盆,有遇到马克没带净化的,出【冰霜冲击】破他大招 S39,庄周廉颇前排硬辅助全肉全堆血13连胜_哔哩哔哩bilibi…

AI技术实战:从零搭建图像分类系统全流程详解

AI技术实战:从零搭建图像分类系统全流程详解 人工智能学习 https://www.captainbed.cn/ccc 前言 本文将以图像分类任务为切入点,手把手教你完成AI模型从数据准备到工业部署的全链路开发。通过一个完整的Kaggle猫狗分类项目(代码兼容PyTorch…

NIPS2024论文 End-to-End Ontology Learning with Large Language Models

文章所谓的端到端本体学习,指的是从输入到目标本体这个完整过程。在很多其他文章中,是把本体学习这个任务肢解了来做的,同样也是肢解了之后评估。 文章号称的贡献,不但对通用本体学习提供所谓的baseline,而且还给出了验…

【NLP】18. Encoder 和 Decoder

1. Encoder 和 Decoder 概述 在序列到序列(sequence-to-sequence,简称 seq2seq)的模型中,整个系统通常分为两大部分:Encoder(编码器)和 Decoder(解码器)。 Encoder&…

Deepseek Bart模型相比Bert的优势

BART(Bidirectional and Auto-Regressive Transformers)与BERT(Bidirectional Encoder Representations from Transformers)虽然均基于Transformer架构,但在模型设计、任务适配性和应用场景上存在显著差异。以下是BART…

在人工智能与计算机技术融合的框架下探索高中教育数字化教学模式的创新路径

一、引言 1.1 研究背景 在数字中国战略与《中国教育现代化 2035》的政策导向下,人工智能与计算机技术的深度融合正深刻地重构着教育生态。随着科技的飞速发展,全球范围内的高中教育都面临着培养具备数字化素养人才的紧迫需求,传统的教学模式…

深度探索 C 语言:指针与内存管理的精妙艺术

C 语言作为一门历史悠久且功能强大的编程语言,以其高效的性能和灵活的底层控制能力,在计算机科学领域占据着举足轻重的地位。 指针和内存管理是 C 语言的核心特性,也是其最具挑战性和魅力的部分。深入理解指针与内存管理,不仅能够…

QQ邮箱授权码如何获取 QQ邮箱授权码获取方法介绍

QQ邮箱授权码如何获取 QQ邮箱授权码获取方法介绍 https://app.ali213.net/gl/857287.html

jupyter4.4安装使用

一、chrome谷歌浏览器 1. 安装 1.1 下载地址: 下载地址: https://www.google.cn/intl/zh-CN_ALL/chrome/fallback/ 2 插件markdown-viewer 2.1 下载地址: 下载地址:https://github.com/simov/markdown-viewer/releases 2.2…

STM32 HAL库RTC实时时钟超细详解

一、引言 在嵌入式系统的应用中,实时时钟(RTC)是一个非常重要的功能模块。它能够独立于主系统提供精确的时间和日期信息,即使在系统断电的情况下,也可以依靠备用电池继续运行。STM32F407 是一款性能强大的微控制器&am…

vdso概念及原理,vdso_fault缺页异常,vdso符号的获取

一、背景 vdso的全称是Virtual Dynamic Shared Object,它是一个特殊的共享库,是在编译内核时生成,并在内核镜像里某一段地址段作为该共享库的内容。vdso的前身是vsyscall,为了兼容一些旧的程序,x86上还是默认加载了vs…

Linux中的文件传输(附加详细实验案例)

一、实验环境的设置 ①该实验需要两台主机,虚拟机名称为 L2 和 L3 ,在终端分别更改主机名为 node1 和 node2,在实验过程能够更好分辨。 然后再重新打开终端,主机名便都更改了相应的名称。 ②用 ip a 的命令分别查看两个主机的 …

【从0到1学Elasticsearch】Elasticsearch从入门到精通(上)

黑马商城作为一个电商项目,商品的搜索肯定是访问频率最高的页面之一。目前搜索功能是基于数据库的模糊搜索来实现的,存在很多问题。 首先,查询效率较低。 由于数据库模糊查询不走索引,在数据量较大的时候,查询性能很差…

图论基础理论

在我看来,想要掌握图的基础应用,仅需要三步走。 什么是图(基本概念)、图的构造(打地基)、图的遍历方式(应用的基础) 只要能OK的掌握这三步、就算图论入门了!&#xff0…

详细解读react框架中的hooks

React Hooks 是 React 16.8 引入的一项革命性特性,它允许你在函数组件中使用状态(state)和其他 React 特性,而无需编写 class 组件。下面将详细解读 React Hooks 的核心概念、常用 Hooks 及其工作原理。 一、Hooks 的核心概念 1. 什么是 Hooks Hooks …

主机IP动态变化时如何通过固定host.docker.internal访问本机服务

场景需求——主机IP动态变化时,通过固定的 http://host.docker.internal:11555 访问本机服务,核心问题在于 host.docker.internal 的解析逻辑与动态IP的适配。以下是分步解决方案: 一、核心原理:host.docker.internal 的本质与局…

插值算法 - 最近邻插值实现

目录 1. 导入必要的库 2. nearest_neighbor_interpolation 3. 测试代码 数学原理 完整代码 本文实现了基于最近邻插值算法的图像缩放功能。 它使用 Python 编写,主要依赖于NumPy和PIL(Python Imaging Library)库。 NumPy用于高效的数值计算,而PIL仅用于图像的加载和…

windows中搭建Ubuntu子系统

windows中搭建虚拟环境 1.配置2.windows中搭建Ubuntu子系统2.1windows配置2.1.1 确认启用私有化2.1.2 将wsl2设置为默认版本2.1.3 确认开启相关配置2.1.4重启windows以加载更改配置 2.2 搭建Ubuntu子系统2.2.1 下载Ubuntu2.2.2 迁移位置 3.Ubuntu子系统搭建docker环境3.1安装do…