优.对属性建模
C#语言允许程序设计人员通过附加在程序实体上的 attributes 来提供某些类型的说明性的信息。这些属性(attribute)被定义为 属性类。属性类建模的方式类似于任何其他的类,并且它们和 System.Attribute 有泛化关系。与具体实体一起的属性被描述为相应的实体的原型中名为 attributes 的原型属性。举例来说,为 C# 类声明的属性可以设置为<<CSharp Class >> 原型中的 attributes 原型属性中的字符串。
对于该实例,将对名为 TestAttribute 的属性类及它的使用来建模(也参见图 6 和图 7):
2. 在 Project Explorer 中,在所导入的 C# 项目的 References 部分中寻找 System.Attribute 类,并将其拖到图上。(导入 C# 项目的方法参见关于使用该 Rational 扩展来可视化 .NET 应用程序。也将 TestAttribute 类拖到图上,并显示从 TestAttribute 到 System.Attribute 的泛化关系。
3. 向TestAttribute 应用 <<CSharp Class >>原型。
4. 向[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] 设置<<CSharp Class >>中的attributes原型属性。
5. 现在,对任意的类应用该属性,例如 GraphicObject,应用 <<CSharp Class>> 原型,并将其 attributes 原型属性设置为 [TestAttribute]。
图 7. 用于 TestAttribute 的 C# Attribute
在各种各样的原型中,attributes 属性的用法都类似,包括这些原型的属性:
C# 命名空间(namespace)建模为UML包。命名空间中的所有类型建模为相应的包中的UML类型。对包的命名不应该有任何特殊的字符。举例来说,名为 MyClass 类处于com.ibm 的命名空间中,应该将它建模为ibm 包中的类,该包处于另一个名为com 的UML包中,而不是为MyClass 在名为com.ibm 的UML 包中创建一个类。
九. 验证模型
当在 Rational Modeling Extension for .NET 中对 C# 应用程序建模之后,您可以通过该扩展的版本
1. 在 Project Explorer 中选择模型。
2. 单击右键,并在弹出菜单中选择 Validate(参见图 8)。
然后验证模型,在错误日志中显示出任何的错误或警告。举例来说,模型验证会捕获例如对 C# 委托的不正确的建模的错误。