last update : 24/03/2561 lec01...3/ooad 2560 • เร มเร ยนเวลา ..... เป...
TRANSCRIPT
![Page 1: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/1.jpg)
Lec01Overview of Object-Oriented Technology
Basic Concepts of Object-Orientation Object-Oriented Software Development
ByDr. Nattapong Songneamhttp://www.siam2dev.com
[email protected]@hotmail.com
OOAD : Object-Oriented Analysis and Design
1
Last Update : 24/03/2561
![Page 2: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/2.jpg)
ขอตกลงในการเรยน วชา OOAD 3/2560
• เรมเรยนเวลา ..... เปนตนไป
• คะแนนจตพสย 20 คะแนน
– ขาดหก 2 คะแนน
– ลา / มาสาย หก 1 คะแนน
• เนอหา www.siam2dev.net หนา E-Learning
• Midterm 20%
• Final 30%
• Project 30% หองละ 3 กลม OOAD : Object-Oriented Analysis and
Design
![Page 3: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/3.jpg)
Project1. แบงกลม
2. กาหนด บ. / องคกร / หนวยงานวางแผน กาหนดหนาทในกลม กาหนดความรบผดชอบ ใหสมมตเปนฝาย
IT เปน In house
3. เขยน/วางแผนธรกจ Business Rule
4. วเคราะหความตองการ Requirement Specifications >> ขอกาหนดของความตอง
Use Case Diagram
Class Diagram
Activity Diagram
5. ออกแบบOOAD : Object-Oriented Analysis and
Design
UML
บทท 5
![Page 4: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/4.jpg)
OOAD : Object-Oriented Analysis and Design
ACar care service System
BHotel Reservation System
CCinema complex
กลม A จะไมไดทาการวเคราะหของ บ.
ตวเอง
กลม B จะเปนโรงแรม
กลม C จะเปนโรงภาพยนต
ถา กลม A ไปหาขอมลจากกลม B แลวถากลม B ไมใหความรวมมอ กใหเขยนลงในรายงาน
![Page 5: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/5.jpg)
บ. Angel White
1. ดาเนนธรกจอะไร
2. แผนธรกจแผนระยะสน 1-3 ..........................
แผนระยะยาว 1-5 .................
3. ขอมลเบองตน ของ บ. เชน ทตง ประธาน บ. ....ตดตอ ฯลฯ
4. การบรหารองคกร เชน มกแผนก ม พนกงานจานวน ... ฯลฯ
5. บ. น ตองพฒนาระบบอะไร ?
OOAD : Object-Oriented Analysis and Design
บ. นตองใหพฒนาระบบซอขาย ออนไลน ทา E-Commerceบ. น ไประบความตองการมา
4- 5 หนากระดาษ
พรอมสมาชกในกลม ใครรบผดชอบทาอะไร
สง พฤหสบด ท 16 พ.ย. 60
![Page 6: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/6.jpg)
สง Business Rule หรอ แผนธรกจ ของ บ. กลม
• สงในหองเรยน
• ในวน พฤ ท 16 พ.ย. 2560
• ประกอบไปดวย
– ชอ บ. กลม
– แผนธรกจ
– สมาชกในกลม
– นาเสนอ ดวย PPT
OOAD : Object-Oriented Analysis and Design
![Page 7: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/7.jpg)
Reviews
• Algorithm• Software Development
OOAD : Object-Oriented Analysis and Design
![Page 8: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/8.jpg)
การพฒนาซอฟตแวร
• การเขยนโปรแกรมแบบดงเดม / แบบโครงสราง
– Traditional Software Development– Structural Software Development
• การเขยนโปรแกรมแบบเชงวตถ / การพฒนาระบบเชงวตถ
– OOAD , OOSE , OOA , OOD , OOP , OO Testing
OOAD : Object-Oriented Analysis and Design
Traditional OOStructural ProgrammingBasic , c , pascal ,PSEUDOCODE , FLOWCHARTDFD , ERD , NF
![Page 9: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/9.jpg)
ขอแตกตาง ระหวางการพฒนาโปรแกรม กบ การ
พฒนาระบบ
• พฒนาโปรแกรมกมขนเดยว ..เขยนโปรแกรม ...
• การพฒนาระบบ ...ครบวงจร มากกวา
OOAD : Object-Oriented Analysis and Design
HW SW
เชน กรณท บ. เพงเปดใหม
ตองการใหคณพฒนาระบบ
- Hardware………
-software
Prcoess
![Page 10: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/10.jpg)
2 วชาทเกยวกบการวเคราะหและออกแบบระบบ
• SA : System Analysis and Design• OOAD : Object - Oriented Analysis and Design
OOAD : Object-Oriented Analysis and Design
DFD : Data Flow Diagram
![Page 11: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/11.jpg)
OOAD : Object-Oriented Analysis and Design
DFD : Data Flow Diagram
ระบบ การซอขายสนคา ของรานสะดวกซอ 7-11
Context diagram ของระบบ การซอขายสนคา ของรานสะดวกซอ 7-11
ลกคา
0
ก. Entityข. Boundaryค. External Source
ชอ นามสกล ทอย เบอรโทร...
…..?
บตรสมาชก / ขอมลสมาชก
![Page 12: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/12.jpg)
ฝาย IT
OOAD : Object-Oriented Analysis and Design
TeamProgram
mer
Team IT support
Team …
Team SA
Team Design
Team Programmer
Team Database
![Page 13: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/13.jpg)
Traditional Software Development
• Structural Programming Language– C,Pascal– Basic
OOAD : Object-Oriented Analysis and Design
Text Mode/Dos >> Sequential >> Algorithms
Algorithms คออะไร ?
1. คอ : ขนตอนวธ กระบวนการแกปญหาททอธบายมาเปนขนตอนทชดเจน 2. ยก ต.ย. ได
3. สรป ได
BACKGROUND
SETUP
![Page 14: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/14.jpg)
มองวาเปนปญหา แลวหาวธแกไขปญหา
• 2 + 4 + 6 + ... 100
OOAD : Object-Oriented Analysis and Design
Problem
• 8 5 4 9 5 2 1 10
Max ?
Min ?
Algorithm ขนตอนวธ
![Page 15: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/15.jpg)
มองวาเปนปญหา แลวหาวธแกไขปญหา
• 2 + 4 + 6 + ... 100
OOAD : Object-Oriented Analysis and Design
Problem
• มพนกงาน 100 ใหแสดงเงนเดอน
มากทสด ไปยง นอยทสด
Max ?
Min ?
Algorithm ขนตอนวธSorting
![Page 16: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/16.jpg)
2 + 4 + 6 + ... 100
• นาเสนอโดย โดยใชเครอง
– PSEUDOCODE– FLOWCHART
OOAD : Object-Oriented Analysis and Design
• จะตองอธบายใหคนอนๆ ในทมเขาใจ เพอไปพฒนาตอ
• เหมอนตอนทเราสรางบาน จาเปนตองมแปลน หรอ
ออกแบบ
![Page 17: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/17.jpg)
OOAD : Object-Oriented Analysis and Design
Start Start
Enter 5 Enter X
![Page 18: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/18.jpg)
PSEUDOCODE
1. START2. … ENTER / READ / INPUT Number3. STOP / FINISH / END
OOAD : Object-Oriented Analysis and Design
1. เรมตน
2. อานคา ตวเลข 10 จานวนเขามา
3. สนสด
![Page 19: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/19.jpg)
1 + 3 + 5 + 7 + 9 …999
• MAX• MIN• AVG
OOAD : Object-Oriented Analysis and Design
8 7 6 8 1 4 9 2 4 25
![Page 20: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/20.jpg)
Windows Application
• OOP
• Event-Driven Programming
• Visual Programming
OOAD : Object-Oriented Analysis and Design
VBDelphiJavaVC#
IDEIntegrate Development Environment
Tools Language
![Page 21: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/21.jpg)
Event Driven Programming
• การเขยนโปรแกรมตามเหตการณ
OOAD : Object-Oriented Analysis and Design
Button9_click()
Button8_click()
![Page 22: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/22.jpg)
OOAD : Object-Oriented Analysis and Design
Traditional/Structure OO
•Algorithm•Flowchart•DFD•ER•Normalization
•Unified Process•UML
• use case diagram• class/object diagram• Activity diagram• Sequence diagram• Collaboration diagram• deployment diagram• component diagramInformation/Database System
Requirement Specification
![Page 23: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/23.jpg)
จงเขยนโปรแกรมเรยงลาดบตวเลข 13 ตว
• 8 9 7 4 5 1 8 5 3 4 1 2 6
• จงเรยงจากนอยไปมาก
• จากมากไปนอย
OOAD : Object-Oriented Analysis and Design
จงเขยนอลกอรทม
• Pseudocode• FlowChart
![Page 24: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/24.jpg)
Data / Information
• 8000 , 7999 , 25000 ,7444, 97700, 55000 44400 1000 , 2000 ,
OOAD : Object-Oriented Analysis and Design
สรปรายงานแสดงเงนเดอนของพนกงาน
ลาดบ ชอ-นามสกล เงนเดอน โอท
1 นายญาณภทร 200 0
2 นางสาววรดา 20000000 150
![Page 25: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/25.jpg)
ประเภทระบบสารสนเทศ
• TPS : Transaction Processing System• MIS : Management Information System• EIS : Executive Information System• DSS : Decision Support System• ES : Expert System
OOAD : Object-Oriented Analysis and Design
![Page 26: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/26.jpg)
OOAD : Object-Oriented Analysis and Design
![Page 27: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/27.jpg)
OOAD : Object-Oriented Analysis and Design
![Page 28: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/28.jpg)
OOAD : Object-Oriented Analysis and Design
![Page 29: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/29.jpg)
จงเขยน PSEUDOCODE
1. START2. ENTER Radius3. COMPUTE CircleArea 3.14*Radius*Radius4. Display CircleArea5. STOP อรนช
6. ไมม
OOAD : Object-Oriented Analysis and Design
![Page 30: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/30.jpg)
OOAD : Object-Oriented Analysis and Design
![Page 31: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/31.jpg)
OOAD : Object-Oriented Analysis and Design
![Page 32: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/32.jpg)
Pseudocode TH/EN
1. START1. READ / ENTER >> Initial Stage
2. ประกาศตวแปร กาหนดคาเบองตน
3. PROCESS ..การคานวณ การทางานเปนโปรแกรมยอย1. ฟงกชน Function
2. โพรซเยอร Procedure
2. แสดงผล Display , Show , Output
3. STOP
OOAD : Object-Oriented Analysis and Design
Module / MethodA = pow(2,3)
printf(“hello world”);
writeln(“hello world”);
![Page 33: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/33.jpg)
Structural Programming
• C , Pascal• Basic >> none Structural Programming / none
Procedural Programming– GOTO 28– GOTO 52 – GOTO 14
OOAD : Object-Oriented Analysis and Design
Sequence / ลาดบ
Selection / Decision ตดสนใจ ทางเลอก
Iteration / Repeat / Loop การทาซ า
DO , While , For
![Page 34: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/34.jpg)
• Algorithm + Syntax
OOAD : Object-Oriented Analysis and Design
X := 5 ; , pascal , delphiX = 5; … java , cX = 5 ….vb
![Page 35: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/35.jpg)
Pseudocode TH/EN
1. START1. READ / ENTER >> Initial Stage
2. ประกาศตวแปร กาหนดคาเบองตน
3. PROCESS ..การคานวณ การทางานเปนโปรแกรมยอย1. ฟงกชน Function
2. โพรซเยอร Procedure
2. แสดงผล Display , Show , Output
3. STOP
OOAD : Object-Oriented Analysis and Design
Module / MethodA = pow(2,3)
printf(“hello world”);
writeln(“hello world”);
• Sequence• Selection• Repeat• Modular
INPUT
PROCESS
OUTPUT
![Page 36: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/36.jpg)
จงเขยน Algorithm ของการหาอายเฉลยของ นศ. ในหองน
1. ………………..2. ………………..
OOAD : Object-Oriented Analysis and Design
![Page 37: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/37.jpg)
OOAD : Object-Oriented Analysis and Design
• Sequence• Selection• Repeat• Modular
Start
Stop
Start READ dataENTER dataINPUT data
รบจากแปนพมพ
ยาว
กวาง
![Page 38: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/38.jpg)
การรบคา
• กรณาปอนความกวาง ............
• กรณาปอนความสง …………….
OOAD : Object-Oriented Analysis and Design
READ Width
กรณาปอนความ
กวาง ..........
Start
*** ภาษาไทย ไมควรปะปนภาษาองกฤษ
![Page 39: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/39.jpg)
จงหาคาเฉลยของ อาย นกศกษาในหองน
• การวเคราะหปญหา
1. สงทโจทยตองการ
2. รปแบบผลลพธ
3. ขอมลนาเขา
4. ตวแปรทใช
5. วธการประมวลผล --- Psuedocode
OOAD : Object-Oriented Analysis and Design p. 39
Var• N แทน จานวน นศ.
• age [10] • age[N]• Sum• Average
![Page 40: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/40.jpg)
จงหาคาเกรดเฉลยของ นกศกษาในหองน
• การวเคราะหปญหา
– สงทโจทยตองการ
– รปแบบผลลพธ
– ขอมลนาเขา
– ตวแปรทใช
– วธการประมวลผล --- Psuedocode
OOAD : Object-Oriented Analysis and Design
Algorithm
ขนตอนวธ ?
หมายถง แนวทางแบบดงเดม ไมสามารถนากลบมาใชใหมได
เนองจาก การพฒนาระบบแบบนใชไดเฉพาะงาน และไมไดคานงถงการนากลบมาใชใหม
เนองจาก ระบบงานสมยกอนไมได ใหญ และมความวบซอนมากนน
OO
![Page 41: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/41.jpg)
Reusable การนากลบมาใช
• ต.ย. การพฒนาระบบบญช ดวยภาษาปาสคาล สาหรบ บ. A
• ซอฟตแวรน จะใชไดสาหรบ บ. นเทานน หรอ ใชไดเฉพาะงานนเทานน
• การนากลบมาใชใหม ไมไดหมายถง COPY & PATSE
OOAD : Object-Oriented Analysis and Design
![Page 42: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/42.jpg)
ต.ย.
โปรแกรม สามารถคานวณท ได
OOAD : Object-Oriented Analysis and Design
โปรแกรม สามารถคานวณท ได สเหลยม
อกรปแบบหนง
โปรแกรม สามารถคานวณท ได สามเหลยม อกรปแบบหนง
![Page 43: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/43.jpg)
การออกแบบ ใหด
• ไมอยางนน ตวทจะมาตอยอด จะไมสามารถตอจากของเดม
OOAD : Object-Oriented Analysis and Design
![Page 44: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/44.jpg)
จงเขยนโปรแกรมเรยงลาดบตวเลข 13 ตว
8 9 7 4 5 1 8 5 3 4 1 2 6
จงเรยงจากนอยไปมาก
จากมากไปนอย
OOAD : Object-Oriented Analysis and Design
จงเขยนอลกอรทม
Max
8 9
N – 1 รอบ
N – 1 รอบ
![Page 45: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/45.jpg)
SORTING
• Selection sort
• Bubble sort
• Merge sort
• Shell sort
• Quick sort
• ฯลฯ
OOAD : Object-Oriented Analysis and Design
![Page 46: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/46.jpg)
ภาษาคอมพวเตอร/ไมใชภาษาคอมพวเตอร
OOAD : Object-Oriented Analysis and Design
ภาษาคอมพวเตอร ไมใช ภาษาคอมพวเตอร
variablesIf /select/switch/ Loop for do whileFunction/sub/procedure/method
Compiler/Interpreter
•Pascal•Vb•Delphi•Java•PHP•Etc.
•HTML•ASP
+ java script+ vb / vc#
สครป /แทก
เทคโนโลยฝงเซรฟเวอร
![Page 47: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/47.jpg)
ตวอยาง : จงแกปญหา จงหา พ.ท. สเหลยมใด
1. กวาง*ยาว2. จบ
OOAD : Object-Oriented Analysis and Design
1. ด*ด2. จบ
Algorithm ?
Algorithm ? มลาดบ
ขนตอนทชดเจน
![Page 48: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/48.jpg)
ขนตอนการพฒนาโปรแกรม
OOAD : Object-Oriented Analysis and Design
สงทโจทยตองการ Algorithm
PL:
Programming
Language
TestingMaintenance
SDLC : software development life cycle
![Page 49: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/49.jpg)
OOAD : Object-Oriented Analysis and Design
1. กวาง*ยาว2. จบ
1. เรมตน2. กาหนดคา w0 , h0,RecArea 03. อานคา ความกวาง เกบในตวแปร w, ความยาว
เกบไวใน h4. คานวณ RecArea W*H5. แสดงผลลพธ RecArea6. สนสดW*H
INPUT
PROCESS
OUTPUT
*** การเขยน ออกแบบอลกอรทม ตองทาหลายๆ รอบ
SET w 0
ไมควรเขยนแบบพรรณนา มากเกนไป ควรเขยนสนๆ กะทดรด ไดใจความ 1 งาน
อาน ความกวาง เขามา
![Page 50: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/50.jpg)
PSEUDOCODE
• SET X 5;• SET X 5
OOAD : Object-Oriented Analysis and Design
X := 5;pascal
X= 5;C/java
การกาหนดคา
Assign value
Operator= :=
X= 5VB
![Page 51: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/51.jpg)
C
int x;x = 10;
OOAD : Object-Oriented Analysis and Design
![Page 52: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/52.jpg)
public class calRecArea {public static void main(String args[]) {int width=0;int height=0;int result =0;result =width*height;System.out.println( result);}
} OOAD : Object-Oriented Analysis and
Design
ไฟล calRecArea.java
Case-sensitive
![Page 53: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/53.jpg)
vb
Class CalRecAreaPrivate sub calRecArea() …..End sub
End class
OOAD : Object-Oriented Analysis and Design
โปรแกรมยอย ไมมการคนคา
![Page 54: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/54.jpg)
Private function ซอขาว(money as int16)ซอขาว
....
....
.....
return ขาว
End function
OOAD : Object-Oriented Analysis and Design
Statement ประโยคคาสง
![Page 55: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/55.jpg)
หาคาเลขยกกาลง
function pow(x as int16,y as int16) as double………return x
end function
OOAD : Object-Oriented Analysis and Design
vb
![Page 56: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/56.jpg)
จงเขยน/สรางฟงกชน ดวย
• Java• C• Pascal• Basic• VB• VC#
OOAD : Object-Oriented Analysis and Design
![Page 57: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/57.jpg)
OOAD : Object-Oriented Analysis and Design
• Case-sensitive– java , c ,VC#, c++,c#,php,perl
• None-case sensitive– Vb, delphi ,pascal
int x;int X;
![Page 58: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/58.jpg)
• Byte == byte 0..128 • Short int16 -32768 -- 32767• Integer int32 21…….• Long int64 4…
OOAD : Object-Oriented Analysis and Design
![Page 59: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/59.jpg)
Feedback
OOAD : Object-Oriented Analysis and Design
INPUT PROCESS OUTPUT
![Page 60: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/60.jpg)
power
• 2^5• Math.pow(2,5)
OOAD : Object-Oriented Analysis and Design
Procedure/sub/voidFunction
![Page 61: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/61.jpg)
สรปคาศพท
• Case sensitive , None case-sensitive• Programming Language• Divide and Conquer• Algorithm• Structural Programming• Traditional Programming
OOAD : Object-Oriented Analysis and Design
![Page 62: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/62.jpg)
จงเขยน Algorithm ของ
• 1 + 2 + 3 +…. 100–Do–While–For
OOAD : Object-Oriented Analysis and Design
เลอกใชอยางใดอยางหนง
นาเสนอ Pseudocode และ Flowchart
![Page 63: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/63.jpg)
1 100
• Algorithm : ขนตอนวธ / การแกปญหาอยางเปนขนตอน1. เรมตน2. ทาตงแต 1 ...1003. เอาแตละคาบวกกน4. แสดงผลลพธ5. สนสด
OOAD : Object-Oriented Analysis and Design
*** คาคงตว รแนนอน
ไมรบคา
ควรเลอก for ,while,do
ครงท 1
![Page 64: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/64.jpg)
ปรบปรงครงท 1
1. เรมตน2. ทาตงแต 1 ...1003. เอาแตละคาบวกกน4. แสดงผลลพธ5. สนสด
OOAD : Object-Oriented Analysis and Design
1. START/BEGIN2. …. {Initialization}3. DECLARE result4. STOP/FINISH/END
กาหนดคา / ประกาศตวแปร
![Page 65: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/65.jpg)
ปรบปรงครงท 1
1. เรมตน2. ทาตงแต 1 ...1003. เอาแตละคาบวกกน4. แสดงผลลพธ5. สนสด
OOAD : Object-Oriented Analysis and Design
1. START/BEGIN2. …. {Initialization}3. SET I 04. STOP/FINISH/END
กาหนดคา / ประกาศตวแปร
SET X 8SET X X + 8
X = 5X = 5;X :=5;
vb
C,java
Pascal/delphi
Assign value
![Page 66: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/66.jpg)
• SET SUM SUM + 5• SET Y 8• Total Total*25
OOAD : Object-Oriented Analysis and Design
กาหนดคาใหกบตวแปร Assign value
![Page 67: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/67.jpg)
ปรบปรงครงท 2
1. เรมตน2. ทาตงแต 1 ...1003. เอาแตละคาบวกกน4. แสดงผลลพธ5. สนสด
OOAD : Object-Oriented Analysis and Design
1. START/BEGIN2. …. {Initialization}3. SET I 04. FOR I 1 TO 100
4.1 BEGINCOMPUTE RESULT RESULT + I
4.2 END5. STOP/FINISH/END
กาหนดคา / ประกาศตวแปร
![Page 68: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/68.jpg)
ปรบปรงครงท 3
1. เรมตน2. ทาตงแต 1 ...1003. เอาแตละคาบวกกน4. แสดงผลลพธ5. สนสด
OOAD : Object-Oriented Analysis and Design
1. START/BEGIN2. …. {Initialization}3. SET I 04. SET result 05. FOR I 1 TO 100
4.1 BEGINCOMPUTE result result + I
4.2 END6. STOP/FINISH/END
กาหนดคา / ประกาศตวแปร
![Page 69: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/69.jpg)
ปรบปรงครงท 3
1. เรมตน2. ทาตงแต 1 ...1003. เอาแตละคาบวกกน4. แสดงผลลพธ5. สนสด
OOAD : Object-Oriented Analysis and Design
1. START/BEGIN2. …. {Initialization}3. SET I 04. SET total 05. FOR I 1 TO 100
4.1 BEGINCOMPUTE total total + I
4.2 END6. STOP/FINISH/END
กาหนดคา / ประกาศตวแปร
ResultSumTotal
![Page 70: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/70.jpg)
ปรบปรงครงท 3
1. เรมตน2. ทาตงแต 1 ...1003. เอาแตละคาบวกกน4. แสดงผลลพธ5. สนสด
OOAD : Object-Oriented Analysis and Design
1. START/BEGIN2. …. {Initialization}3. SET I 04. SET total 05. FOR I 1 TO 100
4.1 BEGINCOMPUTE total total + ISET I I + 1
4.2 ENDDISPLAY total
6. STOP/FINISH/END
กาหนดคา / ประกาศตวแปร
ResultSumTotal
DISPLAYSHOWPRINTOUTPUT
![Page 71: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/71.jpg)
FLOWCHART
OOAD : Object-Oriented Analysis and Design
START
STOP
SET I 0SET total 0
FOR I1 TO 100COMPUTE total total + I
DISPLAY total
![Page 72: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/72.jpg)
FLOWCHARTDO
OOAD : Object-Oriented Analysis and Design
START
STOP
SET I 1SET total 0
DISPLAY total
COMPUTE Total total + I
I >100
I I +1
FALSE
TRUE
![Page 73: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/73.jpg)
connector
OOAD : Object-Oriented Analysis and Design
Same page Previous page
A
A
Next page
![Page 74: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/74.jpg)
Summations
OOAD : Object-Oriented Analysis and Design
วตถ Object- attribute- function
วตถ Object- attributes- functions
![Page 75: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/75.jpg)
TxtResult
• Form• Button• TextBox
OOAD : Object-Oriented Analysis and Design
![Page 76: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/76.jpg)
OOAD : Object-Oriented Analysis and Design
![Page 77: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/77.jpg)
OOAD : Object-Oriented Analysis and Design
![Page 78: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/78.jpg)
OOAD : Object-Oriented Analysis and Design
![Page 79: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/79.jpg)
OOAD : Object-Oriented Analysis and Design
![Page 80: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/80.jpg)
OOAD : Object-Oriented Analysis and Design
![Page 81: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/81.jpg)
Event Driven Programming
• การเขยนโปรแกรมแบบอางองเหตการณ
OOAD : Object-Oriented Analysis and Design
KeyupKeydownkeypress
![Page 82: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/82.jpg)
OOAD : Object-Oriented Analysis and Design
![Page 83: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/83.jpg)
2 + 4 + 6 + 8 …100
OOAD : Object-Oriented Analysis and Design
![Page 84: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/84.jpg)
5 + 10 + 15 + 20 + … 200
OOAD : Object-Oriented Analysis and Design
![Page 85: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/85.jpg)
Buttons
• Attribute– Name– Font– ForeColor– Text– BackColor– size
OOAD : Object-Oriented Analysis and Design
![Page 86: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/86.jpg)
OOAD : Object-Oriented Analysis and Design
1. เรมตน
2. กาหนดคา w0 , h0,RecArea 03. อานคา ความกวาง เกบในตวแปร w, ความยาว
เกบไวใน h4. คานวณ ReacAreaW*H5. แสดงผลลพธ RecArea6. สนสด
INPUT
PROCESS
OUTPUT
Initialization stageเตรยมตวแปร ประกาศตวแปร
INPUT/READ/ENTER
![Page 87: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/87.jpg)
PSEUDOCODE : รหสเทยม/รหสจาลอง
• START / BEGIN• SET X 0• READ / ENTER / INPUT•• STOP /FINISH / END
OOAD : Object-Oriented Analysis and Design
• VB• PASCAL• C• JAVA• DELPHI
คอ เครองหมาย กาหนดคา assign valueVb/C#/Java= ในภาษา
X = 5 X=5;
ใน AlgorithmSET X 5
Pascal/Delphi:= ในภาษา
X := 5;
![Page 88: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/88.jpg)
Requirement / Information Gathering
• Functional Requirements• Non-functional Requirements
OOAD : Object-Oriented Analysis and Design
![Page 89: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/89.jpg)
Lec 01
Overview of Object-Oriented Technology Basic Concepts of Object-Orientation Object-Oriented Software Development
By
Nattapong Songneam , Ph.D.(IT)
http://[email protected]@hotmail.com
OOAD : Object-Oriented Analysis and Design
1
![Page 90: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/90.jpg)
Lecture Outline
OOAD : Object-Oriented Analysis and Design
2
Software, Systems and Software Systems
Software Crisis
Traditional Software Development
Object-Oriented Software Development
Principle of Object Orientation
Key Benefits of Object-Oriented Software Development
What do we learn in this course?
2
![Page 91: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/91.jpg)
What is software?อะไรคอซอฟตแวร (What is software)ซอฟตแวรชดคาส ง (Instructions) ทส งใหคอมพวเตอรประมวลผลโดยสามารถกระทางานตามทระบไวใหสาเรจ และมประสทธภาพทตองการได (computer programs)
โครงสรางขอมล (Data structures) ทาหนาทเกบสารสนเทศทใช หรอถกเรยกใชโดยโปรแกรม
เอกสาร (Documents) ทบรรยายวธปฏบตการ และวธการใชงานโปรแกรม
OOAD : Object-Oriented Analysis and Design
3
![Page 92: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/92.jpg)
Microsoft Word
• เปด เครอง
– Boot – อปกรณตอพวง ..... Mouse, keyboard ..monitor– Ready ..window start up– Activate ……….– Double Click ท icon ms-word load ขอมลของเวรด อย
ใน HD เขาสแรม เพราะ HD ทางานชากวา CPU ทางานระดบ
ไมโครวนาท(ในวชา OS) เขาส RAM ทางานชากวา CPU นาโน
(10-9 )s แต GHz. จงตอง แคช ....รจสเตอร ...
OOAD : Object-Oriented Analysis and Design
![Page 93: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/93.jpg)
Microsoft
• Queue จดการคว
OOAD : Object-Oriented Analysis and Design
P1 P2 P3 P4
Process
![Page 94: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/94.jpg)
ในอดมคต
OOAD : Object-Oriented Analysis and Design
บญช 12
ประเภท HRM INVENTORY
WAREHOURSELOGISTIC
WINDOWS/OS
INTERNET
DRIVER DSS
ES
สแกน
ลายนวมอ
Presentation
Virus
Scan Virus
จงอธบาย ? 1 หนากระดาษ จากรป
![Page 95: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/95.jpg)
โจทย
• คอมพวเตอรใจภาษาอะไร ?• ทาไมคอมพวเตอรเขาใจแคภาษาเครอง
• หรอภาษาเครองคออะไร
• ภาษา C คอมพวเตอรเขาใจหรอไม ?
OOAD : Object-Oriented Analysis and Design
10101110 = 8 Bit = 1 Byte = 1 ตว Ascii Code
0000 0000…1111 1111
256 แบบ
44 ตว
26 ตว
0-9
F1-F12
1000 ตว
26 ตว
0-9
F1-F12
![Page 96: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/96.jpg)
ระดบของภาษาคอมพวเตอร
1. ภาษาเครอง2. ภาษาสญลกษณ / Assembly3. ภาษาชนสง (High Level Language)
1. Pascal ,Basic,GWBasic,Qbasic, C , C++ ฯลฯ
4. ภาษาชนสงมาก (Very High Level Language)5. ภาษาธรรมชาต
OOAD : Object-Oriented Analysis and Design
ภาษาเชงวตถ
ภาษาแบบวชวล
Assembler01010010
Mov AX,BXADD BX,2SUB DX,2
Program CalCircleVar R : integer;Beginwrite(“Enter R: ”);End.
compiler
compiler interpreter
SQL: Structure Query Language
![Page 97: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/97.jpg)
สง Business Rule หรอ แผนธรกจ ของ บ. กลม
• ภาย ใน ศกร 1 ก.ค. 2559
• ประกอบไปดวย
– ชอ บ. กลม
– แผนธรกจ
– สมาชกในกลม
– Present นาเสนอ จนทร 4 ก.ค. 2559
OOAD : Object-Oriented Analysis and Design
![Page 98: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/98.jpg)
• Depend on hardware Assembly• Independent pascal , c
OOAD : Object-Oriented Analysis and Design
![Page 99: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/99.jpg)
0101011011111001110001110011111111000010101101111101110001110011111111000010101101111100111000111001100
111000111001111111100001010110111110011100011100110011100011100111111110000101011011111001110001110011001110001110011111111000010101101111100111000111001100111000111001111111100001010110111110011100011100110011100011100111111110000101011011111001110001110011001110001110011111111000010101101111100111000111001100111000111001111111100001010110111110011100011100110011100011100111111110000101011011111001110001110011001110001110011111111000010101101111100111000111001100
OOAD : Object-Oriented Analysis and Design
A
![Page 100: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/100.jpg)
OOAD : Object-Oriented Analysis and Design
![Page 101: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/101.jpg)
SQL
• DBMS/RDBMS– อยากไดขอมลลกคาทมฐานเงนเดอนสง 50000 ?“SELECT CustName , CustSalary FROM TbCustomerWHERE CustSalary > 50000”
OOAD : Object-Oriented Analysis and Design
ถาเปนโปรแกรมภาษาชนสง
- เปดไฟลฐานขอมล
Physical - อานขอมลตงแตแถวแรกไปจนเจอ
- เราตองแสดงขอมลออกมา
Database Management System
Relational Database Management System
ODBMSObject Database Management
System
![Page 102: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/102.jpg)
SQL
• DML • “SELECT * FROM TbMember”• DDL• DCL
OOAD : Object-Oriented Analysis and Design
![Page 103: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/103.jpg)
ภาษาธรรมชาต NLP
• Natural Language Programming– Lisp– Prolog
OOAD : Object-Oriented Analysis and Design
AI : Artificial Intelligentปญญาประดษฐ
Nueral Networkเครอขายประสาทเทยม
ตวอยางจากภาพยนตร
Terminator : ฅนเหลก
Skynet
iRobot
Identity : อตลกษณ
Robot:Dreaming
![Page 104: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/104.jpg)
How Does Software Work?ชดคาสง (Instructions) และ ขอมล (data) รวมกนทางานเพอสราง ลาดบของสถานะแบบไมตอเนองภายในคอมพวเตอร
อาจหลายสถานะทสามารถเปนไปได ทเวลาใดๆ สถานะตางๆ ของ Software ทาความเขาใจไดยาก
OOAD : Object-Oriented Analysis and Design
4
DiscreteDigital
Analog
![Page 105: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/105.jpg)
Dim age as int16
OOAD : Object-Oriented Analysis and Design
![Page 106: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/106.jpg)
ASCII code
• 0000 0000• 1111 1111
OOAD : Object-Oriented Analysis and Design
แอสก(ASCII) หรอ รหสมาตรฐานของสหรฐอเมรกาเพอการแลกเปลยนสารสนเทศ [1] (องกฤษ: ASCII: American Standard Code for Information Interchange) เปนรหสอกขระทประกอบดวยอกษรละตน เลขอารบก เครองหมายวรรคตอน และสญลกษณตางๆ โดยแตละรหสจะแทนดวยตวอกขระหนงตว เชน รหส 65 (เลขฐานสบ) ใชแทนอกษรเอ (A) พมพใหญ เปนตน
จากวกพเดย สารานกรมเสร
![Page 107: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/107.jpg)
Systems and Software Systems
A System is “An organized or connected group of Objects; a whole composed of parts
in orderly arrangement according to some scheme or plan”
OOAD : Object-Oriented Analysis and Design
A software-intensive System (Software System) is system ทประกอบดวยระบบ software ระบบยอย ทมบทบาท หรอมสวน
ในการควบคมสวนสาคญของพฤตกรรมท งหมดของระบบ
Examples of Software Systems ระบบควบคมการบน, ระบบทางรถไฟ, ระบบซอ ขายหลกทรพย,
ระบบบญช,ระบบงานธนาคาร,ระบบการเรยนการสอน ฯลฯ
OS
![Page 108: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/108.jpg)
“Why” Do We Build Software Systems?
• เพอแกปญหาตามความตองการของผใช(User) • software ตองสามารถแกปญหาของผใชได • software ตองสามารถทางานทผใชตองการไดอยาง
ถกตองและมประสทธภาพ
OOAD : Object-Oriented Analysis and Design
6
แทจรงแลวซอฟตแวร คอสญญาณไฟฟา
MIS
MIS
![Page 109: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/109.jpg)
“How” Do We Build Software Systems?
โดย “decomposition” และ “synthesis” จาแนกยอย และสรางแบบจาลองของปญหาใน
รปแบบทสามารถตดตอสอสารกบผอนได (กระบวนการ Specification/Analysis)
ขอมล/สารสนเทศเกยวกบขอบเขตของปญหา (problem domain) จะตองเปนทเขาใจตรงกน
ทาการสงเคราะห (Synthesize) แนวทางการแกปญหา (solution) โดยมงเนนท actions หรอdata (กระบวนการDesign/Implementation)
OOAD : Object-Oriented Analysis and Design
7
![Page 110: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/110.jpg)
Top-Down
OOAD : Object-Oriented Analysis and Design
![Page 111: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/111.jpg)
Structure Chart
• Divide and Conquer• แบงรวม - รวมแบง
OOAD : Object-Oriented Analysis and Design
Integrate System
![Page 112: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/112.jpg)
Software Development Process
• Requirement Specification : define problem domain• Analysis : what problem to be solved?
– เพอบอกวามปญหาอะไรบาง ปญหา 1 ปญหา 2 ปญหา 3 ปญหา ... ทตองแก
• Design : how to solve the problem?– แตละปญหาแกอยางไร
• Implementation : how to implement the solution?– ทาตามท design ไว
• Testing : how to ensure that the solution can solve the problem?
• Maintenance : how to adjust the solution to accomodatechange?
• Retirement : when does the system to be retired?
OOAD : Object-Oriented Analysis and Design
![Page 113: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/113.jpg)
Requirement
• Requirement >> โปรแกรมสามารถคานวณตางๆ ดงนได
– หาคาพนทตางๆ
– คานวณภาษได
– คานวณ SQRT
– คานวณ POWER
• Analysis
– 1. หาคาพนทตางๆ
– 2. คานวณภาษได
OOAD : Object-Oriented Analysis and Design
![Page 114: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/114.jpg)
ต.ย. การออกแบบจากบนลงลาง top down design
OOAD : Object-Oriented Analysis and Design
หาคาพนทตางๆ
![Page 115: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/115.jpg)
• Flowchart• Algorithm
– Begin/Start• …• …• …• …• …
– End/Stop
OOAD : Object-Oriented Analysis and Design
หาคาพนทตางๆ
START
STOP
![Page 116: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/116.jpg)
FLOWCHART
• SYSTEM FLOWCHART– ทงระบบ
• PROGRAM FLOWCHART– สวนโปรแกรม
OOAD : Object-Oriented Analysis and Design
ผงงานระบบ และ ผงงานโปรแกรม เหมอนหรอตางกนอยางไร ?ใหยกตวอยาง
![Page 117: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/117.jpg)
Software Development Life Cycle
• SDLC Model
• ประกอบดวยจานวนชดของขนตอน ในกระบวนการพฒนา Software (Software Development Process)
• อาจเกดปญหาไดในทกๆ ขนตอนการพฒนา• มหลาย Model ทแตกตางกนในวธดาเนนการของขนตอน เชน
Waterfall Model, Incremental Model, Spiral Model เปนตน
• แตละ Software ใช Model ทแตกตางกนในการพฒนา• แตละ Model มจดเดน จดดอย ในตวเอง
OOAD : Object-Oriented Analysis and Design
![Page 118: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/118.jpg)
The Cost of Change
OOAD : Object-Oriented Analysis and Design
60 - 100 x
1.5 - 6 x
1 x
design development maintenance
10ความเสยง หรอ คาใชจายในการพฒนาระบบเมอเวลาผานไปเรอยๆ จะสงแบบทวคณ
![Page 119: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/119.jpg)
“What Techniques” Can Be Used?
• ขนอยกบสงท software engineer มงเนนระหวางการสงเคราะห(Synthesis) แนวทางการแกปญหา• มงเนน Process (Action) …งาน หรอ ฟงกชนของระบบ• มงเนน Data …. ขอมล..• มงเนน Object …ออบเจกต....
OOAD : Object-Oriented Analysis and Design
11
![Page 120: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/120.jpg)
Traditional Software Development• ใช Structured Analysis & Design Techniques
พจารณาเฉพาะ Data (Data-Oriented) ตวอยางเชน Data Flow Model, ER (Entity-
Relational) Model พจารณาเฉพาะ Action (Action-Oriented) ทเกยวเนอง/
กระทากบ Data ตวอยางเชน Finite State Machine (FSM)
ใช Structured Implementation Techniques ใช Structured/Procedural Programming Languages
ตวอยางเชน BASIC, Pascal, C
OOAD : Object-Oriented Analysis and Design
12OO vb vc# java Delphi
Hybrid บางภาษายงทางานแบบดงเดม หรอแบบโครงสราง
![Page 121: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/121.jpg)
Problems with Traditional Techniques Do Traditional techniques work?
Yes, they do (at a cost !!!) Problems
ในปจจบน Commercial Software จานวนมาก ยงคงใช Traditional Techniques
Software มขนาดใหญ และซบซอนมากขน เพอตอบสนองความตองการของผใชและราคาทถกลงของ Hardware
การคนหาขอบกพรองของ Software Design และImplementation ใชเวลานาน และเสยคาใชจายสง
การบารงรกษา Software ทาไดไมสะดวก และมคาใชจายเขามาเกยวของ
OOAD : Object-Oriented Analysis and Design
13
![Page 122: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/122.jpg)
Complexity
OOAD : Object-Oriented Analysis and Design
ลกคา พนกงา
น
ผจดกา
ร
ระบบ
ซอขาย
ระบบ
สนเชอ
ระบบ
ประกน
ระบบ
ฝาก-
ถอน
ระบบ
รายงาน
ระบบ
เครดตระบบ
สนเชอ
ซอบาน
ระบบ
สนเชอ
ซอรถ
ระบบ
สนเชอ
อนๆ
ระบบ
โอนเงน
ระบบ
โอนเงน
ใน
ประเทศระบบ
โอนเงน
ตางประเ
ทศ อนๆ กวา
รอย
ระบบ
ระบบ
บญช
ระบบ
การเงน
![Page 123: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/123.jpg)
• Reusable คอ การนากลบมาใชใหมตามหลกการของ OO โดยทงานใหมทเพมเขามาจะไมสงผลกระทบตองานเดม
OOAD : Object-Oriented Analysis and Design
งาน
ใหม
![Page 124: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/124.jpg)
OOAD : Object-Oriented Analysis and Design
รถยนต
รถสปอรต
4 ประต
มลอ
มเครองยนต
4 ประต
มลอ
มเครองยนต เทอรโบ
เปดประทน
Inheritance
• Reusable คอ การนากลบมาใชใหม ตามหลกการของ OO โดยทงานใหมทเพมเขามาจะไมสงผลกระทบตองานเดม
![Page 125: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/125.jpg)
Software Crisis Software มการเปลยนแปลง (Change) ตลอดเวลา
ระบบ Software เดม (Legacy Software) ไมสามารถ
ปฏบตงานรวมกนกบเทคโนโลยแบบใหมได
(Interoperability) ยากแกการขยายขอบเขตของระบบ Software เดม
(Extendability) ไมสามารถนา Software ทมอยเดมมาใชใหมได
(Reusuability) มกพฒนา Software จากเรมตน ไมไดพฒนาจากของเดมทมอย
OOAD : Object-Oriented Analysis and Design
14
ปญหาของการพฒนาระบบแบบเดม
จงนาไปสการพฒนาโดยหลกการ
เชงวตถ
![Page 126: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/126.jpg)
Software Crisis การพฒนา Hardware เรวมาก
ขนาด (Size) ของซอฟตแวร ใหญขน และเพมความซบซอน (Complexibility) มากขน
แตการพฒนา Software ชา และม bug คาใชจาย (Cost) ในการพฒนา และบารงรกษาสง
(Maintainability) ใชเวลาในการพฒนา (Time to Market) นาน หรอ ได
ซอฟตแวรคณภาพดอยทไมตรงกบความตองการของผใช
ชองวางระหวาง Users และ Programmers
OOAD : Object-Oriented Analysis and Design
15
![Page 127: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/127.jpg)
What are Object-Oriented Techniques? มมมองใหมของ Software Decomposition
พจารณาขอมล (attribute/data) และ หนาท/พฤตกรรม (Action/behavior) รวมกนเปนวตถ (Object)
เสนอแนวทางใหมในการ Synthesis พจารณาแนวทางการสงเคราะห วธการแกปญหา โดย
มงเนนท Data และ Actions โดยรวมเปนหนวยเดยวกนคอ Object
แยกสวนของ Data และ Actions ทไมเกยวของไว ในรปของ การเรยกใช Module
พจารณาขอบเขตของปญหา (Problem Domain) และสรางแบบจาลองการแกปญหา (Modeling Objects) ตามสภาพความเปนจรง (Real World)
OOAD : Object-Oriented Analysis and Design
16
ปญหาของการพฒนาระบบแบบเดม
จงนาไปสการพฒนาโดยหลกการ
เชงวตถ
![Page 128: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/128.jpg)
มมมองใหมของ Software Decompositionพจารณาขอมล (attribute/data) และ หนาท/พฤตกรรม (Action/behavior)
รวมกนเปนวตถ (Object)
• มองพนกงาน แบบดงเดม .... เปนเพยง data หรอ entity ธรรมดามแคขอมล เชน มชอพนกงาน รหส เบอรโทร อเมล เพศ
OOAD : Object-Oriented Analysis and Design
ปญหาของการพฒนาระบบแบบเดม
จงนาไปสการพฒนาโดยหลกการ
เชงวตถ
พนกงาน
ชอ รหส ทอย
เบอรโทร
แผนก
ทาไมจงไมเกบแผนกในพนกงาน ?
เราเลอก อะไรเปน PK ? เหตผล
![Page 129: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/129.jpg)
Table พนกงงาน
ID Name Gender Tel Address Department Salary001 ชโลธร FeMale 0888
777711
BKK แมบาน 2500
002 ชาลสา Male 0811 กทม รปภ. 180
OOAD : Object-Oriented Analysis and Design
AnomalyInsert Anomaly Delete AnomalyUpdate Anomaly
![Page 130: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/130.jpg)
Table พนกงงาน
ID Name Gender Tel Address Dept_ID Salary001 ชโลธร FeMale 0888
777711
BKK D001 2500
002 ชาลสา Male 0811 กทม D002 180
OOAD : Object-Oriented Analysis and Design
AnomalyInsert Anomaly Delete AnomalyUpdate Anomaly
Dept_ID Dept_Name
Detail
D001 แมบาน
D002 รปภ.
![Page 131: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/131.jpg)
Primary Key หมายถง
1. สงทเปน unique ไมซา2. จะแทนขอมลทงทบเพล Tuple ได หรอ แถว หรอ เรคคอรด3. จะตองไมวาง null ไมได 4. จะสอความหมาย และสนๆ ไดใจความ5. จะตองไมเปน Multi Value Attribute
OOAD : Object-Oriented Analysis and Design
เราเลอก อะไรเปน PK ? เหตผล
เพราะอะไร จงไมเลอกทอยเปน PK
นาย ก อย กทม
นาย ข อย กทม
นาย ง อย กทม
นาย ก อย กทม
นาย ก อย เชยงใหม
นาย ก อย สงขลา
Multi Value Attribute
นาย ก เบอร 081-xxxxxxxนาย ก อย 02-
นาย ก อย 089-
ใหยกตวอยาง อะไรทสามารถเปน คา Null ได
ชอ เบอรโทร
ใหยกตวอยาง อะไรทสามารถเปน คา Multi Value Attributes ได
![Page 132: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/132.jpg)
• X…….• Line ID
OOAD : Object-Oriented Analysis and Design
ID Name Gender Tel Address Dept_ID Salary E-mail001 ชโลธร FeMale 088
8777711
BKK D001 2500 [email protected]@Hotmail.com
002 ชาลสา Male 0811
กทม D002 180
![Page 133: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/133.jpg)
ใน หลกการเชงวตถ จะมองพนกงานเปน object
• มองพนกงานใหมในเชง OO
OOAD : Object-Oriented Analysis and Design
พนกงาน
- ชอ- ทอย- เบอรโทร
+ กาหนดชอ ()+ เปลยนทอย ()+ ลา ()
*** มอง พนกงาน เปนวตถ ทม
Attribute และฟงกชน
Attribute
Function
![Page 134: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/134.jpg)
ต.ย. โปรแกรมในภาษาจาวา
class Test {int x;Customer c;c = new Customer()c.setName(“dr.nattapong songneam”);
}
OOAD : Object-Oriented Analysis and Design
PDT
ADT
Function / Method
![Page 135: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/135.jpg)
What are Object-Oriented Techniques?
• พจารณา software ในรปแบบของ clients และ servers
• servers ซอน Implementation ของ Actions ไวภายใตInterface
• clients เรยกใชไดเฉพาะ Interface ท server เปดใหบรการเทาน น
OOAD : Object-Oriented Analysis and Design
ObjectA
ObjectB
Client Server
request
result or deny
*** Server มความสามารถบางอยางทให client เรยกใชได
![Page 136: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/136.jpg)
ในซอฟตแวร เชงวตถ จะม object หลายตวท
ทางานรวมกน
OOAD : Object-Oriented Analysis and Design
คน รถยนต
ServerClient
driveสมชาย
สมหญ
ง
ServerClient
ถามอาย
อาย 41
Message
ตวทกระตน หรอเรมทางาน มองเปน serverตวทตอบกลบมา หรอ ตอบสนอง เปน client
![Page 137: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/137.jpg)
ในซอฟตแวร เชงวตถ จะม object หลายตวท
ทางานรวมกน
OOAD : Object-Oriented Analysis and Design
ลกคาพนกงา
น
Server Client
สอบถามโปรโมชน
สมชายสมหญ
ง
Server Client
ถามอาย
อาย 41
Message
ตวทกระตน หรอเรมทางาน มองเปน serverตวทตอบกลบมา หรอ ตอบสนอง เปน client
เสนอโปรโมชน
![Page 138: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/138.jpg)
OOAD : Object-Oriented Analysis and Design
Attributes / Data MemberFunction/Behavior / Method Member
ในภาษาจาวาใน OO
BaseHieght
setBased()calArea()t1.calArea()
T t1 = new T();
Object
class
![Page 139: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/139.jpg)
Object-Oriented SoftwareOOAD : Object-Oriented Analysis and Design
O1
O3
O2
O4
m1
m2
m4m3
m5
Program
Environment
• ซอฟตแวรเชงวตถ (Object-Oriented Software)คอ กลม หรอชด(Collection) ของวตถทมหนาทรบผดชอบตอ
การจดการขอมลของตนเอง และตดตอสอสารกบวตถอนๆ โดยสง
ขอความ (Message) ใหแกกนและกนแทนระบบ/ซอฟตแวร
ต.ย. บ. Angel WhiteE-commerce
![Page 140: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/140.jpg)
OOAD : Object-Oriented Analysis and Design
O1
O3
O2
O4
m1
m2
m4m3
m5
Program
Environmentแทนระบบ/ซอฟตแวร
ต.ย. บ. Angel WhiteE-commerce
แทนระบบ/ซอฟตแวร
ต.ย. บ. Angel WhiteHRM
แทนระบบ/ซอฟตแวร
ต.ย. บ. Angel WhiteInventory
แทนระบบ/ซอฟตแวร
ต.ย. บ. Angel WhitePurchase Order
![Page 141: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/141.jpg)
• Button …b1 …..b9 b0• Menu file• Textbox t1
OOAD : Object-Oriented Analysis and Design
class object
object
![Page 142: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/142.jpg)
What is an object?OOAD : Object-Oriented Analysis and Design
• วตถ (object)
เปน กลมหรอชด (collection) ของสงตอไปน
• แอททรบวต (Attribute) ของวตถจะบอกถงขอมล (Data)คณลกษณะเฉพาะหรอ สถานะของวตถ
• เมทธอด (Method) จะบอกถงหนาท (functionality) หรอ
พฤตกรรม (behavior) ตางๆของวตถนนๆ
• โดยม แอสโซซเอชน (Association) อนไดแก สงทบอกถง
ความสมพนธ (Relationship) ของวตถนน กบวตถอนๆ รวมทง
ปฏสมพนธ (Interactions) ระหวางวตถกบวตถอนๆ
?
![Page 143: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/143.jpg)
ปากกา
• Attributes
– ส
– ความยาว
– นาหนก
– ฝาปากกา
– ราคา
• Actions/Functions
– เขยนไดOOAD : Object-Oriented Analysis and
Design
class PEN {
private String color;
private int width;
private double weight;
private double price;
private Object cap; //ฝาปากกา
public void Writable() {
…
}
public void Openable() {
….
}
}
Implement in java?
![Page 144: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/144.jpg)
Functions/Behaviors/Methods/Actions
• สงนนทาอะไรไดบาง คอความสามารถของสงนน Methods• สงนนมพฤตกรรม เปนอยางไร Behaviors• สงนนมหนาทอะไร Functions
OOAD : Object-Oriented Analysis and Design
ในหลกการเชงวตถ OO
ในภาษาเชงวตถ OOP
![Page 145: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/145.jpg)
คณลกษณะ / attributes
• สงทเรามองวตถ วา วตถนนมอะไรบางเปนสวนประกอบ และม
หนาตาเปนอยางไร
OOAD : Object-Oriented Analysis and Design
ส
หมก
ดาม
ฝาปากกา
ไส
ราคา
ยหอ
ปากกา
![Page 146: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/146.jpg)
Mobile
• Attribute– รปทรง– ส– ราคา– นาหนก
• Function/Action/Behavior– โทรออก– รบสาย– เลนเกม– ดราคา– ดรน
OOAD : Object-Oriented Analysis and Design
class Mobile {private String Shapes;private Color color;private double price;private double weight;
public void call() {
}public void receive() {…}public void setPrice(double p) {
price = p;}public double getPrice() {
return price;}
}
Implement in java
![Page 147: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/147.jpg)
OOAD : Object-Oriented Analysis and Design
โทรออก ()รบสาย ()สงขอความ ()
โทรออก ()รบสาย ()สงขอความ ()เลนเกม ()เลนเฟส ()
โทรออก ()รบสาย ()สงขอความ ()เลนเกม ()เลนเฟส ()เขยนโปรแกรมได ()
surfacesmartphone
mobile
![Page 148: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/148.jpg)
• ทว
• ดนสอ
• รถยนต
• รถเมล
• รถไฟฟา
• รถไฟ
• คน
• แมว
• สนข
OOAD : Object-Oriented Analysis and Design
ดหนง ดละคร
จอแบบ จอนน
ปมกด
จอแบบ จอนน
ปมกด
จอ
ลาโพง
จอ
ลาโพง
ภาพ
เสยง
มลกษณะสเหลยม
รโมท
ภาพ
เสยง
มลกษณะสเหลยม
รโมท
![Page 149: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/149.jpg)
• 1.ญาณภทร TV• Attribute จอแบน นาหนก ขนาด ราคา
• Function รบสญญาณคลนวทย ฉายภาพได ตอเนตได มชองรบ
USB• 2.ณฎฐกตต ดนสอ
• Attribute ความยาว ส ไสดนสอ นาหนก ราคา ดาม ยหอ
• Function เขยนได
• 3.สธ รถยนต
• Attribute ประต เครองยนต 4ลอ CC• Function ขบได กนฝน ปองกนเเดด นงพกผอน ฟงเพลงได
• 4.วงศกร รถเมล
• ATTRIBUTE สาย ยหอ เลขประจารถ สรถ รหสประจาสายOOAD : Object-Oriented Analysis and
Design
![Page 150: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/150.jpg)
Identify Problem DomainOOAD : Object-Oriented Analysis and Design
ระบ ขอบเขตของปญหา (Problem Domain) เพอสรางแบบจาลอง
วตถ (Modeling Objects) เปนการกาหนดขอบเขตของสงทเราจะพจารณาใหเปนวตถ (Object) เราไมสามารถสนใจทกๆ วตถ (Object) ในโลกของความเปนจรง ใน
เวลาเดยวกนได
เชนเดยวกบทเราไมสามารถสนใจทกความสมพนธ และ กจกรรม ทก
ความสมพนธ และทกกจกรรมทเกดขนในโลกของความเปนจรงไดเชนกน
![Page 151: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/151.jpg)
• ลอ• กระจก• กระโปรงหนา• พวงมาลย
OOAD : Object-Oriented Analysis and Design
Real World Computer World
• ยหอ• รน• ราคา• ส
• รถในโลกความเปนจรง เราจะนกถง • รถในโลกของคอมพวเตอร เราจะสนใจแต
![Page 152: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/152.jpg)
Objects = Attributes, Methods, AssociationsOOAD : Object-Oriented Analysis and Design
AttributesAgeGenderName….
AssociationsmyLeftArmmyLeftLegmyRightArm....
Methods/OperationsJump..Talk...Dance
Ask FriendJumpWalkJumpShake myHeadShake myBody
A working OO system:a conversation between networksof objects
Tim
head
bodyarmarm
leg leg
![Page 153: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/153.jpg)
Objects = Attributes, Methods, AssociationsOOAD : Object-Oriented Analysis and Design
AttributesModelCompanyColor….
AssociationsBrakeLeftFrontWheelGear....
Methods/OperationsStart..Go...Stop..
Go ForwardGo BakcwardTurn LeftTurn RightApply BrakeChange Gear….
A working OO system:a conversation between networksof objects
รถยนต
body
Brake
wheelwheel
wheel
wheel Engine
![Page 154: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/154.jpg)
Object/Class
การตงชอกลม ทม Attribute และ Function เหมอนกนแบบเดยวกน จดใหอยกลม
เดยวกน เรยกวาคลาส
อะไรอยกลมเดยวกน เรยกวา
คลาสเดยวกน
OOAD : Object-Oriented Analysis and Design
ส1
ส2
สามเหลยม
- มมมสามมม
สเหลยม
- มมมสมม
วงกลม
ไมมมม
สามเหลยม
- ฐ
- ส
- คานวณพ.ท. ()สเหลยม
- กวาง
- ยาว
- คานวณพ.ท.()วงกลม
รศม
- คานวณพ.ท.()
![Page 155: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/155.jpg)
OOAD : Object-Oriented Analysis and Design
กาหนดคณลกษณะ (Attribute) ใหกบวตถ
วตถ “Tim” มคณลกษณะสาคญคอ อาย (25 ป) เพศ (ชาย) ชอ (Tim) เปนตน
วตถ “รถยนตคนหนง” สามารถ วง เลยวซาย และเลยวขวาได เปนตน
กาหนดพฤตกรรม/วธการกระทา (Method) ใหกบวตถ
วตถ “Tim” สามารถ เดน ยน นง และนอน ได เปนตน
วตถ “รถยนตคนหนง” สามารถ วง เลยวซาย และเลยวขวาได เปนตน
กาหนดความสมพนธ/ปฏสมพนธกบวตถอน (Association) วตถ “Tim” ประกอบดวย ลาตว(body) แขน (arm) 2 แขน ขา(leg) 2 ขา เปนตน
วตถ “รถยนตคนหนง” ประกอบดวย ตวถง(body) ลอ (wheel) 4 ลอ เปนตน
วตถ “Tim” สามารถสรางกจกรรม ใหวตถ “รถยนตคนหนง” เกดการเปลยนแปลงสถานะได
เชน การขบรถ เปนตน
Objects Abstraction
![Page 156: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/156.jpg)
OOAD : Object-Oriented Analysis and Design
วตถท ม Attribute, Method และ Association ของวตถคลายๆ กนจะถกจดอยในกลมหรอ คลาส (Class) เดยวกน
Group of Objects
นายแดง นายดา นายเขยว
![Page 157: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/157.jpg)
OOAD : Object-Oriented Analysis and Design
• คา Attribute, Method และ Association ของวตถ จะถกกาหนดไวใน “คลาส” (Class)
• คลาส (Class)• เปนสงทนาเสนอ Abstract Data Types (ADTs) ของวตถ (Object) ทเราตองการจาลอง• กาหนดรายละเอยดเกยวกบ Attribute, Method และAssociation ของวตถ (Object)• เปนพมพเขยว (Blueprint) ของวตถ (Object)
Defining Class
![Page 158: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/158.jpg)
OOAD : Object-Oriented Analysis and Design
คลาส (Class) เปนพมพเขยว (Blueprint) ของวตถ (Object)
ไมสามารถนามาใชไดโดยตรง กาหนดคณลกษณะรวมกนในรปของ Attribute กาหนดวธการกระทา/พฤตกรรม รวมกนของวตถ ในรปของ Method กาหนดความสมพนธ /ปฏสมพนธกบวตถอ นในรปของ Association
เรยกไดวา วตถ (Object) เปนสงทสรางขน หรอเปน อนแสตนซ (Instance) ของคลาส (Class)
Class
![Page 159: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/159.jpg)
Classes & InstancesOOAD : Object-Oriented Analysis and Design
Person
Tim Don
• เรยกไดวา คลาส (Class) เปน พมพเขยว/แบบแปลน (Blueprint) ของ วตถ(Object)
• เรยกไดวา วตถ (Object) เปน อนแสตนซ (Instance) ของคลาส (Class)
![Page 160: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/160.jpg)
Class & ObjectOOAD : Object-Oriented Analysis and Design
Class
PERSON
AgeGender Name myArmsmyLegs
Jump()Walk()Talk()Sleep()ShakeMyArms()
Object “นายดา”
Age = 35Gender = ชายName = นายดาmyArms = แขนmyLegs = ขา
can Jumpcan Walkcan Talkcan Sleepcan ShakeMyArms
![Page 161: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/161.jpg)
Class & ObjectOOAD : Object-Oriented Analysis and Design
Class
PERSON
AgeGender Name
myArmsmyLegs
Jump()Walk()Talk()
Dance()ShakeMyArms() Object “Don”
Age = 25Gender = MaleName = DonmyArms = ArmsmyLegs = Legs
can Jumpcan Walkcan Talkcan Dancecan ShakeMyArms
![Page 162: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/162.jpg)
Classes & InstancesOOAD : Object-Oriented Analysis and Design
• เรยกไดวา คลาส (Class) เปน พมพเขยว/แบบแปลน (Blueprint) ของ วตถ (Object)• เรยกไดวา วตถ (Object) เปน อนแสตนซ (Instance) ของคลาส (Class)
![Page 163: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/163.jpg)
Class & ObjectOOAD : Object-Oriented Analysis and Design
Class
CAR
ModelColor
Company theGeartheBrake
GoForward()GoBackward()
TurnLeft()TurnRight()
ApplyBrake()
Object “aCar”
Model = CelicaColor = RedCompany = ToyotatheGear = GeartheBrake = Brake
can GoForwardcan GoBackwardcan TurnLeftcan TurnRightcan ApplyBrake
![Page 164: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/164.jpg)
Message Passing (1) Message Passing
คอการท วตถตดตอกนดวยการสง ขอความ (message) ถงกนและกน
มผลทาให วตถทรบขอความ (received object) เปลยนแปลงสถานะ หรอ กระทาการอยางใดอยางหนง โดยจะทาการประมวลผลตามความตองการของวตถทสงขอความ หรอ ปฏเสธคารองขอ
OOAD : Object-Oriented Analysis and Design
32
![Page 165: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/165.jpg)
OOAD : Object-Oriented Analysis and Design
Tim
ถาวตถ Tim ตองการขบรถ aCar จะตองทาอยางไร?
aCar
ขบรถ
Example of Message Passing (1)
33
![Page 166: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/166.jpg)
Message passing (2) การสง Message ไปยงวตถใดๆ แลววตถนนกระทาการอยาง
ใดอยางหนง เปนการเรยก Method ทถกกาหนดไวในวตถนนมาทางาน เปรยบเทยบไดกบการเรยก function call หรอ
procedure call ทมใน Procedural Programming โดยผาน Interface
แตละวตถ ตองรบผดชอบ พฤตกรรมของตนเอง โดยผานการเรยกใช Method
OOAD : Object-Oriented Analysis and Design
34
![Page 167: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/167.jpg)
OOAD : Object-Oriented Analysis and Design
Tim
ถาวตถ Tim ตองการขบรถ aCar
aCaraCar.GoForward(100)aCar.goBackward()aCar.TurnLeft()aCar.TurnRight()aCar.ApplyBrake()
Example of Message Passing (2)
35
![Page 168: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/168.jpg)
Object-Oriented Software
OOAD : Object-Oriented Analysis and Design
m1
m2
m4m3
m5
Software
Environment
36
![Page 169: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/169.jpg)
Characteristics of an Object
OOAD : Object-Oriented Analysis and Design
• Identity• Information Hiding • Encapsulation• Inheritance• Polymorphism
37
![Page 170: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/170.jpg)
Identity
วตถ (Object) จะตองมลกษณะเฉพาะประจาตว (Identity) วตถใดๆ สามารถมคณลกษณะ (Attribute) เหมอนๆ กนได
เชน วตถ“Tim” และ“Don” เปนเพศชาย และอาย 25 ป เหมอนกน
วตถใดๆ สามารถมพฤตกรรม (Behavior/Method) เหมอนๆ กนได เชน วตถ“Tim” และ“Don” สามารถกน เดน นอน นง ได เหมอนกน
วตถใดๆ สามารถความสมพนธเกยวของ (Association) กบวตถอนๆเหมอนๆ กนได เชน วตถ“Tim” และ“Don” ประกอบดวย 2 แขน และ 2 ขา เหมอนๆ กน
วตถ “Tim” และ “Don” สรางจากคลาส (Class) เดยวกนคอ “Person”
แตเราถอวา วตถ“Tim” และวตถ “Don” เปนคนละวตถกน
OOAD : Object-Oriented Analysis and Design
38
![Page 171: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/171.jpg)
Encapsulation พจารณาวตถ (Object) ไดเสมอน กลองดา (Black Box)
วตถใด ตอง “ร” วธหรอขนตอนการทางานภายใน (Method) ของตนเอง
วตถอน ไมจาเปนตองรวาวธ หรอขนตอนการทางานภายในเปนอยางไร
วตถอนตองการเรยกใช Method ของวตถนได โดยสง Message มาโดยท Message จะตองอยในรปแบบทตกลงกนไวกอน
OOAD : Object-Oriented Analysis and Design
black box
Object
IncomingMessage Outgoing Message
39
![Page 172: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/172.jpg)
OOAD : Object-Oriented Analysis and Design
นายดา
Example of Encapsulation
Tim.jump()Tim.walk()Tim.talk()Tim.dance() Tim.shakeMyArms()
40
![Page 173: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/173.jpg)
Information Hiding พจารณาวตถ (Object)
สามารถกาหนดขอบเขตการเขาถง Attribute และ Method กาหนดวาใครสามารถเหนหรอใช Attribute และ Method
ของวตถนนไดบาง
OOAD : Object-Oriented Analysis and Design
anObject
talk()
walk()
jump()
Name
Age
ObjectDiagram A.
anObject
talk()
walk()
jump()
Name
Age
Object Diagram B.
anObject
talk()
walk()
Jump()
Name
Age
Object Diagram C.41
![Page 174: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/174.jpg)
OOAD : Object-Oriented Analysis and Design
Information Hiding and Encapsulation
Q: จะคานวณคา “Age” จาก PERSON ได อยางไร?
เกบคา วน-เดอน-ปเกด ไว แลวคานวณคา “Age” เมอม request? เกบคาอายปจจบน (current age) และupdate ทกๆ ป?
A: don’t care!!! ตราบใดทเราสามารถ maintain “getAge()” interface
PERSON
AgeGender Name
myArmsmyLegs
Jump()Walk()Talk()
Dance()ShakeMyArms()
getAge()
42
![Page 175: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/175.jpg)
Advantages of Information Hiding and Encapsulation
Maintainability เปนการพจารณาโครงสรางซอฟตแวรในระดบนามธรรม
(Abstraction) หรอในระดบสง (High-Level) โดยไมคานงถงรายละเอยด วธการ หรอภาษาทจะนาไปพฒนา (Implementation)
Flexibility ทาใหการพฒนาซอฟตแวรเชงวตถมความยดหยน
(Flexibility) สามารถเปลยนแปลงไดงาย (Ease of Change)
ระบบ Software ใดๆ สามารถปฏบตงานรวมกนไดอยางสะดวก และมประสทธภาพ เนองจากไมจาเปนตอง “ร” รายละเอยดการทางานภายในของระบบ
OOAD : Object-Oriented Analysis and Design
43
![Page 176: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/176.jpg)
Inheritance (1) การถายทอดคณสมบต (Inheritance)
คอการท class ทตางกนม Attributes และ Methods ทเหมอนกน
Subclasses รบถายทอดคณสมบต (inherit) ของ properties จาก Superclass
OOAD : Object-Oriented Analysis and Design
Employee
Director Worker Driver
Superclass
Subclasses
44
![Page 177: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/177.jpg)
Inheritance (2)OOAD : Object-Oriented Analysis and Design
Class Diagram
SHAPE
center
move
CIRCLE
radius
calculateArea
TRIANGLE
baseheight
calculateArea
SQUARE
side
calculateArea
45
![Page 178: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/178.jpg)
Inheritance (2)OOAD : Object-Oriented Analysis and Design
aSHAPE
center
move
CIRCLE Is a kind of SHAPE
SQUARE Is a kind of SHAPE
Object Diagram
aCIRCLE
calculate area
radius
center
move
aTRIANGLE
base
calculate area
center
height
move
aSQUARE
side
calculate area
center
move
46
![Page 179: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/179.jpg)
Generalization and Specialization Generalization การกาหนดคณลกษณะรวมกนจากคลาส หลายๆ คลาส และนามา
กาหนดไวในคลาสทอยในลาดบชนสงขน (superclass) ของ โครงสรางลาดบชน (Class hierarchy)
bottom-up Specialization การกาหนดคลาสใหมขน (Subclass) โดยรบถายทอด
คณสมบต (inherit) คณสมบตทงหมดอนไดแก คณลกษณะ และพฤตกรรม จากคลาสเดม
top-down
OOAD : Object-Oriented Analysis and Design
47
![Page 180: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/180.jpg)
Inheritance (3)OOAD : Object-Oriented Analysis and Design
generalization
Shape
Rectangle Circle Triangle
Sphere Cylinder
specialization
48
![Page 181: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/181.jpg)
Multiple Inheritance
• คลาส 1 คลาส รบถายทอดคณสมบต (inherit) จาก superclass ตงแต2 คลาสขนไป
OOAD : Object-Oriented Analysis and Design
Person Employee
ManagingDirector
49
![Page 182: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/182.jpg)
Advantages of Inheritance Avoiding redundancies Source Code ในสวนทเหมอนกนจะถกเขยนขนเพยงครง
เดยว
Code reuse สามารถนาไปใชใหมได (reuse) ไดโดยการรบถายทอด
คณสมบต
Reduced code size and complexity เนองจาก Source Code ถกเขยนขนเพยงครงเดยว และถก
นาไปใชใหมไดไมจากด จงเปนการประหยดเนอท Source Code และลดความซบซอนของ Source Code
OOAD : Object-Oriented Analysis and Design
50
![Page 183: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/183.jpg)
Polymorphism Polymorphism วตถตาง ๆ ทมพฤตกรรมแบบเดยวกนอยในตว แต
รายละเอยดวธการกระทาอาจแตกตางกนได ขนอยกบวาวตถนนถกนาไปใชแบบใด
เชน วตถ “SQUARE” และวตถ “CIRCLE” ตางกสามารถถก “calculateArea” ได แตวธการ “calculateArea” ของทง 2วตถ อาจไมเหมอนกน
วตถตาง ๆ มวธคณลกษณะ และรายละเอยดวธการกระทาทแตกตางกน แตมองใหเหมอนกนได จากคณลกษณะและพฤตกรรมทวตถเหลานนมรวมกน
เชน วตถ “SQUARE” และวตถ “CIRCLE” มวธการ “calculate Area” ตางกน แตสามารถมองคณสมบตรวมกนอนไดแก ทง 2 วตถ ตางกเปน วตถ “SHAPE” ทสามารถ “calculate Area” ได
OOAD : Object-Oriented Analysis and Design
51
![Page 184: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/184.jpg)
PolymorphismOOAD : Object-Oriented Analysis and Design
can move the same way
internally, all“shapes” have center
Calculate area themselves differently
if shapes need to move,they get the “move”from their parent
SHAPE
center
move
CIRCLE
radius
calculateArea
TRIANGLE
baseheight
calculateArea
SQUARE
side
calculateArea
52
![Page 185: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/185.jpg)
Advantages of Polymorphism
Software Interoperability ระบบ Software ใดๆ สามารถปฏบตงานรวมกนไดอยาง
สะดวก และมประสทธภาพ เนองจากสามารถมองภาพรวมของวตถ ทอยภายในระบบเปนรปแบบทมลกษณะรวมกน โดยไมจาเปนตอง “ร” รายละเอยดการทางานภายในของวตถ
OOAD : Object-Oriented Analysis and Design
53
![Page 186: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/186.jpg)
Why Object Orientation? Key Benefits of Object Orientation
นาเสนอมมมอง และแนวทางทเปนประโยชนในการจดการกบปญหาความ
ซบซอนของ Software ไดดกวา Traditional Techniques สนบสนน การตดตอสอสารทมประสทธภาพในชวงวงรอบการพฒนา
Software (Software Development Life Cycle) ตอบสนองตอ Software Crisis ลดผลกระทบอนเกดจากการเปลยนแปลง (Change) ของ Software สนบสนนการนา components กลบมาใชใหม (High Level reuse
of Components) สนบสนนการแกไข Problems of Software อนไดแก
Reusability, Extendability, Interoperability เปนตน
OOAD : Object-Oriented Analysis and Design
54
![Page 187: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/187.jpg)
What do we learn about OOT? OO Terms and Concepts
Object and Class Inheritance, Encapsulation and Polymorphism Relationship and Interaction between classes
OO Analysis and Design Object Modeling with UML
OO Programming Languages Java Language
Distributed Object Technology RMI and CORBA .NET
OOAD : Object-Oriented Analysis and Design
55
![Page 188: Last Update : 24/03/2561 Lec01...3/OOAD 2560 • เร มเร ยนเวลา ..... เป นต นไป • คะแนนจ ตพ ส ย 20 คะแนน –ขาดห](https://reader033.vdocuments.net/reader033/viewer/2022050208/5f5ade52e079b0245d7eece4/html5/thumbnails/188.jpg)
OOAD : Object-Oriented Analysis and Design
Summary Software, Systems and Software Systems Software Crisis Traditional Software Development Object-Oriented Software Development Principle of Object Orientation Key Benefits of Object-Oriented Software
Development What do we learn in this course?
56