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

Post on 19-Jul-2020

4 views 0 download

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

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

โดย อ.ดร. นฐพงศ สงเนยมhttp://www.siam2dev.netDr.nattapong_s@hotmail.comsima2dev@Hotmail.com

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

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

Last Update : 18/08/2562

Lec03_2_Aggregation Abstraction

116/08/62

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

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

– ปก

• ชอระบบงาน

• ผจดท า

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

– ค าน า

– สารบญ

– บทท 1 บทน า

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

• Bussiness Rule ของระบบ

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

2

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

สงงานกลมครงท 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

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

• คลนก

• บ. Toyota

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

4

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

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

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

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

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

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

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

5

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

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

ลงทะเบยน

ช าระเงน

การตดตาม

การรบสนคา

ลงทะเบยน

ช าระเงน

การตดตาม

การรบสนคา

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

Business Rule

Business Rule

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

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

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

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

• มกสาขา

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

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

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

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

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

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

6

Kerry Express

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

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

• ประมาณ 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

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

• http://www.siam2dev.net

• E-mail : dr.nattapong_s@hotmail.com

• Facebook : siam2dev@hotmail.com

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

816/08/62

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

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

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

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

10

abstraction

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

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

• Generalization/specialization

• Association

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

11

Aggregate/Composite

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

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

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

12

Classification abstraction

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

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

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

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

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

13

ถา

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

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

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

14

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

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

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

สงทอยในโลก

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

แมว

เสอด า

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

15

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

ดนสอ

เมาส

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

เครองเขยน

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

16

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

เครองเขยน

? เครองเขยน

ดนสอ

ปากกา

ยางลบ

ไมบรรทด

เมาส

พรนเตอร

แปนพมพ

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

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

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

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

17

สนน.ราคา

ใชเขยนได

ปากกา

ดนสอ

ไวบอรด

ปากกาสแดง

เมาส

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

Reviews• Objects ?

• Class ?

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

18

คนObject / instance

class

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

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

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

19

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

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

หมอ พยาบาล ยา

ยาพารา

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

เปนสมาชก

Is member of

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

20

ยา

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

Is member of

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

attribute

?

Reviews• Objects ?

• Class ?

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

21

คนObject / instance

class

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

คนObject / instance

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

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

ขนตอน การท า 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

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

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

24

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

25

26

รถยนต

รถไฟ

เรอ

เครองบน

ยานพาหนะ

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

หยดไดเลยวได

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

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

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

27

ยานพาหนะ

Is member of

เปนสมาชกของ

Classification abstractions

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

เรอ เครองบน

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

รถยนตคลาส

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

28

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

ยานพาหนะ

Is member of

เปนสมาชกของ

Classification abstractions

- ชอ

เคลอนทได()

class

objects

29

HP

ASUS

ACER

IBM

คอมพวเตอร

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

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

บนทกขอมลได

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

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

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

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

30

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

ASUSACER aspire5321

IBM

คอมพวเตอร

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

Classification abstractions

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

31

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

ASUSACER aspire5321

IBM

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

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

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

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

Classification abstractions

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

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

32

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

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

33

คลาสนาฬกา

• หนาปด

• ถาน

• สายรด

• นอต

• ic

• เขม

• ตวเลข

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

34

Digital / Analog

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

35

Digital / Analog

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

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

• หนาปด

• สาย

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

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

36

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

• ลอ

• ไฟ

• กระจก

• เครองยนต

• พวงมาลย

• เบาะ

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

nattapong songneam]37

รถ

ลอ

เปนสมาชกของ

ผด

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

• ลอ

• ไฟ

• กระจก

• เครองยนต

• พวงมาลย

• เบาะ

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

nattapong songneam]38

รถ

กระจก

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

ผด

เครองยนต

ลอ

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

39

รถยนต

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

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

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

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

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

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

40

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

41

ลอClassification Abstraction

class

objectobject

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

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

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

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

42

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

Aggregation Abstraction

Class

