ประเภทความสัมพันธ์ UML: การเชื่อมโยง การพึ่งพา ลักษณะทั่วไป

ความสัมพันธ์ UML คืออะไร?

ความสัมพันธ์ใน UML ใช้เพื่อแสดงการเชื่อมโยงระหว่างโครงสร้าง พฤติกรรม หรือการจัดกลุ่ม นอกจากนี้ยังเรียกว่าลิงก์ที่อธิบายว่าสองสิ่งขึ้นไปสามารถเชื่อมโยงถึงกันได้อย่างไรในระหว่างการทำงานของระบบ ประเภทของความสัมพันธ์ UML ได้แก่ Association, Dependency, Generalization และ Realization

มาศึกษารายละเอียดกันดีกว่า

ประเภทของความสัมพันธ์ไดอะแกรมคลาส UML

ความสัมพันธ์ไดอะแกรมคลาส UML

สมาคม

เป็นชุดลิงก์ที่เชื่อมต่อองค์ประกอบของโมเดล UML นอกจากนี้ยังกำหนดจำนวนวัตถุที่มีส่วนร่วมในความสัมพันธ์นั้นด้วย

การอยู่ที่

ในความสัมพันธ์แบบพึ่งพา ดังที่ชื่อแนะนำ องค์ประกอบตั้งแต่สององค์ประกอบขึ้นไปจะขึ้นอยู่กับแต่ละองค์ประกอบ ในความสัมพันธ์ประเภทนี้ หากเราทำการเปลี่ยนแปลงองค์ประกอบใดองค์ประกอบหนึ่ง ก็เป็นไปได้ว่าองค์ประกอบอื่นๆ ทั้งหมดจะได้รับผลกระทบจากการเปลี่ยนแปลงเช่นกัน

ลักษณะทั่วไป

เรียกอีกอย่างว่าความสัมพันธ์ระหว่างพ่อแม่และลูก โดยทั่วไป องค์ประกอบหนึ่งคือความเชี่ยวชาญขององค์ประกอบทั่วไปอีกองค์ประกอบหนึ่ง มันอาจจะทดแทนก็ได้ ส่วนใหญ่จะใช้เพื่อแสดงถึงมรดก

การสำนึก

ในความสัมพันธ์ของการตระหนักรู้ของ UML เอนทิตีหนึ่งแสดงถึงความรับผิดชอบบางอย่างซึ่งไม่ได้ถูกนำไปใช้โดยตัวมันเองและเอนทิตีอื่นที่นำไปใช้ ความสัมพันธ์นี้ส่วนใหญ่จะพบในกรณีของ อินเตอร์เฟซ

สมาคม

เป็นความสัมพันธ์เชิงโครงสร้างที่แสดงว่าวัตถุสามารถเชื่อมต่อหรือเชื่อมโยงกับวัตถุอื่นภายในระบบได้ ข้อจำกัดต่อไปนี้สามารถนำไปใช้กับความสัมพันธ์เชิงเชื่อมโยงได้

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

เรายังสามารถสร้างคลาสที่มีคุณสมบัติการเชื่อมโยงได้ เรียกว่าเป็นชั้นสมาคม

การเชื่อมโยงแบบสะท้อน

ความสัมพันธ์แบบสะท้อนกลับเป็นชนิดย่อยของความสัมพันธ์แบบเชื่อมโยงใน UML ในการเชื่อมโยงแบบสะท้อนกลับ กรณีของประเภทเดียวกันสามารถเชื่อมโยงถึงกัน อินสแตนซ์ของคลาสก็บอกว่าเป็นวัตถุเช่นกัน

การเชื่อมโยงแบบสะท้อนระบุว่าลิงก์หรือการเชื่อมต่อสามารถปรากฏภายในออบเจ็กต์ของคลาสเดียวกันได้

