Archimate-PlantUML

Archimate-PlantUML

为PlantUML提供宏和包含文件

Archimate-PlantUML是一个开源项目,为PlantUML提供宏和包含文件,简化ArchiMate企业架构图的创建。该项目支持ArchiMate的元素、关系和分组,实现组件嵌套,并提供多种主题。用户通过简单的文本语法即可创建复杂架构图,适合需要可视化和管理企业架构的团队。Archimate-PlantUML结合了PlantUML的灵活性和ArchiMate的标准化,为架构建模提供直观有力的工具。

Archimate-PlantUML企业架构UML图PlantUMLArchiMateGithub开源项目

Archimate-PlantUML

用于轻松创建Archimate图的PlantUML宏和包含文件。

Archimate-PlantUML示例图 - 互联网浏览器

目录

  1. 背景
  2. 入门
  3. 使用方法
  4. 示例
  5. 贡献
  6. 许可证
  7. 致谢

背景

PlantUML

PlantUML是一个开源项目,允许您使用简单的文本语言创建UML图。它使用Graphviz进行图表布局,生成PNG、SVG或LaTeX格式的图像。

ArchiMate

ArchiMate是一种企业架构建模语言,支持跨业务领域的架构描述、分析和可视化。

ArchiMate提供了一种通用语言,用于描述业务流程、组织结构、信息流、IT系统和技术基础设施的构建和运作。这就像传统建筑中的建筑图纸,描述了建筑物的各个方面的构造和使用。这种洞察力有助于不同的利益相关者设计、评估和沟通这些业务领域内部和之间的决策和变更的后果。

Archimate-PlantUML结合了PlantUML和ArchiMate的优点,提供了一种简单的方法来创建和管理ArchiMate图。Archimate-PlantUML是一组在PlantUML Archimate规范基础上编写的宏和其他包含文件,旨在简化创建元素和定义关系的语法。

入门

在您的.puml或.wsd文件中包含Archimate.puml文件:

!includeurl https://raw.githubusercontent.com/plantuml-stdlib/Archimate-PlantUML/master/Archimate.puml

对于离线使用,下载文件并在本地引用它们:

!include path/to/Archimate.puml

使用方法

在包含Archimate.puml后,您可以使用为ArchiMate元素定义的宏。

ArchiMate元素

ArchiMate元素按以下模式定义:

Category_ElementName(nameOfTheElement, "description") Category_ElementName(nameOfTheElement, "description", true) //启用元素嵌套

例如:

  • 要定义一个属于Motivation类别的Stakeholder元素,语法如下:
    Motivation_Stakeholder(StakeholderElement, "利益相关者描述")
    输出: 利益相关者
  • 要定义一个Business Service元素:
    Business_Service(BService, "业务服务", true) { Application_Service("AppService01", "应用服务01") Application_Service("AppService02", "应用服务02") Application_Service("AppService03", "应用服务03") }
    输出: 业务服务

ArchiMate关系

ArchiMate关系按以下模式定义:

Rel_RelationType(fromElement, toElement, "description")

要定义两个元素的方向/方位:

Rel_RelationType_Direction(fromElement, toElement, "description")

支持的RelationTypes有:

  • Access
  • Aggregation
  • Assignment
  • Association
  • Composition
  • Flow
  • Influence
  • Realization
  • Serving
  • Specialization
  • Triggering

支持的Directions有:

  • Up
  • Down
  • Left
  • Right

例如:

  • 要表示上面定义的Stakeholder和Business Service之间的composition关系,语法如下:
    Rel_Composition(StakeholderElement, BService, "关系描述")
    输出: 组合关系
  • 要将两个元素排列成上下位置,语法如下:
    Rel_Composition_Down(StakeholderElement, BService, "关系描述")
    输出: 向下组合关系

ArchiMate分组

ArchiMate中的分组使用以下语法表示:

