開発方法論のまとめ 3
先ほどの続きです。
●外部設計(UI・SS)
要求仕様書で、業務プロセス(アクティビティ)レベルにまで落としました。
落としてなかったら、落としてください。
そうすると、アクティビティ1個に対しては、
入力があって、
それを処理して
出力する
という形になっています(入力がなかったり、出力がなかったりすることはあると思います)
まず、アクティビティに対する入出力を決めてください。
たいてい、入出力は、こんなものになります。
・画面
・帳票
・ファイル・データベース
・通信ネットワーク(インターネット)
これらのフォーマットや遷移を定義していくのが、ユーザーインターフェース定義(UI)になります。
具体的には
・画面は、画面定義書に
どのような画面から、どのような画面に遷移するかという画面遷移図
各画面のレイアウト図
・帳票は帳票レイアウト図を書きます
・ファイルやDBの定義書としては
全体像として、テーブル一覧ないしはER図
それと各項目ごとの定義
をかきます。
・通信フォーマットは
各通信のレイアウト
通信の遷移をシーケンス図や状態遷移(図・表)で、
を書きます。
このほか、コード定義やエラーメッセージを定義する場合もあります。
-
-
-
- -
-
-
つぎに、構造設計(SS)です。
現在は、とくに画面を使う場合、そのモデルというのがあります。
おおくはMVCモデル(モデル、ビュー、コントロール)の3層構造を使います
そして、MVCを用いる場合、フレームワークというプログラムを作る枠組みがいろいろありますので、
どのフレームワークを使うかを決定します。
現在、有名なフレームワークとしては
Javaだと、struts,spring,Seasar2など
PHPだとCakePHP,Zend,Symfonyなど
PythonだとDjangonado
:
:
といろいろあります。これを決めてしまうと、おおよそどんな画面をつくって、どんなコントローラーをつくって、どんなエンティティをつくるかというのが決まってしまいます。
-
-
- -
-
どう決まるのかというのを、ICONIXという方法論で見てみます。
ICONIXを使う場合、以下の手順で書きます
1.ユースケース(アクティビティでもいいけど)にUI(=画面・帳票など)があるなら、
ユースケースごとに、Viewクラスを規定します
2.概念モデルをもとに、テーブルを作成し、テーブルをもとに、エンティティクラスを発生させます
これをエンティティクラスとします。
3.1のViewクラスに対応するコントロールクラスを発生させ、そのコントロールクラスが、
2のエンティティクラスを操作するものとします。
4.ここまでのViewクラス、コントロールクラス、エンティティクラスを書きます
5.ユースケースシナリオに沿って、4の各クラスに対し、処理順番を書いていきます
→それをコミュニケーション図にまとめます。
6.先ほどいった、フレームワークを決定します。
7.そして、5の各クラスをフレームワークに対応させます。
富士通の場合、UIとSSの図は規定されています。
そうでない場合は、UMLを使って表現したりします。
つかれた。やすむ。
ここまであっぷ。