ให้เราพิจารณาตัวอย่างของผลไม้ประเภทหนึ่ง คลาสผลไม้มีสองตัวอย่าง เช่น มะม่วงและแอปเปิ้ล การเชื่อมโยงแบบสะท้อนระบุว่าการเชื่อมโยงระหว่างมะม่วงกับแอปเปิ้ลสามารถเกิดขึ้นได้เนื่องจากเป็นตัวอย่างประเภทเดียวกัน เช่น ผลไม้

สมาคมกำกับ

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

ในการเชื่อมโยงแบบกำหนดทิศทาง โฟลว์จะถูกกำหนดทิศทาง การเชื่อมโยงจากคลาสหนึ่งไปอีกคลาสหนึ่งจะไหลไปในทิศทางเดียวเท่านั้น

จะแสดงด้วยเส้นทึบพร้อมหัวลูกศร

ตัวอย่าง:

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

การอยู่ที่

การใช้ความสัมพันธ์การพึ่งพาใน UML ทำให้เราเชื่อมโยงได้ว่าสิ่งต่างๆ ภายในระบบนั้นขึ้นอยู่กับกันและกันอย่างไร การพึ่งพาใช้เพื่ออธิบายความสัมพันธ์ระหว่างองค์ประกอบต่างๆ ใน ​​UML ที่ขึ้นอยู่กับแต่ละองค์ประกอบ

แบบแผน

  • "ผูก" – Bind เป็นข้อจำกัดที่ระบุว่าต้นทางสามารถเตรียมใช้งานเทมเพลตที่ตำแหน่งเป้าหมายได้ โดยใช้พารามิเตอร์หรือค่าที่ให้มา
  • «ได้มา» – แสดงว่าตำแหน่งของวัตถุต้นทางสามารถคำนวณได้จากวัตถุเป้าหมาย
  • "เพื่อน" – ระบุว่าแหล่งที่มามีการมองเห็นที่ไม่ซ้ำกันในวัตถุเป้าหมาย
  • «อินสแตนซ์ของ» – ระบุว่าอินสแตนซ์ของตัวแยกประเภทเป้าหมายคือออบเจ็กต์ต้นทาง
  • «อินสแตนซ์» – ระบุว่าออบเจ็กต์ต้นทางสามารถสร้างอินสแตนซ์ของออบเจ็กต์เป้าหมายได้
  • "ปรับแต่ง" – ระบุว่าออบเจ็กต์ต้นทางมีนามธรรมพิเศษกว่าออบเจ็กต์เป้าหมาย
  • "ใช้" – ใช้เมื่อมีการสร้างแพ็คเกจใน UML แบบเหมารวมการใช้งานอธิบายว่าองค์ประกอบของแพ็คเกจต้นทางสามารถปรากฏภายในแพ็คเกจเป้าหมายได้เช่นกัน โดยอธิบายว่าแพ็กเกจต้นทางใช้ประโยชน์จากองค์ประกอบบางอย่างของแพ็กเกจเป้าหมาย
  • "ทดแทน" – ระบุว่าไคลเอ็นต์อาจถูกแทนที่ด้วยซัพพลายเออร์ ณ รันไทม์
  • "เข้าถึง" – ระบุว่าแพ็คเกจต้นทางเข้าถึงองค์ประกอบของแพ็คเกจเป้าหมาย ซึ่งเรียกอีกอย่างว่าเป็นการควบรวมกิจการแบบส่วนตัว
  • "นำเข้า" – ระบุว่าเป้าหมายสามารถนำเข้าองค์ประกอบของแพ็คเกจต้นทางเหมือนกับที่กำหนดไว้ภายใน เป้าหมายซึ่งเรียกอีกอย่างว่าการรวมสาธารณะ
  • "อนุญาต" – ระบุว่าองค์ประกอบต้นทางมีสิทธิ์เข้าถึงองค์ประกอบซัพพลายเออร์ไม่ว่าซัพพลายเออร์จะเปิดเผยการเปิดเผยก็ตาม
  • "ขยาย" – ช่วยให้คุณระบุว่าเป้าหมายสามารถขยายพฤติกรรมขององค์ประกอบต้นทางได้
  • "รวม" – ช่วยให้คุณระบุองค์ประกอบแหล่งที่มาซึ่งสามารถรวมพฤติกรรมขององค์ประกอบอื่นในตำแหน่งที่ระบุได้ (เหมือนกับการเรียกใช้ฟังก์ชันใน c/c++)
  • "กลายเป็น" – ระบุว่าเป้าหมายมีความคล้ายคลึงกับแหล่งที่มาซึ่งมีค่าและบทบาทต่างกัน
  • "เรียก" – ระบุว่าแหล่งที่มาสามารถเรียกใช้เมธอดวัตถุเป้าหมายได้
  • "สำเนา" – ระบุว่าวัตถุเป้าหมายมีความเป็นอิสระ ซึ่งเป็นสำเนาของวัตถุต้นทาง
  • «พารามิเตอร์» – ซัพพลายเออร์เป็นพารามิเตอร์ของการดำเนินการของลูกค้า.
  • "ส่ง" - ไคลเอนต์เป็นการดำเนินการที่ส่งเป้าหมายที่ไม่ระบุบางส่วนให้กับซัพพลายเออร์

