令和4年春期試験午後問題 問8

問8 情報システム開発

⇱問題PDF
システム間のデータ連携方式に関する次の記述を読んで,設問1~5に答えよ。
 バスターミナルを運営するC社は,再開発に伴い,これまで散在していた小規模なバスターミナルを統合した,新たなバスターミナル(以下,新バスターミナルという)を運営することになった。
 C社が運営する新バスターミナルには,複数のバス運行事業者(以下,運行事業者という)の高速バス,観光バス,路線バスが発着する。このうち高速バスと観光バスは指定席制又は定員制であり,空席がない場合は乗車できない。乗車券の販売は,各運行事業者が用意する販売端末やホームページで行う。
 新バスターミナルでは,新バスターミナルシステムとして,バスの発着を管理する運行管理システム,及びバスの発車時刻,発車番線,空席の有無などを利用者に案内する案内表示システムを導入することになり,C社の情報システム部に所属するD君が,運行事業者から空席の情報を取得するデータ連携方式の設計を行うことになった。

〔新バスターミナルシステムの概要〕
 新バスターミナルシステムの概要を図1に示す。
pm08_1.png
 運行管理システムがもつ案内表示に関連する機能を表1に,案内表示システムがもつ機能を表2に,表示器の表示項目の例を表3に示す。
pm08_2.png
〔運行事業者の概要と連携機能の有無〕
 運行事業者データ連携機能の空席情報を取得する処理について,運行事業者が空席情報を含むデータの連携機能をもつ場合には,それを活用する方針とした。そこで,D君は,高速バス,観光バスの運行事業者であるE社,F社,G社,H社について,運行している全てのバスの種別と連携機能の有無を調査した。調査結果を表4に示す。
 なお,高速バス,観光バスの運行事業者は上記の4社だけであるが,路線バスだけを運行する運行事業者であるS社,T社が存在する。
pm08_3.png
 E社,F社,G社の空席情報の連携機能が提供しているデータ項目の書式と例を表5に示す。
pm08_4.png
〔データ項目の検討〕
 D君は,表5の情報を基に,運行管理システムが運行事業者から取得する空席情報ファイルのレコード構成,データ項目を検討した。
  • 空席情報ファイルは,ヘッダーレコード1件と必要な数のデータレコードから成り,ヘッダーレコードには,作成日,作成時刻に加え,データレコード件数を含めることにした。
  • 路線コード,便コードが運行事業者間で重複しないよう,二つのコードを結合し,運行事業者ごとのコードを付加した一つのコード(以下,統合便コードという)として取り扱うことにした。この統合便コードは,新バスターミナルシステム全体で使用する。この検討において,①表5の運行事業者以外の情報も調査し,問題がないことを確認した
  • ②ファイル形式はCSV形式,文字コードはUTF-8とし,各項目の書式を揃えた。
 空席情報ファイルのデータレコードの内容を表6に示す。
pm08_5.png
〔連携方法の検討〕
 D君は,連携方法について,それぞれの運行事業者と調整を行った。H社については運行する便数が少ないこともあり,開発費用が比較的安価である③Webページから情報を抽出する方法を用いることにした。連携方法に関する調整結果を表7に示す。
pm08_6.png
〔空席情報取得機能と空席情報設定機能の処理について〕
 D君が検討した空席情報取得機能と空席情報設定機能を用いた空席情報ファイルの取得から設定の処理について,図2に示す。
pm08_7.png
 表7及び図2で検討した処理について,情報システム部内でレビューを実施したところ,次のような指摘があった。
(ⅰ) 運行事業者とのデータ連携においてFTPによるファイル転送を用いる場合は,ファイル全体が正しく転送されたことを確認する必要がある。
(ⅱ) 特定の運行事業者から空席情報が取得できなかった場合,その運行事業者のバスについて表示器に古い空席記号が表示され続けてしまう。
 D君は,(ⅰ)の指摘に対して運行事業者データ連携機能に空席情報ファイルのabが一致することを確認する処理を追加する対策案,及び(ⅱ)の指摘に対して④図2の処理(3)の最初に新たな処理を追加する対策案の検討を行い,再度レビューを実施した。
 D君は対策案が承認された後,後続の開発作業に着手した。

