雪佛兰c4:C4模式在实践中(c4 diagrams)

在阅读了C4 model并听了Simon Brown's talk之后,我仍然不明白如何在实践中使用它。

AFAIK,C4 模型的主要贡献是简单抽象的“协议”,使图表和文档更接近开发人员。在同一个 C4 更多关于建议,你必须自己弄清楚一些东西(这再次打破了与自定义抽象的“协议”)。

如果 C4 缺少细节,我该怎么办?直到我应该自定义它的程度?

例如:

基础设施、数据流或业务流程等支持图如何适合 C4?
例如,路由器 / 防火墙 / api 网关 / 服务总线是基础设施图中 C4 的容器吗?我找不到任何例子。

扩展 C4 的级别是个好主意吗?
C4 模型只有 4 个级别(不是递归的)。如果我需要第 5 个子系统级别怎么办。

容器关系图(级别 2)中的“数据库容器”是否应包含有关数据库名称、架构名称或数据库技术的信息?
从示例中,doesn't contain,rodoes contain

是否可以从官方文档中找到除了琐碎之外的 C4 示例?

4

C4 model旨在简化。在许多细节仍然不确定的时候,它简化了早期的体系结构工作。它有助于团队与不熟悉 UML 符号所有微妙之处的人进行讨论。

(1)

它并不打算成为所有内容的通用图表技术。因此,没有业务流程建模。上下文级别图提供了更多信息,例如关于用户与系统交换内容的用例图。但它停在那里。BPMN(或demonstrated与 BPMN 一样具有表现力的 UML 活动图)仍然有市场。

它既不打算取代基础架构图表或硬件设计。它专门针对软件密集型系统的需求:什么软件在何处以及如何运行。如果需要细节,UML 部署图并没有死。话虽如此,我认为如果需要了解体系结构,可以很容易地添加一些框来表示防火墙,就像它们是软件元素一样。API 网关最终到达 C4 图片(类似于this example)。

(2)

C4 级别 3 是组件。第 4 级允许您使用任何现有的建模符号来显示更多细节。没有必要重新发明轮子。如果组件仍然非常复杂,您可以使用 UML 的全部功能及其递归地根据需要进行更深入的操作 (并且仅在需要时)。

(3)

它是根据需要的。你可能会开始你的架构,只是确定需要一个数据库。但也许以后,你会在环境中有几个模式,你需要消除歧义。或者只是想记录名称。

(4)

当然,但这超出了范围。

3

像 Infrastructure,Data Flow 或 Business Process 这样的支持图如何适合 C4?例如,路由器 / 防火墙 / api-gateway / service-buses 是一个 C4 的 Containers at Infrastructure 图?我找不到任何例子。

构成 C4 模型的核心图被设计为专注于静态结构,在不同的细节层次。在 c4model.com 上也定义了一些补充图,其中一个是部署图...这是我将对路由器,防火墙,负载平衡器等进行建模的地方。

还有其他几种图表符号可用于数据流(DFD,UML 序列图,UML 协作 / 通信图等)和业务流程(BPMN,ArchiMate,UML 活动图等)。我的建议是,团队应根据需要使用这些现有的图 / 符号来补充其 C4 模型图。

来自 c4model.com FAQ:“C4 模型的重点是组成软件系统的静态结构,在不同的抽象级别。如果您需要描述其他方面,请随时使用 UML 图,BPML 图,ArchiMate 图,实体关系图等来补充 C4 图。”

扩展 C4 的级别是个好主意吗?C4 模型只有 4 个级别 (不是递归的)。如果我需要第 5 个子系统级别

当然,我见过团队这样做。只要确保你的“扩展”被你的团队 / 组织中的每个人记录和理解。

容器关系图(级别 2)中的“数据库容器”是否应包含有关数据库名称、架构名称或数据库技术的信息?

