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

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

開発の初めから順番に書いていってみる その26:外部設計(3)要件定義から設計に落とす方法2

2007-04-11 14:53:24 | Weblog

シリーズ「開発の初めから順番に書いていってみる」の続きです。
前回、要求分析の結果(ここではDFDを扱います)から、外部設計、最終的に詳細設計へ落とし込むのは、以下の手順で行うと、説明がつくということを書きました。

(1)入出力の媒体をきめる。
(2)その媒体ごとにフレームワークを決定する。
   なければ、入出力方法を決定する。
(3)そのプロセスの起動方法を考える
   なければ、起動モジュールを考える。
(4)起動モジュールから、(2)の呼出し手順を考える
   →そうすると、処理部分だけ、のこるはず。
(5)その処理部分をどうするか、考える。
(6)そうすると、細分化された入出力、処理部分ができる。
   ここで、あわせたいものは、あわせる
   →特に画面を、いくつか合わせて1画面にすることが多い
(7)処理部分を、ワーカーさんに渡せるまで落とし込む。

 前回はは、(1)から(5)までです、
 今回は(6)を説明します。




■細分化された入出力をあわせる:画面以外

 さて、(5)までで、1プロセスにたいして、入出力部分と、プロセス処理部分に分離しました。

 でも、入出力にはフレームワークがあるか、それ相応のものをつくるとなると、1プロセスに対してあるのではなく、たいていは、DBなら1テーブル、帳票なら1つの画面に1つのプロセスがあって、そのプロセスを、プロセス処理部分が呼び出すっていう形になると思いますので、そうやって、書き換えましょう。

つまり、要求仕様段階で、



っていうことです。この(6)までの工程で。。
(5のとき、プロセスごとにいったんなるので、もっと細かくなるが、まとめると、結局こうなる。。まあ、面倒なので、ふつう(5)の時点の図を描くことはない)




■細分化された入出力をあわせる:画面

 画面は、Action1個に対して、いろいろ操作しましたが、1アクションは1画面ではない、つまり、ボタン1個が1アクションに相当するのですが、1画面でいくつものボタンになることがあります。なので、まとめます。

 たいてい、エンティティ1個に対し、それが複数あるなら、
 一覧(エンティティのリスト)と、詳細画面(1エンティティ分)があって、そのエンティティに関連するアクションを1ボタンとしてまとめると、うまくいきます。

 まあ、こんなかんじで、まとめた画面と、その画面の流れを、画面定義書としてまとめます。

 そーすると、最終的に、こんな図に変換されると思います。。。



 なお、黄色の部分が画面のプロセスになります。
 Strutsだと、ActionFormとJSP、Javascriptなんかで記述するプロセスっていうことになります。




■つまり

 つまり、入出力フレームワークに沿ってまとめるということです。

 こうなると、結果として、入出力のものは、全部プロセスに対する値渡しになるので、

 入力からプロセスをへてわたってきた値を、
  なんらかの処理をして
 値を渡すとプロセスを経て出力する




 そうすると、処理部分の話だけになります。
 で、次回は

(7)処理部分を、ワーカーさんに渡せるまで落とし込む。

 の話になります。
この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« オブジェクト指向分析(開発... | トップ | ミラーボール?のマウス、「... »
最新の画像もっと見る

Weblog」カテゴリの最新記事