Page 59 - วิศวกรรมซอฟต์แวร์
P. 59
การออกแบบซอฟต์แวร์เชิงวัตถุ 7-49
ตัวอยา่ งท่ี 7.12 การใช้งานความสัมพันธ์แบบการระบุคุณลักษณะทั่วไปแสดงได้ดังนี้
ขอบเขตของปัญหา ค่าระวาง คือ ค่าใช้จ่ายที่เกิดข้ึนจากการใช้พ้ืนที่ส�ำหรับการขนส่ง สามารถเกิดขึ้นได้จาก
คา่ กระเปา๋ และคา่ ระวางสนิ คา้ ซงึ่ คา่ ระวางจำ� เปน็ ตอ้ งมกี ารจดั เกบ็ ขอ้ มลู หลกั ๆ บางสว่ น เชน่ ตำ� แหนง่ ระบพุ น้ื ทจี่ ดั เกบ็
น้�ำหนัก หมายเลขสินค้า แต่อาจจะมีบางคุณลักษณะที่จะต้องเก็บแตกต่างกันไปตามประเภทของค่าระวางที่ต่างกัน
จากขอบเขตของปัญหา สามารถสร้างคลาสค่าระวาง (Freight) เป็นคลาสต้นแบบ โดยท่ีมีคลาสค่ากระเป๋า
เดินทาง (Price of Luggage) และคลาสค่าระวางสินค้า (Price of Cargo) ที่มีความสัมพันธ์แบบการระบุคุณลักษณะ
ท่ัวไป คือ การสืบทอดคุณสมบัติมาจากคลาสค่าระวาง ซ่ึงเป็นคลาสต้นแบบน่ันเอง
Freight
Identification
WIDe-Niguhmt ber
Price of Luggage Price of Cargo Generalization
Degree of Hazardousness
Price of Luggage
WIIDdee-Nnigtuhifmitcbaetiron Price of Cargo
WIIDdee-Nnigtuhifmitcbaetiron
Degree of Hazardousness
ภาพท่ี 7.37 ตวั อย่างการใชง้ านความสมั พนั ธแ์ บบการระบคุ ณุ ลักษณะทั่วไป
ทีม่ า: Patrick Grãssle; Henriette and Philippe Baumann. UML 2.0 in Action. p. 130.
จากภาพท่ี 7.37 จะเห็นว่า คลาสค่ากระเป๋าเดินทาง (Price of Luggage) และคลาสค่าระวางสินค้า (Price
of Cargo) สามารถได้รับการถ่ายทอดคุณสมบัติทั้งแอตทริบิวต์และโอเปอเรช่ันมาจากคลาสค่าระวาง (freight)
ซ่ึงเป็นคลาสต้นแบบ นอกจากน้ี คลาสผู้ได้รับการถ่ายทอดสามารถมีแอตทริบิวต์หรือโอเปอเรชั่นที่เพิ่มเติมข้ึนมา
ได้อีกนอกเหนือจากที่ถ่ายทอดมาจากคลาสต้นแบบแล้ว ถ้าสังเกตจากในภาพ คลาสค่าระวางสินค้า (Price of Cargo)
มแี อตทรบิ วิ ตท์ เ่ี พม่ิ ขน้ึ มาจากแอตทรบิ วิ ตท์ ไี่ ดร้ บั การถา่ ยทอดมา ในการเขยี นแผนภาพนน้ั คลาสทไ่ี ดร้ บั การถา่ ยทอดมา
สามารถละหรือไม่ต้องระบุแอตทริบิวต์หรือโอเปอเรชั่นที่ได้รับการถ่ายทอดมาจากคลาสต้นแบบ จะระบุหรือเขียน
เฉพาะแอตทริบิวต์หรือโอเปอเรชั่นที่เพิ่มเติมจากคลาสต้นแบบเท่านั้น