データ登録サービスのユビキタス言語を整理した
アプリケーションの設計を実際の資源評価事業のメンタルモデルが反映されたものにするために、資源評価事業で使うユビキタス言語を整理した。
はじめに
ユビキタス言語がないと、アプリケーションの仕様をちゃんとモデリングできない。 例えばこの記事を書いた時点ではデータ登録サービスを作っていて、設計中に「データ」や「データセット」などの表現が混在してしまっていた。 設計を整理する中で「メタデータ」なる表現も出てきたが、資源評価担当者だった当時を振り返っても、こんな表現を使ったことは一度もなかったように思う。
データ登録サービスを開発しようとしている現時点に限って言えば、いま必要なのは水産研究・教育機構が掲載している “用語集”にあるような、評価・管理観点の用語ではなく、データを扱う評価担当者が使っている用語だ。 それゆえに対外的に公表されにくい1。
ということで、本記事ではデータ登録サービスのユビキタス言語を整理していく。
設計に必要な用語の種類
用語の整理は、下記二つに分類する:
- ドメイン語彙(ユビキタス言語): 業務で実際に使われているもの
- モデル語彙: 業務で使われることはないが、期待される動作を実現するためにモデリング上必要な語彙
前者は問題空間の用語、後者は解決空間の用語。
ドメイン語彙
| 用語 | 形式言語内での表現 | 意味 |
|---|---|---|
| 資源 | Resource | 評価対象となる種名と系群の組。例:「カタクチイワシ・太平洋系群」。日常会話では「カタクチ太平洋」のように略して呼ぶことがある |
| 年度評価 | AnnualAssessment | 特定の年度に実施する資源評価。例:「2026年度評価」 |
| 評価対象 | AssessmentTarget | 年度評価と資源の組。例:「2026年度のカタクチ太平洋」 |
| 評価データ | AssessmentData | 年度評価で利用するデータ。例:年齢別漁獲尾数、年齢別体重、年齢別成熟率 |
| パラメータセット | ParameterSet | 評価計算で使用するパラメータの集合 |
| シナリオ | Scenario | 評価作業中に比較・検討する論理的な単位。例:「昨年度踏襲」「手法A検討用」。シナリオは、使用する評価データやパラメータセットを参照する |
| 版 | Revision | 評価データまたはパラメータセットの不変なスナップショット。内容を修正するときは、既存の版を変更せず、新しい版を作成する |
| 最新版 | CurrentRevision | 評価データまたはパラメータセットについて、現在使用するものとして選択されている版 |
| 外部公開 | Publish | 評価データまたはパラメータセットの特定の版を、組織外から利用可能な状態にすること |
モデル語彙
| 用語 | 形式言語内での表現 | 意味 |
|---|---|---|
| アーカイブ | Archive | 評価データ、パラメータセットまたはシナリオを通常の利用対象から外すこと。版の内容は保持する |
| 物理削除 | Erase | 機密情報の誤登録などに対応するため、版に記録された内容そのものを削除すること |
| 登録要求識別子 | IdempotencyKey | 同一の登録要求を識別するために、コンシューマーが登録要求に付与する識別子 |
まとめ
手元でのモデリングを進めるうえで必要だったので、ひとまずはこんなところでいいだろう。
確認のために「エヴァンス本」の第2章を読み返していたのだが、「高次の構成原理(コンテキストマップや大規模な構造など)」も、今後必要になったら整理したほうがいいかも。
参考情報
-
公表されないのは機密的な問題ではなく、インセンティブの問題。内部で(何気なく)しか使わない専門表現をわざわざ整理して公開するインセンティブなどどこにもない。専門用語として認識されてすらいないこともある。 ↩︎