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)
มแี อตทรบิ วิ ตท์ เ่ี พม่ิ ขน้ึ มาจากแอตทรบิ วิ ตท์ ไี่ ดร้ บั การถา่ ยทอดมา ในการเขยี นแผนภาพนน้ั คลาสทไ่ี ดร้ บั การถา่ ยทอดมา
สามารถละหรือไม่ต้องระบุแอตทริบิวต์หรือโอเปอเรชั่นที่ได้รับการถ่ายทอดมาจากคลาสต้นแบบ จะระบุหรือเขียน
เฉพาะแอตทริบิวต์หรือโอเปอเรชั่นที่เพิ่มเติมจากคลาสต้นแบบเท่านั้น
   54   55   56   57   58   59   60   61   62   63   64