ITとかCockatielとか

技術のこととか。飼鳥(オカメインコ)のこととか。気になったこととか。基本的には備忘録。

情報処理技術者試験 エンベデッドシステムスペシャリスト 試験概要・対策検討

試験概要

f:id:sik_bug:20211003110144p:plain

IPA 独立行政法人 情報処理推進機構:試験制度:試験区分一覧

  • エンベデッドシステムスペシャリスト試験は、情報処理技術者試験に9つある高度試験のうちのひとつ。
  • 「IoT時代に欠かせない組込みシステムの腕利きエンジニア」というキャプションが付けられている。
  • DX関連で流行りのIoTを持ち出すことで試験の価値を高めようとしているようだが、高度試験の中では不人気の部類に入る。
    • ちなみに不人気御三家は、エンベデッド、ITサービスマネージャ、システム監査で、いずれも応募者数は5千人台。(IPA統計資料参照)
    • ITストラテジストは8千人台だが難易度が高いので理解できる部分もある。それ以外は万単位である。
  • 合格率は16-17%程度で、他の高度試験よりは若干高い傾向にある。(それでも狭き門であることには変わりない)

試験内容

f:id:sik_bug:20211003110618p:plain

  • 試験時間は他の高度試験と同じ。
  • 午後Ⅱは記述式。(数千文字を書く論述式ではない)
  • 午後試験は相変わらずの長丁場になるため、午前Ⅰ免除で試験にのぞみたいところ。

試験対策

テキスト

www.shoeisha.co.jp

  • 鉄板の情報処理教科書でOK。
  • この書籍は情報が多すぎる傾向にあるので、全てを覚えきることを目標とするのではなく、過去問と組み合わせながら必要な知識を付けていくような使い方の方がよい。(もちろん覚えられるならばそれに越したことはない)

午前Ⅰ・Ⅱ

  • 午前問題はやることはほぼ同じ。過去問で問題を解きながら、知らない知識を補完していくこと。
  • あまり慣れていない場合や情報処理試験でブランクがある場合は、書籍で知識をひととおり整理してから、改めて過去問に取り組めばよい。
  • 過去5~6回分で安定的に得点できるようになれば通過は固い。

www.shoeisha.co.jp

午後Ⅰ

  • 過去問を使って出題内容に慣れること。
  • 午前Ⅱまでを乗り越えられる実力があれば、午後問題で新しい知識が求められることはあまりないように感じる。
  • となるとスピード勝負だけになるので、出題形式に慣れてきたら時間を計りながら本番さながらに解いてみるとよい。
  • 最低でも過去5年分はこなしておきたい。
  • 問題選択について、情報処理試験ではクセのある問題が後半に来る傾向があるが、この区分ではソフトウェア系が設問1・2、ハードウェア系が設問3になっていることが多い。ハードウェア系が苦手であれば、頭から順番に解いていけばよい。
  • 回答のポイントは、出題に対してロジカルに考えて答えを導き出すこと。練習の段階で「なぜその答えになるのか」というプロセスと、「問題に対する回答になっているか(聞かれていることに素直に答えられているか)」をチェックする練習をしておいた方がよい。
  • 数値などでの完答を求められる問題は難しいことが多い(やや複雑な整理が必要になる)ので、後回しにした方がよいかもしれない。(時間をじっくりかけたほうが解ける可能性が高い)

午後Ⅱ

  • 過去問を使って出題内容に慣れること。特に午後Ⅱは出題の「規模」が大きくなる(問題文が長い)ので、集中力を切らさずに全問乗り切るための「慣れ」が必要。
  • また、問題文が長いので、どこがポイントになるのか(なりそうなのか)を後から見てすぐわかるように自分なりの書き込み方をあらかじめ決めておいた方がよい。(○、下線、表整理など)
  • 設問1がハードウェア系、設問2がソフトウェア系になっていることが多い。ハードウェア系が苦手であれば、設問2の一択になるだろう。
  • 回答のポイントは午後Ⅰとほぼ同じ。ここまで来ると新しい知識を求められることはあまりないため、基本的にはロジカルかつスピーディに答えを導き出すしかない。

