応用情報に駆け込んで 情報システム開発ここ10回分の出題内容編
はじめに
応用情報午後の情報システム開発を選択するつもりでいる。
ただ出題の傾向がよくわからない。毎度のごとくネットでささっと漁ろうと思ったが最近の情報が見当たらない。
そんなわけで力技でここ10回分を整理した。
そして気づいた。
出題が凄まじく乱雑であることに…
2019年度 (平成31年度) 春
Webサイト開発
(コーヒーチェーン店Webサイト更新)
HTML、CSS、レスポンシブWebデザイン、RWD、モバイルファースト、マルチデバイス対応Webデザイン、アダプティブWebデザイン、ダイナミックサービング
2019年度 (令和元年度) 秋
状態遷移設計
(道路交通信号機システム開発)
状態遷移図、信頼性設計、設計レビュー、フェールプルーフ、フェールセーフ、フェールソフト、フォールトアボイダンス、フォールトトレランス
2020年度 (令和2年度) ー ※コロナで1回だけだったらしい
アジャイルソフトウェア開発手法
(旅行代理店ネット販売)
スクラム、プロダクトオーナー、スクラムマスタ、開発チーム、アジャイルコーチ、プロダクトバックログ、イテレーション計画、プラニングポーカ、スプリント、ストーリポイント、スプリントレビュー、バーンダウンチャート、ドライバ、ナビゲータ
2021年度 (令和3年度) 春
アプリケーションソフトウェア開発
(ファミレスクーポン発行システム)
I/O設計、ネイティブアプリケーション、Webアプリケーションソフトウェア、プロセス、スレッド、リアクタパターン、ノンブロッキングI/O、デザインパターン、リアクタパターン、ハンドラ、リアクタ、デマルチプレクサ、メイン処理、イベント、callback関数、static関数、template関数、virtual関数
2021年度 (令和3年度) 秋
データ中心設計
(スーパーマーケットチェーン配送サービス)
概念データモデル、論理テーブル、クラス図、変更容易性、機能設計、業務要求、機能変更、エンティティ、多対多、1対多、多対1、1対1、サブタイプ、継承関係、多重度、共存関係、排他関係、包含関係
2022年度 (令和4年度) 春
データ連携
(バスターミナル案内表示システム)
システム概要、ファイル、データベース、データの流れ、null、データフォーマット、文字コード、シフトJISコード、UTF-8、データレコード、FTP、API、Webスクレイピング、ゼロパディング、Web Accessibility Initiative (WAI)、World Wide Web Consortium (W3C)、WCAG(Web Content Accessibility Guidelines)、ATAG(Authoring Tool Accessibility Guidelines)、UAAG(User Agent Accessibility Guidelines)、WAI-ARIA(Accessible Rich Internet Applications)
2022年度 (令和4年度) 秋
設計レビュー
(SI企業情報共有システム)
モデレーター、レビュア、チェックリスト、キックオフミーティング、フォローアップミーティング、二次欠陥、外部設計、内部設計、基本測定量、レビュー工数密度、下方管理限界(LCL)、情報管理限界(UCL)、インスペクション、ウォークスルー、パスアラウンド、ラウンドロビン
2023年度 (令和5年度) 春
バージョン管理ツール
(業務システム開発受託)
ソースコード管理、リポジトリ、ロック方式、コピー・マージ方式、ローカル環境、プル、コミット、マージ、プッシュ、リバート、ブランチ、リグレッションテスト、結合テスト、単体テスト、受け入れテスト、樹形図
2023年度 (令和5年度) 秋
スレッド処理
(美容室チェーンスマホサービス)
HTML、CSS、JAVA、Android、iOS、マルチタスク、並列処理(マルチコア)、並行処理、非同期処理、ハンドラー、デッドロック、メインスレッド、ワーカースレッド、スレッドプール、コルーチン、タスクキュー、バックグラウンド処理、アトミック操作
2024年度 (令和6年度) 春
ダッシュボード設計
(食品販売管理システム)
データモデル、ダッシュボード、クラス図、関連、依存、コンポジション、集約、継承、ステレオタイプ、クラス名、属性名、操作名(引数)、グラフ、フィルタリング、オブジェクト、メソッド、フラグ
補足:2021年度春のなんとか関数
C++やJAVAを中心にある関数のようだ。
どうやら概念として感じ取りなさいという体らしい。
1. callback関数(コールバック関数)
概要: コールバック関数は、あるイベントが発生した時に呼び出される関数のことです。非同期処理やイベント駆動型プログラミングでよく使われます。
用途: 特定の処理が完了した後に実行したいコードを指定するために使います。
例: JavaScriptでは、APIリクエストが成功したときにコールバック関数が呼び出されます。
function fetchData(callback) {
// データを取得する処理
callback(); // 処理が完了したらコールバック関数を呼び出す
}
2. static関数
概要: static関数(静的関数)は、クラスのインスタンスを作成せずに、クラス自体から直接呼び出せる関数です。インスタンスに依存しない処理を実装する場合に使われます。
用途: インスタンス化の必要がないユーティリティ関数やクラス全体に適用される処理に利用します。
例: JavaやC++でのstatic修飾子を使ったメソッド。
public class Utility {
public static int add(int a, int b) {
return a + b;
}
}
3. template関数(テンプレート関数)
概要: C++でよく使われるテンプレート関数は、型に依存しない汎用的なコードを記述するために使用されます。コンパイル時に具体的な型が指定されます。
用途: 同じアルゴリズムや処理を異なるデータ型で使いたい場合に便利です。
例: C++のテンプレート関数。
template <typename T>
T add(T a, T b) {
return a + b;
}
4. virtual関数(仮想関数)
概要: virtual関数は、C++などのオブジェクト指向言語で使われる関数で、派生クラスでオーバーライド(上書き)することを意図した関数です。多態性(ポリモーフィズム)を実現するために使用されます。
用途: 親クラスのメソッドを、継承したクラスでオーバーライドして独自の実装を提供する際に使います。
例: C++でのvirtual関数。
class Base {
public:
virtual void show() {
cout << "Base class" << endl;
}
};
class Derived : public Base {
public:
void show() override {
cout << "Derived class" << endl;
}
};
補足:2022年度春の略称たち
Web Accessibility Initiative (WAI)はWorld Wide Web Consortium (W3C)のプロジェクトでアクセシビリティの向上をめざしているようだ。
目が悪くなるとこうした活動に感謝の気持ちが湧き上がる。
以下はガイドラインや仕様の名前。
WCAG(Web Content Accessibility Guidelines)
ATAG(Authoring Tool Accessibility Guidelines)
UAAG(User Agent Accessibility Guidelines)
WAI-ARIA(Accessible Rich Internet Applications)
補足:2022年度秋 レビュー手法
「ウォークスルー」はシステム監査でも出題されてたと思う。その場合は監査対象の業務プロセスやシステムの手順を実際に担当者とともに確認しながら一連の流れを追跡していく手法を指していて、ここで言っているものとはニュアンスが違うようだ。
インスペクション: 公式なレビュー手法で、検査役(モデレータ)が設計やコードを詳細にチェックし、欠陥を洗い出す厳密なプロセス。参加者全員が明確な役割を持ち、指摘された問題点は文書化される。
ウォークスルー: 開発者が主導して、設計やコードの内容を他のメンバーに説明し、問題点を見つける非公式なレビュー。参加者は自由に質問し、フィードバックを提供する。
パスアラウンド: ドキュメントやコードを複数のレビュー担当者に配布し、それぞれが自分のペースでチェックを行う方式。直接の会議は行わないため、効率的だが、コミュニケーションが限定されることがある。
ラウンドロビン: 複数のレビュー担当者が順番に設計やコードをレビューし、順に意見を述べていく形式。各担当者が異なる観点から問題点を見つけ、意見を共有する。