在Rational中使用C++可视化

IBM RationalSystems Developer 的 C++ 可视化(C++ Visualization)特性能够让您使用 C++ 代码,利用一个类似 UML 的符号提供与 UML 建模相似的技巧。这篇文章展示了如何图形化地表示(显示) C++ 原理,发现并显示它们在 UML 图中的关系,创建新的 C++ 组件,直接从图中编辑源代码,创建关联和导航特性。

C++ 可视化特性的介绍

IBMRationalSystems Developer C++ 可视化特性将建模技巧带到使用 Eclipse C/C++ Development Toolkit (CDT),一个开放开发环境的 C++ 项目中来。通过为 C++ 源代码创建 Unified Modeling Language 2.0 (UML 2) 代理组件使灵活建模在实况 C++ 项目上变为可能,这样允许您把它们当作 UML 组件来使用。这些代理组件仅仅存在于这个图中,它们在这里被创建,而且不需要优先的,实体 UML 模型组件。

当您创建这样一个组件时,可视化引擎只会查找那些已经被选中的代码组件和与它有直接关系的组件。因此,它不会反对完成源代码,除非您明确规定这个行为。这就是与逆向工程工具的不同之处。 图形表示(显示)的另一好处是它们总是与源代码同步,这意味着 UML 图,像 Class 或者 Topic 图一样,在变化发生时总能在代码中反映这些变化。

这篇文章描述了 C++ 可视化特性在编程和编制代码的日常活动中是怎样起到帮助的作用的。

开始阶段

关于 CDT 项目索引器

Rational Systems Developer C++ 可视化特性依靠 Eclipse CDT 索引器来获取关于源组件的信息。因此,这篇文章推荐您激活项目的Full Indexing。您要么在创建这个项目的时候来设置这个选项,要么从这个项目的Properties页面来设置。您还可以从 Preferences页面为所有的 C++ 项目将完整索引器设置为默认的索引器(Main menu > Windows > Preferences > C/C++ > Indexer)。

在您的系统上安装 Rational Systems Developer。

在这篇文章中导入 Eclipse CDT 程序库项目下载的样例,导入到您的 Rational Systems Developer 工作区。

在类图上可视化 C++ 元素

Rational Systems Developer 支持这些元素:

C++ 类的可视化(图形化表示),数据类型结构,枚举以及 UML 分类符的类型定义。

Namespace 相当于一个 UML 包

文件和文件夹相当于 UML 工件

您可以在一个 UML 图上可视化地表示这些元素,要么通过弹出式菜单,要么通过拖放地方式。

使用 C++ 元素弹出式菜单

C++ 可视化特性为 C++ 元素(参见图1)提供了一个显示上下文菜单选项,它可以让您通过以下几个步骤将C++ 元素显示在新的或者现有的类图上:

激活这个弹出式菜单。

选择 Visualize > Add to New Diagram File > Class Diagram。

图 1. 显示弹出式菜单

图 2 显示了来源于显象在一个图中的样本项目的分类 Book。图标中可视化 C++ 元素与 UML 类在使用 C++ 特殊标符和结构上有所区分,它们显示在表格 1中。

图2. 一个 C++ 类显示在 Class 图标中

<

时间: 2025-01-07 18:24:20

在Rational中使用C++可视化的相关文章

Rational中DataPool的介绍与实际应用

本文对 datapool 进行简单介绍的同时结合实际功能测试和性能测试的来讲界使用 datapool .希望对广大的软件测试人员有帮助.由于写作 DataPool 是一种测试数据集,在测试脚本回放的时候提供给脚本的变量. datapool 可以由 rational 产品 robot 或 TestManager 创建,下边的表格列举出在 robot 和 testmanager 中可以对 datapool 执行的操作: 操作 Robot TestManager 在测试脚本中自动建立 datapool

ROS机器人程序设计(原书第2版)3.9.1 使用rqt_rviz在3D世界中实现数据可视化

3.9.1 使用rqt_rviz在3D世界中实现数据可视化 在roscore运行时,启动rqt_rviz(请注意rviz在ROS hydro中依然有效):     我们将会看到如下图所示的图形化工作界面:   在左边有一个Displays面板,在面板的中间有一个包含了模拟环境下不同参数项的树形列表.在示例中,已经加载了部分参数项.实例中的配置和布局都存储在了config/example9.rviz文件中,可以通过点击File | Open Config加载. 在Displays区域之下有一个Ad