情報処理技術者試験 システム監査技術者 結果<合格>と対策の振り返り

2020年(秋)のシステム監査技術者試験に合格しました。

 

■点数 ※少し丸めて書きます。

 午前Ⅰ 75点

 午前Ⅱ 96点

 午後Ⅰ 80点

 午後Ⅱ A

 

合格率の低い試験なので発表まではいつもどおりドキドキでしたが、今回は対策が十分にできていたので、なんとなく自信がありました。

自信を持つことができるようになった試験対策方法について、振り返りつつ共有しておきたいと思います。

 

■■午前Ⅰ■■

午前Ⅰからフルで受験するのは十数年ぶりでした。

これまでは午前Ⅰ免除で食いつないできたのですが、今回はそれがありません。

あまりにもブランクが長いので、念のため午前対策本を1冊購入し取り組みました。

 

翔泳社 情報処理教科書 高度試験午前Ⅰ・Ⅱ

www.shoeisha.co.jp

※実際に使ったのは2020年度版です。

 

<対策本の使い方>

1週目は頭から順番に回答していき、解けなかった問題にチェックを入れておきます。

2週目は解けなかった問題だけをピックアップして復習します。

このあたりで飽きてくるので、情報処理の過去問に移行します。

 

<過去問>

過去問は過去5回分もやれば十分で、終盤は「見たことあるな」という問題が増えてきます。これが打ち止めの合図になります。

問題集を事前にやっておけば、過去問で合格点を切ることはほぼないでしょう。一方で出題の範囲が広いので、90点以上の高得点を目指すことは難しいものでもあります。少々余裕をもって(70点~80点くらい)いれば自信をもって大丈夫です。

合格点を切る場合は体系的な学習不十分なので、対策本に戻ったほうがいいです。

 

<ポイント>

あくまでも試験の入り口になりますので、対策には時間をかけすぎない方がよいです。

上に書いた通り午前Ⅰで完璧を追求する必要はありません。

 

 

■■午前Ⅱ■■

ここからは、試験区分の参考書を使っていきます。

学習の流れは午前Ⅰと同じです。

 

翔泳社 情報処理教科書 システム監査技術者 

www.shoeisha.co.jp

 

<対策本>

試験区分に合った情報処理教科書(翔泳社)を1冊購入します。

他の対策本は不要です。(他の高度試験でも同様です)

まずは過去問パート以外の教科書的な部分を読み切ります。

その際に、要点を整理したメモを作ります。

今回はブログにまとめていきました。

sik-bug.hatenablog.com

 

通常は教科書に沿ってまとめていきますが、内容をよく見るとIPAが公開しているシラバスの内容そのものなので、基本的にはシラバスに沿って整理をしています。

システム監査に限っては、シラバスも一緒に見ておいた方が理解は深まると思います。

 

<過去問>

過去問は午前Ⅰと同様、過去5回分もやれば十分です。

午前Ⅰより範囲が狭い分、高得点がとりやすいため、学習を進めると80点~を安定的にとることができます。

点数が伸びない場合は理解不十分なところがあるので、教科書に戻ったほうがいいです。 

<ポイント>

高得点を狙えますが時間を割くべきは午後対策です。

そこそこのところで切り上げましょう、と言いたいところですが「考え方」は午後につながるので、ここはきっちりやっておきましょう。

 

 

■■午後Ⅰ■■

<対策本>

過去問を使って学習を進めていきます。

最初は対策本に掲載されている問題を順番に解いていきます。理由は丁寧な解説があるからです。問題は本番さながらで取組み、必ず回答を自分なりに出してから答え合わせをしてください。(詳細後述)

 

<過去問>