ClassClass

ยางรถ แมก

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

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

43

ไฟหนา

กระโปรงรถ

ลอ ประต

กระจก

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

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

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

16/08/62

computer

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

45

case monitor keyboard mouse

computer

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

aggregation

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

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

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

46

ตนไม

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

47

ราก ล าตน กงไม

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

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

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

49

Control boxTitleBar Menu bar

ButtonTextBox

calculator

Maximize Button Minimize Button close Button

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

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

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

50

Required Component Optional Component

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

ซาวนการด

จอภาพ(Monitor)

เมนบอรด(Mainboard)

คยบอรด(Keyboard)

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

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

52

casemouse monitor

Keyboard

speaker computer

Mainboard Harddisk VGA Card

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

53

RAM

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

Class

ObjectObject

RAM1 RAM2

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 / เปนสวนหนง

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

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

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

55

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

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

• วด --- ...

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

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

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

56

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

57

โรงพยาบาล

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

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

ผด

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

58

โรงพยาบาล

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

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

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

59

โรงพยาบาล

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

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

พน

ยา

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

60

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

Aggregation Abstraction

Class

ClassClass

หว ล าตว

ปาก ตา เสนผม ห

แขน ขา

ตวอยาง 1

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

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

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

nattapong songneam]16/08/62

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

62

หองเรยน

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

กระดานด า

Required ComponentOptional Component

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

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

63

หองเรยน

เกาอ

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

กระดานด า

Required Component

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

Optional Component

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

Aggregation Abstraction

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

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

64

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

อาหาร

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

อาหาร

ขนม

Association relationship

16/08/62

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

65

หองคอม

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

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

หอง 844

หอง 845

class

object

Is member of

หอง 822

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

หอง 833

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

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

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

หองเรยน

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

66

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

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

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

67

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

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

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

คอมพวเตอร

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

Aggregation Abstraction

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

68

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

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

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

หอง 844 หอง 845

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

Classification Abstraction

Is member of

เปนสมาชกของ

Class

Object

• Class

– Button 1

– Button 2

– Button 3

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

69

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

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

70

Button

Button- R Button-G

Button-B

Classification Abstraction

Is member of

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

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

72

FORM

TitlbeBar Controlbox Button

Button-G Button-BButton-R

classification

aggregation

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

• Class

• Object

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

74

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

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

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

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

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

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

nattapong songneam]16/08/62

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

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

76

นกเรยน

นาย ก นาย ข

class

Object

ใช abstaction ใดอธบาย

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

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

77

คอมพวเตอร

keyboard mouse

Aggregation Abstraction

class

class

จงตอบค าถามตอไปนวาจะใช 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

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

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

79

อาจารย

นฐพงศ สงเนยม

Is member of

นกเรยน

ศศพร

Is member of

Instance of

สมชาย

Is member of

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

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

80

มหาวทยาลย

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

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

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

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

81

….

…. …. …. …. ….

…. ….

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

82

เครองเขยน

ปากกาสแดง

Classification abs.

ปากกาสเขยว

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

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

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

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

83

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

ปราณ

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

Classification abs.

สมศร

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

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

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

84

สมดบญช

ปก

Aggregation abs.

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

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

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

85

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

86

Computer

Keyboard Mouse

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

Monitor

case

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

87

Computer

Keyboard Mouse Monitorcase

Aggregation abs.

Is part of

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

88

Mouse

Keyboard

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

89

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

รปจาก :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

หองเรยน

• Attribute

– หมายเลขหอง

– โตะ

– เกาอ

– อาจารย

– นกเรยน

• Function

– เปด

– ปด

– สอน

– เรยน

– บ ารงรกษา

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

91

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

หองเรยน

• Attribute

– หมายเลขหอง

– โตะ

– เกาอ

– อาจารย

– นกเรยน

• Function

– เปด

– ปด

– สอน

– เรยน

– บ ารงรกษา

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

93

PDT

ADTADT

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

94

PDT

