4

使用 Structurizr 实现企业范围建模的项目

 5 months ago
source link: https://www.jdon.com/71110.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

使用 Structurizr 实现企业范围建模的项目

这里有一个使用Structurizr进行企业建模的方法的例子,其中自顶向下的系统景观图是自动生成的

这个存储库展示了一种使用 Structurizr 工具进行企业范围建模的方法;结合使用 Structurizr 本地安装、Structurizr DSL 和 Structurizr for Java 库。

在过去几年中,我工作过的一些组织试图使用传统的建模工具(例如Sparx)作为所有图表和文档的中央存储库,但由于多种原因,它通常不起作用。

这里提出工作区概念:
“工作空间”的设想是,它应界定:

  • 1.单个软件系统的图表+文档 或
  • 2.连接系统的景观(双击系统并导航到详细描述该系统的工作区)

工作区
在 Structurizr 中,工作区是软件架构模型、视图和补充文档的包装器。
最常见的问题之一是“工作区应该包含什么?”。想象一下,您是组织中某个部门的工程经理,您有三个团队,每个团队都构建独立的软件系统 - A、B 和 C。

建议工作空间包含单个软件系统的模型、视图和文档。遵循此建议将产生三个工作区,每个工作区均由各自的团队拥有:

  1. 工作区 1 定义软件系统 A 的系统上下文、容器、组件、动态和部署图,以及文档和决策。
  2. 工作区 2 定义软件系统 B 的系统上下文、容器、组件、动态和部署图,以及文档和决策。
  3. 工作空间 3 定义了软件系统 C 的系统上下文、容器、组件、动态和部署图,以及文档和决策。

这些工作区中的每一个都被称为“软件系统范围的工作区”,因为它们描述了与单个软件系统相关的实现细节。

景观范围的工作空间
您可能还希望创建另一个工作区(工作区 4)来描述环境(例如部门)中的人员和软件系统以及它们之间的关系,并使用一个或多个系统环境图进行可视化。

这被称为“景观范围工作空间”。组织通常会构建一个或多个景观范围的工作空间作为“其软件系统的地图”。可以配置工作区,以便双击系统景观图中的软件系统 A 进入工作区 1,在其中可以找到该软件系统的详细信息。

设置工作空间范围
设置工作区范围将触发额外的验证,以确保根据该范围创建具有所需内容的工作区。

验证
具体工作空间范围验证规则为:

  • 景观范围:工作空间不得定义容器或软件系统级文档/决策。
  • 软件系统范围:工作区必须仅为一个软件系统定义容器或软件系统级文档/决策。
  • 无范围:(无验证规则)

此外,每个产品都提供两种验证模式,可以防止使用未划定范围的工作区:

  • 严格:工作空间必须是横向范围或软件系统范围,无范围的工作空间将被拒绝。
  • 轻松:工作空间可以是横向范围、软件系统范围或无范围。

工作区示例
在此示例中,有 3 个软件系统范围的工作区,每个工作区都使用 Structurizr DSL 定义,这些工作区可能由 3 个独立的团队拥有和维护:

整个企业中使用的所有人员和软件系统都在系统目录工作区中定义,再次使用 Structurizr DSL 进行定义。

Main类中的代码:

  1. 启动 Structurizr 本地安装(通过 Docker)
  2. 加载 3 个示例工作区(如上)。
  3. 通过从 3 个示例工作区中提取关系,自动生成系统景观图。

步骤 1 和 2 仅用于引导此示例。第 3 步是该过程中有趣的部分。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK