UML - ไดอะแกรมวัตถุ

ไดอะแกรมออบเจ็กต์มาจากคลาสไดอะแกรมดังนั้นไดอะแกรมออบเจ็กต์จึงขึ้นอยู่กับคลาสไดอะแกรม

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

ออบเจ็กต์ไดอะแกรมใช้เพื่อสร้างชุดของอ็อบเจ็กต์และความสัมพันธ์เป็นอินสแตนซ์

วัตถุประสงค์ของแผนภาพวัตถุ

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

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

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

วัตถุประสงค์ของแผนภาพวัตถุสามารถสรุปได้ดังนี้ -

  • วิศวกรรมไปข้างหน้าและย้อนกลับ

  • ความสัมพันธ์ของวัตถุของระบบ

  • มุมมองแบบคงที่ของการโต้ตอบ

  • ทำความเข้าใจพฤติกรรมของวัตถุและความสัมพันธ์จากมุมมองในทางปฏิบัติ

วิธีการวาด Object Diagram?

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

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

ในการจับระบบเฉพาะจำนวนคลาสไดอะแกรมจะถูก จำกัด อย่างไรก็ตามหากเราพิจารณาออบเจ็กต์ไดอะแกรมเราสามารถมีอินสแตนซ์ได้ไม่ จำกัด จำนวนซึ่งมีลักษณะเฉพาะ จะพิจารณาเฉพาะอินสแตนซ์เหล่านั้นซึ่งมีผลกระทบต่อระบบ

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

  • ขั้นแรกวิเคราะห์ระบบและตัดสินใจว่าอินสแตนซ์ใดมีข้อมูลสำคัญและการเชื่อมโยง

  • ประการที่สองพิจารณาเฉพาะอินสแตนซ์เหล่านั้นซึ่งจะครอบคลุมฟังก์ชันการทำงาน

  • ประการที่สามทำการเพิ่มประสิทธิภาพเนื่องจากจำนวนอินสแตนซ์ไม่ จำกัด

ก่อนวาดแผนภาพวัตถุควรจำและทำความเข้าใจสิ่งต่อไปนี้ให้ชัดเจน -

  • แผนภาพวัตถุประกอบด้วยวัตถุ

  • ลิงค์ในออบเจ็กต์ไดอะแกรมใช้เพื่อเชื่อมต่อออบเจ็กต์

  • ออบเจ็กต์และลิงค์เป็นสององค์ประกอบที่ใช้ในการสร้างแผนภาพวัตถุ

หลังจากนี้สิ่งต่อไปนี้จะต้องตัดสินใจก่อนที่จะเริ่มสร้างแผนภาพ -

  • แผนภาพวัตถุควรมีชื่อที่มีความหมายเพื่อระบุวัตถุประสงค์

  • องค์ประกอบที่สำคัญที่สุดจะต้องระบุ

  • ควรชี้แจงการเชื่อมโยงระหว่างวัตถุ

  • ต้องจับค่าขององค์ประกอบต่างๆเพื่อรวมไว้ในแผนภาพวัตถุ

  • เพิ่มบันทึกที่เหมาะสมในจุดที่ต้องการความชัดเจนมากขึ้น

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

  • Customer

  • Order

  • SpecialOrder

  • NormalOrder

ตอนนี้อ็อบเจ็กต์ลูกค้า (C) เชื่อมโยงกับอ็อบเจ็กต์คำสั่งซื้อสามรายการ (O1, O2 และ O3) วัตถุคำสั่งเหล่านี้เกี่ยวข้องกับคำสั่งพิเศษและวัตถุคำสั่งปกติ (S1, S2 และ N1) ลูกค้ามีคำสั่งซื้อสามรายการต่อไปนี้ซึ่งมีหมายเลขต่างกัน (12, 32 และ 40) ในช่วงเวลาที่พิจารณา

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

สำหรับคำสั่งซื้อค่าคือ 12, 32 และ 40 ซึ่งหมายความว่าออบเจ็กต์มีค่าเหล่านี้ในช่วงเวลาหนึ่ง (ในที่นี้เวลาเฉพาะเมื่อทำการซื้อจะถือเป็นช่วงเวลา) เมื่อจับอินสแตนซ์

เช่นเดียวกับคำสั่งซื้อพิเศษและออบเจ็กต์คำสั่งซื้อปกติซึ่งมีจำนวนคำสั่งซื้อเป็น 20, 30 และ 60 หากพิจารณาเวลาซื้อที่แตกต่างกันค่าเหล่านี้จะเปลี่ยนไปตามนั้น

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

จะใช้ Object Diagrams ได้ที่ไหน?

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

ตอนนี้ถ้าคุณลองดูรถไฟที่กำลังวิ่งอยู่คุณจะพบกับภาพที่คงที่ซึ่งมีดังต่อไปนี้ -

  • สถานะเฉพาะที่กำลังทำงานอยู่

  • จำนวนผู้โดยสารโดยเฉพาะ ซึ่งจะเปลี่ยนไปหากถ่ายภาพในเวลาอื่น

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

สรุปได้ว่าออบเจ็กต์ไดอะแกรมใช้สำหรับ -

  • สร้างต้นแบบของระบบ

  • วิศวกรรมย้อนกลับ

  • การสร้างแบบจำลองโครงสร้างข้อมูลที่ซับซ้อน

  • การทำความเข้าใจระบบจากมุมมองในทางปฏิบัติ