คำอธิบายของลูกศร UML


244

ฉันเพิ่งเรียน UML และวาดแผนภาพง่าย ๆ ด้วยลูกศรธรรมดาระหว่างชั้นเรียน แต่ฉันรู้ว่ามันไม่เพียงพอ มีลูกศรอื่น ๆ อีกมากมาย: การวางนัยทั่วไปการทำให้เป็นจริงและอื่น ๆ ซึ่งมีความหมายต่อตัวอ่านไดอะแกรม

มีทรัพยากรที่ดีที่สามารถอธิบายลูกศรแต่ละอัน (ธรรมดา, ธรรมดา, ประ, เต็มไปด้วยเพชร, เพชร)?

มันจะดีที่สุดถ้ามันจะมีตัวอย่างโค้ดสำหรับพวกเขา


4
ฉันขอแนะนำอย่างยิ่งให้พิจารณาสิ่งนี้: dzone.com/refcardz/getting-started-uml
trinity

คำตอบ:


475

นี่คือคำอธิบายบางส่วนจากเอกสาร Visual Studio 2015:

แผนภาพคลาส UML: การอ้างอิง : https://msdn.microsoft.com/library/dd409437%28VS.140%29.aspx

แผนภาพคลาส UML

5 : การเชื่อมโยง : ความสัมพันธ์ระหว่างสมาชิกของตัวจําแนกสองตัว

5a : การรวม : การเชื่อมโยงที่แสดงถึงความสัมพันธ์การเป็นเจ้าของที่ใช้ร่วมกัน รวมทรัพย์สินของบทบาทเจ้าของถูกตั้งค่าให้ใช้ร่วมกัน

5b : องค์ประกอบ : สมาคมที่แสดงถึงความสัมพันธ์แบบเต็มส่วน รวม ทรัพย์สินของเจ้าของบทบาทที่ถูกกำหนดเป็นคอมโพสิต

9 : การทำให้เป็นลักษณะทั่วไป : ตัวแยกประเภทที่เฉพาะเจาะจงสืบทอดบางส่วนของคำจำกัดความจากตัวจําแนกทั่วไป ลักษณนามทั่วไปอยู่ที่ปลายลูกศรของตัวเชื่อมต่อ คุณสมบัติการเชื่อมโยงและการดำเนินงานได้รับการสืบทอดโดยตัวจําแนกเฉพาะ ใช้เครื่องมือการสืบทอดเพื่อสร้างการวางนัยระหว่างตัวแยกประเภทสอง

แผนภาพแพคเกจ

13 : นำเข้า : ความสัมพันธ์ระหว่างแพ็คเกจระบุว่าแพ็คเกจหนึ่งมีคำจำกัดความทั้งหมดของแพคเกจอื่น

14 : การพึ่งพา : คำจำกัดความหรือการดำเนินการของลักษณนามขึ้นอยู่กับอาจมีการเปลี่ยนแปลงถ้าลักษณนามที่ปลายหัวลูกศรมีการเปลี่ยนแปลง

สำนึกสัมพันธ์

15 : การทำให้เป็นจริง : คลาสใช้การดำเนินการและคุณลักษณะที่กำหนดโดยส่วนต่อประสาน ใช้เครื่องมือการสืบทอดเพื่อสร้างการรับรู้ระหว่างคลาสและส่วนต่อประสาน

16 : การรับรู้ : การนำเสนอทางเลือกของความสัมพันธ์เดียวกัน เลเบลบนสัญลักษณ์ lollipop จะระบุอินเตอร์เฟส

แผนภาพคลาส UML: หลักเกณฑ์ : http://msdn.microsoft.com/library/dd409416%28VS.140%29.aspx

คุณสมบัติของสมาคม

การรวม : สิ่งนี้จะปรากฏเป็นรูปเพชรที่ปลายด้านหนึ่งของตัวเชื่อมต่อ คุณสามารถใช้มันเพื่อระบุว่าอินสแตนซ์ที่รวมบทบาทของตัวเองหรือมีอินสแตนซ์ของอื่น ๆ

Is Navigable : ถ้าเป็นจริงสำหรับหนึ่งบทบาทลูกศรจะปรากฏในทิศทางที่สามารถนำทางได้ คุณสามารถใช้สิ่งนี้เพื่อระบุความสามารถในการนำทางของลิงค์และความสัมพันธ์ของฐานข้อมูลในซอฟต์แวร์


