最近新たに設けられた試験「Architecture Specialization」についてまとめました。
受験予約したので、受験が終わったら感想を追記します。
→ 3/13(土)にオンラインで受験し、合格しました。30問中26問正解。準備としては、pdfにリンクされている情報をきちんと勉強すれば十分かと思います。選択式ですが、記憶が曖昧だと正答を選びきれないかもしれません。
Table of Contents
公式情報
OutSystemsのサイトのCertificationsのページで、Architecture Specialization(OutSystems 11)の枠内に「Exam Details (.pdf)」というリンクがあります。
pdfと書いてありますが、このリンクをクリックするとzipファイルがダウンロードされます。
中身は
- 試験内容の解説ファイル
- サンプル試験問題のファイル
です。
概要
受験するには前提として、Associate Reactive Developerに合格している必要があります。
他の試験と同じく選択式の問題で70%以上の得点で合格とのこと。
試験時間は90分。
試験は、OutSystemsでのソフトウェアアーキテクチャ周りの知識が出題されます。
試験はオンラインで受験できます。受験申し込みをするには、Certificationsのページにログインした状態で移動して下さい。試験名のとなりに「Pre-Register」というボタンが表示されるのでここで申し込み。
申し込んだ後は、OutSystemsの担当者からメールで連絡が来て受験意思を確認され、返信すると正式に受験手続きが進む。試験自体はProctorUで行います。
一連の手続きは英語です。ProctorUでの受験については、以前別の試験を受けたときのメモがあります。
OutSystems Mobile Associate Developer (OutSystems 10) 合格しました
出題範囲
出題範囲の準備をするための教材はOutSystemsが公開しているドキュメントや動画。「試験内容の解説ファイル」に各リソースへのリンクがあります。ただ、まだ英語のみの資料も多そうですね。最近はOutSystemsの資料も日本語化が進んできてはいるんですが。
アーキテクチャキャンバス
5問(17%)。
アーキテクチャキャンバスというのは、OutSystemsアプリケーションのアーキテクチャ設計に使う図とそれを利用した設計方法のことです。以前は4 Layer Canvasとよんでいましたが、OutSystems11で導入された参照の強弱概念により、最上位レイヤーが不要になったのに伴い改名されています。
教材をいくつかチェックしたところ、古い用語のままの部分があったため、適宜読み替えて下さい。
アーキテクチャ設計
設計手順が4問 (13%)、アーキテクチャ設計パターンが5問 (17%)。
要件(OutSystemsの開発手法はScrumベースなのでユーザーストーリー)から、OutSystemsのモジュール構成に落としていく手順。
この手順の中で代表的なアーキテクチャ設計パターンを参照し、寄せていくのですが、このアーキテクチャ設計パターンも出題範囲のようです。
検証とリファクタリング
検証ルール(Validation Rules)が5問 (17%)、検証ツールが1問 (3%)、リファクタリングが3問 (10%)。
アーキテクチャキャンバスでは主にモジュール及びアプリケーションを適切に分解して役割分担します。ルールというのは、このモジュールやアプリケーションの参照関係が守らなければならないルールです。
ツールは、たぶんアーキテクチャダッシュボードのことですね。OutSystems環境にProbeを入れておくと、インターネット上のサービスにモジュール情報を送信し、ルールに則っているかを検証し、修正方法等を教えてくれるツールです。残念ながらPersonal Environmentでは使えません。
ここで言うリファクタリングは、よくある自動実行できる回帰テストコードの存在を前提にコードを改善していく方法というよりは、モジュールを再構成してアーキテクチャを改善する方法、です。
スタイルガイドアーキテクチャ
3問 (10%)。
一貫性のある見た目や機能を作成するアプリケーションに提供するための仕組み。
作成するモジュールのテンプレート(共通利用するテーマ、標準的なログインフローや共通部品を組み込んでおく)や、利用できるスタイルやUI Pattern (Widgetのこと)、スクリーンテンプレートのカタログを提供する。
アプリケーション構成
4問 (13%)。
OutSystemsにおけるアプリケーションとはモジュール(eSpaceとExtension)の入れ物でリリース単位です。このアプリケーションを適切に設計する方法。
ちなみに、eSpaceは普段Service Studioで開いて作業するあの単位のことです。Extensionは外部DBやC#コードの開発に使い、Integration Studioで開いて作業するもの。