見出し画像

【AP】令和7年秋午後問8システム開発の解説(応用情報技術者試験)

このNoteでは「応用情報技術者試験 令和7年秋午後問8(システム開発)」の解説をします。

まぁ6割は切らない問題でした。短時間で手軽解けました。

ただ誘導が下手な設問(赤)がありますし、html, cssを触ったことがないとサッパリかも。

良い機会なので、progateさんのhtml, cssの無料部分だけやってみてください。3~6時間ぐらいでできますよ。私の専門学校の授業でも導入で使わせてもらってます。


このNoteでは、私がIT以外の学生時代にAPに独学合格した経験と、大学・IT専門学校で応用情報技術者試験の対策授業を担当した経験を詰め込んで作りました。

それでは始めましょう!


※このNoteは後日有料になります。お早めにお読みください。その後はマガジンに追加されます。マガジンも値上げしますので、お早めにご購入ください。



設問1(1)a | Web系UI

正答はカ(ハンバーガーメニュー)

スマホで良くみるヤツですね。図1にUI名を描きこみました。




設問1(1)b

正答はエ(ドロップダウンリスト)

図1左「店舗」の▽を押せば、店舗名のリストが出ます。表1より「現在位置から最も近い店舗」が最上に出るみたい。

図1左「受取り時刻」も同じ。




設問1(1)c

正答はキ(ラジオボタン)

図1左「店内利用/テイクアウト」のどちらか1つを選ぶので。

他にも図1右「ホット/アイス指定」「サイズ指定」も表2「1個の選択肢が選択されているか」と書かれているので、ラジオボタンだと判断できます。




設問1(1)d

正答はウ(チェックボックス)

表2「トッピング指定」に選択数の明記なし。

問題文48頁末「トッピングの指定は、~など複数のトッピングを指定できる」より、1個でも複数もできるので、チェックボックス。

複数選択といえば、商品選択(コーヒー, カフェラテ)は複数注文できるんですかね。友達や家族で行った時に、まとめて注文したい所。

よって「注文」ボタンは「注文確認へ」ボタンの方が良い気がしました。

そもそも「注文」ってボタン不安ですよね。"押したら注文送信しちゃうのかな?一度、注文一覧を出してくれるのかな?"って。押すの勇気が要りますね。




補強 | 全選択肢を調べる

Web系UIを調べました。

復習では選択肢は全て調べます。調べてから優先順を付けて理解/覚えていきます。問題文中の用語も調べると更に良いですね。

