ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

astah*を使って、ICONIX風一気通貫システム開発 その11(終):コントローラー

2010-12-31 21:04:30 | そのほか


 「astah*を使って、開発の要求仕様から、プログラム作成までを、トレーサビリティを保って、どのように開発するかを書いてみる」という、このシリーズ、以下の手順で説明する予定で、

(1)作るべきもののユースケースを書く
(2)ユースケースシナリオを書く
(3)ロバストネス分析
(4)バウンダリ(画面)、エンティティ(テーブル等)の属性を埋めていく
(5)バウンダリの項目を元に、画面構成を考える。
(6)(必要があれば)エンティティを正規化して、ER図にする
(7)フレームワークを決定する
(8)画面クラスをソースコードに書き直す
(9)エンティティをDBのテーブルと、DAOに書き直す
(10)コントローラーを書き直す


 前回、(9)書いて、のこり1個「(10)コントローラーを書き直す」なので、
今回、これを書いて、このシリーズをおわりにしてしまいましょう。




■概要と位置づけ

 (8)により、画面部分を書きました。
 (9)により、エンティティ部分を書きました。

 画面はViewであり、このViewは、さかのぼるとユースケースと結びついています。
 でも、あるユースケースにおいて、利用するエンティティはさまざまです。
 また、違うユースケース間で、同じエンティティを使う場合もあります。

 つまり、ユースケースとエンティティ間には、ミスマッチがあります。
 これを解決するのがコントローラーで、

 コントローラーは、View(=エンティティ)のデータを受け取って、エンティティやビジネスモデルを操作して、
 その結果を受け取って、ビューに値を返します。




■結局

 Viewとエンティティ、ないしはビジネスモデルを呼び出す部分をコーディングすることになります。
 Strutsだと、Action部分を作ることです。

 ただ、Actionの実装において、ビジネスモデルをどこまでアクションに入れるか、入れないか?
 の問題があります。Actionは、値の引き渡しだけで、ロジックはすべて、ビジネスモデルにいれてしまうか、
いや、多少の計算は、Actionでやってもよくね?と考えるか・・・

 このへんは、現場の偉い人の考え方になってきます。




 ってことで、一通り開発の流れを書きました。


 このシリーズ、これにて、おしまい。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする