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) ซ่ึงด้านซ้ายมือจะแสดงสัญลักษณ์ที่เขียนแสดงความสัมพันธ์ และขวามือแสดงการอ่านค่าท่ีได้จาก
สัญลักษณ์ท่ีก�ำหนดความสัมพันธ์
   32   33   34   35   36   37   38   39   40   41   42