งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Lecture 2 แก้ไขปัญหาด้วย OOP (Solving problems using OOP in Java)

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Lecture 2 แก้ไขปัญหาด้วย OOP (Solving problems using OOP in Java)"— ใบสำเนางานนำเสนอ:

1 Lecture 2 แก้ไขปัญหาด้วย OOP (Solving problems using OOP in Java)

2 2 Object-Oriented Software Engineering  OOSE คือ การพัฒนาระบบคอมพิวเตอร์ด้วยหลักการ Object Orientation ประกอบด้วย 3 ขั้นตอนใหญ่คือ  Object-Oriented Analysis : OOA  Object-Oriented Design : OOD  Object-Oriented Implementation หรือ Object-Oriented Programming : OOP

3 3 Object-Oriented Analysis : OOA  เป็นขั้นตอนการวิเคราะห์เพื่อให้ทราบว่า Problem Domain คืออะไร  เพื่อทำความเข้าใจในรายละเอียดของปัญหาเหล่านั้น  เป็นการหาคำตอบให้กับคำถาม What is the problem to be solved ?

4 4 Object-Oriented Design : OOD  เป็นขั้นตอนการออกแบบหรือจำลอง (Model) วิธีการเพื่อ แก้ปัญหาใน Problem Domain  เป็นการหาคำตอบให้กับคำถาม How to solve the problem?

5 5 Object-Oriented Programming : OOP  เป็นขั้นตอนการสร้างหนทางแก้ปัญหาในรายละเอียดให้ เกิดขึ้นและใช้งานได้จริง  เป็นการหาคำตอบให้กับคำถาม How to implement the solution?

6 หลักการ  ก่อนการเขียนโปรแกรมควรออกแบบให้ดีก่อน Analysis Design Implement TestMaintain

7 การพัฒนาโปรแกรมแบบที่ไม่ออกแบบ  วางแผนคร่าวๆ  เขียนโปรแกรม  เมื่อเขียนไปเรื่อยๆเกิด Spaghetti  เมื่อจะพัฒนาเพิ่มเติม ทำได้ยาก เพราะหาจุดเพิ่มไม่พบ  เมื่อจะซ่อมแซมทำได้ยาก  ออกแบบในแบบ Homogeneous ( รวมเป็นก้อนเดียว ) Spaghetti

8 การพัฒนาโปรแกรมแบบใหม่  ออกแบบแยกเป็นส่วนๆ Modularization  แก้ไขง่าย รู้จุด  เพิ่มเติมง่าย

9 โปรแกรมแบบ Procedural และ OOP  Procedural -> ดั้งเดิม, C, Pascal  OOP -> แบบใหม่, C++, Java  Procedural เขียนโปรแกรมโดยยึด “ ขั้นตอน ” เป็นหลัก  การแก้ไขทำได้ยาก printf scanf sumprintf ?

10 การเขียนโปรแกรมแบบ OOP  ใช้ Object ให้ทำงานให้เรา  แก้ไขได้ง่าย print getVal sum Cooperative ( ร่วมมือ )

11 OOD ต้องรู้อะไรบ้าง  Object  Class  Generalization  Decompose  Inheritance  Polymorphism  Analysis  etc.

12 Problem Domain  Problem Domain คือขอบเขตของการพัฒนาโปรแกรม  ก่อนการพัฒนาจะต้องรู้ขอบเขตก่อน  คำกล่าว “ คงไม่ต้องวาดรูปป่าทั้งป่า หากเราสนใจแค่ต้นไม้ เพียงต้นเดียว ” Problem Domain Universe

13 Object  สิ่งที่สามารถจำแนกตัวตนได้ (Identification)  จับต้องได้  จับต้องไม่ได้  ตัวอย่าง  คอมพิวเตอร์หมายเลข 234FH7  นายสมชาย ใจดี รหัสประจำตัว  สุนัขชื่อ จิ๋ว ที่บ้านเลขที่ 33/6 นนทบุรี  ตัวตรวจจับเหตุการณ์ในเกม Sim2

14 แบบฝึกหัด 2.1  กำหนดสถานที่ดังนี้ ให้น. ศ. ลองหา Object ให้มากที่สุด ( ทั้งจับต้องได้และไม่ได้ )  ห้อง คอมพิวเตอร์ U302

15 องค์ประกอบของ Object  Object ทุกอันมีองค์ประกอบดังนี้  คุณสมบัติ (Attributes)  การกระทำ (Methods)  ตัวอย่าง  นายสมชาย  สูง, ขาว, หนัก 60 ก. ก., (att.)  เดิน, นั่ง, วิ่ง (method)  ฮาร์ดดิสก์  ความเร็ว, ความจุ, ยี่ห้อ (att.)  หมุน, อ่านข้อมูล, เขียนข้อมูล (method)

16 แบบฝึกหัด 2.2  จากวัตถุต่อไปนี้ จงหา Attributes และ Methods ของมัน  CD ROM  แก้วน้ำ  ลิปสติก  หมอก  กล่องเครื่องมือช่าง

17 ปัญหาที่เกิดขึ้น  ขอบเขตของ Object ไม่ชัดเจน  Object ไม่ใช่ Atomic  เช่น กล่องเครื่องมือช่าง ภายในก็มี Object อื่นๆอีก  ดังนั้น จะต้องแยกแยะให้ดี ( สิ่งนี้ไม่ใช่ Error เช่น Java Applet ก็เป็นลักษณะของ Container ที่บรรจุ Object อื่นๆ อยู่ภายใน ) object

18 ความสัมพันธ์ระหว่าง Object  Object สามารถติดต่อสื่อสารกันได้  ตัวอย่าง  สมชายส่งของให้สมควร  CD-ROM ส่งข้อมูลไปให้ RAM  บัญชีธนาคารถูกถอนเงิน  เราใช้หลักการของการเรียก Method ของ Object ตัวอื่น Account Customer Deposit Call method

19 แบบฝึกหัด 2.3  ให้ น. ศ. ลองเลือกระบบของบางสิ่ง 1 ระบบ แล้ววาดเป็น Object และ มีการเรียก Method ของ Object ต่างๆ  เช่น  การทำงานของคอมพิวเตอร์  ระบบงานในสำนักงาน  ระบบการทำงานของร่างกาย  ระบบการเงิน  ระบบการทำงานของสิ่งมีชีวิต

20 Thank you……


ดาวน์โหลด ppt Lecture 2 แก้ไขปัญหาด้วย OOP (Solving problems using OOP in Java)

งานนำเสนอที่คล้ายกัน


Ads by Google