Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง...

216
http://www.siam2dev.com [ dr. nattapong songneam] โดย อ.ดร. นัฐพงศ์ ส่งเนียม http://www.siam2dev.net [email protected] sima [email protected] สาขาวิชาวิทยาการคอมพิวเตอร์ และสาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาศาสตร์และเทคโนโลยี มหาวิทยาลัยราชภัฏพระนคร Last Update : 18/08/2562 Lec03_2_Aggregation Abstraction 1 16/08/62

Transcript of Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง...

Page 1: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

http://www.siam2dev.com [ dr. nattapong songneam]

โดย อ.ดร. นฐพงศ สงเนยมhttp://[email protected]@Hotmail.com

สาขาวชาวทยาการคอมพวเตอร และสาขาวชาเทคโนโลยสารสนเทศ

คณะวทยาศาสตรและเทคโนโลย มหาวทยาลยราชภฏพระนคร

Last Update : 18/08/2562

Lec03_2_Aggregation Abstraction

116/08/62

Page 2: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

สงงานกลมครงท 1

• Business Rule ...........เงอนไขทางธรกจ ของระบบงานทพฒนา เขยน/พมพเปนรายงาน กลม 5-10คะแนน สง วน 17 ส.ค. 2562

– ปก

• ชอระบบงาน

• ผจดท า

• สงรายวชา สาขา คณะ ม.

– ค าน า

– สารบญ

– บทท 1 บทน า

• หลกการและเหตผล

• Bussiness Rule ของระบบ

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

2

ไมนอยกวา 10-20 หนา

Page 3: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

สงงานกลมครงท 1

1. ก าหนด ชองาน

2. สมาชก

3. ความหมายของ Business Rule

4. ความเปนมา ของ บ.

5. แผนธรกจ

6. และเขยนมาเปน Business Rule ของ บ.

ของกลม ......

7. และ Function อยางนอย 10 Function

8. ไมนอยกวา 2-3 หนากระดาษ

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

3

Page 4: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

การก าหนดชอเรอง / ชอระบบงาน

• คลนก

• บ. Toyota

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

4

การวเคราะหและออกแบบระบบ .....

การวเคราะหและออกแบบระบบบรหารจดการรานสะดวกซอ

การวเคราะหและออกแบบระบบจายเงนเดอนของ บ. Toyota จ ากด

การวเคราะหและออกแบบระบบจดการสนคาคงคลง บรษท ABC Industry จ ากด

การออกแบบและพฒนาระบบจดการสนคาคงคลง บรษท ABC Industry จ ากด

การพฒนาระบบจดสงสนคา บรษท Kerry Express จ ากด

Page 5: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

5

การพฒนาระบบจดสงสนคา บรษท Kerry Express จ ากด

สนคา การขนสง ลกคา

ลงทะเบยน

ช าระเงน

การตดตาม

การรบสนคา

ลงทะเบยน

ช าระเงน

การตดตาม

การรบสนคา

การรบประกนการสง

Business Rule

Page 6: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Business Rule

• ระบบจดสงสนคา บรษท Kerry Express จ ากด

• บ. ด าเนนธรกจ อะไร ประเภทใด .................

• เรมด าเนนการตงแตเมอไหร ..................

• มจ านวนพนกงานเทาใหร มกแผนก อะไรบาง

• มกสาขา

• การจดสง ด าเนนการอยางไรตงแตรบสนคามา และ จดสงเรยบรอยถงมอลกคา ท าอยางไร

• วสยทศน พนธกจ

• การคดราคา ภายใน กทม. ตางจงหวด ตางประเทศ ?

• คดตามน าหนก คดตามจ านวนกลอง ...

• การรบประกน ...

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

6

Kerry Express

Page 7: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

สอบระหวางภาค

• ขอสอบเปนขอเขยน

• ประมาณ 5 -7 ขอใหญ

• 60 คะแนน คดเปน 20%

• เนอหาท สอบ บทท 1 , 2 , 3.1 , 3.2 , 3.3 , 3.4 , 4 , 5

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

7

วนน บทท 3.2

Page 8: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

ดร. นฐพงศ สงเนยม

• http://www.siam2dev.net

• E-mail : [email protected]

• Facebook : [email protected]

http://www.siam2dev.com [ dr. nattapong songneam]

816/08/62

Page 9: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Lec03_2_Aggregation Abstraction

• ในบททแลวไดพดถง Classification Abstraction ไปแลว ซงเปนกระบวนการสราง Class จาก Object ตางๆ ทมอยใน Problem Domain จนได Class แตยงขาดความสมพนธระหวาง Class ตาง ๆ ทเราสรางขน

• จากสภาพความเปนจรงในโลกนจะพบวายงมวตถหลาย ๆ อยางทเกดจากการรวมตวของวตถอน ๆ เชน คนเกดจากการวมกนของ วตถล าตว วตถแขน วตถขา วตถหว หรอ คอมพวเตอรเกดจากการรวมของ case , main board , monitor , drive หรอแมแตโลกเรากยงประกอบไปดวย ดน น า อากาศ และแรธาต ตาง ๆ เปนตน

9http://www.siam2dev.com [ dr. nattapong songneam]16/08/62

Page 10: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

• วตถใด ๆ ปกตจะประกอบไปดวยวตถยอย หรอสวนประกอบยอย เชน

• โทรศพทมอถอ กประกอบไปดวย หนาจอ ป ม กลอง ซม แบต

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

10

Page 11: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

abstraction

• Classification หาคลาสจากวตถ

• Aggregation คอ การพจารณาสวนประกอบยอย ของวตถ

• Generalization/specialization

• Association

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

11

Page 12: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Aggregate/Composite

• แนวคด กคอ วตถหนง สามารถมสวนประกอบเปนวตถอนเปนสวนประกอบได เรยก การเปนสวนประกอบ วา aggregate หรอcomposite

• คอ การพจารณาทวตถ หนง จะมสวนประกอบยอยอะไรบาง เรยกการท าแบบนวา Aggregation Abstraction

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

12

Page 13: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Classification abstraction

คอการหาวาวตถ อยใหนคลาส การทจะบอกวาวตถใหนอยในคลาสใหน จะตองหาหรอสรปความคดรวบยอดเกยวสงนนใหได

ความคดรวบยอดกคอ Concept

Concept กคอการบอกวา วตถนนมลกษณะอะไรบาง และมฟงกชนใดบาง เรยกสงนนวาอะไร

ซงก คอ การหา attributes และฟงกชน ของวตถหรอ คลาสนนเอง

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

13

Page 14: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

ถา

• เจอ ปากกา ดนสอ เมาส โปรเจคเตอร อยในกลมเดยวกนหรอไม– ถาไมอย

– ถาอย เรยกกวา อะไร

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

14

สงของ สงไมมชวต สนคา

•ไมมประโยชน•มประโยชน

อปกรณคอมพวเตอรเครองเขยน

