応用情報技術者試験の午前問題復習！

## 初めに
2023年10月8日に応用情報技術者試験を受験しました。(n回目)
受験からそれなりに時間が経ってしまいましたが、間違えた問題の内で気になった問題について自身の備忘のためにまとめたいと思います。

## 過去問題
今年度の試験問題は以下(IPAの公式サイト)から入手できます。
https://www.ipa.go.jp/shiken/mondai-kaiotu/2023r05.html

## 問題と調べたこと
### 問12. SAN(Storage Area Network)におけるサーバとストレージの接続形態の説明として, 適切なものはどれか。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582122/7622c2a9-0a29-86c6-90c1-a9ac4fc19947.png)

(調べたこと・解説)
ネットワークスペシャリスト試験平成25年秋期午前Ⅱなどで既に出題されていた問題のようです。
そもそも、SAN(Storage Area Network)とは何か。
> SAN（ストレージ エリア ネットワーク）は、ストレージ ネットワークを介してストレージ アレイと複数のサーバとの相互接続を提供する専用のストレージ ネットワーク システムです。
出典: https://www.vmware.com/jp/topics/glossary/content/storage-area-network-san.html

複数のサーバに対してデータを共有したいとき、サーバ専用のネットワーク(LANとは別)を構築してストレージを統合する技術らしい。(大規模ストレージに対して、外付けHDDのようにアクセスできるようになるイメージ)

SANは、FC-SAN（Fibre Channel SAN) と IP-SAN（Internet Protocol SAN)の2種類あり(以下参照)、光ファイバーを伝送媒体とするFCP(Fibre Channel Protocol)やiSCSI(Internet SCSI)プロトコルによって行われるため、高速な転送が可能。

```
FC-SAN（Fibre Channel SAN）:
プロトコル: FC-SANはファイバーチャネルプロトコルを使用して構築される。ファイバーチャネルは高性能で、低レイテンシのブロックベースのデータ転送を提供する。
用途: FC-SANは高いパフォーマンスと信頼性が必要なミッションクリティカルな環境で使用される。
      → データベース、仮想化、ビッグデータ、ストレージアプライアンスなど。
特徴: FC-SANは専用のファイバーチャネルネットワークを必要とし、高価な光ファイバーケーブルとスイッチが使用される。冗長性とスケーラビリティが高く、低いレイテンシで高帯域幅を提供する。

IP-SAN（Internet Protocol SAN）:
プロトコル: IP-SANはTCP/IPネットワークを使用し、iSCSI（Internet Small Computer System Interface）プロトコルを通じて構築される。iSCSIはブロックベースのデータ転送を提供する。
用途: データストレージを効率的に管理し、共有するために使用される。
特徴: IP-SANは既存のイーサネットネットワークを活用し、比較的低価格のイーサネットケーブルとスイッチを使用する。専用のファイバーチャネルネットワークよりも低いコストで実装できますが、性能はFC-SANに比べて低い場合があります。
```

●選択肢ア
内臓ストレージとして1対1ではなく、1対多の関係でサーバに接続するので、記載は間違い。

●選択肢イ
正しい。FC-SAN（Fibre Channel SAN) と IP-SAN（Internet Protocol SAN)など、ストレージ専用のネットワークを利用して接続する。

●選択肢ウ
LANでは接続しないから間違い。
CIFS(Common Internet File System)は、WindowsOS用のファイル共有プロトコル。SMB(ウィンドウズのファイル共有システム)をWindows以外でも利用できるようにしたもの。
https://e-words.jp/w/CIFS.html

●選択肢エ
LANでは接続しないから間違い。
NFS(Network File System)は、LinuxなどのUNIX系OS用のファイル共有プロトコル。

### 問20 FPGAの説明として、適切なものはどれか。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582122/e26cf4ae-daf6-3c13-b037-f56adb1dcdf0.png)

(調べたこと・解説)
令和4年春のAPでも出題されていたらしい。。

そもそもFPGAとは

> FPGA（英: field-programmable gate array）は、製造後に購入者や設計者が構成を設定できる集積回路であり、広義にはPLD（プログラマブルロジックデバイス）の一種である。現場でプログラム可能なゲートアレイであることから、このように呼ばれている。
https://ja.wikipedia.org/wiki/FPGA

