- - PR -
Strutのプログラムの切り分け
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-12-10 09:26
現在Strutsによる開発を始めようかとしており、そこでプログラムの分担方法について問題になっているのですが。例えば…
ログインJSP→ログインアクション→メニューJSP→メニューアクション→マスタメンテJSP→マスタメンテアクション とありまして、当初はメニュー担当の人がメニューとメニューアクションを受け持つ予定でしたが、メニューアクションではマスタメンテJSPに表示する、初期表示情報をDBから取得する必要があるためマスタメンテ担当の人が行うべきではないかと?問題になっています。 Strutsに限った問題ではないと思いますが、実績がまったくないためどのようにしようか迷っております。 皆さんどのようにプログラムの分担を行っているかご教授お願いします。 | ||||||||
|
投稿日時: 2007-12-10 09:37
機能(画面)ごとに縦割りで分担するのはベターではありません。
【理由】 ・分割する単位が曖昧になる ・似たようで異なる実装を担当者ごとに個々に作りやすい ・全員がJSPからDBまで全てを覚える必要がある したがって、レイヤー毎に担当を分けるほうが効率がいいです。 つまり、画面(JSP)担当の人とDBアクセス(DAO)担当の人、3人目としてビジネスロジックやDTOなどの画面とDAOをリンクする人、という感じです。 このように分担すれば各人が今回のPJで覚える技術の範囲が狭くなります。 ただし、全体を見渡せる人を必ずリーダーにすえて下さい | ||||||||
|
投稿日時: 2007-12-10 09:58
わたなべ様返信ありがとうございます。
参考になります、たしかにその方が効率がよさそうですね。 しかし当社の方針として画面単位(PG単位)でレビデンスを残さないといけません。 その理由から縦割りがどうしても必要なのです。 そういう方針さえ変えなければならないのかもしれませんが… | ||||||||
|
投稿日時: 2007-12-10 10:49
開発スケジュールをマスタメンテ画面から行い、メニュー画面を後回しにしてはどうですか。
マスタメンテ画面のJSPさえ作成されていればメニューは作成できるはずです。 私も以前、strutsで開発をしたことがあります。 そのプロジェクトでstrutsに精通するものがおらず、かなり手探りでした^^; そのときは画面ごとに開発を行いました。 その結果、わたなべさんの仰るように、 ・全員がJSPからDBまで全てを覚える必要がある ・マスタメンテアクションの実装がバラバラ(似たような画面で) などの問題が起こりましたね。 今となってはいい経験ですけど。 | ||||||||
|
投稿日時: 2007-12-10 12:03
解決案などではないです。(確認と、実際の作業する立場からの目線的意見です。)
基本的な担当分けとして、 ログイン担当者:ログインJSP、ログインアクションクラス、... メニュー担当者:メニューJSP、メニューアクションクラス、... マスタメンテ担当者:マスタメンテJSP、マスタメンテアクションクラス、... そこで、メニューアクションクラスはメニュー用の処理がなく、 実際には、マスタメンテJSPを表示するためのデータ取得処理しかないため、 メニューアクションクラスはマスタメンテ担当者が作成すべき。 という論が出ているということでよろしいでしょうか? となると、もし、メニューアクションクラスにメニュー用の処理が入ってしまったら、 どっちが担当しなければならなくなりますか? (それでなくても、A機能からB機能に遷移(A機能の処理もあり、B機能JSPを表示するためのデータ取得もあり)するような場合、 A機能のアクションクラスの担当は誰ですか?) --- 「マスタメンテクラス」を「マスタメンテアクションクラス」に修正 [ メッセージ編集済み 編集者: 未記入(仮) 編集日時 2007-12-10 13:10 ] | ||||||||
|
投稿日時: 2007-12-10 13:00
返信ありがとうございます。
A機能からB機能に遷移(A機能の処理もあり、B機能JSPを表示するためのデータ取得もあり) のような場合はA機能に、A機能の処理を行うアクションクラスとB機能に遷移するアクションクラスを作成し、A機能の処理を行うアクションクラスはA機能担当者、B機能に遷移するアクションクラスはB機能担当者にしようと思っています。 やはり変ですか? ノモンさんはどうされましたか?よかったらご教授願います。 | ||||||||
|
投稿日時: 2007-12-10 14:13
シーケンス的には、 A機能JSP -> A機能(イベント(処理)用)アクションクラス -> B機能(表示用)アクションクラス -> B機能JSP 担当分け的には、 A機能担当者:A機能JSP、A機能(イベント(処理)用)アクションクラス、A機能(表示用)アクションクラス... B機能担当者:(略 という形ですか? # ちなみに、私のやったことのあるのはこんな感じでした。 そうなると、メニューからマスタメンテに遷移するときのシーケンスは、 メニューJSP -> メニュー(イベント(処理)用)アクションクラス -> マスタメンテ(表示用)アクションクラス -> マスタメンテJSP ということですよね?
この論について、「マスタメンテ担当者に、マスタメンテ(表示用)アクションクラス、メニュー(イベント(処理)用)アクションクラスを作れ」となってるんですよね?機能が分かれてないと思いますけど... --- #痛い子になってますが...補足しておきます。 機能単位で担当者に割り振るという前提があり、かつ、実装方法が出てきたので、 なぜ、「メニューアクションは、マスタメンテ担当者の持分」という議論が出ていたのか不思議に思って書きました。 [ メッセージ編集済み 編集者: 未記入(仮) 編集日時 2007-12-12 13:43 ] | ||||||||
|
投稿日時: 2007-12-11 17:29
私もレイヤ単位での分割を支持しますが、どうしてもすべての機能が並列に開発される必要があるとすれば、以下のような分割も可能なことは可能です。
A 画面初期化アクション→A JSP→A アクション→B 画面初期化アクション→B JSP→B アクション→(以下同様) アクションと画面が交互に現れなければならない必然性はありませんから。 |