OutSystems専門試験攻略！Architecture Specialist試験の学習ポイント

# この記事の対象読者
- OutSystemsの専門試験に挑戦しようとしている方
- OutSystemsのシステム設計やアーキテクチャに関する知識を深めたい方
- OutSystems Architecture Specialist試験の学習法を知りたい方

# はじめに
こんにちは。メディアテックでローコード開発をしている[Code-Samurai](https://qiita.com/Code-Samurai)です。

今回は、ローコード開発ツール「OutSystems」の専門試験である「**OutSystems Architecture Specialist**」試験の学習方法についてご紹介したいと思います。

OutSystemsの専門試験として位置づけられている試験はいくつかありますが、中でもこの試験はコツコツと**王道の勉強**を続ければ結果が出る試験です。

この記事では、合格者の目線から学習方法を振り返り、「学習のポイント」をまとめていきたいと思います。
これから「Architecture Specialist」を目指そうとされている一人でも多くの方に読んでいただけますと嬉しいです。

:::note info
この試験を受験するためには、「**OutSystems Associate Reactive Developer**」試験に合格している必要があります。
:::


# Architecture Specialistについて
[公式ページ](https://www.outsystems.com/certifications/academy-certifications/?page=0)で以下のように説明されている通り、上級開発者やアーキテクト向けの専門試験の位置づけとなります。

> Architecture Specialization試験では、OutSystemsのアーキテクチャ設計の基礎を中心に扱います。優れたOutSystemsアーキテクチャをほぼ自力で設計することができ、柔軟な思考を持ち、効率的で健全なアプリケーションライフサイクルに貢献することを目指している開発者またはアーキテクトが対象です。これは、OutSystemsのプロフェッショナルやアーキテクトになるための重要なステップです。

~~本試験に加えて「**Web Developer Specialist**」「**Security Specialist**」の両試験に合格することで、「**Professional Web Developer**」の称号を獲得でき「**プロ**」として公に認められますので、自慢したい方はぜひ目指しましょう。~~
2025年3月より「**Professional Web Developer**」の付与はなくなり「**Expert Developer**」に一本化されました。本試験に加えて「**Web Developer Specialist**」「**Security Specialist**」「**Front-end Developer Specialis**」「**Mobile Developer Specialist**」の合格により付与されます。

:::note info
OutSystemsで現在利用されている製品には、上記ページ表記で**O11**（OutSystems11）と**ODC**（OutSystems Developer Cloud）の２つがありますが、本試験は前者の**O11**を対象としています。
:::


# 受験の難易度
本試験を受けるみなさんは「**OutSystems Associate Reactive Developer**」に合格された方々であられるはずです。であれば、ご存じでしょう。
例によって、この試験も練習問題がほとんど公開されていません。
「Associate Reactive Developer」では20問あったサンプル問題が、**10問**にまで減らされているのです。サンプル問題に頼らない計画的な学習が必要です。

:::note info
少ないサンプル問題に対し、どのような学習計画を立てるべきかは、[「Associate Reactive Developer」についての解説記事](https://qiita.com/Code-Samurai/private/ccd44a0d18303f5de688)をご確認ください。
:::


難易度で言うと、やはり入門試験であった「**Associate Reactive Developer**」よりは難しいとはいえると思います。その理由は大きく3点です。
1. **学習ボリュームが大きい**
「Associate Reactive Developer」に負けず劣らず、出題範囲の「オンラインリソース」はかなりの量があります。
2. **英語のドキュメントが多い**
出題範囲には日本語になっていない「オンラインリソース」も多いです。随時翻訳ツールを使ったり、英語で理解したりする必要があります。試験監督とのやり取りだけでなく、事前学習の段階でも英語が必須となる。この点も、「Associate Reactive Developer」とは異なります。
3. <font color="Red">**OutSystemsのアーキテクチャに関するより深い問題が出題される**</font>
実際に受験した感触ですが、上級試験らしく、アーキテクチャに関する深い知識が問われます。「オンラインリソース」に書かれている内容は、アーキテクチャに関する思想をいくつかの切り口で体系的にまとめてある印象ですが、これを理解する必要があります。

:::note info
「知識の深い理解」を問われるという点が「知識を適切に使えるか」を問われる印象の強い、Web Developer Specialistと対象的な印象です。
:::

# 出題分野の概要
「Detail Sheet」の「**試験で扱うトピック**」から抜粋しました。大きく５つの分野に分かれています。
1. Architecture Canvas
2. アーキテクチャ設計
   - 設計プロセス、パターン
3. 検証とリファクタリング
   - 検証ルール、検証ツール、リファクタリング
4. スタイルガイドのアーキテクチャ
5. アプリケーション構成

:::note info
2025年3月時点でダウンロードできる「Detail Sheet」を参照したものです。最新の出題分野は、公式ページで必ずご確認ください。
:::

# 学習のポイント
それぞれのトピックで問われるポイントについて、簡単に紹介します。

:::note info
各トピックに対して「オンラインリソース」と「サンプル問題」を振り分てみました。完全に個人の主観による振り分けですので、これが正解とは限りません。
「**知識を体系的に理解すること**」が合格の鍵になりますので、ご自分なりの振り分け方をぜひとも考えてみてください。
:::

##  1. Architecture Canvas
Architecture Canvasの基本的な考え方や使い方だけでなく「なぜArchitecture Canvasを使う必要があるのか」といった、踏み込んだ知識が問われます。

:::note info
配点は **17％**  。「オンラインリソース」で「**〇〇な理由**」という記載を見つけたら、その都度立ち止まって理解していくことをおすすめします。
:::

### オンラインリソース
- 「持続可能なアプリケーション設計」Guided Path
    - アーキテクチャフレームワークを使用したアプリ設計
- オンラインヘルプ
    - Architecture Canvas

### サンプル問題
- 問1：Architecture Canvas導入のメリット
- 問6：命名規則を採用することが重要な理由
- 問9：マルチレイヤーフレームワークの利点

##  2. アーキテクチャ設計
アーキテクチャ設計のプロセスで必要な考え方やアーキテクチャパターンについて問われます。
前者については、アーキテクチャ設計時に考慮すべきポイントそれぞれについて「**なぜ**」を理解しておく必要あります。

後者のアーキテクチャパターンについては、２点注意が必要です。
1. **サンプル問題がない**
まず、この分野についてのサンプル問題がありません。
であるにもかかわらず、試験にはしっかり出題されます。
覚えているか、覚えていないかが合格の鍵ですので、しっかり理解しておきましょう。
2. **Guided Pathとオンラインヘルプの内容が似てるけど違う**
この分野については、Guided Pathとオンラインヘルプの両方でしっかりとドキュメント化されています。
どちらもそこそこのボリュームがあり、似たようなことを言っているので「片方だけ読めばいいや」と思いがちです。ですが、それぞれの内容は違います。
似たようなことを別の切り口で説明してくれているので、しっかり両方読んで両方理解しておきましょう。

:::note info
配点が **30％** と高いです。
ドキュメントも多いですが、**手を抜かない**ことが重要です。
:::

### オンラインリソース
- 「持続可能なアプリケーション設計」Guided Path
    - アーキテクチャフレームワークを使用したアプリ設計
    - OutSystemsのアーキテクチャパターン
- オンラインヘルプ
    - コアサービスを抽象化するための連携パターン
    - ビジネスコンセプトからアプリケーションモジュールへの変換
    - アーキテクチャから展開へ

### サンプル問題
- 問2：関連しないコンセプトを同じモジュールにまとめる必要性
- 問5：計算エンジン（_Eng）モジュールを作成する理由

##  3. 検証とリファクタリング
アーキテクチャに不正がないか検証するためのルールや検証に使用するツールについて問われます。
ArchitectureCanvasとDiscoveryの使い方。性的解析による指摘の内容を確認し、各指摘について「指摘の理由」や「対象方法」を理解しておきましょう。

:::note info
こちらも、配点が **30％** と高いです。
「**なぜ**」をしっかりと理解しておくようにしてください。
:::

### オンラインリソース
- 「持続可能なアプリケーション設計」Guided Path
    - アプリケーションの検証とリファクタリング
- オンラインヘルプ
    - アプリケーションアーキテクチャの検証
    - AI Mentor Studioの仕組み

### サンプル問題
- 問3：ArchitectureCanvasの検証ルールに適合する弱い依存関係の取り扱い
- 問4：エンドユーザーモジュール間の弱いサイドリファレンス解消
- 問7：Discoveryの画面から最大のアーキテクチャ不正を突き止める
- 問8：モジュール間移動時に注意すべき要素

##  4. スタイルガイドのアーキテクチャ
スタイルガイドのアーキテクチャパターンについて問われます。
このトピックはGuided Pathの動画にしか解説がない項目になります。英語の動画なのでハードルはありますが、しっかり出題されるのでしっかり理解しましょう。

:::note info
配点は **10％** 。覚える量が少ない割に出題数が多くてコスパはいいはず。
動画の英語が聞き取れず、機械翻訳の日本語も理解しにくいときは、プレーヤー下の「**download subtitles**」リンクから英語字幕をテキストでダウンロードできるので、それをじっくり解読することをお勧めします。
:::

### オンラインリソース
- 「持続可能なアプリケーション設計」Guided Path
    - スタイルガイドのアーキテクチャ

### サンプル問題
- 問10：カスタムスタイルガイドを実装する必要があるシナリオ

##  5. アプリケーション構成
アプリケーションを適切に構成するためのルールや考え方について問われます。
一見、他の分野と共通しているような知識が多く、分かったような気になりがちです。ドキュメントをしっかり読んで、自分が本当に理解できているのか、よくよく確認してから試験に臨むことをおすすめします。

:::note info
何回読んでも、分かるような…分からないような…という気持になるドキュメントが多い印象でした。個人的には、このトピックが一番学習づらかったです。
配点は **13％** 。もしトピックをどれか捨てるなら、この分野かも…？
:::

### オンラインリソース
- 「持続可能なアプリケーション設計」Guided Path
    - アーキテクチャフレームワークを使用したアプリ設計
- オンラインヘルプ
    - アプリケーションの構成

### サンプル問題
- 問7：Discoveryの画面から最大のアーキテクチャ不正を突き止める


# 最後に
以上、『Architecture Specialist試験に合格するための学習ポイント』でした。

この試験は「**知識を深く体系的に理解すること**」が重要です。
ドキュメントをじっくり読み込み、「Detail Sheet」や「サンプル問題」と見比べながら「この話はどのトピックの知識だ？」と整理しながら学習を進めていくとよいかと思います。


# メディアテックのメンバー募集中！
株式会社メディアテックでは新たな開発メンバーを募集しています。
ローコード開発だけでなく、RPAやBIの開発のご経験をお持ちのみなさま。
ご興味を持っていただけたみなさまのご応募をお待ちしております。

https://recruit.jobcan.jp/mediatech/list/01