สงทอยในโลก

อปกรณการเรยน

แมว

เสอด า

Page 15: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

15

อปกรณการเรยน

ดนสอ

เมาส

ปากกา โปรเจกเตอร

เครองเขยน

Page 16: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

16

อปกรณคอมพวเตอร

เครองเขยน

? เครองเขยน

ดนสอ

ปากกา

ยางลบ

ไมบรรทด

เมาส

พรนเตอร

แปนพมพ

มชอยหอราคาใชส าหรบเขยน

Page 17: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

• ถาเราเจอ สงหนง ม ส นน. ราคา และใชเขยน เรยกวาปากกา

• ถาปากกาสแดง ไวบอรด ดนสอ ก อยในกลมน

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

17

สนน.ราคา

ใชเขยนได

ปากกา

ดนสอ

ไวบอรด

ปากกาสแดง

เมาส

เมาส อยในกลม หรอไม

Page 18: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Reviews• Objects ?

• Class ?

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

18

คนObject / instance

class

Problem Domain = ขอบเขตระบบ/สงทเราสนใจ

Page 19: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

จะไดคลาสตางๆ fundamental classes

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

19

สมมมต ท า classification abs ส าหรบ รพ.

สงทจะได กคอคลาสตางๆ ของ รพ.

หมอ พยาบาล ยา

ยาพารา

*** การเขยนแผนภาพคลาส class diagram สไมเกยว

เปนสมาชก

Is member of

Page 20: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

20

ยา

ยาพาราเปนสมาชก

Is member of

-ชอ-สรรพคณ-เลขท-วนเดอนป+รกษาโรค+กนได

attribute

?

Page 21: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Reviews• Objects ?

• Class ?

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

21

คนObject / instance

class

Problem Domain = ขอบเขตระบบ/สงทเราสนใจ

คนObject / instance

class ไมระบเจาะจง

เจาะจง นายก นาย ข คอ object

Page 22: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

ขนตอน การท า Classification Abs.ขนตอนท 1 : ก ำหนด Problem Domain

ขนตอนท 2 : หำค ำนำม

ขนตอนท 3 : แยกแยะ ค ำนำม วำ object หรอ attributes ของ objects

ขนตอนท 4 : ให concept กำรใหควำมคดรวบยอด เพอใหได คลำสพนฐำนตำงๆ- วำดเปนแผนภำพเพอแสดง concept

ขนตอนท 5 : จำกนน ระบ วำวตถใด อยในคลำสใด

ขนตอนท 6 : จำกใสรำยละเอยดของคลำส attribute , function

ขนตอนท 7 : วำดแผนภำพ แสดง classification abstractions16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

22

คอหำคลำสๆ จำกวตถตำงๆ ทอยใน Problem domain

Page 23: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

23

Classification abs.

Class AClass BClass CClass E Class N

Class A1Class A2Class A3

Aggregate

จะไดคลำสตำงๆ รพ.

Class AClass AClass A

Class D

Class B Class C

Page 24: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

24

Page 25: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

25

Page 26: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

26

รถยนต

รถไฟ

เรอ

เครองบน

ยานพาหนะ

โดยสารไดเคลอนทได

หยดไดเลยวได

ใชน ามนหรอกาชเปนเชอเพลง

ความคดรวบยอด(Concept)ของยานพาหนะ

Page 27: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

27

ยานพาหนะ

Is member of

เปนสมาชกของ

Classification abstractions

รถยนต สแดง รถไฟฟาสาย...

เรอ เครองบน

รถยนต สแดง ยหอ BMW เลขทะเบยน 4ก 4754วตถ

รถยนตคลาส

Page 28: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

28

รถยนต รถไฟ เรอ เครองบน

ยานพาหนะ

Is member of

เปนสมาชกของ

Classification abstractions

- ชอ

เคลอนทได()

class

objects

Page 29: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

29

HP

ASUS

ACER

IBM

คอมพวเตอร

มจอภาพแปนพมพ

ใชพลงงานไฟฟาค านวณได

บนทกขอมลได

ความคดรวบยอดของคอมพวเตอร

***ควรบอกวตถใหเจาะจง มากกวา น เชน Acer aspire2000 สแดง ของนายด า

คอมพวเตอร HP รน aspire 5541 สแดง

Page 30: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

30

HP สด าของนางสมศร

ASUSACER aspire5321

IBM

คอมพวเตอร

เปนสมาชกของ เปนสมาชกของ เปนสมาชกของ เปนสมาชกของ

Classification abstractions

Page 31: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

31

HP สด าของนางสมศร

ASUSACER aspire5321

IBM

+ start()+ shutdown()+ process()

เปนสมาชกของ เปนสมาชกของ เปนสมาชกของ เปนสมาชกของ

- ชอ- ยหอ- รน- ราคา- ส

คอมพวเตอร- Private# Protected+ Public

Classification abstractions

Page 32: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

สวนประกอบ (Aggregate)

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

32

Page 33: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

นาฬกาขอมอ คออะไร

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

33

Page 34: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

คลาสนาฬกา

• หนาปด

• ถาน

• สายรด

• นอต

• ic

• เขม

• ตวเลข

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

34

Digital / Analog

Page 35: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

35

Digital / Analog

Page 36: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

นาฬกาขอมอ มสวนประกอบอะไรบาง ?

• ถาน/แบตเตอร

• หนาปด

• สาย

• เขมนาฬกา หรอตวเลขทบอกเวลา

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

36

Page 37: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

รถยนต มสวนประกอบอะไรบาง ?

• ลอ

• ไฟ

• กระจก

• เครองยนต

• พวงมาลย

• เบาะ

• ฯลฯ16/08/62 http://www.siam2dev.com [ dr.

nattapong songneam]37

รถ

ลอ

เปนสมาชกของ

ผด

Page 38: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

รถยนต มสวนประกอบอะไรบาง ?

• ลอ

• ไฟ

• กระจก

• เครองยนต

• พวงมาลย

• เบาะ

• ฯลฯ16/08/62 http://www.siam2dev.com [ dr.

nattapong songneam]38

รถ

กระจก

เปนสวนหนงของ

ผด

เครองยนต

ลอ

Page 39: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

39

Page 40: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

รถยนต

• ถามแค พวงมาลย อยางเดยว ไมเรยกวาเปนรถยนต

• ถามแค ลอ อยางเดยว ไมเรยกวาเปนรถยนต

• ถามแค กระจก อยางเดยว ไมเรยกวาเปนรถยนต

• ถามแค ทนง อยางเดยว ไมเรยกวาเปนรถยนต

• ดงนนรถยนต กคอสงทประกอบไปดวย ..ลอ ทนง กระจก เครองยนต พวงมาลย กระโปรง .... (เนองจากสวนประกอบของรถยนต มหลายอยาง จะใหบอกหมด ไมได เรยกวา problem domain หมายถง เราไมสามารถสนใจทกอยางของรถยนตได)

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

