23
37 บบบบบ 5 บบบบบบบบบบ (Class Diagram ) บบบบบบบบบบ 1. เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเ 2. เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเ 3. เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเ Relationship Class diagram เเเเเเเ Structural Model (Static Model) เเเ เเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเ (Class) เเเเเเเเเเเเเเเเเเเเเเเ (Relationship) เเเเเเ เเเเเ (Attribute) เเเเเเเเเเเเเ (Operation) เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ ( เเเเเ Static ) เเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเ (Dynamic) เเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเ เเเเเเ Class Diagram Static relationship เเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเ Dynamic relationship เเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเ Class Diagram เเเเ Static relationship

pirun.ku.ac.thpirun.ku.ac.th/~faastwc/02739424/handout/chapter5.docx · Web viewเป นความส มพ นธ แบบ Transitiveถ าว ตถ A เป นส วนหน

Embed Size (px)

Citation preview

Page 1: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/02739424/handout/chapter5.docx · Web viewเป นความส มพ นธ แบบ Transitiveถ าว ตถ A เป นส วนหน

37

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

จดประสงค

1. เพอใหนสตสามารถคนหาคลาสทมอยในระบบ2. เพอใหนสตสามารถใชแผนภาพคลาสนำาเสนอคลาสทมอยในระบบ3. เพอใหนสตสามารถแสดงความสมพนธของคลาสได