ADT

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

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

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

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

98

บตรนกศกษา

นกศกษา

นกศกษา

Inner classes

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

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

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

99

Is part of

Is part of

University

• Attribute

– Name

– Address

– Building

– Person

– Faculty

• Function

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

100

PDT

ADT

อาจารย

หองเรยน

กระดานด า

นกศกษา

เกาอโตะ

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

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

16/08/62

Sub/Child class

Mainclass

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

• นกศกษา

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

นกศกษา

attributes

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

นาย ก.

นาย ข.

นางสาว ค.

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

nattapong songneam]16/08/62

วชดาHonda jazz

หลวงป เณรค า

นกศกษา

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

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

attribute

function

Class name

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

nattapong songneam]16/08/62

Class student with C#.net

Modifier/visibility

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

nattapong songneam]16/08/62

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

รถยนตattributes

Function

?

?

?105

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

16/08/62

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

รถยนต

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

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

?

?

?106

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

16/08/62

รถยนต

?

?

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

nattapong songneam]16/08/62

รถยนต

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

?

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

nattapong songneam]16/08/62

Attributes

รถยนต

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

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

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

nattapong songneam]16/08/62

Function

Person

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

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

110

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

นกศกษา

อาจารย

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

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

มองในมมของ Decomposition

หองเรยน

มองในมมของ composition

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

nattapong songneam]16/08/62

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

• มมมองแบบ Composition

• มมมองแบบ Decomposition

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

nattapong songneam]16/08/62

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

113

พดลม

ใบพด มอเตอร

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

114

Payroll Inventory E-Learning

Decomposition

MIS

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

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

115

Payroll Inventory E-Learning

MIS

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

components

Attribute/class

Attribute/class

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

nattapong songneam]16/08/62

MS_OFFICE

WORD

EXCEL

PPT

ACCESS

Attribute/class

Attribute/class

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

nattapong songneam]16/08/62

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

118

Microsoft Office

WORD EXCEL ACCESS PPT

Workbook

WorksheetRows

Columns

Cells

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

components

ลอ

ตวถง

พวงมาลย

Attribute/class

Attribute/class

car

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

nattapong songneam]16/08/62

components

RUBBER

Wheel max

พวงมาลย

Attribute/class

Attribute/class

WHEEL

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

nattapong songneam]16/08/62

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

122

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

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

nattapong songneam]16/08/62

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

124

components

PDT

ADT

student

-ชอ

- บตรนกศกษา

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

nattapong songneam]16/08/62

components

- ชอ - นามสกล

PDT

STD_CARD

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

nattapong songneam]16/08/62

- หมายเลข

- รป

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

บตรนกศกษา

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

nattapong songneam]16/08/62

Add class in C#

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

128

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

129

Student Student_Card

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

130

Is part of

Data member

class member

หองเรยน

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

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

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

nattapong songneam]16/08/62

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

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

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

nattapong songneam]16/08/62

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

คน พชสตว

?

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

nattapong songneam]16/08/62

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

Aggregate

• Required Component

• Optional Component

135

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

รถ

ลอแอร

ชองลม

136

คน

หวใจเพศ

attributes

functions

อาย

PDT

ADT

ขา

Aggregation Abs.

137

เครองบน

ลอ ปก

เครองบน

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

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

Aggregation Abs.

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

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

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

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

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

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

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

nattapong songneam]138

ตวอยางท 4.10

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

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

139

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

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

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

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

2) คลาสหอง

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

4) คลาสหองน า

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

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

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

nattapong songneam]140

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

141

คอนโดมเนยม

หองพก

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

Aggregation Abs.

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

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

142

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

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

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

หองพก

หองนอน

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

143

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

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

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

หองพก

หองนอน

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

1..N

1..1 0..N1..1

1..N 0..1

Minimum Cardinality : Min Card

Maximum Cardinality : Max Card

144

Aggregation Abs.

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

หองพก

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

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

145

Aggregation Abs.

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

1..N

