« 「丸投げ請負」から「内製支援」へ | トップページ | 梱包形態のモデリングと加工出荷 »

2012.12.19

部品表をツリービュー表示する

 生産管理システムにおいて、品目マスターや部品表は要(かなめ)となるテーブル群である。工場で扱われる製品、販売品、購入品、中間品といった雑多な要素が「品目」として抽象化され、その「構成関係」が部品表上で定義される。

 通常の表形式で品目とその構成関係を示すパネルを作れば、次図のようになる。この例では品目01にとって、品目02、03、04が「子品目(シングルレベルの部品)」であることが示されている。「BOM編集」のボタンを押せば、これらの構成情報を一括保守するための機能が起動されるようになっている。

20121218

 このデザインでもいいといえばいいのだが、子品目が「中間品」であるかどうかがわかりにくいという難点がある。子品目が中間品であるなら、その下位にも子品目がぶら下がることになるのだが、その様子がこのUIではすぐにはわからない。

 そこで、パネルの左側に当該品目の構成情報を「ツリービュー表示」してみよう(次図)。子品目のさらに下位の構成が一目瞭然である。また、ツリービュー上の任意の品目に「ジャンプ」できたり、ツリーを「逆展開」で示せるようになっていれば便利だ。ツリービューはまさに部品表のような再帰型データと相性のいいUIである。

20121218b

 便利ではあっても、このような機能をJTreeクラスあたりを使っていちいちプログラミングするのは面倒だ。そこで、この種の仕様をパターンとみなして関数化してしまえばいい。じっさい再帰型のデータ構造は業務システムにはわりと含まれるので、その意義は大きい。

 拙作の超高速開発用プラットフォームXEAD Driverでは、規定パターンの仕様書を書く際に「構成テーブル」に関する情報を付加するだけでツリービュー表示できるようになっている。その過程でプログラミングもテストも要らない(なにしろコードの自動生成さえ伴わない)。専用のドライバが仕様書の内容を読み取って、ドライバ自身がその場で変形して立ち上がるからだ。

 これまでアナリシスパターンやデザインパターンといった知識は、それぞれ設計やコーディングに役立つものと考えられていたが、パターンの潜在能力はそれだけのものではない。対象ドメイン向けのより高級なパターン(アプリケーションパターン)を整理して、オブジェクト指向技術を使って関数化する。それによってパターンはさらに威力を発揮する。

 すなわち、分析・設計作業がパターンにもとづいて効率化されるだけでなく、パターンに沿ってまとめられた仕様書をアプリとしていきなり動かせるようになる。つまり、ドメインにおけるパターンを整備することによって、案件単位のオブジェクト指向プログラミング(ドメイン駆動開発)が要らなくなるということだ。パターンの整理と関数化――これこそが開発合理化の最強のツボである。

本ブログでの参考記事:
業務システム向けのデザインパターン

|

« 「丸投げ請負」から「内製支援」へ | トップページ | 梱包形態のモデリングと加工出荷 »

コメント

大変興味深い題材ですね。
未だ先生のソースコードを拝見することが出来ていませんが、
大学教育等ではこのような現実の世界のソフトウェアを題材とした講義なども行っていってほしいものです。

投稿: Web開発者 | 2012.12.19 14:29

コメントを書く



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




トラックバック


この記事へのトラックバック一覧です: 部品表をツリービュー表示する:

« 「丸投げ請負」から「内製支援」へ | トップページ | 梱包形態のモデリングと加工出荷 »