40

Page 41: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

41

ลอClassification Abstraction

class

objectobject

*** สามารถอธบายไดวา ไมวาจะเปนลอขางซาย และขางขวา จดวาเปนลอรถ นนเอง

ลอขางซาย ลอหนาลอขางขวา ลอหลง

Is member of/เปนสมำชกของ

Page 42: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

42

ลอIs Part Of / เปนสวนหนง

Aggregation Abstraction

Class

ClassClass

ยางรถ แมก

*** สามารถอธบายไดวา ยางรถยนต ประกอบไปดวย ยางรถ และ แมก

Page 43: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

43

ไฟหนา

กระโปรงรถ

ลอ ประต

กระจก

Page 44: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

สวนประกอบของคอมพวเตอร

รปจาก : http://gobgabsocool.blogspot.com/2013/03/blog-post.html44

http://www.siam2dev.com [ dr. nattapong songneam]

16/08/62

Page 45: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

computer

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

45

case monitor keyboard mouse

computer

น าคลาสตาง ๆ มารวมกนหรอประกอบกนขนมาท าใหได concept ใหม คอคอมพวเตอร

aggregation

Page 46: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

• สวนประกอบชนเลกๆ รวมกนท าใหเกด concept ใหม เรยกวาการท า aggregation

• สวนประกอบชนใหญขน รวมกน ท าใหเกด concept ใหม เหมอนกน กเรยกการท า aggregation

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

46

Page 47: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

ตนไม

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

47

ราก ล าตน กงไม

ใบเปลอก กานทอน าเลยง

Page 48: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

48

Control boxTitleBar

Menu bar

Button

TextBox

b0 b1

TxtResult

มขอความ Text

และ คลกได button1_click()

M_view M_edit

Page 49: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

49

Control boxTitleBar Menu bar

ButtonTextBox

calculator

Maximize Button Minimize Button close Button

Page 50: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

• Required Component คอ สวนประกอบทจ าเปน

• Optional Component คอ สวนประกอบทไมจ าเปน

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

50

Required Component Optional Component

Page 51: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

หนวยความจ า(RAM)หนวยประมวลผล(CPU)

ซาวนการด

จอภาพ(Monitor)

เมนบอรด(Mainboard)

คยบอรด(Keyboard)

คอมพวเตอร(Computer) เมาส(Mouse)

Page 52: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

52

casemouse monitor

Keyboard

speaker computer

Mainboard Harddisk VGA Card

Page 53: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

53

RAM

Is member of / เปนสมาชกของ

Class

ObjectObject

RAM1 RAM2

Page 54: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

54

Is member of / เปนสมาชกของ

Class

ObjectObject

DDR SD

VGA Card

RAM

case

Main board

Is part of / เปนสวนหนง

Page 55: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

จงอธบาย สงตอไปน ในเชงของ Aggregation Abstraction

• คน กประกอบไปดวย หว ล าตว แขน ขา ในขณะหวประกอบไปดวย ผม ตา ห จมก ปาก สมอง

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

55

• โรงพยาบาล ---...

• มหาวทยาลย --- ...

• วด --- ...

• โทรศพทมอถอ--- ...

• คลนกรกษาโรค --- ...

Page 56: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

56

Page 57: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

57

โรงพยาบาล

อาคาร คนไข หมอ พยาบาล

หองตรวจ หองผ ปวย หองน า

ผด

Page 58: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

58

โรงพยาบาล

อาคาร คนไข หมอ พยาบาล

หลงคา เสา ผนง ถกพน

Page 59: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

59

โรงพยาบาล

อาคาร คนไข หมอ พยาบาล

หลงคา เสา ผนงถก

พน

ยา

Page 60: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

60

คนIs Part Of / เปนสวนหนง

Aggregation Abstraction

Class

ClassClass

หว ล าตว

ปาก ตา เสนผม ห

แขน ขา

Page 61: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

ตวอยาง 1

“หองเรยนประกอบไปดวย กระดานด า 1 กระดาน มเกาอและโตะจ านวนหนง มนกศกษา มอาจารย”

จากขอความขางตน สามารถสรปไดวา class กระดานด า class โตะ class เกาอ class นกศกษา class อาจารย เมอน าคลาสเหลานมารวมกนจะได class ใหม นนกคอ class หองเรยน

61http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 62: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

62

หองเรยน

เกาอ โตะ นกเรยน อาจารย

กระดานด า

Required ComponentOptional Component

องคประกอบท จ าเปนองคประกอบท ไมจ าเปน

Page 63: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

63

หองเรยน

เกาอ

โตะ นกเรยน อาจารย

กระดานด า

Required Component

องคประกอบท จ าเปน

Optional Component

องคประกอบท ไมจ าเปน

Aggregation Abstraction

*** หองเรยน ทางกายภาพ(physical) ประกอบไปดวย เสา หลงคา เพดาน พน ผนง

Page 64: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

64

ประต ชนวางของ หลอดไฟ ชองฟรต

อาหาร

ขนมอาหาร ขนม นม หรอ ผก ไมใชสวนประกอบของตเยน

อาหาร

ขนม

Association relationship

Page 65: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62

http://www.siam2dev.com [ dr. nattapong songneam]

65

หองคอม

-หมายเลขหอง-อาจารย-นกศกษา-คอมพวเตอร-โตะคอมพวเตอร-แอร

-เปดได-ปดได-ใชเรยน/สอน

หอง 844

หอง 845

class

object

Is member of

หอง 822

หอง 843 เปนหองพกอาจารย ไมสามารถใชสอนคอมพวเตอรได

หอง 833

หอง 833 เปนหองเรยนธรรมดาไมมคอมพวเตอรจงไมสามารถใชสอนคอมพวเตอรได

-หมายเลขหอง-อาจารย-นกศกษา-คอมพวเตอร-โตะคอมพวเตอร-แอร

-เปดได-ปดได-ใชเรยน/สอน

Page 66: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

หองเรยน

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

66

อาจจะมองวา อาจารย ไมใชสวนหนงของหองเรยน อาจารยเปนเพยงแคผใช(association)หองเรยน

*** หองเรยน ทางกายภาพ(physical) ประกอบไปดวย เสา หลงคา เพดาน พน ผนง

Page 67: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

67

หองคอม-หมายเลขหอง-อาจารย-นกศกษา-คอมพวเตอร-โตะคอมพวเตอร-แอร

-เปดได-ปดได-ใชเรยน/สอน

โตะ เกาอ อาจารย

คอมพวเตอร

ทงโตะ อาจารย เกาอ นกเรยน คอมพวเตอร ประกอบกน ขนเปนหองคอม

Aggregation Abstraction

Page 68: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

68

หองปฏบตการคอมพวเตอร

-หมายเลขหอง-อาจารย-นกศกษา-คอมพวเตอร-โตะคอมพวเตอร-แอร

