The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

หน่วยที่-3-หลักการพื้นฐานและแนวคิดเชิงวัตถุ.docx

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by 65302040027, 2023-05-23 10:09:56

หน่วยที่-3-หลักการพื้นฐานและแนวคิดเชิงวัตถุ.docx

หน่วยที่-3-หลักการพื้นฐานและแนวคิดเชิงวัตถุ.docx


ก คำนำ รายงานเล่มนี้จัดทำขึ้นเพื่อเป็นส่วนหนึ่งของวิชา การวิเคราะห์และออกแบบระบบเชิง วัตถุระดับชั้น ปวส.2 โดยมีจุดประสงค์ เพื่อศึกษาหาความรู้ในเรื่อง หลักการวิเคราะห์และ ออกแบบเชิงวัตถุและได้ศึกษาอย่างเข้าใจเพื่อเป็นประโยชน์กับการเรียน คณะผู้จัดทำหวังว่า รายงานเล่มนี้จะเป็นประโยชน์แก่ผู้อ่าน หรือนักเรียน นักศึกษา ไม่มากก็น้อย ที่กำลังศึกษาหาข้อมูลเกี่ยวกับเรื่องนี้อยู่ หากมีข้อแนะนำหรือข้อผิดพลาดประการใด คณะผู้จัดทำ รายงานขอน้อมรับไว้และขออภัยมา ณ ที่นี้ด้วย คณะผู้จัดทำ


ข สารบัญ เรื่อง หน้า คำนำ ก สารบัญ ข หลักการพื้นฐานการพัฒนาระบบเชิงวัตถุ 1 วิธีการพัฒนาระบบเชิงวัตถุ 1 การพัฒนาระบบเชิงโครงสร้าง(Structured System Development) 1 การพัฒนาระบบเชิงวัตถุ 2 หลักการเชิงวัตถุ 2 แนวคิดเชิงวัตถุขั้นพื้นฐาน 2 แนวคิดการเขียนโปรแกรมเชิงกระบวนการกับการ และแนวคิดเชิงวัตถุเขียนโปรแกรมเชิงวัตถุ 5 การเขียนโปรแกรมเชิงกระบวนการ 5 การเขียนโปรแกรมเชิงวัตถุ (Object - oriented Programming) 6 พื้นฐานความรู้ในการเขียนโปรแกรมเชิงวัตถุ 7 ประโยชน์ของการเขียนโปรแกรมเชิงวัตถุ 8 คำถามอัตนัย 9 คำถามปรนัย 10 อ้างอิง 11


หน่วยที่ 3 หลักการพื้นฐานและแนวคิดเชิงวัตถุ 3.1 หลักการพื้นฐานการพัฒนาระบบเชิงวัตถุ หลักการพื้นฐานการพัฒนาระบบเชิงวัตถุ เป็นที่ทราบกันดีว่าในอดีตการพัฒนาระบบมัก เป็นรูปแบบโครงสร้าง และนิยมใช้แนวทางแบบวงจรการพัฒนาระบบ หรือ โมเดลน้ำตก มา พัฒนาระบบสารสนเทศ ซึ่งพบว่าประสบความสำเร็จอยู่ได้สักระยะหนึ่ง ต่อมามีการปฏิวัติ อุสาหกรรมครั้งใหญ่ระบบสารสนเทศมีการพัฒนาอย่างรวดเร็วและกว้างขว้าง นักพัฒนาระบบ ต้องพยายามคิดค้นวิธีใหม่ๆ เพื่อนำมาใช้แข่งขันทางธุรกิจ ต้องอาศัยนวัตกรรมและเทคโนโลยี สมัยใหม่มาใช้ในการพัฒนาระบบให้มีประสิทธิภาพและหนึ่งในแนวทางการพัฒนาที่คิดค้นได้ก็คือ การพัฒนาระบบเชิงวัตถุ 3.2 วิธีการพัฒนาระบบเชิงวัตถุ 3.2.1 การพัฒนาระบบเชิงโครงสร้าง (Structured System Development) การพัฒนาระบบเชิงโครงสร้างเป็นวิธีการพัฒนาระบบเเบบดั้งเดิมที่เกี่ยวข้องกับการ วิเคราะห์เชิงโครงสร้าง การออกแบบเชิงโครงสร้าง เเละการโปรแกรมเชิงโครงสร้าง โดยมี รายละเอียด ดังนี้ 3.2.1.1 เทคนิคการโปรแรกมเชิงโครงสร้าง เป็นเทคนิคในการพัฒนาโปรแรกมที่มี หนึ่งจุดเริ่มต้นเเละหนึ่งจุดสิ้นสุด โดยมีรูปแบบชุดคำสั่งที่ใช้ในการประมวลผล 3 รูปแบบ คือ 1) ชุดคำสั่งเรียงลำดับ (Sequence) 2) ชุดคำสั่งกำหนดทางเลือกหรือการตัดสินใจ (Decision) 3) ชุดคำสั่งเพื่อการทำซ้ำหรือวนลูป (Repetition/Looping) 3.2.1.2 เทคนิคการออกแบบเชิงโครงสร้าง เป็นเทคนิคในการนำเสนอระบบที่ พัฒนาผ่านทางโครงสร้าง (Structure Chart) ซึ่งเป็นเเผนภาพที่เเสดงให้เห็นถึงโมดูลภายใน โปรแกรมเเละเเสดงวิธีการจัดการกับโมดูลเเละการส่งผ่านข้อมูลระหว่างโมดูลทำให้นักออกแบบ ทราบถึงกระบวนการทำงานของระบบฟังก์ชันหลักของระบบ ข้อมูลที่ใช้ในระบบ เเละผลลัพธ์ที่ได้ จากการทำงานของระบบฟังก์ชันหลักของระบบ ข้อมูลที่ใช้ในระบบ เเละผลลัพธ์ที่ได้จากการ ทำงานของระบบ ต่อมามีการพัฒนาเทคนิคการออกแบบแฟ้มข้อมูลเเละฐานข้อมูลขึ้นมา เพื่อใช้ ควบคู่กับการออกแบบเชิงโครงสร้าง เช่น ระบบจัดการฐานข้อมูล (DBMS) ที่สามารถออกแบบ ส่วนติดต่อ


2 1) เพื่อสร้างโปรแกรมให้มีคุณภาพและทำนายว่าจะเกิดอะไรขึ้นใน โปรแกรม 2) เพื่อสร้างโปรแกรมที่ง่ายต่อการแก้ไขปรับปรุง 3) เพื่อให้ขั้นตอนการพัฒนาโปรแกรมมีระบบระเบียบยิ่งขึ้น 4) เพื่อให้การพัฒนาระบบมีความรวดเร็วและประหยัดต้นทุน 3.2.1.3 การวิเคราะห์เชิงโครงสร้าง โดยทำการวิเคราะห์ข้อมูลจากเอกสาร รายงาน เเละขั้นตอนการทำงานของระบบงานเดิม จากนั้นสร้างแบบจำลองกระบวนการทำงานของระบบ สารสนเทศเพื่อเเสดงให้เห็นกระบวนการทำงานของระบบ ข้อมูลที่ระบบต้องการ ข้อมูลที่ได้จาก การทำงานของบุคคลหรือหน่วยงานที่เกี่ยวข้องกับระบบ และเเฟ้มที่ใช้จัดเก็บข้อมูลของระบบ มี การเเสดงทิศทางการไหลของข้อมูลในเเต่ละกระบวนการที่เรียกว่า แผนภาพกระเเสข้อมูล (Data Flow Diagram) 3.2.2 การพัฒนาระบบเชิงวัตถุ การพัฒนาระบบเชิงวัตถุเป็นวิธีการพัฒนาระบบสารสนเทศที่วิเคราะห์ข้อมูลโดยมอง ทุกส่วนของระบบเป็นวัตถุ เเละจัดประเภทของวัตถุตามคุณลักษณะทางนามธรรม ออกเป็นกลุ่มๆ เรียกว่า คลาส ซึ่งจะกำหนดคุณสมบัติของวัตถุนั้นอย่างชัดเจน 3.3 หลักการเชิงวัตถุ แนวคิดเชิงวัตถุคือการมองหรือการใช้วัตถุ (Object) เป็นตัวหลักในการพิจารณาความเป็น จริงในโลก โดยพิจารณาวา่ กิจกรรมทั้งหมดที่เกิดขึ้นในโลกนั้น เกิดจากความสัมพันธ์ และการ ปฏิสัมพันธ์ของวัตถุต่าง ๆ ที่มีต่อกนั โดยจะมองทุกสิ่งทั้งที่เป็นรูปธรรม (สิ่งที่จับต้องได้) และ นามธรรม (สิ่งที่จับต้องไม่ได้) ให้เป็นวัตถุ และใช้เป็นตัวแทนในการทำกิจกรรมบนคอมพิวเตอร์ เพื่อให้คอมพิวเตอร์สามารถแก้ปัญหาที่เกิดขึ้นจริงในโลกได้ดังนั้นการเขียนโปรแกรมที่นำแนวคิด เชิงวัตถุมาใช้จึงถูกเรียกวา่ “การโปรแกรมเชิงวัตถุ” 3.3.1 แนวคิดเชิงวัตถุขั้นพื้นฐาน แนวคิดเชิงวัตถุขั้นฐานประกอบด้วย 4 แนวคิด ได้แก่ แนวคิดการมองแบบนามธรรม แนวคิดการห่อหุ้ม แนวคิดการทำโมดูล และแนวคิดการสร้างลำดับขั้นโดยแนวคิดพื้นฐานเหล่านี้ เป็นแนวคิดที่จำเป็นในการโปรแกรมเชิงวัตถุเป็นอย่างยิ่งซึ่งรายละเอียดของแต่ละแนวคิดสามารถ อธิบายได้ 3.3.1.1 แนวคิดการมองแบบนามธรรม (Abstraction) ก่อนที่จะเข้าสู่แนวคิด พื้นฐานแรกของหลกัการเชิงวัตถุ องค์ประกอบของแนวคิด เชิงวัตถุที่จำเป็นก็คือวัตถุ (Object) และคลาส (Class) ที่เป็นส่วนสำคัญในแนวคิดเชิงวัตถุมีลักษณะที่สำคัญ ดังนี้


