GeneXusドリル300 - ジュニアアナリスト対応 > 出題範囲と対策ガイド
GeneXus認定ジュニアアナリストの出題範囲と頻出テーマ・対策ガイド
GeneXus認定ジュニアアナリストは、GeneXusの中核思想である宣言的(Declarative)開発——「何を(What)」実現したいかをナレッジベース(KB)に記述すれば、「どう作るか(How)」にあたるテーブル定義・SQL・画面のCRUDロジックはGeneXusが自動生成する——の理解を軸に、Transaction・For Each・Web Panelといった基本オブジェクトの使い分けを問う試験です。市販の対策問題集がほぼ存在しない資格のため、このページでは対策アプリ「GeneXusドリル300」の全15単元の構成に沿って、学習範囲とつまずきやすいポイントを整理します。
試験形式
試験名 GeneXus認定ジュニアアナリスト
本試験の形式 60問・60分(問題数は公式非公開。60分から1問1分と想定)
合格ライン 目安70%(公式は非公開)
対策アプリの収録 全15単元×20問=300問(完全オリジナル)+同形式の模擬試験
全15単元の学習範囲
アプリの単元構成の順に、各単元で扱う内容をまとめます。
GeneXus概論とナレッジベース 宣言的開発の思想とナレッジベース(KB)、主要オブジェクト(Transaction/Procedure/Web Panel/Data Provider等)の使い分け、F5→Impact Analysis→Reorganizationの開発サイクル、VersionとEnvironmentの対比。
トランザクション基礎 Transactionの構造(Structure)と識別子(主キー)、Autonumberの3条件、データ型とDomain・Enumerated Domain、Nullの概念、自動生成フォームのInsert/Update/Deleteモード。
トランザクション応用 属性名の一致による自動関連付け(外部キー)、1対多・多対多の表現、複数レベル(親子構造)と複合キー、拡張属性の性質、XPZによるエクスポート/インポート。
ルールとパターン ルールの宣言的性質と発動順序、Error/Msg/Default/Noaccept/Parm/Serialの各ルール、on句のトリガリングイベント、Work Withパターンの役割とカスタマイズ範囲。
テーブル構造とサブタイプ 基底テーブル(Base table)と拡張テーブル(Extended table)、第3正規形を基準とした自動テーブル生成、サブタイプグループ、自己参照(自己結合)の表現。
計算属性と参照整合性 グローバル/インラインフォーミュラ、集計フォーミュラ(Sum/Count/Max/Min/Average)、Redundant(冗長)属性、参照整合性の自動チェック、3種のインデックス、1対1関連の実現。
For Eachとリスト処理 For Eachの基本構造、基底テーブルの決定ルールとNavigation、Order/Where/When句、ネストしたFor Eachの自動絞り込みとCartesian product、Defined by句・When None句。
Procedureとオブジェクト間通信 Procedureの構成要素(Source/Layout/Rules/Variables)、Print Block、Parmルール(in:/out:/inout:)、CallとUdp(N+1パラメータ)の対比、Main program/Call Protocolプロパティ。
複合データ型とデータプロバイダ SDT(構造化データ型)の階層構造とCollectionプロパティ、コレクション変数、変数のスコープ、Data ProviderとProcedureの使い分け、JSONとのマッピング(FromJson/ToJson)。
データベース更新 Business Component(BC)の有効化とLoad/Save/Delete/Check、Save()とCommitの違い、Fail()/Success()/GetMessages()によるエラー処理、New/For Each/Deleteによる直接更新、Populate Dataによる初期データ投入。
Webパネル基礎 Web Panelの位置づけ、AttributeとVariableの違い、Start/Refresh/Loadイベントの実行順序と回数、Enter/Cancelイベント、Parmルールの属性受け/変数受けの違い、Returnコマンド。
Webパネル応用とグリッド 標準GridとFree Style Gridの対比、グリッドの基底テーブル決定、Conditions/Order/Rows/Classプロパティの役割、複数グリッドの独立性、ページング、グリッド内アクション。
UIデザインとレポーティング Theme/ClassとDesign System Object、Tableコントロール、Queryオブジェクト(照会・集計・可視化専用)、レイアウト付きProcedureによる帳票・PDF出力、Print BlockとPrintコマンド、Header/Footer。
アーキテクチャ・デプロイ・セキュリティ モデル定義→生成→コンパイル→実行の流れ、KBの言語・DBMS非依存性、Environment、Reorganization、GeneXus Server(Commit/Update)、デプロイの概念、GAM(認証・認可)。
発展技術と総合シナリオ モバイル(Smart Devices)開発の基本、BPM Suite、Unit Test、REST Web Serviceとしての公開、要件からオブジェクトを選ぶ総合的な判断軸。
頻出・つまずきポイント
収録300問のうち、模擬試験でも出題の比重が大きい単元を中心に、混同しやすいポイントを8つ挙げます。
1. ルールは「書いた順」に実行されない(ルールとパターン)
初学者が最も間違えやすいのがこれです。GeneXusのルールは宣言的で、Rulesセクションに書いた上から下への順番では実行されません。発動順序は、各ルールが参照・代入する属性(トリガ属性)間の依存関係をGeneXusが解析して自動的に決めます。記述順を入れ替えても、依存関係が変わらなければ実行結果は変わりません。「Errorルールは常にDefaultルールより先」のような、ルールの種類だけで決まる固定の優先順位も存在しません。
2. 自動関連付けの鍵は「属性名の一致」だけ(トランザクション応用)
あるTransactionの識別子と全く同じ名前の属性を別のTransactionに追加するだけで、GeneXusはそれを自動的に外部キーとして認識し、1対多の関連を構築します。判断基準は名前の一致のみで、データ型やドメイン(Domain)を揃えても名前が違えば無関係の属性として扱われます。「同じ名前=同じ意味=自動リレーション。関連付けの鍵は型ではなく名前」が応用トランザクション設計の核心です。
3. 拡張属性を編集すると、書き換わるのは関連先のマスタ(トランザクション応用)
関連付けが成立していれば、関連先の属性(例: CustomerId経由のCustomerName)は結合コードを書かずにレイアウトへ配置して表示できます。ただし落とし穴があり、拡張属性をレイアウト上で編集・保存すると、更新されるのは参照元ではなく関連先の物理テーブル側の値です。意図せずマスタデータを書き換える典型的な事故につながるため、「置くだけで表示できるが、編集すると関連先が書き換わる」の2点セットで押さえます。
4. ネストしたFor Each — 関連がなければ直積になる(For Eachとリスト処理)
外側と内側のFor Eachの基底テーブル間にリレーションがある場合、内側は外側で処理中のレコードに関連するものだけに自動的に絞り込まれます(Where句を書かなくても働くJoin相当の動作)。一方、リレーションが存在しない場合は絞り込みが働かず、全組み合わせ(Cartesian product、直積)が生成され、件数次第でパフォーマンス上の問題を招きます。「関連があれば自動絞り込み、なければ直積」が最重要ポイントです。
5. 拡張テーブルに含まれるのはN対1だけ(テーブル構造とサブタイプ)
拡張テーブル(Extended table)は、基底テーブルからN対1(多対1)の関連をたどって到達できる属性の集合で、For EachやWeb Panelの自動結合の根拠になります。ここに含まれるのはN対1だけで、1対N(明細行などの下位レベル)は含まれません。明細を1件ずつ処理・集計したい場合は、レベルを指定した明示的なFor Eachが必要です。「上に伸びる(N対1)のは自動、下に伸びる(1対N)のは明示」と覚えます。
6. Save()とCommitは別物(データベース更新)
Business Component経由のSave()は「検証+テーブルへの書き込み」までで、それだけではデータベースへの確定(Commit)は行われません。成功しても明示的にCommitを実行しない限り変更は確定していない状態です。対照的に、プロシージャ固有のNew/For Each/Deleteによる直接更新では、プロシージャ正常終了時に暗黙のCommitが置かれます。「BC経由は自分でCommitを書く、直接更新は暗黙Commit」という対比が頻出です。
7. 「Startイベントは一度きり」ではない(Webパネル基礎)
Web PanelのStartイベントは、初回表示のGET時だけでなくポストバック(POST)のたびに毎回再実行されます。「Startは一度きり」はPanel(Smart Devices)オブジェクトの挙動で、混同しやすい点です。試験の核心は2つ: (1)「Start→Refresh→Load」の順序は不変。(2)回数の非対称性——Start・Refreshは1リクエストにつき1回、LoadはBase tableを持つグリッドではヒット件数分だけ繰り返され、Base tableがなければ1回です。
8. VersionとEnvironmentの混同(GeneXus概論とナレッジベース)
Versionは開発の節目におけるKBの読み取り専用スナップショット(時間軸の節目)、Environmentは生成言語・DBMSなど「どう生成するか」の設定(生成方法の切り口)で、目的の異なる別々の仕組みです。1つのKBには複数のVersionと複数のEnvironmentの両方を持たせることができます。「Versionは時間軸の節目、Environmentは生成方法の切り口」と対比で覚えます。
サンプル問題(アプリ収録問題より)
アプリに収録している300問から、第1単元の問題を3問そのまま掲載します。
宣言的開発の思想
ある開発者がGeneXusでTransactionオブジェクトを作成する際、「受注」の識別子・属性・レベル(親子構造)を定義しただけで、対応するテーブルを生成するSQL文や登録・更新画面の内部ロジックは一切記述していない。にもかかわらず、動作するデータベースと画面が生成された。この開発スタイルの本質を最もよく表す用語はどれですか。
A. ウォーターフォール型開発(要件定義から順番に工程を進めていく開発プロセスのモデル)
B. 手続き型(Procedural)開発(処理の手順をコードとして逐一記述していくスタイル)
C. 宣言的(Declarative)開発思想に基づくナレッジベース(Knowledge Base)駆動開発
D. オブジェクト指向(Object-Oriented)開発(クラスやオブジェクトの設計を軸に記述するスタイル)
解答を見る
正解: C
GeneXusは「何を(What)」実現したいかを宣言的(Declarative)に記述すれば、「どう作るか(How)」にあたるSQL文やUIロジックはナレッジベース(Knowledge Base)の定義から自動的に導出される。手続き型やオブジェクト指向は実装手順やクラス設計を逐一記述するスタイルであり、この自動生成の本質とは異なる。ウォーターフォールは開発プロセスのモデルであって設計思想そのものではない。「何を書けば、どう作るかはGeneXusが決める」と覚える。
Transactionオブジェクト
「顧客」情報の識別子・属性を定義し、そこから自動的にデータベースのテーブル構造と、登録・更新・削除(CRUD)を行う標準的な画面の両方を生成したい。この目的に最も適したGeneXusオブジェクトはどれですか。
A. トランザクション(Transaction)
B. プロシージャ(Procedure)
C. Webパネル(Web Panel)
D. データプロバイダ(Data Provider)
解答を見る
正解: A
Transactionオブジェクトは属性(Attribute)とレベル(Level)によってデータ構造を定義すると同時に、対応するテーブルの自動生成とCRUD用の標準画面を提供する、GeneXusの中核オブジェクトである。Procedureはテーブル構造の定義機能を持たずバッチ処理向け、Web Panelは対話画面専用でデータ構造を定義しない。Data Providerは読み込み専用でありDBへの登録更新は行わない。「データ構造+CRUD画面=Transaction」と覚える。
Reorganization
Impact Analysisのレポートを確認した開発者が、その内容に同意して実際にテーブルの追加・列の変更をデータベースに適用する操作を行った。この「実際にデータベース構造を変更する処理」を指す用語はどれですか。
A. インパクトアナリシス(Impact Analysis、変更内容を事前に提示するレポート)
B. コンパイル(Compile、ソースコードを実行可能な形式に変換する処理)
C. デプロイ(Deploy、生成物を実行環境に配置する処理)
D. リオーガニゼーション(Reorganization、データベース再編成)
解答を見る
正解: D
Reorganization(データベース再編成)は、現在のデータベース構造とKB上で新しく設計された構造を比較し、既存データの損失を最小限に抑えながら実際にテーブル・列などを変更する処理である。Aは変更内容を事前に提示するレポートであり実際の適用処理ではない。Bはソースコードを実行可能な形式に変換する処理、Cは生成物を実行環境に配置する処理で、いずれもデータベース構造の変更処理を指す用語ではない。「事前提示=Impact Analysis、実際の適用=Reorganization」と対で覚える。
学習の進め方
アプリの機能構成に沿った進め方の一例です。
単元別に解く — 全15単元×20問を単元ごとに解き、解説と要点まとめで理解を固める。上記の「頻出・つまずきポイント」に挙げた単元は特に丁寧に。
間違いのみを解き直す — 間違えた問題だけを絞り込んで再挑戦し、弱点を潰す。
番号指定で復習する — 気になる問題を番号で指定してピンポイントに解き直す。
模擬試験に挑戦する — 本試験を想定した60問・60分の形式で通しで解き、弱点分析で仕上がりを確認する。合格ラインの目安は70%(公式は非公開)。
まずは無料で試す
第1単元「GeneXus概論とナレッジベース」のうち10問を、登録不要・無料でブラウザからそのまま解けます。アプリ版は全300問+模擬試験+弱点分析を収録し、完全オフライン・登録不要・広告なし・買い切り¥1,000です。
無料で10問体験する
App Storeで見る
シリーズの他の試験対策
本ページおよびアプリは個人が開発した非公式の学習補助教材です。GeneXus認定資格を主催する団体とは関係がありません。GeneXusはGeneXus S.A.の商標です。
サポート ・ プライバシーポリシー