Index: [Article Count Order] [Thread]

Date:  Fri, 11 Mar 2005 21:05:36 +0900
From:  Tetsuya T <had20740@....jp>
Subject:  [modeling-dojo:00203] Re: UML記述を理解できるお勧め本ありま
To:  modeling-dojo@....jp
Message-Id:  <20050311123540970.XBFH.8089.t-mta1.odn.ne.jp@....jp>
In-Reply-To:  (Your message of "Fri, 11 Mar 2005 09:20:39 +0900")  <070258C2211CD511AF2800508BB85956024F4157@....com>
References:   <070258C2211CD511AF2800508BB85956024F4157@....com>
X-Mail-Count: 00203

はじめまして。たつたさん。
立見@メトロです。

>私もまだまだ、初心者なので、なんとも言えませんが、

私も、モデリング工程をしたことは、ほとんどありません。
”大工”しています。

でも、なんだか最近気のせいか、少しずつモデリングが
楽しくなりつつあります。コンテストのおかげ?
共にここで修行しましょう。
間違ったことをいうかも知れませんが、
いろいろな方の突っ込みが入るとおもいますので
恥を忍んで投稿できますし。

>よって、3つのインスタンス関係(関連クラスは除く)を表すにはどうしても
>制限にて表現するしかないのでしょうか?
>このあたりが、厳密に表現できない事の一つなのかもしれませんね。
>私もまだまだ、初心者なので、なんとも言えませんが、
>クラス図に対する、モヤモヤが少し無くなったような気がします。

3つクラスがあるからといって、制約が必ず生じるわけでは
ありませんが、しかし、制約がないか常に意識する必要はあると思います。

UMLで”仕様を表現する場合”には、曖昧さを残さないで
制約がある場合には、必ず記述しなくてはならないということでしょう。
「Executable UML実践入門」と「エッセンス」は両方と
相乗(シナジー)効果がある感じです。まさに目から鱗の連続でした。
改訂版のエッセンスもよんでみたいなぁ。でも今月はお金ないので、
やめておこう。

また、そもそも”仕様”を表現している以上、曖昧さは許されません。
曖昧さは残すと、後でどこかでしわ寄せが。これぞ”曖昧さ保存の法則”
注1)

最後に、2つ制約の例を考えました。

サラリーマンは
年収1000万円以上だと加入できるクレジットカードは
Aカード、Bカード、Cカード
年収500万円以上だと使用できるのはDカード、Eカード
年収300万円未満だとありません。というような要件があった場合、
以下のクラス図で、その”仕様”を表現できます。


                  加入できる
+--------+        0..* +------+
|リーマン| ----------- |カード|
+--------+ 0..*        +------+ 
         加入される
{サラリーマンの年収属性}


もひとつ、制約の例を時流ネタでシュミレーションモデルを考えました。
これで、女性専用車両を導入する埼京線の乗車率の変化が測定できるか?
ある程度モデルができると、キセル乗車率を下げるためのモデルを加えたり、
楽しみが増えそうです。

 乗車率測定モデル
 
 
                                                  0..1 後
                  スケジュールをもつ                +-------+
 +---------+             +-------------------------------+   | 
 | ダイヤ  | ----------- |出停車                         |+--+前 0..1
 |------   |1      2..*  |------------------------------ |
 | 路線    |             |出発時刻{後があるときだけある} |
 | 喫煙車両|             |到着時刻{前があるときだけある} |
 +---------+             +-------------------------------+
       |*            走行する | 1                   |
       |                      |                     |1
       |        +---------+   |              +---------+
       |        | 乗車率 |-- |              | 駅      |
       |        +---------+   |              |---------| 乗、乗継、降
       |                      |              |駅名     | -----------+
       |                      |              +---------+            |
       |                      |                                     |
       |*                     |1                                    |
      +-------------------------+                                   | 
      | 編成                    |                                   |
      | ----------------------- |                                   |
      | 両目 {前後関係できまる}|0..1 後                            |
      +-------------------------+----+                              |
組込れる 1|                 0..1+----+                              |
          |                  前                                     |
          |                                                         |
        * |                                                         |
      +--------------------------+                                  |
      | 車両                     |                                  |
      |--------------------------|                                  |
      |  定員{関連する乗客数}   |                                  |
      +--------------------------+                                  |
          |1 乗る                                                   |
          |  {・平日の午後11時以降に新宿駅などに到着する下りダイヤの|
          |*   埼京線の10両目車両に男性乗客は乗れない。             |
          |  ・乗客が乗り降りしない駅にとまらないダイヤに乗らない。 |
          |  ・車両が定員オーバーでも乗れない。                     |
          |  ・乗客が喫煙したい気分の時に禁煙車両に乗らない。       |
          |  }                                                     |
      +-------------------+                                         |
      | 乗客              |                                         |
      |------------------ |                                         |
      |  性別             |-----------------------------------------+
      |  年齢             |
      |  喫煙したい気分   |
      +-------------------+

注1)
曖昧さをなくす力を加えない限り、工程を次に進めたところで曖昧さは不変という法則。