- 締切済み
MDAを使ったシステム開発の自動化について
MDAを使ったシステム開発の自動化について システム開発を自動化する手法としてMDAという手法があるみたいなのですが、 内容が難しすぎてうまく理解できません。 MDAとは具体的にどのようなことをするのかというのと、 MDAを使う利点や欠点を教えていただけませんか? どうか、よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- yukinori_111
- ベストアンサー率85% (6/7)
MDAとはプログラムをプログラミング言語を用いて作成するのではなく、モデリング手法を用いてモデルとして作成することです。 プログラムを動作させる際には、ツールを用いてモデルをプログラミング言語へ変換し、実行します。 MDAの利点は、特定のプログラミング言語に依存しない形でプログラムを定義できることです。 プログラミング言語に依存しないということは、時代の流れなどにより実装技術が進化して、新しいプログラミング言語が誕生しても、モデルを変換するツールさえ整えば容易に対応ができるということです。 また、モデルはUML図(クラス図やシーケンス図など)を用いて定義するため、プログラミング言語を知らない人でもある程度理解しやすい形となるのが利点です。 しかし、現実はUMLでプログラムを完全に記述しようとすると大変大きな図になってしまい、結果的にプログラミング言語を読むよりも難しい図になってしまうことも多く、MDAは理想論としてはすばらしいものの、実開発ではほとんど使われていません。 さらに、プログラムを実行するためにはツールにより変換しなければならないことによって、開発効率の悪さも問題となります。 MDAに似た方法として実開発で使われているものとしては、Excelで記述した仕様書から実装コードの一部をマクロによって自動的に生成する方法などがあり、こちらの方が現実的だと言えます。