見出し画像

情報系国家資格とはどんなものか?

おはようございます。またはこんにちは。もしくはこんばんわ。マゲっちSCと申します。9月12日の朝を迎えました。愛媛松山はまだまだ暑いですね。夜はやっと23度台まで下がり始めましたが、熱帯夜が25度以上ということを考えるとあまり大差がない気がしますね。台風14号も近づいてきており、今日は曇りか雨の天気となりそうです。

さて、前回のブログではプログラムについてざっくりとお話をしました。コンピュータに命令を出すための指示書は、どんな言語で記述されていても構いませんが言語によって向き不向きがあります。最近どの言語がトレンドなのかはネットで検索すると出てくると思いますので、気になる言語があれば勉強してみてください。プログラミングによって様々なソフトやアプリ、システムが組めるようになるとなかなか面白くハマってしまう人もいるようです。私はもともとは文系の人間ですが、プログラムの勉強はハマってしまいました。

基本情報技術者試験について

では、基本情報技術者試験についてのお話をさせていただきます。試験時間は約6時間となります。そして試験時間帯は午前と午後に分かれており、途中で昼食の時間が取られます。「約」とつけたのには理由があり、試験を早く回答し終えた場合試験終了前に会場を出ることができます。退出可能時間としては午前が試験開始後60分から試験終了10分前までの間。午後が試験開始40分後から試験終了10分前までです。試験がすべて終了するのはだいたい16時頃なので1日がかりです。問題冊子は持ち帰ることができるので、試験の回答を問題冊子に記入しておくとその日の夜に発表される回答集で正解か間違いかを自己採点できます。基本情報技術者試験の場合はすべての回答はマークシートとなりますので、自己採点を行って60点以上取れていれば合格となります。午前も午後もそれぞれが100点満点となります。もし午前の得点が60点未満だった場合はその時点で不合格となります。回答集も合格発表もネット上で公開されます。特に合格発表は受験番号で検索をかけますので、合格発表まで受験票は捨てないようにご注意ください。また、自己採点結果が合格だったとしてもマークミスで点が取れていない場合もありますので、自己採点で60点台だった場合でも実際の合格発表が行われるまでは油断しないようにしたいものです。ちなみに資格試験は4月と10月の第3日曜日に行われますので、今から勉強して最短で受験するとなると2022年4月となります。

コンピュータの基礎

では午前の出題範囲ですが、まずはコンピュータの基礎理論です。簡単に言うと中学生レベルの数学の知識が問われます。普通の計算の他に2進数、10進数、16進数の知識が問われます。情報処理のため情報とはなにか?に関しての他、現在はインターネットでのやり取りが当たり前の社会であるため、通信に関する基礎知識も問われますね。数値計測や制御に関する知識も問われます。

アルゴリズムとプログラミング

続いて必要な知識がデータ構造です。簡単に言うとデータ管理やデータ蓄積についてなので、データベースの基礎とも言えるでしょう。場合によってはプログラミングで使用する関数の知識も必要です。続いてアルゴリズムの知識ですが、これは何かというと計算手順のことです。例えばゲームでよく敵キャラクターが一定のスピードで一定の方向へ進んでいたり、一定数失敗するとゲームオーバー画面になるというような感じで、何をどうしたらこうなるとか、自動でプレイヤーキャラ以外を動かすためのものです。最近ではキャラの性格をアルゴリズムによって反映させているものもありますね。そしてその計算手順をもとにコンピュータ上で記述していくのがプログラムとなります。プログラムを記述するためにはまずアルゴリズムを確定させる必要があります。そしてプログラムを記述するためのプログラム言語の基礎知識と実際に簡易的なプログラムを記述できる知識が必要になります。また、最近ではマークアップ言語の問題も出題されるようです。ちなみにテストで出題されるプログラム言語としては、C言語、Java、Python、アセンブラ言語(CASLⅡ)、そして表計算(おそらく関数の問題)の問題があり、その中からどれか一つを選択する形式になっています。私はC言語で受験しました。

コンピュータ構成要素

続いてハードウェアです。CPU、メモリ、バス、入出力デバイスなど実際に手で触ることができる部品の基礎知識です。私も過去のブログでそれぞれの基礎中の基礎についてお話させていただきましたが、それをもう少し専門的にした知識が問われます。主に午前の範囲として出題されますが、午後にも少し出題されます。最近良く利用するUSBも出題されます。

システム構成要素

続いてコンピュータ同士を連携させて作るシステムの構成とその評価指標についての基礎知識です。例えばサーバとルータ、ネットワークスイッチやネットワークハブ、そしてそれらの機器ではどのような情報が取り扱われているのかという知識が必要になります。システムの評価指標というのは実際にコンピュータやルータなどを導入して一つのシステムとして稼働させた際に行う性能テストの知識です。例えばシステムに処理命令を出したあと反応が返ってくるまでの時間(レスポンスタイム)や、システムに処理の命令を出したあと、処理が完了するまでの時間(ターンアラウンドタイム)の知識であったり、システムが故障する確率や平均故障時間、平均稼働時間などの計算を行う知識も問われます。

ソフトウェア