การวางนัยทั่วไป : การวางนัยทั่วไปหมายความว่าประเภทที่เชี่ยวชาญหรือที่สืบทอดนั้นสืบทอดคุณสมบัติการดำเนินการและการเชื่อมโยงของประเภททั่วไปหรือฐาน ประเภททั่วไปจะปรากฏที่ปลายหัวลูกศรของความสัมพันธ์

การทำให้เป็นจริง : การทำให้เป็นจริงหมายความว่าคลาสใช้แอ็ตทริบิวต์และการดำเนินการที่ระบุโดยอินเตอร์เฟส อินเทอร์เฟซอยู่ที่ปลายลูกศรของตัวเชื่อมต่อ

แจ้งให้เราทราบหากคุณมีคำถามเพิ่มเติม


1
มีการอ้างอิงที่ดี แต่สำหรับฉันเมนู -> MenuItem มีความสัมพันธ์แบบเดียวกันกับคำสั่งซื้อ -> OrderItem ดังนั้นทั้งคู่จึงเป็น Compositions
Ignacio Soler Garcia

4
นั่นหมายความว่าทั้งสองรายการสั่งซื้อเป็นของการสั่งซื้อและไม่สามารถเคลื่อนย้ายได้ในขณะที่รายการเมนูสามารถปรับได้ - ผู้ใช้สามารถเปลี่ยนตำแหน่งของรายการเมนูได้ มันเป็นทางออกที่เลือก ทำไมจะไม่ล่ะ?
Gangnus

@Gangnus ขอบคุณ คำอธิบายนั้นได้ชี้แจงถึงความแตกต่างที่ทำให้ฉันพ้นไปเป็นเวลานาน
JMD

1
@JMD สามารถย้ายรายการคำสั่งได้เช่นกัน การรวมตัวแบบรวมถูกกำหนดไว้ในข้อมูลจำเพาะ UML ดังต่อไปนี้: การรวมแบบรวมเป็นรูปแบบที่แข็งแกร่งของการรวมที่ต้องการวัตถุชิ้นส่วนที่จะรวมอยู่ในวัตถุคอมโพสิตส่วนใหญ่ครั้ง หากลบคอมโพสิตวัตถุทั้งหมดของสารที่เป็นวัตถุจะถูกลบด้วย วัตถุชิ้นส่วนอาจถูกลบออกจากวัตถุประกอบก่อนที่วัตถุคอมโพสิตจะถูกลบและจึงไม่ถูกลบออกเป็นส่วนหนึ่งของวัตถุประกอบ
www.admiraalit.nl

2
@aGer ขอบคุณฉันได้อัพเดทหัวข้อและลิงค์รูปภาพ
Esther Fan - MSFT

154

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

ฉันคิดว่าภาพเหล่านี้เข้าใจได้


แนวคิดเหล่านี้บางส่วนไม่ทับซ้อนกันใช่หรือไม่ A ขึ้นอยู่กับ B. A เข้าถึง B. ไม่ได้สมาคมหรือการพึ่งพาอาศัยกันเสมอไป
EresDev

1
ในแผนภาพการรับรู้ซ้ำสองครั้ง แต่มีรูปต่างกัน คุณช่วยอธิบายความแตกต่างได้ไหม?
ตัวแปร

23

