« 超高速開発ではなく「超少人数開発」を | トップページ | 「営業カレンダー」のモデリング »

2013.09.21

「仕様書で駆動される生産管理システム」公開

 予定より1ヶ月遅れたが「CONCEPTWARE/生産管理」の実装作業が完了した。さっそく実案件向けに修正課題をまとめているところなのだが、とりあえず現時点の仕様で公開することにした。もう少し機能を整理する予定の暫定版をここからダウンロードできる。

 OSSのパッケージシステムとして「安かろう悪かろう」などと侮ってはいけない。まずこのシステムには無償であることよりも重要な特徴がある。データモデル、業務フロー、業務マニュアル、仕様書といったドキュメントが添付されている点、そしてなによりも「仕様書を編集すればシステムの動きが動的に変化する開発基盤(XEAD Driver)」の上で実装されている点である。

 "動的に変化する"という点がとくに重要で、仕様変更の過程でコードの再生成もリコンパイルも伴わない。なぜかというと、仕様書を読み込んで開発基盤そのものが変形して立ち上がる「動的制御」のしくみだからだ。ゆえに私はこの開発基盤を「アプリケーション・ドライバ」と呼んでいる。

 仕様書データはXMLで様式化されていて、専用エディタ(XEAD Editor)を使って編集できるようになっているのだが、そのサイズの小ささも特筆に値する。すべての仕様情報が1個のテキストファイル(MfgDscrt.xeaf)に格納されており、そのファイルサイズが2,200KBに収まっている。上述したようにロードモジュールが存在しないので、データベースを除けばたった2,200KBの仕様書ファイルが、現時点でテーブル数99本、機能数371本の「実際に動く生産管理システム」の実体なのである。

 また、専用エディタを使って仕様変更する過程でテーブル定義や機能定義間の整合性が監視されるために、仕様情報の維持管理が格段に楽になった。これまでのシステム開発では、誰かがEXCELで仕様書を書いて、別の誰かがそれを眺めながらプログラミングしていたものだ。そういうやり方は非効率であるだけでなく、その種の仕様書には定義間の不整合がしばしば含まれていたし、保守フェーズでのコードと仕様書との乖離も避けられなかった。アプリケーション・ドライバによって仕様書が「実際に動くシステムの実体」になるのと同時に、専用エディタによって仕様書の維持管理が楽になった。その意義は重大だ。

 なお、この開発基盤はいわゆる「ノンプログラミング開発」を標榜するものではない。仕様情報全体の2~3割にあたるある種の処理やビジネスルールは、Javascriptでコーディングされる。ただし、従来であればそれらのコードはプログラマによって書かれたはずだが、この開発基盤ではその生産性の高さゆえに設計者自身が仕様書の一部として書いてしまえる。だからプログラマが要らなくなったのではなく、「設計だけやる要員」や「プログラミングだけやる要員」が要らなくなったのである。

 アプリケーションレベルの特徴もいろいろある。実効性の薄いMRPではなく、入出庫予定の変化にリアルタイムに追随する在庫推移を監視する方式を取り入れている点、そして製品の派生仕様管理を合理化するためのフィーチャ・オプションが組み込まれている点などだ。これらのしくみは拙書「生産管理・原価管理システムのためのデータモデリング」で説明されているもので、その実際の動きや実装を観察できるので学習教材としても活用できる。またそれらの難度の高い機構を実装できたということ自体が、開発基盤の対応力の高さを示している。

 念願だった生産管理システムの実装版を公開できたので、開発課題の優先順位が変わった。現在のドライバはデスクトップアプリ用なので、jQueryを使ったブラウザアプリ用ドライバの開発にとりかかる。こちらも期待していてほしい。

|

« 超高速開発ではなく「超少人数開発」を | トップページ | 「営業カレンダー」のモデリング »

コメント

コメントを書く



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




トラックバック


この記事へのトラックバック一覧です: 「仕様書で駆動される生産管理システム」公開:

« 超高速開発ではなく「超少人数開発」を | トップページ | 「営業カレンダー」のモデリング »