<< 実践 ICONIXプロセス : クラスをすべて発見する | main | 実践 ICONIXプロセス : メッソドはどこのクラスに? >>

実践 ICONIXプロセス : サービスクラス

サービスクラスは、アプリケーションサービスを抽象化したもの。

例えば、
・書籍をキーワードで検索する SerarchByWordService
・注文する OrderService
・ログインする LoginService
など。

ユースケースとサービスクラス

ICONIXプロセスでは、ユースケースを比較的、小さい単位に分割するので、一つのユースケースが、一つのサービスクラスになることが多い。

ユースケースの precedes, invokes の関係も、サービスクラスを順番に実行する、サービスクラスをサブルーチンとして呼び出す、という実装の設計と直結している。

モデルと実装

ICONIXプロセスでは、初期のドメインモデルは、実装クラス設計に直結するし、ユースケース記述は、サービスクラスの設計に直結する。 モデルをそのままコードまで落としていくことを重視している方法論ですね。
やってみると、実践的でやりやすい。

サービスクラスの発見

サービスクラスを、どの時点でクラス図に加えるべきか? (どの時点で発見するか?)

A.ユースケースパッケージ図でユースケースを定義した時?
B.初期ドメインモデルで、発見してしまう。(ユースケース候補にしてしまう)
C.シーケンス図を描くとき (ロバストネス図のコントロールの受け皿)

最初はC.かと思っていた。B.もかなり有望な気がする。実際に、中核のユースケース(=サービスクラス)は初期ドメインモデリングの段階で、発見していることが多いから。

今後の検討課題ですね。

コメント
コメントする









この記事のトラックバックURL
トラックバック
calendar
     12
3456789
10111213141516
17181920212223
24252627282930
<< September 2017 >>
システム設計日記を検索
プロフィール
リンク
システム開発日記(実装編)
有限会社 システム設計
twitter @masuda220
selected entries
recent comment
  • 番号より名前。 ニーモニックコードより名前。 【パターン】
    師子乃 (03/10)
  • Smart UI が優れている?
    masuda220 (03/10)
  • Smart UI が優れている?
    kagehiens (03/09)
  • オブジェクト指向プログラミングの教え方?
    masuda220 (12/05)
  • オブジェクト指向プログラミングの教え方?
    ZACKY (12/04)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    masuda220 (08/14)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    kompiro (08/14)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    masuda220 (06/13)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    JHashimoto (06/13)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    masuda220 (02/28)
recent trackback
categories
archives
others
mobile
qrcode
powered
無料ブログ作成サービス JUGEM