2015年 秋期 応用情報技術者試験 問8

ソフトウェアパッケージの利用

K 社は,現行の購買システムの再構築のために,短期間で導入できる購買業務用ソフトウェアパッケージ(以下,購買パッケージという)の利用を検討している。現行業務を分析し改善要望を整理した結果を基に,業務機能を定義し,新業務フローを作成した。その上で,購買パッケージとのフィット&ギャップ分析を行い,ギャップ部分についてはaのみ購買パッケージに合わせることとし,重要度が高いギャップだけ,追加プログラムの開発を行う方針とした。

(1) 改善要望の整理

現行業務を分析し,改善要望を整理した。

・現在の見積りの業務では,現場担当者が仕入先に対して見積りを依頼している。仕入額の削減や発注遅延の防止を目的として,購買部から仕入先に対して見積りを依頼するようにしたい。

・仕入先とのやり取りの業務では,仕入先から受領した情報をシステムに入力する手間や,データの入力ミスが問題となっている。特に入力量が多い見積回答データや請求データについては,仕入先に直接入力させたい。

(2) 業務機能の定義

改善要望を整理した結果から,表1に示す業務機能を定義した。

表1 業務機能
No.業務機能内容
1見積取得依頼現場担当者が,購買部に見積取得を依頼する。
2見積依頼購買部が,現場担当者からの見積取得依頼を基に,仕入先に見積りを依頼する。
3見積回答仕入先が,見積回答を直接入力する。
4見積回答確認購買部が,見積回答を確認する。
5発注依頼現場担当者が,発注依頼内容を入力し,購買部に発注を依頼する。
6発注購買部が,現場担当者からの発注依頼を基に,仕入先に発注する。
7受領・検品現場担当者が,商品を受領した結果と検品した結果を入力する。
8検収購買部が,発注した商品について検品が合格であったことを確認し,検収を行い,買掛金を計上する。
9請求仕入先が,請求内容を直接入力する。
10請求書照合経理部が,仕入先からの請求データと購買部からの検収データを照合し,仕入先への支払金額を確定する。

(3) 新業務フローの作成

業務機能を定義した結果から,図1に示す新業務フローを作成した。

注記 ----:システム化対象業務機能
----:システム外業務機能

[購買パッケージの機能]

導入を検討している購買パッケージの標準機能を表2に示す。

表2 購買パッケージの標準機能
機能名機能概要
見積依頼見積りを取得するための情報を入力し,仕入先へ送るための見積依頼書を発行する。
見積回答入力仕入先から受領した見積回答書の内容を基に,見積金額を入力する。
見積回答照会見積回答の内容を照会する。
発注依頼発注依頼者が発注依頼内容を入力し,発注者に発注を依頼する。
発注商品を購入するために,仕入先へ送る発注書を発行する。
受領・検品商品を受領した結果と検品した結果を入力する。
検収発注内容と,検品結果を確認し,検収処理を行い,買掛金を計上する。
請求書照合仕入先から受領した請求書の請求内容と検収データを照合し,仕入先への支払金額を確定する。

[フィット&ギャップ分析]

業務機能と購買パッケージの標準機能とのフィット&ギャップ分析を行ったところ,表3の結果が得られた。

表3 業務機能とのフィット&ギャップ分析の結果(ギャップのある業務機能だけ抜粋)
No.業務機能結果検討内容
1見積取得依頼ギャップ標準機能では,仕入先へ送るための見積依頼書を発行することが可能。現場担当者が購買部に対して見積取得を依頼する機能はない。
3見積回答ギャップ標準機能では,bすることが可能。cする機能はない。
9請求ギャップdする機能はない。

[追加プログラムの外部設計]

フィット&ギャップ分析によってギャップと判定された業務機能のうち,見積回答と,請求については,購買パッケージに合わせて,仕入先から受領した情報をK社の社員がシステムに入力する運用を継続することにした。見積取得依頼については,現場担当者からの依頼に基づいて,購買部が仕入先から見積りを取得するという改善要望を優先することとし,購買パッケージに対して,K社独自の機能を追加プログラムとして開発することにした。

追加プログラムとして開発が必要な,現場担当者が入力する見積取得依頼の画面設計の一部を図2に,見積取得依頼のクラス図を図3に示す。追加プログラムは,購買パッケージが提供しているテーブル(パッケージテーブル)を直接参照せず,購買パッケージが提供しているプログラム(パッケージプログラム)を使用してパッケージテーブルにアクセスする。追加プログラムが必要とするデータでパッケージテーブルに存在しないデータは,K社独自のテーブルとして新たに作成する。

