ITソリューション
在庫量最適化プロジェクト
在庫量最適化
インターフェース機能開発事例
プロジェクト概要
- 業種
- 医療機器関連企業
- システムの種類
- 在庫量最適化システム
- プロジェクト名
- 在庫量最適化プロジェクトにおけるインターフェース機能開発
- 開発期間
- 5ヶ月
- 開発工数
- 20人月
プロジェクトの目的
最終顧客に対して、在庫充足率を95%以上にする。
- 安全在庫を多くしすぎない。
- 最終顧客に対するサービス率を維持しながら、全体の在庫最適化を図る。
データのダウンロード
- 既存システムであるBIシステム経由で、マスタ / 実績データの取込み / 加工を行い、基幹システム(在庫最適化システムデータベース)へデータを取込む。
- 既存システムであるEAIシステム経由で、在庫 / 実績データの取込み / 加工を行い、基幹システム(在庫最適化システムデータベース)へデータを取込む。
データのアップロード
- 基幹システム(在庫最適化システムデータベース)から推奨データを取出し、EAI経由で各地域のERP / CRMに提供する。
- 各地域のI / F開発工数低減を図り、ERP上の共通テンプレートを開発する。
プログラムの共通化
- 機能毎に、各地域に対して共通化してプログラムを使えるように作成する。
- 地域毎に異なる仕様については、モジュール実行時に、地域をパラメータとして与えて、モジュール内部で条件分岐をして、実装することとする。
- プログラム内部での抽出条件の値の変更に対応するために、代表となる抽出条件の値を、外部パラメータとして与えることにより外部パラメータ値を変更することにより、プログラムに変更を与えることなく、抽出条件の変更に対応できるように実装する。
マスタ管理機能のWeb化
- 基幹システムからマスタ情報のダウンロードを行う。ダウンロードはCSV形式で行いWeb画面上でエラーチェクを行う。
- エラーチェクにおいて、整合性チェクを行い、正常なデータのみ基幹システムにデータのアップロードを行う。

弊社のアプローチ
リンクサーバーを定義することにより、異なるインスタンス間のデータ参照においても、ローカルのSQL Serverと同じように、クエリ、更新、コマンド、およびトランザクションを実行した。
リモートサーバー上の OLE DB データソースに対してコマンドを発行するため、パフォーマンスの観点からも優れている。
リンクサーバーはSQL Serverの1機能であるため、別途ソフトウェアを用意する必要がなく、コストの低減を実現させた。
インターフェース機能のプログラムは、内部的に、以下の3つのモジュール化されたプログラムを組み合わせることにより作成する。
① データ抽出 ② エラーチェック ③ データ出力

モジュール化を行うことにより、モジュール単位で共通化を図ることができる為、増大する複雑さに対応ができ、大幅な効率化設計、開発期間の短縮や開発工数の低減を実現する。
各プログラムのマッピング先テーブルの項目ごとの抽出条件は、外部パラメータテーブルで管理する。
外部パラメータテーブルより、プログラムID・マッピング先テーブルの項目名・マッピング元テーブル名、マッピング元項目名で抽出条件を取得し、その条件にて対象マッピング元テーブルよりデータを取得・集計した値を各マッピング先のカラムに設定します。
これにより、抽出条件の増減及び変更された場合に、プログラム変更する必要が無く、外部パラメータテーブルの編集のみで対応が可能となる。

プロジェクトの成果 or エピソードなど
今回のプロジェクトでは、ソフエルは在庫最適化システムのインターフェース機能開発とWEBアプリケーションによるマスタメンテナンス機能を担当しました。
インターフェース機能におけるポイントとしては、限られた期間中にどこまで高精度な開発を行うことができるか、ということが挙げられます。
まずは、設計時においては設計書を作成後、作成した設計書を元にお客様や他ベンダー様と仕様レビューを随時行うことにより、仕様漏れの防止を行うと同時に弊社側から、プログラムに対する精度及びレスポンス向上におけるご提案をさせていただきました。
しかし、今回のプロジェクトは、複数ベンダーが参加し、各機能ごとに開発を行っており(ERI→BI、ERP→EAI、EAI→ERP、基幹システム、お客様IT、IF)結合テスト時にインターフェースが必要であるテストデータを確保することができず、高精度な実装が確認できる状態とは言えませんでした。
そこで、実装時には、アプリケーションエラーが発生しないかを重点的にテストを行い、単体テスト時には実装担当者がより本番データに近いデータを手入力で作成し、プログラムの精度を上げることを念頭に置き、データ整合性についての確認はお客様と綿密な打ち合わせを行うことにより対応しました。
こうして複数ベンダーが参加し、5か月といったタイトなプロジェクトは、無事に連携テストを完了しました。インターフェース開発チームが果たした役割は非常に重要なものでした。