แบบแผนในหมู่เครื่องจักรของรัฐ

  • "ส่ง" – ระบุว่าการทำงานของแหล่งที่มาจะส่งเหตุการณ์เป้าหมาย

ลักษณะทั่วไป

เป็นความสัมพันธ์ระหว่างเอนทิตีทั่วไปและเอนทิตีเฉพาะซึ่งมีอยู่ภายในระบบ

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

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

ความสัมพันธ์ประเภทนี้เรียกรวมกันว่าความสัมพันธ์ทั่วไป

แบบแผนและข้อจำกัดของพวกเขา

  • «การดำเนินการ» – แบบเหมารวมนี้ใช้เพื่อแสดงให้เห็นว่าเอนทิตีลูกกำลังถูกนำไปใช้โดยเอนทิตีหลักโดยการสืบทอดโครงสร้างและพฤติกรรมของออบเจ็กต์หลักโดยไม่ละเมิดกฎหมายเหตุ แบบเหมารวมนี้ถ้าใช้กันแพร่หลายในที่เดียว มรดก.

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

การสำนึก

ในความสัมพันธ์ของการตระหนักรู้ของ UML เอนทิตีหนึ่งแสดงถึงความรับผิดชอบบางอย่างซึ่งไม่ได้ถูกนำไปใช้โดยตัวมันเองและเอนทิตีอื่นที่นำไปใช้ ความสัมพันธ์นี้ส่วนใหญ่จะพบในกรณีของ อินเตอร์เฟซ

การตระหนักรู้สามารถแสดงได้สองวิธี:

  • การใช้บริการ รูปแบบบัญญัติ
  • ใช้ แบบฟอร์มอีไลด์
การรับรู้ใน UML
การรับรู้ใน UML

ในแผนภาพด้านบน กฎเกณฑ์ทางธุรกิจของบัญชีจะรับรู้ถึงอินเทอร์เฟซ IRuleAgent

