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