3 1) วัตถุและคลาส วัตถุเป็นตัวแทนของสิ่งที่สนใจ ซึ่งอาจจับต้องได้หรือ อาจจับต้องไม่ได้ตัวอย่าง ของวัตถุที่จับต้องได้เช่น เครื่องคิดเลข บัญชีธนาคารและคน เป็นต้น ส่วนวัตถุที่จับต้องไม่ได้เช่น วิชาเรียน คะแนน และเที่ยวบิน เป็นต้น ซึ่งวัตถุทั้งสองชนิดนี้จะมี องค์ประกอบที่เหมือนกันได้แก่คุณสมบัติหรือคุณลักษณะ (Property/Attribute) และพฤติกรรม หรือ การกระทำ (Behavior/Operation) แสดงตัวอย่างองค์ประกอบของวัตถุที่สนใจ ดังตาราง ที่1.1 วัตถุ คุณสมบัติ พฤติกรรม เครื่องคิดเลข ตัวเลข เครื่องหมาย จุด ทศนิยม คำนวณผลลัพธ์ บัญชีธนาคาร ชื่อเข้าของบัญชี เลขที่บัญชี ยอดเงินคงเหลือ ฝากเงิน ถอนเงิน โอนเงิน คน ชื่อ ความสูง น้ำหนัก อายุ ฟัง พูด อ่าน เขียน 3.3.1.2 แนวคดิการห่อหุ้ม (Encapsulation) แนวคิดการห่อหุ้ม (Encapsulation) มีรากศัพท์มาจากคำว่า แคปซูล (Capsule) ดังนั้น แนวคิดการห่อหุ้มจึงหมายถึง การซ่อนข้อมูล และการทำงานของวัตถุไว้ภายใน (Information Hiding) เพื่อป้องกันการมองเห็นและการเข้าถึง ข้อมูลจากวัตถุภายนอก โดยการห่อหุ้มนี้จะมองวัตถุเฉพาะ ภายนอกเท่านั้น ไม่ต้องรู้ว่าวัตถุนั้น เกิดขึ้นได้อย่าง หรือมีการทำงานภายในอย่างไร เช่น การใช้อุปกรณ์ควบคุมในการเปลี่ยน ช่องสัญญาณโทรทัศน์ สิ่งที่เห็นจะเป็นเพียงผลลัพธ์ที่ได้จากการ เปลี่ยนแปลงคือ รายการที่ เปลี่ยนไปตามช่องสัญญาณที่กำหนด แต่จะไม่รู้เลยว่าโทรทัศน์นั้น ทำงาน อย่างไรและมีคุณสมบัติ หรือข้อมูลภายในอะไรที่เปลี่ยนแปลงไปบ้าง 3.3.1.3 แนวคิดการทำเป็นโมดูล (Modularity) แนวคิดการทำเป็นโมดูล หมายถึง การแบ่งปัญหาใหญ่ที่สลับซับซ้อนออกเป็น ส่วนย่อย โดยส่วนย่อยจะมีเนื้อหาหาสมบูรณ์ด้วยตัว มันเอง เพราะการทำงานจะเสร็จสิ้นภายในหนึ่ง โมดูล ทำให้สามารถแยกส่วนการทำงานและแก ไข้โปรแกรมขนาดใหญ่ได้ง่าย โดยแต่ละโมดูลจะสามารถจัดการสร้างคำสั่งหรือทำกิจกรรมใดๆก็ ได้ภายในโมดูล แต่ต้องมีการกำหนดอินเตอร์เฟส (ส่วนนำเข้าและส่วนผลลัพธ์) ไว้ชัดเจน เพื่อให้ แต่ละโมดูลสามารถเชื่อมต่อกันได้การทำเป็นโมดูล จะช่วยให้เกิดความคล่องตัวในการแก้ไข เพราะการแก้ไขการทำงานภายในโมดูลหนึ่งจะไม่ส่งผลกระทบกับโมดูลอื่น ดังนั้นการทำเป็นโมดูล จึงเหมาะกับระบบงานขนาดใหญ่ที่มีความซับซ้อน เช่น ระบบลงทะเบียน ซึ่งเป็นระบบที่ยุ่งยาก และซับซ้อน สามารถแบ่งระบบเป็น 3 โมดูลย่อย เช่น โมดูล การจัดการเกี่ยวกับการเงิน โมดูล การจดัการเกี่ยวกับข้อมูลนกัศึกษา และโมดูลการจดัการเกี่ยวกับแผนการเรียน เป็นต้น และหาก


