問題タブ [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 は多くの学術論文と 1 つまたは 2 つのベンダー (IBM の Rational Rose Technical Developer と VisSim) を提供してくれます。
さらに、モデル形式 (UML?)、プラットフォーム固有のモデルのターゲット言語/環境 (C? RTOS?)、およびテスト (ロジックベース?) に関する情報をいただければ幸いです。
c++ - 異なるプロセス/システムの Rhapsody モデル間で通信する方法は?
複雑なデバイスのモデル駆動型開発を行う新しいプロジェクトに IBM (旧 Telelogic) Rhapsody を使用しています。このデバイスは、さまざまなネットワーク インターフェイスによって接続された複数のサブシステムで構成されています。システム全体を Rhapsody でモデル化し、さまざまなサブシステム用に個別にコードを生成したいと考えています。
問題は、Rhapsody が単一プロセスのコードをモデル化して生成できることです。最初に個別のプロセスを使用してサブシステムをモデル化し、次にサブシステムのコードを直接生成するのが好きです。
プロセス間およびシステム間の通信に使用できる代替手段は何ですか?
C++ を生成しており、システム間通信にソケットを使用したいと考えています。Rhapsody は現在、メッセージ キューを使用して同じプロセス内のオブジェクトとスレッド間で通信します。
embedded - Rhapsody 開発のレビュー プロセスはどのようなものですか?
私のチームは、IBM の Rhapsody ツールを使用してリアルタイムの組み込み開発を行っています。残念ながら、現在の審査プロセスには満足しておりません。
より具体的には、次の理由で問題が発生しました。
- ダイアグラムの変更のための優れた差分ツールが不足しています
- Rhapsody diff ツールは、レビューで使用できるレポートを生成しません
- ソースファイルはMDDの製品であるため、ソースファイルの履歴はむらがあり、VCSで高い粒度で構成されていません
- ソースコードで差分を実行すると、他の開発者によって行われた無関係な変更が取り込まれることがあります
- モデル要素のプロパティを変更すると、多数のソース ファイルが変更されることがあります。
- プロパティの変更によってソース ファイルを変更するのは簡単ですが、それを認識していません。
Rhapsody 開発のピア レビューを堅牢で手間のかからないものにするためのヒントはありますか? 共有したいベスト プラクティスや学んだ教訓はありますか? 成熟したプロセスの記事を探しているわけではありません。私が知らなかったちょっとしたことは素晴らしいでしょう。
formal-methods - 実際のプロジェクトで Alloy を使用した経験
私はしばらくの間、形式的な方法に興味を持っていました。私は、私が取り組んできたいくつかのプロジェクトのいくつかの非常に具体的なサブエリアについて、形式的な方法を使用して推論しました。正式な方法でドメイン全体を指定するどころか、他のチーム メンバーに同じことを試みるよう説得することはできませんでした。
私が特に興味深いと思った 1 つの方法は、Alloyです。概念的にも表記的にも実際のプログラミング言語に非常に近いため、プロジェクト全体の基盤としてより「スケーリング」できると思います。さらに、ツールは非常に堅牢であるため、モデル検証の利点をすぐに利用できます。
皆さんのプロジェクトで Alloy を使用した実際の経験についてお聞きしたいと思います。より良いドメイン モデルの設計に役立ったと思いますか? 検証中にドメイン モデルにエラーが見つかりましたか? また利用しますか?
uml - UML はプログラミング言語ですか?
UML を使用して、人間のコーディングの介入なしに、サポートする実装言語、たとえば図を直接マシン コード (おそらく C や C++ などを介して) なしで、コンピューター システムを単独でプログラムすることができます。
java - 裸のオブジェクトのパターンに従うツール/フレームワークの推奨事項は?
ネイキッド オブジェクト パターンに従い、Java で記述されたツール/フレームワークを探しています。JMatter、Naked Objects、Domain Object Explorerなどのツールについて知っています。しかし、それはまさに私が探しているものではありません。
オープンソースは素晴らしいことですが、そうである必要はありません。私の意図は、モデル駆動型ソフトウェア開発の目的でそのツール/フレームワークを使用して、モデリングの部分を行うことです。理想的には、そのようなツール/フレームワークは、JPA を使用してオブジェクトを保存/ロードするオプションを提供します。
前述のツールがネイキッド オブジェクト パターンを実装しているため、特定のユーザー インターフェイスを開発する多くの作業を節約できるにもかかわらず、なぜ前述のツールが私が探しているものではないのかをもう少し明確にしたいと思います。モデル駆動型のソフトウェア開発では、ツールがオブジェクト間の関係をグラフィカルな方法 (オブジェクト グラフ) で表示し、1 レベル以上の関係を表示すると、非常に役立ちます。ただし、UML ツールでできることとは対照的に、さまざまな方法でオブジェクト グラフのレイアウトを自由に変更する必要はありません (また、変更したくもありません)。私の知る限り、前述のツールはいずれもオブジェクト グラフを表示できません。さらに、オブジェクト グラフでさまざまなビューを定義できるようにしたいとさえ思います。
これが混乱する以上に明確になることを願っています。
c# - ドメイン モデルとその可視性に関する質問
私はドメイン モデルの可視性に関する興味深い議論に参加していましたが、ここにいる人々が適切なガイダンスを持っているかどうか疑問に思っていました。
- MDA についての私の理解では、アプリケーション レイヤーと層全体にドメイン モデルを公開する必要はありません。
- その理由は、ドメイン モデルへの変更がアプリケーション全体に影響を与えるためです。
- 賢明なことは、実際のモデルを抽象化するために、ドメイン モデルの小さなサブセットである軽量オブジェクト (DTO) を公開することです。
- 反対に、ドメイン モデルへの変更は、アプリケーション全体でさまざまな DTO を変更して変更を表示することを意味しますが、ドメイン モデルを公開すると、変更は 1 つの場所で行われます。
これについてのコメントと考えを期待しています。
すべての助けに感謝します!
apache-flex - LiveCycle Data Services を使用したモデル駆動型開発のベスト プラクティス
エンタープライズ アプリケーションの開発でモデル駆動型開発を使用する場合のアドバイスを教えてください。Adobe の LiveCycle Data Services は非常に有望に見えます。メソッド/関数を自動生成することでアプリケーションをどれだけ速く構築できるかを示すチュートリアル/ビデオを数多く見つけました。
ベストプラクティスは何ですか。これらの自動生成されたメソッドを使用するのは良いですか、それとも悪いですか。実際に多くの時間を節約できます。
すべての提案を歓迎します。また、既存のブログやディスカッションを知っている場合はお知らせください。