最近の日経新聞を読んでいて気になった記事がありました。システムの自動生成についての記事です。
「 システム開発の自動化に本格着手:NTTデータは11日、情報システム開発作業の自動化に本格的に取り組むと発表した。コンピューターを動かすプログラムを設計図から自動作成する支援ソフトを自社で導入、不具合を半減させる計画。全日本空輸やNTT東西地域会社など産業界で大規模システムの障害が頻発する中、人手をかけないことでシステムの品質を高める。NECや富士通なども開発の自動化に着手しており、今後は他のシステム大手にも広がりそうだ。
支援ソフトを使って開発したシステムは、人間によるプログラム作成では不可避の間違いや見落としを減らせるという。NTTデータは独ベンチャー企業アイケイブイ・プラスプラス社(ベルリン市)に8.9%出資し、同社の開発支援ソフトを本格導入する。開発するシステムの機能や画面の流れを設計図に記述すると、支援ソフトが解釈し、プログラムを自動生成する仕組み。(00:37) 」
というものです。
コンピュータ開発の黎明期からプログラムの自動生成は研究され、自動プログラミングという言葉が使われた時代があります。自動プログラミングとはCOBOLやFORTRANなどのプログラミング言語で書かれたソースプログラムを翻訳(コンパイル)して機械語に変換することを意味しています。機械語→アセンブラ→高水準言語→・・・と発展して、現在ではJavaなどの言語に至っています。説明は省きますが、目的別に適した言語が多数あります。
この様な自動化を設計図面からシステム生成に発展させようという記事です。一見、なるほどすごいことをやるな!と感心させられるのですが、全日本空輸やNTT東西地域会社など産業界の大規模システム開発に対してもこの手法が適用できるような書き方になっているのです。
言語が高度になればなるほど(ユーザニーズに近づけば近づくほど)、言語のターゲット領域は狭められるということをこの記事を書いた記者は知らないようです。上記では引用していませんが、紙の記事にはWebサービスのプログラムの自動生成を意味しているようでした。Webサービスのプログラムはどれも似たような機能と構造から成りますので、割合自動生成し易いだろうと推測がつきます。しかし、Webサービスシステムは比較的小規模で、大規模システムとは設計手法やプロジェクト管理の方法は必然的に異なってきます。小規模システムの自動生成技術が、全日本空輸やNTT東西地域会社など産業界の大規模システムの障害対策になると思わせる書き方はまずいなと感じさせられます。
引き合いに出した例が適当でなかっただけかもしれませんが、記事を書く以上プロらしく書いてほしいものです。この程度のことで目くじらを立てなくてもと思いましたが、安易な記事で誤解がばら撒かれるこの時代だからこそ敢えて異をとなえておく必要があり、くだらないと思いながらも書き添えました。 ■