4 โมดูลย่อยเหล่านี้ยังคงสลับซับซ้อนก็สามารถแบ่งเป็นโมดูลย่อยที่ เล็กลงไปได้อีกการออกแบบเชิง โมดูลนั้นมีหลักการดังนี้ 1) หลักการ (Decomposability) คือ ความสามารถในการแตกออกเป็น โมดูลย่อย โดยการพัฒนาโปรแกรมแบบโมดูลนั้น จะแยกองค์ประกอบของซอฟต์แวร์ทั้งหมด ออกเป็นหน้าที่การทำงานย่อยซึ่งแต่ละส่วนจะมีความสัมพันธ์กันในเชิงของการรับส่งค่าหรือการ เรียกใช้กันโดยในแต่ละส่วนยังสามารถแบ่งย่อยออกไปได้อีกตามต้องการ ถ้าส่วนใดยังมีขนาด ใหญ่และมีการทำงานที่ซับซ้อนอยู่ 2) หลักการ (Composability) คือ ความสามารถในการรวมกันของโมดูล เพื่อทำหน้าที่ใดหน้าที่หนึ่งการพัฒนาโปรแกรมแบบโมดูลที่ดีจะต้องสามารถนำเอาโมดูลย่อยที่ ออกแบบ ไว้นำมารวมกันให้เป็นระบบใหม่ที่รวมการทำงานทั้งหมดของโมดูลย่อยไวด้วยกัน โดย โมดูลย่อย เหล่านั้นจะทำหน้าที่ตามที่ตนได้รับการออกแบบไว้ 3) หลักการ (Understandability) คือความสามารถในการเข้าใจโมดูล ใดโมดูลหนึ่ง ได้ โดยไม่ต้องพิจารณาองค์ประกอบอื่นของโปรแกรมเพื่อให้เข้าใจโมดูลที่กำลัง พิจารณาอยู่นั้นก็คือแต่ละโมดูลจะต้องมีความหมายอยู่ในตัวเอง ไม่จำเป็นต้องอ้างถึงโมดูลตัวอื่น 4) หลักการ (Continuity) คือการออกแบบเชิงโมดูลให้รองรับการ เปลี่ยนแปลงการทำงานของโปรแกรมเพียงบางส่วน โดยผลที่เกิดขึ้นคือการเปลี่ยนแปลงโมดูล เพียงตัวเดียวหรือบาง ตัวไม่จำเป็นต้องเปลี่ยนแปลงโครงสร้างโปรแกรมใหม่ทั้งหมด 5) หลักการ (Protection) คือการออกแบบเชิงโมดูลซึ่งเมื่อเกิดความ ผิดพลาดในการทำงานภายในโมดูลใดโมดูลหนึ่ง ผลที่ผิดพลาดจะต้องไม่ทำความเสียหายต่อการ ทำงานหรือการออกแบบโดยรวม โดยผลที่เกิดขึ้นควรควบคุมได้ภายในโมดูลนั้นหรือโมดูลที่ เกี่ยวข้องเท่านั้นสรุปแนวคิดการทำเป็นโมดูล คือ การแบ่งระบบใหญ่ที่ซับซ้อนให้เป็นส่วนย่อย หรือโมดูลย่อยหลายส่วน และให้การทำงานเสร็จสิ้นภายในหนึ่งโมดูล หลังจากนั้นจึงนำโมดูลย่อย เหล่านั้นมาประกอบกันเป็นระบบที่สมบูรณ์ซึ่งการทำเป็นโมดูลจะช่วยให้เราสามารถดูแลระบบได้ ง่ายขึ้น เพราะโมดูลเหล่านั้นสามารถแก้ไขเปลี่ยนแปลงการทำงานโดยอิสระไม่ขึ้นต่อกันจะมีเพียง อินเตอร์เฟสเท่านั้น ที่ใช้ตัดต่อสื่อสารกันระหว่างโมดูลเหล่านั้น 3.3.1.4 แนวคิดการสร้างลำดับชั้น (Hierarchy) แนวคิดการสร้างลำดับชั้น คือการ จัดกลุ่มสิ่งต่างๆ เป็นลำดับชั้นตามแนวคิดการมองแบบนามธรรม โดยมองว่าวัตถุต่างๆ มี ความสัมพันธ์กัน เป็นลำดับชั้นแบบโครงสร้างต้นไม้ซึ่งการมองด้วยแนวคิดที่ต่างกันจะทำให้ได้ ลำดับชั้นโครงสร้างต้นไม้ทั้งต่างกันขึ้นอยู่กับมุมมองของแต่ละบุคคลเช่นเดียวกับการกำหนด คุณสมบัติและพฤติกรรมของวัตถุนั้น เช่น ยานพาหนะสามารถแบ่งเป็นยานพาหนะทางอากาศ ทางบก หรือทางน้ำ แต่ถ้าพิจารณายานพาหนะในแง่ของระบบเครื่องยนต์อาจแบ่งยานพาหนะได้


5 เป็นยานพาหนะเครื่องยนต์เบนซิน เครื่องยนต์ดีเซล หรือ เครื่องยนต์ไอน้ำ เป็นต้น การจัดกลุ่ม เป็นลำดับชั้น มีแนวคิดดังนี้ 1) วัตถุที่อยู่ในโครงสร้างต้นไม้เดียวกันต้องมีความสัมพันธ์กันในแง่ใดแง่ หนึ่ง 2) วัตถุที่อยู่ในลำดับชั้นที่ต่ำกว่าจะมีความหมายที่เฉพาะเจาะจงกว่าวัตถุ ที่อยู่ในลำดับชั้นที่สูงกว่า 3) วัตถุที่อยู่ในลำดับชั้นเดียวกันของโครงสร้างต้นไม้ 3.4 แนวคิดการเขียนโปรแกรมเชิงกระบวนการกับการ และแนวคิดเชิงวัตถุเขียนโปรแกรม เชิงวัตถุ 3.4.1 การเขียนโปรแกรมเชิงกระบวนการ แนวความคิดนี้เป็นการจัดการคำสั่งต่าง ๆ ให้มี รูปแบบและมาตรฐานที่สามารถเขียนโปรแกรมได้ง่าย ตรวจสอบการทำงานของโปรแกรมได้โดย ไม่ยุ่งยาก และง่ายต่อการปรับปรุงในอนาคต ซึ่งมีโครงสร้างการควบคุม พื้นฐาน 3 รูปแบบคือ 1) โครงสร้างแบบเป็นลำดับขั้นตอน (sequence) ประกอบด้วยคำสั่งหรือ ชุดคำสั่งไม่มีเงื่อนไขมีทางเข้าทางเดียวและมีทางออกทางเดียว ดำเนินการแบบเรียงลำดับ ต่อเนื่องจากบนลงล่างโดยแต่ละขั้นตอนมีการดำเนินงานเพียงครั้งเดียว ภาพที่ 3.1 โครงสร้างแบบเป็นลำดับขั้นตอน (sequence) ที่มา: https://www.kruja.club/201n.html


