介绍StarUML的基本概念,这些都是有效运用StarUML?所需要的。包括对模型、视图、图、项目、单元、方法、框架、模型块及其差异以及UML轮廓。
模型、视与图(Model, View and Diagram)
项目与单元(Project and Unit)
模块(Module)
StarUML清晰地区分了模型、视与图(Model, View andDiagram)的概念。模型是包含软件模式信息的元素。视则是模型中信息的可视表达法,图则是表示用户特定设计思想的可视元素的集合。
在StarUML中,项目是基本的管理单位。一个项目可以管理一个或多个软件模型,它是在任何软件模型中都存在的顶级的包。一般地说,一个项目保存在一个文件中。
一个项目包含并管理下列子元素:
项目子元素 |
描述 |
模型(Model) |
管理一软件模型的元素。 |
子系统(Subsystem) |
管理表示子系统的模型的元素。 |
包(Package) |
管理元素所需的最一般的元素。 |
项目文件以XML格式、.UML为扩展名保存。StarUML中,所创建的全部的模式、视、图保存在一个项目文件中。一个项目也可以分开来保存在多个单元中。项目文件中包含下列信息:
项目中所用的UML轮廓(profiles)
项目所引用单元文件
项目中包含的所有模块的信息
项目中包含的所有视与图信息
一般地说,一个项目保存在一个文件中;同时,也有这样的情况,一个项目需要保存的多个更小的文件中,以便多个开发者可以工作于同一个项目。在这种情况下,这个项目可以用多个单元来管理。一个单元可以有按等级划分的结构,还可以下面包含多个子单元。单元保存为.UML,可以为项目文件(.UML)或其他单元(.UNT)所引用。
只有包、子系统和模型可以构成单元。这些包类型下的所有元素可以保存在各自的单元文件(.UNT)中。
只有一项目可以管理其下的多个单元,一单元可以管理多个子单元。由于父单元引用到子单元,所以全部单元有一个层级结构。
模型片段是保存为单独文件的项目的部分。只有模型、子系统和包这些项才能构成模型片段。模型片段文件以“.MFG”扩展名保存。模型块文件可以轻易地在任何时候包含在任何项目文件中。模型片段和单元有实质的不同,一旦包含在项目中,与项目其他部分相比,它们是以整体出现。
模块是一种包,它提供了对StarUML(tm) 新功能与特征的扩充。模块的创建可以是几种新扩充元素的结合。还有,不但可以为某用途对一个独立的模块配置扩充元素,而且还可以在同一模块中创建同一类型的扩充元素。
StarUML的模块有下列功能:
扩展主菜单或弹出菜单
添加新方法(approach)
添加新轮廓(profile)
通过构造型(stereotype)或表示法(notation)的扩充添加新元素
通过(COM服务器或简单的脚本文件)实现新的功能
与其他应用程序集成
其他的插件(Add-In)功能
对于软件开发有无数的方法,每家公司和机构都有其自己的方法,或者选择使用一种适合于他们的开发团队和项目的方法。应用程序领域、编程语言和平台对与开发出的每个软件都不同,所以,很多项在软件开发的建模阶段就要配置好。StarUML提供方法(approaches)的概念使得这些项配置更容易。
方法(approaches)由下列项组成。
方法组成部分 |
描述 |
项目结构 |
特定的项目的基本结构。这个基本结构可以用包、子系统和模型元素来设计。也可以用图描述设计概要 |
导入轮廓 |
项目中自动包含的默认的UML轮廓。 |
导入框架 |
项目中自动加载并包含默认的框架。 |
导入模型片段 |
项目中自动加载并包含的模型片段。 |
StarUML中的框架(Frameworks)指表示类库或应用程序框架的软件模型,如MFL,VCL,JFC等。包含与使用框架使得用户对于依赖于特定类库或应用程序的软件建模比较容易。
框架包含一个框架文件(.FRW)和一个或多个单元文件(.UNT)。
组成部分 |
描述 |
框架文件(.FRW) |
框架文件包含单元所用UML轮廓(profile)信息。 |
单元文件(.UNT) |
单元文件包含框架的实际模型信息。 |
UML (UnifiedModeling Language(统一模型语言))是如此的一般化,一致于可以表示任何的思想和观念。也许这也是弱点来源之一,因为特定领域的观念不容易详细表述。为克服这个弱点,StarUML提供UML 轮廓(profile)来扩充UML。通过在UML轮廓中直接应用这些概念StarUML可轻松支持UML的扩充。
UML Profile由下列部分构成:
组成部分 |
描述 |
构造型(Stereotype) |
构造型附着于特定UML元素,为的是进一步明晰语义,提供扩充属性,使得建模更为准确。构造型不仅指定了图标文件来作为图形表示,而且还通过定义扩充表示法文件(.PNX),定义了表示法概要。扩充表示法的更多细节,请参看开发者指南。 |
标记定义(TagDefinition) |
默认的UML属性不足以精密建模时,标记定义为这些元素提供补充信息。在StarUML中,标记定义既可以包含在特定的原型中,也可以独立存在。 |
数据类型 |
数据类型默认地包含在轮廓中。 |
图类型 |
图类型是StarUML提出的扩充元素,为的是使用户可以定义新的图形类别。 |
元素原型 |
元素原型是StarUML提出的扩充元素,为了使用户可以定义元素样本,作为创建元素配置现存属性的样本。这些定义了的元素原型可以创建联系到托盘(palette)的元素或者通过外部API创建元素。 |
模型原型 |
模型原型是StarUML建议的扩充元素,目的类似于元素原型。但只使用于模型。预定义的元素作为模型原型出现在模型附加菜单上。 |
托盘() |
摸板是StarUML建议的扩充元素,目的是使得用户可以增加托盘。 |
关于框架写作的细节描述,参见 StarUML开发指南。
UML轮廓(profile)可用于下列用途。OMG(Object Management Group(对象管理组织))也说明了用于特定用途的UML轮廓标准。
编程语言特定的UML轮廓;
开发方法(RUP, Catalysis, UML Components等)特定的UML轮廓;
开发领域(EAI, CRM, SCM, ERP)特定的UML轮廓;
如果你安装了用户或第三方开发商开发的模块,那么你可以使用StarUML的扩充功能。为了在系统中安装新的附加模块,并不需要复杂的认证。如果你想安装模块用户或第三方开发的新的附加模块,把组成模块的文件复制到<install-dir>\modules\子目录下即可。
StarUML包含平台服务器模块。
StarUML基本上提供UML标准轮廓,模块及一些方法和在顺序图和合作图之间转换的标准模块。
提供文档和代码生成器模块。
提供支持Java轮廓、J2SE和J2EE的框架、代码生成器和反向工程模块。
提供支持C++轮廓,MFC框架,代码生成和反向工程模块。
提供支持C#轮廓, NET BCL框架,代码生成和反向工程模块。
提供对xml的支持模块,支持导入导出,模型交换。
提供 Rose模块,支持读Rational Rose文件。
提供型式(Pattern)模块,支持设计模型。