令和4年春 応用情報午後解説

2022年4月23日

広告

問1:通信販売サイトのセキュリティインシデント対応
問2:化粧品製造販売会社でのゲーム理論を用いた事業戦略の検討
問3:パズルの解答を求めるプログラム
問4:クラウドサービスの活用
問5:ネットワークの構成変更
問6:クーポン発行サービス
問7:ワイヤレス防犯カメラの設計
問8:システム間のデータ連携
問9:販売システムの再構築プロジェクトにおける調達とリスク
問10:サービスマネジメントにおけるインシデント管理と問題管理
問11:販売物流システムの監査

問題文はIPA公式サイトをご確認ください。

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2022r04.html#04haru

※あくまで個人の経験と見解に基づく内容であり、IPAの公式解答と一致することを保証するものではありません。

問1:通信販売サイトのセキュリティインシデント対応

解答

設問1 a:プラグイン or アドイン
設問2 b:WAF
設問3 管理するべき内容:イ,ウ(製品の名称とバージョン)
設問4 (1) ゼロデイ攻撃 or ゼロデイ脆弱性
    (2) ウ(脆弱性の回避策を調査)
    (3) ア(過検知)
    (4) インシデント対応チーム
    (5) SIEM

解説

設問1

CMSには追加機能を簡単に実装する仕組みとしてプラグインやアドオンが提供されています。
しかし、CMSの脆弱性を悪用する攻撃の中には、管理者が意図せず有効になっており管理されていないプラグインやアドオンに存在する脆弱性を悪用する場合があります。
そこで使わないCMSのプラグインやアドオンは事前に停止しておくことで、通信販売サイトの不正アクセス対策を実施することができます。

設問2

WEBアプリケーション特有の攻撃を検知、防御する仕組みを提供するのはWAF(Web Application Firewall)です。
UTM(Unified Threat Management)にもWAF機能が含まれることがありますが、問題文表1の項番6はCMSサーバ上に限定しているのでWAFがより適切な解答となります。

設問3

修正プログラムは脆弱性のあるOS、ミドルウェア及びCMSに適用するために公開されます。
一般的に修正プログラムを適用するとバージョン番号が上がります。この仕組みを活用することでソフトウェアのバージョン番号を確認するだけで、修正プログラムが適用済みなのかそうでないのかを把握できるようになっています。
また、バージョンだけでなく製品の名称も管理することで、何の製品を利用しているかを把握することができます。
販売価格、ライセンスはともに修正プログラムを適用するための判断材料にはなりません。
よって、イ(バージョン)とウ(名称)となります。

設問4

(1):修正プログラムのリリース前に脆弱性を悪用する攻撃はゼロデイ攻撃(ゼロデイ脆弱性)と呼びます。

(2):脆弱性の回避策とは、修正プログラムのリリース前や修正パッチの適用自体がシステムの稼働に影響する(サーバー再起動が必要など)場合に実施する暫定措置のことです。
回避策を実装することで脆弱性の悪用防止ができますが、あくまで一時的な処置なので恒久対策としては修正プログラムの適用が必要です。下線③では暫定対策が問われていますので解答はウ(脆弱性の回避策を調査)です。

(3):正常な通信を不正な通信と判定してしまい遮断することを過検知(またはフォールスポジティブ)と言います。未検知は不正な通信を正常な通信と判定して透過すること、予兆検知はログデータなどから将来的な事象の発生が予見されることです。よって解答はア(過検知)です。

(4):〔セキュリティインシデント対応で確認した事象と課題〕に”セキュリティインシデントを専門に扱い、インシデント発生時の情報収集と各担当えのインシデント対応の指示を行うインシデント対応チームを設置”とあります(一般的にCSIRTと呼ばれます)。各担当へ対応指示を行う組織が専門的にインシデントの影響度を判断するルールを作成することで、表2項番3の判断と指示のルールを明確にします。
”セキュリティ担当”でも正答に見えますが、担当はあくまで個人を指す言葉であり問題文で問われている組織名称とは異なります。

(5):あらゆる機器やソフトウェアのログを分析しセキュリティインシデントの兆候や痕跡を検出し通知するシステムはSIEM(Security Information and Event Management)があります。

問2:化粧品製造販売会社でのゲーム理論を用いた事業戦略の検討

解答

設問1 (1)イ (2)売上高の変動が営業利益の変動に直結する(19文字)
設問2 (1)景気の見通しが不透明で営業利益の予測は信頼性が高いから(27文字)
    (2)a:オ(マクシミン原理) b:イ(ナッシュ均衡)
    (3)粗利益率が高い中高価格帯の割合が増えるため(21文字)
設問3 (1)固定費が減少し変動費が増加する(15文字)
    (2)商品を試してから購入したいという顧客ニーズが強い(24文字)

解説

設問1