教科書だけでもそれなりのボリュームはありますが、ジャンル別に整理されているため、かなり古い問題が混ざっています。

出題には時間軸での傾向というのもあるので、直近3年分くらいは過去問を解いておいた方がよいです。こちらは教科書が終わってからでよいです。

 

<ポイント①>

かなり重要なポイントです。

まず、過去問に取り組む際には「ロジカルに解を導くこと」に注力してください。

教科書の解説を読むとよくわかりますが、「本文中に〇〇の記載がある、だからXXが回答として適切である」といった記載があります。さらに読み込むと、本文で得たヒントから解にたどり着くまでには論理的なプロセスがあることに気づきます。

そして非常にややこしいのは、「ロジカルに考えれば100人中100人がその答えにたどり着く”わけではない”」ということです。これは私感ではありますが、模範解答を見て「え~、そりゃないよ・・・」と思った人は数多いと思います。

但し、問題として出されている以上、出題者なりの論理展開をもって模範解答が作られているはずなので、「考え方を見抜く癖をつける・訓練する」というのがここでの最も重要な取組み事項となります。

かなりストレスの高い作業ですが、ここでも100%を目指す必要はありません。

60%以上の思考が出題者と合致すれば午後Ⅰは通過できるため、多少の「え~」には目をつぶりましょう。

 

<ポイント②>

回答を書く際には、出題意図の自分なりの解釈と、解にたどり着くまでの思考プロセスも一緒に書き起こしてみてください。

教科書の解説と照らし合わせることで、どこに思考のギャップがあるかを確認することができます。

これを繰り返すことで、「情報処理試験の”システム監査人”」という思考回路が徐々に出来上がってきます。また、多くの問題に取り組むことで解の導出パターンが自然と見出せるようになります。 

 

■■午後Ⅱ■■

<対策本>

午後Ⅰ同様、教科書を使って順番に取り組んでいきます。

但し、すべての論文を書こうとすると、いくら時間があっても足りないので、初期段階では「段落構成」と「論文設計テンプレート」を作る訓練をします。(何のことか分からない方は教科書参照してください)

ここでは、「題意に沿った論点を揃えること」に注力してください。(詳細後述)

これらが「ある程度書けるようになった」と感じたら、テンプレートをベースに実際に論文を書き起こすフェーズに入ります。

テンプレがしっかりできていれば、多少のテクニックは必要になるものの、話を肉付けしながら書くことはあまり苦ならないはずです。

むしろ、題意に沿った論点を十分にあげることができていれば、簡単に字数が埋まってしまいます。論点の前段(振り)の一文と、論点に関する一文をつなげていくだけで、必要字数に到達します。

 

<過去問>

こちらも午後Ⅰ同様、過去3年分くらいをターゲットに取り組みます。

 

<ポイント>

繰り返しになりますが、重要なのは「題意に沿った論点を揃えること」だけです。

他には何もありません。

2020年度午後Ⅱ・問1を例にあげて簡単に説明します。

 

設問ア:

あなたが関係する組織において、AI技術を利用する目的と、開発を検討している又は開発したAIシステムの概要について、800字以内で述べよ。

 

これは単純です。本文のとおり、次の事項を書きます。

 

①AI技術を利用する目的

②開発を検討している 又は 開発したAIシステムの概要

 

設問イ・ウへの伏線になるため、その前提となる事項を書きます。(採点者に事前説明する気持ちで)

よほど特殊な問題でなければ、事前に準備した内容をほぼそのまま書けばOKですが、伏線ということを忘れず、後ろにつなぎやすいようにアレンジできるとベターです。

設問アは事前準備できる問なので、どのような問題でも当てはめやすい具体的な事例を2つ3つ準備しておきましょう。具体的というのは、業種、対象システム、利用者、業務利用の範囲(公開・ネットワーク範囲)、システム構成といった事項を明らかにすることです。

②については、設問イ・ウがリスクとそれに対する監査の話なので、検討段階でも開発済みでもどちらでも後ろの話は変わりません。

