利用Rational对.NET程序进行建模

开发 项目管理
本文介绍了IBM Rational的几种建模工具,介绍了代码建模以及其.NET扩展建模工具。本文面向那些对利用 IBM Rational Modeling Extension for Microsoft .NET 来对基于 C# 语言的 .NET 应用程序进行建模、设计,及开发感兴趣的开发人员和架构师。

本文面向那些对利用 IBM Rational Modeling Extension for Microsoft .NET 来对基于 C# 语言的 .NET 应用程序进行建模、设计,及开发感兴趣的开发人员和架构师。本文假定您已经对 IBM Rational 建模工具(IBM Rational Software Modeler、IBM? Rational Systems Developer、IBM Rational Application Developer,或者 IBM Rational Software Architect)以及在 Eclipse 环境中进行程序设计有了基本的了解。

IBM Rational 建模工具

Rational Software Modeler、Rational Application Developer、Rational Systems Developer 和 Rational Software Architect —— 这些全都是 Rational 建模工具 —— 构建于 Eclipse 集成开发环境(integrated development environment,IDE)之上。它们提供可视化的绘图工具,以帮助您了解现有应用程序,或者更容易地创建和理解新的应用程序。

扩展了 Rational Modeling Extension for Microsoft .NET(简称 Rational Modeling Extension)的 Rational Software Modeler(或者 Rational Systems Developer 或者 Rational Software Architect)提供由 UML 模型生成 C# 代码的功能。它还提供代码绘图工具,以帮助您了解现有的 Microsoft .NET 应用程序。本文将介绍如何在 Rational Software Modeler(或者 Rational Systems Developer 或者 Rational Software Architect)中处理 Microsoft .NET 解决方案,以及如何利用代码建模技术从现有的 C# 代码和 .NET 汇编生成各种图(Class、Sequence 和 Browse Diagrams)。本文没有涉及到从 UML 模型生成 C# 代码的内容。以下,Rational Modeling Extension 指的是安装在 Rational Software Modeler 里面的 Rational Modeling Extension。

Code Modeling(代码建模)是什么?

我们所称的code modeling(代码建模)简单地说就是 IBM Rational 建模工具中的一种技术,它可以帮助您利用 UML Notation,并且在不依赖于本别地保留的 UML 语义(抽象语法)的情况下,图形化地描述代码级概念。用 UML 表示代码元素有很多好处。最重要的是,UML 是开放的标准,并且是软件开发团体所知道的。通过创建可视地表示系统的内部构件的图和视图,可以很容易地了解任何复杂的系统。在 3GL 领域,例如,Java 和 C++,利用代码建模技术很容易做到这件事。

代码建模与像 IBM Rational Rose 或 IBM Rational XDE? 这样的产品所提供的传统的双向工程(Round Trip Engineering,RTE)是不同的,因为它具有以下特征:

◆使用 UML 标记(具体语法)

◆不需要了解 UML 语义(抽象语法)

◆不需要了解 3GL 语义如何映射到 UML 语义

◆与传统的 RTE 相比较,消除了 3GL-to-UML 映射同步的开销

总是如实,并即刻地用 UML 标记描述代码,将变更映射到代码,并且当通过图进行编辑时,可以马上对代码进行更新

与传统 RTE 相比较,大大地简化了团队工作流

能够用于 Mixed-Modeling(混合建模),就是依靠真正的 UML 语义元素,以及 DDL(表)描述,和其他语义范畴来描述代码元素

Rational Modeling Extension for Microsoft .NET 简介

Rational Modeling Extension 用来补充 Microsoft Visual Studio? 2005 的功能,以及 Visual Studio 中的 Class Designer 特性的功能(Class Designer 也是上面描述的代码建模的一种实现)。Rational Modeling Extension 不是要代替 Class Designer 特性。所以,Rational Modeling Extension 不提供完整的可视代码编辑功能,就像 Rational Systems Developer、Rational Application Developer,或 Rational Software Architect 中的 Java 或 C++ 代码建模支持。

在 .NET 中,这是 Class Designer 的工作,Rational Modeling Extension 只是提供 C#(基于源代码文件)和 CTS 类型(基于汇编中包含的二进制码)的只读的可视化表示。通过用 Class Designer 不支持的可视化特性来补充 Class Designer,已经足够提供重要的价值了。

虽然 Rational Modeling Extension 允许您像 Class Designer 那样使用类图来可视地描述 C#(Classes、Interfaces、Structs、Delegates,等),但是它还支持您通过观察 Browse 和 Topic 图中的各种 .NET 元素之间的关系来审阅应用程序的结构。此外,它还能让您在序列图中描述 .NET 类之间的典型或者 what if 的交互。Class Designer 不支持 Topic、Browse,或序列图。

在 Rational Modeling Extension 中处理 Microsoft Visual Studio 工程

对于绝大多数 .NET 开发人员来说,Microsoft Visual Studio 是编写和调试 C# 代码的*** IDE。Rational Software Modeler、Rational Systems Developer,和 Rational Software Architect 代表用 UML2 设计应用程序的市场导向的解决方案。Rational Modeling Extension 的设计预计到了这一点,并且提供了用户可以在 Rational Software Modeler(或者 Rational Systems Developer 或者 Rational Software Architect)中处理 Visual Studio 工程的方法。利用 Rational Modeling Extension,用户可以用 UML 可视地设计他们的 .NET 应用程序,然后使用转换来生成 Visual Studio 工程中的代码,并且由此,利用 Visual Studio(包括 Class Designer 特性)和 Rational Modeling Extension 中的代码可视化功能继续进行代码开发和调试。

从技术上说,Rational Modeling Extension 使用 Visual Studio 可扩展 API,从关于其内容(像工程所引用的 C# 文件和汇编)的 Visual Studio C# 工程中获得信息。Visual Studio 可扩展 API 只能从打开的解决方案中查询并返回信息。由于这一限制,只要 Rational Modeling Extension 在使用中,包含了将要在 Rational Modeling Extension 中进行建模的 C# 工程的解决方案就应该在 Visual Studio 中是打开的。

【编辑推荐】

  1. Rational 软件常见问题及解答精粹
  2. Rational测试工具的选择
  3. 在Rational中进行 AUTOSAR 系统建模
责任编辑:yangsai 来源: 天极网
相关推荐

2011-03-04 09:09:07

BlueJ

2009-11-09 11:05:41

ibmdwRational

2010-06-28 10:11:11

UML建模工具-Rat

2010-06-30 12:36:20

UML业务建模

2010-06-09 09:29:18

UML类图

2010-07-12 12:41:12

UML类图

2010-06-30 12:45:02

UML业务建模

2010-06-30 12:51:40

UML业务建模

2011-11-17 16:45:33

AdobeAIRWidget

2013-04-23 09:38:39

2009-12-23 11:10:38

ADO.NET状态

2012-11-15 10:19:56

IBMdw

2011-03-15 14:36:04

MyisamchkMySQL数据表

2009-12-21 16:02:48

ADO.NET命令

2010-06-28 13:57:48

UML建模工具Visi

2011-10-19 13:47:57

ibmdwRationalWAS

2012-02-20 09:58:38

ibmdw

2009-12-29 14:41:13

ADO.NET 数据集

2010-01-19 17:32:03

VB.NET流

2013-03-11 18:04:02

点赞
收藏

51CTO技术栈公众号