gpt4 book ai didi

uml - 我不喜欢 MDD 但喜欢 UML - 如果我认为 MDD 没用,我为什么要使用它?

转载 作者:行者123 更新时间:2023-12-04 06:36:16 26 4
gpt4 key购买 nike

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。




10年前关闭。




我是一名 Java 软件开发人员/架构师,我喜欢 UML。

说我也讨厌java生成的代码。

我没有看到任何试图生成我的应用程序框架的值(value):

  • 创建空类真的很容易,我不需要工具来做到这一点
  • 我也不能重用生成的代码,因为它的生成方式使得无法重用

  • 我的困境是我的需求变化如此之快,以至于我需要能够立即将新需求实现到现有代码中。

    我的问题是,如果我从模型生成代码,然后在生成的代码库中手动开发,则无法使用模型再次生成代码,因为我的修改将被删除。

    除了我来回复制/粘贴更改。对于太少的结果,这是一项巨大的努力。因此我不使用 MDD 但仍然使用很多 UML。

    在没有 MDD 代码生成的项目中,UML 能否成功?

    我问这个问题是因为我有一个新老板,他想用 IBM RSA 引入完整的 MDD 流程,现在我更喜欢实时代码和模型同步或与 Omondo 合并。
  • 为什么要更改正在运行且经过验证的系统?
  • 为什么系统地从模型生成代码,而我可以直接在代码中完成,然后再与模型合并?
  • 为什么要生成甚至无法部署的垃圾数据库代码,而我可以添加构造型以获得 java 注释并将它们与 hibernate 一起使用来生成我的数据库?

  • boss变化的原因之一是为了得到更好的HTML格式的项目文档。我非常怀疑这一点,并认为他正在寻求对交付的更多控制,并且不知道还能发明什么!

    其他争论的理由:
  • 使用大型稳定公司的产品。
  • 有一个可用的完整模型,可以用任何其他语言部署。
    (这就是为什么对我来说 MDD 是愚蠢的,因为仅从模型中就不可能在任何平台上部署任何服务器、任何数据库。那么为什么要浪费我的时间?)

  • 请给我一些论据,以便在下次 session 上回来并摧毁这个想要重组我们今天工作方式的愚蠢的 MDD 新粉丝!

    最佳答案

    我想你的帖子里面有答案。

    MDD 一直受到两个基本问题的困扰:

  • 一种输入(建模语言)的表达能力不足以捕捉整个问题。结果:您需要用另一种语言(代码)来完成规范。
  • 生成器 - 即将模型转换为代码的规则 - 通常不完整和/或不开放供开发团队修改和/或生成质量较差的代码。

  • 把这两件事放在一起,你就会得到你提到的可怕的困惑。结果:试图将手写代码与生成的低质量代码拼接在一起。结果:不漂亮。

    然而。请不要从上面猜测我是反 MDD 的。我不是 - 事实上恰恰相反。但是:工具和流程需要解决上述两个基本问题。

    我遇到过/非常/很少这样做。几年前我使用过 RSA,但它绝对不是其中之一。 (但是它有时间改进,所以它现在可能在那里)。

    一个简单的“温度检查”问题是询问该工具是否提供完整的 Action 语言。如果没有,它将与问题 (1) 发生冲突。如果它失败了,你很可能会感到痛苦。

    如果您的老板真正想要的是好的 HTML 文档,那么只需集成 UMLGraph or apiviz进入你的构建。

    所以要回答你的具体问题:

    没有MDD可以成功使用UML吗?是的。一般有两种方式:
  • 作为白板草图的非正式或半正式符号,同时找出问题和/或解决方案(Martin Fowler 称之为 UML as Sketch)
  • 作为构建过程的一部分从代码自动生成的文档。

  • 您最终会消耗非生产时间的地方是创建与代码没有直接链接的正式 UML 图(通常使用昂贵的工具)。

    嗯。

    关于uml - 我不喜欢 MDD 但喜欢 UML - 如果我认为 MDD 没用,我为什么要使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4837002/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com