こういったところで無駄に悩まないようにしましょう。

 

設問イ:

設問アで述べたAIシステムの利用段階において想定されるリスクについて、700字以上1400字以内で具体的に述べよ。

 

まずは、「AIシステムの利用段階において想定されるリスク」を書くことを考るわけですが、「具体的に述べよ」を見逃してはいけません。

具体的というのは一般論ではなく、「設問アで述べたAIシステム」すなわち「あなたが関係する組織におけるAIシステム」におけるリスクを具体的に(=事例を)書けということなので、抽象的な表現にならないように注意します。

 

次に具体的な「リスク」についてですが、情報処理試験ではゼロから考えるのは間違いです。本文を見ると「題意」としていろいろ書いてあるので、これに沿って書くことが「出題者の意図に沿う」ことになります。

本文では「一方~」の部分に記述されています。要素を羅列すると次のようになります。

 

アルゴリズムブラックボックス問題

②学習済みモデルによる予測・判断結果の解釈が難しい・精度が低い

③従来開発手法では対応が難しい

④収集データの加工にコストがかかる

⑤権利帰属の問題により学習済みモデルの利用に制約が生じる

 

「題意に沿う」というのは難しい話ではなく、これらをそのままリスクとして解釈し、システム監査人としてどのようなコントロールがあればよいかを見ていけばよいわけです。

例えば、次のように方針を整理できます。

 

①モデルに説明可能性(XAI)がなく、不正な結果が出力された際に適切な対応ができなくなる可能性がある。

→ベンダーに契約等で説明責任を担保させる(e.g.説明可能性の高いアルゴリズムを適用させる)

 

②目標となる精度が出ない可能性があり、業務で使えないものになってしまう。

→精度が出ない場合にはモデルの変更や学習データの追加が必要。モデルについてはベンダー、学習データの追加準備については業務部門と事前調整をしておく。

 

③従来の開発手法(ウォーターフォール)ではモデルの精度があがらない可能性が高い。

開発プロセスはモデル開発部分のみイテレーティブ(アジャイル開発)にする。

 

④役割をあいまいにしていると、役割・コストでもめるかもしれない。最悪訴訟問題へ。

→ベンダー側のタスクであることを契約や合意文書上で明確にする。

 

⑤今回開発したモデルは別業務での転移学習のベースに使う可能性があるが、権利関係の問題でモデルの二次利用ができないかもしれない。

→成果物を学習データ、開発プロセス、学習済みのモデルとして整理し、開発プロセス(ベンダーのノウハウ)以外は自社での二次利用を可能とする契約にする。

 

これらが、「あなたが関係する組織におけるAIシステム」において、実際にあったことのように書ければいいわけです。

「実際にあったこと」にするためには、ビジネスドメインとAIシステムの適用領域を具体化しておけばいいだけです。(例えば製造業の自動検査で画像認識を使うとか、損保コールセンターのサポートとしてAIチャットボットを使うとか)

あとはシステム監査人の業務として上記の事項をコントロールとして捉え、順次確認していけばよいだけです。これが設問ウでの回答(監査手続)になります。

 

■■さいごに■■

つい長くなってしまいましたが、ここで書いたことがすべてです。

考え方は非常にシンプルですが、私も最初からこれができたわけではありません。

特に論文については「今思えば」という話ではありますが、ゼロから話を作ろうとして不合格、題意を意識したものの途中から創作に入ってしまい不合格(つまり題意に沿っていない)、役割(システム監査人)の気持ちになり切れず不合格(いつのまにかPM視点になっていた)といったことがありました。

情報処理試験は他の資格試験に比べると「非常に重い作業」になります。しかし、その分だけ取り組む価値がありますし、合格時の喜びは他に代えがたいものがあると思います。(今回の結果確認は外出中でしたが、思わず道端でガッツポーズをとっていました)