Grouping(nameOfTheGroup, "分组描述"){ //定义ArchiMate元素 }

以及:

Group(nameOfTheGroup, "分组描述"){ //定义ArchiMate元素 }

例如

  • 分组类型1:

    Grouping(Example01, "分组类型01"){ Motivation_Stakeholder(StakeholderElement, "利益相关者描述") Business_Service(BService, "业务服务") }

    输出: 分组类型1

  • 分组类型2:

    Group(Example01, "分组类型01"){ Motivation_Stakeholder(StakeholderElement, "利益相关者描述") Business_Service(BService, "业务服务") }

    输出: 分组类型2

组件嵌套

嵌套允许层次化地组织组件,提高图表的清晰度。嵌套的层级数量没有限制。 实现允许在任何其他组件内嵌套任何组件。在嵌套时,元素将显示为一个矩形,右上角有archimate原型。

嵌套可以按以下模式启用:

Category_ElementName(nameOfTheElement, "description", true) { Category_ElementName(uniqueName, "description) }

例如:

Business_Product("BusProduct01", "业务产品01", true) { Business_Service("BusService01", "业务服务01") Business_Service("BusService02", "业务服务02") Business_Service("BusService03", "业务服务03") } Technology_Device("TechDevice01", "技术设备01", true) { Technology_Device("TechDevice02", "技术设备02") Technology_Device("TechnDevice03", "技术设备03", true) { Technology_Device("TechnDevice04", "技术设备04", false) Technology_Device("TechnDevice05", "技术设备05") } }

输出: 嵌套示例 注意,当启用嵌套时,Technology-Device元素的表示从节点变为矩形。

主题支持

主题支持已启用,共有5种变体可用。所有主题都基于Archimate规范。

通过添加以下行可以启用主题:

!theme <theme-name> from <theme-folder> // 示例 !theme archimate-saturated from https://raw.githubusercontent.com/plantuml-stdlib/Archimate-PlantUML/master/themes
主题名称预览
默认(无添加行)默认
archimate-standard标准
archimate-alternate替代
archimate-saturated饱和
archimate-lowsaturation低饱和
archimate-handwriting手写

示例

@startuml !includeurl https://raw.githubusercontent.com/plantuml-stdlib/Archimate-PlantUML/master/Archimate.puml !theme archimate-standard from https://raw.githubusercontent.com/plantuml-stdlib/Archimate-PlantUML/master/themes title Archimate示例 - 需求和应用服务 '元素' Motivation_Requirement(ReqPayrollStandard, "使用标准系统进行工资核算") Motivation_Requirement(ReqBudgetPlanning, "在ERP系统内进行预算规划") Application_Service(ASPayroll,"工资核算服务") Application_Service(ASBudgetPlanning,"预算规划服务") Application_Component(ACSAPFinanceAccRec, "SAP财务 - 应收账款") Application_Component(ACSAPHR, "SAP人力资源") Application_Component(ACSAPFin, "SAP财务") Application_Component(ACSAP,"SAP") '关系' Rel_Realization_Up(ASPayroll, ReqPayrollStandard) Rel_Realization_Up(ASBudgetPlanning, ReqBudgetPlanning) Rel_Realization_Up(ACSAPFinanceAccRec, ASBudgetPlanning) Rel_Realization_Up(ACSAPHR, ASPayroll) Rel_Composition_Up(ACSAPFin, ACSAPFinanceAccRec) Rel_Composition_Up(ACSAP, ACSAPHR) Rel_Composition_Up(ACSAP, ACSAPFin) @enduml

输出: Archimate-PlantUML示例图 - 互联网浏览器

贡献

如果您有任何想法,提出问题或fork仓库并提交拉取请求。

许可证

该项目采用MIT许可证 - 详见LICENSE.md文件

致谢

编辑推荐精选

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

QoderWork

QoderWork

阿里Qoder团队推出的桌面端AI智能体

QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

nano-banana纳米香蕉中文站

nano-banana纳米香蕉中文站

国内直接访问,限时3折

输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成热门AI工具AI图像AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

下拉加载更多