Page 37 - วิศวกรรมซอฟต์แวร์
P. 37
การออกแบบซอฟต์แวร์เชิงวัตถุ 7-27
4.3 ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (many-to-many association: M:N) คือ ความเกี่ยวข้องกันที่คลาส
ทั้งสองข้างของความสัมพันธ์ มี max มากกว่า 1 ทั้งคู่ เช่น
“ลูกค้าคนหน่ึงสามารถซ้ือสินค้าได้มากกว่า 1 รายการ หรืออาจจะไม่ซื้อเลย และรายการสินค้าหนึ่ง ๆ
ก็สามารถขายให้กับผู้ซื้อได้มากกว่า 1 คน หรืออาจจะไม่มีใครสนใจซ้ือก็เป็นได้”
• คลาสสินค้า จะพิจารณาค่า multiplicity ทางฝั่งคลาสสินค้า โดยการมองจากคลาสฝั่งตรงข้าม
ก็คือคลาสของลูกค้า มายังคลาสสินค้า จะได้ค่า ดังนี้
min = 0 (ลูกค้าไม่ซ้ือสินค้าอะไรเลย)
max = N แทนด้วย * (ลูกค้าซ้ือสินค้ามากกว่า 1 รายการ)
สินค้า * ลูกค้า
• คลาสลูกค้า จะพิจารณาค่า multiplicity ทางฝั่งคลาสลูกค้า โดยการมองจากคลาสฝั่งตรงข้าม
ก็คือ คลาสของสินค้า มายังคลาสลูกค้า จะได้ค่า ดังน้ี
min = 0 (สินค้านั้นไม่มีลูกค้าใดสนใจซ้ือเลย)
max = N แทนด้วย * (สินค้านั้นถูกขายให้กับลูกค้าได้หลายราย)
สินค้า * * ลูกค้า
0..1 มีค่าได้ตั้งแต่ 0 ถึง 1
1 = 1..1 มีค่าเป็น 1 เท่านั้น
* = 0..* มีค่าได้ตั้งแต่ 0 ถึง *
1..* มีค่าอย่างน้อย 1 และสูงสุดถึง *
ภาพท่ี 7.14 ตวั อยา่ งการอา่ นคา่ จำ�นวนในความสมั พนั ธ์
จากภาพที่ 7.14 แสดงการอ่านค่าจ�ำนวนในความสัมพันธ์ (multiplicity) จากความสัมพันธ์แบบเกี่ยวข้อง
กัน (association) ซ่ึงด้านซ้ายมือจะแสดงสัญลักษณ์ที่เขียนแสดงความสัมพันธ์ และขวามือแสดงการอ่านค่าท่ีได้จาก
สัญลักษณ์ท่ีก�ำหนดความสัมพันธ์