แผ่นโกงที่ดี (http://loufranco.com/wp-content/uploads/2012/11/cheatsheet.pdf) :

มันครอบคลุม:

  • แผนภาพระดับ
  • แผนภาพลำดับ
  • แพคเกจไดอะแกรม
  • แผนภาพวัตถุ
  • ใช้ Case Diagram

และให้ตัวอย่างบางส่วน

องค์ประกอบคลาสไดอะแกรมเช่นความสัมพันธ์ระหว่างผู้ปกครองถึงเด็กความสัมพันธ์ระดับย่อยอินเทอร์เฟซและผู้พัฒนารวมทั้งองค์ประกอบลำดับแผนภาพ


3
ฉันกำลังมองหาสิ่งนี้ใน 30 นาทีที่ผ่านมา ฉันรู้แนวคิดฉันแค่ลืมสัญลักษณ์
aclave1

13

UML ที่ฉันชอบคือ "cheat sheet" คือUML Distilledโดย Martin Fowler เป็นหนังสือเล่มเดียวของเขาที่ฉันอ่านว่าฉันแนะนำ


1
น่าสนใจฉันค่อนข้างชอบ Refactoring นั่นคือสิ่งที่คุณมีความคิดเห็น
djna

ใช่ฉันพบว่ามันค่อนข้างชัดเจนและไม่ชอบสมาธิใน Java นอกจากนี้โปรดอย่าใช้คำตอบของฉันโดยบอกว่าหนังสือเล่มอื่น ๆ ของเขาเป็นขยะ

หนังสือของพรานล่าสัตว์นั้นมีแผ่นโกงอยู่ด้านในของปกหนังสือ ดีมากสำหรับการเริ่มต้นโดยเฉพาะอย่างยิ่งเมื่อคำถามต่อไปของคุณจะเป็นทิศทางที่ลูกศรไป?
Ted Johnson

12
ดูเหมือนว่า 185 หน้าจะมากเกินไปสำหรับ "สูตรโกง"!
cdyson37


9

สำหรับการอ้างอิงอย่างรวดเร็วพร้อมกับตัวอย่างที่ชัดเจนชัดเจนการอ้างอิงด่วน UML ของ Allen Holub นั้นยอดเยี่ยม:

http://www.holub.com/goodies/uml/

(มีตัวอย่างเฉพาะบางส่วนของลูกศรและตัวชี้ในคอลัมน์แรกของตารางพร้อมคำอธิบายในคอลัมน์ที่สอง)


ฉันชอบตัวอย่างแรกของเขาและหวังว่าเขาจะไปเพิ่มทีละบรรทัดบนพื้นฐานเดียวกัน แต่เป็นการอ่านที่ดี
killjoy

6

คำอธิบายที่เข้าใจง่ายมากคือเอกสารของ yumlพร้อมตัวอย่างสำหรับคลาสไดอะแกรมกรณีใช้งานและกิจกรรม


อาจเป็น UML ที่ดีที่สุดสำหรับคนโง่ในขณะที่ลงรายการนี้ หมายเหตุ: เว็บไซต์นี้ยังช่วยให้คุณวาด UML ของคุณเองได้ฟรี (5)
killjoy

5

คำตอบที่ได้รับการยอมรับถูกกล่าวว่ามันจะหายไปบางคำอธิบาย ตัวอย่างเช่นอะไรคือความแตกต่างระหว่างความสัมพันธ์แบบทิศทางเดียวและแบบสองทิศทาง? ในตัวอย่างให้ทั้งทำที่มีอยู่ (ทั้งสองอยู่ในลูกศร)

หากคุณกำลังมองหาคำตอบที่สมบูรณ์และมีเวลามากขึ้นนี่คือคำอธิบายอย่างละเอียด



0

การรวมและการจัดองค์ประกอบค่อนข้างสับสนเล็กน้อย อย่างไรก็ตามคิดว่าการแต่งเพลงนั้นเป็นการรวมตัวที่ดีกว่า นั่นหมายความว่าอย่างไร? ลองมาตัวอย่าง: (การรวม) 1. ใช้ห้องเรียนและนักเรียน: ในกรณีนี้เราพยายามวิเคราะห์ความสัมพันธ์ระหว่างพวกเขา ห้องเรียนมี ความสัมพันธ์กับนักเรียน นั่นหมายถึงห้องเรียนประกอบด้วยนักเรียนหนึ่งคนหรือหลายคน แม้ว่าเราจะลบคลาสของห้องเรียนออก แต่นักเรียนก็ไม่จำเป็นต้องทำลายซึ่งหมายความว่าเราสามารถใช้ชั้นเรียนของนักเรียนได้อย่างอิสระ

(องค์ประกอบ) 2. ดูหน้าและคลาสหนังสือ ในกรณีนี้หน้าเป็น หนังสือซึ่งคอลเลกชันวิธีการทำให้หน้าหนังสือ หากเราลบชั้นหนังสือคลาสเพจทั้งหมดจะถูกทำลาย นั่นหมายความว่าเราไม่สามารถใช้คลาสของเพจได้อย่างอิสระ

หากคุณยังไม่ชัดเจนเกี่ยวกับหัวข้อนี้ให้ระวังวิดีโอที่ยอดเยี่ยมสั้น ๆ นี้ซึ่งอธิบายการรวมได้ชัดเจนยิ่งขึ้น

https://www.youtube.com/watch?v=d5ecYmyFZW0

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.