【AP午後R05秋問8】応用情報技術者R05秋情報システム開発の解説
このNoteは、問8をリアルタイムで解きつつ解説します。
「どう読んで」「どうマーキングして」「どう解くか」の流れを一緒にやりましょう。私がIT専門学校でしている授業と同じ。
「情報システム開発推し」でも「単なる解説」でもありません。問8を通して、「なぜ選んだか」「どう得点するのか」「何を学ぶのか」を伝えたいです。
過去問を見ると、ネットワークやデータベース以外に再現性はあまりありません。毎回題材が違いますよね。
私は学生時代に、応用情報技術者試験の午後は88点で独学合格し、現在はIT専門学校で授業をしています。
「4問のどれを選択するか」。
私は、ネットワーク・データベース・組み込み・プロジェクトマネジメント・サービスマネジメントの優先順で対策をしています。逆にプログラミングは絶対に選びません。>>問題の選び方対策Note<<
今回の問8。情報システム開発は、魅力的です。
「解き始めるまでに読む分量が」少ないので、「それだけ」でぜひ選択したい問題です。
得点も期待ができます。
得点しやすい選択肢が多い
解き始めるまでの文章量が少ない
実際、マーキングも読み直しも少なく、15~20分で解けました。私は25分で組んでいるので、5~10分を別の問題に回せます。>>本試験の時間配分Note<<
得点も7~9割が狙え、6割を切ることはまずありません。
選択肢に知らない用語が少しあり、設問3(2)は失点覚悟なのは判断難しいです。とはいえ、他の問題が「解き始めまでの文章量が多い」ので、問8の魅力は衰えません。
よって私は本試験で問8を選びます。
長くなってすみません。それでは始めましょう。
選ぶ3つの理由
>>問題選びの3視点<< で解説した視点で分析し、「選んで良さそう」と判断しました。
回答形式:選択肢が多く、作文も20文字で短め。計算問題が1問あるが、足し算でなんとかなりそう。
解き始めるまで読む分量:穴埋めaが1頁目最後。図を抜けば0.6頁で到達できるのは貴重!
図表:図1はアプリ画面、図2は処理一覧。パッと見て「特別な解釈は要らなそう」なので良いですね。
以上より、私なら間違いなく選びます。
特に他の問題が、「解き始めるまで読む分量」が多いので、1頁以内に解き始められるだけで「即決定!」です。
時間があれば選択肢(用語)も見る
一応、用語系の選択肢は確認しても良いです。ただし、>>本試験の時間配分Note<<の通り、問題選びは5分以内は厳守です。解きを圧迫しては元も子もありません。
「全然知らない用語がどれくらいあるか」。1個なら消去法が使えるので問題ないですが、2個ならちょっと考えちゃいますね。
設問1について。
Javaアプレット:Webブラウザ側で動くプログラム。なお、Javaサーブレットは、サーバ側で動くプログラム。午前問題レベル。
Webアプリケーション:Webブラウザ側で動くプログラム。Javaアプレットは一種です。
コンソールアプリケーション:コンソールはコマンドを打ち込むウィンドウ。ハッカーさんがキーボードカタカタしてますよね。
ネイティブアプリケーション:ネイティブとは「地元」。つまり、端末で動くソフトのこと。
設問2について。
イベント:プログラムが動作をするキッカケ。マウスを操作する、ボタンが押されるなど。
ウィンドウ:GUIでの各アプリ表示のこと。今もWebブラウザなどPCでたくさん開いてますね。
スレッド:プログラムの実行単位(細かい)。
プロセス:アプリの実行単位。
設問3について。forkだかwaitだか、スレッド管理について。
それぞれ知らないでしょうし、今後も出るとは思えません。「英語は分かるので推測して、問題文にヒントがなければ、失点も止む無し」と考えます。
それでも選択肢が多く、作文短く、解き始めまでの文量の少なさは引き続き魅力でした。
とはいえ、他の問題に対して、選択肢の多さ・作文の短さ・読む分量が優れているので、問8を切る判断こそ難しいです。
読みの2つのコツ
読みのコツは2つ。
しかし今回は、設問1も2(1)も用語系の穴埋めなので、目的を持たなくて良さそう。「理由」を問われていたら「問題文に理由のヒントがあるはず!」と読むのですが。備えには残念ですが、気軽に読めるのは楽。
さくっと読めて、マーキングも少なくてすむ問題でした。珍しい。(問10なんてマーキングだらけになるのですが)
マーキングは大事です。
「問題文の読み直し」が一番ロス。マーキングによって情報へのアクセスがスムーズに。
いきなり計算問題がでても、すぐに数値を搔き集められます
作文する時に使う言葉も分かります
怪しい点がピックアップできると、問題のヒントが見つけやすいです
なお、名称の四角囲みは最初の1回目だけ囲み。1回目にどんな組織かどんなシステムかの説明があるので、「何だっけ?」と忘れてもすぐに解決。
読み | 最初の段落
最初は今回の「舞台」が説明されますね。
大した情報はなくて、「スマホ向けサービス始めるのね」程度。
マーキングポイントは、
「50店」を丸囲み:ひょっとしたら計算問題でるかも
「新サービス」を四角囲み:作文で使うかも
読み | 【新サービスの機能】
図1まで特にないです。
図1の「ご来店」は、予約日ということなのかな?と少し疑問ていど。
読み | 【新サービスを提供するアプリケーションソフトウェア】
分類の話ですね。
長文ですが、箇条書き的に捉えられたら良いです。捉えてなければ、書き出しましょう。 情報整理・情報圧縮をしながら読み進めます。
アプリケーションソフトウェアには2種類。
サーバでHTML生成して送信する【穴埋めa】
スマホにインストールして実行する【穴埋めb】
読みでは以下2点を意識します。
解き | 設問1
まず正解から。
サーバでHTML生成して送信する【穴埋めa】「イ:Webアプリケーション」
スマホにインストールして実行する【穴埋めb】「エ:ネイティブアプリケーション」
用語の知ってる知らないは人それぞれですが、正解引きでも消去法でも良いので満点取りたいですね。
少なくも、「ウ:コンソール」だけは消して欲しいです。
あと「ネイティブ」も使いますが、端末のことを「ローカル」とも云います。
「ア:Javaアプレット」で迷った方もいるかもです。次のセクションで「Java言語を用いてスマホアプリ~」と書かれているので。
ただこれでも「ア:Javaアプレット」は打ち消して欲しい。
問題文の趣旨はアプリの「種類」です。Java言語に限定した話ではありません。サーバでHTMLを生成する系なら、PHPなどもあります。
よって、ウとアを削って、イとエになり。「イのWebアプリは、インストールしない方でしょう」と、解答が確定します。
読み | 【トップ画面の開発】
設問を見ると、(1)はただの用語。(2)の「ワーカースレッドで実行すべきでない処理」のヒントを探す目的で、問題文を読みます。
なお「ワーカースレッドなんて知らない」でも気にしません。午前問題で出ない用語は、問題文に説明やヒントがあるはずですから。
「知識不足」に恐れず「午前問題で知るべきことは結構知ってる!」と少しでも自信を持ちましょう。
さて、話は並列処理について。
並列処理の仕組みには2つ。
独立したメモリを割り当てて実行する【穴埋めc】
メモリを共有して実行する【穴埋めd】
穴埋めa, bの時と同様、箇条書きで捉えられましたか?
次は、スレッドの話でした。
メインスレッド:画面UIに関する処理をする
ワーカースレッド:処理時間が長い処理をする
穴埋めc, dと下線①に到達したので解きに入ります。区切り良く解ける良問です。うまい構成。
解き | 設問2(1)c, d
まずは正解から。
独立したメモリを割り当てて実行する【穴埋めc】:「エのプロセス」
メモリを共有して実行する【穴埋めd】:「ウのスレッド」
プロセスの中に、スレッドがたくさんあるイメージです。
せっかくなので見ても良いですね。
Windowsの下のタスクバーの上で、右クリック、タスクマネージャー。「プロセス」タブがありますね。
ここまででも、充分進歩ですね。
昔のWindowsでは、プログラムが応答しなくなったら、よく切ってました。Linuxだと「kill -9 プロセスID」で切りますね。
詳細タブではスレッド数も確認できます。
※項目の上で右クリック>列の選択>スレッド数をチェックして、ドラックで左側に寄せました。
なお「タスク」もありますが、まぁ「プロセスと同じ」程度に考えてOK。実際「タスクマネージャー」でしたもんね。
「プロセスとタスクの違いとは?」と問われることはないでしょう。それよりももっと覚えることはたっっくさんあります。
解き | 設問2(2)
正解は「ア:サーバから取得した情報を画面に表示する処理」。
▼印が効きました。「ワーカースレッドによる画面UIに関する処理は禁止」より。
一発で引いても油断大敵。一応他の選択肢も見ます。もっと正解な選択肢が潜んでいるかもしれませんから。
イ~エは全て、一言も問題文に書かれてませんね。選ぶ理由がないので、確定しました。
もしマークしてなくても、この手は「国語の問題」。問題文の「ワーカースレッド」を片っ端から読みましょう。「実行してはいけない注意書きがあるはず」と。
なければ「メインスレッド」を読めば良し。「メインスレッドで実行すべきな注意書きがあるはず」と。
事前読み | 設問3
いよいよ終盤なので作文も来ます。「理由」など何が問われているのかを把握します。
(1):処理名を表1から選ぶ
(2):専門用語っぽい。ヒントあるか?
(3):処理の内容。ヒントあるか?
(4):計算問題。足し算かなたぶん
特段、気をつけるポイントはなさそうですね。(3)が、問題文にヒントがあるのか、ノーヒントなのかは気になります(ノーヒントでした)。
読み | 【おすすめの髪型機能の開発】
いよいよスマホ本体のカメラを使ったデータ処理の話。
ここでポイント。
表は情報が多く、覚えきれません。「何が載っているか」を把握すればスキップします。
表1には、処理内容と処理時間が書いてあると分かればスキップ。「計算する時に使うのね」ていど。
表1の下の段落。下線②、穴埋めe、下線③と遭遇する段落です。
メインスレッド(下線②)とワーカスレッドで処理する
処理4と5の完了を待つ処理:穴埋めe
通信環境が悪いとずっと処理待ちになるので、処理5に追加した(下線③)
解き | 設問3(1)
正解は「処理2、処理7」。「処理2と7」や「2, 7」でもたぶん正解にしてくれるでしょう(採点者さんが気づいてくれれば)。
ただし設問文に「表1中の処理名で全て答えよ」なので、「処理2」「処理7」と書かないと×があり得ると覚悟を。雑さがどんどん失点につながりますよ。
ここでも▼印「ワーカースレッドによる画面UIに関する処理は禁止」が効きましたね。
表1の処理内容で、画面をいじっているのは、処理2と7。
ひょっとしたら「処理6を入れるべきか」と迷ったかもですね。1 → 2&3 → 4&5 → 6 → 7と考えた方、理屈があるのでOKです。「処理2, 6, 7」で不正解になっても悔いなし。
流れは、処理2の「処理中」をずっと表示して、処理7で合成写真を表示でした。
解き | 設問3(2)
正解は「ウ:join」。間違って良いです。私は覚える気すらありません。
break:ループから抜ける、休み。
join:参加する
wait:待つ
以上は一般常識として知っておきましょう。
解き | 設問3(3)
正解は「一定時間でタイムアウトする処理」。
「タイムアウト」が入っていれば良いです。また「一定時間で処理を終えエラー表示する(17文字)」など、処理を中断する旨を書けばOK。
今回はノーヒントでした。
「問題文に書いてない技術を解答に要求するってどうなん?」と思うのは当然ですが、ノーヒント問題に策はあります。
「タイムアウト」は定石オブ定石。データベースでも、デッドロック対策で使います。
他にも「社員教育をする」「マニュアルを作成する」など、困ったらとりあえず使ってOKな定石があります。
解き | 設問3(4)
「処理1 → 2&3 → 4&5 → 6 → 7」が分かればOKです。
処理1で100ミリ秒
処理2と3が並列なので、長い100を採用
処理4と5が並列なので、長い200を採用
処理6で50
処理7で10
したがって「100+100+200+50+10」= 460ミリ秒。
まとめ
選択肢の多い解答形式から得点力、解き始めまでの文章量からさくさく解けるスムーズさから、ぜひ選びたい問題でした。
私は、上位資格につながり再現性の高いネットワーク・データベース、好きな組み込み・プロジェクトマネジメント・サービスマネジメントあたりを候補にしています。
しかし難易度にバラツキもあり、「決め打ち」はリスキー。決めてた問題から2~3問、残り2~1問は別からでもOK。
例えば、応用情報技術者ではデータベースの難易度の差が激しいですね。個人的には解きたいですが、切った方が良いことも。
しかしネットワークとデータベースのどちらとも切ることはありません。必ず片方だけでも、できれば両方を選びたいスタンス。
よって候補5~6問から、3~4問を選ぶことに。
今回の「情報システム開発」を薦めているわけではありません。「選んでも良い問題だったね」「どうして選びたいと思ったか」を伝えたくて書きました。
引き続き問題演習を続けてくださいね。でわでわ。
p.s. 普段は >> 専門学校とIT就職のブログ << をやってます。
でわでわ(・ω・▼)ノシ
\全ての無料Noteへのリンク!/
時間配分・問題選択法から午後問題解説まで
\R05秋の選択・得点・学ぶ解法の3点セット!/
不合格になった方に特にお薦めです
学習方法・問題特集のNoteは全て無料提供を続けます▼ もしご覧になったNoteが有益だったり、私の志に共感されたりしましたら、サポート頂けますと励みになります▼ もちろんコメントでも結構です(・ω・▼)ノシ