Lec03 2 Aggregation...

Preview:

Citation preview

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

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

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

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

Last Update : 28/11/2560

Lec03_2_Aggregation Abstraction

128/11/60

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

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

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

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

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

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 2

Final

• บทท 5 - 9

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 3

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

• http://www.siam2dev.com• E-mail : dr.nattapong_s@hotmail.com• Facebook : siam2dev@hotmail.com

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

Lec03_2_Aggregation Abstraction

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

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

5http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

Classification abstraction

คอการหาวาวตถ อยใหนคลาส การทจะบอกวาวตถใหนอย

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

สงนนใหได

ความคดรวบยอดกคอ Concept Concept กคอการบอกวา วตถนนมลกษณะอะไรบาง

และมฟงกชนใดบาง เรยกสงนนวาอะไร

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 6

ถา

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

– ถาไมอย

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

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 7

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

•ไมมประโยชน

•มประโยชน

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

สงทอยในโลก

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 8

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

? เครองเขยน

ดนสอ

ปากกา

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

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

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 9

นน

ราคา

ใชเขยนได

ปากกา

ดนสอ

ไวบอรด

ปากกาสแดง

เมาส

Reviews

• Objects ?

• Class ?

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 10

คน

Object / instance

class

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

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

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 11

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

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

หมอ พยาบาล ยา

ยาพารา

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

เปนสมาชก

Is member of

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 12

ยา

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

Is member of

-ชอ

-สรรพคณ

-เลขท

-วนเดอนป

+รกษาโรค

+กนได

attribute

?

Reviews

• Objects ?

• Class ?

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 13

คน

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 abstractions28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 14

คอหาคลาสๆ จากวตถตางๆ

ทอยใน Problem domain

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 15

Classification abs.

Class A

Class B

Class C

Class E

Class N

Class A1

Class A2

Class A3

Aggregate

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

Class A

Class AClass A

Class D

Class B Class C

วตถ ?

• หาคานาม• แลววาอะไรคอวตถ คอแอทรบวต• กาลงสนใจเรองอะไร ?

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 16

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 17

18

รถยนต

รถไฟ

เรอ

เครองบน

ยานพาหนะ

โดยสารได

เคลอนทได

หยดได

เลยวได

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

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

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 19

ยานพาหนะ

Is member of

เปนสมาชกของ

Classification abstractions

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

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 20

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

ยานพาหนะ

Is member of

เปนสมาชกของ

Classification abstractions

- ชอ

เคลอนทได()

class

objects

21

HP

ASUS

ACER

IBM

คอมพวเตอร

มจอภาพ

แปนพมพ

ใชพลงงานไฟฟา

คานวณได

บนทกขอมลได

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

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

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 22

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

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

• หนาปด

• สาย

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

บอกเวลา

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 23

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

• ลอ

• ไฟ

• กระจก

• เครองยนต

• พวงมาลย

• เบาะ

• ฯลฯ

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 24

รถ

ลอ

เปนสมาชกของ

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 25

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 26

ลอ

Classification Abstraction

class

objectobject

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

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

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

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 27

ลอ

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

Aggregation Abstraction

Class

ClassClass

ยางรถ แมก

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

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 28

ไฟหนา

กระโปรงรถ

ลอ ประต

กระจก

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

รปจาก : http://gobgabsocool.blogspot.com/2013/03/blog-post.html 29http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 30

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

ซาวนการด

จอภาพ(Monitor)

เมนบอรด(Mainboard)

คยบอรด(Keyboard)

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

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 32

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

Class

ObjectObject

DDR SD

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 33

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

Class

ObjectObject

DDR SD

VGA CardRAM

case

Main board

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

จงอธบาย คน ในเชงของ Aggregation Abstraction

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

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 34

• โรงพยาบาล• มหาวทยาลย• วด• รฐบาล

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 35

คน

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

Aggregation Abstraction

Class

ClassClass

หว ลาตว

ปาก ตา เสนผม ห

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 36

Keyboard

Ascii code :Message

A

buffer

มองการทางานระหวาง

แปนพมพและคอมพวเตอรเปน

แบบไคลเอน-เซรฟเวอร

37http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

A B

Client- Sever

ตวอยาง 1

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

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

38http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 39

28/11/60

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

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

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

หอง 142

หอง 143

class

object

Is member of

หอง 144

หอง 144 เปนหองพก

อาจารย ไมสามารถใช

สอนคอมพวเตอรได

หอง 133

หอง 133 เปนหองเรยน

ธรรมดาไมมคอมพวเตอร

จงไมสามารถใชสอน

คอมพวเตอรได

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

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

• Class– Button 1– Button 2– Button 3

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 41

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

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 42

Button

Button- R Button-G

Button-B

Classification Abstraction

Is member of

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 43

Form

Button

Aggregate Abstraction

Title BarControl-box

Is part of

Button- R Button-G

Button-B

Is member of

• Color attributes• Red value

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 44

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 45

-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

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 46

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

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

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

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

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

47http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

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

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 48

นกเรยน

นาย ก นาย ข

class

Object

ใช abstaction ใดอธบาย

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

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 49

คอมพวเตอร

keyboard mouse

Aggregation Abstraction

class

class

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 50

Computer

Keyboard Mouse

พมพได

ประมวลผลได

ใชไฟฟา

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

รปจาก :http://online.hcu.ac.th/joomla/index.php?view=detail&id=4&option=com_joomgallery&Itemid=5151http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

หองเรยน

• Attribute– หมายเลขหอง– โตะ– เกาอ– อาจารย– นกเรยน

• Function– เปด– ปด– สอน– เรยน– บารงรกษา

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 52

Attribute

PDT :: Primitive Data Type / ชนดขอมลพนฐาน- Integer- String- Character- Date/Time- ETC.

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

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 53

หองเรยน

• Attribute– หมายเลขหอง– โตะ– เกาอ– อาจารย– นกเรยน

• Function– เปด– ปด– สอน– เรยน– บารงรกษา

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 54

PDT

ADTADT

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 55

PDT

ADT

class person {String name;String email;int age;

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

}28/11/60

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

PersonName : 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;

}28/11/60

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

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;

}28/11/60

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

PDT

ADT

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 59

บตรนกศกษา

นกศกษา

นกศกษา

Inner classes

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 60

หองเรยน

บตรนกเรยน

Is past of

Is past of

หองเรยน

นกเรยนบตรนกเรยน

นกเรยน

University

• Attribute– Name– Address– Building– Person– Faculty

• Function

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 61

PDT

ADT

อาจารย

หองเรยน

กระดานดา

นกศกษา

เกาอโตะ

เราไมไดหมายถง ณ ตอน นจะมอาจารย หรอ นกศกษาหรอไม62http://www.siam2dev.com [ dr.

nattapong songneam]28/11/60

Sub/Child class

Mainclass

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

• นกศกษา

-รหส

-ชอ

-นามสกล

-สาขา

-คณะ

-มหาวทยาลย

-เกรด

นกศกษา

attributes

Function-ลงทะเบยนได

-เพม-ถอนได

-ตรวจสอบผลการเรยนได

นาย ก.

นาย ข.

นางสาว ค.

63http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

วชดาHonda jazz

หลวงป เณรคา

นกศกษา

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

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

attribute

function

Class name

64http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

Class student with C#.net

Modifier/visibility

65http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

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

รถยนตattributes

Function

?

?

?66http://www.siam2dev.com [ dr.

nattapong songneam]28/11/60

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

รถยนต

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

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

?

?

?67http://www.siam2dev.com [ dr.

nattapong songneam]28/11/60

รถยนต

?

?

68http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

Person

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 69

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

นกศกษา

อาจารย

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

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

มองในมมของ Decomposition

หองเรยน

มองในมมของ composition

70http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

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

• มมมองแบบ Composition• มมมองแบบ Decomposition

71http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 72

พดลม

ใบพด มอเตอร

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 73

MIS

Payroll Inventory E-Learning

componentsAttribute/class

Attribute/class

74http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

MS_OFFICE

WORD

EXCEL

PPT

ACCESS

Attribute/class

Attribute/class

75http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

components

ลอ

ตวถง

พวงมาลย

Attribute/class

Attribute/class

car

76http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

components

RUBBER

Wheel max

พวงมาลย

Attribute/class

Attribute/class

WHEEL

77http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 78

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

79http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 80

components

PDT

ADT

student

-ชอ

- บตรนกศกษา

81http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

components

- ชอ - นามสกล

PDTSTD_CARD

82http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

- หมายเลข

- รป

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

บตรนกศกษา

83http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

Add class in C#

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 84

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 85

Student Student_Card

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 86

Is part of

Data member

class membe

หองเรยน

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

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

87http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

มหาวทยาลย

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

88http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

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

คน พชสตว

?

89http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