RelationshipClass diagram จดเปน Structural Model (Static

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

Class DiagramStatic relationship

เจาของบญชเปนเจาของบญชเงนฝากDynamic relationship

เจาของบญชฝากเงนเขาบญชเงนฝากเจาของบญชถอนเงนจากบญชเงนฝากเจาของบญชปรบปรงยอดบญชเงนฝาก

Class Diagram เปน Static relationship องคประกอบของ Class Diagram

Classโครงสรางของ Class พฤตกรรมของ Class

ตวบงช

Page 2: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/02739424/handout/chapter5.docx · Web viewเป นความส มพ นธ แบบ Transitiveถ าว ตถ A เป นส วนหน

38

Multiplicity Navigation

ชอของ Role ความสมพนธ

AssociationGeneralization (Inheritance)AggregationCompositionDependency

Class ใน Class Diagram

UML Syntax for Class Name

ชอ Class ไมมชองวาง และขนตนดวยตวพมพใหญ เชน Bank ถามมากกวา 1 คำาตวแรกของแตละคำาเปนตวพมพใหญ เชน

BankAccount

UML Syntax for AttributesVisibility Name : Type [ = คาเรมตน ]

Visibility ประกอบดวย+ (public) , - (private), # (protected)

Name คอ ชอ Attribute ไมมชองวาง ขนตนดวยตวพมพเลก

ตวแรกของคำาถดไปเปนตวพมพใหญเชน userID Type คอ ชนดขอมล (ขนกบแตละภาษา)

Primitive Type

Page 3: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/02739424/handout/chapter5.docx · Web viewเป นความส มพ นธ แบบ Transitiveถ าว ตถ A เป นส วนหน

39

ขอมลพนฐาน เชน integer, boolean Class Type

Attribute ของ Class หนงอาจมชนดเปน Class อนได

UML Syntax for OperationsVisibility Name(Parameter List : Type) : Return

type Visibility ประกอบดวย

+ (public) , - (private), # (protected)Name คอ ชอ เหมอนกบชอของ Attribute

แตเปนคำากรยา เชน withdrawMoney

Parameter List คอ รายการตวแปรหรอ Objects ทถกสง

เขาไปใน Operation (Method) เพอ ใชดำาเนนการอยางใดอยางหนง ( อาจไมมกได )

Type , Return type คอ ชนดขอมล เหมอน Attribute

( อาจไมมกได )

Visibilityprivate ( - )

มกใชกบ Attributes มากกวา Operations เหนไดภายในเฉพาะตว class ไมสามารถเหนได จากภายนอก การเขาถงจากภายนอกจะกระทำาผาน Operation ทเตรยมไว

public ( + )มกใชกบ Operations มากกวา Attributes มองเหนและ

เขาถงไดโดยตรงจากภายนอก

Page 4: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/02739424/handout/chapter5.docx · Web viewเป นความส มพ นธ แบบ Transitiveถ าว ตถ A เป นส วนหน

40

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 (จะกลาวถงในสวนถดไป)

Association name และ Role name

Association name เปนคำากรยาRole name เปนคำานาม

Page 5: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/02739424/handout/chapter5.docx · Web viewเป นความส มพ นธ แบบ Transitiveถ าว ตถ A เป นส วนหน

41

ปกต จะเลอกใช 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 เดยวกน

Page 6: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/02739424/handout/chapter5.docx · Web viewเป นความส มพ นธ แบบ Transitiveถ าว ตถ A เป นส วนหน

42

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

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

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

Ternary Relationship

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

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

จากตวอยางกอนหนาClass Part(อะไหล), Vender (ผจำาหนาย), Warehose(คลง

สนคา) มความสมพนธแบบ Ship(จดสง) และเนองจากจำานวนสนคาทสงให Vender และ Warehouse นนตางกน จงนำาความสมพนธ Ship มาสรางเปน Class ตวกลาง

Page 7: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/02739424/handout/chapter5.docx · Web viewเป นความส มพ นธ แบบ Transitiveถ าว ตถ A เป นส วนหน

43

Multiplicity ในความสมพนธ (Relationship) เปนการแสดงจำานวน Object ของ Class หนง ซงมความสมพนธกบ Objects

ของอก Class หนง บนเสนความสมพนธโดยใชรปแบบ Minumum Cardinality .. Maximum Cardinalityตวอยาง

Association Multiplicity

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

1. อานดานทม Min เปน 1 เพอกำาหนด Min..Max ของฝงตรงขาม เชน Video 1 มวน อาจไมบนทกหนง (0) หรอ บนทกได 1 เรอง

2. เปลยนไปอานฝงตรงกนขาม โดยกำาหนดใหสมาชกเรมตนเปน 1 เชน หนง 1 เรองบนทกโดยใช Video ตำาสด 1 มวน และสงสด 1 มวน

Page 8: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/02739424/handout/chapter5.docx · Web viewเป นความส มพ นธ แบบ Transitiveถ าว ตถ A เป นส วนหน

44

หมายเหต ไมพจารณาทศทางของชอความสมพนธ เพราะตองอานทง 2 ดานอยแลว

Associations ความสมพนธทวไป (Associate) เปนความสมพนธทไมมการระบ

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

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

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

ความสมพนธทศทางเดยวแมสามารถคลอดลกได แตลกไมสามารถ

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

Page 9: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/02739424/handout/chapter5.docx · Web viewเป นความส มพ นธ แบบ Transitiveถ าว ตถ A เป นส วนหน

45

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

ในการสบทอด (Inheritance) Subclass จะรบคณสมบต (Attributes and Methods) จาก

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

การสรางความสมพนธแบบ Generalization - เลอก Generalization จาก Diagram Toolbar

Page 10: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/02739424/handout/chapter5.docx · Web viewเป นความส มพ นธ แบบ Transitiveถ าว ตถ A เป นส วนหน

46

- ทำาการลากเสน Generalization จาก Subclass ไปยง Super class

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

Aggregation Relationshipเปนความสมพนธ Association แบบหนง (แบบพเศษ)คอ

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

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

Page 11: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/02739424/handout/chapter5.docx · Web viewเป นความส มพ นธ แบบ Transitiveถ าว ตถ A เป นส วนหน

47

เมอลบ 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 12: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/02739424/handout/chapter5.docx · Web viewเป นความส มพ นธ แบบ Transitiveถ าว ตถ A เป นส วนหน

48

Composition Relationship

ใช สญลกษณ เชน

กำาหนดไวทางดาน Book เนองจาก Book จะประกอบไปดวย Chapter

สญลกษณลกศรแสดงถงความสมพนธเปนแบบทางเดยว นนคอ Chapter ไมรจกสวนทเปน Book

Aggregation & Compositionเปนความสมพนธแบบ Transitive ถาวตถ A เปนสวนหนง

ของ B และ B เปนสวนหนงของ C แลว A เปนสวนหนงของ C ดวย เชน ถาทจบประตเปนสวนหนงของประต ประตเปนสวนหนงของรถยนต แลว ทจบประตเปนสวนหนงของรถยนต เปนความสมพนธแบบ Anti-symmetric วตถใดๆ อาจไมจำาเปนตองเปนสวนประกอบของตวเองทงทางตรงและทางออม เชน ถาประตเปนสวนหนงของรถยนต แตรถยนตไมจดเปนสวนหนงของประต

ความสมพนธระหวาง ClassDependency

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

Page 13: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/02739424/handout/chapter5.docx · Web viewเป นความส มพ นธ แบบ Transitiveถ าว ตถ A เป นส วนหน

49

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 วเคราะห และออกแบบระบบเชงวตถ)

