シリーズastah*で業務をまとめ、プログラムまでのトレーサビリティを取るのつづきです。
エンタープライズ系の開発をトレーサビリティをとって行う流れをまとめるとこんなかんじ。
・ユースケース図
↓
・アクティビティ図
↓
・(ユースケースシナリオ=astah*にない)
↓
・アクティビティの構成を示したクラス図
↓ ↓正規化
画面定義、帳票定義 ER図
前回は、画面定義、帳票定義の話をしました。
今回は、ここから、DB定義、ER図作成についてです。
■変換のしかた=正規化
といっても、それって、画面項目から、保存する必要のある項目を抜き出し、
テーブルに適当に分けなさいということなので、
正規化しなさい
といっていることといっしょです。
つまり、
1.画面項目定義から、保存すべきデータを取り出す。
既存の項目と関連ある項目は、まとめていく。
2.その中で、繰り返し要素があったら、分ける:第一正規形
3.そうしてできたまとまりをテーブルとして、
そのテーブルの主キーをきめる。
主キーが複数項目からなるとき、その項目の一部をきめると、
他の項目も決定してしまう場合、それは別テーブルにする
:第二正規形
4.主キー以外で、ある項目が決まると、
他の項目も決定してしまう場合、それは別テーブルにする
:第三正規形
という形でテーブルをわけ、DB定義とします。
■ER図
DB定義ができると、テーブル名をエンティティとみなすことで、ER図がかけます
(みなしていいのか?という問題はあるが)
リレーションは、外部参照しているところで、
カーディナリティは、主キーがあるほうが1、そうでないほうは多(または、0、1)
です。
■astah*の図
astah*のプロフェッショナルには、ER図は入っているのですが、
今回使っているのは、コミュニティ版で、それには入っていないので、
省略します。
■このあと
画面定義書から、フレームワークによって、画面部分
DB定義をもとにDAO部分
が生成され、あとはそれをつなぎます。どこに書けばいいかは、前もってクラス図に描いてあります。
ということで、プログラムにつながってくるのですが、
この部分は、フレームワークや言語によって、ちがってくるので、省略します。
次回は、ステートチャート図