2013-07-18 16 views
18

Tôi muốn biết một lần và cho tất cả các cách viết cardinalities UML, vì tôi rất thường xuyên phải tranh luận về họ (để chứng minh và các nguồn là rất đáng hoan nghênh :)Làm thế nào để * thực sự * viết các đặc tính UML?

Nếu tôi muốn giải thích rằng một Mother có thể có nhiều Child ren nhưng một Child có một và chỉ một Mother, tôi nên viết:

Mother * ---------- 1 Child 

Hoặc

Mother 1 ---------- * Child 

?

+0

Nếu bạn đã quen thuộc với ký hiệu ** Khen ngợi **, tốt, UML thực hiện điều đó theo cách khác. Do đó ví dụ đầu tiên của bạn sẽ chính xác trong biểu đồ Merise. – Attila

Trả lời

19

thứ hai một Mẹ 1 ----------------- 1 .. * Child

Bạn sẽ tìm thấy nhiều ví dụ trong UML specification cho tất cả các con số liên quan đến việc Tóm tắt Cú pháp ...

1

Nhiều người có câu hỏi này khi họ bắt đầu sử dụng UML, đặc biệt khi họ đến từ một ký hiệu khác, nơi tên luôn được đọc theo chiều kim đồng hồ, bất kể kết thúc của dòng họ đang truy cập. Đó là thực sự là khó hiểu!

Red Beard là chính xác, mặc dù thông số UML không nêu rõ thông tin kết hợp (nghĩa là tên và đa dạng) được viết, nó ngụ ý ở một vài nơi. Ví dụ, Hình 7.11 (hiển thị các thuộc tính) và 7.12 (hiển thị các liên kết một chiều với sự kết hợp kết thúc bên cạnh các đầu mũi tên) là các ký hiệu đặc tính tương đương; do đó, sự đa dạng thực sự đi bên cạnh loại tài sản.

Một cách tôi đã học được để nhớ kết thúc nào có tính đa dạng là tưởng tượng một đồ thị một chiều của các cá thể và viết số bên cạnh các đầu mũi tên trỏ vào đích.

BTW, bạn nên sử dụng tên kết thúc mô tả kết thúc. Chúng thường biến thành tên thuộc tính trong Java, tên phần tử trong XSD, v.v. Ví dụ, trong Java, lớp mẹ có thể có thuộc tính "con" thuộc loại "Set <Child>". Nếu bạn không đặt tên cho chúng, bạn sẽ thường xuyên nhận được các tên mặc định không mong muốn.

11

Tất nhiên Red Beard là đúng, câu trả lời đúng là câu trả lời thứ hai.

Đối với một mẹo để ghi nhớ này, tôi khuyên phải suy nghĩ bằng tiếng Anh: Bạn nói "Một đứa trẻ có ONE mẹ", và trong câu này như thế nào trong UML, ONE được viết bên cạnh mẹ. Khá đơn giản.

Các vấn đề liên quan