6 2) โครงสร้างแบบมีทางเลือกในการตัดสินใจเลือกทางใดทางหนึ่ง (Decision) เป็นโครงสร้างที่มีเงื่อนไข และมีการตรวจสอบเงื่อนไข (condition) ว่าเป็นค่าจริง หรือค่าเท็จ แล้วดำเนินงานตามคำสั่งที่เป็นไปตามเงื่อนไขที่กำหนด ภาพที่ 3.2 โครงสร้างแบบมีทางเลือกในการตัดสินใจเลือกทางใดทางหนึ่ง (Decision) ที่มา: https://www.kruja.club/201n.html 3) โครงสร้างแบบทำซ้ำ (iteration) เป็นการทำงานในลักษณะวนซ้ำ หลายๆ รอบ (Loop) โดยหลุดออกจากเงื่อนไขก็ต่อเมื่อเงื่อนไขตรงตามที่ กำหนดไว้ ภาพที่ 3.3 โครงสร้างแบบทำซ้ำ (iteration) ที่มา: https://www.kruja.club/201n.html


7 3.4.2 การเขียนโปรแกรมเชิงวัตถุ (Object - oriented Programming) หรือแนวคิด เชิงวัตถุตั้งอยู่บนพื้นฐานการแจกแจงรายละเอียดของปัญหา ในการเขียนโปรแกรมเพื่อให้เป็นไป ตามหลักการเชิงวัตถุนั้นต้องพยายามมองรูปแบบวัตถุให้ออกทุกอย่างเป็นวัตถุหรือชิ้นแต่ละชิ้นก็ จะมีหน้าที่แตกต่างกันไป เช่น รถยนต์ จะมีรถหลายแบบ หลายรุ่น หลายยี่ห้อ รถยนต์ก็จะแยก เป็นระบบต่าง ๆ ประกอบกันเป็นรถ 1 คัน เช่น ระบบล้อ ระบบเกียร์ ระบบไฟฟ้า เป็นต้น การ เขียนโปรแกรมเชิงวัตถุ เราจะเรียกวัตถุชั้นมาใช้แล้วประกอบเป็น 1 โปรแกรมที่มีความสามารถ แตกต่างกันออกไป วัตถุหนึ่ง ๆ เป็นแหล่งรวมของข้อมูลและกระบวนการเข้าไว้ด้วยกัน โดยจะมี คลาส (Class) เป็นตัวกำหนดคุณสมบัติของวัตถุ และคลาสจะสามารถสืบทอดคุณสมบัติไปยัง คลาส (Class) ย่อยต่างๆ ที่เรียกว่า (object) ได้ด้วยคุณสมบัติดังกล่าวจึงทำให้ เกิดการนำมาใช้ ใหม่ (Reusable) ที่ทำให้ลดขั้นตอนการพัฒนาโปรแกรมลงได้โดยเฉพาะโปรแกรมขนาดใหญ่ที่มี ความซับซ้อนสูง การทำความเข้าใจถึงหลักการเขียนโปรแกรมเชิงวัตถุต้องอาศัยจินตนาการ พอสมควร ภาพที่ 3.4 การเขียนโปรแกรมเชิงวัตถุ (Object - oriented Programming) ที่มา: https://www.kruja.club/201n.html 3.5 พื้นฐานความรู้ในการเขียนโปรแกรมเชิงวัตถุ การสร้างโปรแกรมย่อยหรือฟังก์ชันจึงขึ้นตรงต่อโครงสร้างข้อมูล เมื่อมีการเปลี่ยนแปลง โครงสร้างของข้อมูลจึงต้องเปลี่ยนการทำงานในโปรแกรมไปด้วยในบางครั้งอาจต้องกลับมาเขียน โปรแกรมขึ้นมาใหม่จะเห็นได้จากระบบใหญ่ที่มีความซับซ้อนมาก วิธีการเขียนโปรแกรมแบบ มี โครงสร้างจึงไม่เหมาะสมสำหรับการสร้างแอพพลิเคชั่นที่ไม่ใหญ่มาก การเขียนโปรแกรมเชิงวัตถุ (Object Oriented Programming) หมายถึง การมองการเขียนโปรแกรมเป็นลักษณะของวัตถุ มากกว่าการกระทำวัตถุบนโลกของการเขียนโปรแกรมมีหน้าที่ความรับผิดชอบเป็นของตนเอง


