元外資系コンサルのガラクタ箱

インターフェース仕様書サンプル

先の記事「インターフェース仕様書の読み方」で紹介した、処理概要、レイアウト定義、編集仕様のフォーマットやサンプルを紹介します。

関連記事:【まとめ】インターフェースの仕事がわかる。解説シリーズ記事の構成

インターフェース処理概要

処理概要では、該当するインターフェース機能の概要、対象エンティティ、処理フローを記載しています。

処理フローは左側にInput(ファイルや参照テーブル)、中央に処理ステップ、右側にOutput(ファイルや更新先テーブル)を記載します。

処理ステップは、共通処理と通常処理のボックスを処理順に矢印でつないで記載します。共通処理の設計は別ファイルを参照し、通常処理の内容は同一ファイルの別シートで記載しています。

処理フローの個々のボックスごとにプログラム概要のシートを作成します。プログラム名称、プログラムID、プロセス構成図、ファイル名称/DB名称、リターンコード、処理概要を記載します。

外部システムとのインターフェース設計参考記事→外部システムI/F設計の概要

処理概要の設計参考記事→バッチインターフェース設計の概要

エラー処理設計の参考記事→運用を困らせないインターフェースのエラー処理とリカバリ設計

レイアウト定義

ファイルレイアウトは、#(連番)、IF項目名、PK(Primary Key、レコードを一意に特定するための項目)、必須(データが必須の項目)、データ型、データ長、コード定義要日、備考を記載しています。

データ型を一律CHAR(Character、文字列)にしているのは、ワークテーブルに取り込む際に変換を加えたくないためです。変換箇所を分散させると障害時の解析や保守対応が煩雑になるため、それを避けようとしています。

データ長はバイト長で表現しています。Oracleデータベースなどで、VARCHAR(CHAR)という型はダブルバイトの文字数でカウントできるため、受け渡しの際に認識齟齬が発生しないよう、バイト数と明記しています。

編集仕様

ターゲットとなるテーブルを左側ブロックに、中間となるワークテーブルを真ん中に、ソースになるIFファイルレイアウトを右側に置き、どの項目を使ってどの項目にどういう値を設定するかを記載します。

ファイルからワークテーブルへはSQL Loaderを使って単純ロードしています。ワークテーブルからTMPテーブルへは、PL/SQLを使って、設定しています。

値を何も変換せずに設定するものは”転記”、日付型項目のフォーマット変換、任意項目で値がブランクだった場合の設定値、変換テーブルを用いたコード変換など、編集内容をそれぞれ記載していきます。

顧客コードについては、TMP_M_ACCOUNTとTMP_A_ACCNT_BUの両テーブルに格納するため、重複して記載しています。

編集ロジック設計の参考記事→インターフェース編集仕様まとめ

複数プログラムで利用できる共通機能の参考記事→インターフェース共通機能サンプル

設計の確からしさを検証するテスト→インターフェース単体テスト方針サンプル

参考図書

第2章 「要求定義から設計へ」の「外部設計工程の進め方」で他システムと連携するインターフェース設計の解説があります。

第3章外部設計の手法のなかに、外部システムI/F設計、バッチ設計の解説があります。

データ移行に関する記事もシリーズ化して揃えております。よければご覧ください。
【まとめ】データ移行の仕事がわかる。解説シリーズ記事の構成

データチェックの基礎知識に関する記事はこちら→データチェックの基礎知識まとめ

mhisaeda

電子書籍「システム導入のためのデータ移行ガイドブック」著者。

新卒から外資系コンサルティングファームに所属。15年に渡り販売物流、特にCRM領域のコンサルティングに従事。 100名を超えるプロジェクトのPMOなど全体を推進していく役回りや、ユーザ企業への出向を通じた実務経験を持つ。

このブログでは、自身がかき集めた知識や経験を共有する。クライアントへの提案やソリューション開発に直結しないガラクタのようなもの。将来再利用する自分のために。同じような悩みを抱える誰かのためにブログ「元外資系コンサルのガラクタ箱」を運営。

カテゴリー

モバイルバージョンを終了