(1) 固定費とは売り上げの増減に関係なく発生する費用や原価のことです。正社員の人件費は売り上げに伴い増減するわけではありませんので、固定費となります。他の選択肢はいずれも売り上げの増減に伴い変化する費用や原価です。

(2) 〔A社の事業の状況と課題〕には”景気が悪化しても安定した営業利益を確保することを今後の経営の事業方針とした”とあります。変動費が少なく固定費が多い状態だと、売り上げが減少しても費用総額はあまり変化しないため利益確保が難しくなります。つまり、売上高の変動が営業利益の変動に直結するので、安定した営業利益を確保することが難しくなります。

設問2

(1) ゲーム理論は相手がどのような戦略をとるか分からないときに自分の利益を最大化する選択を検討する場合に向いています。今回、戦略がどうなるか分からない相手とは景気の見通しであり、自分の利益とは営業利益の予測のことです。文字通り”景気の見通しは不透明”と”営業利益の予測は、過去の知見から信頼性の高いデータに基づいている”という記述がありますので、この2つの特徴を記述します。

(2) 今回の戦略検討は”景気が悪化しても安定した営業利益を確保”が目的ですので、景気が悪くても利益を最大化するマクシミン原理で行動を決定します。また、行動を変更するとお互いにどちらも利益が減少するため行動が安定する状態をナッシュ均衡と言います。

(3) 市場シェアの低下は利益の低下には必ずしもつながりません。利益率の高い市場割合が増え、低い市場割合が減少すると全体市場シェアが低下しても利益は増えます。代表的な例が”不採算事業からの撤退”です。事業撤退することで市場シェア・売上高ともに減少しますが、赤字事業が無くなるので利益は増加します。

設問3

(1) 〔A社の事業の状況と課題〕には”工場及び直営店を自社で保有し”とあり、”これらの設備にかかる費用・・・を投入してきたので、総費用に占める固定費の割合が高い”とあります。自社製造からOEMメーカに製造を委託すると、生産量に応じた費用をOEMメーカに支払う(=変動費)ことになり、自社工場の閉鎖によって設備費用(=固定費)が減少します。また、ドラッグストアやコンビニエンスストアで販売することで販売数に合わせた仕入れ(=変動費)が増加し、直営店の設備費用(=固定費)が減少します。

(2) 問題文冒頭に”化粧品販売では実際に商品を試してから購入したいという顧客ニーズが強い”とあります。通常、ECサービスの販売によって店舗売上は減少しますが、ECサービスでは消耗品である化粧品を試すことができないため顧客は店舗で試すことになります。

問3:パズルの解答を求めるプログラム

解答

設問1 ア:board[x]が0ではない イ:x+1 ウ:check_ok(n,x) エ:0
設問2 オ:div(x,9)*9 カ:board[row_top+i]がnと等しい
    キ:mod(x,9) ク:board[column_top+9*i]がnと等しい
    ケ:mod(div(x,9),3)*9
設問3 処理A:データ構造Zを別の変数に保存する(16文字)
    処理B:別の変数に保存したデータ構造Zを復元する(20文字)

解説

設問1

アには図5のコメントにある通り、”対象のマスが空白かどうか”を判定する条件式が必要です。〔盤面の表現〕に”空白の場合は0を格納する”とありますので、空白ではない条件は”board[x]が0ではない”となります。
イには次の探索をする処理が必要です。solve(x)関数は処理の中で自分自身を実行する再帰処理をしていますので、次のマスを示す”x+1”を関数の引数として渡します。
ウでは〔パズルを解く手順〕の(4)”数字を入れたときに、その状態がパズルのルールにのとっているかどうかをチェックする”という処理が入ります。表1より、check_ok(n,x)関数がその処理をすることがわかります。図5の変数と照らし合わせて、check_okの引数はn,xという変数名で問題ないことを確認しておきましょう。なお、”check_ok(n,x)がTrueと等しい”でも間違いではありませんが、一般的にif文は条件式がtrueかfalseかだけで処理を決定しますので、戻り値がbool型の場合は等しいかどうかの判定をしなくてもエラーにはなりません。
エはマスの初期化処理が入ります。マスの初期化とは、〔パズルを解く手順〕の(4-2)に”入れる数字がない場合には、マスを空白に戻す”とありますので、空白を意味する0をboard[x]に代入します。

設問2

オはあるマスにおける左端のマスを示す数字を考えます。下図を参考にすると、左端マスの数字は全て9の倍数であることが分かります。このことから、あるマスの段数*9が左端マスの数字になります。段数を求めるにはマス番号を9で割った商である”div(x,9)”を計算すれば分かります(30⇒3*9+3⇒商は3⇒3段目)。あとは段数*9すればよいので、”div(x,9)*9”となります。

