高度情報処理技術者試験やAWSに合格するための方法

高度情報処理技術者試験やAWSに合格するための方法を書きます。

システムアーキテクト【SA】試験合格への道①-2

   

このページでは、システムアーキテクト試験に合格するためのポイントの1つ

①午後2対策

①-2:汎用性の高い架空システムの準備

について記載します。

 

<目的>

本ブログの目的は、「本試験の問題文に記載された条件に合致するシステム開発事例を瞬時に創作すること」にあります。

これを目的と考える背景を以下に記載します。

 

<背景>

まず、システムアーキテクト試験の資格取得を検討されている大半の読者の皆様は、過去に様々なシステム開発を経験されてきたと思います。

ただし、本試験の問題文に記載された条件に合致するシステム開発を実際に経験された方が果たしてどれほどいらっしゃるでしょうか。

勝手な想像ですが、そのような経験をされた方は一握りだと考えています。

つまり、大半の読者(本試験の受験生)の方は、経験がないシステム開発に無理やり合わせたうえで論述しなければならず、途中で論理矛盾等が発生する可能性が高くなると考えます。

このような問題が発生しないようにするための対策ということです。

 

私が考えたプロセスを以下に記載します。

なお、このプロセスは下記の書籍を読み込んだうえで考え出した方法です。②-2でも紹介しましたが、おすすめです。

合格論文の書き方・事例集 システムアーキテクト 

 

<具体的な方法> 

1:まず、自身が得意とする業務を1つ選んでください。私の場合は、市役所の個人住民税業務を選びました。

 

2:その業務の特徴を整理してください。

個人住民税業務の特徴は以下の通りです。

・毎年、必ず何らかの法改正が発生する。

・業務の繁閑の差が激しい。1月から4月が繁忙期、5月から6月は準繁忙期、それ以外は閑散期。

・税額計算を誤るとマスコミ報道等の市役所の信用失態を招く可能性がある。絶対に誤ってはならない。

・税額を正確に計算するためには、税額計算の基になる収入や所得、控除等の金額が正しいかを把握する必要がある。

 

3:その業務の中で重要な事務と重要ではない事務を整理してください。

個人住民税業務では以下の通り。

・重要な事務

個人特定、税額計算、税額計算の元になる収入/所得/控除等の金額チェック

 

・重要ではない事務

他団体への所得照会、被扶養者の把握

 

4:関連する他業務を整理してください。

個人住民税業務の場合は以下の通り。

・住民記録

・税収納

生活保護

 

5:1~4を元に開発システムの特徴を整理してください。

また、その特徴を踏まえたシステム開発におけるポイントを整理してください。

ここが最も重要な部分です。

たくさん用意できれば、その分、本試験時に柔軟に対応できるようになります。

・特徴1:

毎年、何らかの法改正に伴うシステム改修が発生する。本稼働後の保守フェーズに移行した後も、システム改修に係る一定の費用が発生する。

・ポイント1:

本稼働後の保守費を低減するため、システム開発時に極力カスタマイズを行わないことが肝要。

 

・特徴2:

法改正に伴い上記3に記載した「金額チェック」の仕様が頻繁に変更になる。具体的に言うと、金額チェックに関する「チェック必須」「チェック任意」「チェック不要」等が頻繁に変更になる。

・ポイント2:

金額チェックに対する「チェック必須」「チェック任意」「チェック不要」をプログラムのコーディングではなくデータベースの値で制御できるようにする。これにより、金額チェックの仕様変更に係るシステム改修費を抑えることが可能。

※このポイントを実現することで、システムアーキテクト試験の頻出テーマである「柔軟性をもたせた設計」という要求事項を満足することが可能になる。

 

・特徴3:

来庁する市民を長時間待たせてはならない。市民は主に「 ①所得照会」、「②所得更新」、「③税証明書の発行」を実施する目的で来庁する。

・ポイント3:

要件定義の際にユーザと非機能要件を定義する。ユーザ側で非機能要件の指標が明確になっていればそれに従えばよいが、提案を求められた場合は、当該ユーザと同程度の人口規模における実績(他団体の事例)を元に提案することが肝要。

提案内容に説得力を持たせることでユーザとの合意形成が容易になることが理由。

非機能要件の具体的な内容は以下の通り。

・①所得照会:オンライン画面の検索性能(繁忙期で3秒以内)

・②所得更新:オンライン画面の更新性能(繁忙期で5秒以内)

・③税証明書の発行:オンライン画面の帳票発行性能(繁忙期で7秒以内)

 

・特徴4:

市役所の開庁日は常にシステムを稼働させておく必要がある。来庁する市民が市民サービス(所得照会、所得更新、税証明書の発行等)を受けられないという事態は避けなければならない。

・ポイント4:

特徴3と同様に要件定義時に非機能要件を定義する。具体的には来庁する市民への対応を最優先に考える場合はオンラインサーバやデータベースサーバを冗長化することや、稼働系から待機系への切り替えを自動化することによる可用性の確保等である。

 

 ・特徴5:

繁忙期にシステムを利用するユーザ数が多い(数千人規模など)。システム開発時に実施する性能テストで数千人もの要員を確保できないことが原因で、本稼働後に性能面で運用に耐えられないような致命的な問題が発生してしまう可能性がある。

・ポイント5:

人力ではなく自動でオンライン画面の操作が可能なツール(RPAなど)を性能テストで使用することで、繁忙期と同程度の状況下で性能テストを実施することが可能になる。

 

6:前述した1:〜5:の情報を繋ぎ合わせて、

・業務(又はシステム)の概要

・業務(又はシステム)の特徴

・業務(又はシステム)に対する要求事項

を、全部で600字程度の文章になるよう準備して下さい。この際、複数の情報を組み合わせれるようにして下さい。

 

これで、本章でお伝えしたかった汎用性の高い架空システムの準備が完成します。

前述した2:〜5:の情報を事前に沢山用意しておくことで、本試験時に指定されたシステム開発に合わせることができるようになります。

また、たとえ事前に準備した情報が本試験の条件に合致しなくても、この訓練をしておくことで本試験の条件に柔軟に寄せることができるようになります。

 

なお、前述した1:〜6:の情報について、経験がないという理由たま整理できないという方は、本ブログの冒頭で紹介させていただいた書籍をおすすめします。


 この書籍には合格者の論文が沢山掲載されていますので、合格者の論文から前述した1〜6の情報を抜き出すことで準備ができます。