あきら)Tweetモデル駆動開発とはモデル駆動開発とは、自然言語を主体としたドキュメントではなく、図形言語を用いて要求仕様をモデル化(形式化)し、あいまいさを排除するソフトウエア開発方法論です。Language)が、主に組み込み系のソフトウエア開発で広く利用されています。業務アプリケーション・システムの開発において、同様の方法論が一般的になっているでしょうか。現実は、限定的に、詳細設計以降のごく一部でしか利用されていないのが実情です。筆者が知る限り、表向きはUMLを標準にしていると言いながら、裏では相変わらず自然言語を用いたドキュメントを中心に開発を進めているプロジェクトが多いです。この原因は、3つあると考えます。スクラッチでゼロからソフトウエアをコーディングする比率が低くなった。ユーザー部門とUMLで仕様を確認することが難しい。オブジェクト指向を理解できるアプリケーション側のSEがいない。1.については、既存システムの改修や導入済のERPパッケージとのインタフェース開発など、業務システムの改善がIT部門の中心作業になっている背景があります。2.については、ソフトウエアの製作図面を見せられても、ユーザー部門は理解できないという背景があります。ユーザー部門の業務遂行場面のどこでITを利用し、どんなメリットを得られるのか、ビジネス視点に立ったドキュメントが多く求められるからです。3.については、1.と2.の背景が影響した結果として、ソフトウエア要求のモデル化だけがSEの職務ではない、という状況があるでしょう。Zachman)が1987年に提唱した「ザックマン・フレームワーク」(図1)だと思います。(クリックで拡大)ザックマン・フレームワークでは、図1の最上位にいるプランナが発した抽象的な文脈定義が、最下位にあるプログラム・コードとしてコンピュータに実装されていく過程を、5段階に分けて、5W1Hの観点で分類しています。企業のビジネス・システムをIT化するためには、何らかの方法でこの過程を経ています。このため、ドキュメントの種類、内容も、多岐に渡ります。Engineering)の考え方が登場しました。データ・モデルとデータ・フロー・ダイアグラムを基軸に、データ・モデル駆動型開発がクライアント/サーバー開発時代の一翼を担いました。近年のWebアプリケーション開発においては、その開発の複雑さが背景となって、UMLと各種プログラミング・フレームワークを統合し、ソフトウエアのコード生成を自動化する開発スタイルが一般的になっています。ザックマン・フレームワークの全範囲をサポートできる方法論は登場していません。ザックマン・フレームワークは、プログラム・コードを生産する手組開発工程を、工学的に分析したにすぎないからです。この工程通りに自動化支援を行うと、検証すべき中間成果物が多くなり、多大な労力がかかってしまいます。日本でも、1990年代に、国内メインフレーム・ベンダーが集まって統合CASEツールを国策で開発し、失敗した経緯があります。SOAとアプリケーション構造改革の動きSOA(サービス指向アーキテクチャ)は、端的に表現すれば「企業内のアプリケーション構造改革」です。Webサービス技術をベースに開発したビジネス・サービス部品を組み立てていく、というアプリケーション生産スタイルを適用して、ソフトウエアの再利用性やアプリケーションの保守性を向上させる狙いがあります。SOAは、従来の手組開発を極小化して、開発コストと保守コストの削減、工期短縮を図ります。ザックマン・フレームワークを借りて説明するならば、最下位のサブコントラクタのコード作成部を排除するアプローチと言えます。このアプローチは、住宅産業に例えるならば、古典的な注文建築工法ではなく、近代的なプレハブ工法の採用と言えるでしょう。昔の大工は、ノミ、カンナで柱を削り出しましたが、今はノミ、カンナを使える大工が少なくなりました。同様に、サブコントラクタの職人芸は、サービス部品の開発企業には求められるものの、企業アプリケーション・システムの開発には不要になる時代か到来するかも知れません。自己の研究対象をデータモデリングからプロセスモデリングに6年前に転向。ビジネスプロセス表記標準BPMNの国内普及に邁進。日本BPM協会ではBPM推進フレームワークの開発やセミナーなどの講師を務める。「岩田研究所」ブログで自身のBPM/SOA開発手法研究成果を公開。ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。VeloCloudが選ばれる理由SD-WANとはなにか。Linuxエンジニア育成への思いF5とNGINXの組み合わせで、サービス公開をよりセキュアに。ITがお届けするポッドキャストです。IT(シンクイット)エラーサイトに予期せぬエラーが起こりました。たってから再度お試しください。