カの条件判定は”同じ横1行に同じ数字があるかどうか”を判定します。もしあるならば、その数字はパズルのルール違反(横1行に同じ数字があってはならない)となることを示すfalseを返します。先ほどの計算でrow_topが分かりましたので、そこから横に1ずつずらしてnと同じ数字があるかどうかチェックします。よって答えは”board[row_top+i]がnと等しい”となります。

キはあるマスの一番上を示す数値を代入します。1行目の数値は0~8で、任意のマスの数値を9で割った余りに等しいことが分かります。よって答えは”mod(x,9)”です。
クはカと同様に縦方向に同じ数字があるかどうかチェックし、ある場合はルール違反としてfalseを返します。縦方向の走査はculmn_topに9を繰り返し足していくことで実現できます。よって答えは”board[column_top+9*i]がnと等しい”となります。

ケの処理では、あるマス番号のときに枠内の左上端を代入します。ここでは仮にマス番号が41の場合を想定すると、欲しい番号は30です。図6にすでに記載されているx-mod(x,3)をすると、41-2=39となるため横方向の移動がされています。よってケに必要なのは縦方向の移動です。仮に30、39、48から30を求めるにはそれぞれ0、9、18を引けばよいことが分かります。もしxが30,31,32だとマイナス0、39,40,41だとマイナス9、48,49,50だとマイナス18です。この関係を表にまとめると下記のようになりますが、xの数値はx(分解)の項目のような特徴があることが分かります。ここでは3,4,5を取り出すためにdiv(x,9)を計算し、最終的にはdiv(x,9)を3で割った余りを計算すると0,1,2という数値が得られますので、これに9倍します。結果は”mod(div(x,9),3)*9”となります。

設問3

〔パズルを解く手順〕の変更点として(3-1)に”データ構造Zの更新処理(該当する数字の要素を0に更新)”、(3-2)に”一つ前に数字を入れたマスに戻り、戻ったマスで取得したリストの次の数字から再開”とあります。なにもしなければ(3-1)によってデータ構造Zの該当する数字の要素は0に上書きされますが、(3-2)では一つ前に数字を入れたマスに戻ります。戻るためにはデータ構造Zが更新される前に、元の要素を消えないように確保しておく必要があります。また、確保しておいたデータ構造Zの要素を復元しないと(3-2)で一つ前の数字を入れたマスがどこのマスなのかが判定できない状態となります。

問4:クラウドサービスの活用

解答

設問1 a:スケールアウト b:関数 c:キャッシュ
設問2 (1)OSやミドルウェアのメンテナンスを実施しなくてよいため(27文字)
    (2)d:CDN
    (3)処理実行時間上限に到達して処理が停止する可能性があるため(28文字)
設問3 e:8 f:2600 g:1800
設問4 (1)h:FaaS (2)20分ごとに名刺参照処理を自動実行するプログラムを実装する(29文字)

解説

設問1

スケールアウトとは何らかの負荷が高い処理を行う場合に、処理を行うサーバーの数を増やして対応することです。PaaSでは処理するサーバーの数を柔軟に変更することが可能です。類似用語でスケールアップがありますが、こちらはサーバーの性能を上げて対応することです。サーバーのスペック(CPUやメモリなど)はIaaSでは変更できますが、PaaSでは変更できません。
PaaSでは開発したプログラムを全てクラウドサービスで実行しますが、FaaSの場合はプログラム中の特定の処理や命令だけをクラウドサービスで実行します(REST APIのようにプログラム中でAPIを呼び出します)。よって、プログラム中で関数(機能や命令なども正答)として実装すればよいです。
CDNはWebコンテンツを効率よく配信する仕組みのことです。一度読みこんだデータは更新されるまでキャッシュとして保持することで、ブラウザからの要求に速く応答することが可能です。

設問2

(1) IaaSとPaaS/FaaSの運用コスト面での違いについて着目します。表2のIaaSの特徴に”OSやミドルウェアのメンテナンスをサービス利用者側が実施する必要がある”と記載されており、まさしく運用コストに関する事項です。この作業がPaaS/FaaSでは実施しなくてよいので、運用コスト面でメリットが生まれます。

(2) 表2のCDNの特徴に”ストレージ・・・からのコンテンツをインターネットに配信する”とあります。このことから、ストレージに保存されているスクリプトファイルもCDNを介して配信されることが分かります。

(3) 表2にあるIaaSとPaaS/FaaSの制約事項の違いを比較すると、PaaS/FaaSには”1トランザクションの最大実行時間は10分”という事項があります。登録データ量が増加するということは、1日1回実行するバッチ処理の時間が長くなる(BIツールに連携するデータが多くなるため)ことが考えられます。また、表1の性能目標値でバッチレスポンスは30分以内となっており、処理時間が10分を超過することが想定されているとも考えられます。もしPaaS/FaaSで制限値の10分に到達するとバッチ処理が停止する可能性があります。

設問3

