Page 58 - วิศวกรรมซอฟต์แวร์
P. 58
7-48 วิศวกรรมซอฟต์แวร์
package1 ClassInSamePackage
BlogAccount
-name
aMethod()
package2
ClassInAnotherPackage SpecializedClassInAnotherPackage
ภาพท่ี 7.35 การกำ�หนดการเขา้ ถงึ แบบสว่ นตวั
ท่ีมา: Kim Hamilton and Russell Miles. Learning UML 2.0. Figure 4-10.
จากภาพท่ี 7.35 เป็นการก�ำหนดการเข้าถึงแบบส่วนตัวให้กับแอตทริบิวต์ชื่อ “name” ท�ำให้สามารถเข้าถึง
ได้จากเมธอดช่ือ “aMethod()” ท่ีอยู่ในคลาสเดียวกันเท่านั้น ดังน้ัน จึงไม่สามารถเข้าถึงได้จากคลาสช่ือ “ClassIn
SamePackage” ที่อยู่ในแพ็คเก็จเดียวกัน และไม่สามารถเข้าถึงได้จากคลาสช่ือ “ClassInAnotherPackage”
ท่ีอยู่ในแพ็คเก็จอื่น รวมถึงไม่สามารถเข้าถึงได้จากคลาสช่ือ “SpecializedClassInAnotherPackage” ซ่ึงเป็นคลาส
ท่ีสืบทอดท่ีอยู่ต่างแพ็คเก็จ
5. การสรา้ งความสมั พันธ์ระหว่างคลาสในแผนภาพคลาส
จากเนื้อหาในตอนท่ี 7.1 ได้อธิบายรูปแบบความสัมพันธ์ระหว่างคลาสมาแล้ว ในส่วนนี้จะขอเน้นการอธิบาย
ในเรื่องของการใช้สัญลักษณ์เพื่อเขียนความสัมพันธ์ระหว่างคลาสลงในแผนภาพคลาส
5.1 การระบคุ ณุ ลกั ษณะทว่ั ไป (generalization) คอื กระบวนการในการแบง่ แยก การใชง้ านรว่ มกนั จากคลาส
ตงั้ แตส่ องคลาสขน้ึ ไป และดำ� เนนิ การสรา้ งคลาสตน้ แบบขนึ้ มา สำ� หรบั การใชง้ านลกั ษณะเฉพาะตา่ ง ๆ ของคลาสรว่ มกนั
ท้ังในส่วนของแอตทริบิวต์และโอเปอเรชั่น โดยใช้สัญลักษณ์ลูกศรหัวโปร่งในการสร้างแผนภาพ ดังภาพท่ี 7.36
ภาพที่ 7.36 สัญลักษณข์ องการสรา้ งความสัมพนั ธ์แบบการระบคุ ณุ ลกั ษณะทว่ั ไป