設問1

〔データ項目の検討〕について,(1),(2)に答えよ。
  • 本文中の下線①について,表5以外に調査した運行事業者を全て答えよ。
  • 表5のG社の例について,発車日,発車時刻,統合便コード,空席数を表6に合わせて変換した場合の変換後の値を答えよ。

解答例・解答の要点

  • H社,S社,T社
  • 発車日:20220510
    発車時刻:1800
    結合便コード:G0030110
    空席数:8

解説

  • 〔データ項目の検討〕に、「この統合便コードは,新バスターミナルシステム全体で使用する」と記載されています。そのため、本システムにデータを連携する全ての運行事業者において、当該形式の統合便コードが適用可能かどうかを調査する必要があります。

    表5には、空席情報の連携機能を提供している運行事業者(E社、F社、G社)しか記載がありません。そこで、問題文から全ての運行事業者を洗い出します。〔運行事業者の概要と連携機能の有無〕を読むと、観光バスの運行事業者であるH社、路線バスだけを運行する運行事業者であるS社、T社が存在していることがわかるので、この3社も調査対象に含める必要があります。

    したがって、答えは「H社、S社、T社」です。

    ∴H社,S社,T社

  • 表5のG社のデータを表6の書式に従って整形します。
    発車日
    "YYYYMMDD"の形式です。G社のデータは"2022-05-10"なので、ハイフン(-)を取り除いて20220510となります。
    発車時刻
    "hhmm"の形式です。G社のデータは"18:00"なので、コロン(:)を取り除いて1800となります。
    結合便コード
    運行事業者コード+路線コード+便コードです。G社なので運行事業者コードは"G"、これに路線コード"301"と便コード"10"を繋げて"G30110"、8桁に満たない場合は運行事業者コードの後にゼロパディング(ゼロで埋める)を行って8桁にするのでG0030110となります。
    空席数
    同じ可変長で変換する必要がないので、8のままです。

設問2

本文中の下線②について,CSVファイルの特徴として適切なものを解答群の中から全て選び,記号で答えよ。
解答群
  • XMLファイルと比較して,1レコード当たりのデータサイズが小さい。
  • XMLファイルと比較して,処理速度が遅い。
  • 固定長ファイルと比較して,項目の桁数や文字数に関する自由度が低い。
  • 固定長ファイルと比較して,処理速度が遅い。

解答例・解答の要点

ア,エ

解説

CSVファイル、XMLファイル、固定長ファイルの特徴と具体例は下記の通りです。
CSVファイル(Comma Separated Values)
1行で1レコードを表し、レコード内の項目をカンマ(,)で区切って記述するデータ形式です。
pm08_8.png
XMLファイル
マークアップ言語の一つで、値を"タグ"で囲んで記述するデータ形式です。
pm08_9.png
固定長ファイル
各レコードと各項目の長さが決まっていて、その何桁目が何を意味するかが明確に規定されているデータ形式です。
pm08_10.png
  • 正しい。CSVファイルは、タグを使うXMLファイルと比較するとデータサイズは少なくて済みます。
  • XMLファイルでは記述された文書構造を解析する必要があるので処理時間は遅くなります。CSVファイルはXMLファイルよりは高速に処理できます。よって、記述は誤りです。
  • 固定長ファイルでは各項目に格納できる文字数や桁数が決まっていて、これを変えることはできません。CSVファイルは各項目値が可変長データなので、固定長ファイルよりは自由度が高いです。よって、記述は誤りです。
  • 正しい。固定長ファイルはデータの位置が決まっているため、データの切り出しが非常に高速に行えます。CSVファイルは区切り文字を探してから切り出すのでその分処理が遅くなります。
したがって「ア,エ」の組合せが適切です。
pm08_11.png

設問3

