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