これからは、コレ!旬なIT技術やこれから主流となりつつあるIT技術に関する情報をご紹介します。

2005年11月01日

MDA(Model Driven Architecture:モデル駆動型アーキテクチャ)

MDA(Model Driven Architecture:モデル駆動型アーキテクチャ)とは

MDAとは、ビジネス要件やソフトウエアの機能と構造などを分かりやすい図を使ったモデルで表現してシステム開発を進め、最終的にそれらのモデルからプログラムを自動生成する技術です(図1)。
MDAは非営利団体のOMG(Object Management Group)が提唱するソフトウエア開発手法です。モデルは、世界標準ともいえるモデル記述言語のUML(Unified Modeling Language:統一モデリング言語)を使用して記述していきます。
モデルを使用することでビジネス要件を可視化して情報を共有し、ソフトウエア機能を部品化して組み立てることにより変化に強いシステム作りをすることができます。


図1. MDAのイメージ

MDAの利点

MDAはモデルに変更を加えれば自動的にプログラムまで変更が反映されるため、モデルとプログラムの一貫性が保持されることによりさまざまな利点を生み出します(表1)。

■表1. MDAの利点
  • ビジネス要件とプログラムのプラットフォームを表すモデルをそれぞれ分けることにより、ビジネスとIT技術を分離することができます。したがって、ビジネスの変化や激しいIT技術の変化のどちらにも柔軟に対応できるため、保守性が高まります。
  • 標準化されたモデルの記述方法により情報共有が進み、再利用性が高まります。
  • 自動生成による生産性向上が得られ、モデルは標準化された記述方法を使用するため、そこから生成されたプログラムにはトレーサビリティが備わり一定の品質が保たれます。

これらを実現するMDAのしくみについて次にご説明いたします。

MDAのしくみ

MDAでは次の2段階のモデルを経てプログラムを自動生成します(図2)。


図2. モデルからプログラムを自動生成する仕組み

MDAの現在と未来

モデル記述方法の標準化は進んでいますが、モデルを変換するための標準化技術はまだ発展途上であり、モデルだけですべてをまかなうにはまだ多くの技術的課題が存在します。MDAはシステムの長寿化といった保守の容易性や2007年問題といった知識の継承問題にも解決を与える技術として多くのベンダーが注目しており、標準化やツールの改良が進められています。したがって、MDAの技術的な課題は、将来的には解消されていくものと考えられます。
当社はモデルを使用した生産性の高いシステム開発に取り組み、より良い品質のソリューションをお客様にお届けいたします。

2005年11月

ITの可能性が満載のメルマガを、お客様への想いと共にお届けします!

Kobelco Systems Letter を購読