yojikのlog

yojikのブログです

UML in Color to UI Design

Activity Based Datamodelの事を考えていて、オブジェクトモデリング側から同じような事をやると、やはりUML in Colorの手法が近いのかなぁと思った。UML in Colorの説明は、aufhebenさんのエントリ参照
以下は大雑把な説明。
瞬間時間間隔(PINK)*1

  • 以下、トランザクションをしめすオブジェクト(コンポジットになっている)
    • 瞬間時間間隔
      • ABDのアクティビティに相当? やっぱりこれもイベント。コメント欄参照。
    • 瞬間時間間隔詳細
      • ABDのイベントに相当?
    • UML in Colorにおけるビジネスロジックの基点は、これらのクラスの操作として表現される。*2

ロール(YELLOW)

  • 「パーティ/場所/物(後述)」がイベント(瞬間時間間隔)にどのように参加するかを示す
  • イベント or 交差エンティティに相当する場合があるかも。
  • ロールの概念はオブジェクト指向設計においては、プラガブル性の確保という意味でも重要っぽいと思った。

パーティ/場所/物(GREEN)

  • 以下、基本的にリソース系に対応するもの
    • パーティ(人または組織)
    • 場所
    • もの

説明(BLUE)

  • パーティ/場所/物のカタログ情報。
  • アナパタでいうと仕様レベルの情報だと思う。

これらのモデルをユーザインタフェースに対応させるためのアプローチが、以下に載ってるっぽいです。ちゃんと読めていないけど、面白そう。
http://www.uidesign.net/1999/papers/UML_UI.html
ピーターコードは日本では人気無い感じがするけど、結構好きだ。新人のころ、インタフェース(Javaのinterface)の意味をはじめて理解できたきっかけも、ピーターコードの著作だったと思う。

(追記)あと、ABDの肝の部分っぽい、「アクティビティがイベントやリソースに対する外部キーを持ち、逆は無い」というのは、関連の方向性や多重度で表現できると思う。
昔のRationalのOOADトレーニングには、設計の後半で、関連の方向を片方向にしたり、n:nの関連を関連クラスを導入して書き直す、という作業があったんだけど、今思うとこういう意図があったのかも、とも思う。

*1:これの上手い訳語ないかなー

*2:覚え違えてたらすみません