見積取得依頼画面 依頼者番号 XXXXXX
依頼日 yyyy-mm-dd
<div class="screen-body">
  担当者名:XXXX<br>
  案件名:<input type="text" style="border: 1px solid black;"><br>
  明細:<br>
  
  <table style="border: 1px solid black; border-collapse: collapse;">
    <tr style="border: 1px solid black;">
      <th style="border: 1px solid black;">選択</th>
      <th style="border: 1px solid black;">明細番号</th>
      <th style="border: 1px solid black;">品目名*</th>
      <th style="border: 1px solid black;">数量*</th>
      <th style="border: 1px solid black;">希望仕入先名</th>
      <th style="border: 1px solid black;">希望単価</th>
    </tr>
    <tr style="border: 1px solid black;">
      <td style="border: 1px solid black;">□</td>
      <td style="border: 1px solid black;">1</td>
      <td style="border: 1px solid black;">品目</td>
      <td style="border: 1px solid black;"><input type="text"></td>
      <td style="border: 1px solid black;">仕入先</td>
      <td style="border: 1px solid black;"><input type="text"></td>
    </tr>
    <tr style="border: 1px solid black;">
      <td style="border: 1px solid black;">□</td>
      <td style="border: 1px solid black;">2</td>
      <td style="border: 1px solid black;">品目</td>
      <td style="border: 1px solid black;"><input type="text"></td>
      <td style="border: 1px solid black;">仕入先</td>
      <td style="border: 1px solid black;"><input type="text"></td>
    </tr>
    <tr style="border: 1px solid black;">
      <td style="border: 1px solid black;">□</td>
      <td style="border: 1px solid black;">3</td>
      <td style="border: 1px solid black;">品目</td>
      <td style="border: 1px solid black;"><input type="text"></td>
      <td style="border: 1px solid black;">仕入先</td>
      <td style="border: 1px solid black;"><input type="text"></td>
    </tr>
  </table>
  
  *品目名と数量は必須入力<br>
  
  <div style="margin-top: 10px;">
    <button>明細追加</button>
    <button>明細削除</button>
    <button>登録</button>
  </div>
  
  <div style="margin-top: 20px;">
    品目入力補助画面<br>
    品目名:<input type="text" style="border: 1px solid black;"> <button>検索</button><br>
    
    選択 品目番号 品目名<br>
    ○<br>
    ○<br>
    
    <button>確定</button>
    
    仕入先入力補助画面<br>
    仕入先名:<input type="text" style="border: 1px solid black;"> <button>検索</button><br>
    
    選択 仕入先番号 仕入先名<br>
    ○<br>
    ○<br>
    
    <button>確定</button>
  </div>
</div>
注記 テキスト入力可能項目
ボタン
□□ チェックボックス
●● ラジオボタン
図2 見積取得依頼の画面設計(一部)

見積取得依頼画面のボタンとその機能を次に示す。

・品目名を入力する際,又は希望する仕入先があり希望仕入先名を入力する際は,品目ボタン又は仕入先ボタンを押すことによって,それぞれの入力補助画面へ遷移する。遷移先の入力補助画面でマスタ検索を行い,出力される品目又は仕入先をラジオボタンで選択し,確定ボタンを押すことによって,見積取得依頼画面の明細に,品目名又は希望仕入先名を指定する。

・明細追加ボタンを押すことによって,品目名,数量などを入力するための新たな明細行が追加される。

・選択欄のチェックボックスにチェックを入力した後,明細削除ボタンを押すことによって,選択した明細行が削除される。

・見積取得依頼画面で案件名及び明細行を入力し登録ボタンを押すことによって,見積取得依頼及びその明細が登録される。

注記 網掛けは,購買パッケージが提供している標準クラス

[購買パッケージのバージョンアップ対応]

購買システムの本番リリース後,購買パッケージのバージョンアップがあり,見積回答機能が強化されて,K社の業務機能(表1のNo.3)に合致するようになった。

そこで,購買パッケージのバージョンアップを検討し,追加プログラムへの影響調査を実施した。購買パッケージにおいては,バージョンアップの際に既存のパッケージテーブルに対する変更は一切行われていないことを確認した。また,追加プログラムの開発に当たって,K社ではパッケージプログラムやパッケージテーブルに対する改修を一切行っていない。

念のため,テスト環境を用意して,購買パッケージのバージョンアップを行い,購買システムの動作検証を実施したところ,①追加プログラムが異常終了した。この原因を調査して追加プログラムの修正を実施し,本番環境のバージョンアップを無事に完了した。

出典:平成27年度 秋期 応用情報技術者試験 午後問題 問8