平成25年秋期試験午後問題 問7
問7 情報システム開発
⇱問題PDF
ソフトウェアの機能規模の見積りに関する次の記述を読んで,設問1~3に答えよ。
ソフトウェアの機能規模の見積りに関する次の記述を読んで,設問1~3に答えよ。
広告
K社は,電化製品を製造販売する会社である。今回,入庫管理システムを開発することになり,情報システム部に所属するL君が開発リーダーに任命された。K社では,開発に複数のプログラム言語を用いている。開発するソフトウェアの要件が定義された時点で,ファンクションポイント法を用いてソフトウェアの機能規模の見積りを行う。
〔入庫管理システムの開発〕
入庫管理システムのうち,生産管理システムからの入庫指示に関連する機能は,図1に示す入庫管理システムのDFDのとおりである。 表1は,入庫管理システムの処理一覧である。表2は,入庫管理システムが使用するデータストアのデータ項目一覧である。倉庫は,三つあるものの中から担当者が一つを指定する。 ファンクションポイント法においては,データファンクション,トランザクションファンクションを抽出し,それぞれの複雑さを,データ項目数などに基づいて計測して,低・中・高の3段階で評価する。データファンクション,トランザクションファンクションは,表3に示すファンクションタイプに分けられる。
L君は,データストアのデータ項目一覧から表4のデータファンクションを計測した。ここで,レコード種類数は,一つのデータファンクションの中に,異なる意味をもつデータのまとまりが存在した場合のそれらの個数であり,入庫管理システムが使用するデータストアのレコード種類数はいずれも1であった。複雑さの評価基準は省略する。 また,画面と,画面遷移の概要に基づいて,表5のトランザクションファンクションを計測した。図2は,その際に利用したメニューから入庫処理までの画面と,画面遷移の概要である。入庫処理は,指示番号を指定して対象製品の入庫指示を検索する入庫指示検索と,検索された指示番号に対応する入庫実績を登録して在庫を更新する入庫登録の二つのトランザクションファンクションとして計測した。実績集計,数量照会及び金額照会の関連ファイル数,データ項目数の算出根拠は省略する。
ここで,トランザクションファンクションのデータ項目数は,見出しや定数項目などの固定値項目を除く,アプリケーションに出入りする可変なデータ項目の個数である。画面上で同じデータ項目が複数回繰り返し表示される場合は最初の1回だけを数え,データ項目数は1とする。データストアの一つの項目が,画面設計の都合によって複数の表示項目に分割される場合も,データ項目数は1とする。また,ボタンなどの処理のトリガは,トランザクションファンクションごとにまとめて一つのデータ項目とみなす。各種メッセージについても,同様である。トランザクションファンクションの関連ファイル数とは,アプリケーションが読み書きするデータストアの個数である。
それぞれのトランザクションファンクションについて,関連ファイル数,データ項目数に基づいて複雑さを評価した。複雑さの評価基準は省略する。 L君は,表4,表5のデータファンクション一覧,トランザクションファンクション一覧を基に,表6の入庫管理システムのファンクションポイント算出表を作成した。ファンクションポイント算出表では,ファンクションタイプごとに,低・中・高それぞれの複雑さで計測されたファンクションタイプの個数と,複雑さの重み付け係数を掛けて足し合わせ,ファンクションタイプごとの合計値を求める。こうして求めた合計値の総和は,性能や信頼性といったシステムの特性を考慮していないことから未調整ファンクションポイントと呼ばれる。システムの特性を調整係数として未調整ファンクションポイントに掛け算し,ファンクションポイントを求めた。調整係数は,0.8とする。
〔入庫管理システムの開発〕
入庫管理システムのうち,生産管理システムからの入庫指示に関連する機能は,図1に示す入庫管理システムのDFDのとおりである。 表1は,入庫管理システムの処理一覧である。表2は,入庫管理システムが使用するデータストアのデータ項目一覧である。倉庫は,三つあるものの中から担当者が一つを指定する。 ファンクションポイント法においては,データファンクション,トランザクションファンクションを抽出し,それぞれの複雑さを,データ項目数などに基づいて計測して,低・中・高の3段階で評価する。データファンクション,トランザクションファンクションは,表3に示すファンクションタイプに分けられる。
L君は,データストアのデータ項目一覧から表4のデータファンクションを計測した。ここで,レコード種類数は,一つのデータファンクションの中に,異なる意味をもつデータのまとまりが存在した場合のそれらの個数であり,入庫管理システムが使用するデータストアのレコード種類数はいずれも1であった。複雑さの評価基準は省略する。 また,画面と,画面遷移の概要に基づいて,表5のトランザクションファンクションを計測した。図2は,その際に利用したメニューから入庫処理までの画面と,画面遷移の概要である。入庫処理は,指示番号を指定して対象製品の入庫指示を検索する入庫指示検索と,検索された指示番号に対応する入庫実績を登録して在庫を更新する入庫登録の二つのトランザクションファンクションとして計測した。実績集計,数量照会及び金額照会の関連ファイル数,データ項目数の算出根拠は省略する。
ここで,トランザクションファンクションのデータ項目数は,見出しや定数項目などの固定値項目を除く,アプリケーションに出入りする可変なデータ項目の個数である。画面上で同じデータ項目が複数回繰り返し表示される場合は最初の1回だけを数え,データ項目数は1とする。データストアの一つの項目が,画面設計の都合によって複数の表示項目に分割される場合も,データ項目数は1とする。また,ボタンなどの処理のトリガは,トランザクションファンクションごとにまとめて一つのデータ項目とみなす。各種メッセージについても,同様である。トランザクションファンクションの関連ファイル数とは,アプリケーションが読み書きするデータストアの個数である。
それぞれのトランザクションファンクションについて,関連ファイル数,データ項目数に基づいて複雑さを評価した。複雑さの評価基準は省略する。 L君は,表4,表5のデータファンクション一覧,トランザクションファンクション一覧を基に,表6の入庫管理システムのファンクションポイント算出表を作成した。ファンクションポイント算出表では,ファンクションタイプごとに,低・中・高それぞれの複雑さで計測されたファンクションタイプの個数と,複雑さの重み付け係数を掛けて足し合わせ,ファンクションタイプごとの合計値を求める。こうして求めた合計値の総和は,性能や信頼性といったシステムの特性を考慮していないことから未調整ファンクションポイントと呼ばれる。システムの特性を調整係数として未調整ファンクションポイントに掛け算し,ファンクションポイントを求めた。調整係数は,0.8とする。
広告
設問1
ソフトウェアの機能規模の見積りにファンクションポイント法を利用するK社にとってのメリットは何か。40字以内で述べよ。
解答例・解答の要点
開発に用いるプログラム言語に依存しない見積りが行えること (28文字)
解説
問題文冒頭部に、K社では開発に複数のプログラム言語を用いているという記述があります。ソフトウェア規模を見積もる方法としては、古くからプログラムステップ法(LOC法)という方法がありますが、この見積り法は名前の通りソースコードの行数を基準にソフトウェア規模を推計する方法なので、開発に用いるプログラム言語によってソフトウェア規模が変わってしまうことになります。※同じ処理を実装する場合でも、プログラム言語によってソースコードの行数が大きく異なることがあります。ファンクションポイント法は、外部入出力や内部ファイルの数と難易度の高さから論理的にファンクションポイントを算出し、それを基に開発規模を見積もる手法なので、どのプログラム言語を採用したとしても算出される開発規模は同じになります。開発プロジェクトのコストやスケジュール等は見積もられた開発規模によって決まるので、見積りの正確さは、開発プロジェクトの成否に大きな影響を及ぼします。したがって、開発に用いるプログラム言語に依存せずに見積りが行えることは、K社にとってのメリットとなります。
∴開発に用いるプログラム言語に依存しない見積りが行えること
広告
設問2
入庫管理システムのデータファンクション及びトランザクションファンクションの一覧について,(1),(2)に答えよ。
- 表4中のa,bに入れる適切な字句を答えよ。
- 表5中のc,dに入れる適切な数値,又は字句を答えよ。
解答例・解答の要点
- a:EIF
b:ILF
- c:8
d:EO
解説
- 〔aについて〕
表4はデータファンクションの一覧ですので、表3でデータファンクションに分類されているILF、EIFのいずれかが入ります。
図1のDFDを見ると、"入庫指示"は生産管理システムから出力されるデータであることがわかります。入庫管理システムでは"入庫処理"にて"入庫指示"の参照だけを行い、作成・更新・削除をすることはないので、外部インタフェースファイルを表す「EIF(External Interface File)」が適切です。
∴a=EIF
〔bについて〕
こちらもILF、EIFのいずれかが入ります。
図1のDFDを見ると、"在庫"は"入庫処理"により作成・更新され、"実績集計"・"数量照会"・"金額照会"の3つのトランザクションファンクションによって参照されていることがわかります。入庫管理システムによって、作成・更新・参照・削除されるデータなので、内部論理ファイルを表す「ILF(Internal Logical File)」が適切です。
∴b=ILF - 〔cについて〕
まず、データ項目数の積算ルールについて整理します。- 見出しや定数項目などの固定値項目を除く
- アプリケーションに出入りする可変なデータ項目である
- 同じデータ項目が複数回繰り返し表示される場合は最初の1回とする
- データストアの一つの項目が,画面設計の都合によって複数の表示項目に分割される場合も,データ項目数は1とする
- ボタンなどの処理のトリガは,まとめて1つとする
- 各種メッセージについても,まとめて1つとする
〔dについて〕
表5はトランザクションファンクションの一覧ですので、表3でトランザクションファンクションに分類されているEI、EO、EQのいずれかが入ります。
表1の"実績集計"の処理概要には「期間内の入庫の数量,金額をそれぞれ集計し,在庫数量と共に出力する」とあります。計算などの処理ロジックを通した出力処理なので3つのうち「EO(External Output)」が適切です。
∴d=EO
広告
設問3
表6中のe~jに入れる適切な数値を答えよ。ここで,i,jは,表中の 部分に数値を補完して算出すること。
解答例・解答の要点
- e:0
f:1
g:5
h:1
- i:58
j:46.4
解説
- 設問2で完成させた表4及び表5の値を反映していくだけです。〔eについて〕
表5を見ると、難易度"低"の"EO"は存在しないので0個です。
〔fについて〕
表5を見ると、難易度"中"の"EO"は"実績集計"のみなので1個です。
〔gについて〕
表4を見ると、難易度"低"の"ILF"が5つあるので5個です。
〔hについて〕
表4を見ると、難易度"低"の"EIF"は"入庫指示"のみなので1個です。
∴e=0
f=1
g=5
h=1 - (1)と同じ要領で残りのファンクション(EQだけです)を算出表に割り当てていくと以下のようになります。ファンクションごとの合計値は、ファンクションタイプと難易度ごとに個数と重み付け係数を掛けて足し合わせて求めるので、
- EIの合計値:1×4=4(表に記載済)
- EOの合計値:1×5=5
- EQの合計値:3×3=9
- ILFの合計値:5×7=35
- EIFの合計値:1×5=5
4+5+9+35+5=58
∴i=58
最終的なファンクションポイントは、未調整ファンクションポイントに調整係数(0.8)を掛け算して求めるとあるので、[j]に入る値は、
58×0.8=46.4
∴j=46.4
広告
広告