1..1 0..N1..1

1..N 0..1

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

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

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

- ขนาด BTU

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

- รน

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

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

146

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

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

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

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

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

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

147

Aggregation Abs.

1..N

1..1 0..N1..1

1..N 0..1

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

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

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

- ขนาด BTU

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

- รน

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

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

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

148

1..N

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

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

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

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

เตยง- ขนาด

หองน า- ขนาด

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

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

149

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

ผด

1..1

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

150

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

151

- screen : Screen

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

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

152

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

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

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

153

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

154

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

155

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”

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

157

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()

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

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

160

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

161

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

162

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

163

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

164

165

+ เดน()

- หวเขา- เทา

คน

ADT

ขา

คน

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

- หวใจPDT

Aggregation Abs.

หองเรยน

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

Is part of

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

นกศกษา

อาจารย

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

nattapong songneam]16/08/62

หองเรยน

เกาอ อาจารย

- การเปนสวนหนง (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

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

รถยนต

ลอ เครองยนต

กานลอ ยางเสน

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

หองเรยน

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

บางคร งอาจเกดกรณท 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

รถยนต

ลอ เครองยนต

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

Is member of

ลอหนา 1

ลอหนา 2

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

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

nattapong songneam]16/08/62

รถยนต

ทนง ลอ ประต

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

เรอยนต

ไฟ

เครองยนต

เครองบน

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

16/08/62

Is part of

รถยนต

ประต

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

เรอยนต

ไฟ

เครองยนต

เครองบน

รถไฟ

ทน ง

ลอ173

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

16/08/62

Is part of

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

นกศกษา

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

nattapong songneam]16/08/62

?

? ? ?

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

?

?

?

Computer ?

Is part of

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

nattapong songneam]16/08/62

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

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

177

รถยนต เรอยนต

เครองยนต

ไฟ

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

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

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

179

ยานพาหนะ

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

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

Cardinality , Required Component ,Optional Component

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

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

nattapong songneam]16/08/62

Cardinality , Required Component ,Optional Component

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

นกศกษา

อาจารย

mandatorymandatory mandatory mandatory

mandatory

หองเรยน

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

nattapong songneam]16/08/62

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

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

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

16/08/62

รถยนต

ประต

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

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

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

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

16/08/62

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

หนงสอ

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

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

บทของเนอหา

หนาหนงสอ

1..n

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

nattapong songneam]16/08/62

หนาหนงสอ

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

0..n0..n

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

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

nattapong songneam]16/08/62

ผดตรงไหน ?

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

หนาหนงสอ

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

0..n0..n

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

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

nattapong songneam]16/08/62

ผดตรงใหน ?

หนงสอ

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

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

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

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

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

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

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

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

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

โรงภาพยนตร

โรงภาพยนตร

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

เบาะ

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

ทวางแขน

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

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

1..2 1..1

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

nattapong songneam]16/08/62

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

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

nattapong songneam]16/08/62

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

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

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

16/08/62

โทรศพทมอถอ

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

เคส

เลนส

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

ฝาปด

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

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

0..1 1..1

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

nattapong songneam]16/08/62

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

• ??

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

nattapong songneam]16/08/62

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

Aggregation

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

nattapong songneam]16/08/62

Example of a reflexive association relationship

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

nattapong songneam]16/08/62

The Person Class : an example in VB.NET

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

nattapong songneam]16/08/62

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

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

Composite

University Faculty

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

nattapong songneam]16/08/62

Aggregate

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

205

Company Depart

Company Employee

Composite

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

nattapong songneam]16/08/62

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

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

แบบฝกหด

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

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

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

209

เฉลย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 คลาสยา

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

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

211

คลนก

ยา

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

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

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

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

212

คลนก

ยา

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

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

ขนตอนท 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

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

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

214

ยา

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

1..1 1..N 1..N 1..N

1..N

คลนก

- ชอคลนก- ทตง

- ชอแพทย- ความสามารถ

แพทย

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

215

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

216