-เปดได-ปดได-ใชเรยน/สอน

หอง 844 หอง 845

ทงโตะ อาจารย เกาอ นกเรยน คอมพวเตอร ประกอบกน ขนเปนหองคอม

Classification Abstraction

Is member of

เปนสมาชกของ

Class

Object

Page 69: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

• Class

– Button 1

– Button 2

– Button 3

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

69

ทกวตถจะตองม attributes และ function เหมอนกน- Text- Color

Page 70: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

70

Button

Button- R Button-G

Button-B

Classification Abstraction

Is member of

Page 71: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

71

Form

Button

Aggregate Abstraction

Title BarControl-box

Is part of

Button- R Button-G

Button-B

Is member of

Page 72: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

72

FORM

TitlbeBar Controlbox Button

Button-G Button-BButton-R

classification

aggregation

Page 73: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

73

-Name-Text-Color FORM

FORM-1

BUTTON

-Resizable()-Enabled()-Clickable()

BUTTON-1 : Button

-Text : Button-1- Color : Red-Name : Button1

-Text : Button-2- Color : Green-Name : Button2

-Text : Button-3- Color : Blue-Name : Button3

BUTTON-1 BUTTON-3

Page 74: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

• Class

• Object

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

74

Page 75: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

หลกการ/แนวทาง

• ถาเรารวมคลาสยอยๆ เขาดวยกน ท าใหได ความคดรวบยอดใหม (concept) ได เราเรยกกระบวนการนวา Aggregation Abstraction

• หากรวมแลวไมเกด concept ใหมหรอไมได คลาสใหมทตางไปจากเดม กไมตองรวม

• นายก เปนนกเรยน (classification abstraction)

• นาย ข กเปนนกเรยน (classification abstraction)

75http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 76: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

นายก เปนนกเรยน (classification abstraction)

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

76

นกเรยน

นาย ก นาย ข

class

Object

Page 77: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

ใช abstaction ใดอธบาย

• คอมพวเตอรประกอบไปดวย mouse , keyboard ,monitor , case

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

77

คอมพวเตอร

keyboard mouse

Aggregation Abstraction

class

class

Page 78: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

จงตอบค าถามตอไปนวาจะใช abstraction ใดอธบายขอความตอไปน

1. HP เปนคอมพวเตอร classification abs

2. นฐพงศ สงเนยม เปนอาจารย และ ศศพร เปนนกเรยน classification abs

3. ปากกาสแดงเปน เครองเขยน ..............

4. รถสปอรต ของ นายภวมย ....................

5. ธนาคาร ประกอบไปดวย เจาหนาท เคานเตอร รปภ ลกคา ......

6. สมดบญช ประกอบไปดวย ปก หนา ชอบญช รายการเดนบญช ......

7. ปราณเปนพยาบาล

8. สมควร เปน รปภ.

9. มหาวทยาลย ประกอบไปดวย อาคารเรยน นกศกษา เจาหนาท อาจารย หองสมด16/08/62 http://www.siam2dev.com [ dr.

nattapong songneam]78

คอมพวเตอร

HP

Is member of

Page 79: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

• นฐพงศ สงเนยม เปนอาจารย และ ศศพร เปนนกเรยนclassification abs เพราะเปนการบอกวาวตถจดอยในคลาสใด

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

79

อาจารย

นฐพงศ สงเนยม

Is member of

นกเรยน

ศศพร

Is member of

Instance of

สมชาย

Is member of

Page 80: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

• มหาวทยาลย ประกอบไปดวย อาคารเรยน นกศกษา เจาหนาท อาจารย หองสมด Aggregation Abstraction เปนการบอกวาคลาสมคลาสยอย หรอประกอบไปดวยคลาสยอย อะไรบาง

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

80

มหาวทยาลย

อาคาร อาจารย นกศกษา เจาหนาท หองสมด

โรงยม หองพยาบาล

Page 81: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

ธนาคาร ประกอบไปดวย เจาหนาท เคานเตอร รปภ ลกคา และ ต ATM

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

81

….

…. …. …. …. ….

…. ….

Page 82: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

82

เครองเขยน

ปากกาสแดง

Classification abs.

ปากกาสเขยว

ปากกาสแดงเปน เครองเขยน

เหตผล การบอกวาวตถอยในคลาสใด กใช classification abs. อธบายดงนน ปากกาสแดง เปนสมาชกของคลาส เครองเขยน

ปากกาของ อ.ดร. นฐพงศ

Page 83: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

83

ปราณเปนพยาบาลพยาบาล

ปราณ

ปราณเปนพยาบาล

Classification abs.

สมศร

*** หมายเหต : ส ของแผนไมมความเกยวของกบแผนภาพ ปกต จะไมใสสพนหลงหรอสตวอกษร

Page 84: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

สมดบญช ประกอบไปดวย ปก หนา ชอบญชรายการเดนบญช ......

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

84

สมดบญช

ปก

Aggregation abs.

ชอบญช รายการเดนบญช

Page 85: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

• ถาเรา บอกวา สงนน พมพได เขยนโปรแกรมได เลนเนตได ใชไฟฟา ประมวลผลได เรยกวาคอมพวเตอร ... Classification abs

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

85

Page 86: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

86

Computer

Keyboard Mouse

พมพไดประมวลผลไดใชไฟฟา

Monitor

case

Page 87: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

87

Computer

Keyboard Mouse Monitorcase

Aggregation abs.

Is part of

Page 88: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

88

Mouse

Keyboard

Page 89: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

89

Page 90: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

สวนประกอบของหองเรยน

รปจาก :http://online.hcu.ac.th/joomla/index.php?view=detail&id=4&option=com_joomgallery&Itemid=5190

http://www.siam2dev.com [ dr. nattapong songneam]

16/08/62

Page 91: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

หองเรยน

• Attribute

– หมายเลขหอง

– โตะ

– เกาอ

– อาจารย

– นกเรยน

• Function

– เปด

– ปด

– สอน

– เรยน

– บ ารงรกษา

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

91

Page 92: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Attribute

PDT :: Primitive Data Type / ชนดขอมลพนฐาน

- Integer

- String

- Character

- Date/Time

- ETC.

ADT :: Abstract Data Type / คลาส / ออบเจกต / Reference type

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

92

Page 93: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

หองเรยน

• Attribute

– หมายเลขหอง

– โตะ

– เกาอ

– อาจารย

– นกเรยน

• Function

– เปด

– ปด

– สอน

– เรยน

– บ ารงรกษา

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

93

PDT

ADTADT

Page 94: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

94

PDT

ADT

Page 95: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

class person {

String name;

String email;

int age;

public String getName() { return name;}

public void setName(String n) { name = n; }

}16/08/62 http://www.siam2dev.com [ dr.

nattapong songneam]95

Person

Name : StringEmail : StringAge : int

+ setName()+ getName() : String

Page 96: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

C#

