StarUML
定义
StarUML 是一款面向软件工程的建模工具,用来绘制统一建模语言(Unified Modeling Language,UML)以及其他经典建模记号下的系统模型[2]。它提供可拖放的图形编辑界面,用户在工具箱中选择元素后在绘图层上放置并连线,同时可以在模型浏览器中查看模型的树状结构[4]。
与只画图形的绘图软件不同,StarUML 区分“模型”与“图”:模型元素承载名称、构造型、类型等信息,视图元素只是模型元素在某一幅图中的呈现,改动模型名称后各幅图中的对应视图会同步变化[5]。项目文件保存为 .mdj 格式,建模数据以 JSON 结构存储,便于用脚本或命令行处理[1]。
原理
StarUML 的工作方式建立在模型与视图分离的结构上。一个项目包含若干模型、包与子系统,每幅图由若干视图元素组成,视图元素指向同一个模型元素;同一模型元素可以出现在多幅图里,因此一处改动会在所有引用它的图中反映出来[5]。这种结构使工具可以对整个模型做一致性检查,而不只是检查图形是否画得整齐。
在模型层面,工具内置基于规则的校验机制,会按 UML 规范与常见建模约定检查元素缺失、连线错误或格式不当的问题,校验在保存或打开模型文件时异步执行[1][6]。由于模型的存储格式是纯文本 JSON,代码生成、文档导出等操作可以交由扩展完成,扩展可用 JavaScript 编写并调用内置的 Node.js 环境[1][5]。
从 UML 规范的角度看,StarUML 支持类图、包图、复合结构图、对象图、构件图、部署图、用例图、顺序图、通信图、定时图、交互概览图、状态图、活动图、信息流图与轮廓图等 UML 2 图形[1]。所谓轮廓(Profile),是在通用 UML 之上针对特定语言、方法学或行业领域追加构造型与标签的扩展机制,用于让模型适配具体平台或领域[5]。
发展历程
StarUML 的前身是韩国 Plastic Software 公司的面向对象建模软件 Plastic[2]。Plastic 1.0 于 1997 年发布,最初支持 OMT 记号;其后版本转向 UML,2003 年的 Plastic 2003 经过整体重写并兼容 UML 1.4;2005 年以 Agora Plastic 2005 之名发行的版本定位国际化产品,宣称遵循对象管理组织(Object Management Group)的模型驱动架构路线[2][7]。
2005 年,该软件更名为 StarUML 5.0,并计划以开源方式发布,目标是支持 UML 2.0 与第三方插件[2]。开源版本在 SourceForge 上公开,采用 GNU 通用公共许可证,代码以 Delphi 编写,当时面向 Win32 平台,最后一批开源版本约在 2010 年前后发布[2]。此后原项目长期停止更新,2011 年末社区曾以 WhiteStarUML 之名分叉继续维护,该分支的最终版本发布于 2018 年,开发在 2020 年停止[2][8]。
2014 年,开发方曾发起众筹以重启项目、加入 UML 之外的其他记号与 Java 之外的语言支持,但募得金额不到目标的 1%,未能达到筹资条件[2]。同年,韩国公司 MKLabs 以商业专有授权方式发布重写后的 StarUML 2,版本号从 2.0.0 重新起算,旧的免费版本在产品文档中被称为 StarUML 1[2]。支持 Windows、Linux 与 macOS 的跨平台 3.0 版于 2018 年推出,4.0 版于 2020 年推出并补充了定时图与交互概览图,5.0 版于 2022 年发布并支持 Apple Silicon[2]。
应用
StarUML 主要面向敏捷小团队、专业开发者与教学机构,用于软件设计与系统架构分析阶段的需求、结构和行为建模[5][9]。除 UML 之外,同一个项目里还可以放置实体关系图用于表现数据库结构、数据流图用于表现数据在处理组件之间的流动,以及流程图、思维导图、C4 模型等图种;SysML、BPMN、UI 线框图与 AWS、GCP、Azure 架构图则属于付费版本中提供的图种[1]。
在工程实践中,工具常与代码和文档环节衔接。模型可借助开源扩展生成 Java、C#、C++、Python 等语言的代码,也有扩展支持由 C#、Java、C++ 等源码反向生成模型[1]。图形可导出为 PDF、SVG 等格式,文档字段支持 Markdown 语法编辑;另有扩展注册表供用户安装、卸载和更新扩展[6][1][5]。
局限
StarUML 的当前版本不是开源软件,需要按设备数量购买许可证,评估版在使用期限与导出图形的水印上受到限制,也不提供并发浮动授权[3][5]。旧的开源版本虽仍可自由使用,但按产品方的说明已不再维护、无法获得支持[3]。
在协作方面,早期开源版本以单机文件为管理单位,团队分工需依靠把包拆成独立的单元文件再由人合并,合并过程中的冲突仍要由使用者自行处理[10]。有使用者在文档中指出,删除图中的元素只移除视图,模型中的对应元素仍然保留,若以图为准判断模型状态容易出错。此外,旧版因仅支持 Windows 平台、依赖 WINE 才能在 Linux 上运行,在可移植性上受到批评,且缺少部分图种的编辑支持[11][12]。
参见
-
统一建模语言 —— StarUML 主要支持并为其中各类图形提供编辑功能的建模标准。
-
模型驱动架构 —— StarUML 早期版本宣称支持的方法学路线,以平台无关模型生成平台相关模型与代码。
-
Rational Rose —— 早期市场占有率较高的商业 UML 工具,StarUML 曾以替代此类产品为目标并提供其文件导入。
-
SysML —— 面向系统工程的建模语言,在 StarUML 中作为可选的图种提供。
-
BPMN —— 业务流程建模记号,在 StarUML 中作为付费图种之一提供。
参考资料
- staruml.io 上的网页 [引用日期2026-10-29]
- StarUML [引用日期2026-10-29]
- Help Center [引用日期2026-10-29]
- User Interface | StarUML documentation [引用日期2026-10-29]
- StarUML [引用日期2026-10-29]
- StarUML – Modern UML Modeling Software for Architects [引用日期2026-10-29]
- StarUML [引用日期2026-10-29]
- StarUML - Wikipedia, la enciclopedia libre [引用日期2026-10-29]
- StarUML [引用日期2026-10-29]
- sourceforge.net 上的网页 [引用日期2026-10-29]
- StarUML [引用日期2026-10-29]
- core.ac.uk 上的 PDF 文件 [引用日期2026-10-29]