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 สัญลักษณข์ องการสรา้ งความสัมพนั ธ์แบบการระบคุ ณุ ลกั ษณะทว่ั ไป
   53   54   55   56   57   58   59   60   61   62   63