表1より名刺参照処理は1時間に4000件実行され、表3より性能目標値を満たすには1台の参照処理は1時間に500件までとあります。このことから、4000÷500=8台の処理能力が必要となります。
名刺登録処理と参照処理は別々の時間帯ではなく同時間帯に動作するため、登録処理の5台と参照処理の8台を合計した13台の処理能力が必要です。よって、1時間あたりの費用は表2より13台×200円=2600円となります。FWの50円/時間も費用に含めることも考えられますが、この設問ではPaaSとFaaSの料金比較が目的です。どちらを選択してもFWの費用は変わりませんので、試算には含まなくても問題ありません。
FaaSを利用する場合、登録処理の1時間あたりCPU処理時間は1000件/時間×50ミリ秒/件=50,000ミリ秒。参照処理の1時間あたりCPU処理時間は4000件/時間×10ミリ秒/件=40,000ミリ秒。この2つを合計すると90,000ミリ秒となり、CPU費用の0.02円/ミリ秒をかけて1時間あたり1800円となります。また、1時間で10万リクエストは超えない(1時間の処理件数は5000件)ので制約事項にある20円は加算する必要ありません。

設問4

(1) 表2のFaaSの制約事項には”20分間一度も実行されない場合、応答が10秒以上掛かる場合がある”とあります。また、〔オンラインレスポンスの課題と対策〕には”早朝や深夜にシステムを利用した際”とあり、この時間帯はシステムの利用者が少なくトランザクションの実行数もほとんどないことが想定されます。これらのことからFaaSの制約事項が原因であると推測されます。

(2) この制約事項をクリアするにはクラウドサービスを変更しなければなりませんが、それには大きな手間がかかります。今回は20分間トランザクションが実行されないことで応答が10秒以上かかっているので、20分以内に1回はトランザクションを実行する仕組みを実装すれば解消します。このように根本原因の解決ではないけれども不具合を解消する方法を回避策と呼びます。

問5:ネットワークの構成変更

解答

設問1 (1)宛先IPアドレス:プロキシサーバ 送信元IPアドレス:営業所のNPC
    (2)ルータ、FW、プロキシサーバ
    (3)a:外部DNSサーバ b:プロキシサーバ c:社内DNSサーバ
設問2 ISサーバ
設問3 (1)宛先IPアドレスがq-SaaSのネクストホップをIPsecルータ1にする経路(38文字)
    (2)d:q-SaaS e:営業所LAN

解説

設問1

(1) 〔P社のネットワーク機器の設定内容と動作〕に”外出先及び社内のNPCからMサービス及びインターネットへのアクセスは、プロキシサーバ経由で行う”と記述があります。このことから、図2の(あ)の宛先IPアドレスはプロキシサーバとなります。Mサービスが正答に見えますが、仮に宛先IPアドレスがMサービスのIPアドレスになっていると、そのパケットはプロキシサーバに転送されないことになります。
送信元IPアドレスは営業所のNPC、IPsecルータ2、IPsecルータ1が解答の候補になります。ここで表1のFWに設定されている通信を許可するルール(抜粋)を確認します。項番6には”送信元が社内のNPCで宛先がプロキシサーバの通信が許可”されています。このことから、(あ)の通信は送信元が社内のNPCでなければ通信できないことになり、図2の表記では”営業所のNPC”となります。

(2) 図2から外出先のNPCがインターネット上のWebサーバにアクセスするときはルータ、FW、プロキシサーバを経由することが分かります。図1を見るとIPsecルータ1とL3SWを経由する経路もありますが、図2ではルータ経由になっていますのでIPsecルータ1は経由しないことが分かります。

(3) TCP/UDP53ポートといえばDNSです。〔P社のネットワーク機器の設定内容と動作〕に”外部DNSサーバは、DMZのサーバーのグローバルIPアドレスを管理する”とあります。このことから、インターネットからDMZにあるプロキシサーバにアクセスするには、プロキシサーバのIPアドレスを管理する外部DNSサーバへインターネット(any)からアクセスできる必要があります。よって項番1のaは”外部DNSサーバ”となります。
項番4のTCP80,443といえばHTTPとHTTPS、つまりブラウザのアクセスです。図2よりブラウザのアクセスはプロキシサーバが行うこととなっているため、bは”プロキシサーバ”となります。社内のNPCでも正しいように見えますが、社内のNPCはプライベートIPアドレスです。インターネットのWEBサーバはどこにあるかも分からないプライベートIPアドレス宛にパケットを返信することはできません。
項番5は項番1と同じくDNSですが、アクセス経路が内部LANからDMZです。〔P社のネットワーク機器の設定内容と動作〕に”社内DNSサーバは・・・管理外のサーバの名前解決要求は、外部DNSサーバに転送する”とあります。このことから、cは”社内DNSサーバ”となります。社内のNPCでも正しそうに見えますが、”本社及び営業所のNPCは、社内DNSサーバで名前解決を行う”とあるため、名前解決の対象が内部LANかインターネットかに関わらず社内のNPCは社内DNSサーバで名前解決をするのであって、外部DNSサーバでは行いません。

