Quantcast
Channel: IT勉強宴会blog
Viewing all articles
Browse latest Browse all 87

仕様書で駆動される生産管理システムの開発事例

$
0
0
 ついにXEAD Driverで動く生産管理システムを公開されました。その記念講演でした。

 場所はいつもの通りシナジーマーケティングさんに無償で会議室をお借りしました。本当にありがたいと思っています。梅田界隈で、20名程度の会議室を貸して頂ける企業がありましたらお声をおかけ下さい。

 今回は、初めての方が4名で総勢18名でした。2次会は12名、3次会は8名で2:30ごろまで飲んでいました。こういうお題の時はずっと開発だとか設計の話が続くので良いですね。

<仕様書で駆動される生産管理システムの開発事例>
デービーコンセプト 渡辺幸三さん

1.レファレンスモデルの開発

 2003年に独立しました。前職ではDelphiでモデリングツールを作っていました。その仕様としてレファレンスモデルを公開しようと思っていました。というのは、システムを毎回一から作る事が大変設計効率が悪く嫌だったからです。図書館の建物の設計図面ならネットを探せばあるのに図書館システムの設計書はありません。こんなことをやっているとこの業界はいつまでも保育園レベルだという問題意識がありました。

 設計はその当時から「業務」「データ」「機能」をとらえて設計していました。今ではそれを三要素分析法と呼んでいます。前職で社内の標準にしたかったのですが残念ながらプロセス指向で設計する人が多くて上手く使ってもらえませんでした。

 独立したのをきっかけに、このモデリングツールをjavaで作り替えました。
XEAD Modelerです。
ここに来てくれている久保さんに手伝ってもらいオープンソースにも出来ました。ほぼ同時に、本当に業務で使える卸売業の販売管理システムの基本設計を公開しました。その後生産管理システムなど数業務公開しました。

2.レファレンスシステムの開発

 基本設計だけではそれが本当に動くかどうかの確認(フィジビリティ確認)が出来ません。それをするためには実際に動かしてみる事が早道です。実際に作ってみようとしましたが、いまさらjavaでちまちま作るのも違うと考えました。JavaFXは少し惹かれたのですがOracleに買収されてから方向性が変わってしまいあきらめました。

 そのころ偶然RhinoというJava上でJavaScriptを動かすエンジンが広がりました。それを使うことにしました。三要素分析法はデータモデルのテーブル構造の位相(トポロジー)でほぼ画面(パネル)が決まってしまうという特徴があります。それを利用して8つのタイプを定義すると仕様書がそのまま動く仕掛けを作りました。
XEAD Driverです。

稼働するための仕様を入力するためのXEAD Editorも作りました。このEditorはぱっとみるとModelerと似ていて区別出来ないかも知れません。

 XEAD Modelerは基本設計を記述するツールですから、ER図を表示させたりDFD(の最上位のコンテキストダイヤグラム)を書いたりする機能があります。Editorは詳細仕様を記述したりJavaScriptでロジックを書く機能があります。今のところこの2つを一緒にする気はありませんが、Modelerで作った基本設計をEditorにインポートする機能はあります。



3.実案件への適用

 過去の経験から最大公約数で「ありそうな」システム設計を行っても使えるかはわかりません。実案件に適用することで毎回新たな気付きがあります。今回公開した生産管理システムは、東京の案件で実際に使えるように作り替えています。仕様を公開する時には「誰向けか」「そういう会社がどれくらいあるか」を意識する事が重要だと思います。

 例えば、ロット管理が不要な生産管理システムがあるとは前職では考えたこともありませんでしたが、中小のメーカーでは手間が大きすぎるのだとわかりました。恐らく前職は生産管理が得意な会社でしたので、多少大きかったり難しかったりするシステムを主に作っていたのだと思います。
ロットのトレースが出来なければ困るだろうと思いましたが、製造実績を入れる時に材料ロットを摘要に入力したり、出荷実績でも適用に製品ロットを入力すれば紙管理で十分です。品質管理は生産管理ステムとは別の仕掛けで行うのが合理的だそうです。そのような要件が出てきても、簡単に仕様変更出来るのがXEAD Driverの大きな特徴です。

4.新しい開発ビジネスのためのリソース

 このXEAD Modeler/Editor/Driverを元々は自分が楽になるためのツールとして作りました。今はサポートを重視しています。ソフト関連の個人事業主(技術者)が自分のノウハウを公開するためにぜひ使って欲しいと思います。営業活動です。

5.レファレンスモデル概説

 生産管理システムの肝となる「フィーチャーオプション」と「BOM」「在庫推移監視方式」については3月の勉強宴会で語りました。
2013-03-30(月)第22回関西IT勉強宴会 <『仕様書で動く生産管理システム』の開発事例報告>

CONCEPTWARE/生産管理
として無償で公開していますので、実際に触ってみて下さい。ここでは、図面情報について見てもらいます。品目ごとに図面No.があります。図面も次々にバージョンが変わります。それだけでなく同じ図面から設計変更(設変)が数多く生まれます。そのコントロールにフィーチャーオプションが上手く使えました。

 実際の仕様変更のデモを行います。XEAD Modelerで品質管理という2つのテーブルを追加しました。それをEditorでインポートします。Editorを見ると2つのテーブルに何やらエラーマークが点いています。それはまだデータベースのテーブルがないというワーニングです。ボタンを押してテーブルを作るとエラーがなくなりました。

 XEAD Editorは動く時のデータベースのメタデータをチェックしてテーブルや項目の同期が合っているかのチェックを自動的に行っています。

<所感>

今回は、XEADの歴史を解説された後、生産管理システムの実装を簡単に説明されました。在庫推移監視システムだとか、フィーチャーオプションだとかという肝になる考え方は何度聞いても自分で使えるようになるまでは相当遠いものです。私自身何度も聞いていながら「マスク区分ってなんでしたっけ?」と恥ずかしい質問をしてしまいました(選択かオミットかです)。

 Modelerはそれなりに使いこなしている方は多く居るだろうと思います。私自身もER図を書くためのツールとして利用させて頂いています。でもDriverを使いこなしている人はまだまだ少数でしょう。「これさえ読めばDriverが使える」という書籍か雑誌連載かを期待しています。

Viewing all articles
Browse latest Browse all 87

Trending Articles