DBViewer Plugin for Eclipse とは

DBViewer Plugin for Eclipse(以下DBViewer)は、Eclipse(統合開発環境)を拡張するためプラグインです。
Eclipseに「データベース・フロントエンド」機能を提供します。(JDBCドライバーを使用しています)
DBAの方よりも開発者(Developer)の方をターゲットに機能を提供しています。
※Microsoft AccessやExcelには接続できません




2008年6月18日水曜日

SAStrutsは1ユースケース1Action


アクションは、複数の実行メソッド を持つことができ、
通常は、1ユースケースを1アクションにマッピングします。
複数の画面で構成される意味のある単位をユースケースだと、
とらえればよいでしょう。
http://sastruts.seasar.org/featureReference.html#Architecture



1画面1Actionではなく、1ユースケース1Actionということになると、
ユースケースの粒度をどう見るかが重要になってきます。

例えば、商品マスタメンテナンス機能の場合

画面1:検索条件の入力と検索結果の一覧を表示する
画面2;商品情報の新規登録または画面1で選択した商品の修正・削除を行う
画面3:店舗別の商品情報の修正を行う。

※画面2、画面3それぞれでDB更新を行う。

今回、私が考えているユースケースの粒度は

・商品情報を検索する
・商品情報と登録・修正・削除する
・店舗別の商品情報を修正する

の3つになります。

今回の場合は、結果的に1画面1Actionになってしまいますが
例えば商品情報が、画面に項目が入りきらないなどの理由で
2つの画面に分けて表示する場合は、
その2つ画面で1つのActionになるべきだと考えています。

理由は、

1.入力チェックが画面1、画面2、画面3で独立している点
2.画面2、画面3でそれぞれDB更新する点

※ウィザードのような入力画面であれば1Actionの方がいいと思いますが・・・

です。

いかがでしょうか?

3 件のコメント:

匿名 さんのコメント...

なぜウィザードのような入力画面であれば1Actionの方がいいんですか?

ZIGEN さんのコメント...

こんばんわ、ZIGENです。

6年ぐらい前の記事にコメントがきたので
びっくりしました。

質問の回答ですが、

例えば、Eclipseの新規クラス作成やソフトウェアをインストールするウィザード画面を考えた時、
「新規にクラスを作成する」
「ソフトウェアを追加する」
といったユースケースに分割できるため、
それぞれ1Actionが良いと思いました。

また、ウィザードは複数の画面に分割されることが
ほとんどですが、途中のページの情報はデータベース
永続化せず、セッション情報として一時的に保持する
ことが多いと思っているからです。

各ページでは、1つのActionFormを持ちまわり、最後のページのボタンを使って、データベースを更新するほうが、いいのでは?と思ったのだと思います。

6年も月日がたつと、、もっといいやり方が
あるのかもしれませんね・・・

匿名 さんのコメント...

回答ありがとうございます。今後の参考にします。
今SAStrutsを使って開発をしているのですが、
アクションクラスの単位についてとても困っています。
2画面構成で1画面目は情報一覧リスト・追加・更新・削除ボタンがあります。
追加・更新ボタンを押下した際は2画面目の登録画面へ遷移し、登録画面にある
登録ボタンを押下することでそれぞれ処理が実行されるというものです。
ZIGENさんならどのようにアクションの単位を決めますか?