設問2

〔P社のネットワーク機器の設定内容と動作〕に”社内のNPCからISサーバへのアクセスは、プロキシサーバを経由せずに直接行う”とあります。このことから、NPCにはWebブラウザのプロキシ例外設定にISサーバのFQDNが設定されていることが予想されます(もし設定されていないとNPC⇒FW⇒プロキシ⇒FW⇒ISサーバとなりプロキシを経由することになる)。この例外設定はISサーバ廃止に伴い不要となるため、削除するFQDNはISサーバとなります。

設問3

(1) 〔新ネットワーク構成と利用形態〕に”社内のNPCからMサービス、Gサービス及びインターネットへのアクセスを、プロキシサーバ経由で行うことにした”とあるため、L3SWの経路表にはq-SaaS宛のパケットがプロキシサーバに転送される経路があると考えられます。図4よりq-SaaSにアクセスする本社のNPCはNPC⇒L3SW⇒IPsecルータ1⇒q-SaaSという経路となるため、”宛先IPアドレスがq-SaaSのネクストホップをIPsecルータ1にする経路”を追加する必要があります。

(2) ネットワーク構成を変更する前はIPsecルータは営業所LANと内部LANのパケット通信のみを想定して設定されています。しかし、構成変更後は図4の経路を実現するために、L3SWから受け取った宛先IPアドレスがq-SaaSのパケットをインターネットに配送する必要があります。よって、表2項番1のdは”q-SaaS”となります。
次に、ネットワーク構成変更後も営業所LANの機器は依然としてDNS、q-SaaS以外のWebサーバ宛のパケットが本社のIPsecルータ1を経由します。これらの戻りパケットはIPsecルータ1を通りIPsecルータ2から営業所LANという経路で転送されるため、IPsecルータ1から営業所LANへ転送する処理が必要となります。よって項番2のeは”営業所LAN”となります。営業所のNPCやIPsecルータ2と書きたいところですが、それでは単一の機器にのみパケットを転送してそれ以外の機器には転送しないことになり、通信できない機器が発生してしまうので誤答となります。

問6:クーポン発行サービス

解答

設問1 (1)a:施設コード b:プランコード c:施設→利用プラン(aとbは順不同)
    (2)d:ALTER TABLE
    (3)1枚のクーポンは一つの予約だけに利用できる
設問2 e:クーポン発行連番
設問3 f:SET 発行済枚数 = 発行済枚数+1 g:発行上限枚数
設問4 ②:RU ③:C

解説

設問1

(1) 図1の予約エンティティには外部キーとして会員コード、クーポンコード、クーポン発行連番が書かれており、会員とクーポン明細エンティティとのリレーションが接続されています。他のリレーションとして利用プランエンティティがありますが、利用プランの主キーである施設コードとプランコードが予約には含まれていません。これでは1対多のリレーションを結べないので、a、bにはそれぞれ施設コードプランコードが外部キーとして入ります。

(2) 既存のテーブルに何らかの制約を追加する場合はALTER TABLE句を使います。

(3) 予約テーブルのクーポンコードと発行連番がUNIQUEとなることで、ある予約と紐づくクーポン明細が1対1になります。これと全く同じ意味を示す要件が表2のクーポンの利用に”1枚のクーポンは一つの予約だけに利用できる”とあります。

設問2

図4のSQLにあるINSERT句を分解すると、それぞれINSERTする要素は下記のように対応します。

黄色部分のSELECT句では発行済枚数取得というテーブルを選択していますが、発行済枚数取得テーブルにどんなレコードが登録されるかはここに書いてあります。

この部分のSQLはクーポン明細テーブルから何かの最大値を取得しようとしていることが分かります。ここでクーポン明細テーブルにはおそらく次のようなデータがあることが想像されます。

クーポンコードクーポン発行連番獲得会員コード獲得制限_1枚限り
C0011U007NULL
C0012U004NULL
C0013U012NULL
C0021U007Y
C0022U001Y

この場合に例えばC001のクーポンの発行済枚数を調べるには、クーポン発行連番の最大値を確認すればよいことが分かります。また、クーポン未発行(発行数が0)のクーポンはクーポン明細テーブルにレコードが記録されないため、MAX(クーポン発行連番)はNULLになります。NULLに+1してもNULLとなり計算ができませんので、NULLを0に置き換えるCOALESCEという処理が必要になります。

設問3

〔クーポン獲得処理の連番管理方式の見直し〕には”L主任は、クーポン管理テーブルに対して初期値が0の”発行済枚数”という列を追加し”とあります。このことから、クーポン管理テーブルは下記のようになっていると考えられます。

クーポンコード発行上限枚数発行済枚数
C001100