とのこと。
要するに、回路の一種で、製造後にプログラムを書き換えられる特徴があるものということですね。
field-programmableの略であることを覚えてしまうと、ほぼ答えも分かりますね。

●選択肢ア

> 電気的に記憶内容の書換えを行うことが出来る不揮発性メモリ

これはフラッシュメモリのことですね。

●選択肢イ

> 特定の分野及びアプリケーションように限定した特定用途向けの汎用集積回路

これはASIC（Application Specific Integrated Circuit）です。
https://www.diatrend.com/glossary/words_a/asic.htm

FPGAとの違いを比較した記事も散見されますが、以下のサイトによると単価や消費電力、熱対策などの面ではASICが優れているようです。どちらを選択するかは用途に応じて検討する必要があるといったところでしょうか。

https://www.epson.jp/prod/semicon/products/asic/about_asic1.htm
https://www.xilinx.com/products/silicon-devices/fpga/what-is-an-fpga.html

●選択肢ウ
> 浮動小数点数の演算を拘束に実行する演算ユニット

これは、FPU(Floating-Point Unit)のことです。

●選択肢エ
これが正解。

### 問27 関係モデルにおける外部キーの説明として、適切なものはどれか。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582122/1aa45dcc-d345-17e9-4867-e256bd7b0af2.png)
(調べたこと・解説)
正解するには関係モデルに対する理解が必要となります。
そもそも関係モデルとは
> 関係モデルとは、データの集合を表現する数学的なモデルの一つ。データ群を複数の項目の「関係」（relation）として捉えるもので、リレーショナルデータベース（RDB）の理論上の基礎となっている。
https://e-words.jp/w/%E9%96%A2%E4%BF%82%E3%83%A2%E3%83%87%E3%83%AB.html

本問を回答する上で、以下の概念をおさえておきましょう。
* 一つのデータとそれに紐づく複数の値をまとめて「組」(タプル, tuple)と呼ぶ → 行のイメージ
* それぞれの値は「属性」(attribute)に所属している → 列のイメージ
* 候補キー: 主キーの候補(となる属性または属性の組)
* 外部キー: 関連したテーブル間を結ぶために設定する属性(列)または属性の組。参照される側が主キーであり、参照する側が外部キー。

上記を踏まえて選択肢をそれぞれ確認します。
●選択肢ア
ある関係の候補キー = 主キーの候補となる属性
→ 主キーを参照するのが外部キーなので、こちらが正解ですね。
●選択肢イ
こちらは代理キーの説明です。
代理キーとは、主キーとして選ばれなかった候補キーのこと。
https://ja.wikipedia.org/wiki/%E4%BB%A3%E7%90%86%E3%82%AD%E3%83%BC#:~:text=%E4%BB%A3%E7%90%86%E3%82%AD%E3%83%BC%EF%BC%88%E3%81%A0%E3%81%84%E3%82%8A%E3%82%AD%E3%83%BC,%E5%B1%9E%E6%80%A7%E3%82%92%E3%82%82%E3%81%A4%E3%81%A8%E3%81%99%E3%82%8B%E3%80%82
●選択肢ウ
候補キーの説明です。
タプル、すなわち行を一意に識別できる属性または属性の組の集合の内で極小のものということですが、日本語が分かりにくいですね。。
自分は、極小という言葉が分かりにくく感じました。
この場合の極小の意味について考えてみると、minimum、すなわち「余分な属性がない」ととらえると分かりやすくなるかもしれません。
例えば、(商品ID, 商品名, 製造会社)という関係では、商品IDのみで商品を一意に特定できるので商品IDが候補キーです。ミニマムです。
一方で{商品ID, 商品名}や{商品ID, 製造会社}のような属性の組は、行自体を一意に特定できますが不要な属性が含まれておりミニマムではありません。このように必ずしもミニマムでなくてもよい候補キーのことをスーパーキーと呼びます。

●選択肢エ
スーパーキーの説明です。

※類題 情報セキュリティスペシャリスト平成26年春期 午前Ⅱ
> 関係モデルにおける外部キーに関する記述のうち，適切なものはどれか。


### 問35.IPv4ネットワークにおけるマルチキャストの使用例に関する記述として、適切なものはどれか。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582122/99a9d1f7-5574-5568-d465-740e881d1266.png)

(調べたこと・解説)
マルチキャストとは。
> 複数の端末(ホスト)に対して、同一データを一斉に送信する方法のこと。

ブロードキャストとの違いは？
> ブロードキャストのデータ転送は、ネットワークに接続しているすべての機器が対象です。 マルチキャストでは同じネットワーク内の機器であっても、グループに参加していない機器にはデータを送りません。

→ グループに属しているかどうかも加味するのがマルチキャスト
→ 同じネットワークセグメントに属する全てのホストを対象とするのがブロードキャスト

厳密ではないですが、以下のようなイメージでしょうか。
●送信する対象ホスト数
> ユニキャスト ≤ マルチキャスト ≤ ブロードキャスト

●選択肢ア
IPアドレスの割り当てではブロードキャストが使われます。
●選択肢イ
ARPでIP→MACアドレスの変換もブロードキャストが使われます。
ARPリクエストとしてIPアドレスに対応するMACアドレスを要求しますが、その時点で送信先MACアドレスは当然分かっていないため同じネットワーク全体に問い合わせ(=ブロードキャスト)します。
https://shinmeisha.co.jp/newsroom/2020/02/05/arp%E3%81%A8%E3%81%AF/

●選択肢ウ
メーリングリストでは、メーリングリスト用のアドレスが分かっているため、その宛先に対してユニキャストを送信します。その後、メールを受信したメーリングリストサーバは、複製したメールをメーリングリスト登録者全員に対してそれぞれユニキャストで送信します。

●選択肢エ
正解です。
RIPとは、Routing Information Protocol の略で、現在も利用されている歴史あるルーティングプロトコル。
RIP-2の特徴として、
1. マルチキャストが出来る →関係のないホストへの負荷を減らすことが出来る
2. 認証が出来る
3. IPアドレス・フィールドの経路に対するサブネットマスク情報を取り込む

https://www.furukawa.co.jp/fitelnet/f/man/1000/command-config/yougo/a-z/rip.htm
https://atmarkit.itmedia.co.jp/ait/articles/0202/23/news003.html

### 問37. 楕円曲線暗号の特徴はどれか。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582122/9e7c2f7a-86cd-b6e2-205c-24ab3ddeaafa.png)

(調べたこと・解説)
基本情報技術者試験平成31年春に既出の問題です。
覚えておくべき内容は、楕円曲線暗号は公開鍵暗号方式であり、RSAの鍵長と比較して短いため人気が高まっている暗号方式であるということ。正解選択肢はアです。

### 問42. セキュアブートの説明はどれか。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582122/b286c87a-e18d-9691-3fcb-c0acf2814dde.png)

(調べたこと・解説)
BIOSとは
> Basic Input Output Systemの略称ｄえ、マザーボード上のＲＯＭに搭載されているプログラム。Windows等のOSが起動する前に動作し、PC上のハードウェアの管理と制御を行う。
https://www.e-tamaya.co.jp/html/faq/pc/113.html

セキュアブートとは
> セキュアブートとは、PC の起動 (ブート) 時に悪意のあるソフトウェアが読み込まれないように設計された重要なセキュリティ機能。コンピュータの起動時に動かしてOKなソフトだけ動かす機能。OS起動ファイルやドライバのディジタル署名を検証し、不正なプログラムの実行を未然に防ぐ仕組み。

よって、選択肢ウが正解です。

### 問48. 問題は発生していないが、プログラムの仕様書とソースコードとの不整合を解消するために、リバースエンジニアリングの手法を使って仕様書を作成し直す。これはソフトウェア保守のどの分類に該当するか。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582122/aa854b3d-590b-af6e-51fa-87ed09750ddd.png)

(調べたこと・解説)
JIS X 0161 では、ソフトウェア保守プロセスのための要求事項が記載されています。

