学习如何使用UML 我刚刚开始C++,现在我正在学习UML的概念。UML是否包含在任何C++编译器中,或者应该在不同的软件中运行?创建UML图需要哪些工具?

学习如何使用UML 我刚刚开始C++,现在我正在学习UML的概念。UML是否包含在任何C++编译器中,或者应该在不同的软件中运行?创建UML图需要哪些工具?,c++,compiler-construction,uml,C++,Compiler Construction,Uml,有很多UML工具,但我建议您使用以下两种工具: 1-视觉范式 2-理性玫瑰 与rose相比,我更喜欢VisualParadigm软件,因为它的完整性。它也有一个免费版本。只需搜索名称,您就可以找到他们的官方网站。UML是一种可视化语言。您可以使用它来定义或记录软件结构和行为,但UML不是一种编程语言。学习UML的最佳来源是来自OMG集团(UML的作者)的原始UML上层结构文档。您可以从omg网站免费下载。以下是一个链接: 有许多用于创建UML模型的软件工具。(自由和商业)。 这里列出了一些工具:

有很多UML工具,但我建议您使用以下两种工具: 1-视觉范式 2-理性玫瑰


与rose相比,我更喜欢VisualParadigm软件,因为它的完整性。它也有一个免费版本。只需搜索名称,您就可以找到他们的官方网站。

UML是一种可视化语言。您可以使用它来定义或记录软件结构和行为,但UML不是一种编程语言。学习UML的最佳来源是来自OMG集团(UML的作者)的原始UML上层结构文档。您可以从omg网站免费下载。以下是一个链接:

有许多用于创建UML模型的软件工具。(自由和商业)。
这里列出了一些工具:

我从未发现UML在学术环境之外有用。它对于C++来说尤其没有用,在那里你通常首先会有很少的面向对象编程,但是很多泛型编程、自由函数、lambdas、Type Debug、遗留代码和宏——一个与“干净”的java或C语言体系结构完全不同的世界。 我知道UML比IS-A和has-A的箭头有更多的特性,但是如果您使用超出这些简单事物的奇异符号,您的程序员同事会理解这些图表吗?如果他们没有,那又有什么意义呢


这并不是说在考虑编码之前不应该在一张纸上绘制软件架构。在触摸键盘之前,您应该花费大量时间绘制图表。但是本着KISS的精神,您最好使用简单的框和箭头来描述更高级别模块之间的依赖关系,而不是根据一些模糊的UML约定来可视化每个类之间的确切关系。

我建议您尝试IBM Rhapsody()。它是一个非常强大的工具,允许将UML编译成c/c++可编译源代码。它有一本非常棒的手册,可以指导您使用Rhapsody构建工作应用程序。

UML与编译器无关。你要求的是正交的东西,像SparxEnterpriseArchitect这样的UML编辑器可以做到。但是没有人真正关心UML。您最好学习如何设计和编写好代码。UML不是必需的。阅读福勒的“UML蒸馏”——这是您需要的全部说明。白板和标记或纸和铅笔都是足够的工具。UML与C++无关,除非你使用一些代码生成或代码可视化工具。我想,绘制UML最先进的工具是MS Visio,有一些。那么人们在行业中使用UML的频率是多少?@Khoyy它在行业中被广泛使用,并且是大多数大型公司开发过程定义的固定部分。虽然UML并不一定直接与C++代码中实现的细节相关。例如,UML模型非常有助于跟踪系统级架构视图和需求分析。如果UML没有用处,软件工程师在编写代码之前使用什么工具来创建模型?最重要的工具是一支笔和一张纸。嗯,我发现rhapsody对于开箱即用的东西来说太贵了。你必须为每一个小功能支付额外费用。从这个角度来看,IMHO Sparx EA的性能要好得多。当然也有自己的缺陷和问题。@πάνταῥεῖ 是的,也许吧。但至少它满足了TS的需求,也许他可以找到更好的工具来满足他的需求。