ประเภทของการรับรู้

  1. รูปแบบ Canonical ในความสัมพันธ์การรับรู้ของ UML รูปแบบ Canonical ถูกใช้เพื่อรับรู้อินเทอร์เฟซทั่วทั้งระบบ ใช้แบบแผนของอินเทอร์เฟซเพื่อสร้างอินเทอร์เฟซและความสัมพันธ์ในการตระหนักรู้ใช้เพื่อรับรู้ถึงอินเทอร์เฟซเฉพาะ ในรูปแบบบัญญัติ ความสัมพันธ์ในการตระหนักรู้จะแสดงโดยใช้เส้นประที่มีลูกศรเปิดขนาดใหญ่ ในแผนภาพด้านบน อินเทอร์เฟซ Iruleagent ถูกสร้างขึ้นโดยใช้ออบเจ็กต์ที่เรียกว่ากฎธุรกิจบัญชี
  2. Elided ฟอร์มสำนึกใน แผนภาพคลาส UML สามารถแสดงได้โดยใช้แบบฟอร์มอีลิด ในรูปแบบที่ไม่มีขอบ อินเทอร์เฟซจะแสดงโดยใช้วงกลมซึ่งเรียกอีกอย่างว่าสัญกรณ์อมยิ้ม อินเทอร์เฟซนี้ เมื่อรับรู้โดยใช้สิ่งใดก็ตามที่มีอยู่ภายในระบบ จะสร้างโครงสร้างแบบ elided ในไดอะแกรมด้านบน อินเทอร์เฟซ Iruleagent จะแสดงโดยใช้แบบฟอร์มแบบ elided ซึ่ง acctrule.dll รับรู้

ส่วนประกอบ

ไม่ใช่ความสัมพันธ์ UML มาตรฐาน แต่ยังคงใช้ในแอปพลิเคชันต่างๆ

การรวมกลุ่มแบบคอมโพสิตเป็นประเภทย่อยของความสัมพันธ์การรวมกลุ่มที่มีลักษณะดังนี้:

  • มันเป็นการเชื่อมโยงสองทางระหว่างวัตถุ
  • เป็นความสัมพันธ์ทั้งหมด/บางส่วน
  • หากคอมโพสิตถูกลบ ส่วนอื่นๆ ทั้งหมดที่เกี่ยวข้องกับคอมโพสิตจะถูกลบออก

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

องค์ประกอบใน UML

องค์ประกอบใน UML

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

ความสัมพันธ์ประเภทนี้ใน UML รู้จักโดยความสัมพันธ์แบบรวมคอมโพสิต

การรวมตัว

An การรวมตัว เป็นประเภทย่อยของความสัมพันธ์การเชื่อมโยงใน UML การรวมกลุ่มและการจัดองค์ประกอบเป็นทั้งประเภทของความสัมพันธ์การเชื่อมโยงใน UML ความสัมพันธ์แบบการรวมกลุ่มสามารถอธิบายได้ด้วยคำง่ายๆ ว่า "วัตถุของคลาสหนึ่งสามารถเป็นเจ้าของหรือเข้าถึงวัตถุของคลาสอื่นได้"

ในความสัมพันธ์แบบรวม วัตถุที่ขึ้นอยู่กับวัตถุจะยังคงอยู่ในขอบเขตของความสัมพันธ์ แม้ว่าวัตถุแหล่งที่มาจะถูกทำลายไปแล้วก็ตาม

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

สรุป

  • ความสัมพันธ์ใน UML ช่วยให้สิ่งหนึ่งเชื่อมโยงกับสิ่งอื่นภายในระบบได้
  • ความสัมพันธ์แบบเชื่อมโยง การพึ่งพา ลักษณะทั่วไป และความสัมพันธ์ที่เกิดขึ้นถูกกำหนดโดย UML
  • ความสัมพันธ์ขององค์ประกอบยังสามารถใช้เพื่อแสดงว่าวัตถุนั้นสามารถเป็นส่วนหนึ่งขององค์ประกอบเดียวเท่านั้นในแต่ละครั้ง
  • การเชื่อมโยงใช้เพื่ออธิบายว่าวัตถุหนึ่งสามารถเชื่อมโยงกับวัตถุอื่นได้
  • การพึ่งพาหมายความว่าวัตถุสามารถพึ่งพาซึ่งกันและกันได้
  • การตระหนักรู้คือความสัมพันธ์ที่มีความหมายระหว่างตัวแยกประเภท
  • ลักษณะทั่วไปเรียกอีกอย่างว่าความสัมพันธ์ระหว่างพ่อแม่และลูก