本文中の下線③の名称として適切な字句を解答群の中から選び,記号で答えよ。
解答群
  • WAI
  • WebAPI
  • Webコンテンツ
  • Webスクレイピング

解答例・解答の要点


解説

H社には、外部システムへの情報提供機能(データファイル作成やWebAPIなど)がありません。そこでD君は、H社のWebページから便ごとの空席情報を取得しようとしています。

プログラムでWebページのHTMLデータを取得し、HTMLデータ内のクラス名やID名、文書構造を解析して特定の情報を取り出す技術のことを「Webスクレイピング」といいます。例えば、H社Webページ内に<span class="kuuseki">20</span>という記述があれば、WebページのHTMLのパースや正規表現などにより、クラス名がkuusekiである要素の値を取得するという形になります。

∴エ:Webスクレイピング
  • WAIは、Web Accessibility Initiativeの略で、インターネットにおけるアクセシビリティの向上を促すW3C内の組織です。
  • WebAPIは、Webサービスを運営する企業によって提供され、インターネット経由でそのWebサービスの機能にアクセスできる接続仕様のことです。
  • Webコンテンツは、Webページの内容である文章、画像、動画、音声などの総称です。
  • 正しい。

設問4

本文中のabに入れる適切な字句を,20字以内で答えよ。

解答例・解答の要点

a:ヘッダーレコードのデータレコード件数 (18文字)
b:処理したデータレコードの件数 (14文字)

解説

FTPではファイル転送が正常に完了した場合でも、ネットワーク切断や接続タイムアウトによりデータの一部が欠落する可能性があります。FTPには欠落を確認する手段がないので、ファイル全体が正しく転送されたかどうかを確認するための策が必要となります。一般的な方法としては転送後の検証やハッシュ値によってファイルの同一性を確認するなどがあります。

FTPによるファイル転送を行うのはE社とG社です。この2社については、運行事業者のサーバにC社向けに変換された空席情報ファイルが格納され、FTPで転送された空席情報ファイルがC社サーバ内の受信用フォルダに格納される手順になっています。〔データ項目の検討〕に「空席情報ファイルは,ヘッダーレコード1件と必要な数のデータレコードから成り,ヘッダーレコードには,作成日,作成時刻に加え,データレコード件数を含める」とあるように、転送前の空席情報ファイルには「データレコード件数」が含まれています。この情報を全てが正しく転送されたかどうかの照合に使うことができます。

つまり、空席情報ファイル内のヘッダーレコードのデータレコード件数とFTPで受信した(運行管理システムに取り込んだ)レコード件数が一致していれば、正しく転送されたことがわかります。したがって、比較すべきは「ヘッダーレコードのデータレコード件数」と「処理したデータレコードの件数」です。

ab=ヘッダーレコードのデータレコード件数、処理したデータレコードの件数

設問5

本文中の下線④で追加した処理の内容を35字以内で述べよ。

解答例・解答の要点

ターミナルの運行計画に設定された空席数をnullにする (27文字)

解説

「何らかの理由で空席情報が取得できなかった場合,古い空席情報がそのまま表示され続けてしまう」という指摘に対し、対応案を考えます。この不具合は、空席情報設定機能が統合空席情報ファイルに空席数の情報がない便に対しては何もしないために、前回処理時の空席情報がそのまま残ってしまうことにより生じています。

表2の記述より、空席記号(○△×)は、ターミナルの運行計画に空席数が設定されている便について表示するものので、空席数が設定されていない場合には"-"を表示することが適切と考えられます。"-"を表示するには、ターミナルの運行計画の空席数がnullになっている必要があります。なので、ターミナルの運行計画の空席数にnullを設定する処理を追加することになります。図2の処理(3)にて最新の空席情報を更新する度に、前回の空席情報をnullで上書きしておけば、何らかの理由で空席情報が取得できなかったときも、古い空席情報が表示されることはありません。

したがって、答えは「ターミナルの運行計画に設定された空席数をnullにする」となります。

∴ターミナルの運行計画に設定された空席数をnullにする
模範解答

Pagetop