ラジオボタンとチェックボックスを優先して、他の★を覚えて、ゆくゆくは全て覚えて下さい。wikipediaに画像もありました。見ればすぐ分かります。

  • ア:★カルーセル:スライドショーの類。複数の画像が自動/操作で切り替わります。

  • イ:コンボボックス:ドロップダウンリストもあるし、自分で入力するテキストボックスもある。(wikipedia画像

  • ウ:★チェックボックス:1つでも複数個でも選べる。(wikipeida画像

  • エ:★ドロップダウンリスト:リストが下に出るので選べる。(wikipedia画像

  • オ:★パンくずリスト:現在位置を示す文字列。「ホーム>設定>個人情報」のように、Webページの位置(階層, ツリー)を表現してます。(wikipedia画像

  • カ:★ハンバーガーメニュー:「≡」を押すとメニューがでます。スマホで良く見かけますね。(wikipedia画像

  • キ:★ラジオボタン:どれか1つだけ選べる。複数個選べるのはチェックボックス。(wikipedia画像

  • ク:リストボックス:リストから1つ/複数選べます。常にリストが表示されてる点が、ドロップダウンリストとの違い。(wikipedia画像英語版

加えて2つ。

  • ★テキストボックス:よく見るのは、氏名や住所を入れますね。(wikipedia画像

  • テキストエリア:複数行の長い文章を入れる。大抵テキストボックスより縦にも長いサイズにする。今回の「おこのみ要望」はテキストボックスだと思うけど…。(wikipedia画像

最近よくみるUIも

  • タブ:押すと表示内容が変わります。Webブラウザでも各ページがタブになってますよね。(wikipedia画像

  • アコーディオンメニュー:押すと隠されていた内容が開示されます。(wikipedia画像英語版

  • モーダルウィンドウ:手前に表示されるウィンドウで、背後の操作はできなくなる。ログイン画面などでよく見ます。(wikipedia画像

一覧もあったので、名称や画像をパパっと見ても良いですね。ウィジェット(GUI)wikipedia

あとprogateさんの、html, cssのレッスン(無料分だけでOK)をすれば、良いかと。私の専門学校でも授業の最初2コマはprogateさんで概要掴んでもらってます。




設問1(2) | 正規表現は文字列パターン

正答はエ(¥+{0,1}[0-9¥-]+)

正規表現は、文字列のパターンを表現したもの(wikipedia)。

例えば「aで始める文字列」を探す時/置換する時に使います。Linuxを触ってたらどこかで学びます。使えると便利ですね。出題もされてます。
>【SC】令和6年春午後問1設問3(3)の解説Note
>【SC】令和5年春午後2問2設問2(2)の解説Note

ア[0-9]+を解釈。
09012341234など。
でも図1の「+1-123-4567890」の
「+」「-」が出来ないので保留。

イ[0-9¥-]解釈。
「¥-」は「-」のこと。
よって[0-9¥-]は、0~9と-を意味。
図1の「+1-123-4567890」の
「-」は出来ますが、
「+」出来ないので保留。

ウ¥+{0,1}[0-9]+の解釈。
「¥+」は「+」を意味します。
「¥+{0,1}」は「なし」か「+」を意味。
図1の「+1-123-4567890」の
「+」は出来ますが
「-」が出来ないで保留。

エ¥+{0,1}[0-9¥-]+の解釈。
図1の「+1-123-4567890」は出来ます。


さて¥+{0,1}[0-9¥-]+をもう少し解釈。

09012341234は通ります。
+09012341234も通ります。
090-1234-1234も通ります。
+090-1234-1234も通ります。
さて、
090も通ります。
090----も通ります。
-----も通ります。
+も通ります。

正規表現以外でのチェックも必要でしょうね。

そもそもなんですが、利用者に「-」の入力をさせますかね。入力するの面倒ですよね。09012341234と入力したら勝手に「090-1234-1234」に変更して欲しいですよね。




設問1(3) | 専門用語なのかなぁ

正答は「非活性化」

他にも「無効」「disabled」も大丈夫かなぁと思います。「非アクティブ化」とかダメなのかなぁ。


私は「disabled」と解答しました。htmlの記述です。

下図でコードと表示のデモンストレーションが出来ます。

雇用にdisabledが付いてるので、操作できません。「雇用:」の「No▽」が濃灰色になってます。(Mozilla社

disabledを削除したら、操作できるようになりました。「雇用:」の「No▽」をクリックすると、「No」「Yes」から選べます。

とはいえ、disabled以外に操作不能にする方法があるかもですが。とはいえ、”非活性化じゃない解答は全部×!”と強い論拠もないかと。

今後のために”非活性化って言葉があるんだねぇ”ぐらいに覚えて置きますか。




設問2(1) | 問題文にマーキングが効く

模範解答は「開店時刻の30分前までとする」


まずは表1-4。

48頁末「商品の受取りは、~閉店時刻の30分前まで」。読んでいる時に、数値は丸囲みを徹底していたのでスムーズに解答できました。>長文問題を読む6つのテクニックNote(3-2)


気付かなければ、まず表1を見ます。

「選択肢」として出るのは「開店時刻以降」で「現在時刻+15分以降」。ここで、プログラムを組んだことあると、終わりがないことに気づきますね。

「初期値」は、上記のうち最も早い時刻。OK。

「入力チェック」で「開店時刻以降かつNo.9(注文ボタン)押下時の時刻以降」は、品を選んでる間に受け取り時刻を超えてる場合があるからです。

ここでも気づかなければ、「開店時刻」など時刻からみを問題文から探して、48頁末に至ります。


私は、ホットモットのアプリで注文したことがあるので、自然と理解できました。

なお、ホットモットでは調理時間があるので、受取時刻が注文時刻(現在時刻)の30分以降という制限もしていたと思います。

今回はコーヒーなので調理は短時間、店舗に既にいる状態での注文なので、組み込まなかったんでしょうね。

「受取時刻に調理時間を考慮していない」17文字。キビシイですね。まぁ空欄よりはマシ程度で。




設問2(2) | 「商品開発部」に確認?

模範解答は「商品の並び順」

模範解答を見たら"あーそうですか"と理解はできます。

でも"商品開発部に確認なのかなぁ"。48頁で「商品開発部の部員や~店長を招集」したので、招集しなくてもメールやオンラインで意見聴取したり、最終的には経営陣などもうお少し責任を持てる人達な気がしました。

私の中で"商品開発部は新商品開発をする部署"というイメージがあり、"既成商品の販売戦略までは言及しないんじゃないかなぁ"と思いました。

もう少し販売戦略の体制の記述が問題文にあったら、解き易いですね。


図1でももうちょっと誘導/ヒントが欲しいです。

せめて「商品選択」に「季節限定」「当店お薦め」のラベルがあれば”順番かな”と発想できると思います。

発想は無理ですが、表2-7「トッピング指定」に「人気順に表示」がありはしました。

個人的には、資格試験は技術的理解と考察力、副産物で読解力や観察眼を問うものと思っています。

今回はノーヒント。ノーヒントにしても納得感の強い解答とも思えませんでした。作問者の頭の中のストーリーであって、模範解答を読んでも伝わってきません。




設問3(1) | コンポーネントなのか?

正答は「ページネーション」

「ページネーション」は、ページを分割すること全般。google検索で下に"ページ番号"や"次へ"や"前へ"がありますね。

調べたのですがカルーセル下の「○●○○」も含まれるらしく、図1に既にあるんですよね…。(wikipedia英語版

今後の解答カードに「ページネーション」を持っておくぐらいの学びでした。>長文問題を解く6つのテクニックNote(6-4)


たぶん×ですが画像絡みを。

私は、「遅延読み込み」と解答しました。

「遅延読み込み」は、表示が必要になってから読み込む技術(wikipedia)。利用者に見えている画像だけ読み込んで表示し、スクロールに応じて表示すべき画像があれば追加読み込んでいきます。

下線③前「全商品の情報を一度に読み込む」を"画像"だと解釈して、カルーセル下の「○○○●○○○」と、商品選択のスクロールバーを見て、まだ表示してない画像を読み込まないようにすればよいかと。

他にも画像に関しては、「LQIP」「プログレッシブJPEG」は、ひとまず低解像度で表示して、あとで高解像度画像を表示。「srcset属性」は、端末に合わせたサイズの画像ファイルを自動で選んで表示。など。

下線③「画面コンポーネント」ではないので×だろうなぁ。でも"画面コンポーネントってなんだよ"って思いますね。




設問3(2) | 消去法で削っていく

正答はエ(マルウェア対策ソフトの導入)

イは必ず消して、アも消します。ウとエが残りますが、圧倒的にエがダメですね。

「プレースホルダ」はSQLインジェクション対策のキーワード。>【SC】73種類の攻撃手法Note

アの「記号を入力不可」は、SQL文の「=」や「"」などでしょうね。

ウの「WAF」Webサーバへの通信パケットの中身をみて、攻撃的なコードがないかチェックする機器。正直WAFがどこまで検知してるか分かりませんが、エよりはマシ。
>【FE】NW❻セキュリティ機器Note
>【NW】AMⅡ㊶セキュリティ機器Note

エが全然ダメ。SQLインジェクションは、正規の入力欄にSQLを悪用するような文字列を入力します。マルウェア感染とは直結しません。

>【Iパス】Web系攻撃5つのNote
>【SC】73種類の攻撃手法Note




まとめ

お疲れ様でした!


知ってしまえば簡単に感じる問題だったのではないでしょうか。

以下を出来る範囲でやってみて下さい。

  • wikipediaでUI画像を見る:10分程度

  • progateさんのhtml, cssの無料部分:2~6時間程度

  • Mozilla社のデモンストレーション:10分程度


私のNoteではIP~SC, DB, NWまで幅広く解説しています。全て私が解いて手作りしてますので、合格者/先生の視点として参考になったら嬉しいです。良かったらまた覗きに来てくださいね。お待ちしてます。

APには、解説以外の戦略Noteも準備しました。

\全ての無料Noteへのリンク!/

\全てのAP系Noteが読めます/


ここから先は

0字
最新問題の解説Noteは無料公開します。 本試験終了後に、マガジンに組み入れ価格調整します(期間限定割引はするかもしれません)。マガジン購入済みの場合、調整が実施されても追加の支払いは発生しません。早くからご愛読頂いている方に損はさせません。 Note単体は24時間返金に対応していますが、マガジンはシステム的に対応できないようなのでご注意ください。

【必ずリストを見てからご購入下さい】 一度不合格になった方、真剣に過去問演習に取り組む方向けのNoteです。 AP「午後」の有料Note…

Amazon Payで支払うと最大2%還元のチャンス! 9/30まで

この記事が参加している募集

学習方法・問題特集のNoteは全て無料提供を続けます▼ もしご覧になったNoteが有益だったり、私の志に共感されたりしましたら、サポート頂けますと励みになります▼ もちろんコメントでも結構です(・ω・▼)ノシ