这取决于您。如果您的数据库是标准的 RDBMS 数据库 / 模式,并且不使用任何专有功能,那么您不一定需要指定技术。相反,您可以在部署图上提及该技术。但是,如果您的数据库正在使用 RDBMS 的特定功能(例如 Oracle 存储过程),并且无法部署到其他 RDBMS 上,那么您也可以指定技术以明确说明这一点。

这是否有可能找到 C4 的例子,除了从官方文档琐碎?

不幸的是,公开的例子很难得到...这只是组织不想公开他们的文档的性质。在 GitHub 上搜索“c4 模型”应该会找到一些例子。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(195)
手机怎么看cpu:xkcd api 怎么看解释
上一篇
Colmo空气主机:Adobe空气安全特性(adobe asking for serial number)
下一篇

相关推荐

  • css背景文字:Achieve Your Dreams with Hard Work and Dedication

    CSS 背景文字是一种使用 CSS 属性来设置背景图片上的文本的技术。它可以在背景图片上添加标题、说明文字或其他文本,而不会影响背景图片的外观。…

    2023-02-19 01:22:26
    0 55 57
  • java最初是由哪个公司Java之父——Sun Microsystems

    的的java最初是由Sun 公司开发的,它在1995年推出了Java 0版本,并提供了完整的源代码。Sun 是一家美国跨国科技企业,主要从事计算机硬件和软件的研发和销售。…

    2023-01-26 03:21:36
    0 47 87
  • Louis armstrong:FileNotFoundError:[Errno2] 没有这样的文件或目录:'transcrip

    关于Louis armstrong的问题,在dave chappelle transcript中经常遇到,我一直在试图刮 12 个脚本,并想 pickle 他们,但有些原因它不工作,并给出错误的 [Errno 2] 没有这样的文件或目录:'transcripts / louis.txt'。…

    2023-11-16 16:29:48
    0 99 10
  • Cmsp草莓:同时使用 ActivePerl和草莓

    关于Cmsp草莓的问题,在questions similar to the strawberry question中经常遇到,我最近将我的客户端 64 位 ActivePerl 版本从版本 5.10.1.1007 升级到 5.22.2.2203,并且有很多问题。…

    2023-12-26 09:51:02
    0 89 53
  • Python数据处理电子书:数据结构与算法电子书:(data structures and algorithms ebook p

    关于Python数据处理电子书的问题,在data structures and algorithms ebook pdf中经常遇到,我在哪里可以找到有关数据结构和算法的电子书?我目前正在阅读 Sara Baase 和 Allen Van Gelder 撰写的“计算机算法:设计与分析简介”。我希望有更多信息来补充本书中的内容。此外,一些关于最坏情况分析的参考资料将是非常好的。…

    2023-10-16 03:08:13
    0 81 71
  • 骷髅奶爸cp谁:谁欠谁钱优化(optimization money problems)

    关于骷髅奶爸cp谁的问题,在optimization money problems中经常遇到,假设你有 n 个人,每个人都欠对方钱。一般来说,应该可以减少需要进行的交易金额。即如果 X 欠 Y £4,Y 欠 X £8,那么 Y 只需要支付 X £4(1 笔交易而不是 2 笔交易)。…

    2023-12-27 01:36:03
    0 89 72
  • Cat 03:GlobaPlatformSCP03中的KDF和PRF

    关于Cat 03的问题,在kdf global中经常遇到,我想在 javacard 中实现 Globalplatform SCP 03 协议。主要问题是卡中的 KDF 和 PRF 实现。我有三个问题:…

    2023-12-27 12:20:22
    0 27 12
  • Gsm加密算法:简单加密算法(simple encryption algorithms)

    关于Gsm加密算法的问题,在simple encryption algorithms中经常遇到,我正在做一个电梯项目,只是为了好玩,它实际上是硬件。但我认为这更多的是软件问题。我不需要有这个功能,事实上它是完全多余的,但是我很好奇,所以无论如何我都在添加它,这样我就可以学习:P…

    2023-12-17 01:02:10
    0 36 50

发表评论

登录 后才能评论

评论列表(24条)