図5のSQLでは”発行済枚数が発行上限枚数を超えなければ発行済枚数を1追加した数値に更新”という処理が必要です。この処理を実現するためにfには発行済枚数を+1した数値をSET、gには発行済枚数が発行上限枚数を超えない、という条件を割り当てます(もし、上記の例で発行済枚数が10の状態で図5のSQLを実行しても、UPDATEするレコードが0件となり発行済枚数は変わらず10のままです)。

設問4

図5のSQLを確認すると、クーポン管理テーブルにはUPDATEとFROM句がかかっていることと、クーポン明細テーブルにはINSERT句がかかっていることが分かります。このことからUPDATEはU(更新)、FROMはR(参照)、INSERTはC(追加)がそれぞれ対応します。

問7:ワイヤレス防犯カメラの設計

解答

設問1 t2-t1+Ta
設問2 60
設問3 (1)S1:遠隔撮影状態 S2:自動撮影状態
    (2)a:遠隔撮影開始イベント b:自動撮影タイマ通知イベント
    (3)c:①、③、⑦
設問4 (1)新しい動画データでバッファにあるサーバ送信前動画データが上書きされるため(36文字)
    (2)d:末尾(最後、終端など) e:先頭(最初など)
    (3)リングバッファ

解説

設問1

〔ワイヤレスカメラの機能〕に”撮影中に新たに動体を検知すると、・・・更にTa秒間撮影を行う”とあります。撮影を始めてから最後の動体検知まではt2-t1であり、さらにそこからTa秒間撮影なのでこれらの合計が解答となります。

設問2

遠隔撮影中でも撮影要求があると+60秒されるため10秒+5秒+60秒で75秒に思えますが、〔ワイヤレスカメラの機能〕に”通信障害が発生すると・・・障害発生中の送受信データは消滅”とあります。よって、スマホからカメラへの撮影要求も消滅したものと考えられるため無かったものとして合計撮影時間は60秒になります。

設問3

(1) S1の状態遷移イベントには”遠隔撮影開始”や”遠隔撮影終了”などのイベントが記載されています。表2を確認するとこれらのイベントは”スマホから遠隔撮影”という操作が絡んでいます。また、待機状態からの遷移なのでマルチ撮影状態になることはありません。よってS1は遠隔撮影状態になります。同じような理由からS2は自動撮影状態となります。

(2) 〔ワイヤレスカメラの機能〕に”動体を検知すると撮影を開始(自動撮影)”、”スマホから遠隔撮影開始が要求されると撮影を開始(遠隔撮影)”とあります。待機状態からS1(遠隔撮影状態)に遷移するイベントは表2を見ると”遠隔撮影開始イベント”があります。同様に待機状態からS2(自動撮影状態)に遷移するイベントは”動体検知イベント”があります。

(3) 表1の待機状態には”カメラ部には電力が供給されていない”とあります。このことから、待機状態からS2(自動撮影状態)に遷移するにはカメラに電力を供給しなければいけませんので①が必要です。〔ワイヤレスカメラの機能〕に”撮影を開始したとき、スマホに撮影を開始したことを通知”とあるので③も必要です。同様に”撮影を開始してからTa秒間撮影する”とあるので、タイマを設定する⑦も必要です。

設問4

(1) 〔ワイヤレスカメラの機能〕の自動撮影を確認すると、撮影開始時にバッファの先頭から書き込まれ、新たに動体検知すると同じくバッファの先頭から書き込まれることが分かります。新たな動体検知のタイミングによってはサーバ未送信の先頭のデータを新しい動画データで上書きされることがあり、異常な動画データが作成されてしまいます。

(2)、(3) バッファの続きから動画データを書き込み続けると、バッファのサイズは有限なのでいつかはバッファに書き込めなくなります。そこでバッファの末尾まで書き込んだらバッファの先頭からまた書き込むことで、バッファの容量に関係なく書き込み続けることができるようになります。このようなバッファの保存方法はバッファ書き込み位置が円環状に連続していることからリングバッファと呼ばれます。

問8:システム間のデータ連携方式

解答

設問1 (1)H社、S社、T社
    (2)発車日:20220510 発車時刻:1800 統合便コード:G0030110 空席数:8
設問2 ア、エ
設問3 エ
設問4 a:ヘッダレコードのデータレコード件数(17文字)
    b:空席情報ファイルのデータレコード件数(18文字)
設問5 空席情報がなければ空席情報nullを統合空席情報ファイルに書き込む(33文字)

解説

設問1

(1) 〔データ項目の検討〕に”統合便コードは、新バスターミナルシステム全体で使用する”とあります。このことから新バスターミナルを使う運行事業者を全て調査しなければなりません。〔運行事業者の概要と連携機能の有無〕から表5に記載されていない運行事業者を列挙します。

