16
OO Design and Development 32 บทที่ 5 แผนภาพคลาส (Class Diagram) Class diagram จัดเป็น Structural Model (Static Model) คือ มุมมองของระบบที่เน้นโครงสร้างของวัตถุ รวมทั ้งคลาสของวัตถุ ( Class) ความสัมพันธ์ระหว่างคลาส ( Relationship) แอททริบิวต์ ( Attribute) และโอ เปอเรชัน (Operation) ความสัมพันธ์ที่แสดงเป็นความสัมพันธ์เชิงสถิตย์ (คงทีStatic) ไม่ใช่ความสัมพันธ์ทีเกิดขึ ้นเนื่องจากกิจกรรม ( Dynamic) จึงไม่สามารถมองเห็นการเปลี่ยนแปลงต่างๆที่เกิดขึ ้น แม้จะเกิด เหตุการณ์ใด ๆ Class Diagram Static relationship เจ้าของบัญชีเป็นเจ้าของบัญชีเงินฝาก Dynamic relationship เจ้าของบัญชีฝากเงินเข้าบัญชีเงินฝาก เจ้าของบัญชีถอนเงินจากบัญชีเงินฝาก เจ้าของบัญชีปรับปรุงยอดบัญชีเงินฝาก องค์ประกอบของ Class Diagram Class โครงสร้างของ Class พฤติกรรมของ Class ตัวบ่งชี Multiplicity Navigation ชื่อของ Role ความสัมพันธ์ Association Generalization (Inheritance) Aggregation Composition Dependency

บทที่ 5 แผนภาพคลาส (Class Diagram) · OO Design and Development 32 บทที่ 5 แผนภาพคลาส (Class Diagram) Class diagram จัดเป็น

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: บทที่ 5 แผนภาพคลาส (Class Diagram) · OO Design and Development 32 บทที่ 5 แผนภาพคลาส (Class Diagram) Class diagram จัดเป็น

OO Design and Development 32

บทท 5 แผนภาพคลาส (Class Diagram)

Class diagram จดเปน Structural Model (Static Model) คอ มมมองของระบบทเนนโครงสรางของวตถ

รวมทงคลาสของวตถ (Class) ความสมพนธระหวางคลาส (Relationship) แอททรบวต (Attribute) และโอเปอเรชน (Operation) ความสมพนธทแสดงเปนความสมพนธเชงสถตย (คงท Static) ไมใชความสมพนธทเกดขนเนองจากกจกรรม (Dynamic) จงไมสามารถมองเหนการเปลยนแปลงตางๆทเกดขน แมจะเกดเหตการณใด ๆ

Class Diagram Static relationship เจาของบญชเปนเจาของบญชเงนฝาก Dynamic relationship เจาของบญชฝากเงนเขาบญชเงนฝาก เจาของบญชถอนเงนจากบญชเงนฝาก เจาของบญชปรบปรงยอดบญชเงนฝาก

องคประกอบของ Class Diagram Class โครงสรางของ Class พฤตกรรมของ Class ตวบงช Multiplicity Navigation ชอของ Role ความสมพนธ Association Generalization (Inheritance) Aggregation Composition Dependency

Page 2: บทที่ 5 แผนภาพคลาส (Class Diagram) · OO Design and Development 32 บทที่ 5 แผนภาพคลาส (Class Diagram) Class diagram จัดเป็น

OO Design and Development 33

Class ใน Class Diagram

UML Syntax for Class Name ชอ Class ไมมชองวาง และขนตนดวยตวพมพใหญ เชน Bank ถามมากกวา 1 ค าตวแรกของแตละค าเปนตวพมพใหญ เชน BankAccount UML Syntax for Attributes Visibility Name: Type [= คาเรมตน] Visibility ประกอบดวย + (public), - (private), # (protected) Name คอ ชอ Attribute ไมมชองวาง ขนตนดวยตวพมพเลก ตวแรกของค าถดไปเปนตวพมพใหญ เชน userID Type คอ ชนดขอมล (ขนกบแตละภาษา) Primitive Type ขอมลพนฐาน เชน integer, boolean Class Type Attribute ของ Class หนงอาจมชนดเปน Class อนได UML Syntax for Operations

Visibility Name (Parameter List: Type) : Return type Visibility ประกอบดวย + (public), - (private), # (protected) Name คอ ชอ เหมอนกบชอของ Attribute แตเปนค ากรยา เชน withdrawMoney

Parameter List คอ รายการตวแปรหรอ Objects ทถกสงเขาไปใน Operation (Method) เพอใชด าเนนการอยางใดอยางหนง (อาจไมมกได)

Type, Return type คอ ชนดขอมล เหมอน Attribute (อาจไมมกได)

Page 3: บทที่ 5 แผนภาพคลาส (Class Diagram) · OO Design and Development 32 บทที่ 5 แผนภาพคลาส (Class Diagram) Class diagram จัดเป็น

OO Design and Development 34

Visibility private ( - ) มกใชกบ Attributes มากกวา Operations เหนไดภายในเฉพาะตว class ไมสามารถเหนได จากภายนอก การเขาถงจากภายนอกจะกระท าผาน Operation ทเตรยมไว public ( + ) มกใชกบ Operations มากกวา Attributesมองเหนและเขาถงไดโดยตรงจากภายนอก protected (#) สงวนไวส าหรบการท า Inheritance โดยเฉพาะโดยปกตจะเปนของ Super class เมอท า inheritance แลว Attributes และ Operations เหลานจะเปนไดทง Private หรอ Protect ซงขนอยกบภาษาทใช

ความสมพนธระหวาง Class ความสมพนธระหวาง Class จะแสดงโดยใชเสนตรงลากเชอมระหวาง Class ซงแบงไดเปน

• Associations • Generalization • Aggregation

ไดกลาวถงมาบางแลวในเรอง Abstraction (การให Conceptกบ Object จนเกดเปน Class และความสมพนธระหวาง Class)และบนเสนความสมพนธระหวาง Class อาจมการระบ Association name (ชอความสมพนธ) Role name (บทบาท) Navigation (ทศทางความสมพนธ) Multiplicity (จะกลาวถงในสวนถดไป)

Page 4: บทที่ 5 แผนภาพคลาส (Class Diagram) · OO Design and Development 32 บทที่ 5 แผนภาพคลาส (Class Diagram) Class diagram จัดเป็น

OO Design and Development 35

Association name และ Role name Association name เปนค ากรยา Role name เปนค านาม ปกต จะเลอกใช Association name หรอ Role name เพยงอยางใดอยางหนง และมกจะใช Association name เทานน Navigation หวลกศรแสดงถงทศทางของความสมพนธ เปนการแสดงถงความสามารถของ object ของ Class หนงในการเขาถง (สง Message)object ของอก Class หนงและหมายถงคอ object ของ Class ทางดานทไมมหวลกศร สามารถเขาถง object ของ Class ทางดานทมหวลกศร( แตในทางตรงกนขามไมสามารถท าได ) จากตวอยาง มหวลกศรทศทางเดยวจดเปน Unidirectional Association แตถาทงสอง objects สามารถเขาถงกนและกนได (2 ทศทาง) ไมตองมหวลกศร ซงเรยกวา Bidirectional Association ระดบความสมพนธระหวาง Class (Degree of Relationship) เปนการมองในเรองจ านวนของ Class ทมความสมพนธรวมกน ซงแบงได 3 ระดบคอ

• Unary Relationship • Binary Relationship • Ternary Relationship • Unary Relationship • ความสมพนธทเกดขนใน Class เดยว (สมพนธกบตวเอง) จะเกดในกรณท

Attribute ของ Class นน สามารถสรางความสมพนธกบอก Attribute หนงภายใน Class เดยวกน

Binary Relationship เปนความสมพนธระหวางสอง Class ซงพบเหนไดมากทสด

Page 5: บทที่ 5 แผนภาพคลาส (Class Diagram) · OO Design and Development 32 บทที่ 5 แผนภาพคลาส (Class Diagram) Class diagram จัดเป็น

OO Design and Development 36

ตวอยาง ความสมพนธระหวาง 2 Class

พนกงาน 1 คนถกก าหนดใหมทจอดรถได 1 คน หมายเหต กรณ 1 ไมระบได

Ternary Relationship

เปนความสมพนธระหวาง 3 Classes

ซงจะมการน าชอความสมพนธ แปลงใหเปน Class

จากตวอยางกอนหนา Class Part(อะไหล), Vender (ผจ าหนาย), Warehose(คลงสนคา) มความสมพนธแบบ Ship(จดสง) และเนองจากจ านวนสนคาทสงให Vender และ Warehouse นนตางกน จงน าความสมพนธ Ship มาสรางเปน Class ตวกลาง Multiplicity ในความสมพนธ (Relationship) เปนการแสดงจ านวน Object ของ Class หนง ซงมความสมพนธกบ Objects ของอก Class หนง บนเสนความสมพนธ โดยใชรปแบบ

Minumum Cardinality .. Maximum Cardinality

Page 6: บทที่ 5 แผนภาพคลาส (Class Diagram) · OO Design and Development 32 บทที่ 5 แผนภาพคลาส (Class Diagram) Class diagram จัดเป็น

OO Design and Development 37

ตวอยาง

Association Multiplicity

วธการอานคาความสมพนธ

1. อานดานทม Min เปน 1 เพอก าหนด Min..Max ของฝงตรงขาม เชน Video 1 มวน อาจไมบนทกหนง (0) หรอ บนทกได 1 เรอง 2. เปลยนไปอานฝงตรงกนขาม โดยก าหนดใหสมาชกเรมตนเปน 1 เชน หนง 1 เรองบนทกโดยใช Video ต าสด 1 มวน และสงสด 1 มวน หมายเหต ไมพจารณาทศทางของชอความสมพนธ เพราะตองอานทง 2 ดานอยแลว

Associations ความสมพนธทวไป (Associate) เปนความสมพนธทไมมการระบผลของการสบทอด และการเปนสวนหนงของ Class ทสมพนธดวย แต Class นนจะสมพนธกนในดานอนๆ และเปนความสมพนธในระดบเดยวกน (ไมม Class ใด ส าคญกวา Class ใด )

Page 7: บทที่ 5 แผนภาพคลาส (Class Diagram) · OO Design and Development 32 บทที่ 5 แผนภาพคลาส (Class Diagram) Class diagram จัดเป็น

OO Design and Development 38

ลกคาอาจมหลายใบสงซอ ใบสงซอเกดจากลกคาคนเดยว

ตวอยาง ความสมพนธ Association

ความสมพนธทศทางเดยว

แมสามารถคลอดลกได แตลกไมสามารถ

ความสมพนธแบบสองทศทาง

ชาย 1 คน จดทะเบยนสมรสกบหญงได 1 คนเทานน และ หญง 1 คน จดทะเบยนสมรสกบชายได 1 คนเทานน

Generalization(/Specialization) เปนความสมพนธแบบ Superclass และ Subclass ซงกคอ Inheritance ในแนวคดหลกเชงวตถGeneralization หาลกษณะรวมของ Class ตางๆ เพอสราง Class ทเปนตวแทนของกลม Class นน (Superclass) Specialization ก าหนดลกษณะเฉพาะเจาะจงในรายละเอยด (Subclass) Specialization เปนกระบวนการยอนกลบของ Generalization Generalization อาจเรยกวา คอประเภทของ (kind-of relationship ) ใน Class Hierachy จะแบง Class เปนล าดบชน Class ทมระดบสงกวาเรยกวา Superclass Class ทอยในระดบต ากวาเรยกวา Subclass

Page 8: บทที่ 5 แผนภาพคลาส (Class Diagram) · OO Design and Development 32 บทที่ 5 แผนภาพคลาส (Class Diagram) Class diagram จัดเป็น

OO Design and Development 39

การสบทอด (Inheritance) Subclass จะรบคณสมบต (Attributes and Methods) จาก Superclass มาไวในตวเองโดยอตโนมตและ Subclass สามารถเพมเตมคณสมบตใหม (Attributes and Methods) จาก Superclass ซงเรยกวา Extending หรอแกไขคณสมบตทรบมา ซงเรยกวา Overriding การสรางความสมพนธแบบ Generalization - เลอก Generalization จาก Diagram Toolbar - ท าการลากเสน Generalization จาก Subclass ไปยง Super class

จงสราง Class Diagram ตามตวอยางตอไปน พรอมทงอธบาย

Page 9: บทที่ 5 แผนภาพคลาส (Class Diagram) · OO Design and Development 32 บทที่ 5 แผนภาพคลาส (Class Diagram) Class diagram จัดเป็น

OO Design and Development 40

Aggregation Relationship เปนความสมพนธ Association แบบหนง (แบบพเศษ)คอ Object หนง ม Objects อนๆ เปนสวนประกอบอาจเรยกวา whole-part relationship (ทงหมด-สวนประกอบ) ซงมกจะใชค าวา consists of , contains , is part of เชน Car ม Engine และwheels เปนสวนประกอบ

ลกษณะส าคญของ Aggregation Relationship

เมอลบ Whole class ทง Class ทเปน Part Classes จะยงคงอยได โดยไมตองพงพา Whole class เชน Computer กบ Harddisk ถาComputer เสย Harddisk กไมจ าเปนตองเสยดวย ใน UML ความสมพนธจะถกตงสมมตฐานไวเปนแบบ Bidirectional (ไมมลกศร) เสมอ เวนแตวาจะมการก าหนดสญลกษณลกศรเพอจ ากดไว และถาไมระบ Multiplicity default เปน many (*) parts and one whole. จาก Class Diagram ขางตน จงอธบาย Object ของ Class .... และยกตวอยาง Aggregation Relationship มา 1 ตวอยาง Composition Relationship เปนความสมพนธแบบ Aggregation ทเขมงวด(Strong)ขนซงจะมชวงชวตรวมกน - สวนทเปน whole จะท าหนาทเปนเจาของสวนทเปน part - สวนทเปน part อาจเปนของสวนทเปน whole ไดเพยงหนงเดยว - Multiplicity ของสวนทเปน whole จะตองมคาเปน 0 หรอ 1 เทานน - ชวงชวตของสวนทเปน part จะขนอยกบสวนทเปน whole เสมอ นนคอจะเกยวของการสรางหรอ ลบสวนทเปน part เสมอ

Page 10: บทที่ 5 แผนภาพคลาส (Class Diagram) · OO Design and Development 32 บทที่ 5 แผนภาพคลาส (Class Diagram) Class diagram จัดเป็น

OO Design and Development 41

Composition Relationship ใชสญลกษณ เชน ก าหนดไวทางดาน Book เนองจาก Book จะประกอบไปดวย Chapter สญลกษณลกศรแสดงถงความสมพนธเปนแบบทางเดยว นนคอ Chapter ไมรจกสวนทเปน Book Aggregation & Composition เปนความสมพนธแบบ Transitive ถาวตถ A เปนสวนหนงของ B และ B เปนสวนหนงของ C แลว A เปนสวนหนงของ C ดวย เชน ถาทจบประตเปนสวนหนงของประต ประตเปนสวนหนงของรถยนต แลว ทจบประตเปนสวนหนงของรถยนต เปนความสมพนธแบบ Anti-symmetric วตถใดๆ อาจไมจ าเปนตองเปนสวนประกอบของตวเองทงทางตรงและทางออม เชน ถาประตเปนสวนหนงของรถยนต แตรถยนตไมจดเปนสวนหนงของประต ความสมพนธระหวาง Class Dependency เปนความสมพนธระหวาง Class แบบขนตอกน การเปลยนแปลงตางๆทเกดขนกบ Class หนงจะมผลกบอก Class หนงทขนตอกน

Page 11: บทที่ 5 แผนภาพคลาส (Class Diagram) · OO Design and Development 32 บทที่ 5 แผนภาพคลาส (Class Diagram) Class diagram จัดเป็น

OO Design and Development 42

Class Source จะขนกบ Class Target การเปลยนแปลงทเกดขนกบ Target จะกระทบกบ Source เสมอ หมายเหต Target อาจเรยกวา Class ทถกพงพง (Independent Class) Source อาจเรยกวา Class ทพงพง (Dependent Class) เสนความสมพนธจะคลายกบ Association แตเปนเสนประ ตวอยาง Dependency Relationship การเปลยนแปลงของ School จะมผลกระทบตอ Student หลกการในการสราง Class Diagram (Class Diagram Modeling Techniques) ในการจ าลอง (Model) Class และ Relationship ตางๆ ใน Class Diagram ใน OOA นน สงทตองค านงถงกคอ Class ทงหมดทตองมอยในระบบหรอใน Real World ( ตองมอยครบไมขาดหายและไมมมากจนเกนความจ าเปน) โดยยงไมตองค านง Class ตาง ๆ ทตองเพมขนเมอท างานในคอมพวเตอร อาท เชน User Interface หรอหนาจอตาง ๆ เปนตน เพอการสราง Class Diagram ทถกตองและสมบรณใน Analysis Phase เราสามารถสรปเปนหลกการเพอใชในการสราง Class Diagram ไดดงน (จาก กตต ภกดวฒนะกล, กตตพงษ กลมกลอม. UML วเคราะหและออกแบบระบบเชงวตถ)

1. ก าหนดกรอบของ Problem Domain ใหชดเจนและยดถอ Problem Domain นเปนมาตรฐานและบรรทดฐานในการวเคราะหระบบ (ขอบเขตของ Problem Domain น สามารถเปลยนแปลงไดตามชวงเวลาแตไมควรเปลยนแปลงบอยจนเกนความจ าเปน) เขยน Use Case Diagram ของ Problem Domain ทก าหนดไวแลวพจารณาวา ในแตละ Use Case จะม Objects อะไรอยบาง เมอท าเชนนจนครบทก Use Case แลวจะได Object ทมอยใน Problem Domain ทงหมด

2. พจารณาหา Objects ทสามารถจบตองได เหนได สมผสไดซงเรยกวา Tangible Objects หรอหาตวแทนของ Tangible Objects ในกรณทม Tangible Objects หลาย ๆ ตวใน Problem Domain เดยวกนใหครบทกตว

3. พจารณา Objects ทไมสามารถจบตองไดซงเรยกวา Intangible Objects หรอหาตวแทนของ Intangible Objects ในกรณทม Intangible Objects หลาย ๆ ตวใน Problem Domain เดยวกน ทมอยหรอทนาจะมอยใน Problem Domain ใหครบทกตว

Page 12: บทที่ 5 แผนภาพคลาส (Class Diagram) · OO Design and Development 32 บทที่ 5 แผนภาพคลาส (Class Diagram) Class diagram จัดเป็น

OO Design and Development 43

4. ใช Classification Abstraction เพอแยกแยะและสราง Class จาก Objects ทมอย และพยายามหา Attributes และ Functions ทมอยใน Class นน ๆ เทาทจะหา มาได วาด Class ทไดทงหมดลงใน Class Diagram

5. หา Aggregation Abstraction โดยพจารณา Class ทไดจาก Classification Abstraction วาม Class ใดหรอไมทมความสมพนธ แบบเปนสวนหนงหรอประกอบดวย (whole-part) กบ Class อน ๆ ถามพยายามหาวา Aggregation ทเกดขนนนเปนแบบ One to One หรอ Many to One และใส Cardinality ใหถกตอง

6. ใช Generalization มาพจารณา Class ตางๆ ใน Class Diagram หากเกดมความสมพนธแบบ Generalization หรอ Specialization เกดขน ใหเพมเตมลงใน Class Diagram ซงในขนตอนนอาจมการสราง Class ใหมได

7. ใช Association มาพจารณา Class ตาง ๆ ใน Class Diagram เพมเตมสญลกษณของ Association ลงใน Class Diagram และพจารณาประเภทของความสมพนธ และ Cardinality (Multiplicity) ใหถกตอง 8. พจารณา Class Diagram ทสรางมาทงหมดวา ทก Class และทกกลมของ Class มความสมพนธ (Relationship) แบบใดแบบหนงกบ Class หรอกลมของ Class อนหรอไม หากวาม Class ใด Class หนงหรอกลมหนง ยงไมม Relationship ใดกบ Class อนเลย อาจเกดเนองจาก Class นนเปน Class ทเกนความจ าเปนจรง ๆ ไมตองมในระบบกได หรออาจเกดเนองจาก ยงขาด Class อนๆ ทจ าเปนตองมและตองม Relationship กบ Class ดงกลาว สงทตองท าหากเกดกรณนขน คอเรมตนใหมตงแตขนตอนท 1 โดยพจารณาหา Objects ทนาจะขาดหายหรอเกนขนมา แลวท าตอมาจนจบหรอจนกวาจะได Class Diagram ทสมบรณ หมายเหต ขอ 4 ถง 7 สามารถท าสลบขนตอนกนได ตวอยาง จงสราง Class Diagram จาก Problem Domain ทก าหนดใหตอไปน ในคณะวทยาศาสตรของสถาบนการศกษาแหงหนงมบคลากรหลายประเภทดวยกน ไดแก อาจารย นกศกษา และเจาหนาท โดยทอาจารยแตละทานมหนาทในการสอนวชาใดวชาหนงหรอมากกวา 1 วชากได และนกศกษากมหนาทในการศกษาวชาใดวชาหนง หรอมากกวา 1 วชากไดในเวลาเดยวกนเจาหนาทของภาควชา คอเจาหนาทประจ าหองทดลองตางๆ โดยก าหนดวาใน 1 หองทดลองจะตองมเจาหนาท 1 คนเสมอ

Page 13: บทที่ 5 แผนภาพคลาส (Class Diagram) · OO Design and Development 32 บทที่ 5 แผนภาพคลาส (Class Diagram) Class diagram จัดเป็น

OO Design and Development 44

หา Use Case จาก Problem Domain use case ของระบบคอ การเรยนการสอน ประกอบดวย Actor คอ นกเรยน อาจารย การใชหองทดลอง ประกอบดวย Actor คอ นกเรยน อาจารย การดแลหองทดลอง ประกอบดวย Actor คอ เจาหนาท Actors ทมจาก use case คอ นกเรยน อาจารย เจาหนาท เขยน Use Case Diagram จาก Use Case ทได เราสามารถหา Objects/Classes ทมอยในระบบ Use case การเรยนการสอน นกเรยน อาจารย // Object/Class Actor หองเรยน วชาเรยน ชวโมงเรยน // Object/Class อนๆ Use case การใชหองทดลอง นกเรยน อาจารย // Object/Class Actor หองทดลอง // Object/Class อนๆ Use case การดแลหองทดลอง เจาหนาท // Object/Class Actor หองทดลอง // Object/Class อนๆ

Page 14: บทที่ 5 แผนภาพคลาส (Class Diagram) · OO Design and Development 32 บทที่ 5 แผนภาพคลาส (Class Diagram) Class diagram จัดเป็น

OO Design and Development 45

เขยน Class Diagram เบองตน (ไมม Attributes, Operations) จาก Scenario ไดเพม Class บาง Class ทจ าเปนไดแก คณะวทยาศาสตร เกดจาก Aggregation Abstraction (ของหองเรยน หองทดลองและบคลากร) บคลากร เกดจาก Generalization (บคลากร จ าแนกเปนเจาหนาท นกเรยนและอาจารย) จาก Class Diagram เบองตน ประกอบดวย Class ทเปน Tangible ไดแกบคลากร (จ าแนกเปนเจาหนาท นกเรยนและอาจารย) หองเรยน และหองทดลอง สวน Class ทเปน Intangible ไดแก คณะวทยาศาสตร วชาเรยน และชวโมงเรยน นอกจากนจาก Problem Domain ทก าหนดให เราจะพบวา Class Diagram จะมความสมพนธกนอนเกดจากการใช Abstraction แบบตาง ๆ และมการสราง Class เพมขนดวย เพอเพมความสมบรณใหกบ Class Diagram ไดแก Class ชวโมงเรยน เพอชวยในการโยงความสมพนธระหวางหองเรยนกบวชาเรยน การปรบเปลยน Class Diagram ใหสมบรณขน (ค าวา สมบรณขน คอท าให Class Diagram เขาใจไดงายและครบถวนขน อาจมการเพม Class หรอความสมพนธขน แตตองไมท าใหเรองราวทมเปลยนไป) โดยการเพม Class หอง ซงเปน Generalized Class หรอ Super class ของหองเรยนกบหองทดลองนนเอง เมอปรบเปลยน Class Diagram ใหสมบรณมากยงขน

Page 15: บทที่ 5 แผนภาพคลาส (Class Diagram) · OO Design and Development 32 บทที่ 5 แผนภาพคลาส (Class Diagram) Class diagram จัดเป็น

OO Design and Development 46

สามารถปรบเปลยน Class Diagram อกครง เพอใหได Class Diagram ทสมบรณขน โดยเพมเตม Attributes และ Operations ลงไป

Page 16: บทที่ 5 แผนภาพคลาส (Class Diagram) · OO Design and Development 32 บทที่ 5 แผนภาพคลาส (Class Diagram) Class diagram จัดเป็น

OO Design and Development 47

อยางไรกตาม Class Diagram ทได จะถกท า Refinement ในขนตอนของ Object-Oriented Design (OOD) เพอเพมความสมบรณ จนกระทงสามารถน ามาใชเปนตนแบบในการพฒนาระบบงานในคอมพวเตอรไดในทสด แบบฝกหด

1. จงสราง Class Diagram ของระบบลงทะเบยน Online ผาน Internet ของมหาวทยาลย 2. จงสราง Class Diagram ถาใน 1 ปประกอบดวยเดอน 12 เดอน ไดแก มกราคม กมภาพนธ -

ธนวาคม ในแตละเดอนจะประกอบไปดวย วนจ านวนหนง ซงวนทมในเดอนนน จ าแนกไดเปน วนธรรมดา (Working Days) วนหยดปลายสปดาห (Weekends) และวนหยดนกขตฤกษ (Holidays) ซงวนหยดนกขตฤกษสามารถจ าแนกไดเปน 1) วนหยดสากล เชน วนแรงงาน วนปใหม 2) วนหยดทางศาสนา เชน วนมาฆบชา 3) วนหยดทประกาศโดยรฐ เชน วนจกร