続いてコンピュータで必ず必要になるソフトウェアの基礎知識です。OSやミドルウェアの基礎知識ですね。ミドルウェアというのはあまり聞いたことがないと思いますが、簡単に言うとOSとソフトウェアの中間にあるものでウェブサーバなどのサーバの中に組み込まれています。PCでは特にミドルウェアの概念はないため耳馴染みがないだけですね。そして、OSにはファイルシステムが存在しています。ファイルシステムとはコンピュータ上で作成したファイルやデータの保存や読み込みに関する基礎知識ですね。HDDやSSDなどの補助記憶装置とのデータのやり取りのことです。そして開発ツールや開発手順の基礎知識も問われます。そしてオープンソースソフトウェアの知識も必要となります。オープンソースとは開発者がプログラムのソースコードを無償公開しているもので、利用はもちろん改変や再配布が自由に行えるように許可をしているものです。代表例としてはLinuxOSがオープンソースソフトウェアとして有名ですね。

ヒューマンインターフェース

いわゆるユーザインターフェイス(UI)の基礎知識です。CUIやGUIの基礎を問われます。また、GUIにおけるアイコンやウィンドウ表示などの知識であったり、それらを扱う入力機器となるキーボードやマウスなどのポインティング・デバイスの知識も必要となります。しかし、いくらポインティング・デバイスを使用して視覚的、直感的に操作可能となったとしても、画面上に表示されるテキスト表示位置やボタンの表示位置に統一性がない場合システムは扱いづらいものとなるため、それらの標準化に関するUI設計の知識も問われます。

マルチメディア

マルチメディアと聞くとかなりざっくりした印象になりますが、映像や音声、文字や画像などの様々な情報を組み合わせた複合的なものをひとまとめにして扱う複合媒体のことです。最近で言えば動画サイトに投稿されている動画がマルチメディアに該当します。最近では3DCGによるグラフィックも仏に使用されているためグラフィックメモリに関する基礎知識も問われます。

データベース

続いてデータベースの基礎知識です。データベースとはなにかということはもちろんですが、それの操作方法や設計に関しての基礎知識、そして、トランザクション処理(複数の関連性のある処理をひとまとめにしたもの)の基礎知識が問われます。例えばウェブサーバ上で新規で会員登録をした場合に、入力された氏名や年齢、メールアドレスや電話番号、生年月日やアカウントなどをデータベース上に保存したり、次回ログイン時にアカウント情報をもとにしてユーザを特定し、そのユーザに対してどの情報を開示するかをデータベースを参照して決定したりします。ECサイトやオンラインゲームでIDとパスワードを入力するとユーザが特定できるのはデータベースのおかげなのですが、それの設計や運用の基礎知識、プログラム内に記述するデータベースへの操作命令の知識が必要になります。

ネットワーク

現在の社会では企業内や家庭内などのネットワークに関しての知識とその管理方法の知識が問われます。また、データ通信とその制御方法や通信プロトコル(通信規約)の基礎も問われます。また、外部からの不正アクセスにどのように対処すればよいのか?というルータやネットワークスイッチなどのルーティング設定の基礎知識が必要になります。この分野を勉強しておくと家庭内でWi-Fiルータを設置する際にとても役立ちます。以前不正アクセスに関してお話させていただきましたが、より深く理解できるようになるかと思います。

セキュリティ

ネットワークといえばセキュリティ対策も必要です。先ほどのルーティング技術もそうですが、情報を守ったり漏えいさせないようにするための技術と組み合わせる必要があります。例えばデータの暗号化と復号化に関しての知識であったり、それらをいかにしてコンピュータ・システムに実装するかという基礎知識が問われます。

システム開発技術

ソフトウェア開発に関しての基礎知識ですね。プログラム言語ではなくソフトを設計して無事に製作終了までの一連の流れに関してになります。まず、何らかのソフトウェアを作成したとします。しかし、そのソフトウェアが実際にコンピュータ上で動かなければ意味がありません。そのソフトの動作に対してどのくらいの処理が可能なハードウェアが必要なのかとか、そもそもソフトの設計をどうするのかとか、ソフト開発に関しての構築や開発方針であるとか、開発後のテストで確認するポイントを決めるであるとか、リリース後の保守に関してであるとか、古くなったソフトウェアをどう廃棄するのかという部分になります。

ソフトウェア開発管理技術

上記のシステム開発技術をさらに細かくしたものの基礎知識を問われます。ソフトウェアの開発プロセスや手法をどうするかはもちろんですが、開発を行う環境の管理を行ったり、ソフトウェアの構成を管理したり、機能の追加などを行った場合に変更内容をきちんと管理しておかなければなりません。またソフトウェアは知的財産ですので、それをどうやって管理したり運用したりするのかの知識も必要になります。

プロジェクトマネジメント

実際にはプログラマーというよりはシステムエンジニアの目線になります。ソフトウェア開発は1つのプロジェクトとして管理されますが、使用できるコンピュータの台数や客先への納品日から逆算していつまでにどの機能を開発・実装しなければならないかとか、それらの機能を開発・実装するにあたってかかるコスト計算。そして開発要員が足りなくなるなどのリスクヘッジを行ったり、ソフトウェアの品質管理に関してや、開発要員同士やシステムエンジニアからプログラマーへの情報伝達を行う際の管理などの基礎知識が問われます。