(2) 表5のG社例と表6を比較してそれぞれ検討します。統合便コードは8桁以下の場合にゼロパディングすることに注意してください(ゼロパディングとは指定の桁数より少ない場合、指定の桁数になるようにゼロを追加することです)。

設問2

CSVとXMLを比較すると下記のようになります。

このとき、1レコードあたりのデータサイズ(=文字数)はCSVの方が少ないことが分かります。また、XMLは文字列から値を取り出すために要素名を取り除かなければならないので、処理はCSVの方が高速です。
CSVと固定長を比較すると、固定長は初めから格納できる桁数や文字数を固定化していますがCSVは固定せず要素の区切りはカンマで表現します。よって自由度はCSVの方が高いと言えます。処理速度について、CSVはカンマを取り除いて値を取り出す処理が必要ですが、固定長は要素ごとに位置が決まっているのでこの処理が不要です。そのため、CSVのほうが固定長よりも処理が遅くなります。

設問3

Webページから特定の文字列や要素を抽出する手法のことをWebスクレイピングと言います(一般的に何らかの情報の集合体からある特徴に合致する情報を抜き出すことをスクレイピングと言います)。

設問4

〔空席情報取得機能と空席情報設定機能の処理について〕の(ⅰ)ではデータが全件転送されているかどうかの懸念を指摘しています。これを確認するには転送する前の件数と転送した後の件数が合致することを確認することになります。転送する前の件数は〔データ項目の検討〕に”空席情報ファイルは・・・ヘッダレコードには・・・データレコード件数を含める”とあります。転送した後の件数は、受け取った空席情報ファイルのデータ件数をカウントします。仮にここが不一致だった場合は全件転送されていないことになります(このように転送前と後の件数を比較する確認方法は一般的なデータ移行作業時によく使われる手法です)。

設問5

(ⅱ)では空席情報が取得できなかった場合に表示器に古い空席記号が表示されたままになることが指摘されています。これは表1の空席情報設定機能の概要にある”統合空席情報ファイルに空席数の情報がない便は、何もしない”という動作が原因です。この動作を回避するために、空席情報が無いことを示すnullを統合空席情報ファイルに書き込みます。

問9:販売システムの再構築プロジェクトにおける調達とリスク

解答

設問1 (1)(d) (2)ユースケース図
設問2 (1)イ (2)a:検収 b:著作権
設問3 (1)c:提出期限
    (2)定期的にD社がプログラムのレビューをする(20文字)
    (3)新しい販売システムの動作開始日と動作確認済みのブラウザ(27文字)

解説

設問1

(1) 労働者派遣において事前に面接を行い派遣社員を特定すること(特定行為)は労働者派遣法によって禁止されています。なお、逆に派遣社員が派遣先を訪問し業務内容などを確認することは禁止されていません。

(2) 本文に説明のあるような図法をユースケース図といいます。

設問2

(1) 〔外部委託先との開発委託契約〕に”ソフトウェア製造は、請負契約を結ぶ”とあります。請負契約は事前に合意した内容に対して成果物が反しないよう完成責任を問うことができます。アについて外部設計とソフトウェア製造は契約が異なるため引き続いてソフトウェア製造に従事させることはできません。ウについて請負契約における検収済み納品物に不具合が見つかった場合、一定期間内であれば契約不適合責任(旧:瑕疵担保責任)を問うことができます。エについて準委任契約は業務遂行そのものに対価が発生するのであって、完成責任はありません。同様にソフトウェア製造時に不具合がみつかっても契約不適合責任は問えません。

(2) 図1のスケジュールを確認すると、6月最終週はソフトウェア製造の期限です。また、”その後、支払い手続きに入る”とあるので、請負契約において納期と支払い手続きの間に実施することは検収となります(準委任契約の場合は検収と支払い手続きはリンクしません)。
プログラムやソフトウェアは契約に明記しない限り、著作権が発生し作成者または団体組織に帰属します。他社に著作権のある著作物は他のプロジェクトで再利用できないため、契約条文に著作権はD社に帰属することを明記します。

設問3

(1) 〔開発リスクの特定と対応策〕に”際限なく耳を傾けると外部設計の完了が遅れる”とあります。いつまでも要求事項の要件が確定しない状態が続くと外部設計に入ることができないため、要求事項を受け入れる期限をあらかじめ設定して営業部門と合意します。

(2) ここではZ社の業界慣習の理解不足からプログラムの品質が悪くなることが懸念されています。業界慣習をよく知っているのはZ社ではなくD社のため、定期的にプログラムのレビューをすることでD社の業界慣習をプログラムに反映して品質悪化のリスクに対応します。

(3) 動作確認済みブラウザと、新販売システムの動作開始日を公表しておくことで利用者は自分が利用しているブラウザが動作確認済みかどうか、未確認の場合はいつまでに対処すればよいかを判断して準備することができます。

問10:サービスマネジメントにおけるインシデント管理と問題管理

解答

