« 設計支援ツールとマルチユーザ対応 | トップページ | DBMSの交換容易性と開発基盤 »

2014.05.13

ソフト開発に資材が要らないことの優位性

 3DCADデータさえあれば、3Dプリンタで立体成型品が手に入る。デザインがものすごくかっこ悪いが殺傷能力のある銃まで作れてしまうのには驚いた。モノ作りの革命としてだけでなく、3Dプリンタは世間の多くの耳目を集めている。

 3Dプリンタは、リアルの世界で起こっているモデル駆動開発(MDD)の実践に他ならない。これに歩調を合わせるように、ソフト開発の世界でもMDDが急発展している。私はこの業界こそ、MDDがもっとも効果を発揮する分野だと確信している。

 理由は単純だ。モノ作りの世界と違って、ソフト開発には「資材」が要らないからだ。3Dプリンタではモデル(3DCADデータ)とそこから得られた成型品とは異なるモノだが、ソフト開発においては両者を分けて考える必要がない。

 具体的に言うと、「仕様書」はソフトウエアのあり様を示したモデルである。これを、仕様パターンにもとづいて適切に様式化すれば、モデルを読み取って動作するドライバ(アプリケーションドライバ)を想定できる。これが3Dプリンタに相当する。

 位置づけは同じだが、両者には大きな違いがある。3Dプリンタはモデルにもとづく成型品を出力する。いっぽうドライバはモデルに記述されたとおりに変形して振舞う。そのモデルは、ソフトウエアの仕様を示すドキュメントであると同時に、ドライバと一体化してその仕様どおりに動作するソフトウエアそのものとみなせる。この枠組みにおいて、仕様書作成と実装は単一の作業工程として統合されている。資材をともなわないゆえの超絶アクロバットだ。

 当然ながら、3Dプリンタに向かない製造分野があるように、MDDが向かないソフト開発分野もある。たとえば先鋭的なソフト分野ではパターンを想定できないゆえに、MDDは向かないだろう。いっぽう業務システム開発の世界では、40年以上のあいだ仕様書が書かれ続けてきたため、仕様のパターンが見極められている。データ構造のパターンに処理様式のパターンを組み合わせることで、少なくとも6割以上の機能についてはMDDの枠組みでさくっと扱えてしまえる。

 他業界の人に「ソフト開発ってのは設備投資が要らなくていいですね」と羨ましがられたことがないだろうか。それは単にPCだけで仕事が出来るという話ではなく、工作機械が要らない、つまり開発に資材が要らないということでもある。我々はその優位性をもっと利用すべきだ。そのためにも、仕様書にもとづいてプログラミングするという発想は捨ててしまおう。仕様書はモデルであると同時に、ソフトウエアそのものである。

本ブログでの参考記事:
仕様書の類型化と様式化

|

« 設計支援ツールとマルチユーザ対応 | トップページ | DBMSの交換容易性と開発基盤 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: ソフト開発に資材が要らないことの優位性:

« 設計支援ツールとマルチユーザ対応 | トップページ | DBMSの交換容易性と開発基盤 »