Kusu/2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
#navi(Kusu)
*概論 [#sce2a636]
**スコープ [#g2c5e88e]
新業務分析が完了しているところから開始し、~
外部設計、内部設計までが対象スコープです。
**概念の理解 [#l607480d]
***バウンダリの一つのイベントから呼び出すコントロールは一...
バウンダリで発生するイベント(画面表示時、ボタンクリック等...
呼び出されるコントロールは一つだけです。~
もっと実装寄りにすると、~
StrutsのActionクラスのメソッドから呼び出されるコントロー...
のように読み替えることが出来ます。~
***コントロールはステートレス [#v5d923f1]
コントロールには状態を持ちません。~
コントロールが状態を持たないので、~
コントロールを構成するユーザ機能も状態を持ちません。~
バウンダリに一時的なセッションの状態を持ち、~
エンティティ(リソース)に永続的な状態を持つだけです。
***コントロールからコントロールは呼び出さない [#pc477cdd]
コントロールから別のコントロールを呼び出してはいけません。~
コントロールが汎用的な名前であったとしても、コントロール...
そのコントロールは、同じ名前の汎用的なユーザ機能を呼び出...
バウンダリ依存なものであることに変わりありません。~
***例外はRuntimeException系で [#m7252c6f]
まずインターフェイスありきのため、宣言的例外は基本的に使...
また使う必要もありません。~
但し、どのような例外が発生するか位は、実装クラスのJavadoc...
例外のcatchは業務ロジックで行い、ログ出力やロールバックす...
大抵はそのまま投げて、バウンダリに伝播させ、画面上のエラ...
***ユーザ機能からのインターフェイスの抽出 [#a55e4d15]
ユーザ機能はその内容から自動的にインターフェイスに分類で...
まず、その種類を考えます。~
-コントロールである:業務ロジックになります。
-コントロールではない
--エンティティに関連する:DAOになります。
--エンティティに関連しない:補助ロジックになります。
次に個別のインターフェイスの識別として、~
-業務ロジックの場合、バウンダリ毎に纏める。~
-補助ロジックは、目的語で纏める。~
-DAOは、エンティティで纏める。~
ということになります。~
ここまでルール化されているので、~
ユーザ機能抽出と同時にインターフェイスの抽出が出来るよう...
***クラス図なんて要らない [#q9faaf43]
くーすにクラス図は要りません。~
クラス図は、クラス間の静的構造の情報を記述するものですが、~
少なくとも、業務ロジック、補助ロジックについては、~
シーケンス図で表す以上の静的構造は存在しません。~
あるとすれば、~
-バウンダリ層の作り(くーすのスコープ外)
-エンティティやDTOのデータ構造
ぐらいです。~
これらについては、必要であれば作って下さい。~
**プロセスフロー [#ta6663ef]
[[プロセスフロー:http://seasar.satin.jp/wiki/index.php?pl...
新業務フローを入力として、
-ロバストネス分析
-UIモック生成
を平行して実施。~
ロバストネス図が出来たら
-UI設計
-ユーザ機能分析
-ER分析
を平行して実施します。~
これだけです。~
後は、これらの成果物を使って実装・テストを行うだけです。
**成果物 [#d46ae55c]
***新業務フロー(外部仕様) [#xb624716]
これは、くーすの成果物ではなく、要求する入力になります。~
バウンダリのフローとして記述されます。~
[[業務フロー:http://seasar.satin.jp/wiki/index.php?plugin...
***UIモック(外部仕様) [#i0bb9de4]
UIのモックです。~
HTMLなり、VBなり、作るシステムによって変わってきます。
***ロバストネス図(外部仕様) [#h8ae4500]
-インターフェイスとなるバウンダリ
-バウンダリが呼び出すコントロール
-コントロールが関連するエンティティ
を纏めた図です。~
[[ロバストネス図:http://seasar.satin.jp/wiki/index.php?pl...
***UI仕様書(外部仕様) [#y9a70ebb]
UIの実装に必要な情報を纏めたものです。~
[[UI仕様書(xls):http://seasar.satin.jp/wiki/index.php?plu...
***エンティティ仕様書(外部仕様) [#q588a3e5]
エンティティの仕様書です。~
オブジェクトとしての性質に加えて、テーブルの物理設計につ...
[[エンティティ仕様書(xls):http://seasar.satin.jp/wiki/ind...
***シナリオシーケンス(内部仕様) [#p7485e1c]
UMLのシーケンス図で表したホワイトボックスシナリオです。~
シナリオ毎に作られます。~
[[シナリオシーケンス_ログイン:http://seasar.satin.jp/wiki...
[[シナリオシーケンス_コメント一覧表示:http://seasar.satin...
[[シナリオシーケンス_コメントを登録する:http://seasar.sat...
を参照して下さい。
***コンポーネント仕様書(内部仕様) [#fa0e94cb]
インターフェイスの仕様書です。~
メソッド毎に事前条件、事後条件を記述します。
実装クラスについての仕様書は作りません。~
実装クラスの仕様書が必要だと感じた場合は、~
シナリオシーケンスで抽出されていないユーザ機能があるかも...
[[コンポーネント仕様書(xls):http://seasar.satin.jp/wiki/i...
**成果物のレビュー [#u875cfb2]
-新業務フローの顧客レビュー
-ロバストネス分析前のUIモック(ラフ版)の顧客レビュー
-ロバストネス分析後のロバストネス図の顧客レビュー
-外部設計完了後の顧客レビュー
は、やった方が良いです。~
他にも、内部設計完了後の顧客レビューをやることもあるかも...
もちろん、それぞれ内部レビューはやっておくべきです。
#navi(Kusu)
終了行:
#navi(Kusu)
*概論 [#sce2a636]
**スコープ [#g2c5e88e]
新業務分析が完了しているところから開始し、~
外部設計、内部設計までが対象スコープです。
**概念の理解 [#l607480d]
***バウンダリの一つのイベントから呼び出すコントロールは一...
バウンダリで発生するイベント(画面表示時、ボタンクリック等...
呼び出されるコントロールは一つだけです。~
もっと実装寄りにすると、~
StrutsのActionクラスのメソッドから呼び出されるコントロー...
のように読み替えることが出来ます。~
***コントロールはステートレス [#v5d923f1]
コントロールには状態を持ちません。~
コントロールが状態を持たないので、~
コントロールを構成するユーザ機能も状態を持ちません。~
バウンダリに一時的なセッションの状態を持ち、~
エンティティ(リソース)に永続的な状態を持つだけです。
***コントロールからコントロールは呼び出さない [#pc477cdd]
コントロールから別のコントロールを呼び出してはいけません。~
コントロールが汎用的な名前であったとしても、コントロール...
そのコントロールは、同じ名前の汎用的なユーザ機能を呼び出...
バウンダリ依存なものであることに変わりありません。~
***例外はRuntimeException系で [#m7252c6f]
まずインターフェイスありきのため、宣言的例外は基本的に使...
また使う必要もありません。~
但し、どのような例外が発生するか位は、実装クラスのJavadoc...
例外のcatchは業務ロジックで行い、ログ出力やロールバックす...
大抵はそのまま投げて、バウンダリに伝播させ、画面上のエラ...
***ユーザ機能からのインターフェイスの抽出 [#a55e4d15]
ユーザ機能はその内容から自動的にインターフェイスに分類で...
まず、その種類を考えます。~
-コントロールである:業務ロジックになります。
-コントロールではない
--エンティティに関連する:DAOになります。
--エンティティに関連しない:補助ロジックになります。
次に個別のインターフェイスの識別として、~
-業務ロジックの場合、バウンダリ毎に纏める。~
-補助ロジックは、目的語で纏める。~
-DAOは、エンティティで纏める。~
ということになります。~
ここまでルール化されているので、~
ユーザ機能抽出と同時にインターフェイスの抽出が出来るよう...
***クラス図なんて要らない [#q9faaf43]
くーすにクラス図は要りません。~
クラス図は、クラス間の静的構造の情報を記述するものですが、~
少なくとも、業務ロジック、補助ロジックについては、~
シーケンス図で表す以上の静的構造は存在しません。~
あるとすれば、~
-バウンダリ層の作り(くーすのスコープ外)
-エンティティやDTOのデータ構造
ぐらいです。~
これらについては、必要であれば作って下さい。~
**プロセスフロー [#ta6663ef]
[[プロセスフロー:http://seasar.satin.jp/wiki/index.php?pl...
新業務フローを入力として、
-ロバストネス分析
-UIモック生成
を平行して実施。~
ロバストネス図が出来たら
-UI設計
-ユーザ機能分析
-ER分析
を平行して実施します。~
これだけです。~
後は、これらの成果物を使って実装・テストを行うだけです。
**成果物 [#d46ae55c]
***新業務フロー(外部仕様) [#xb624716]
これは、くーすの成果物ではなく、要求する入力になります。~
バウンダリのフローとして記述されます。~
[[業務フロー:http://seasar.satin.jp/wiki/index.php?plugin...
***UIモック(外部仕様) [#i0bb9de4]
UIのモックです。~
HTMLなり、VBなり、作るシステムによって変わってきます。
***ロバストネス図(外部仕様) [#h8ae4500]
-インターフェイスとなるバウンダリ
-バウンダリが呼び出すコントロール
-コントロールが関連するエンティティ
を纏めた図です。~
[[ロバストネス図:http://seasar.satin.jp/wiki/index.php?pl...
***UI仕様書(外部仕様) [#y9a70ebb]
UIの実装に必要な情報を纏めたものです。~
[[UI仕様書(xls):http://seasar.satin.jp/wiki/index.php?plu...
***エンティティ仕様書(外部仕様) [#q588a3e5]
エンティティの仕様書です。~
オブジェクトとしての性質に加えて、テーブルの物理設計につ...
[[エンティティ仕様書(xls):http://seasar.satin.jp/wiki/ind...
***シナリオシーケンス(内部仕様) [#p7485e1c]
UMLのシーケンス図で表したホワイトボックスシナリオです。~
シナリオ毎に作られます。~
[[シナリオシーケンス_ログイン:http://seasar.satin.jp/wiki...
[[シナリオシーケンス_コメント一覧表示:http://seasar.satin...
[[シナリオシーケンス_コメントを登録する:http://seasar.sat...
を参照して下さい。
***コンポーネント仕様書(内部仕様) [#fa0e94cb]
インターフェイスの仕様書です。~
メソッド毎に事前条件、事後条件を記述します。
実装クラスについての仕様書は作りません。~
実装クラスの仕様書が必要だと感じた場合は、~
シナリオシーケンスで抽出されていないユーザ機能があるかも...
[[コンポーネント仕様書(xls):http://seasar.satin.jp/wiki/i...
**成果物のレビュー [#u875cfb2]
-新業務フローの顧客レビュー
-ロバストネス分析前のUIモック(ラフ版)の顧客レビュー
-ロバストネス分析後のロバストネス図の顧客レビュー
-外部設計完了後の顧客レビュー
は、やった方が良いです。~
他にも、内部設計完了後の顧客レビューをやることもあるかも...
もちろん、それぞれ内部レビューはやっておくべきです。
#navi(Kusu)
ページ名: