没有 class 的 php 站点的 UML class 图

UML class diagram for php site without class

我正在尝试为 PHP 站点创建 UML 文档。 是的,我知道这不是通常的方式 - 但这个网站已经在生产中,现在我们需要它的 UML 文档:)

制作这个网站的程序员根本不是 OOP - 他没有使用任何 PHP class 来创建这个网站。相反,他做了很多 php 文件。我相信 PHP 世界上相当流行的做法。

现在我想知道如何为这段代码创建 class 图表? 据我所知,class 图只是展示系统架构和编程概念的一种方式。我相信在这种情况下,我可以将单个 php 文件呈现为一个 class,并将此文件中使用的变量呈现为 class 属性。如果某个文件包含其他文件,我可以将其表示为 class 关系。这是正确的方法吗?

好吧,你可以这样开始。这可能与用毕加索的方式画梵高是一样的。

当然这取决于很多因素,但如果可能的话我会转储代码并以正确的方式设计它。但在大多数情况下这可能是不可能的(我听到经理们说太贵了,是的,是的)。所以在这种情况下正确的方法是:让僵尸保持活力,但忘记 UML。在这里对你帮助不大。

您不妨尝试重新设计一些小部件。如果是这样,也请从头开始。

有趣的是,这句古老的印度谚语 "When you find, you are riding a dead horse, get off" 并没有传授给很多经理。

好的。那么让我们尝试几种骑死马的方法吧。

  • 先做一个UC文档。即使使用非 OO 软件也可以。
  • 找到面向对象的少数部分并将它们放入 UML 文档中(静态 class 图和适当的一些 SD)
  • 创建现有 PHP 文件的对象依赖结构。只需为每个文件使用一个对象并绘制依赖关系。在大多数情况下,这会吓到经理们足以推动重新设计。
  • 到目前为止,可识别的隔离接口并在您的 class 图表中显示它们。
  • 尽可能指出现有的混乱情况并坚持重构。
  • 让尸体明显。越闻越有钱重构的可能性
  • 尝试隔离可以单独处理的子系统。

最后:

  • 祝你好运!