2

OCL で新しいデータ型を定義する方法は? (例 - 日付)

OCL には既に定義済みの型 (整数、文字列、実数、ブール) があります。しかし、新しいデータ型を定義するにはどうすればよいでしょうか?

例: クラス コール Person があります。Person クラスには次の属性があります。name: 文字列 age: 整数 birthday: 日付

4

2 に答える 2

1

(+1) 有効な質問の場合、理由を示さずに「-1」を付けた人はわかりませんでした。

OCL と UML は一緒に使用されます。新しいデータ型は、OCL では直接定義されませんが、最初に UML で定義されます。後で、OCL で新しく宣言されたデータ型を使用しました。

列挙値は、新しいデータ型を宣言する例です。

車両ソフトウェアをモデリングしているとします。車両を説明し、モーターを持ち、各モーターには「状態」または「ステータス」があります。

モーターのステータスは、一連の値である列挙によって制限されます。

UML クラス図では、新しいステータスはクラスに似たボックスとして記述され、この新しいタイプを参照する値があり、他のクラスを持つこともできます。

....................................................................
..+----------------------+.........+-----------------------------+..
..|       <<enum>>       |.........|          <<class>>          |..
..|   EngineStatusEnum   |.........|          MotorClass         |..
..+----------------------+.........+-----------------------------+..
..| * Unknown            +---------+ [+] EngineStatusEnum Status |..
..| * Stopped            |.........| [+] ... other members       |..
..| * Running            |.........+------------+----------------+..
..| * Testing            |......................|...................
..| * Damaged            |......................|...................
..+----------------------+.........+--------------+---------\--+....
...................................|                         \ |....
...................................| (Status <= Stopped &&)   \|....
...................................| (Status >= Running)       |....
...................................|                           |....
...................................+---------------------------+....
....................................................................

そして、宣言された新しい型を適用して、OCL でいくつかの条件を表示するメモ。

于 2014-10-13T17:09:28.663 に答える
1

コンテキストを形成する UML モデル (通常はクラス モデル) に常に関連付けられている OCL 式では、モデルで定義された型を使用できます。たとえば、クラス モデルで datatype を定義してから、 OCL 式Dateを使用できます。Date

于 2014-10-13T12:26:31.247 に答える