เล่ม - Bank of Thailand · 2016. 8. 26. · เล่ม ๑๓๓ ตอนพิเศษ ๑๘๙ ง ราชกิจจานุเบกษา ๒๕ สิงหาคม
Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง...
Transcript of Lec03 2 Aggregation Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_2_Aggregation...สง...
http://www.siam2dev.com [ dr. nattapong songneam]
โดย อ.ดร. นฐพงศ สงเนยมhttp://[email protected]@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 : [email protected]
• Facebook : [email protected]
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