8 และการเขียนโปรแกรมเชิงวัตถุจะแยกปัญหาหรือระบบงานออกเป็นส่วนเพื่อลดความซับซ้อนให้ น้อยลง เชิงวัตถุเป็นวิธีการใหม่ในการเขียนโปรแกรมโดยมุ่งที่จะเพิ่มประสิทธิภาพในการสร้าง โปรแกรมทำให้การพัฒนาโปรแกรมด้วยวิธีนี้ใช้เวลาสั้นลงและต้นทุนต่ำลง โดยการนำชุดคำสั่งที่ สร้างไปแล้วกลับมาใช้งานใหม่ได้ และยังหาจุดที่ต้องการแก้ไขในโปรแกรมได้ง่ายขึ้น เป็นวิธีการ เขียนโปรแกรมที่นำแนวคิดในความเป็นจริงที่อยู่รอบตัวมาใช้กับการเขียนโปรแกรม เช่น เปรียบเทียบวิธีการที่ผู้เขียนโปรแกรมกับช่างยนต์ ประกอบรถยนต์ขึ้นมาหนึ่งคัน สิ่งที่ต้องการคือ เครื่องยนต์ถังน้ำมัน ล้อรถ โครงสร้างรถ เป็นต้น เมื่อได้ชิ่นส่วนที่ต้องการแล้วก็นำมาประกอบเข้า ด้วยกัน จะเห็นว่าช่างยนต์ไม่จำเป็นต้องสร้างเครื่องยนต์และอุปกรณ์ต่าง ๆ ด้วยตัวช่างยนต์เอง แต่จะเป็นผู้สร้างที่มีความเข้าใจส่วนประกอบทำงานอย่างไรและจะนำเอาไปใช้ร่วมกับชิ้นส่วนอื่น ได้อย่างไร ช่างยนต์สามารถประกอบรถยนต์ขึ้นมาด้วยความชำนาญของตนเอง เช่นเดียวกันกับ การสร้าง 2 โปรแกรมคอมพิวเตอร์แบบเชิงวัตถุ คือ การมองโปรแกรมว่าเป็นส่วนประกอบด้วย ชิ้นส่วนต่าง ๆ ที่นักเขียนโปรแกรมนำมาประกอบกัน เช่น เมื่อต้องการเขียนโปรแกรมบนวินโดวน์ อุปกรณ์พื้นฐานที่ต้องการ เช่น Label Button Textbox Form เป็นต้น สามารถประกอบกัน เป็นโปรแกรมได้โดยไม่จำเป็นต้องทราบว่าอุปกรณ์พื้นฐานนั้นสร้างขึ้นมาได้อย่างไร เพียงแต่ต้อง ศึกษาให้เข้าใจว่าจะใช้ชิ้นส่วนใด ใช้อย่างไร ก็สามารถสร้างโปรแกรมขึ้นมาได้โดยการนำวัตถุมา ประกอบกันเหมือนกับช่างยนต์นำเอาชิ้นส่วนมาประกอบเข้าด้วยกัน 3.6 ประโยชน์ของการเขียนโปรแกรมเชิงวัตถุ 1) เข้าง่ายโดยการมองความจริงในรอบตัวที่เป็นวัตถุและมีควาหมาย ภายในตัวเอง 2) สามารถปรับปรุงแก้ไขโปรแกรมได้ง่ายและส่งผลกระทบต่อโปรแกรม น้อยเนื่องจากแยกส่วนการทำงานกัน 3) มีรูปแบบการตรวจสอบข้อมูลผิดของโปรแกรมจึงมีความถูกต้องและ ปลอดภัยสูง 4) มีความปลอดภัยในขบวนการเข้าถึงข้อมูล (Information Hidden) ที่ ซ้อนกันของข้อมูลสูง 5) มีกระบวนการของการสืบทอดทำให้สะดวกในการเขียนโปรแกรม 6) ลดขั้นตอนการเขียนโปรแกรมเนื่องจากมีคุณสมบัติของการนำกลับมา ใช้ใหม่ (Reusability) 7) เนื่องด้วยโปรแกรมมีคุณภาพสูงจึงสามารถนำไปใช้ได้หลาย แพลตฟอร์ม (Platform)