Class Student {

private string ST_ID;

private string ST_FName;

protected string ST_Lname;

private string ST_TEL;

private string ST_Major;

private string ST_Faculty;

private string Gender;

private Student_CARD ST_Card;

}16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

96

ADT

PDT

Page 97: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

C#

class Student_CARD

{

private string University;

private string Fname;

private date BOD;

private string ST_ID;

private image IMG;

private University university;

}

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

97

PDT

ADT

Page 98: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

98

บตรนกศกษา

นกศกษา

นกศกษา

Page 99: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Inner classes

• บตรนกเรยน เปนสวนหนงของ นกเรยน

• และ นกเรยนเปนสวนหนงของหองเรยน

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

99

Is part of

Is part of

Page 100: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

University

• Attribute

– Name

– Address

– Building

– Person

– Faculty

• Function

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

100

PDT

ADT

Page 101: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

อาจารย

หองเรยน

กระดานด า

นกศกษา

เกาอโตะ

เราไมไดหมายถง ณ ตอน นจะมอาจารย หรอ นกศกษาหรอไม101

http://www.siam2dev.com [ dr. nattapong songneam]

16/08/62

Sub/Child class

Mainclass

Page 102: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

จงให concept กบวตถตอไปน

• นกศกษา

-รหส-ชอ-นามสกล-สาขา-คณะ-มหาวทยาลย-เกรด

นกศกษา

attributes

Function-ลงทะเบยนได-เพม-ถอนได-ตรวจสอบผลการเรยนได

นาย ก.

นาย ข.

นางสาว ค.

102http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

วชดาHonda jazz

หลวงป เณรค า

Page 103: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

นกศกษา

- รหสนกศกษา- ชอ# นามสกล

+ ลงทะเบยนเรยนได + เพม-ถอนได + ตรวจสอบผลการเรยน

attribute

function

Class name

103http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 104: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Class student with C#.net

Modifier/visibility

104http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 105: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

จงให Concept ของรถยนต

รถยนตattributes

Function

?

?

?105

http://www.siam2dev.com [ dr. nattapong songneam]

16/08/62

Page 106: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

จงให Concept ของรถยนต

รถยนต

Attributes-มลอ-พวงมาลย-เบาะ-เกยร-เครองยนต-ปายทะเบยน

Function+ สตารทเครอง+ หยด+ วง+ เลยว+ ถอยหลง

?

?

?106

http://www.siam2dev.com [ dr. nattapong songneam]

16/08/62

Page 107: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

รถยนต

?

?

107http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 108: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

รถยนต

-ลอ-พวงมาลย-เบาะ-เกยร-เครองยนต-ปายทะเบยน

?

108http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Attributes

Page 109: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

รถยนต

-ลอ-พวงมาลย-เบาะ-เกยร-เครองยนต-ปายทะเบยน

+ สตารทเครอง()+ หยด()+ วง()+ เลยว()+ ถอยหลง()

109http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Function

Page 110: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Person

• จากรปนถาไมมแขน ไมขา เปน คนหรอไม

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

110

Page 111: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

กระดานด า โตะ เกาอ

นกศกษา

อาจารย

ถามองในทางกลบกนจะไดวาClass หองเรยนประกอบไปดวย

Class กระดานด าClass โตะClass เกาอClass นกศกษาClass อาจารย

มองในมมของ Decomposition

หองเรยน

มองในมมของ composition

111http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 112: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

การรวมเปนคลาสอาจมองในลกษณะ component กได

• มมมองแบบ Composition

• มมมองแบบ Decomposition

112http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 113: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

113

พดลม

ใบพด มอเตอร

Page 114: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

114

Payroll Inventory E-Learning

Decomposition

MIS

ถามองในเชง decomposition จากรปนจะอานวาอยางไร

Page 115: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

115

Payroll Inventory E-Learning

MIS

Composition ระบบเงนเดอน รวมกบ ระบบคลงสนคา และระบบอเลรนนง กลายเปนระบบ MIS

Page 116: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

components

Attribute/class

Attribute/class

116http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 117: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

MS_OFFICE

WORD

EXCEL

PPT

ACCESS

Attribute/class

Attribute/class

117http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 118: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

118

Microsoft Office

WORD EXCEL ACCESS PPT

Workbook

WorksheetRows

Columns

Cells

Page 119: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

119

Microsoft Office

WORD EXCEL ACCESS PPT

Workbook

WorksheetRows

Columns

Cells

FORMQueryTables Report Macro Module

Page 120: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

components

ลอ

ตวถง

พวงมาลย

Attribute/class

Attribute/class

car

120http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 121: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

components

RUBBER

Wheel max

พวงมาลย

Attribute/class

Attribute/class

WHEEL

121http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 122: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

122

Page 123: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

ตวอยางของ Component ใน C#.net

123http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 124: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

124

Page 125: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

components

PDT

ADT

student

-ชอ

- บตรนกศกษา

125http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 126: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

components

- ชอ - นามสกล

PDT

STD_CARD

126http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

- หมายเลข

- รป

- วน/เดอน/ปเกด

Page 127: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

บตรนกศกษา

127http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 128: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Add class in C#

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

128

Page 129: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

129

Student Student_Card

Page 130: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

130

Is part of

Data member

class member

Page 131: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

หองเรยน

หองปฏบตการคอมพวเตอร

หองเรยนธรรมดา

131http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 132: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

บคลากรมหาวทยาลย

เจาหนาทอาจารยนกศกษา

132http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 133: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

สงมชวต ส งไมมชวต

คน พชสตว

?

133http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 134: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Aggregation Abstraction

• คอ การ พยายามตอบค าถามทวา ม class ใดเปนสวนประกอบ (Is part of) ของ class อนหรอไม และทส าคญ “การประกอบกนของ class ตองท าใหเกด class ใหม ซ งม concept ใหมดวย”

• ในทาง object orientation นน การแสดงสญลกษณเพอแสดง Aggregation Abstraction ของ class นน ท าไดโดยการโยงลกศรเปนสเหลยมขนมเปยกปน จาก class ยอยหรอ class ทเปนสวนประกอบ (Composite class) ไปยง Class หลก (Main Class) ดงแสดงในรป

134http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 135: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Aggregate

• Required Component

• Optional Component

135

ตวอยางเชนรถจ าเปนตองมลอ

รถ

ลอแอร

ชองลม

Page 136: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

136

คน

หวใจเพศ

attributes

functions

อาย

PDT

ADT

ขา

Aggregation Abs.

Page 137: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

137

เครองบน

ลอ ปก

เครองบน

- ปก- ลอ- เครองบนเจท

- บน()- โดยสำร()

Aggregation Abs.

Page 138: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

ขนตอนการท าแอกกรเกชน

ขนตอนการท าแอกกรเกชน ในการท าแอกกรเกชนไมไดมการก าหนดขนตอนทแนนอนไวอยางชดเจนแตจากประสบการณของผเขยนสามารถสรปออกมาเปนขนตอนคราวๆ ไดดงน

