HOME»基本情報技術者平成29年春期問題»午後問5
基本情報技術者過去問題 平成29年春期 午後問5
⇄問題文と設問を画面2分割で開く⇱問題PDF問5 ソフトウェア設計
購買システムにおける注文書出力処理に関する次の記述を読んで,設問1~3に答えよ。
電気製品を製造しているJ社では,製造部門が要求する電子部品(以下,商品という)を購買部門が発注する際に利用する購買システムの構築が進行中である。購買システムを利用するには,Webブラウザを使用する。J社の購買部門の社員(以下,購買担当者という)は社内ネットワーク経由で,仕入先の営業員はインターネット経由で,それぞれ購買システムを利用する。
〔購買システムを利用した発注業務の説明〕
〔注文書出力処理の説明〕
出力準備処理とは,注文書に含める注文情報を出力順に並べて出力ワーク領域に格納するものである。出力ワーク領域は,1回の注文書出力処理で出力される注文書に含まれる注文情報を格納する2次元配列である。出力ワーク領域[i][j]は,iが注文書のページを表し,jは注文書のページ内での出力順を表している。iもjも1から始まる。
出力準備処理は処理を開始するとき,注文書出力画面で選択された注文情報を,購買グループ名,希望納期,注文番号,注文枝番の順にそれぞれ昇順に整列して格納した1次元配列である注文データ[ ]と,注文情報件数を引数で受け取る。ここで,注文データ[1]には,注文書の1ページ目の第1番目に出力する注文情報が格納されている。
電気製品を製造しているJ社では,製造部門が要求する電子部品(以下,商品という)を購買部門が発注する際に利用する購買システムの構築が進行中である。購買システムを利用するには,Webブラウザを使用する。J社の購買部門の社員(以下,購買担当者という)は社内ネットワーク経由で,仕入先の営業員はインターネット経由で,それぞれ購買システムを利用する。
〔購買システムを利用した発注業務の説明〕
- 発注する全ての商品は,商品ごとに一意になる商品番号で管理する。商品ごとに,仕入先は1社に定まっている。
- 購買部門は三つのグループ(以下,購買グループという)に分かれており,購買グループごとに取り扱う商品が異なる。
- 各購買担当者は,自グループが取り扱う商品について,製造部門からの要求を取りまとめ,仕入先ごとに分類し,発注登録を行う。このとき,仕入先ごとに,一意の注文番号が割り当てられ,商品ごとに001から始まる注文枝番が連番で割り当てられる。
〔注文書出力処理の説明〕
- 仕入先の営業員が注文書を出力する操作の流れを,図2に示す。
- 仕入先の端末の注文書出力画面には,まだ注文書として出力していない注文情報だけが,図3に示すように注文番号ごとの注文枝番ごとに一覧で表示される。
- 購買システムから出力される注文書は,購買グループごとに作成され,注文情報が希望納期,注文番号,注文枝番の昇順に並んでいる。注文書の各ページには,最大5件の注文情報が含まれる。注文情報は,購買グループ名,希望納期,注文番号,注文枝番,商品番号,数量,納品場所,購買担当者などを要素としてもつ。
出力準備処理とは,注文書に含める注文情報を出力順に並べて出力ワーク領域に格納するものである。出力ワーク領域は,1回の注文書出力処理で出力される注文書に含まれる注文情報を格納する2次元配列である。出力ワーク領域[i][j]は,iが注文書のページを表し,jは注文書のページ内での出力順を表している。iもjも1から始まる。
出力準備処理は処理を開始するとき,注文書出力画面で選択された注文情報を,購買グループ名,希望納期,注文番号,注文枝番の順にそれぞれ昇順に整列して格納した1次元配列である注文データ[ ]と,注文情報件数を引数で受け取る。ここで,注文データ[1]には,注文書の1ページ目の第1番目に出力する注文情報が格納されている。
設問1
図5中の に入れる正しい答えを,解答群の中から選べ。
a,b に関する解答群
- 0
- 1
- 2
- 3
- 4
- 5
- 50
解答選択欄
- a:
- b:
解答
- a=イ
- b=カ
解説
注文書は、購買グループごとに作成され、各ページに最大5件の情報が含まれます。つまり、購買グループが切り替わったとき、および、1つのページに5件分が格納されたときには改ページ処理を行う必要があります。改ページ処理とは、ページ変数を+1し出力件数を初期化する処理です。設問の流れ図では、最初の分岐で購買グループの切り替わりを判定し、右側の分岐で格納ページが最大数に達したかを判定しています。〔aについて〕
どちらの「出力件数←a」の後にもページ変数を+1する処理があることから、この処理は改ページ処理に伴う"出力件数"の初期化処理だとわかります。各ページにおける出力順(出力ワーク領域[i][j]のj)は1から始まるので、"出力件数"は1に戻されます。
∴a=イ:1
〔bについて〕
分岐判定が"Yes"の場合には"出力件数"(出力順)を1つ増やす処理、"No"の場合に改ページ処理が行われていることに着目します。改ページ処理が行われるのは、現在のページ内における注文情報数を表す"出力件数"が最大数である5件に達したときです。つまり"出力件数"が1~4では"Yes"、5では"No"となるような式でなければなりません。これを満たす条件式は「出力件数<5」です。
∴b=カ:5
どちらの「出力件数←a」の後にもページ変数を+1する処理があることから、この処理は改ページ処理に伴う"出力件数"の初期化処理だとわかります。各ページにおける出力順(出力ワーク領域[i][j]のj)は1から始まるので、"出力件数"は1に戻されます。
∴a=イ:1
〔bについて〕
分岐判定が"Yes"の場合には"出力件数"(出力順)を1つ増やす処理、"No"の場合に改ページ処理が行われていることに着目します。改ページ処理が行われるのは、現在のページ内における注文情報数を表す"出力件数"が最大数である5件に達したときです。つまり"出力件数"が1~4では"Yes"、5では"No"となるような式でなければなりません。これを満たす条件式は「出力件数<5」です。
∴b=カ:5
設問2
K君は,出力準備処理のホワイトボックステストを実施するために,図6に示す注文データのテストデータを作成した。次の記述中の に入れる正しい答えを,解答群の中から選べ。 図6の注文データのテストデータを利用して,出力準備処理をテストしたときに,図5のcの処理が行われなかった。K君は,全ての処理を実行するために,d
c に関する解答群
- ①
- ②
- ③
- ④
d に関する解答群
- 購買グループ名がAグループである注文情報を1件追加した
- 購買グループ名がBグループである注文情報を3件追加した
- 購買グループ名がCグループである注文情報を2件追加した
- 購買グループ名がCグループである注文情報を3件追加した
解答選択欄
- c:
- d:
解答
- c=ウ
- d=イ
解説
〔cについて〕
K君が用意したテストデータは、購買グループごとの注文情報数が全て5件未満であるため、1ページ内の注文情報が5件に達した際の処理、すわなち③が行われません。
∴c=ウ:③
〔dについて〕
③を実行させるためには、いずれか購買グループの注文情報数を5件以上にする必要があります。これを満たす「イ」が正解です。
K君が用意したテストデータは、購買グループごとの注文情報数が全て5件未満であるため、1ページ内の注文情報が5件に達した際の処理、すわなち③が行われません。
∴c=ウ:③
〔dについて〕
③を実行させるためには、いずれか購買グループの注文情報数を5件以上にする必要があります。これを満たす「イ」が正解です。
- Aグループが1件増えて4件になります。5件未満なので③は実行されません。
- 正しい。Bグループが3件増えて5件になります。これにより③が実行されます。
- Cグループが2件増えて3件になります。5件未満なので③は実行されません。
- Cグループが3件増えて4件になります。5件未満なので③は実行されません。
設問3
出力準備処理のブラックボックステストを行う場合,K君が実施すべきこととして適切な答えを,解答群の中から選べ。
解答群
- 流れ図の全ての分岐処理が実行されたことを確認する。
- 入力として渡した引数の注文データ,注文情報件数の内容が仕様どおりであることを確認する。
- 入力として渡した引数の内容に対して出力ワーク領域の内容が仕様どおりであることを確認する。
解答選択欄
解答
- ウ
解説
ブラックボックステストは、システムやプログラムの内部構造を考慮せずに、入力とそれに対する出力の関係だけに注目して行われるテストです。様々な入力に対して仕様書どおりの出力が得られるかどうかを確認することを目的とします。
- ブラックボックステストでは処理の内部構造を考慮しません。
- ブラックボックステストでは誤ったデータを与えたときにエラーが正しく出力されるかなども確認する必要があります。
- 正しい。