応用情報技術者試験 過去問 2013年(平成25年) 秋期 午後 問7

ソフトウェアの機能規模の見積り

K社は、電化製品を製造販売する会社である。今回、人庫管理システムを開発することになり、情報システム部に所属するL君が開発リーダに任命された。K社では、開発に複数のプログラム言語を用いている。開発するソフトウェアの要件が定義された時点で、ファンクションポイント法を用いてソフトウェアの機能規模の見積りを行う。

入庫管理システムの開発

入庫管理システムのうち、生産管理システムからの入庫指示に関連する機能は、図1に示す入庫管理システムのDFDのとおりである。

図1 入庫管理システムのDFD
図1 入庫管理システムのDFD

表1は、入庫管理システムの処理一覧である。表2は、入庫管理システムが使用するデータストアのデータ項目一覧である。倉庫は、三つあるもののうちから担当者が一つを指定する。

表1 入庫管理システムの処理一覧
項番 処理名 処理概要
1 入庫処理 画面上で、入庫指示の指示番号を指定し、入庫実績を登録する。それを基に、在庫数量、金額を更新する。
2 実績集計 画面上で製品コード、倉庫、集計開始日、集計終了日を指定する。期間内の入庫の数量、金額をそれぞれ集計し、在庫数量と共に出力する。
3 数量照会 画面上で製品コード、倉庫を指定し、現時点での在庫数量を出力する。
4 金額照会 画面上で製品コード、倉庫を指定し、現時点での在庫金額を出力する。
表2 入庫管理システムが使用するデータストアのデータ項目一覧
項番 データストア データ項目
1 入庫指示 指示番号、製品コード、数量、金額
2 入庫実績 指示番号、製品コード、倉庫、日付、数量、金額
3 在庫 製品コード、倉庫、数量、金額
4 入庫実績集計 製品コード、倉庫、集計開始日、集計終了日、入庫数量、入庫金額、在庫数量
5 在庫数量 製品コード、倉庫、在庫数量
6 在庫金額 製品コード、倉庫、在庫金額

ファンクションポイント法においては、データファンクション、トランザクションファンクションを抽出し、それぞれの複雑さを、データ項目数などに基づいて計測して、低・中・高の3段階で評価する。データファンクション、トランザクションファンクションは、表3に示すファンクションタイプに分けられる。

表3 ファンクションタイプ一覧
分類 ファンクションタイプ 内容
記号 名称
データファンクション ILF 内部論理ファイル 該当するアプリケーションによって作成、更新、参照、削除を行うデータのまとまり
EIF 外部インタフェースファイル 他アプリケーションによって作成されたデータのまとまりで、該当するアプリケーションは参照だけを行うもの
トランザクションファンクション EI 外部入力 当該アプリケーションの外部からデータを入力し、データファンクションの追加、修正、削除する処理
EO 外部出力 計算などの処理ロジックを通したデータを画面、帳票、他アプリケーションなどに出力する処理
EQ 外部照会 計算などの処理ロジックを通さないデータを画面、帳票、他アプリケーションなどに出力する処理

L君は、データストアのデータ項目一覧から表4のデータファンクションを計測した。ここで、レコード種類数は、一つのデータファンクションの中に、異なる意味をもつデータのまとまりが存在した場合のそれらの個数であり、入庫管理システムが使用するデータストアのレコード種類数はいずれも1であった。複雑さの評価基準は省略する。

表4 入庫管理システムのデータファンクション一覧
項番 データファンクション ファンクションタイプ レコード種類数 データ項目数 複雑さの評価
1 入庫指示 a 1 4
2 入庫実績 ILF 1 6
3 在庫 b 1 4
4 入庫実績集計 ILF 1 7
5 在庫数量 ILF 1 3
6 在庫金額 ILF 1 3

また、画面と、画面遷移の概要に基づいて、表5のトランザクションファンクションを計測した。図2は、その際に利用したメニューから入庫処理までの画面と、画面遷移の概要である。入庫処理は、指示番号を指定して対象製品の入庫指示を検索する入庫指示検索と、検索された指示番号に対応する入庫実績を登録して在庫を更新する入庫登録の二つのトランザクションファンクションとして計測した。実績集計、数量照会及び金額照会の関連ファイル数、データ項目数の算出根拠は省略する。

ここで、トランザクションファンクションのデータ項目数は、見出しや定数項目などの固定値項目を除く、アプリケーションに出入りする可変なデータ項目の個数である。画面上で同じデータ項目が複数回繰り返し表示される場合は最初の1回だけを数え、データ項目数は1とする。データストアの一つの項目が、画面設計の都合によって複数の表示項目に分割される場合も、データ項目数は1とする。また、ボタンなどの処理のトリガは、トランザクションファンクションごとにまとめて一つのデータ項目とみなす。各種メッセージについても、同様である。トランザクションファンクションの関連ファイル数とは、アプリケーションが読み書きするデータストアの個数である。

それぞれのトランザクションファンクションについて、関連ファイル数、データ項目数に基づいて複雑さを評価した。複雑さの評価基準は省略する。

表5 入庫管理システムのトランザクションファンクション一覧
項番 トランザクションファンクション ファンクションタイプ 関連ファイル数 データ項目数 複雑さの評価
1 入庫指示検索 EQ 1 3
2 入庫登録 EI 2 c
3 実績集計 d 3 9
4 数量照会 EQ 2 5
5 金額照会 EQ 2 5
図2 メニューから入庫処理までの画面と、画面遷移の概要
図2 メニューから入庫処理までの画面と、画面遷移の概要

L君は、表4、表5のデータファンクション一覧、トランザクションファンクション一覧を基に、表6の入庫管理システムのファンクションポイント算出表を作成した。ファンクションポイント算出表では、ファンクションタイプごとに、低・中・高それぞれの複雑さで計測されたファンクションタイプの個数と、複雑さの重み付け係数を掛けて足し合わせ、ファンクションタイプごとの合計値を求める。こうして求めた合計値の総和は、性能や信頼性といったシステムの特性を考慮していないことから未調整ファンクションポイントと呼ばれる。システムの特性を調整係数として未調整ファンクションポイントに掛け算し、ファンクションポイントを求めた。調整係数は、0.8とする。

図3 入庫管理システムのファンクションポイント算出表
図3 入庫管理システムのファンクションポイント算出表
平成25年度 秋期 応用情報技術者試験 午後 問7