Altova UModel是成功软件开发的基础。
Altova UModel 是一款 UML 工具,它使可视化软件设计在任何项目中都变得可行。 您可以使用 UML 可视化地设计应用程序模型,并生成 Java、C++、C# 或 Visual Basic .NET 代码以及项目文档。 此外,您还可以将现有程序逆向工程为 UML 图表,然后改进您的设计,并通过重新生成代码完成整个流程。

Altova UModel是成功软件开发的基础。
Altova UModel 是一款 UML 工具,它使可视化软件设计在任何项目中都变得可行。 您可以使用 UML 可视化地设计应用程序模型,并生成 Java、C++、C# 或 Visual Basic .NET 代码以及项目文档。 此外,您还可以将现有程序逆向工程为 UML 图表,然后改进您的设计,并通过重新生成代码完成整个流程。
新功能:支持数据库更新,以及更多改进。 新功能。 版本2026将于2025年10月21日发布。
“我非常满意UModel。 终于找到一款价格合理、并且使用方式符合我习惯的UML建模工具!”
“UModel 为 UML 带来了令人惊艳的体验!”
将您常用的图表视图和 UML 工具尽在掌握,从而提高效率和生产力。您在 UModel 中创建的 UML 图表中的所有元素都可以自定义,包括大小、位置、颜色、字体特征以及线条样式。
UModel 支持所有 14 个。 UML 2.5 软件架构图的类型。此外,它还提供用于XML模式和流行SQL数据库中表格的UML风格图表。
用例图通常与其他软件架构图分开考虑,因为它们能够捕捉项目需求,并可以定义正在开发的应用的范围。
很可能没有哪个项目会用到所有类型的 UML 图。软件建模允许用户根据自己的偏好和风格进行灵活选择,并且不同的任务需要使用不同类型的图。无论您创建哪种图,UModel 都提供无与伦比的图形界面和便捷的功能,让 UML 建模变得简单而有趣。
UModel中的“样式”窗口为您提供便捷的访问所有显示选项的途径,并允许您修改单个元素、选定的组或整个类别。您还可以从下拉菜单中的调色板选择颜色,或者轻松地为元素指定自定义颜色,无论是单个元素、一组元素、一个系列元素,还是整个项目。
UModel 提供了灵活的布局选项,让您可以为模型创建最清晰、最合理的组织结构。对齐网格作为背景框架,用于定位图表元素。在您创建新元素或移动现有元素时,可视化的对齐辅助线可以帮助您将新元素与图表中的其他现有元素对齐。
每种图表类型都有自己的工具栏,这样屏幕就不会被无关的图标占据。您可以选择显示或隐藏工具栏上的文本标签,也可以选择显示或隐藏任何工具栏。
UModel 甚至提供无限次的撤销/重做功能,旨在鼓励用户探索新的想法!
位于主图表的左侧的辅助窗口,在您构建和查看模型时提供帮助。您可以选择从模型树、图表树或“收藏夹”中选择一种视图,从而更好地了解项目。
其他窗口提供快速访问“属性”、“样式”、“层级结构”和“概览”等功能,这些功能可以帮助用户更轻松地浏览大型图表。
UModel 允许您在任何 UML 图中的任何元素中添加超链接。您可以创建指向外部文件、网页链接或项目内其他图表的超链接。您的描述将作为超链接的弹出文本显示。
UModel 支持图层功能。每个元素都可以分配到特定的图层,并且可以锁定图层以防止修改。
概览辅助窗口会显示一个缩略视图,用于标识大型图表中的哪个部分显示在主图表区域。这为复杂且过大的图表提供了一个快速导航工具。点击窗口内部即可在任何方向上进行滚动。
UModel 内置了一个代码生成器,它可以根据您 UML 模型中的类图、序列图和状态机图,自动生成 Java、C++、C# 或 Visual Basic .NET 代码。这可以帮助您摆脱编写底层基础设施代码的繁琐工作,从而让您能够专注于项目的业务逻辑和整体架构。
利用UModel生成的源代码,可以加速您项目的实施阶段,并消除手动编写代码中可能出现的意外错误,从而避免日后耗时调试。
UModel的代码生成器基于与XMLSpy和MapForce相同的技术。它提供的Java配置文件可以生成符合行业标准的Java代码,并与Eclipse和Borland兼容。® JBuilder是一款集成开发环境(IDE)。®...以及其他流行的Java开发环境。C++的配置方案与Visual Studio兼容,而C#的配置方案则可以生成适用于Microsoft的代码。® Visual C# .NET (或 Visual C# .NET 平台)®博兰德公司。® C# Builder (C# 开发工具)®或者其他 C# 开发环境。Visual Basic .NET 的配置支持 VB 代码生成。
UModel 支持 C# 中的泛型,并提供强大的类型检查和运行时实例化功能。此外,它还兼容 C# 3.0 和 VB 9.0 中直接支持 XML 的新语言特性。UModel 还支持在双向工程、二进制导入和序列图生成过程中,C# 4.0 中引入的命名参数、可选参数、动态编程以及协变和逆变的特性。
Java 开发者将欢迎对 Java 泛型作为 UML 模板以及对 Java 枚举的支持。这使得定义包含相同类型元素的集合变得更加容易,并且可以在编译时检测到这些集合中的类型错误。
为了确保代码质量,UModel 包含一个模型语法检查器,用于在代码中进一步应用之前,检测图表中的错误或不一致之处。
UModel 可以根据您 UML 模型中的类,自动生成 Java、C++、C# 或 Visual Basic .NET 代码,从而解放您,免去编写底层基础设施代码的繁琐工作,让您可以专注于项目的业务逻辑和整体架构。
利用UModel生成的源代码,可以加速您项目的实施阶段,并消除手动编写代码中可能出现的意外错误,从而避免日后耗时调试。
UModel 能够帮助开发者根据序列图生成代码,用于描述类操作的方法。开发者可以在序列图中直接插入完整的代码块,从而创建可执行的完整应用程序,而不仅仅是一个需要进一步手动编写代码的起点。
您可以通过以下方式使用UML序列图:在进行新设计时,可以根据新的序列图生成源代码;也可以通过修改已有的序列图来更新现有的代码,这些序列图是之前通过逆向工程得到的;此外,您还可以进行双向工程,从而同步UML模型中的源代码或序列图的后续更改。
UModel支持从序列图生成代码,适用于Java、C++、C#和Visual Basic等编程语言。
当您向代表一个类的“生命线”添加新的消息时,您可以在“属性”窗口中为该消息指定一个名称,或者从目标类中选择一个已有的操作。
如果您在序列图工具栏中启用了“自动创建操作”功能,那么在序列图中输入新消息的名称时,系统将同时在相应的类中创建一个新的操作。
UModel 允许您根据状态机图生成可执行的代码,这样您就可以快速开始测试状态机图中体现的逻辑。
您可以选择以下几种方式生成代码:一是作为常规项目代码生成过程的一部分,通过“项目”菜单中的选项进行;二是直接从状态机图的上下文菜单中进行。
UModel 的上下文菜单还提供了一个选项,允许您检查状态机图的语法,从而避免生成无效的代码。
“生成状态机代码”对话框允许您控制代码生成设置,甚至可以指定是否在项目代码生成时自动重新生成状态机代码。
当您在类或接口内部的状态机图中添加一个新的状态转换时,您可以使用“属性”窗口中的下拉列表,将已有的操作分配给目标类。
状态机图工具栏中的“自动创建操作”选项,允许您在为状态机中的新操作命名时,同时在该类中创建一个新的操作。
UModel安装包中包含的示例项目文件,甚至包括用于C#和Visual Basic的Visual Studio解决方案文件,以及一个Java测试应用程序,该应用程序演示了状态机代码的执行,并且可以轻松地进行修改,以便与您自己的状态机图配合使用。
UModel 具有强大的逆向工程能力,可以读取 Java、C#、C++ 和 Visual Basic 源代码以及二进制文件,并生成 UML 模型,从而以更清晰、更易于分析的图形化方式呈现代码,相比于直接打印源代码文本,效果更佳。
您可以利用逆向工程技术来分析和建模现有的应用程序,或者通过导入已有的类库,例如员工、客户、供应商等,从而快速启动新项目,这些类库可能已经由您的团队开发。
UModel 可以从 JBuilder、Eclipse 和 NetBeans 项目中导入 Java 源代码文件,从 Microsoft Visual Studio 中导入 C++ 源代码,从 Visual Studio 和 Borland C# 中导入 C# 源代码,以及从 Visual Basic .NET 项目中导入项目文件。
您可以导入单个目录、目录树,或者整个项目。您可以选择将导入的代码合并到现有的 UModel 项目中,也可以创建一个新的项目。
如果您导入包含Java文档(JavaDocs)的Java源代码,UModel的文档窗口可以选择性地为每个UML图填充相关文档。 同样,C#和Visual Basic .NET中的文档注释(DocComments)也可以作为模型项目的文档进行导入。
UModel 在反向工程 Visual Basic .NET 代码时,采用逐行分析的方式,并且不区分大小写(因此,Class1、CLASS1、class1、ClAsS1 被视为相同),这与 Visual Basic .NET 相对宽松的命名规范相符。
UModel 可以导入 Java、C++、C# 和 Visual Basic .NET 的二进制文件。对于 Java,它支持导入所有符合 Java 虚拟机规范的类库文件。
对于C#,支持类型导入,适用于目标平台为.NET Framework、.NET Core以及针对PocketPC、智能手机和Windows CE的.NET Compact Framework的程序集。对于Visual Basic .NET,可以导入来自文件系统的DLL和EXE文件,或者来自全局缓存(GAC)或MSVS.NET引用的程序集。
根据您选择的特定二进制文件,可能还有其他可用的二进制文件导入选项。UModel 的集成帮助系统可以引导您了解导入二进制文件的所有细节。
UModel 允许您从已反向工程处理成 UML 类别的源代码文件中生成序列图,这对于分析复杂的交互过程来说是一项非常有价值的工具。
您可以自动将非常大的序列图分割成更小的部分,并添加超链接,以便于便捷的浏览。
随着项目的演进,您可以通过您喜欢的集成开发环境(IDE),直接在Java、C++、C#或Visual Basic .NET源代码中进行修改和添加,从而完善最初生成的代码基础。UModel的“双向工程”功能能够读取修改后的代码,并自动相应地更新您的UML图。这种同步机制确保您的模型随着代码的变更保持准确和相关。
UModel无需在源代码中添加任何伪代码或特殊注释,即可实现成功的数据往返。这使得您的代码避免了可能影响可读性或直接编辑的额外元素。
UModel 的双向工程功能支持迭代式开发流程。在您将模型与修改后的代码同步后,您仍然可以自由选择最适合的工作方式——进一步修改代码,或者修改您的模型。您可以随时进行单向或双向同步,并根据需要重复这个循环。
与 UModel 的其他功能一样,双向工程支持无限次的撤销和重做操作。您可以自由尝试所有对话框中的复选框选项,因为您可以随时通过单击按钮恢复您的模型。
UModel 的集成功能将双向工程能力提升到了一个新的高度。在 Microsoft 环境中使用 UModel 企业版,可以实现更高级的双向工程。® Visual Studio (Visual Studio 集成开发环境)® 或者,使用 Eclipse 集成开发环境(IDE),开发人员可以在一个窗口中打开 UModel 项目,同时在另一个窗口中使用源代码编辑器打开相关的应用程序代码。
可以设置自动同步,方向可以是单向或双向,以便在一方发生更改时,立即更新 UML 模型或源代码。这使得开发人员能够立即了解应用程序修改带来的影响,无论这些修改是体现在模型中还是直接在源代码中。
UModel 包含一种特殊的图表类型,并提供对 XML 模式的代码生成支持。UModel 的 XML 模式图以类似于 UML 类图的格式呈现 XML 模式,并将 XML 模式中的全局元素(元素、简单类型和复杂类型)显示为类,并在属性区域中显示模式元素的属性。
UModel 使用 UML 注释来显示模式的详细信息。当您导入一个 XML 模式时,它会被视为应用程序的源代码,并通过逆向工程来创建一个 UModel 项目。该项目文件以及其中包含的图表,是对 XML 模式的建模,而不是模式本身。
由于 UModel 项目和 XML Schema 是独立的两个文件,因此 UML 模型为 Schema 设计和实际的 XSD 文件之间提供了一个抽象层。这使得团队中的开发人员可以通过修改 UModel 项目,以协作的方式进行 Schema 的改进,将 UML 模型视为一个蓝图。在模型中对 XML Schema 设计所做的更改,会在代码生成或项目同步过程中被写入到 XML Schema 文件(*.xsd)中。
UModel 还支持 XML Schema 文件的双向工程处理。如果您在 UModel 之外修改了 Schema 文件,可以使用 UModel 项目菜单将这些更改同步回 UModel 项目和 XML 图表。
如果您的项目需要您设计一个新的XML Schema,那么您应该了解Altova XMLSpy这款业界标准的XML开发环境,它具有专门的Schema编辑和验证功能。
您的团队中的一位开发人员可以使用 XMLSpy 来处理 XML 模式,而其他开发人员可以通过双向工程处理 XSD 文件,从而同步他们的模型。如果您的项目需要设计新的 XML 模式,您应该了解 Altova XMLSpy 提供的专门的模式编辑和验证功能,它是 XML 开发领域的行业标准工具。
随着软件应用程序处理的数据量不断增加,数据库的设计和结构对于成功项目的开发变得至关重要。UModel 能够帮助您导入来自各种主流关系型数据库的现有表,从而创建 UML 数据库图,修改现有表的图表,并生成 SQL 数据库变更脚本以同步数据库;或者,您可以从头开始设计新的数据库表和关系,并生成相应的 SQL 创建脚本。
您可以轻松地一步导入整个关系型数据库,或者选择数据库中与您的项目相关的特定表,从而在您的软件应用程序中构建数据结构。
UModel 的数据库图功能支持多种数据库,并且能够根据数据库类型自动调整 SQL 语法、数据类型以及其他专业特性。UModel 支持以下数据库元素:数据库模式、表、视图、检查约束、主键/外键/唯一键、索引、存储过程、函数、触发器、数据库关系关联以及具有属性的数据库关系。
文档是软件开发的重要组成部分。UModel 通过自动生成 HTML、Microsoft Word 或富文本 (RTF) 格式的项目文档,从而加速这一过程。
UModel 内置的项目文档设计提供了高度的用户控制、灵活性和可定制性。在选择输出格式和图像处理选项后,您可以根据自己的需求定制项目文档。此外,您还可以选择在每个元素中包含的详细程度,例如,可以包含类关系图,以辅助沟通。
无论您选择哪种输出格式,UModel都会在文档中添加超链接,以方便浏览。此外,还会包含指向生成的源代码文件的链接。UModel内置的文档设计还允许您通过单独指定每个文本块的字体样式和大小,来控制项目文档的外观。
如果您的文档需要更高级的定制,您可以使用 SPS 样式表,指示 Altova StyleVision 为您的 UML 项目创建完全定制的文档。
UModel 包含一个示例样式表,它可以作为您使用 StyleVision 的所有灵活性来创建自定义格式的起点。样式表可以帮助您将图像嵌入到 UML 项目文档中,例如您的公司logo,以及页眉、页脚或标准文本块。基于样式表的文档还支持 PDF 输出。
您可以在 UModel 的“生成文档”对话框中选择一个样式表,并将执行指令直接发送到 StyleVision,从而在完全自动化的工作流程中创建定制化的文档。
UModel 支持 SysML。™ 用于嵌入式系统和其他复杂设备的建模。
作为嵌入式系统,它接收输入并产生输出,其内部运作和状态可能不透明。这使得开发、测试和调试用于控制嵌入式系统的软件变得困难。使用Altova UModel和SysML进行软件建模,可以创建可追溯的蓝图,这对于规划、设计和记录正在开发的系统非常有用。
SysML图表可以分为三大类:用于捕捉系统需求和物理约束的图表,用于描述系统结构的图表,以及用于描述系统行为的图表。UModel支持所有SysML图表及其扩展功能:
随着支持各种业务活动的信息交流日益频繁,建立一套标准化的建模系统变得越来越重要。这套系统应该易于被不同层次、不同部门的业务人员理解和使用,同时又能用于描述涉及多个参与方或企业的复杂流程。
业务流程建模符号 (Business Process Modeling Notation, BPMN) 是一种图形化标准,用于创建类似于流程图的图表,这些图表易于所有业务相关人员理解,包括业务分析师、技术开发人员和业务管理者。BPMN 标准由对象管理组织 (Object Management Group, OMG) 维护,该组织与管理 UML 的组织相同。
UModel 支持 BPMN 1.0 和 BPMN 2.0 两种规范,并且为希望将旧图表更新为包含 BPMN 2.0 标准中引入的新元素和功能的用户的,提供了迁移路径。此外,UModel 还通过 XMI 规范,支持与其他 BPMN 工具进行模型交换,该规范最初是为 UML 模型而开发的。
UModel BPMN 功能:
业务流程图的元素和规则与UML活动图非常相似,这使得UModel这款易于使用且备受好评的绘图工具能够从UML无缝过渡到业务流程建模符号(BPMN)。UModel允许您创建灵活的图表,这些图表非常适合记录内部流程的细节。
编排图(Choreography diagrams)详细规定了业务参与者如何协调其交互方式。 编排也可以被视为参与者之间的商业合同,其重点在于参与者之间信息(消息)的交换。
UModel编排图工具栏提供了快速访问所有BPMN 2.0编排元素的途径,并提供任务、事件和网关等各种类型的下拉选择菜单。
协作图(Collaboration Diagram)用于描述两个或多个流程之间的交互。一个BPMN协作流程通常由两个或多个“泳道”(Pools)组成,这些泳道代表协作中的参与者。参与者之间的消息交换通过“消息流”(Message Flows)来表示,这些消息流连接着不同的泳道,或者泳道内的对象。UModel的协作图工具栏提供了快速访问所有协作图元素的途径。








