blogの内容は、ある程度まとまるとWikiページに移動します。

2004-08-20

謎のスナップショット

晒して反応を窺ってみるテスト。

このアイテムにコメントを追加:

お名前:: ウェブサイト::
情報を記憶しておく

2004-08-01

(UML2.0ノート) 属性名

 UML2.0のノートです。UML速習リファレンス(ISBN4-7973-2546-1)をベースに、
仕様書(UML Superstructure 2.0 Draft Adopted Specification)で確認してます。

 ちなみに、ここのブログは日記らしいものにする気は全くありません。
追記したら、日付直しちゃうし。

クラス内での表記

 左寄せで書く。
 最初の文字は小文字。(日本語では関係ない)
 必要のない属性は表記しなくてよい。
 全ての属性を省略することも可能(枠も省略できる)。

属性の表記法

 [visibility] [/] name [:type] [multiplicity] [=default] [{property-string}]

可視性 (visibility)

 + public
 - private
 # protected
 ~ package

パッケージでは、所属するパッケージ内でのみ見える。あとは、C++等と同じ。

/ 派生を示す

name 属性名

type 属性の型

多重度 (multiplicity)

BNFでの文法

multiplicity ::= ['{' '}']
multiplicity_range ::= [ lower '..' ] upper
lower ::= integer | valu_specification
upper ::= unlimited_natural | '*' | value_specification
::= ordered | unordered
::= unique | nonunique

以上は、仕様書からの引用です。
uniqueness_designator についての指定が無いのは多分誤りでしょう。
本当は、

multiplicity ::= ['{' '}']
desiginator ::= (order_designator [',' uniqueness_designator]) |
          (uniqueness_designator [',' order_designator])

という感じです。

多重度は、非負の整数。
範囲の上限には、正の無限大(*)も使える。
多重度では、エレメントのunique, orderedの指定もできる。
  orderedでは、エレメントには並びがある(順序付け)。無い場合は、unordered。
 uniqueでは、エレメントの値がユニークである。そうでない場合は、nonunique。
 デフォルトは、unordered, unique。

濃度が0は許されない。
範囲指定では、副作用のある式は使えず、エクスプレッションは定数でなければならない。

エレメントで使われるときは、[]が必要。(たとえば、クラスの属性)
シンボルで使われるときは、[]は不要。(たとえば、関連の端点)




このアイテムにコメントを追加:

お名前:: ウェブサイト::
情報を記憶しておく