完全化保守: 利用者のための改良，プログラム文書の改善を提供し，ソフトウェアの性能強化，保守性などのソフトウェア属性の改善に向けての記録を提供する
是正保守: ソフトウェア製品の引渡し後に発見された問題を訂正するために行う
適応保守: 引き渡し後の環境において製品を使用できるように保ち続けるために行う保守
予防保守: 引き渡し後に発生しうる潜在的な障害を発見し是正するために行う保守

(参考)
https://ssaits.jp/promapedia/concepts/type-of-maintenance.html
https://www.ny.ics.keio.ac.jp/ipsjts1/3rd-ver/htm/jx04h0g4.htm

題意から、システム上問題は起きていないが、より完全な状態を目指して改良しているため、選択肢アの完全化保守が正解です。

### 問61. バックキャスティングの説明として、適切なものはどれか。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582122/c0f0d2f2-2763-b61c-9fe9-846c36720c6e.png)

(調べたこと・解説)
バックキャスティングとは
> 最初に目標とする未来像を描き、次にその未来像を実現するための道筋を未来から現在へとさかのぼって記述するシナリオ作成の手法
https://www.rd.ntt/se/media/article/0022.html#:~:text=%E3%83%90%E3%83%83%E3%82%AF%E3%82%AD%E3%83%A3%E3%82%B9%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%A8%E3%81%AF%E3%80%81%E6%9C%80%E5%88%9D,%E6%9C%89%E5%8A%B9%E3%81%A8%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

目標の未来を先に描き、現状の行動指針をたてるのがバックキャスティング。現状を前提に未来を考えるのが、フォアキャスティング。
よって、正解の選択肢はイ。

### 問72. 個人が、インタネットを介して提示された単発の仕事を受託する働き方や、それによって形成される経済形態を表すものはどれか。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582122/731622e8-553d-7259-f6f3-ed50165dd073.png)

(調べたこと・解説)
●選択肢ア
APIエコノミー
> APIを公開することで自社と他社のサービスを相互に活用してさらに大きく経済圏を拡大させていく考え方
https://www.libcon.co.jp/column/api-economy/#:~:text=API%E3%82%A8%E3%82%B3%E3%83%8E%E3%83%9F%E3%83%BC%E3%81%A8%E3%81%AF%E3%80%81API,%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%9F%E3%82%8A%E3%81%97%E3%81%BE%E3%81%99%E3%80%82

非常にざっくり言うと、APIを公開してお互いに活用し合っていこうね！という考え方。

●選択肢イ
ギグエコノミーとは
> インターネットを通じて単発の仕事を受注する働き方、またそれにより成り立つ経済形態のこと。
https://wisdom.nec.com/ja/article/2019121603/index.html

これが正解です。

●選択肢ウ
シャドーエコノミーとは
> 政府が発表する経済統計には現れない経済活動。違法なビジネスだけでなく、合法的な経済活動も含まれる。
https://www.nomura.co.jp/terms/japan/si/A01938.html#:~:text=%E6%94%BF%E5%BA%9C%E3%81%8C%E7%99%BA%E8%A1%A8%E3%81%99%E3%82%8B%E7%B5%8C%E6%B8%88,%E7%B5%8C%E6%B8%88%E6%B4%BB%E5%8B%95%E3%82%82%E5%90%AB%E3%81%BE%E3%82%8C%E3%82%8B%E3%80%82

●選択肢エ
トークンエコノミーとは
> ブロックチェーン技術を基盤とする新しい経済の概念。他の価値と交換できる代用貨幣のやり取りによって生まれる経済のこと。
https://www.dx-digital-business-sherpa.jp/blog/what-is-the-token-economy#:~:text=%E3%83%88%E3%83%BC%E3%82%AF%E3%83%B3%E3%82%A8%E3%82%B3%E3%83%8E%E3%83%9F%E3%83%BC%E3%81%A8%E3%81%AF%E3%80%81%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF,%E3%82%92%E4%B8%8E%E3%81%88%E3%81%86%E3%82%8B%E3%82%82%E3%81%AE%E3%81%A7%E3%81%99%E3%80%82

## まとめ
午前問題について、調べるとかなりが過去問そのまま出題されているんですよね。。
丁寧に過去問をやり込むことが大切で、その上で分からない概念や単語については一つ一つ地道に調べていくことが大切だと感じました。
最後までお読みいただきありがとうございました。