Sơ đồ lớp UML enum


115

Tôi đang lập mô hình sơ đồ lớp. Một thuộc tính của một lớp là một liệt kê. Làm cách nào để tạo mô hình này? Thông thường bạn làm điều gì đó như thế này:

- name : string 

Nhưng làm thế nào để thực hiện điều này bằng enum?

144

Họ chỉ đơn giản được thể hiện như thế này:

_______________________ 
| <<enumeration>> | 
| DaysOfTheWeek | 
|_____________________| 
| Sunday    | 
| Monday    | 
| Tuesday    | 
| ...     | 
|_____________________| 

Và sau đó chỉ cần có một mối liên hệ giữa đó và lớp học của bạn.

+13

Enumerations thực sự làm việc giống như kiểu dữ liệu hơn Lớp học trong UML, vì vậy thường Hiệp hội không được hiển thị bất kỳ hơn họ sẽ là nếu bạn khai báo một thuộc tính để được loại Integer. Nếu công cụ lập mô hình của bạn có hỗ trợ rõ ràng cho các liệt kê, bạn nên sử dụng và chỉ sử dụng ký hiệu khuôn mẫu Class + <<enumeration>> làm dự phòng nếu cần. 02 feb. 122012-02-02 17:11:03

  0

Bạn có thể cho biết nơi tôi có thể tìm thấy <<enumeration>> khuôn mẫu cho ArgoUML không? 22 jan. 162016-01-22 21:42:47

  0

@Tim ArgoUML có hỗ trợ lớp học đầu tiên cho Enumerations, vì vậy không cần phải sử dụng định dạng 12 jul. 162016-07-12 05:34:57


1

Điển hình bạn mô hình enum chính nó như là một lớp học với các enum stereotype


56

Nếu công cụ lập mô hình UML của bạn có hỗ trợ để chỉ định một liệt kê, bạn nên sử dụng điều đó. Nó sẽ có khả năng dễ dàng hơn để làm và nó sẽ cung cấp cho mô hình ngữ nghĩa của bạn mạnh mẽ hơn. Kết quả trực quan sẽ rất giống với một Class với một khuôn mẫu <<enumeration>>, nhưng trong siêu mô hình UML, một Enumeration thực sự là một kiểu riêng biệt (meta).

+---------------------+ 
| <<enumeration>> | 
| DayOfTheWeek  | 
|_____________________| 
| Sunday    | 
| Monday    | 
| Tuesday    | 
| ...     | 
+---------------------+ 

Sau khi được xác định, bạn có thể sử dụng nó làm loại thuộc tính giống như bạn muốn một kiểu dữ liệu hoặc tên một trong các lớp của riêng bạn.

+---------------------+ 
|  Event  | 
|_____________________| 
| day : DayOfTheWeek | 
| ...     | 
+---------------------+ 

Nếu bạn đang sử dụng ArgoEclipse hoặc ArgoUML, có một trình đơn thả xuống trên thanh công cụ mà chọn giữa các Datatype, Enumeration, tín hiệu, vv mà sẽ cho phép bạn tạo Enumerations của riêng bạn. Ngăn chứa thường thuộc tính có thể được điền với EnumerationLiterals cho các giá trị của liệt kê của bạn.

Dưới đây là một hình ảnh của một ví dụ hơi khác nhau trong ArgoUML: enter image description here

+6

Cảm ơn bạn đã chụp màn hình ArgoUML. 10 may. 122012-05-10 07:32:53