Quantcast
Channel: ウィリアムのいたずらの、まちあるき、たべあるき
Viewing all articles
Browse latest Browse all 7267

Astah*で、上流から、下流まで、トレーサビリティをもって開発する方法(3)

$
0
0
昨日、

Astah*で、上流から、下流まで、トレーサビリティをもって開発する方法(2)
http://blog.goo.ne.jp/xmldtp/e/5feafa838af667987ed230e9ef5688bc


で書いた話の続き。

昨日は、

(5)アクティビティ図の入出力に対する部分がViewとなり、
   クラス図(ER図に相当する)ところが、モデル(DAO)になり
   アクティビティは、Viewを受ける部分にあたるので、コントローラーとなる。

をやって、
・「年月日」といった、型の話は出てこなかった。
・「集約」でも「コンポジション」でもどっちでもいい
という話が残っていた。今日は、まずそれを片付ける。



■型とか、ブロックとかについて

 クラス図でViewを書いた。
 しかし、Viewの一部分がまとまりのときがある。
 たとえば、
   Viewで何箇所も出てくる、年月日のような型
   Viewの中の項目の値として出てくる、男女のような決まった値
   Viewの中の一部分(の繰り返し)として出てくる、受注明細のような部分
 こういったのは、部品として、まとめておく。

今回だと、問4は、男女なので、こんなふうに書ける

男女だと、ステレオタイプは本来、enumなんだろうけど、上記のモノを、
全部まとめて扱いたいので、こんなふうにしている。

受注明細は、こんなかんじ

受注と受注明細のように、部分になっているものは、線をつなぐ
(でないとわからないから)
型の場合は、クラスを切って、型のところの名前をセット
(型名でつながりはわかるから)

「商品」は、部品になるんじゃないの・・・
という至極当然な意見があると思う。
部品にしてもいい。でも、この段階でやらなくてもいい。
あとで、正規化するときにすればよい。

これらの部品(ステレオタイプparts)は、
  モデルでは、テーブルとして
  Viewでは、1つの部品に
なる「可能性がある」(ならないこともある)



■「集約」でも「コンポジション」でもどっちでもいい

 画面に分割したとき、元の画面と、分割した画面は、

「集約」でも「コンポジション」でもどっちでもいい

と書いた。その心は、上に書いた、「商品」の分割と同じ。
この段階で、コンポジションにしてしまっても、後でまとめて
考えても良い。

本来、集約とコンポジションの違いは、私の理解が正しければ、

  集約は親子の生存の制限はない
  コンポジションは、生存が一致

ということは、たとえば、共通画面みたいなのが出てきた場合、
コンポジションではない。他のところでつかわれるかもしれないから。

画面分割中に、この画面は、このように分割され、ここでしか使われない
と判っていれば、コンポジションにできるかもしれないが、
そうでない場合、集約でかまわない。
全部画面を書き出してから考えれば良いし、そもそも、コンポジションか
集約かで、開発が変わることもない。
なので、集約で書いてかまわない。この前の例もそうしている。



ということで、疑問点は書いた。
次回は、


(4)その後、MVCアーキテクチャを採用したとすると、
   なんかのフレームワークを決めて、

について

Viewing all articles
Browse latest Browse all 7267

Trending Articles