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文件

致谢

编辑推荐精选

Vora

Vora

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

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

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

下拉加载更多