Page 14: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/02739424/handout/chapter5.docx · Web viewเป นความส มพ นธ แบบ Transitiveถ าว ตถ A เป นส วนหน

50

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 ใหครบทกตว

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 ใหถกตอง

Page 15: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/02739424/handout/chapter5.docx · Web viewเป นความส มพ นธ แบบ Transitiveถ าว ตถ A เป นส วนหน

51

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 วชากได และ

Page 16: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/02739424/handout/chapter5.docx · Web viewเป นความส มพ นธ แบบ Transitiveถ าว ตถ A เป นส วนหน

52

นกศกษากมหนาทในการศกษาวชาใดวชาหนง หรอมากกวา 1 วชากไดในเวลาเดยวกนเจาหนาทของภาควชา คอเจาหนาทประจำาหองทดลองตางๆ โดยกำาหนดวาใน 1 หองทดลองจะตองมเจาหนาท 1 คนเสมอ

หา Use Case จาก Problem Domainuse case ของระบบคอ

การเรยนการสอนประกอบดวย Actor คอ นกเรยน อาจารย

การใชหองทดลอง ประกอบดวย Actor คอ นกเรยน อาจารย

การดแลหองทดลองประกอบดวย Actor คอ เจาหนาท

Actors ทมจาก use case คอนกเรยนอาจารยเจาหนาท

เขยน Use Case Diagram

จาก Use Case ทได เราสามารถหา Objects/Classes ทมอยในระบบ

Use case การเรยนการสอนนกเรยน อาจารย // Object/Class Actor หองเรยน วชาเรยน ชวโมงเรยน // Object/Class อนๆ

Page 17: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/02739424/handout/chapter5.docx · Web viewเป นความส มพ นธ แบบ Transitiveถ าว ตถ A เป นส วนหน

53

Use case การใชหองทดลองนกเรยน อาจารย // Object/Class Actor หองทดลอง // Object/Class อนๆ Use

case การดแลหองทดลองเจาหนาท // Object/Class Actor หองทดลอง // Object/Class อนๆ

เขยน Class Diagram เบองตน (ไมม Attributes, Operations) จาก Scenario

ได เพม Class บาง Class ทจำาเปนไดแก คณะวทยาศาสตร เกดจาก Aggregation Abstraction (ของหองเรยน หองทดลองและบคลากร)บคลากร เกดจาก Generalization (บคลากร จำาแนกเปนเจาหนาท นกเรยนและอาจารย)

Page 18: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/02739424/handout/chapter5.docx · Web viewเป นความส มพ นธ แบบ Transitiveถ าว ตถ A เป นส วนหน

54

จาก 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 19: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/02739424/handout/chapter5.docx · Web viewเป นความส มพ นธ แบบ Transitiveถ าว ตถ A เป นส วนหน

55

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

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

แบบฝกหด1. จงสราง Class Diagram ของระบบลงทะเบยน Online ผาน

Internet ของมหาวทยาลย

Page 20: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/02739424/handout/chapter5.docx · Web viewเป นความส มพ นธ แบบ Transitiveถ าว ตถ A เป นส วนหน

56

2. จงสราง Class Diagram ถาใน 1 ปประกอบดวยเดอน 12 เดอน ไดแก มกราคม กมภาพนธ - ธนวาคม ในแตละเดอนจะประกอบไปดวย วนจำานวนหนง ซงวนทมในเดอนนน จำาแนกไดเปน วนธรรมดา (Working Days) วนหยดปลายสปดาห (Weekends) และวนหยดนกขตฤกษ (Holidays) ซงวนหยดนกขตฤกษสามารถจำาแนกไดเปน

1) วนหยดสากล เชน วนแรงงาน วนปใหม2) วนหยดทางศาสนา เชน วนมาฆบชา3) วนหยดทประกาศโดยรฐ เชน วนจกร