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

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
โดย พัชรี ยันตรีสิงห์ ศึกษานิเทศก์เชี่ยวชาญ สพป.นครปฐม เขต 2
Advertisements

Process Synchronization
แนวคิดในการเขียนโปรแกรม
การศึกษาและประยุกต์ใช้ขั้นตอนวิธีเชิง วิวัฒน์แบบหลายจุดประสงค์บนคลังข้อมูล เจเมทัล Study of Evolutionary Algorithm in Multi- objective on Library jMetal.
ER 2104 หลักการวัดและประเมินผลการเรียนรู้ 3(3-0)
กลุ่มสาระการเรียนรู้การงานอาชีพและเทคโนโลยี
เว็บเซอร์วิสเรียกง่าย
Lecture 10 : Database Documentation
การออกแบบการวิจัยการเขียนเค้าโครงการวิจัย
การศึกษารายกรณี.
การสร้างสื่อด้วยโปรแกรมคอมพิวเตอร์
หลักการออกแบบของ ADDIE model ADDIE model
บทที่ 2 หลักการแก้ปัญหา
Algorithms.
Object-Oriented Analysis and Design
เนื้อหา ประเภทของโปรแกรมภาษา ขั้นตอนการพัฒนาโปรแกรม
การพัฒนากิจกรรม การเรียนรู้ โดยโครงงาน
องค์ประกอบพื้นฐาน ของโปรแกรม Visual Basic
การดำเนินงานสุขศึกษา ในชุมชน
การวางแผนและการดำเนินงาน
คอมพิวเตอร์ช่วยสอน ประเภทเกม (Game).
Surachai Wachirahatthapong
SCC : Suthida Chaichomchuen
Classification Abstraction
SCC : Suthida Chaichomchuen
การเขียนโปรแกรมคอมพิวเตอร์และอัลกอริธึม
ความรู้พื้นฐานเกี่ยวกับการวิจัย
การพัฒนาระบบสารสนเทศ (Information System Development)
การรวบรวมความต้องการ (Requirements Gathering)
วิธีการทางคอมพิวเตอร์
คณิตศาสตร์คอมพิวเตอร์
การแก้ปัญหาทางเทคโนโลยีสารสนเทศ
การเขียนผังงาน (Flowchart)
โปรแกรมภาษาจาวาเบื้องต้น Basic Java Programming 3(2-2-5)
บทที่ 3 การวิเคราะห์ Analysis.
ที่ใช้ใน Object-Oriented Design
บทที่ 2 หลักการแก้ปัญหา
การวิเคราะห์และออกแบบระบบเชิงวัตถุ (OOAD)
การวิเคราะห์และออกแบบระบบเชิงวัตถุ Object Oriented Analysis and Design
บทที่ 2 Abstractions Agenda Objectives : วัตถุประสงค์ Abstractions
การออกแบบโปรแกรม ขั้นตอนการแก้ปัญหา การนิยามปัญหา (Problem definition)
เรื่องหลักการแก้ปัญหา
Geographic Information System
การสร้างข้อสอบ ตามแนวการวัดใน PISA
2.1 วิธีแก้ปัญหาด้วยคอมพิวเตอร์ (Computer problem solving methods)
Object-Oriented Programming
การเขียนเอกสารชี้แจงผู้เข้าร่วมการวิจัย (Participant Information Sheet) โดย นางนวี เอกศักดิ์ กรรมการจริยธรรมการวิจัยในคน มหาวิทยาลัยมหิดล (Layperson)
ทักษะการคิดวิเคราะห์
ปัญหาคืออะไร. การวิเคราะห์ขั้นตอนวิธีการแก้ไขปัญหา รายวิชา การโปรแกรมและการประยุกต์ (ง30222)
งานเทคโนโลยีสารสนเทศ โรงเรียนพนมเบญจา
หลักการแก้ปัญหา
Chapter 01 Problem-Solving Concept แนวคิดการแก้ปัญหา
หลักการแก้ปัญหา.
หน่วยที่ 4 หลักการแก้ปัญหากับภาษาคอมพิวเตอร์
Midterm outline Object-oriented programming Wattanapong suttapak, Software Engineering, school of Information communication Technology, university of phayao.
บทที่ 2 แนวคิดในการเขียนโปรแกรม. ขั้นตอนการ พัฒนาโปรแกรม ในการพัฒนาโปรแกรมมีขั้นตอนหลัก 5 ขั้นตอน ซึ่งไม่ว่าจะทำการพัฒนาโปรแกรม ครั้งใดจะต้องปฏิบัติตามขั้นตอนเหล่านี้
วิธีการคิดวิเคราะห์.
Object Oriented Programming : OOP
WBI คืออะไร   WBI หรือ Web Base Instruction เป็นการจัดกิจกรรมการสอนใน รูปแบบของ Web Knowledge Based โดยใช้เทคโนโลยีทางของ Webpage เป็นศูนย์กลางในการนำเสนอเนื้อหา.
Modeling and Activity Diagram
การวิเคราะห์และออกแบบระบบ System Analysis and Design
Class. ทบทวน Object ประกอบด้วย ชื่อ Attributes -> คุณลักษณะ Methods -> การกระทำ ให้ลองเขียน Object โดยใช้รูปแบบดังนี้ ชื่อ Attributes Methods.
Unified Modeling Language
การสร้างสื่อ e-Learning
นายอนุพงศ์ อินทนิด วิทยาลัยเทคโนโลยีหมู่บ้านครูภาคเหนือ จังหวัดลำพูน
การออกแบบสื่อเพื่อการศึกษา ADDIE Model
Computer Program คือ ขั้นตอนการทำงาน ของคอมพิวเตอร์
ตัวอย่าง การเขียนโครงการ
การเตรียมข้อมูล (Data preparation)
ใบสำเนางานนำเสนอ:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Thank you……