ขนตอนท 1. หาค านาม หรอคลาส

ขนตอนท 2. ระบสวนประกอบยอยโดยวาดเปนแผนภาพเพอแสดงสวนประกอบยอย

ขนตอนท 3. ก าหนดสวนประกอบทจ าเปน และไมจ าเปน

ขนตอนท 4. ก าหนดคารดนลลต

ขนตอนท 5. ก าหนดรายละเอยดของคลาส16/08/62 http://www.siam2dev.com [ dr.

nattapong songneam]138

Page 139: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

ตวอยางท 4.10

• ตวอยำงท 4.10 คอนโดมเนยมโดยทวไปจะประกอบไปดวยหองพกหลายๆ หอง โดยแตละหองนนจะมสวนประกอบหลกๆ ดงน 1. หองนอนจ านวน 1 หอง 2. หองน าจ านวน 1 หอง ซงจะตองมทกหอง 3. เครองปรบอากาศซงอาจจะมหรอไมมกไดหรอบางหองอาจจะมไดมากกวา 1 เครอง โดยภายในหองนอนจะมเตยงนอนอยางนอย 1 หลงแตบางหองอาจจะมมากกวานกได และมโทรทศนจ านวน 1 เครอง

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

139

Page 140: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

ขนตอนท 1. หาค านาม หรอคลาส

ขนตอนท 1 หาค านาม หรอคลาส โดยใชคลาสสฟเคชนแอบแทรคชน

จากขอความขางตน จะระบคลาสตางๆ ไดดงน

1) คลาสคอนโดมเนยม

2) คลาสหอง

3) คลาสหองนอน

4) คลาสหองน า

5) คลาสเครองปรบอากาศ

6) คลาสเตยงนอน

7) คลาสโทรทศน16/08/62 http://www.siam2dev.com [ dr.

nattapong songneam]140

Fundamental classesกลมคลาสทไดจาก classification abs.

Page 141: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

141

คอนโดมเนยม

หองพก

หองน า เครองปรบอากาศหองนอน

Aggregation Abs.

ขนตอนท 2. ระบสวนประกอบยอยโดยวาดเปนแผนภาพแสดงสวนประกอบ ดงแสดงในภาพ

เตยงนอน โทรทศน

Page 142: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

142

คอนโดมเนยม Aggregation Abs.

ขนตอนท 3. ก าหนดสวนประกอบทจ าเปน(Required) และไมจ าเปน (Optional) ดงแสดงในภาพ

หองน า เครองปรบอากาศ

หองพก

หองนอน

เตยงนอน โทรทศนเฟอรนเจอร

Page 143: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

143

คอนโดมเนยม Aggregation Abs.

ขนตอนท 4. ก าหนดคารดนลลต ดงแสดงในภาพ

หองน า เครองปรบอากาศ

หองพก

หองนอน

เตยงนอน โทรทศน

1..N

1..1 0..N1..1

1..N 0..1

Minimum Cardinality : Min Card

Maximum Cardinality : Max Card

Page 144: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

144

Aggregation Abs.

คอนโดมเนยม-ชอคอนโดมเนยม- ทตง

หองพก

หองนอน หองน า เครองปรบอากาศ

เตยงนอน โทรทศน

Page 145: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

145

Aggregation Abs.

ขนตอนท 5. ก าหนดรายละเอยดของคลาส

1..N

1..1 0..N1..1

1..N 0..1

คอนโดมเนยม-ชอคอนโดมเนยม- ทตง

หองพก-หมายเลขหอง-ขนาด

หองนอน หองน า เครองปรบอากาศ- ขนาด - ขนาด - ยหอ

- ขนาด BTU

เตยงนอน โทรทศน- ขนาด - ยหอ

- รน

+ เปด()+ ปด()+ ปรบอณหภม()

Page 146: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

146

คอนโดมเนยม-ชอคอนโดมเนยม- ทตง

+ เชา()+ ขาย()

คอนโดมเนยม-ชอคอนโดมเนยม- ทตง

+ เชา()+ ขาย()+ เชคราคา() : floating-Point

หองพก- หมายเลขหอง- เจาของ- หองนอน- หองน า- เครองปรบอากาศ

+ เชา()+ ขาย()+ เชคราคา() : floating-Point+ โอน()+ เขาพก()

Page 147: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

147

Aggregation Abs.

1..N

1..1 0..N1..1

1..N 0..1

คอนโดมเนยม-ชอคอนโดมเนยม- ทตง

หองพก- หมายเลขหอง- ขนาด

หองนอน หองน า เครองปรบอากาศ- ขนาด - ขนาด - ยหอ

- ขนาด BTU

เตยงนอน โทรทศน- ขนาด - ยหอ

- รน

- เปด()- ปด()- ปรบอณหภม()

- เปด()- นอน()

- อำบน ำได()- นอน()

Page 148: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

148

1..N

1..2 1..N 1..N

Aggregation Abs.ขนตอนท 5. ก าหนดรายละเอยดของคลาสคอนโดมเนยม

- ชอโครงการ- ทตง

หองพก- หมายเลขหอง- ขนาดหอง

เตยง- ขนาด

หองน า- ขนาด

เครองปรบอากาศ- ยหอ- ขนาด

Page 149: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

149

ใหเขยน attribute, function, cardinality ใหครบ

ผด

1..1

Page 150: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

150

Page 151: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

151

- screen : Screen

Page 152: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

คน สามารถมองเหน จอภาพของโทรศพท จากมมมอง outside view

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

152

เลอน / slide จอภาพได

พมพภาพทางแปนพมพ keyboard

Page 153: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

153

Page 154: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

154

Page 155: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

155

Page 156: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

156

โทรศพทมอถอ

- brandName : String = “iPhone”

- model : String = “iPhoneXS”

- price : Floating-Point = 35000.25- color : String = “RED”

Page 157: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

157

Page 158: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Function/Behavior/Method/Sub/Procedure/Operation

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

158

โทรศพทมอถอ

- brandName : String = “iPhone”

- model : String = “iPhoneXS”

- price : Floating-Point = 35000.25- color : String = “RED”

+ Call()

+ Receive()

+ sendSMS()+ Line()

Page 159: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Function/Behavior/Method/Sub/Procedure/Operation

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

159

โทรศพทมอถอ

- brandName : String = “iPhone”

- model : String = “iPhoneXS”

- price : Floating-Point = 35000.25- color : String = “RED”

+ Call(phoneNumber : String)

+ Receive() : String

+ sendSMS()+ Line() Return

void

Page 160: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

160

Page 161: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

161

Page 162: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

162

Page 163: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

163

Page 164: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

164

Page 165: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

165

+ เดน()

- หวเขา- เทา

คน

ADT

ขา

คน

-ขา- แขน-อาย-เพศ

- หวใจPDT

Aggregation Abs.

Page 166: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

หองเรยน

การเปนสวนหนง (Is part of)สามารถเขยนแทนดวย สญลกษณ

Is part of

กระดานด า โตะ เกาอ

นกศกษา

อาจารย

166http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 167: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

หองเรยน

เกาอ อาจารย

- การเปนสวนหนง (Is part of)- การเปนสมาชกของ (Is member of)

Is part of

กระดานด า

กระดานด าหนาหอง

โตะ

โตะตวท 1

โตะตวท 2

นกศกษา

สมชาย

สมหญง

Is member of

Is member of

Is member ofIs member of

167http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 168: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

168

ธนาคาร

กสกร ทหารไทย

Aggregation Abstraction

ไทยพานชย

ลกคา

Classification Abstraction

จนท.

สมหญง

สมชาย

วตถ(Object)

คลาส(clas) Classification Abstraction

Is Member Of

Is Part Of

Page 169: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

รถยนต

ลอ เครองยนต

กานลอ ยางเสน

Is member of

กาน 1

169http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

กาน 2

Is member of

กาน 3

Is member of

Is Part Of

Is Part OfIs Part Of

Page 170: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

หองเรยน

กระดานด า โตะ เกาอ

บางคร งอาจเกดกรณท class หนงสามารถเปน class ยอยของ class หนงไดพรอมท งยงเปน class ยอยของอก class หนงไดเชนกน

สาขาวชา

อาจารย

นกศกษา

Is part of

170http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Is part of

Is part of

Is part of

Is part of

Page 171: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

รถยนต

ลอ เครองยนต

ลอหนาลอขางหลง

Is member of

ลอหนา 1

ลอหนา 2

บางคร งอาจเกดกรณท class หนงสามารถเปน class ยอยของ class หนงไดพรอมท งยงเปน class ยอยของอก class หนงไดเชนกน

171http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 172: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

รถยนต

ทนง ลอ ประต

บางครงอาจเกดกรณท class หนงสามารถเปน class ยอยของ class หนงไดพรอมทงยงเปน class ยอยของอก class หนงไดเชนกน

เรอยนต

ไฟ

เครองยนต

เครองบน

172http://www.siam2dev.com [ dr. nattapong songneam]

16/08/62

Is part of

Page 173: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

รถยนต

ประต

บางคร งอาจเกดกรณท class หนงสามารถเปน class ยอยของ class หนงไดพรอมท งยงเปน class ยอยของอก class หนงไดเชนกน

เรอยนต

ไฟ

เครองยนต

เครองบน

รถไฟ

ทน ง

ลอ173

http://www.siam2dev.com [ dr. nattapong songneam]

16/08/62

Is part of

Page 174: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

มหาวทยาลย บรษท พนกงาน

นกศกษา

174http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 175: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

?

? ? ?

บางครงอาจเกดกรณท class หนงสามารถเปน class ยอยของ class หนงไดพรอมทงยงเปน class ยอยของอก class หนงไดเชนกน

?

?

?

Computer ?

Is part of

175http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 176: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Computer

Monitor Case Mouse

บางคร งอาจเกดกรณท class หนงสามารถเปน class ยอยของ class หนงไดพรอมท งยงเปน class ยอยของอก class หนงไดเชนกน

CCTV

Cable

Monitor

176http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Is part of

Page 177: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

177

Page 178: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

รถยนต เรอยนต

เครองยนต

ไฟ

กระจกลอ ทนง ประต

เครองบนIs part of Is part of

Page 179: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

179

ยานพาหนะ

ลอ เครองยนต ทนง

Page 180: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Cardinality ,

Required Component ,Optional Component

ส าหรบ Aggregation Abstraction การประกอบกนของ class หรอความสมพนธเชง is part of นนอาจจะเกดกรณท class หลก (main class) ประกอบไปดวย class ยอย (Composite class ) ชนดทหรอ เพยงชนเดยว แตประกอบดวย class ชนดทสอง จ านวน 4 ชนขนไป และอาจจะประกอบไปดวยชนดทสาม ไมจ ากดจ านวน หรออาจไมมเลยกได ซงสงทใชในการแสดงความสมพนธ ดงกลาวนเรยกวาCardinality

180http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 181: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Cardinality , Required Component ,Optional Component

ในทาง OO เราเรยก Class ยอย วา Component นนเองโดยเราเรยกสวนประกอบทจ าเปนตองมวา Require Componentเชน รถยนตตองมเครองยนต ถาไมมเครองยนต รถยนตก ไมสามารถวงได นนเอง เราเรยกสวนประกอบทไมจ าเปนตองมวา Optional Component เชน เครองปรบอากาศในรถยนตไมจ าเปนตองมกได หมายถงไมมเครองปรบอากาศรถยนตกยงสามารถวงได รถยนตไมจ าเปนตองมกลองมองขางหลงดงนนจงเปน Optional Component

181http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 182: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Cardinality , Required Component ,Optional Component

กระดานด า โตะ เกาอ

นกศกษา

อาจารย

mandatorymandatory mandatory mandatory

mandatory

หองเรยน

182http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 183: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

สวนประกอบของรถยนต

รปจาก : http://www.thaisecondhand.com/product/9951092/183

http://www.siam2dev.com [ dr. nattapong songneam]

16/08/62

Page 184: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

รถยนต

ประต

1..2 1..1 2..4 4..4

0..1

เครองปรบอากาศ

ลอเครองยนตกระโปรงรถ

Cardinality, Required Component, Optional Component

184http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Min cardinality

Maxcardinality

Page 185: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

สวนประกอบของหนงสอ

รปจาก : http://board.postjung.com/641579.html185

http://www.siam2dev.com [ dr. nattapong songneam]

16/08/62

Page 186: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Cardinality , Required Component ,Optional Component

หนงสอ

สารบญ

2..2 1..1 1..1 1..N

1..1

บรรณานกรม

ปก ค าน า บท

186http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 187: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

หนงสอ

ปก ค าน า สารบญ บทของเนอหา บรรณานกรม

2..2 1..1 1..n 1..11..2

ต.ย. การเขยน cardinality ของ class หนงสอ

187http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Minimum cardinality

Maximum cardinality

Page 188: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

บทของเนอหา

หนาหนงสอ

1..n

188http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 189: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

หนาหนงสอ

ตวหนงสอ รปภาพ

0..n0..n

ต.ย. การเขยน cardinality ของ class หนาหนงสอ

189http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

ผดตรงไหน ?

จากรปนถกตองหรอไม

Page 190: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

หนาหนงสอ

ตวหนงสอ รปภาพ

0..n0..n

ต.ย. การเขยน cardinality ของ class หนาหนงสอ

190http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

ผดตรงใหน ?

Page 191: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

หนงสอ

ปก ค าน า สารบญ บทของเนอหา บรรณานกรม

2..2 1..1 1..n 1..11..1

