見出し画像

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

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

クラス図が難しそうに見える以外は、問題文も短いし、作文もないので見た目は良いと思います。クラス図からメソッドやインスタンス化する使い方まで、理解してないと少し失点しますが。

用語を覚えていて、問題文の言い回しから仕様を解釈できれば得点はできます。

解いてしまえば高得点を狙えそうですが、本試験では初見。地に足つけるか、浮いてしまうかで、点数に幅が出そう。

このNoteには、私の独学合格経験とIT専門学校での授業実績を詰め込んで解説しています。少しでも信用してくれたら嬉しいです。

それでは始めましょう!


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



設問1a, b, c | 序盤の用語問題がダメなら退く

  • a:カプセル化

  • b:継承(インヘリタンスも正解かも)

  • c:多相性(ポリモーフィズムも正解かも)

必ず正解してください。もし2個以上分からない場合、問8を止める方が良いです。序盤失点は挽回が難しいですから。時間の消費が少ないうちに退きましょう。


aについて。空欄a前の「データ」と「処理」を「1つ」に「まとめる」旨から、「カプセル化」

bについて。空欄b前の「引き継ぐ」から、「継承」。「インヘリタンス」でも正解にしてくれるかも。日本語としてちょっと微妙ですが。

cについて。呼び出し方の違いで、呼び出すメソッドが変わる(名前は同じですが、コードが違います)性質の旨から、「多相性」。「ポリモーズム」も正解にしてくれるかと。

>【FE&AP】オブジェクト指向のNote

  • 継承(インヘリタンス):他のクラス(上位クラス)で定義されたデータとメソッドを受け継ぐ。プログラムの流用ができます

  • ポリモーフォズム:同じメッセージでも各オブジェクトによって動作が違う性質。多様性多相性とも云う




設問2(1)d | 図を読み解く

正答は「データ取得()」

正解してください。

図2の「組織コネクタ」が「コネクタ」を継承(△)しています。よって、メソッドも同じであると判断。




設問2(2)e, f | オブジェクト指向の用語

  • e:オ(できる)

  • f:ア(オーバーライド)

正解して欲しいです。片方だけでも拾いましょう。


eについて。空欄e前の通り「連携データクラスの論理削除属性」への「アクセス」を、図2から判断します。

図2左上の「連携データ」の「論理削除」に「#」があります。

  • +(公開):全てのクラスからアクセス可

  • -(私的):自クラスからだけアクセス可

  • #(保護):自クラスや継承クラスからアクセス可

「保護」って言葉が、アクセスできないんじゃないかな?って思っちゃいますよね。「私的(プライベート)」が一番重要です。「公開」は予測できますから。


fについて。

「親クラスと同じ~メソッドを定義する」なので、再定義。

オーバーライドとオーバーロードは、混乱しちゃいますね。>【FE&AP】オブジェクト指向のNote

  • オーバーライド:継承で受け継いだ上位クラスのメソッドを再定義する

  • オーバーロード:クラス内に、同じ名前のメソッドを複数定義する(引数を違えて、呼び出されたときの引数でどれを呼ぶか判断される)


コンストラクタは良く出るので知っておきましょう。

  • コンストラクタ:クラスをオブジェクト化(インスタンス化)した時に実行されるメソッド。つまり初期化関数。construct(構築する)。

  • デストラクタ:オブジェクトを破棄する時に実行されるメソッド。desctruct(破壊する)。

デストラクタは初めてみましたが、対になる用語なので、この際覚えておきましょう。英語が教養の範囲なので。


さらに、地味に「シリアライズ」「デシリアライズ」が出てきました。問わずに用語を出してくるって、「次は問うかもよ」とジャブに感じます。

  • シリアライズ:オブジェクトをデータ列に変換する
    シリアルの意味は「直列」。データの列。

  • デシリアライズ:データ列からオブジェクトに復元する




設問2(3) | 問題文から仕様を読み解く

  • g:XML

  • h:HTTPS