サービスマネジメント

そしてお客様に購入していただいたソフトウェアやシステムの管理としてどのようなアフターフォローを行うかのサービスに関しても設計する必要があります。サービスに関しての管理やサービスそのものの設計と仮に譲渡などでサービスを移管する際にどうするのかというルールを決めておく必要もあります。また、サービス管理の流れも決めておかなければなりませんし、もし運用中にトラブルが起きた際にどう対処するのかも決めておく必要があります。そして実際のサービスの運用に関する知識も必要です。また、ネットワークを使用する場合はデータセンターやサーバルームなどの建物(固定資産)に関しての管理も行わなければなりません。それらの基礎知識が問われます。

システム監査

システム監査とは企業の保有している情報システム管理状況を外部から客観的に見て評価するための知識です。システム監査に関しての資格は別途あるのですが、この試験でのシステム監査はそれに関する基礎知識が問われます。点検や評価・検証によって組織体の経営活動と業務が問題なく効率よく行われるかどうかの基礎知識ですね。このあたりになると経営者としての目線になります。

システム企画

こちらも経営者としての目線となりますが、現在の業務をシステム化してより効率的に行うための計画を立てたり、その要件を定義したりシステムに使用するためのコンピュータなどをどう調達するのか?という基礎知識が問われます。

経営戦略マネジメント

企業がコンピュータ・システムを使用してその企業を経営していく際の戦略手法であったり、マーケティングを行う手法であったり、マーケティングで得た情報を利用してビジネスとしてどのようにユーザに提供するのかという方法とその目標。そしてそれらを行った際の結果の評価を行うために必要な基礎知識が問われます。

ビジネスインダストリ

コンピュータ・システムを使用してビジネスを行う際に必要なシステムに関しての基礎知識やそれらの管理を行う際のシステムの基礎知識、更にはインターネットを利用して行うビジネスの基礎知識。一般の人が利用できる機器と産業用の機器の基礎知識が問われます。

企業活動

ここからは情報処理というよりは経営や組織とは何かという基礎知識や、会計・財務に関しての基礎知識が問われます。実際に情報システム会社を起業した際に必要な組織論や損益計算を行って経営が問題なく行われているかどうかの基礎知識が問われます。

法務

情報システム会社を経営するにあたって遵守すべき法律の基礎知識です。ソフトウェアやシステムは知的財産であるため、それらの権利をどう管理・主張するかであったり、顧客情報が外部にもれないようにするための法律の基礎知識が問われます。また、労働者の管理も行う必要がありますが、労働者は正社員であったり契約社員であったりしますし、場合によっては出向や派遣社員の管理も必要になります。そのための法律の基礎知識が問われます。また、企業経営をするにあたって様々な協力会社や関連企業などとの取引が発生しますが、その際に遵守すべき法律の知識も問われます。

出題形式

試験の制限時間は午前も午後も同じで150分間となります。ただし、出題傾向は全く違うと言ってもいいでしょう。午前は問題が80問設定されており、上記の中からジャンルに関係なく出題されます。選択肢は4つ用意されており、その中から正解だと思う番号をマークシートにマークします。60点以上で合格となるため48問正解していれば大丈夫です。午後は問題が11問出題されますが、実際に回答するのは5問でその中で60点以上を取っていれば合格となります。午前のみや午後のみの合格ではなく午前と午後両方の合格をもって基本情報技術者試験合格となります。

個人的な意見を言わせていただけるなら、実際に抑えておくべきはコンピュータの基礎、コンピュータシステム、技術要素、開発技術になります。正直なところ経営や法律に関しては基本情報技術者試験を受ける上でピンとくる人はほぼいないはずです。簿記試験の経験者や合格者は会計や財務の問題で正解することもできると思いますので、他の受験者よりは若干有利になるかとは思いますが、やはりコンピュータに関しての出題が当然高くなりますので、経営や会計、法律に関してはプラスアルファという捉え方で充分でしょう。私は経営や会計、法律に関しては全く無知でしたが合格しました。ただコンピュータの知識も実に千差万別でありそれぞれの分野でやはり得意・不得意は出てしまいます。私はネットワークは得意でしたが、アルゴリズムやデータベースは苦手でした。不得意分野を克服するのもいいのですが、それよりも得意分野での点の取りこぼしがないようにするのが合格のポイントであると思います。もちろん不得意分野の克服も得点源になるので有効ではあります。

それでは次回のブログネタですが、デュアルモニターのお話をさせていただけたらと思います。PCはモニター1枚あれば充分といえば充分なのですが、モニターを2枚にするとどの様になるのでしょうか?私はゲーム用と多目的用モニターとして現在デュアルモニターの環境でこのブログを書いています。アップが終わったら本日は日曜日なのでゲームでもやろうかと思っています。ご興味がありましたらまたお立ち寄りください。それでは失礼いたします。

この記事が気に入ったらサポートをしてみませんか?