Xupper技術サポート部のページ

弊社開発手法やXupper(クロスアッパー)の活用法等について、ご説明させていただきます。

CRUDマトリックスの作成手順

2008年02月29日 | マトリックス分析

CRUD分析の手順

①エンティティ関連図の作成
②ビジネスフロー図(プロセス階層図)の作成
③エンティティ・プロセスレベルのCRUD作成
④CRUD分析
⑤機能仕様書作成
⑥属性レベルのCRUD作成

①エンティティ関連図の作成/②ビジネスフロー図(プロセス階層図)の作成
CRUDの定義ですが、前提としてエンティティ(データ)とプロセス(機能)の洗い出しが行われているということがあります。
もちろん、CRUDを定義しながら新たに必要となるエンティティ(データ)やプロセス(機能)を発見するということもありますが、基本はCRUDを定義する前にすでにエンティティ(データ)もプロセス(機能)も洗い出されているということが前提となります。

③エンティティ・プロセスレベルのCRUD作成
ビジネスフロー図を見るだけでも、各業務でどのような処理(CRUDレベル)が存在するかは想定できますので、まずは、プロセスとエンティティレベルでCRUDを定義していきます。

この段階では、処理内容がまだ不明ですので、タイトルの入力は必須ではありません。(どのような処理かが判明した段階でタイトルを付与してかまいません。ちなみに、Xupperでもタイトルは後から入力することが可能となっています。)

④CRUD分析
CRUDを定義したら、今度はCRUD分析というのを行います。
何かというと、エンティティ(データ)のライフサイクルの確認です。基本的にはエンティティからみてCRUDがそれぞれ1つ以上定義されているかどうかを確認していきます。

⑤機能仕様書作成
タイトルの入力ですが、大まかなCRUDを定義した後に詳細な機能仕様を定義した段階で入力していきます。

よく、IPO(Input-PROCESS-OUTPUT)の形式で定義していきますが、何を入力として、どのような処理を行い、結果として出力するのかを定義していきます。(どのような整理を行うかは、プロジェクトや標準プロセスによって異なると思いますが・・・)

IPOでいうと、何を入力とするかという(Iの)部分にエンティティ(テーブル・ファイル)や画面が定義されますので、エンティティ(テーブル・ファイル)を入力とする処理をRの処理として定義することになります。
当然、タイトルのみではなく各属性(カラム)単位の処理内容を定義することになります。(参照項目、参照条件、ソート条件、集合項目等)

IPOの何を出力するかという(Oの)部分に画面、帳票、エンティティ(テーブル・ファイル)が定義されますので、エンティティ(テーブル・ファイル)を出力する処理を、CUDに分類しCやUやDに適切なタイトルを付与していきます。
もちろん、Rと同様タイトルのみではなく各属性(カラム)単位の処理を定義することになります。

⑥属性レベルのCRUD作成
Cの場合は、基本的にNullを許す属性(カラム)を除き全ての属性(カラム)に対して、どのような値をセットするのかを記述していきます。
Uについては、更新される属性(カラム)に対して、どのような値をセットするのかを記述していきます。
Dについては、キー項目に対して処理を行うということを記述すればいいでしょう。(ここも、論理的CRUDでは全属性(カラム)の情報を削除するということですので全カラムを対象とし、物理CRUDではキー項目のみという定義を行ってもかまいません。)

どのような条件で、どのUを使用するとかRを使用するとかについて、CRUDの仕様の中に記述するべきかという問題ですが、基本的には各属性(カラム)ごとに定義しないほうがいいと思います。

ある条件を満足する場合は、ある更新処理を行うという場合、全属性(カラム)単位にその条件を記述することも可能ですが、基本的にはIPOの処理の中で条件分けは記述し、その条件自体はCRUDの各属性(カラム)の仕様としては記述しないようにします。
もしも、(**の場合、○○をセット)というケースで、各属性(カラム)ごとに条件を記述するという方法をとると、同じ条件(**の場合)をカラムの数だけテキスト入力していく必要があるからです。

(実際に定義する際は・・・)
それから、CRUDの定義ですが・・・
表計算ソフト(Exce等)lを使用して定義することも可能です。しかし、CRUDを定義しつつ、エンティティ関連図やビジネスフロー図が変更されるということを想定すると、Excelでは保守が非常に大変です。また、エンティティとプロセスレベルでの管理であれば、まだ可能かと思いますが、各属性(カラム)レベルまでの仕様をCRUDで管理しようとするとほとんど不可能です。

そこで、Xupperのようなツールを使用して管理するということが必要になってきます。
選択肢としては、
①やっぱり表計算ソフト(Excel等)でやる
②Xupperでやる
③Xupper以外のツールでやる
④リポジトリシステムを自作する

というような選択肢になるかと思います。

後は、費用対効果とかスケジュールとかコストの問題でいずれにするか選択すればいいと思います。

ちなみに、私自身の評価では・・・
①の表計算ソフト(Excel等)で行う場合は、やっぱり大変です。(私ははっきりって遠慮したいですね~)
②は慣れているので、許されるのであれば②でやりたい!
③は、Xupper以外にもCRUD定義を行えるツールはありますので、比較して検討するのもいいかもしれません。
④はやっぱり自分で作るのは大変なので、遠慮したい。

という感じです・・・

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« CRUD分析について | トップ |   
最新の画像もっと見る

コメントを投稿

マトリックス分析」カテゴリの最新記事