问题标签 [model-driven-development]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
model-driven-development - 您如何看待模型驱动的软件开发?
我真的很想听听您对 Java 和/或 .NET 的模型驱动软件开发的看法。
它节省时间吗?它提高了质量吗?
dsl - 用于模型驱动开发的工具(最佳实践?)?
模型驱动的软件开发。
据我了解,它提高了设计的抽象级别,以更好地反映软件将尝试运行的领域。一句话就可以说很多。
领域专家(客户)和开发人员之间的沟通对于使这种方法发挥作用至关重要。我想知道的是,是否有工具套件或一组最佳实践有助于 MDSD 的初始推进?一旦领域被充实,如何将该模型映射到 ORM(或其他)?
我只是潜入 MDSD 和 DSL 领域,因此任何建设性的想法或评论都会受到重视。
embedded - 将模型驱动开发与嵌入式工作结合使用的好工具有哪些?
我相信在实时和嵌入式软件开发领域已经有一些模型驱动开发/工程(又名 OMG 模型驱动架构)。人们使用过哪些工具和工具供应商?
Google 给了我很多学术论文和一两个供应商(IBM 的 Rational Rose Technical Developer 和 VisSim)。
此外,任何关于模型格式(UML?)、平台特定模型(C?RTOS?)的目标语言/环境和测试(基于逻辑?)的信息都将不胜感激。
c++ - 如何在不同进程/系统中的 Rhapsody 模型之间进行通信?
我们正在使用 IBM(前身为 Telelogic)Rhapsody 进行一个新项目,以进行复杂设备的模型驱动开发。该设备由多个子系统组成,这些子系统通过各种网络接口连接。我们想在 Rhapsody 中对整个系统进行建模,然后为各个子系统分别生成代码。
问题是这样的:Rhapsody 可以为单个进程建模和生成代码。我们喜欢首先使用单独的进程对子系统进行建模,然后直接为子系统生成代码。
有哪些替代方案可用于进程间和系统间通信,我们可以尽可能少地滑入 Rhapsody 模型?
我们正在生成 C++ 并希望使用套接字进行系统间通信,Rhapsody 目前使用消息队列在同一进程中的对象和线程之间进行通信。
embedded - 您对 Rhapsody 开发的审核流程是什么?
我的团队正在使用 IBM 的 Rhapsody 工具进行实时嵌入式开发。不幸的是,我们对当前的审核流程不满意。
更具体地说,我们遇到了困难,因为:
- 缺乏用于图表更改的良好差异工具
- Rhapsody 差异工具不会生成您可以在评论中使用的报告
- 源文件历史记录参差不齐,因为源文件是 MDD 中的产品,因此未在 VCS 中以高粒度进行配置
- 在源代码上运行差异有时会引入其他开发人员所做的不相关更改
- 有时更改模型元素的属性会更改数十个源文件
- 很容易通过属性更改来更改源文件而不知道它
有没有人有任何技巧可以使 Rhapsody 开发的同行评审稳健但不麻烦?您想分享任何最佳实践和经验教训吗?我不是在寻找成熟的流程记录;我不知道的花絮会很棒。
formal-methods - 在实际项目中使用合金的经验
一段时间以来,我一直对形式化方法感兴趣。我已经使用正式的方法来推理我一直在从事的几个项目的一些非常具体的子领域。我永远无法说服其他团队成员尝试相同的方法,更不用说使用正式的方法指定整个域了。
我发现一种特别有趣的方法是Alloy。我认为它可以更好地“扩展”作为整个项目的基础,因为它在概念上和符号上非常接近实际的编程语言。此外,这些工具非常可靠,因此模型验证的好处很容易获得。
我很想听听你们在项目中使用 Alloy 的实际经验。你觉得它帮助你设计了一个更好的领域模型吗?验证期间是否在您的域模型中发现错误?你会再次使用它吗?
uml - UML 是一种编程语言吗?
UML 是否可以在没有支持实现语言的情况下自行对计算机系统进行编程,例如直接将图表转换为机器代码(可能通过 C 或 C++ 等),而无需人工编码干预。
java - 推荐遵循裸对象模式的工具/框架?
我正在寻找一个遵循裸对象模式并用 Java 编写的工具/框架。我知道诸如JMatter、Naked Objects和Domain Object Explorer之类的工具。不过,这并不是我要寻找的。
开源会很棒,但不是必须的。我的意图是使用该工具/框架来进行模型驱动软件开发来进行建模部分。理想情况下,这样的工具/框架将提供使用 JPA 存储/加载对象的选项。
我想进一步澄清一下,为什么上述工具不是我正在寻找的,尽管它们确实实现了裸对象模式,因此节省了开发特定用户界面的大量工作:模型驱动的软件开发,我发现它真的很有帮助,当工具以图形方式(对象图)显示对象之间的关系时,显示的关系不止一个层次。但是,我不需要(也不希望)以多种方式自由地更改对象图的布局,这与 UML 工具允许您做的相反。据我所知,上述工具都不能显示对象图。更重要的是,我什至希望能够在对象图上定义不同的视图,
我希望这能澄清而不是混淆。
c# - 关于域模型及其可见性的问题
我参与了一场关于域模型可见性的有趣辩论,并且想知道这里的人们是否有任何好的指导。
- 根据我对 MDA 的理解,我们不需要在整个应用程序层和层中公开域模型
- 原因是对域模型的任何更改都会对整个应用程序产生影响
- 明智的做法是公开轻量级对象 (DTO),它们是域模型的一个小子集,以抽象出实际模型
- 另一方面,对域模型的任何更改都意味着在整个应用程序中更改各种 DTO 以使更改可见,而如果我们确实公开域模型,则更改位于单个位置
希望看到一些关于此的评论和想法。
感谢所有的帮助!
apache-flex - 使用 LiveCycle Data Services 进行模型驱动开发的最佳实践
您对在开发企业应用程序时使用模型驱动开发有何建议。Adobe 的 LiveCycle Data Services 看起来很有前途,我发现了许多教程/视频,这些教程/视频显示了通过自动生成方法/函数可以多快地构建应用程序。
什么是最佳实践,使用这些自动生成的方法是好还是坏,它们真的可以节省很多时间。
欢迎所有建议,如果您知道一些现有的博客/讨论,请告诉我。