シリーズ「開発の初めから順番に書いていってみる」の続きです。
(なんか、最近シリーズ化している話がやたら多いですね!一番最後にまとめときました)
今、外部設計の段階で、要求仕様から、詳細設計までの間(ここを外部設計と、ここでは読んでいるわけですが)の手順は、以下の手順で行うと、流れに飛躍がなく説明がつくということを書きました。
(1)入出力の媒体をきめる。 (2)その媒体ごとにフレームワークを決定する。 なければ、入出力方法を決定する。 (3)そのプロセスの起動方法を考える なければ、起動モジュールを考える。 (4)起動モジュールから、(2)の呼出し手順を考える (5)その処理部分をどうするか、考える。 (6)そうすると、細分化された入出力、処理部分ができる。 ここで、あわせたいものは、あわせる (7)処理部分を、ワーカーさんに渡せるまで落とし込む。 |
だけど、実際にやられるのは、こんなかんじだと書きました。
(あ)フレームワークの確認から、全体的なプログラムの書き方を決める (い)画面の設計をする (う)DBの設計をする、(その他外部の設計をする) (え)プログラムを適当に詳細化し、詳細設計に持っていく |
今日は、「(あ)」の部分のフレームワークについて、書きたいと思います。
■はじめに、フレームワークを決定するのですが。。
外部設計に入る一番初めの作業は、フレームワークの決定。。と書きたいところなのですが、実は、外部設計に入る前に、何をハードで使うかとか、フレームワークは何をつかうかっていうのは、たいてい決まっています。
要求仕様の段階っていうか、そもそも、こー言うハードを使ってっていうかんじで、見積もりをかいてしまい、さらに、この会社で受注すると、開発標準がこれなので、フレームワークはこれ!って決まってしまいます。
ってことで、その内容を確認する程度の話になります。
そして、プロジェクトごとにフレームワークをカスタマイズするところがあればカスタマイズ、入出力に関して共通処理をする部分があれば、そこの部分の内容を決定するという作業をおこないます。
その結果、全体的なプログラムの書き方がきまります(というか、決めます)。
そして、その「全体的なプログラムの書き方」を、
コーディング規約か
雛形作成
で示します。
■でも、フレームワークや、ハードなどで、処理スピードは、きまってしまう
フレームワークを決定するということは、この段階で、ハード、ミドルウエアそしてフレームワークが決まってしまうことになります。
実は、これがそろってしまうと、大まかな処理スピードやユーザーインターフェースはきまります。
ブラウザをつかって行う場合、なんとなくユーザーインターフェースはきまりますし、
J2EEで開発する場合、ハードが決まると、ある程度の処理スピードの限界って言うものが決まってしまいます。ハードを変えない限り。。
ということで、ここで、選択を誤ると、あとあと、たいへんなことになります。
というのは、前に開発マシンの話をかきましたけど、
開発環境≒実行環境のときはいいんです。
開発環境の性能がいいと、実行環境で起動したら遅いのに、開発環境では問題なしだと。。
ずーっと開発が進んできてしまい、最後STで、
だめじゃん、おそいじゃん(>_<!)
ってなったら。。。
フレームワークで骨格が決まってしまいますので、この外部設計のフレーム決定までもどってきてしまうことになります。開発のかなり多くの部分がむだになります(実際には、それはできないので、この場合、ハードの性能を上げる。その費用負担は。。)。
ってことで、フレームワークのこの作業は重要。。。といいたいのですが
さっきも書いたように、ここに来る前に、もう、フレームワーク、ハード、ミドルウエアはきまっているので、この時点ですら、もうおそいのかもしれません。
■つまり、副詞的環境の一部と、非機能要件は、ここできまる
つまり、非機能要件のルック&フィールとか、副詞的世界の「どのくらい」などは、ここできまります。(いつ、どこでというのは、ここでなく、もちょっとすすんだところになりますが。。)
ということで、フレームワークが決まり、だいたいのやり方が決まったところで、次回は「(い)画面の設計をする」になります。
P.S 初めに書いた、つづきもののまとめ(一番最新のエントリ)
開発の初めから順番に書いていってみる
=このエントリが最新
オブジェクト指向分析(開発)の存在理由
http://blog.goo.ne.jp/xmldtp/e/cc66277f9476fa272f0ff63b032be9d1
画面定義をHTMLで行い、呼び出しをWebAPIでやる設計手順の試案 その4 APIからER図へ
http://blog.goo.ne.jp/xmldtp/e/42e53e86aa37cca498930fc9461d0e63
生物の構造と、要求から、プログラムまでの階層を比較すると、わかりやすいかも!
http://blog.goo.ne.jp/xmldtp/e/f7861ca7db024bb6a2994d56c1f42812
<<土日シリーズ>>
土曜日
DTPの構造を考える-その3:組版規則など。
http://blog.goo.ne.jp/xmldtp/e/8f5d0e3f454ff68e110c3da2a26cbc88
日曜日
Hello World程度のデータベース(その15:内部スキーマ(3)データ置き場)
http://blog.goo.ne.jp/xmldtp/e/04e95852ec320210abd56720c84ba2b4