
データモデルデザイン
綿密に設計されたデータモデルには、再利用性、特殊化による拡張性、保守性の高さというメリットがあります。 ソフトウェアプロジェクトにおいて、データモデルデザインはプロセス設計と同様に重要です。
データモデルは、ビジネスプロセスのライフサイクルにおけるデータフローを完全に描く設計図となります。 しっかりしたデータ設計図があれば、データを最大限かつ効率的に活用できます。
所定のビジネスシナリオに対してデータモデルソリューションの設計を始める場合の、データモデリングの基本的な手順は以下のとおりです。
- データオブジェクトを特定する。
- 各データオブジェクトの属性を特定する。
- 再利用可能な既存のデータオブジェクトを特定する(継承または合成)。
- データオブジェクトを関連付ける。
- アプリケーションで作成されたデータオブジェクトの永続化/統合を計画する。
データモデルデザインは、ビジネスニーズを満たすアプリケーションの開発において、きわめて重要なフェーズです。 リードシステムアーキテクト(LSA)は、データモデリングに着目し、以下のようなメリットを活用します。
- データを分類し、モデリングすることで、データの複雑性を解消できる。
- データモデリングにより、ビジネス要件を満たすために必要なデータを特定できる。ソースからデータを取得する計画を立て、データの損失を回避できる。
- データモデリングは、取得したデータをすべて永続化し、システムの整合性を維持するための保存計画を設計する際に役立つ。
- データの整合性設計(信頼できる唯一の情報源の維持)を考慮することで、データの精度や正確性を維持できる。
- データのバックアップや他者への公開を、データモデリングで適切に計画できる。
- データモデリングによって、さまざまなステークホルダーが必要とするデータを定義および記述できる。 たとえば、管理者はレポート作成にデータを必要とするが、開発者は同じデータを使ってビジネスロジックを実行することがある。
- 将来的な要件も考慮したデータモデリングにより、アプリケーションの堅牢性、柔軟性、拡張性を維持できる。
データモデルのメリットを実感できるよう、次のような例を考えてみましょう。 Purchase Requestアプリケーションには、Order ManagementとProduct Managementという2種類のプロセスがあります。 2つのスプリントチームが同時にOrder ManagementとProduct Managementを導入し、それぞれが製品に対する各チーム独自の定義をモデリングしています。 このとき、2つのスプリントチームが、1つの製品について、企業全体で再利用可能な1つの定義ではなく、2種類の設計を提供するというリスクがあります。 このような状況では、同じ製品に対して違う検出方法を使用することになり、データが重複します。 その結果、保守作業が多くなり、アプリケーションの柔軟性が失われ、アプリケーションの拡張性が損なわれます。
補足: データ要素がすでに存在する場合は、それがどのように要件に適合するかを検討してください。 たとえば、Pegaのクラスと必要なビジネスオブジェクトの適合性が80%である場合は、すぐに使えるデータ要素を使用してください。 PegaData-*を確認し、これらのクラスの再利用、合成、継承が可能であることをチェックします。 それ以外の場合は、新しいデータ要素の作成を計画してください。
データモデルデザインは、データの整理と設計が対象であり、データに対して実行される操作は含まれません。 ケースタイプは、そこに含まれるデータとは異なります。 ケースタイプは、データに対して操作を行います。 ケースの主な目的の1つは、1つのMicrojourneyや1つのビジネストランザクションを完了するために必要なデータを管理することです。 データの主な目的は、他のデータタイプを構成すること、または1つ以上のケースタイプで使用されることです。
データモデリングの最後には、データとその関係を関係図で表現するといいでしょう。 この関係図はApp Studioで作成されるため、サードパーティ製ツールでデータの関係図を作成する必要はありません。 設計フェーズ(実際にPegaで実装する前)では、データモデリングを理解しやすいように、シンプルなボックスやコネクターを使って表現できます。
このトピックは、下記のモジュールにも含まれています。
- データモデルの設計 v3
トレーニングを実施中に問題が発生した場合は、Pega Academy Support FAQsをご確認ください。