システム開発の大黒柱!!「理想のデータ」を掴むには#2

システム開発の大黒柱!!「理想のデータ」を掴むには#2

システム開発の大黒柱!!「理想のデータ」を掴むには#1の続きです。データの関係などを管理・整理しシステム開発における、曖昧性を無くします、

Step 6 属性の登録

UIプロトタイプから項目を洗い出し、抽出されたリソース系エンティティとイベント系エンティティに振り分けて、項目を属性として登録していきます。 登録後は正規化を実施し、データモデルを「一意従属」の形に整えます。属性を命名する際には、極力、用語集、データ項目辞書に整理されているビジネス語を使いましょう。解りやすいモデルとするために、このことはとても重要です。 用語=データ項目辞書がまだできていない段階では、ビジネス用語を属性名称(またはその一音として使用した上で、併行して用語集、データ項目辞書にも登録していきましょう。このとき、命名規則(ネーミングルール)に従うことは言うまでもありません。登録の際には例えば、「顧客名:管理対象となる顧客の名称」という風に「エンティティ:属性」すると良いでしょう。

Step 7 主キーの設定

登録された属性から主キー(主キーの属性値が同じであレバその他の属性の属性値が一意に決まる)を設定します。主キーは各エンティティに対して必須項目です。主キーは、エンティティを一意に識別する(つまり特定する)ために設定します。主キーによりエンティティがー意に認識されることになります。

Step 8 抽象化

前述の「データモデルパターン」を使用した抽象化について検討し、必要な場合には実施します。どこまで抽象化を行うべきか、開発プロジェクトとして事前に決めておくことが望ましいでしょう。

Step 9 外部インターフェースの記載

外部インターフェースが存在する場合、新システム全体図と外部インターフェースの対象ファイルをエンティティとしてモデル図に記述しておきます。正規化が崩れる等、少々泥臭い表現(エンティティ)になっても仕方ありません。存在するものはモデル上に表現しておきます。そして、外部インターフェースから、受け渡しに必要な項目がわかるようであれば、可能な限りエンティティの属性として登録しておきましょう。また、相手側(外部)システムの項目名称·型、正式な用語ではなく、UIで使用する「ラベル」と同様に管理するのです。

Step 10 用語集の整備

「用語集」と「データ項目辞書(データディクショナリ)」を整備します。登録すべきは、ビジネス用語、同義語 (あれば)、エンティティの属性名称等です。属性に関しては、前記の命名規則(ネーミングルール)に準じる形で登録していきます。また用語集、データ項目辞書は、ER図と対をなすものです。現時点での詳細で構いません。両輪をきちんと抑えてはじめてデータモデルと呼べるものが出来上がります。データモデルの理解度も格段に高まります。

Step 11 別名·異音同義語·同音異義語の整理

登録された属性の用語を整理します。 用語を整理するときは、次の3つを常に念頭に置いておきましょう。

エイリアス(別名):そもそも実体と呼び名がくい違っている。

シノニム(異音同義語):実体は同じなのに、見方によって呼び名が違う。

ホモニム(同音異義語):実体は異なるのに、同じ名前で呼ばれている。

特に、登録する用語にシノニムがないかを、早い段階で意識しましょう。用語の意味不明や勘違い、暖味な箇所を放置しておくと、後々の実装工程で重大事になりかねません。 勘違いを元にして大きな手戻りが生じ、場合によってはプロジェクトの致命傷となります。そんなことにならないよう、 早いうちから用語の意味をきちんと定義し、用語集、 データ項目辞書に登録しておきましょう。

Step 12 データモデルの確認

2つのエンティティと結びついているリレーションシップの線を切り出して、ビジネスルールおよび、必要とされる属性を確認します。場合によってはUIの確認に使用したプロトタイプの当該箇所を切り出して、確認用に使用します。特に留意すべきは、何度も繰り返しますが「リソース系エンティティ」です。リソース系エンティティの意味合いや定義が後工程で覆ることは、ビジネス領域における、例えば「顧客」や「商品」の扱いが変わることを意味します。開発プロジェクトとして取り返しのつかない大惨事になりかねません。

Step 13 さらなるデータモデルの磨き上げ

現時点でできあがった論理データモデルを、さらに磨き上げていきます。磨き上げの方法は以下のとおりです。

* エンティティ間で関係のない属性に当たりをつけて、ビジネスルールを灸り出す。

* リレーション1本1本を赤ペンでなぞりながら、ビジネスルールを究り出す。

*関連のあるエンティティの属性同士から、さらなるビジネスルールを作り出す。

* システム全体図、プロセス、データの観点から、外部接続の漏れの確認を行う。

以上のstep1~14がデータモデルの作り方です。これを元にシステム開発をより高度に簡易に行う架け橋にしてみてはいかがでしょうか。

 

テックカテゴリの最新記事