設問1 a:ア(RFC)b:オ(合意文書)
設問2 (1)運用課課長に階層的エスカレーションをしなかった(23文字)
    (2)解決担当者が既知の誤りを調査して回避策を探す(22文字)
設問3 (1)既知の誤りが記録され解決策が特定されていること(23文字)
    (2)c:運用課だけで解決するインシデント(16文字)
    (3)イ(発生したインシデントの傾向を分析して、将来のインシデントを予防する方策を立案する)

解説

設問1

問題解決や運用改善のためにITサービスに対して変更を加える要求はRFC(Request For Change:変更要求)といいます。また、ITサービスマネジメントにおいて組織内の合意で取り交わされる文書は合意文書です。

設問2

(1) 表1の内容とL君の対応を比較すると、表1には”解決目標時間内にインシデントを解決できない可能性があると判断した場合は、運用課課長に階層的エスカレーションを行う”とありますが、〔Wサービスにおけるインシデントの発生とインシデントの対応手順の改善〕には”解決目標時間を超過してしまうと考えた”とあります。ところがL君は運用課課長に連絡をしていないので、対応手順に即していないことになります。

(2) 今回の対応では解決目標時間内に解決できなかったことが問題視されているので、解決時間短縮のための手順追加を考えます。一連の対応を振り返ると、インシデント発生からL君が回避策を受領するまでに1時間40分経過しています。また、今回のインシデントは再発インシデントであることから、L君自信で回避策を実施できていれば1時間40分の短縮になります。

設問3

(1) ここでは問題管理ファイルに記録されているのにも関わらず、問題の解決がされていないことを改善しようとしています。そこで早期に解決できる問題から優先的に取り組むことにしていますが、これは表2にある”問題の解決”という活動だけをすればよい問題が該当します。既知の誤りが記録されており解決策も特定されていれば、あとは問題の解決に取り組むだけとなります。

(2) 技術課にとってきめ細かい問題管理プロセスは業務負荷の増加につながりますが、問題管理の品質が向上することで運用課は機能的エスカレーションをしなくてもインシデント解決ができるようになります。運用課で解決できるインシデントの割合が増えることで、技術課は運用課への対応負荷を軽減できるメリットがあります。

(3) プロアクティブな活動とは能動的な活動であり、何かのイベントが起きて対応するのではなく何かのイベントが起きると予想して対応することです。ア、ウ、エはいずれもイベントの後に活動していますが、イは将来のインシデントを予想する能動的な活動です。

問11:販売物流システムの監査

解答

設問1 a:元データ b:外部倉庫システム
設問2 売上訂正処理は承認なく営業担当者が実施できるため(24文字)
設問3 c:出荷指図データ d:売上データ
設問4 e:カ f:キ g:ク h:エ

解説

設問1

日次バッチ処理の売上データ生成と売上訂正処理の不正リスクにおける違いについて問われています。日次バッチ処理はプログラムが元データを参照し自動で実行するのに対して、売上訂正処理は元データなく営業担当者が好きなように実施できます
表1項番2の監査要点は”顧客情報が適切に保護されているか”です。図1および〔予備調査の概要〕より、顧客の情報は出荷指図データに含まれ、出荷指図データは外部倉庫システムに送信されます。よって、外部送信システムにおいても顧客の情報が適切に保護されているか確認する必要があります。

設問2

売上訂正処理を不正に行われるリスクに対応しなければなりませんが、対応するうえでの現状の運用における問題点を問われています。営業担当者は不正な売上訂正処理を行う場合はその行為を隠蔽することが考えられますが、隠蔽できてしまうのは一切の承認なく売上訂正処理ができるという運用があるためです。

設問3

項番3の監査要点は”出荷指図に基づき倉庫で適切に出荷されているか”です。監査手続きでは”出荷指図データと売上データが一致しているか確かめる”とありますが、図1をみると出荷指図データと売上データの根拠の中に外部倉庫システムの出力はありません。よって、外部倉庫の出荷作業手続で何らかの不正があっても基本的に出荷指図データと売上データは一致してしまうことになります。

設問4

項番4の監査手続では売上データ生成のバッチ処理が確実に動作していることを確認していますが、売上データのインプットである倉庫の出荷作業結果が正しいかどうかを監査していません。つまり、前提として”出荷作業結果は正しい”ということが隠れています。外部倉庫で行われた出荷作業が正しいことを図1で表現すると”出荷指図データと出荷実績データが一致している”ということになりますが、この部分が監査手続きから漏れて前提となっています。
この前提を確かめるには、出荷指図データから生成される在庫データと出荷実績データから生成される倉庫残高データを照合することで実現できます。仮に倉庫で何らかの不正な出荷作業(物品の不正出荷)が発生すると、出荷指図データにはない出荷実績データが発生するため、在庫データと倉庫残高データを照合したときに不一致がみつかります

広告