ต.ย. การเขยน cardinality ของ class หนงสอ

หนาหนงสอ

ตวหนงสอ รปภาพ

0..n0..n

1..n

191http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

เลขหนา

0..1

ตาราง

0..n

Page 192: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

หนงสอ- รหสหนงสอ+ ชอหนงสอ+ อาน+ พมพ

ปกหนงสอ- ประเภทของปก+ พลก

ค าน า- เนอความ- ชอผแตง+ อาน

สารบญ- เนอความ+ อาน

บทของเนอหา- เนอหาแตละบท+ อาน

บรรณานกรม- เนอความ+ อาน

2..2 1..n 1..n 1..11..1

ต.ย. การเขยน cardinality ของ class หนงสอ

หนาหนงสอ- เนอหาแตละหนา- พลก- อาน

ตวหนงสอ- อกขระ+ สะกด

รปภาพ- ภาพ+ ด

0..n0..n

1..n

192http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 193: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

โรงภาพยนตร

โรงภาพยนตร

เครองฉายภาพยนตร

เบาะ

Problem Domain : โรงภาพยนตร

ทวางแขน

จอภาพยนตร ทนง ประต

1..1 1..1 * 1..*

1..2 1..1

193http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 194: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

จงใหรายละเอยดของ โรงภาพยนตร

194http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 195: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

สวนประกอบของโทรศพทมอถอ

รปจาก : http://www.techxcite.com/topic/10867.html195

http://www.siam2dev.com [ dr. nattapong songneam]

16/08/62

Page 196: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

โทรศพทมอถอ

มอถอสมารทโฟน

เคส

เลนส

Problem Domain : โทรศพทมอถอ

ฝาปด

หนาจอ ป มกด กลองถายรป

1..1 1..1 1..* 1..2

0..1 1..1

196http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 197: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

จงใหรายละเอยดของ โทรศพทมอถอ

• ??

197http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 198: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Aggregation

A unfilled diamond shows aggregation.

This relationship indicates that one is

PART of the other.

An Employee is PART of a division.

But a division can stand on its own

without Employees.

198http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 199: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Aggregation

199http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 200: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Example of a reflexive association relationship

200http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 201: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

The Person Class : an example in VB.NET

201http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 202: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Composite

A filled diamond shows Composite Aggregation. This relationship indicates that one is PART of the other.

An OrderDetail is PART of an order.

But an Order CANNOT stand on its own without Order Details.

202http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 203: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Composite

• An Engine is PART of a car.

• But a Car CANNOT stand on its own without engine.

Car Engine

Car

- Engine

+ Start()

+ Stop()

Engine

-gas

+ Start()

+ Stop()

ท าใหชดขนโดยการใสรายละเอยดลงไป

203http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 204: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Composite

University Faculty

204http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 205: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

Aggregate

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

205

Company Depart

Company Employee

Composite

Page 206: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

206http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 207: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

ASSIGNMENT 3_02

1. จงอธบายความหมายของ Aggregation Abstraction

2. Cardinality คออะไร

3. จงบอกความแตกตางของ Aggregate กบ Composite

4. จงอธบายความแตกตางระหวางมมมองของ composition กบ decomposition

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

207

Page 208: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

ASSIGNMENT 3_02(ตอ)

5. จงเขยนแผนภาพทแสดง Aggregation Abstraction ของ Computer PC

6. จงเขยนแผนภาพทแสดง Aggregation Abstraction ของ โทรศพทมอถอ (Mobile)

7. จงเขยนแผนภาพทแสดง Aggregation Abstraction ของ สมดธนาคาร (Bank Account)

8. จงเขยนแผนภาพทแสดง Aggregation Abstraction ของ

208http://www.siam2dev.com [ dr.

nattapong songneam]16/08/62

Page 209: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

แบบฝกหด

3.1 คลนกรกษาโรคทวไปแหงหนงจะประกอบไปดวยแพทยประจ า 1 นาย พยาบาลอยางนอย 1 คน แตอาจจะมากกวานได โดยจะมหองส าหรบตรวจรกษาโรคทวไป 1 หอง และหองส าหรบรกษาโรคเฉพาะทางอก 1 หอง และมยารกษาโรคตางๆ เปนจ านวนมาก

3.2 ในหองสมดของมหาวทยาลยราชภฏพระนคร จะประกอบไปดวยเจาหนาทดแลหองสมด อาจารย เจาหนาท ผบรหาร และนกศกษา โดยเจาหนาทดแลหองสมดจะมจ านวน 3 ทาน ผอ านวยการหองสมดเปนผบรหารดแล 1 ทาน และมนกศกษาและอาจารย ทงมหาวทยาลยเขามาใชยม-คนหนงสอตางๆ ในหองสมด

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

209

Page 210: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

เฉลย3.1 คลนกรกษาโรคทวไปแหงหนงจะประกอบไปดวยแพทยประจ า 1 นาย พยาบาลอยางนอย 1 คน แตอาจจะมากกวานได โดยจะมหองส าหรบตรวจรกษาโรคทวไป 1 หอง และหองส าหรบรกษาโรคเฉพาะทางอก 1 หอง และมยารกษาโรคตางๆ เปนจ านวนมาก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

210

ขนตอนท 1 แยกคลาส1.1 คลาส แพทย/ เภสชกร1.2 คลาส คลนกรกษาโรค1.3 คลาส พยาบาล1.4 คลาสหองรกษาโรคทวไป1.5 คลาสหองรกษาโรคเฉพาะทาง1.6 คลาสยา

Page 211: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

ขนตอนท 2 วาดแผนภาพ

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

211

คลนก

ยา

พยาบาล หองรกษาโรคทวไป หองรกษาโรคเฉพาะทางแพทย

หองรกษาโรคทวไป หองรกษาโรคเฉพาะทาง

Page 212: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

ขนตอนท 2 วาดแผนภาพ

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

212

คลนก

ยา

พยาบาล หองตรวจโรค หองรกษาโรคเฉพาะทางแพทย

หองรกษาโรคทวไป หองรกษาโรคเฉพาะทาง

Page 213: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

ขนตอนท 3 ใส min – max card

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

213

คลนก

ยา

พยาบาล หองรกษาโรคทวไป หองรกษาโรคเฉพาะทางแพทย

1..1 1..N 1..N 1..N

1..N

Page 214: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

ขนตอนท 5 ใส รายละเอยดของคลาส

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

214

ยา

พยาบาล หองรกษาโรคทวไป หองรกษาโรคเฉพาะทาง

1..1 1..N 1..N 1..N

1..N

คลนก

- ชอคลนก- ทตง

- ชอแพทย- ความสามารถ

แพทย

Page 215: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

215

Page 216: Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง งานกลม คร ง ท 1 1. กาหนด ชอ งาน 2. สมาชก

16/08/62 http://www.siam2dev.com [ dr. nattapong songneam]

216