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

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

「標準ソフトウエア工学教科書」を作ってみたいと思います その16 3.4

2011-11-06 15:01:51 | 土日シリーズ
土日シリーズ「標準ソフトウエア工学教科書」を作ってみたいと思います

今回は、詳細設計です。




■3.4 詳細設計(内部設計)

 前の工程である、外部設計で、以下のものが決まりました
  ・画面定義書
  ・DB定義書
  ・帳票定義書
  ・サービス定義書

 プログラム内部を決定する内部設計(詳細設計)では、
  (1)まず、フレームワークを決めます
  (2)フレームワークが決まると、どんなファイル、クラスを作るか
     決まってしまいますので、
  (3)そこの部分を設計します。

以下、それぞれについて説明していきます。




(1)フレームワークの決定

 現在のプログラミングでは、
   ・属人性の排除
   ・生産の効率性
   ・変更しやすさ
 などなどの理由から、フレームワークを使った開発が主流です
 (って、言い切っちゃっていいかなあ?)

 画面、DBを使っている場合、MVCアーキテクチャやその変形に基づく
フレームワークを使うことが多いです。
 MVCとは、
  画面部分(View)と処理&DB入出力部分(Model)、それぞれの
分離性を高めるために、この間に制御部分(Control)を置いたものです。
 頭文字をとって、VMC・・・ではなく、MVC

 こうすると、画面と処理部分が分離されるため、画面はデザイナー、処理は
プログラマと別々の人が担当できる(のが理想だけど、そこまではうまくいかない)
のと、画面で変更があったら画面だけ修正、処理で変更があったら処理だけ修正と
いう具合に、修正を局所化できます。

 そして、このMVCアーキテクチャ(やそれに似たもの)を実現するのが
フレームワークです。

 フレームワークには、主に

  ・画面と処理をつなぐ、コントローラー部分のフレームワーク
    (T2,Strutsなど)
  ・処理(モデル)部分のフレームワーク
    (Springなど)
  ・DBアクセス部分のフレームワーク(O/Rマッピング等)
    (Hibernateなど) 

 などに分かれているのですが、最近は、これらをまとめて、すべての機能を提供する
フルスタックフレームワークが流行です(Ruby on Railsなど)




(2)フレームワーク決定→作成物決定

 そして、フレームワークが決まると、何をどのように作ればよいかが決まってきて
しまいます。
 これは、フレームワークを利用する場合、ハリウッドの法則に従わないといけない
からです。

 ハリウッドの法則とは、

   私を呼び出すな、必要なら私から呼び出す

 というもので(ハリウッドの女優の、監督への売り込みをうるさく思った監督が、
女優にいうせりふらしい)、フレームワークを決定すると、書くところがきまって
しまい、そこしかかけません。

 たとえば、Strutsを採用した場合

  ・画面遷移などを書く、Struts-config.xml
  ・実際の画面をJSPで記述(strutsタグ混在)
  ・データバインディングを行うActionForm
  ・データ処理を行うAction

 ぐらいしかかけず、かつ、書き方、内容もきまっています。

 そこで、フレームワークを選択すると、何を書けばいいかがきまります。




(3)各部分を設計

 そこで、フレームワークが求めるファイルを、外部設計をもとにつくっていく
ことになります。この段階では、実際にプログラミングするのではなく、クラス図
などを作ることになります。

  ・・・が、作っていってしまったほうが早いかも・・・





 実際のフレームワーク決定は、もっと早い段階の場合が多いと思います
 というのは、フレームワークによって出せる画面の限界みたいなのが
あることがあるからです。

 この内部設計までで詳細化はまず終わりで、以降の工程は(プログラミングや
SQLなどに)変換していく作業になっていきます、。
この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ペアプログラミングの究極の... | トップ | 「astahプラグイン開発ハンズ... »
最新の画像もっと見る

土日シリーズ」カテゴリの最新記事