UML建模三个工具: StarUML ,Telelogic TAU 和 Rose

UML建模软件目前用的主要有3种:
商业版本: TAU 和Rose
开源版本:
TAU与 Rose的功能很强,但是需要买 。
就是希望能提供和TAU/Rose一样功能的开源版本 。
目前使用起来还是不错的 。
能熟练使用其中一个是软件设计人员的基本功 。
1 先看 TAU:
tau
Tau SDL Suite主要用于协议的设计、描述、验证及实现,支持图形化的SDL编辑、在线仿真和验证、代码自动生成、MSC(消息顺序图)编辑及测试用例(test case)自动生成等 。SDL Suite由以下几部分组成:
SDLSDL编辑器,支持图形化的SDL编辑,同时提供一个在线检查的分析器,可以立即标出编辑中的静态语法和语义错误 。
SDLSDL仿真器,支持在开发环境下进行SDL系统的仿真运行,仿真结果可自动生成MSC 。仿真器还可以自动穷举搜索SDL系统的所有路径,保证系统的每一个状态都是可达的 。
SDLSDL验证器,结合MSC验证系统行为是否与需求描述一致 。
SDL代码自动生成器,支持三种代码生成:第一种是无限制的C代码生成器,支持一般的C和C++代码生成;第二种是优化的C代码生成器,支持小型嵌入式系统的优化代码生成,能满足这种系统对代码效率、最小内存和高性能的要求;第三种是CHILL代码生成器 。由于在仿真和验证阶段使用的代码与最后生成的代码是相同的,这就保证了测试系统与实际运行系统的一致 。
MSCMSC编辑器,支持图形化的MSC编辑 。
SDL Suite还支持与实际目标环境的集成 。它包含一个运行库,提供SDL系统与环境打交道的源代码,支持多种操作系统,开发者可以在单任务、多任务和分布式系统之间进行选择 。自动生成的代码加上指定操作系统的运行库源代码,经过合适的C编译器编译连接,即可在实际环境中运行 。
Tau TTCN Suite可以作为通信协议的测试集生成工具,支持协议一致性测试 。TTCN Suite提供给测试工程师强大的TTCN编辑器、句法分析器和编译器,可将测试方案转化为C代码,在测试设备上运行 。
Tau还提供了从SDL系统设计和MSC直接生成TTCN测试集的功能 。
Tau3.0是的支持uml2.0的建模工具,同时提供了模型验证(Model ),代码生成(code ) 。这是个欧洲公司,据说已经有14年的业内经验了 。那个时候uml的版本还是负的2.0吧 。
1.Uml建模
比较容易使用 。
最重要的是,它对模型的要求比较严格 。比如序列图中的对象或者消息,必须是已经定义的 。否则会出错的 。这样严格应该是为了代码生成和模型验证吧 。
Tau3.0有一种特殊的图,叫做text图,一般来说是一个类的方法的实现 。在text 图里面有一个 ,就是一个类似输入框的东西,在里面可以写代码 。但是代码不是要用tau的语言来写的,不是c,也不是java 。在状态机图中,也可以画。另外 。还有一个图形元素叫做text ,也可以写代码 。
为了及早检查出错误,tau有自动和手动check功能 。跟ide里类似,比如函数名没定义,变量没定义等等 。手动检查,可以在要检查的元素上按右键选择,或者使用快捷键f8 。
好像没有图支持 。
2.模型验证
这个应该是很多工具不具备的 。
就是在uml模型上执行 。要想进行模型验证和代码生成,至少需要类图和状态机图 。序列图活动图,和用例图不被使用,其他图根据需要有可能被使用 。需要的图和代码生成一样 。
说是验证,实际上就是把模型生成可执行代码,执行 。在uml模型上,能看到执行的过程等 。基本的debug机能都有,step in ,step out 等,还有break point ,代码覆盖率统计的 。比较不错,第一次看到时惊奇了一把 。