9 คำถามอัตนัย 1. องค์ประกอบสำคัญของการพัฒนาระบบเชิงวัตถุ มีอะไรบ้าง เครื่องมือที่ใช้, เทคนิค, แบบจำลอง, การจัดองค์กร 2. แนวคิดเชิงวัตถุขั้นพื้นฐานประกอบด้วย 4 แนวคิด อะไรบ้าง Abstraction, Encapsulation, Modularity, Hierarchy 3. จงยกตัวอย่างประโยชน์ของการเขียนโปรแกรมเชิงวัตถุมาอย่างน้อย 3 ข้อ 1) สามารถปรับปรุงแก้ไขโปรแกรมได้ง่าย 2) มีความปลอดภัยในขบวนการเข้าถึงข้อมูล 3) มีรูปแบบการตรวจสอบข้อมูลผิดของโปรแกรมจึงมีความถูกต้องและปลอดภัยสูง


10 คำถามปรนัย 1. การเขียนโปรแกรมเชิงวัตถุ ประกอบไปด้วยกี่ส่วน ก. 1 ส่วน ข. 2 ส่วน ค. 3 ส่วน ง. 4 ส่วน 2. แนวคิดเชิงวัตถุขั้นพื้นฐานประกอบด้วยกี่แนวคิด ก. 2 แนวคิด ข. 3 แนวคิด ค. 4 แนวคิด ง. 5 แนวคิด 3. กระบวนการพัฒนาระบบเชิงวัตถุประกอบด้วยกี่ขั้นตอน ก. 2 ขั้นตอน ข. 3 ขั้นตอน ค. 4 ขั้นตอน ง. 5 ขั้นตอน 4. องค์ประกอบสำคัญของการพัฒนาระบบเชิงวัตถุ มีอะไรบ้าง ก. เทคนิค, แบบจำลอง, วิเคราะห์ ข. เครื่องมือที่ใช้, เทคนิค, แบบจำลอง, การจัดองค์กร ค. เครื่องมือที่ใช้, การจัดองค์กร, เทคนิค, ออกแบบ ง. แบบจำลอง, เครื่องมือที่ใช้, ออกแบบ, วิเคราะห์ 5. แนวคิดเชิงวัตถุขั้นพื้นฐานประกอบด้วย 4 แนวคิด อะไรบ้าง ก. Abstraction, Encapsulation, Modularity, Hierarchy ข. Classification, Abstraction, Modularity, aggregation ค. Encapsulation, Hierarchy, generalization, association ง. generalization, association, Classification, aggregation


11 อ้างอิง จารุณี ขันใจ. การเขียนโปรแกรมภาษาชั้นพื้นฐาน เข้าถึงเมื่อวันที่ 17 พฤษภาคม 2566 จาก https://www.kruja.club/201n.html เอกราช ธรรมษา. การเขียนโปรแกรมเชิงวัตถุ เข้าถึงเมื่อวันที่ 17 พฤษภาคม 2566 จาก http://www.comtech.ubru.ac.th/~ekarach/book/oop/1.pdf?fbclid=IwAR2J2Jn1cUwfMceTDkEWWX2is8_j9-N1gcN7JiRzZuMqxA4XW5D6UxrpkA อมิตา คำพิลา. การวิเคราะห์และออกแบบระบบ เข้าถึงเมื่อวันที่ 17 พฤษภาคม 2566 จาก https://sites.google.com/site/amitaoilysites/2-2-withi-kar-phathnarabb?fbclid=IwAR1ZdXaOWn1eHiww-A3HVY-ADZLdh-pJkLtwZnpey8OS2sSfQg25iHm6Pk Fundamental of Database System. แนวคิดเชิงวัตถุขั้นพื้นฐาน เข้าถึงเมื่อวันที่ 18 พฤษภาคม 2566 จาก http://blog.bru.ac.th/wp-content/uploads/bpattachments/69322/%E0%B8%9A%E0%B8%97%E0%B8%97%E0%B8%B5%E0 %B9%881.pdf?fbclid=IwAR1- 2bm31uT8Snc9aWdgYzJz_iJVREh_FDjsgEyE75b7gUF4ZqCf1xWZe1s ชลธิชา อาจวิชัย. กระบวนการพัฒนาเชิงวัตถุเข้าถึงเมื่อวันที่ 18พฤษภาคม 2566 จาก https://sites.google.com/site/cholticha092230/1-2-karwikheraah-laea-xxkbaeb-rabb


12


Click to View FlipBook Version