Rational Rose和UML可视化建模基础

为了成功地开发一个项目,你需要正确的过程.工具和符号(注释).在本文中作者解释了UML是如何为你提供符号.Rational统一流程(Unified Process)是如何为你提供正确的流程,以及Rational Rose是如何为你提供使项目成功的工具的. 什么是可视化建模? 可视化建模(VISUAL MODELING)是利用围绕现实想法组织模型的一种思考问题的方法.模型对于了解问题.与项目相关的每个人(客户.行业专家.分析师.设计者等)沟通.模仿企业流程.准备文档.设计程序和数据库来说都是有用的

浅谈Eclipse RCP中可用的可视化编辑器

在进行RCP开发的时候,有一个可视化编辑器,当然可以起到事半功倍的效果.对于进销存管理系统这 样简单的程序来说,视图加对话框就可以搞定所有的程序功能,然而对于视图和对话框中的控件,如果没 有可视化编辑器的帮助,足以让开发者焦头烂额.然而选择可视化编辑器的道路却坎坷曲折,我在这里把 我的经历写出来,希望对大家有一点帮助. 先来说说VE,我想大家一想到可视化编辑器的时候,第一个就会想到VE.我在这里告诉大家,这个编 辑器你们根本不用考虑,不用浪费时间在它上面.为什么这么说呢?第一,这个编辑器的官方版

TensorFlow新功能解锁:可在TensorBoard中增加自定义可视化插件

谷歌大脑团队日前发布新的TensorFlow API接口,能让开发者将自定义的可视化插件加入TensorBoard,相较以前更具灵活性. 雷锋网 AI科技评论将最新消息编译整理如下: 我们在2015年开源TensorFlow时就包括TensorBoard了,它是一套用于检查和理解TensorFlow模型和进程的可视化工具.Tensorboard包含一小套预决定的通用可视化工具,几乎适用于所有深度学习应用,例如观察损失随时间的变化,探索高维空间集群. 然而,在缺乏可重用API的情况下,不属于Ten

机器学习中数据处理与可视化的python、numpy等常用函数

写在前面:本文所针对的python版本为python3.0以上! np.tile() tile()相当于复制当前行元素或者列元素 import numpy as np m1 = np.array([1, 2, 3, 4]) # 行复制两次,列复制一次到一个新数组中 print(np.tile(m1, (2, 1))) print("===============") # 行复制一次,列复制两次到一个新数组中 print(np.tile(m1, (1, 2))) print("

R语言中值得学习的7个可视化,附代码段&amp;案例数据集

R编程允许开发者通过一组内置的函数和库来构建可视化以描绘数据. 在分享可视化的技术实现之前,首先着眼如何选择合适的图表类型. 选择合适的图表类型 基本呈现类型有四种: Comparison Composition Distribution Relationship 为了确定哪一种与数据匹配,不妨先从以下几个方面考虑: 在一个图表中显示多少变量? 每个变量显示多少数据点? 基于时间显示值,还是在项目或组之间显示值? 下图恰到好处地描述了如何选择合适的图表类型,出自Andrew Abela博士之手.

探讨ASP.NET 2.0中的Web控件改进技术

asp.net|web|控件 ASP.NET 2.0并没有抛弃1.1版本中的任何现有控件,而是增加了一组新的控件;同时还引入了若干新的控件开发技术.本系列文章将对这些内容展开全面探讨. 一. 引言 到目前为止,你可能已经了解了大量的ASP.NET 2.0新特征-母版页面,主题,提供者,等等--所有这样内容都相当精彩;但是,你是否了解到有关定制Web控件开发方面的重大变化?这正是我在本文中所想讨论的.如果你已经从事于控件开发,那么,我想本文所描述的ASP.NET 2.0中的新的改进特征会立即应用于

原创:在ASP.NET2.0中实现主页嵌套

asp.net|原创 现在的很多商业公司都设有不同的部门,而这些部门在公司的网站上都有自己的子网站.一般情况下,每一个部门都会根据自己的需要来维护各自的网站.这样做虽然会使公司的网站显得丰富多彩,但这却会对用户的访问带来不便,也就是说,由于各个部门的子网站没有保持一致性而使用户在浏览网站时造成了困难.幸运的是,ASP.NET2.0为我们提供了一种解决方案,这就是主页嵌套. <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com: