この記事は何
システムアーキテクト試験(SA)を受けようとおもったので、勉強した際の記録をメモします。現在の自分の業務とは関係が薄いのですが、一緒に仕事をしている人の理解を深めるために勉強。
試験までの総勉強時間は30時間くらい、参考書は購入してません。
メモ
試験要項
画像出典:IPA 独立行政法人 情報処理推進機構:制度の概要:システムアーキテクト試験
午前Iは免除されるので、午後II以降のみをすべて60%以上の点かつ午後IIの論文がAランクならば合格となる。過去問と解答は『IPA 独立行政法人 情報処理推進機構:過去問題』にすべて公開されているので、基本的にはここをみながら勉強することになる。
難易度
出典:情報処理技術者試験の現状と課題 | デジタル時代の人材政策に関する検討会 試験ワーキンググループ 令和3年3月4日
難易度は受験者数の中で15%合格なので、一般的な資格としてみると難しい部類か。 また、受験者層の平均年齢は40前後とのこと。20代で受ける人は少ない?
勉強メモ
午前II
午前Iと午前IIは選択問題、基本を覚えれば大丈夫なはずなので何回か過去問を周回する。午後の記述にも必要な知識なので、解答とともに各手法をどのようなタイミングで使うべきか・メリットデメリットも覚える。
- アシュアランスケース
- アシュアランスケース入門 独立行政法人 情報処理推進機構 技術本部 ソフトウェア高信頼化センター 2015年1月20日 ソフトウェアグループ・研究員 鈴木基史
テスト結果や検証結果をエビデンスとしてそれらを根拠にシステムの安全性を議論し、システム認証者や利用者などに保証する、あるいは確信させる(assure)ためのドキュメント
- プロトタイピング
- 水平的(機能追加)、垂直的(詳細化)で覚えておく
- 画面の色やレイアウトなど詳細をつめていく = 垂直型プロトタイピング
- 項目の詳細を決める = 水平型プロトタイピング
- 開発現場のUIトラブルを解決!? 画面プロトタイプ入門:いまさら聞けないリッチクライアント技術(16)(3/3 ページ) - @IT
プロトタイプには、画面の色やレイアウトなど詳細をつめていく「垂直型プロトタイピング」と、画面仕様や項目を決める「水平型プロトタイピング」があります
- レビュー手法
- 要件定義・UML・設計
- ソフトウェア開発工程 - Wikipedia
- 平成29年春期問24 システム/ソフトウェアの品質特性|データベーススペシャリスト.com
- ビジネスプロセスモデリング(BPMN)表記法とは |Lucidchart
- 「デザインレビュー」の意味や使い方 Weblio辞書
- SLCP(ソフトウェアライフサイクルプロセス)とは - IT用語辞典 e-Words
- クラス図の書き方とは。初心者にもわかりやすく解説 | Cacooブログ
- エンタープライズアーキテクチャ(EA)とは - IT用語辞典 e-Words
- モジュール分割とは - IT用語辞典 e-Words
- STS分割・TR分割・ワーニエ法・ジャクソン法
- TS=トランザクション、データの種類と処理内容によって分割
- STS=データの入力(Source:源泉)、変換(Transformation)、出力(Sink:吸収)の3つの種類に分割
- 構造化分析
- CRUDマトリクス:登録機能、参照機能、更新機能、削除機能
- 初心者が押さえておくべきのUML入門知識
- アクティビティ図=システム実行の流れと条件分岐を図示するための図
- データフロー図 - Wikipedia、DFDと省略される
- DFD(データフロー図)ってなに?DFDの概要と書き方をあわせて紹介 | Cacooブログ
- データフロー、プロセス、データストア、源泉と吸収
- アクティビティ図 - Wikipedia
- DFD(データフロー図)ってなに?DFDの概要と書き方をあわせて紹介 | Cacooブログ
- アーキテクチャ・デザインパターン・開発方法
- コデザインとは - コトバンク
- システムオブシステムズ | ISディジタル辞典-重要用語の基礎知識-第二版
- スプリント | Atlassian
- GoFのデザインパターンまとめ - Qiita
- デザインパターン = 過去のソフトウェア設計ノウハウをもとに、典型的なパターンに名前をつけて再利用しやすいようカタログ化したもの
- マイクロサービスアーキテクチャ
- マイクロサービスアーキテクチャとそれを支える技術 | さくらのナレッジ
サービスを構成する各要素をマイクロサービスと呼ばれる独立した小さなコンポーネントとして実装する
- 構造上、サービスごとに独立してデプロイ可能になり部分アップデートも容易になる
- ソフトウェア品質特性
- 外部品質、内部品質とは?ソフトウェア品質特性について | ソフトウェアテスト・第三者検証ならウェブレッジ | ソフトウェアテスト・第三者検証ならウェブレッジ
- 使用性は『利用者が理解、習得、利用がスムーズにおこなえる』かどうかを指している
- プログラミング
- MISRA C - Wikipedia
- override、overloadは多重定義
- TypeScriptでSOLID原則〜開放閉鎖の原則〜 | メンバーズエッジカンパニーブログ
拡張に対して開いていて(Open)、修正に対して閉じている(Closed)べき
- オブジェクト指向
- サブルーチン
- SEC BOOKS 共通フレーム2013
- 共通フレーム2013解説
- [共通フレームとガイダンス ] (https://www.ipa.go.jp/files/000062659.pdf)
- 共通フレーム2013の概要
- プロセス:システム開発作業を役割観点でまとめたもの
- アクティビティ:関連性の高いタスクの集まり
- タスク:アクティビティを構成する作業の単位
- どのようなプロセスで構成されているか確認
- システム要件定義プロセスでは、システム適格性確認要求事項を作成
- ソフトウェア要件定義プロセスも同様
- JIS X 25010:2013 システム及びソフトウェア製品の品質要求及び評価(SQuaRE)−システム及びソフトウェア品質モデル
- ソフトウェア製品の品質特徴:機能適合性,性能効率性,互換性,使用性,信頼性,セキュリティ,保守性、移植性
- 使用性 = 分かりやすさ、使いやすさの度合い
- 上記サイトの表1など
- 開発手法
- INVEST - Wikipedia
- 進化的モデル:必ず受かる情報処理技術者試験-キーワード
- 要求を最初に明確に定義することが難しい場合に適用
- 段階的モデル:はじめはコア部分のみ作る
- セキュリティ
- CRL (Certificate Revocation List) |SSL/TLS サーバー証明書 SureServer|サイバートラスト
- WPA2(Wi-Fi Protected Access 2)とは - IT用語辞典 e-Words
- AESを用いたCCMPを採用
- 情報セキュリティガバナンス
- 情報処理推進機構:情報セキュリティ:ITセキュリティ評価及び認証制度(JISEC):CC概説
- コモンクライテリア - Wikipedia
- プロテクションプロファイル = セキュリティ要件を特定する文書
- セキュリティターゲット = セキュリティ性能を指定する文書
- セキュアOS - Wikipedia
- コードサイニング証明書:コードサイニング証明書とは?|GMOグローバルサイン【公式】
- なりすまし防止・正規の配布元を証明
- 「クロスサイト・スクリプティング(XSS)」の脆弱性の種類
- OCSP:公開鍵証明書の失効状態を取得するための通信プロトコル
- CHAP:Challenge-Handshake Authentication Protocol
- 企画
- 特許
- DB
- その他
- バランスト・スコアカード - Wikipedia
- 財務・顧客・業務プロセス・学習と成長の視点
- キャパシティ(capacity)とは - IT用語辞典 e-Words
- バランススコアカード概要 BSCnavi
- NRE
製品の開発・製造工程のうち、設計や試作など一度だけ行われる工程。また、その費用(NREコスト)。
- VoIPゲートウェイ
- PBX = 主装置を指している
- VoIPゲートウェイ = アナログ電話網とIP電話網の中継装置、なのでPBXーVoIPゲートウェイールータという接続順になる
- ■ 単位の変換: SI接頭語
- WTO政府調達協定|外務省
- NOTICE|サイバー攻撃に悪用されるおそれのあるIoT機器の調査、注意喚起を行うプロジェクト
- パイプラインの深さをD,パイプラインピッチをP秒とすると,I 個の命令をパイプラインで実行するのに要する時間を表す式はどれか。ここで,パイプラインの各ステージは1ピッチで処理されるものとし,パイプラインハザードについては,考慮しなくてよい。 – ITめもっ
- SAN/NAS(サーバとの接続):ストレージの基礎知識:技術情報:日立ストレージソリューション
- フォールトトレラントシステム - Wikipedia
- TCP/IP通信の状態を調べる「netstat」コマンドを使いこなす:Tech TIPS(1/2 ページ) - @IT
- ネットワークコマンド(ipconfig、arp -a、ping、tracert、route print、netstat、pathping)
- ipconfig → DNSサーバのIPアドレスなどTCP/IPの設定状態、netstat → TCPコネクションの調査
- (株)日科技研:FMEAとは(工程分析)|製品案内
- RPC | IT用語辞典 | 大塚商会
- ISO/IEC 15288:2015 テクニカルプロセス
- System requirements definition process = 『利害関係者要求とシステム要求とトレーサビリティの開発』が成果の一部
- MTBFとMTTRとは?システムの故障や稼働はどうやって分かる?|ドスパラ通販【公式】
- Mean Time To Failure/Mean Time Between Failures
- 国等による環境物品等の調達の推進等に関する法律 | e-Gov法令検索
「環境物品等」とは、次の各号のいずれかに該当する物品又は役務をいう
- 「情報システム・モデル取引・契約書」第二版を公開:IPA 独立行政法人 情報処理推進機構
- 透過性 (情報工学) - Wikipedia
- 障害透過性 = 個々のリソースの障害をなるべくユーザーが関知しないようにして復旧できる
- カークパトリックの4段階評価法とは?研修のROI効果測定方法までを徹底解説 | HR大学
- OLAP(おーえるえいぴー):情報システム用語事典 - ITmedia エンタープライズ
軸を設定し、“地域ごとの製品販売実績”“製品ごとの地域別販売実績”というように軸を入れ替えて比較する(ダイス)、「地域別」「製品別」を固定して「月別」の推移を比較する(スライス)、...月別ではなく、さらに細かな日別のデータを表示する(ドリルダウン)などの操作を繰り返すことで行われる
- CSMA/CD
CSMA/CDではあらかじめ伝送路上に他のキャリアがあるかどうか確認し、存在していることを確認した際には両者とも送信を中止し一旦待機する
午後I
基本的には過去問に付属している講評を読みながら「〜の点をしっかり理解してほしい」「〜を心がけてほしい」と指摘される点でミスをしないように勉強する。4問から2問を選択する。専門用語の意味などは問われず、文を読んで理由などを文章で解答する形式が多い。また、一つの設問の解答のために、文章中の離れた箇所を確認する必要がある時もある。結構”癖(?)"があるように感じたので、全く対策せずに突破するのは難しいかもしれません
問われる点
過去問のページで公開されている「出題趣旨」より。『〜〜〜の能力を問う』、といった形で記載される。
- セキュリティ対策を考慮したデータ管理方法を定義して設計する能力
- 現行システムの問題を解決するためのアーキテクチャの決定・機能仕様の策定をする能力
- 顧客からの要望をもとに、新しい機能を定義して業務プロセスや情報システムを設計する能力
など。基本的には
- 現行システムの概要
- 各業務の詳細
- 現状の問題・改善要望
- 改善後のシステム・新機能の説明
が順番に書かれており、なぜそのように見直したか・設計したか・機能を追加したかを解答する。90分が以外と短く、30分かけて一問+30分かけて一問+見直し30分で時間切れ。
調べた用語など
解き方
個人的に思ったこと。
- はじめは各段落で何が書かれているかだけざっくり読めばok
- 冒頭の現行業務の概要だけはちゃんと読む(その後の話が頭に入ってこない場合があるため)
- 「なお、」「XYZは例外・対象外」などの補足や例外ケースがある場合、印をつけておく
- 属性名や属性名になりうるもの(法人番号、等)は解答で使用することがあるので印をつけておく
- 業務の制約や条件を満たすようにシステムが作られているかチェックして、システム側の条件が問われている場合は対応する業務を確認する
午後II
ここも講評を読みながら出題意図に沿った解答ができているかを確認する。 当日問題文を見てから文を一から考えるのは苦痛だったので、あらかじめネタになりそうなテーマをいくつか書いた上で挑む。
組込みシステムは仕事で扱う機会が少ないので勉強対象から外す。通常、午後2の3問目は組込みシステムが関係するものです。時間は2時間で一問選択、30分くらいで要点を箇条書きして、残りで文章作成という方針に。
実際の解答用紙の例:情報処理(最新版) - 解答用紙ダウンロード | 資格本のTAC出版書籍通販サイト CyberBookStore
問われる点
過去問のページで公開されている「出題趣旨」と「採点講評」を確認する。『〜〜〜を評価する』、『本文は〜〜〜を具体的に記載することを求めている』といった形で記載される。おそらくこれらで指摘された点を書くことができないとAランクは不可能。 各年度ごとに、ざっと論点を箇条書きできるように練習。箇条書きできない・うまく文で書けない箇所はちょうどいい言葉をググって調べて見つける。
採点講評で
実施事項の論述にとどまり、実施した理由や経緯など...読み取れない論述も見受けられた。...結論を導くにあたり、検討して取り組んだ内容を具体的に論述してほしい
と指摘されているように、問われている理由・経緯・具体的な評価指標は必ず書くことを意識する。
問いはア/イ/ウの3問構成で
- ア:対象となる業務システムの概要+α
- イ:設計方法とそのように対応した理由の詳細
- ウ:独自の工夫、例外対応や評価方法などイの詳細を詰めるもの
のような構成になっている(気がする)。なのでアとイはある程度事前にネタを出すことができ、ウをしっかり解答できるかが分かれ目だと思った。以下、過去問とその講評を見て問われている点を簡単に書き出したもの。
- 令和3年
- アジャイル開発における難易度や優先順位の決定について具体的に論述することを求めている
- アジャイルを選択した理由
- USの分類や規模と難易度の調整方法の選択理由
- USの優先順位付けの方法
- 業務要件の分析方法や設計結果について具体的に論述することを求めている
- 機能追加の背景と要求された要件の詳細
- 要求された要件をどのように分析し、設計したか
- 設計の目的と工夫
- アジャイル開発における難易度や優先順位の決定について具体的に論述することを求めている
- 令和1年
- UIを決定するまでのステップを具体的に論述することを求めている、ユーザビリティを重視した情報システムの設計能力と経験を評価する
- 利用者の特性と利用シーンの説明
- どのようなユーザービリティを重視して、どのように設計したか
- UI設計プロセスにおける工夫
- システムテストの区分け・配慮・テスト結果の確認方法などシステムテストの計画立案能力を評価する
- 対象となる業務システムの概要のみ
- テストを効率的に実施するための工夫
- テスト結果を効率的に確認する方法
- UIを決定するまでのステップを具体的に論述することを求めている、ユーザビリティを重視した情報システムの設計能力と経験を評価する
- 平成30年度
- 業務からのニーズに応えるためにデータを活用した情報の提供システム
- 業務からのニーズに応えるためのデータを活用した情報の提供
- ニーズの分析方法
- 情報の提供方法における課題
- 既存パッケージを業務システムに取り入れる際のギャップの解決などを具体的に記述する
- パッケージ導入の理由
- パッケージと現行業務とのギャップ、その解決方法
- ギャップの解決策の評価、改善余地の評価
- 業務からのニーズに応えるためにデータを活用した情報の提供システム
- 平成29年度
- 非機能要件を定義する能力と意思決定者への説明能力
- 対象となる業務システムの概要のみ
- 非機能要件の検討プロセスと結果
- 意思決定者に判断してもらうための工夫
- 柔軟性を持たせる設計とコスト増加を抑えるための工夫など全般的な設計能力
- 柔軟性を持たせる設計が必要になった理由
- 柔軟性を持たせるためにどのような機能にどんな設計をしたか、業務ルールも含めて解答
- 開発コスト増加を抑えるための工夫やその手法の評価
- 非機能要件を定義する能力と意思決定者への説明能力
- 平成28年度
- 業務要件の優先順位付をするための手順と評価法
- 対象となる業務システムの概要のみ
- 業務の評価項目の設定方法と重み付け
- 優先順位付
- 業務システム移行に関する設計と評価
- システム移行の概要
- 移行時の制約条件や業務上の特性による制約
- 業務に支障のない移行にするための工夫はあるか、そのような支障を想定したか
- 業務要件の優先順位付をするための手順と評価法
- 平成27年度
- 設計結果とその決定理由・利用者の理解dを高めるための工夫を論述する
- 対象となる業務システムの概要のみ
- システム要件を実現するためにどのようなシステム方式を設計したかと業務プロセスへの効果+実現可能性を評価
- 上記システム方式設計を利用者に説明する際の工夫
- 既存の業務機能の変更・追加をする際の工夫について具体的に論述する
- 機能変更が必要になった業務課題は何か
- どのような変更が必要で、なぜそれで課題を解決できると判断したか
- 既存機能・既存システムへの影響を最小限にするためにどんな工夫をしたか
- 設計結果とその決定理由・利用者の理解dを高めるための工夫を論述する
- 平成26年度
- 例外的な状況でも業務プロセスが実行できることを想定した状況について具体的に論述
- 対象となる業務システムの概要のみ
- システムで解決しようとした課題について
- 例外的な状況でもシステムを動作できるように、想定した内容・起こり得る状況とその対応を述べよ
- データ交換が必要なシステムでの設計・異常への対応について
- データ交換を利用する目的
- システムの制約事項を述べ、それをふまえてどのように設計したか
- データ交換に伴う異常をどのように想定したか、そしてどのような対応をしたか
- 例外的な状況でも業務プロセスが実行できることを想定した状況について具体的に論述
調べた用語など
- 合格論文の書き方
- システムアーキテクト試験(SA)の論文答案の書き方 - ysadaharuhatenablog
作文
以下はなんとなく書くならこんな感じだろうか、と書いてみただけなのでこれで受かるかもしれないし逆に不十分かもしれません。
(ア)
対象の業務と情報システムの概要+αが聞かれることが多い。
- 業務の流れ
- なぜシステム開発が必要になったか
- 一般的なシステムと比較した際の、この業務・システムに特別な点で、後程議論で触れる箇所
を書くようにする。そして、イ・ウで「その特性だからこの選択をした」とつなげられるようにする。
ア-1:対象の業務 Xを運営するYでのZ業務が対象となる業務である。Z業務では、AのデータをもとにBを作成し、Cを顧客に提出する。現行のシステムは...という問題があり、今回あたらにシステムを刷新することとなった。 対象業務の性質として、AAAのためにシステムのダウンタイムは最小限にする必要があることが挙げられる。また、BBBのためCCCサービスが停止した場合でもシステムを停止することができず、システムを稼働させ続ける必要がある。 ア-2:情報システム 対象となる情報システムにはAAA機能・BBB機能・CCC機能・DDD機能がある。特に、DDD機能で扱うデータには保有個人データを多く含んでいるため高い機密性が求められる。また、AAA機能は顧客が頻繁に使用する機能であり、使いやすさが顧客満足度に直結する機能であるため、...を満たす必要がある。
(イ)
本題であり、分析・設計した内容+どのようにしたか・なぜそうしたかが問われることが多い。問題ごとに聞かれることが違うのでテンプレ無し、問いに答えて定量評価をしっかりする。
イ-1:業務要件の分析 はじめに、非機能要件について整理する。先述した『AAA』という制約があるため、・・性について詳細に要件を決めるべきとした。また、『BBB』のため、機密性・信頼性も検討すべきと判断した。 イ-2:〜〜〜〜 要件分析では〜〜(以下の概要)〜〜した。要件分析の際のプロセスを以下に示す。 ① ② ③ ... イ-3:最終的な設計 イ-2での分析やXXXへの有識者への聞き取り調査を経て、以下の結果を得た。 ①XXXがYYYとなる ②AAAはBBBとCCCによって... ③DDDでシステムを構成し、Cのシステムが稼働していない場合は...とする ②の「PPP」という数値について、この時間が長いほどA社の顧客への影響が大きい。そのため、A社の〜〜〜にOOOを説明し、〜〜〜をすることによってリスク許容度を判断した。...
(ウ)
特に決まった質問はないが、(イ)における工夫点を聞かれることが多い。 (イ)をする上で独自に行った対策を、(ア)で触れた扱う業務独自の特性に絡めて解答するのがいい?「なぜそうしたか」をしっかり答える。
ウ-1: ・・性の高いシステムの検討 イ-2の分析の結果、・・性が〜〜〜を達成する必要があった。これを達成するためには、単に使いやすいGUIをデザインするだけでなく、LLL・KKKチームと共に目標を共有し...する必要がある。これは、〜〜〜の数値が....の施策によっても変化するためである。LLL・KKKチームは〜〜〜のため、連携するためには以下の工夫をした。 ・ああああ ・いいいい これらの工夫は、AAAの視点から効果的だったと判断した。また、ZZZによって継続的にAAAを評価できるようにすることで、...の対策をした。
話題にできるトピック
- 品質・評価
- ヒアリング・要求獲得
- ヒアリングの準備 | 日経クロステック(xTECH)
- 畑中翔太, and 久代紀之. "問いを中心としたステークホルダの課題獲得手法." IEICE Conferences Archives. The Institute of Electronics, Information and Communication Engineers, 2013.
要求獲得の成否には課題の設定が重要
- 進化型要求獲得手法 | 東京大学大学院工学系研究科 東京大学大学院工学系研究科 システム量子工学専攻 大澤研究室 久代紀之
- 失敗しない要件定義とリスク対策~システム(再)構築上流工程の強化に向けて~
主要な要件定義成果物作成上の留意点 ... プロジェクトに最適な記述形式を選択
- なぜそれを使用したかの理由も述べるべき、p51『作成時の役割分担』の例も参照する
- ストーリーボードを使ったUXデザインのためのアイデア発想法とは? | えそらLLC UX ブログ
- 優先順位付
- 柔軟性をもたせた設計
- エラー処理設計・例外対応
- 分散システムでのフォールバックの回避
- エラー処理設計:対処方法をシステム全体で定める
- チェックリストを作る・問い合わせに対応しやすい仕組みにする等
- システムの再構築
「現行踏襲」の「現行」の認識に,ギャップが発生する場合がある
- 以下の資料は『過去の問題化案件の知見から抽出した,再構築の企画段階で検討すべき観点を説明』しているので参考にする
- ヒアリングや調査を経て現行システムを整理、再構築の目的と要求事項を追加し、コア実装から変更すべきか・業務仕様を変更すべきか・使用している言語を変更すべきか等を決め、投資対効果・リスク抽出と対応方法を決めて再構築手法を決める
- リスク評価の基準などは、プロジェクトごとにある程度テーラリングして使用する
出典:失敗しない要件定義とリスク対策~システム(再)構築上流工程の強化に向けて~
- その他
- AI倫理
- 公平性、説明責任、及び透明性(FAT)の原則
- AIと倫理 – いまAI倫理が議論されている3つの理由を踏まえて、倫理を考える | AI専門ニュースメディア AINOW
- 国内外の議論及び国際的な議論の動向(令和元年)
- AI倫理
過去問
- IPA 独立行政法人 情報処理推進機構:問題冊子・配点割合・解答例・採点講評(2021、令和3年)
- IPA 独立行政法人 情報処理推進機構:問題冊子・配点割合・解答例・採点講評(2019、平成31年、令和元年)
- IPA 独立行政法人 情報処理推進機構:問題冊子・配点割合・解答例・採点講評(2018、平成30年)
- IPA 独立行政法人 情報処理推進機構:問題冊子・配点割合・解答例・採点講評(2017、平成29年)
- IPA 独立行政法人 情報処理推進機構:問題冊子・配点割合・解答例・採点講評(2016、平成28年)
- IPA 独立行政法人 情報処理推進機構:問題冊子・配点割合・解答例・採点講評(2015、平成27年)
- IPA 独立行政法人 情報処理推進機構:問題冊子・配点割合・解答例・採点講評(2014、平成26年)