必ず正解してください。クラスの仕様・問題文に注目して解けますから。

空欄gとhの前、「組織コネクタクラスのインスタンスを作成」なので、図2の「組織コネクタ」クラスを見ると、Createがあります(クラスをインスタンス化する命令)。フォーマットとプロトコルを引数に入力してインスタンスを作る旨が書かれています。

つまりgとhは、フォーマットクラスとプロトコルクラス、それか継承したCSV, XML, FTPS, HTTPSクラス。


Createと引数が分かりにくかったかもなので、補足しますね。

もし炊飯器のクラスがあったら、オブジェクト(インスタン化)にするとき、プログラムでは、Create文とクラス名でします。この時にクラスに引数を入力できます。炊飯器の色とか。引数に入れる値を変えれば、違う色の炊飯器が作れるんです。


gとhの特定は、空欄後の文章で。

「hクラスの送信メソッドの中では」から、図2で「送信メソッド」を探すと、プロトコル, FTPS, HTTPSクラス。

さらに「図1に記載のデータ連携ハブから製造システム向け」から、図1を見ると「HTTPS, XML」。

よって、hは「HTTPS」、そしてgは「XML」。


一応「gクラスのシリアライズメソッドが呼び出される」より、図2でXMLクラスにシリアライズメソッドがあるのも確認。




設問3(1) | 理解している範囲で絞る

正答は「連携データ」と「コネクタ」

正解してください。


設問文の「図2中の異なるクラスを親クラスとする」より、親クラスの候補は4系統。

  • 連携データが親の、組織データクラス

  • コネクタが親の、組織コネクタクラス

  • フォーマットが親の、CSV, XMLクラス

  • プロトコルが親の、FTPS. HTTPSクラス

下線①前。「人事システム」から送信するには、図1よりFTPS&CSVでデータ連携ハブへ。データ連携ハブから「新たなに他のシステムへ送信」するなら、図1よりFIPS&CSVやHTTPS&XML。

これらのクラスは既存を使えます。プロトコルもフォーマットも変更はありませんから。

よって新しく作るクラスの親は、「連携データ」と「コネクタ」。

人事システム内の研修受講記録データを内包するように、連携データを親に組織データを新しく作り。そのデータを送るために、送り先システムのフォーマットとプロトコルに合わせた組織コネクタを新しく作ります(親はコネクタクラス)。




設問3(2) | 「共通の機能」なら

正答は「フォーマット」

正解してください。

下線②前「CSV~XML~の文字コードを変換する共通機能」より、CSVクラスとXMLクラスで共通機能、つまり共通のメソッド。なら親のフォーマットクラスに文字コード変換メソッドを追加して、継承させれば楽です。




まとめ


お疲れ様でした!

初見で解くと、未知の用語で足が浮いて混乱してしまったかもですね。でも、解説を読んだらどうでしょう。

「そういう風に絞っていくのね」「文と図表を統合して考えていくのね」と地に足がついてきたのではないでしょうか。

問題を選ぶ時、用語や計算を見たら、知ってそうか/計算できそうか、を見積もってください。全部正解しなくて良いですが、失点が少ない = ハンデが小さい、ですから。

過去問演習の復習を繰り返して「なーんだ、実は解けそうじゃん」と思えれば、初見でも足を浮かされないようになれますよ。


問題選びの観点から、問8は技術系最後の砦かもしれません。

私は問3プログラミングは絶対選ばないと決めています。長い文章を読むのは好きではないので、問2, 9, 10, 11問をあんまり選びたくない。

よって、問4NW>問6DBか問7組込み が優先順。残り2問で文系問題が地雷だと困るので、問9も何とか候補に入れたいです。

APの演習で、選問眼と得点を一致するよう制度を上げて、自分なりの優先順位・戦略を立ててみてくださいね。>問題を選ぶ3つの視点Note

でわでわ。


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

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


いいなと思ったら応援しよう!

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

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