Use Case Driven Object Modeling with UML Theory and Practice ch3. Use Case Modeling (2/2)

ユースケース駆動モデリング勉強メモ

出典: 

Use Case Modeling in Theory

column: USE CASES AND ASPECTS

AOPの話

  • 横断的関心事をベースの振る舞いから切り離す
  • ユースケース境界ごとにコーディングできるようになる

    • 【補】インフラの関心事等、ユースケースの粒度で言うところのclam levelのものを切り離せる

A Couple of Thoughts on Use Case Templates

Alistair Cockburnの本”Writing Effective Use Cases”で提唱されている有名なユースケース記述テンプレについての批判

  • 長過ぎて時間の無駄
  • 時間の無駄なのでモデリング自体されなくなる
  • 脳死でテンプレを埋めるようになり、どれも同じになる。重要な代替フローなどがおざなりになる

Use Case or Algorithm?

  • アルゴリズム: システム主体
  • ユースケース: ユーザとシステムとの対話

Use Case Modeling in Practice

Exercises

Exercise 3-1 Search by Author

boundary(画面とか)には固有名をつけましょう

the page with the search form -> Search Page

Exercise 3-2: Edit Shopping Cart

  • 事前条件がないのが良くない

    • 「XX画面を表示する」から書きましよう
    • ロバストネス図でboundaryとして書くことになる
  • ユーザのアクションをまとめているのが良くない

    • 「カートに商品を追加したり削除したりする」とか書かない
    • 数量を変更したいだけかもしれないし、「0にする」という代替フローを見逃してしまう
  • 代替フローをないがしろにしないこと

Exercise 3-3 Open an Account

表示上の詳細に終始しないこと


英語

  • cross-cutting concerns

    • 横断的関心事
  • ghastly

    • 恐ろしい
  • renowned

    • 有名な
  • bogged down

    • 泥沼にはまりこむ