本記事では、Creative Content Lab Tokyo(クリエイティブコンテンツラボトウキョウ)が作成したCURD図/CRUDマトリクス表(エクセル版)のテンプレートをご提供しております。
はじめに
1.CRUD図とは
CRUD図は、データベースやシステムの開発過程において使用されるモデリングツールです。CRUDとは、「Create(作成)」「Read(読み取り)」「Update(更新)」「Delete(削除)」の頭文字を取ったもので、データの基本的な操作を表しています。
CRUD図は、データベースやシステム内でどのようなデータ操作が行われるかを可視化するために使用されます。以下にCRUD図の要素とその役割について説明します。
-
エンティティ(Entity): エンティティは、データベース内の特定のデータを表すものです。例えば、ユーザーや商品などがエンティティとして表されます。(※Salesforceではオブジェクトに該当します)
-
属性(Attributes): 属性は、エンティティが持つ特性やデータの要素を表します。例えば、ユーザーエンティティの属性には「名前」「メールアドレス」「パスワード」などが含まれます。※Salesforceでは、フィールドに該当します
-
関連(Relationships): 関連は、エンティティ間の接続や依存関係を示します。例えば、ユーザーエンティティと注文エンティティの間には「1対多の関係」があり、1つのユーザーが複数の注文を持つことができます。
-
操作(Operations): 操作は、CRUDの基本操作(作成、読み取り、更新、削除)を表します。それぞれの操作は、エンティティに対して行われるアクションを示します。例えば、ユーザーエンティティに対する操作として「新しいユーザーの作成」「ユーザー情報の読み取り」「ユーザー情報の更新」「ユーザーの削除」があります。
CRUD図の作成目的
- データ操作の可視化: CRUD図は、データベースやシステム内で行われるデータ操作を視覚的に表現することで、開発者やステークホルダーにとって理解しやすくします。これにより、システムの要件やデータフローを明確にすることができます。
- 設計の基盤: CRUD図は、データベースやシステムの設計の基盤となります。エンティティ、属性、関連などの要素を明確に定義することで、データベースのテーブル構造やシステムの機能を設計する際の指針となります。開発者やデータベース管理者は、CRUD図を参照してデータベースやシステムの設計や実装を行うことができます。
- コミュニケーションとドキュメント化: CRUD図は、開発者やステークホルダーとのコミュニケーションツールとしても役立ちます。図によってデータ操作のフローを明確に示すことで、開発者間や関係者間での理解の共有が容易になります。また、CRUD図はプロジェクトのドキュメントとして使用され、後から開発やメンテナンスを行うためのリファレンスとなります。
データの整合性とセキュリティ: CRUD図は、データベースやシステム内のデータの整合性とセキュリティを確保するためにも役立ちます。
適切な関連性や操作の定義によって、データの整合性を保つことができます。また、CRUD図はアクセス権や機能制限の設計にも活用され、データのセキュリティを確保するための基礎となります。
1.テーラリングガイド
1.表紙(メッセージ定義書)
画像はクリックすると拡大表示されます。
表紙については、以下の箇所をプロジェクトに合わせて変更してください。
基本設計工程としていますが、プロジェクトの工程に合わせて適宜変更してご利用ください。
情報種別:社外秘など
情報所有者:基本的にはお客様の会社名となります。
会社名:自社の会社名(正式名称)を記入してください。
タイトル:ドキュメントのタイトルをプロジェクトに合わせて変更
版数、作成日、作成者:※必要に応じて、最終更新日、更新者を入れてください。
2.改訂履歴
版数、変更箇所、変更内容、変更理由、作成日、作成者、更新日、更新者などを記述します。
改訂履歴は、ドキュメントのメンテナンス上必ず設定するようにしましょう。
またプロジェクトごとに記載の粒度やルールを検討してください。
3.CRUDマトリクス表(機能xオブジェクト(エンティティ)レベル)
CRUDマトリクス表は、大きく2種類の粒度の設計書が存在します。1つ目は下記のようなエンティティ(オブジェクト)に対してのCRUDを定義するものとなります。
こちらは、各機能(またはプログラム)で、どのオブジェクトをどのような目的「Create(作成)」「Read(読み取り)」「Update(更新)」「Delete(削除)」で利用するかを定義した設計書となります。この資料を作成しておくことで、データベースに変更が入る場合に、どの機能/プログラムに影響があるのか簡単に確認することができます。
【記載内容】
- 機能ID:システム機能のIDを記入します。
- 機能種別:システム機能の種別(画面、バッチ、帳票、APIなど)を選択します。
- 機能名:システム機能の名称を記入します。
- プログラムID:プログラムのIDを記入します。
- プログラム名:具体的なプログラム名(物理名)を記入します。※1つの機能で複数のプログラムがある場合には全て羅列します。
- 業務領域:概念データモデルで定義したエンティティの纏めりを定義 (不要な場合は削除してもよい)
- エンティティ(オブジェクト):システム全体のオブジェクトを列で定義します。(オブジェクト名は論理名と物理名(API参照名)の両方を定義しておきます)
4.CRUDマトリクス表(機能x項目(フィールド)レベル)
2つ目のCRUCマトリクス表は下記のような項目(フィールド)に対しての機能/プログラムのCRUDを定義したものとなります。
こちらの場合は、項目数が多い場合には列がかなり長くなってくるため、可読性の観点から1つのエンティティ(オブジェクト)に対して、1シート単位で作成したほうが良いかもしれません。
また、処理単位で記載するようなサンプルとなっていますが、メンテナンスも大変なため、機能またはプログラム単位で作成してもよいでしょう。
【記載内容】
-
- 機能ID:システム機能のIDを記入します。
- 機能種別:システム機能の種別(画面、バッチ、帳票、APIなど)を選択します。
- 機能名:システム機能の名称を記入します。
- プログラムID:プログラムのIDを記入します。
- プログラム名:具体的なプログラム名(物理名)を記入します。※1つの機能で複数のプログラムがある場合には全て羅列します。
- 処理ID:プログラム内の処理ごとに採番されたIDを定義します。
- 処理名称:プログラム内の処理名称を記入します。
- 業務領域:概念データモデルで定義したエンティティの纏めりを定義 (不要な場合は削除してもよい)
- エンティティ(オブジェクト):システム全体のオブジェクトを列で定義します。(オブジェクト名は論理名と物理名(API参照名)の両方を定義しておきます)
- 項目(フィールド):オブジェクト内の項目を論理名と物理名(API参照名)で定義します。
4.メッセージ定義
最初にメッセージIDの設定ルールを定義しましたが、その定義内容に基づきメッセージ定義を作成していきます。
メッセージを利用するシステム、機能領域、種別(Sevirity)によってメッセージIDを定義します。
発生元:メッセージを出力するシステム/機能を定義します。
出力先:メッセージを利用する機能や出力先の画面などを定義します。
Sevirity(重要度):メッセージの重要度を定義します。
メッセージ:出力するメッセージ内容を定義します。パラメータによってメッセージ内容を置換する場合には、パラメータで置き換える部分を{n}で定義してください。
2.CRUD的陸図表の(Excel版)のダウンロード
資料のダウンロードおよびご利用に関しては、本サイトのコンテンツ利用規約に同意される場合のみ利用可能となります。
一般公開資料
設計_基本設計_CRUDマトリクス表(EXCEL版)のダウンロード
※クリックして資料のダウンロードが開始されるまで少し時間がかかる場合がありますので、そのままお待ちください。
もしダウンロードが開始されない場合、ブラウザでポップアップブロックされている可能性があるのでご確認ください。
まとめ
そのほか要件定義に関するドキュメントをお探しの場合は、以下の記事にご利用可能な全てのコンテンツ(ドキュメント)が掲載されているので、合わせてご利用ください。
-
参考ダウンロード可能なコンテンツ(サンプル・フォーマット)一覧
サポーターお問合せ・ご要望いただいているコンテンツも頑張って作成しているので、もうしばらくお待ちください ダウンロード可能なコンテンツ一覧 提供しているテンプレートと公開範囲は以下の通りとなっています ...
続きを見る