これで高度試験8区分が合格済みとなりましたので、1年後のエンベデッドにチャレンジして、情報処理試験コンプリート&終結に持ち込みたいと思います。

 

システム監査技法

システム監査技法

  • システム監査手続にはさまざまな技法がある。
  • 代表的な技法を整理する。

チェックリスト法

  • チェックリストを監査人が作成し、菅対象者に回答をもらう方法。
  • チェックリストとすることで、確認内容が均質化される。
  • また、繰り返し利用することで、内容がブラッシュアップされていく。

ドキュメントレビュー法

  • 監査対象に関連する文書を、監査人が閲覧・レビューする方法。
  • ドキュメントは明示的に記録されている情報であるため、監査手続においては最も基本的かつ重要な監査証拠となる。

突合法、照合法

  • 複数の文書や時間的な経過を追って突合、照合をして監査を行う方法。

現地調査法

  • 監査人が監査対象の現場を訪れ、監査を実施する方法。

インタビュー法

  • 監査対象者やその関係者に対し、監査人からインタビューを行う方法。
  • 明文化されていない情報の収集等に役立つが、監査人の恣意的な内容にならないように注意する必要がある。

コンピュータを利用したシステム監査技法 CAAT:Computer Assisted Auditing Technologies

システム監査技法

  • システム監査の実施においてはさまざまな技法がある。
  • その中で試験でよく問われるのがCAAT(Computer Assisted Auditing Technologies)である。
  • 試験のシラバスにも何回も出てくる文言なので、ひととおり覚えておくべき事項である。
  • 覚え方のコツとあわせて列挙してみる。

1.テストデータ法

  • あらかじめ準備したテストデータを監査対象のシステム・プログラムに入力し、出力によって正確性を確認する方法。
  • 読んで字のごとくではあるが、あらかじめ準備したテストデータをシステムに投入しておく、というわけではない点は注意。

2.(汎用)監査プログラム法

  • システム監査でよく使用する機能を「汎用監査プログラム」として準備し、利用する方法。
  • 監査モジュールと混同しないように注意。

3.監査モジュール法

  • 監査用のモジュールを監査対象システムに組み込んで、監査用データを取得する方法。
  • モジュールという言葉から、システムの一部分であることを連想すればよい。

4.ITF(Integrated Test Facility)法

  • 監査対象システムに監査用の口座を作って処理の正確性を検証する方法。
  • なぜか横文字、なぜか口座。日本語訳は統合テスト機能。口座はアカウント(account)からきているので、監査人用のIDを作り、実機でいろいろ試すと理解をしておけばよい。

5.並行シミュレーション法

  • 監査人が独自プログラムを作り、監査対象システムと並行して動作させ、出力結果を突合して評価する方法。
  • これも読んで字のごとく。覚えやすい。

6.スナップショット法

  • 監査対象システムのメモリダンプを取得し、情報を収集する方法。
  • スナップショットなので、これも読んで字のごとく。

7.トレーシング法

8.コード比較法

  • システム監査人による検証済みプログラムと、監査対象のプログラムを比較する方法。
  • これも読んで字のごとく。

ポイント

気を付けるべきは、以下の事項くらいかな。

  • プログラム法、モジュール法を混同しないようにすること。
  • ITF=アカウント(口座)のイメージをつけておくこと。
  • 比較手法として、並行シミュレーション法とコード比較法があること。

システム監査業務の管理

📘4.システム監査業務の管理

📘4-1 進捗管理

  • 計画事項の進捗管理を行う。
    • 計画:年度計画書、個別計画書、監査手続書

📘4-2 品質の確保

  • システム監査の品質を高めるため文書のレビューを行う。
    • 文書:個別計画書、監査手続書、監査調書

📘4-3 監査業務の改善

  • 計画に対する実績値を収集し、原因を分析する。
  • システム監査業務の改善を図る。

📘4-4 監査体制の整備

  • システム監査技術者を計画的に育成する。