Aggregation Abstraction

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

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

90http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

Aggregate

• Required Component• Optional Component

91

ตวอยางเชน

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

รถ

ลอแอร

ชองลม

92

คน

หวใจ

เพศ

attributes

functions

อาย

PDT

ADT

ขา

Aggregation Abs.

93

เครองบน

? นกบน

เครองบน

- ปก

- ลอ

- เครองบนเจท

- บน()

- โดยสาร()

Aggregation Abs.

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

ขนตอนการทาแอกกรเกชน ในการทาแอกกรเกชนไมไดมการกาหนดขนตอนท

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

ขนตอนคราวๆ ไดดงน

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

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

ยอย

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

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

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

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 94

ตวอยางท 4.10

• ตวอยางท 4.10 คอนโดมเนยมโดยทวไปจะประกอบไปดวย

หองพกหลายๆ หอง โดยแตละหองนนจะมสวนประกอบหลกๆ

ดงน 1. หองนอนจานวน 1 หอง 2. หองนาจานวน 1 หอง ซง

จะตองมทกหอง 3. เครองปรบอากาศซงอาจจะมหรอไมมกได

หรอบางหองอาจจะมไดมากกวา 1 เครอง โดยภายในหองนอนจะ

มเตยงนอนอยางนอย 1 หลงแตบางหองอาจจะมมากกวานกได

และมโทรทศนจานวน 1 เครอง

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 95

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

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

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

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

2) คลาสหอง

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

4) คลาสหองนา

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

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

7) โทรทศน28/11/60

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

97

คอนโดมเนยม

หองพก

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

Aggregation Abs.

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

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

98

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

ขนตอนท 3. กาหนดสวนประกอบทจาเปน(Required)

และไมจาเปน (Optional) ดงแสดงในภาพ

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

หองพก

หองนอน

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

99

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

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

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

หองพก

หองนอน

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

1..N

1..1 0..N1..1

1..N 0..1

Minimum Cardinality : Min Card

Maximum Cardinality : Max Card

100

Aggregation Abs.

ขนตอนท 5. กาหนด

รายละเอยดของคลาส

1..N

1..1 0..N1..1

1..N 0..1

คอนโดมเนยม-ชอคอนโดมเนยม

- ทตง

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

-ขนาด

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

- ขนาด BTU

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

- รน

- เปด()

- ปด()

- ปรบอณหภม()

101

Aggregation Abs.1..N

1..1 0..N1..1

1..N 0..1

คอนโดมเนยม-ชอคอนโดมเนยม

- ทตง

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

- ขนาด

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

- ขนาด BTU

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

- รน

- เปด()

- ปด()

- ปรบอณหภม()

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

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

102

1..N

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

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

คอนโดมเนยม- ชอโครงการ

- ทตง

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

- ขนาดหอง

เตยง- ขนาด

หองนา- ขนาด

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

- ขนาด

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 103

104

+ เดน()

- หวเขา

- เทา

คน

ADT

ขา

คน

-ขา

- แขน

-อาย

-เพศ

- หวใจ

PDT

Aggregation Abs.

หองเรยน

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

Is part of

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

นกศกษา

อาจารย

105http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

หองเรยน

เกาอ อาจารย

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

Is part of

กระดานดา

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

โตะ

โตะตวท 1

โตะตวท 2

นกศกษา

สมชาย

สมหญง

Is member of

Is member of

Is member ofIs member of

106http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 107

ธนาคาร

กสกร ทหารไทย

Aggregation Abstraction

ไทยพานชย

ลกคา

Classification Abstractionจนท.

สมหญง

สมชาย

วตถ(Object)

คลาส(clas) Classification Abstraction

Is Member Of

Is Part Of

รถยนต

ลอ เครองยนต

กานลอ ยางเสน

Is member of

กาน 1

108http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

กาน 2

Is member of

กาน 3

Is member of

Is Part Of

Is Part OfIs Part Of

หองเรยน

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

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

สาขาวชา

อาจารย

นกศกษา

Is part of

109http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

Is part of

Is part of

Is part of

Is part of

รถยนต

ลอ เครองยนต

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

Is member of

ลอหนา 1

ลอหนา 2

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

110http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

รถยนต

ทนง ลอ ประต

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

เปน class ยอยของอก class หนงไดเชนกน

เรอยนต

ไฟ

เครองยนต

เครองบน

111http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

Is part of

รถยนต

ประต

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

เรอยนต

ไฟ

เครองยนต

เครองบนรถไฟ

ทน ง

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

nattapong songneam]28/11/60

Is part of

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

นกศกษา

113http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

?

? ? ?

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

เปน class ยอยของอก class หนงไดเชนกน

?

?

?

Computer ?

Is part of

114http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

Computer

Monitor Case Mouse

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

CCTV

Cable

Monitor

115http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

Is part of

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 116

รถยนต เรอยนต

เครองยนต

ไฟ

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

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

Cardinality , Required Component ,Optional Component

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

118http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

Cardinality , Required Component ,Optional Component

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

119http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

Cardinality , Required Component ,Optional Component

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

นกศกษา

อาจารย

mandatorymandatory mandatory mandatory

mandatory

หองเรยน

120http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

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

รปจาก : http://www.thaisecondhand.com/product/9951092/ 121http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

รถยนต

ประต

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

0..1

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

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

Cardinality, Required Component, Optional Component

122http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

Min cardinality

Maxcardinality

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

รปจาก : http://board.postjung.com/641579.html 123http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

Cardinality , Required Component ,Optional Component

หนงสอ

สารบญ

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

1..1

บรรณานกรม

ปก คานา บท

124http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

หนงสอ

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

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

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

125http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

บทของเนอหา

หนาหนงสอ

1..n

126http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

หนาหนงสอ

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

0..n0..n

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

127http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

หนงสอ

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

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

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

หนาหนงสอ

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

0..n0..n

1..n

128http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

เลขหนา

0..1

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

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

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

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

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

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

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

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

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

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

รปภาพ- ภาพ+ ด

0..n0..n

1..n

129http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

โรงภาพยนตร

โรงภาพยนตร

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

เบาะ

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

ทวางแขน

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

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

1..2 1..1

130http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

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

131http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

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

รปจาก : http://www.techxcite.com/topic/10867.html 132http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

โทรศพทมอถอ

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

เคส

เลนส

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

ฝาปด

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

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

0..1 1..1

133http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

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

• ??

134http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

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.

135http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

Aggregation

136http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

Example of a reflexive association relationship

137http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

The Person Class : an example in VB.NET

138http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

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.

139http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

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

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

140http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

Composite

University Faculty

141http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

142http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

ASSIGNMENT 3_02

1. จงอธบายความหมายของ Aggregation Abstraction2. Cardinality คออะไร3. จงบอกความแตกตางของ Aggregate กบ Composite4. จงอธบายความแตกตางระหวางมมมองของ composition กบ

decomposition

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 143

ASSIGNMENT 3_02(ตอ)

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

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

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

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

144http://www.siam2dev.com [ dr. nattapong songneam]28/11/60

แบบฝกหด

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

นาย พยาบาลอยางนอย 1 คน แตอาจจะมากกวานได โดยจะมหอง

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

ทางอก 1 หอง และมยารกษาโรคตางๆ เปนจานวนมาก

3.2 ในหองสมดของมหาวทยาลยราชภฏพระนคร จะประกอบไปดวย

เจาหนาทดแลหองสมด อาจารย เจาหนาท ผบรหาร และนกศกษา โดย

เจาหนาทดแลหองสมดจะมจานวน 3 ทาน ผอานวยการหองสมดเปน

ผบรหารดแล 1 ทาน และมนกศกษาและอาจารย ทงมหาวทยาลยเขา

มาใชยม-คนหนงสอตางๆ ในหองสมด 28/11/60

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

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

นาย พยาบาลอยางนอย 1 คน แตอาจจะมากกวานได โดยจะมหอง

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

ทางอก 1 หอง และมยารกษาโรคตางๆ เปนจานวนมาก

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 146

ขนตอนท 1 แยกคลาส

1.1 คลาส แพทย/ เภสชกร

1.2 คลาส คลนกรกษาโรค

1.3 คลาส พยาบาล

1.4 คลาสหองรกษาโรคทวไป

1.5 คลาสหองรกษาโรคเฉพาะทาง

1.6 คลาสยา

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

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 147

คลนก

ยา

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

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

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

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 148

คลนก

ยา

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

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

ขนตอนท 3 ใส min – max card

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 149

คลนก

ยา

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

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

1..N

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

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 150

ยา

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

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

1..N

คลนก

- ชอคลนก

- ทตง

- ชอแพทย

- ความสามารถ

แพทย

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 151

28/11/60http://www.siam2dev.com [ dr.

nattapong songneam] 152