43 การพ้องรูป (Polymorphism) รากฐานของการพ้องรูป (Polymorphism) ก็คือ การถ่ายทอดคุณสมบัติเพราะถ้าไม่มีการถ่ายทอด คุณสมบัติก็จะไม่เกิดสภาวะการพ้องรูป การถ่ายทอดคุณสมบัติเป็นเครื่องมือยืนยันได้ว่าคลาสลูกที่เกิดจาก คลาสแม่เดียวกันย่อมมีคุณสมบัติเหมือนกัน การเขียนโปรแกรมและการออกแบบระบบงาน ก่อนที่ผู้เขียนโปรแกรมจะสามารถเขียนคำสั่งได้ จะต้องมีการออกแบบระบบงานก่อนแล้วจึงเขียน โปรแกรมเป็นภาษาต่าง ๆ ตามชนิดของงานและความเหมาะสม การเขียนโปรแกรมเชิงวัตถุก็เช่นกัน ตะ ต้องมีการออกแบบระบบงานก่อน หลักสำคัญสำหรับการออกแบบเชิงวัตถุก็คือ การหาวัตถุให้พบ เมื่อพบ แล้วจะต้องจำแนกวัตถุออกเป็นส่วนที่เปลี่ยนแปลงและส่วนที่อยู่คงที่วัตถุที่ไม่เปลี่ยนแปลงสามารถนำไปใช้ ได้เมื่อมีการปรับปรุงระบบงานใหม่ นั่นคือเหตุผลที่ทำให้ต้องมีการออกแบบระบบงาน วัตถุที่มีการ เปลี่ยนแปลงบ่อยก็ได้แก่ วัตถุที่ทำหน้าที่เป็นอินเตอร์เฟส เป็นต้น ประโยชน์ของการโปรแกรมแบบ OOP เทคโนโลยีของออบเจ็กต์โอเรียนเท็ดได้นำประโยชนาของการพัฒนาซอฟต์แวร์มาให้ดังนี้ ความสามารถในการเรียกใช้ได้หลายครั้งออบเจ็กต์ได้ถูกออกแบบตามหลักการที่ว่าสามารถเรียกใช้งานได้ หลาย ๆ ครั้ง ในหลักการนี้ทำให้Application ของ OOP ตัวแรกอาจจะทำได้ยาก แต่ว่าโปรแกรมแอป พลิเคชันที่เขียนภายหลังจะสร้างง่ายเพราะสามารถเรียกใช้ออบเจ็กต์ที่ถูกสร้างไว้ตั้งแต่โครงงานแรกได้ ความเชื่อถือได้โปรแกรมแอปพลิเคชันของ OOP จะมีความเชื่อถือได้สูงเพราะจะรวมเอาส่วนย่อยที่ทดสอบ จนได้มาตรฐานแล้วมารวมเข้าไว้ด้วยกัน รหัส(Code) ที่เขียนขึ้นมาใหม่ในแต่ละแอพลิเคชั่นจะมีไม่มากนัก เนื่องจากรหัสส่วนใหญ่จะถูกดึงมาจากไลบรารีที่มีความเชื่อถือได้สูงอยู่แล้ว และในการโปรแกรมภาษา C++ ยังมีคุณประโยชน์อื่นอีก ความต่อเนื่องกัน การพัฒนาซอฟต์แวร์แบบ OOP ใน C++ จะเปลี่ยนไปตามฝีมือและจำนวนนักเขียนโปรแกรมภาษา C นัก โปรแกรมภาษา C ที่ชำนาญสามารถเรียนรู้หลักการของ OOP ได้ภายในเวลาไม่นาน และสามารถเข้าใจเนื้อหาได้ไม่ยาก อีกทั้ง สามารถ แปลงโปรแกรมแอพพลิเคชั่นของ C เป็น C++ ได้ แบบฝึกหัด/เฉลย ตอนที่ 1 คำสั่ง จงตอบคำถามต่อไปนี้ให้ถูกต้อง 1. OOP (Object Oriented Programming) หมายถึง ตอบ OOP ก็คือ “ธรรมชาติของวัตถุ” หมายความว่า OOP จะมองสิ่งแต่ละสิ่งถือเป็น “วัตถุ” (Object) มันจะมีสีแดงหรือสีเขียว ยาวหรือสั้น มันก็คือวัตถุชิ้นหนึ่งเหมือนกัน นอกจากนี้ OOP มองทุกสิ่งถือเป็นวัตถุ ชิ้นหนึ่งแล้ว ยังสามารถคิดต่อไปอีกว่า “วัตถุแต่ละอย่างนั้นต่างก็มีลักษณะและวิธีการใช้งานเป็นของ ตัวเอง” หมายความว่าวัตถุแต่ละชิ้นหรือแต่ละชิ้นต่างก็มีรูปลักษณะ และการใช้งาน (การกระทำ) ที่แตกต่าง กันออกไป เราจะเรียกคุณลักษณะของวัตถุว่า แอตทริบิวต์ (Attribute) และจะเรียกวิธีการใช้งานวัตถุว่า เมธทอด (Method) ตัวอย่างเช่น “ดินสอเป็นวัตถุที่มีลักษณะเรียวยาว ภายในเป็นไส้ถ่านใช้สำหรับเขียน การใช้ดินสอทำได้โดยใช้มือจับ และเขียนลงบนวัตถุรองรับ” จากข้อความข้างต้น สามารถจับใจความได้ว่า คุณลักษณะของวัตถุ (Attribute) ก็คือ “ยาวเรียว ภายในเป็นไส้ถ่าน” ส่วนการใช้งาน (Method) ก็คือ “ใช้ มือจับและเขียนลงบนวัตถุรองรับ”
44 2. จงอธิบายแนวคิดแบบ OOP ตอบ แนวคิดของ OOP นั้นจะมีลักษณะคล้ายกับธรรมชาติของสิ่งหนึ่งซึ่งสามารถแบ่งแยกสิ่งต่างๆ ออกเป็นแต่ละประเภทได้ ถ้านำเอาแนวคิดของ OOP มาใช้ในการเขียนโปรแกรมและการจัดการข้อมูล จะ พบว่าโปรแกรมหรือฟังก์ชันจะมีความเป็นอิสระแก่กันอย่างเห็นได้ชัด ก็คือ โปรแกรมหรือฟังชันแต่ละตัว ถึงแม้จะมาจากที่เดียวกันแต่สามารถทำงานในคนละหน้าที่ เก็บข้อมูลคนละค่าได้ โดยไม่มายุ่งเกี่ยวกันแต่ อย่างใด 3. จงบอกความหมายของ การเชื่อมต่อ (Interface) ตอบ หมายถึง ถ้าเป็นการเชื่อมต่อระหว่างผู้ใช้กับคอมพิวเตอร์ จะเรียกการเชื่อมต่อนั้นว่า ยูสเซอร์ อินเตอร์เฟส (User Interface) แต่ในการเขียนโปรแกรมเชิงวัตถุ การเชื่อมต่อยังรวมไปถึงวัตถุ (Object) เพราะในวัตถุจะต้องมีอินเตอร์เฟส อันเป็นส่วนที่วัตถุนั้นๆ จะให้บริการหรือเป็นส่วนที่บอกว่าวัตถุนั้นๆ สามารถทำอะไรได้บ้าง ซึ่งบางครั้งเรียกว่า เมธทอด (Method) 4. จงบอกความหมายของ การนำวัตถุมาใช้ใหม่ (Reuse Object) ตอบ จุดประสงค์ใหญ่ของการเขียนโปรแกรมเชิงวัตถุ ก็คือ การนำส่วนต่างๆ ของวัตถุที่สร้างขึ้นกลับมา ใช้ใหม่หรือที่เรียกในภาษาอังกฤษว่า “Reuse” เมื่อผู้เขียนโปแกรมสร้างวัตถุมีจำนวนมากพอก็สามารถนำ วัตถุที่สร้างขึ้นมาประกอบเป็นวัตถุใหม่ หรือที่เรียกว่าคอมโพสิตชั่น “Composition” นอกจากวิธีการคอมโพสิตแล้ว ผู้ใช้ยังสามารถใช้แนวคิดนำวัตถุกลับมาใช้ใหม่ Reuse ส่วนของวัตถุ โดยการใช้การสืบทอดคุณสมบัติ (Inheritance) จากคลาส ลักษณะเช่นนี้ คือ เป็นการนำส่วนของวัตถุ ทั้งหมดมาใช้ ซึ่งปกติแล้ววัตถุที่นำมาใช้ในลักษณะนี้จะมีขนาดใหญ่ ถ้าเป็นการคอมโพสิตจะประกอบขึ้น จากส่วนของวัตถุที่มีขนาดเล็กกว่า อย่างไรก็ตาม ขนาดของวัตถุมิได้เป็นตัวกำหนดที่แน่นอนตายตัวเสมอไป 5. จงบอกความหมายของ การพ้องรูป (Polymorphism) ตอบ การพ้องรูป (Polymorphism) รากฐานของการพ้องรูป (Polymorphism) ก็คือ การถ่ายทอด คุณสมบัติ เป็นเครื่องมือยืนยันได้ว่าคลาสลูกที่เกิดจากคลาสแม่เดียวกันย่อมมีคุณสมบัติเหมือนกัน 6. จงบอกประโยชน์ของการโปรแกรม OOP ตอบ 1. ความสามารถในการเรียกใช้ได้หลายครั้ง ออกเจ็กต์ได้ถูกออกแบบตามหลักการที่ว่าสามารถ เรียกใช้งานได้หลายๆ ครั้ง ในหลักการนี้ทำให้ Application ของ OOP ตัวแรกอาจจะทำได้ยาก แต่ว่า โปรแกรมแอปพลิเคชันที่เขียนภายหลังจะสร้างง่ายเพราะสามารถเรียกใช้ออบเจ็กต์ที่ถูกสร้างไว้ตั้งแต่ โครงงานแรกได้ 2. ความเชื่อถือได้ โปรแกรมแอปพลิเคชันของ OOP จะมีความเชื่อถือได้สูงเพราะจะรวมเอา ส่วนย่อยที่ทดสอบจนได้มาตรฐานแล้วมารวมเข้าไว้ด้วยกัน รหัส (Code) ที่เขียนขึ้นมาใหม่ในแต่ละแอป พลิเคชันจะไม่มีมากนัก เนื่องจากรหัสส่วนใหญ่จะถูกดึงมาจากไลบรารี่ที่มีความเชื่อถือได้สูงอยู่แล้ว และใน การโปรแกรมภาษา C++ ยังมีคุณประโยชน์อื่นอีก 3. ความต่อเนื่องกัน การพัฒนาซอฟต์แวร์แบบ OOP ใน C++ จะเปลี่ยนไปตามฝีมือและจำนวน นักเขียนโปรแกรมภาษา C นักโปรแกรมภาษา C ที่ชำนาญสามารถเรียนรู้หลักการของ OOP ได้ภายในเวลา ไม่นาน และสามารถเข้าใจเนื้อหาได้ไม่ยาก อีกทั้งสามารถ แปลงโปรแกรมแอปพลิเคชั่นของ C เป็น C++ ได้
45 ตอนที่2 จงเลือกคําตอบที่ถูกต้องที่สุดเพียงข้อเดียว คำสั่ง จงทำเครื่องหมายกากบาท () หน้าข้อที่ถูกต้องมากที่สุดเพียงข้อเดียว 1. Object type หมายถึงอะไร ก. Object type คือกลุ่มของข้อมูลประเภทหนึ่งๆ ข. Object type คือข้อมูลที่เราสนใจ ค. Object type คือชนิดของตัวแปร ง. Object type คือตัวแปรที่ทำให้ชนิดข้อมูลเปลี่ยนแปลง จ. ถูกทั้ง ข้อ ก และ ข 2. Object หมายถึงอะไร ก. Object คือวัตถุ Access ข. Object คือข้อมูลหนึ่งที่เราสนใจ ค. Object คือตัวแปร ง. Object คือนิยามของ Object type จ. ถูกทุกข้อ 3. Object ของสัตว์มีอะไรบ้าง ก. หู ตา คอ จมูก ข. จมูก คอ ขน ค. หมา สิงโต หนู เสือ ง. เพศ หาง เล็บ จ. ไม่มีข้อใดถูก 4. Attribute หมายถึงอะไร ก. ส่วนที่แสดงสถานะของ Object ข. ส่วนที่สืบทอดลักษณะ ค. ส่วนที่ติดต่อกับ Object ภายนอก ง. ถูกทั้ง ข้อ ข และ ค จ. ถูกทุกข้อ 5. Implement หมายถึงอะไร ก. ส่วนที่เป็น private ในภาษาจาวาเพื่อซ่อนข้อมูลจาก user ข. ส่วนที่เป็น public ในภาษาจาวาใช้ติดต่อกับ object ภายนอก ค. ใช้สืบทอดคุณสมบัติ ง. ถูกทั้ง ข้อ ก และ ข จ. ถูกทุกข้อ
46 6. Message หมายถึงอะไร ก. ข้อความที่ส่ง ข. ข้อความที่สื่อสารกัน ค. กลไกลในการสื่อสารระหว่าง object ง. ถูกทั้ง ข้อ ก และ ค จ. ถูกทุกข้อ 7. object ของคอมพิวเตอร์ประกอบด้วยอะไรบ้าง ก. หลอดภาพ แผงวงจร ข. จอภาพ เคท ค. น๊อต การ์จอ ง. ถูกทั้ง ข้อ ก และ ข จ. ผิดทุกข้อ 8. object ของจอภาพประกอบด้วยอะไรบ้าง ก. จอภาพ น๊อต ข. cd rom drive a ค. พัดลม เคท ง. หลอดภาพ แผงวงจร จ. ถูกทุกข้อ 9. object ของเคทประกอบด้วยอะไรบ้าง ก. จอภาพ หลอดภาพ ข. เคท จอภาพ ค. การ์ดจอ การ์ดเสียง ง. ถูกทั้ง ข้อ ข และ ค จ. ถูกทุกข้อ 10. Polymorphism หมายถึงอะไร ก. การสืบเชื้อสาย ข. การถ่ายทอดคุณลักษณะ ค. ความสามารถของ 2 object ขึ้นไปที่ตอบสนองต่อ message ง. ถูกทั้ง ข้อ ก และ ข จ. ถูกทุกข้อ เอกสารอ้างอิง วิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุรหัสวิชา 30204-2003 ผู้เรียบเรียง วราภรณ์ อุ้มอังวะ บริษัท ศูนย์หนังสือเมืองไทย จำกัด ภาคผนวก (ถ้ามี)
47 ใบงานที่2 หน่วยที่2 ชื่อวิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204-2003 ภาคเรียนที่1 ชื่อหน่วย หลักการพื้นฐานและแนวคิดเชิงวัตถุ เวลารวม 4 ชั่วโมง ชื่องาน หลักการพื้นฐานและแนวคิดเชิงวัตถุ จำนวน 4 ชั่วโมง จุดประสงค์การเรียนรู้ จุดประสงค์ทั่วไป 1. เพื่อมีความรู้ความเข้าใจหลักการพื้นฐานและแนวคิดเชิงวัตถุ จุดประสงค์เชิงพฤติกรรม (ความรู้ทักษะ คุณธรรม จริยธรรม จรรยาบรรณวิชาชีพ) 1. บอก OOP (Object Oriented Program) ได้ถูกต้อง 2. บอกแนวคิดแบบ OOP ได้ถูกต้อง 3. บอกความรู้เกี่ยวกับ OOP ได้ถูกต้อง 4. บอกการเชื่อมต่อ (Interface) ได้ถูกต้อง 5. บอกการนำวัตถุมาใช้ใหม่ (Reuse Object) ได้ถูกต้อง 6. บอกการพ้องรูป (Polymorphism) ได้ถูกต้อง 7. บอกประโยชน์ของการโปรแกรม OOP ได้ถูกต้อง สมรรถนะรายหน่วย แสดงความรู้เกี่ยวกับหลักการพื้นฐานและแนวคิดเชิงวัตถุ เครื่องมือ วัสดุ – อุปกรณ์ 1. เครื่องคอมพิวเตอร์PC หรือ Notebook 2. โปรเจ็คเตอร์ 3. หนังสือ ลำดับขั้นตอนการปฏิบัติงาน 1. ให้นักศึกษาแบ่งกลุ่มตามความเหมาะสม เพื่อศึกษาและอภิปราย 1.1 อธิบายความรู้เกี่ยวกับหลักการพื้นฐานและแนวคิดเชิงวัตถุ 1.2 เขียนรูปพร้อมอธิบายหลักการพื้นฐานและแนวคิดเชิงวัตถุ 2. เขียนอภิปรายและวิเคราะห์ใส่กระดาษ 3. นำผลงานส่งครูผู้สอนเพื่อประเมินผล ภาพประกอบ
48 ข้อควรระวัง ผู้เรียนควรตรวจสอบข้อมูลก่อนให้ถี่ถ้วน ละเอียด และรอบคอบก่อน เพื่อป้องกันความผิดพลาดก่อน การส่งงาน ข้อเสนอแนะ (ถ้ามี) นักศึกษาควรมีภาพประกอบการนำเสนองาน และสามารถอธิบายเนื้อหาให้สอดคล้องกับภาพให้ถูกต้อง การประเมินผล (ต้องระบุเกณฑ์การประเมินให้ชัดเจน) 1. สังเกตผู้เรียนมีความสนใจ เกิดความเข้าใจในสาระการเรียนรู้ ตลอดจนแสดงความกระตือรือร้น ในการแสดงความคิดเห็นและสรุปสาระการเรียนรู้ประจำหน่วย 2. ทำใบงานได้อย่างถูกต้อง ทันเวลาที่กำหนด ใบงานสะอาดและเป็นระเบียบ 3. ผู้เรียนทำแบบฝึกหัดหลังเรียนได้ถูกต้อง โดยได้คะแนน 50% เป็นอย่างต่ำ เอกสารอ้างอิง วิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุรหัสวิชา 30204-2003 ผู้เรียบเรียง วราภรณ์ อุ้มอังวะ บริษัท ศูนย์หนังสือเมืองไทย จำกัด
49 ใบกิจกรรมที่2 หน่วยที่2 ชื่อวิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204-2003 ภาคเรียนที่1 ชื่อหน่วย หลักการพื้นฐานและแนวคิดเชิงวัตถุ เวลารวม 4 ชั่วโมง ชื่องาน หลักการพื้นฐานและแนวคิดเชิงวัตถุ จำนวน 4 ชั่วโมง จุดประสงค์การเรียนรู้ จุดประสงค์ทั่วไป 1. เพื่อมีความรู้ความเข้าใจหลักการพื้นฐานและแนวคิดเชิงวัตถุ จุดประสงค์เชิงพฤติกรรม (ความรู้ทักษะ คุณธรรม จริยธรรม จรรยาบรรณวิชาชีพ) 1. บอก OOP (Object Oriented Program) ได้ถูกต้อง 2. บอกแนวคิดแบบ OOP ได้ถูกต้อง 3. บอกความรู้เกี่ยวกับ OOP ได้ถูกต้อง 4. บอกการเชื่อมต่อ (Interface) ได้ถูกต้อง 5. บอกการนำวัตถุมาใช้ใหม่ (Reuse Object) ได้ถูกต้อง 6. บอกการพ้องรูป (Polymorphism) ได้ถูกต้อง 7. บอกประโยชน์ของการโปรแกรม OOP ได้ถูกต้อง สมรรถนะรายหน่วย แสดงความรู้เกี่ยวกับหลักการพื้นฐานและแนวคิดเชิงวัตถุ เครื่องมือ วัสดุ – อุปกรณ์ 1. เครื่องคอมพิวเตอร์PC หรือ Notebook 2. โปรเจ็คเตอร์ 3. หนังสือ ลำดับกิจกรรม 1. ผู้เรียนต้องให้ความสนใจในการศึกษา เพื่อหาเทคนิค วิธีการ หรือหลักการง่ายเพื่อให้หาคำตอบ ได้อย่างถูกต้อง และรวดเร็ว โดยการ ตั้งใจฟังหลักการ เทคนิควิธีการที่ครูผู้สอนสรุปในขณะที่ทำการ สอน และนำข้อสงสัยซักถามครูในการเรียนทุกครั้งที่เกิดความสับสน และไม่เข้าใจ 2. ผู้มีการทบทวนบทเรียน ตลอดเพื่อเสริมสร้างความเข้าใจอย่างแท้จริง 3. ผู้เรียนหมั่นทำใบงาน แบบฝึกหัด และแก้ไขข้อที่ผิดให้ถูกต้องเสมอ 4. ผู้เรียนต้องสร้างมโนภาพให้เกิดความคิดรวบยอดในสาระการเรียนรู้และเทคนิควิธีการพร้อมกับ ความจำเป็นในการนำไปประยุกต์ใช้ให้เกิดขึ้นโดยตนเองให้ได้เพื่อเกิดความรู้ความเข้าใจอย่างแท้จริง ไม่ใช่เกิดจากการท่องจำ 5. ผู้เรียนต้องดำเนินการตามกิจกรรมหรืองานที่ได้รับมอบหมาย ให้เสร็จสิ้นภายในระยะเวลาที่ กำหนด และฝึกฝนตนเองเสมอ เมื่อได้รับมอบหมายงานมา
50 การประเมินผล (ต้องระบุเกณฑ์การประเมินให้ชัดเจน) 1. สังเกตผู้เรียนมีความสนใจ เกิดความเข้าใจในสาระการเรียนรู้ ตลอดจนแสดงความกระตือรือร้นใน การแสดงความคิดเห็นและสรุปสาระการเรียนรู้ประจำหน่วย 2. ทำใบงานได้อย่างถูกต้อง ทันเวลาที่กำหนด ใบงานสะอาดและเป็นระเบียบ 3. ผู้เรียนทำแบบฝึกหัดหลังเรียนได้ถูกต้อง โดยได้คะแนน 50% เป็นอย่างต่ำ เอกสารอ้างอิง วิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุรหัสวิชา 30204-2003 ผู้เรียบเรียง วราภรณ์ อุ้มอังวะ บริษัท ศูนย์หนังสือเมืองไทย จำกัด
51 ใบปฏิบัติงานที่2 หน่วยที่2 ชื่อวิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204-2003 ภาคเรียนที่1 ชื่อหน่วย หลักการพื้นฐานและแนวคิดเชิงวัตถุ เวลารวม 4 ชั่วโมง ชื่องาน หลักการพื้นฐานและแนวคิดเชิงวัตถุ จำนวน 4 ชั่วโมง จุดประสงค์การเรียนรู้ จุดประสงค์ทั่วไป 1. เพื่อมีความรู้ความเข้าใจหลักการพื้นฐานและแนวคิดเชิงวัตถุ จุดประสงค์เชิงพฤติกรรม (ความรู้ทักษะ คุณธรรม จริยธรรม จรรยาบรรณวิชาชีพ) 1. บอก OOP (Object Oriented Program) ได้ถูกต้อง 2. บอกแนวคิดแบบ OOP ได้ถูกต้อง 3. บอกความรู้เกี่ยวกับ OOP ได้ถูกต้อง 4. บอกการเชื่อมต่อ (Interface) ได้ถูกต้อง 5. บอกการนำวัตถุมาใช้ใหม่ (Reuse Object) ได้ถูกต้อง 6. บอกการพ้องรูป (Polymorphism) ได้ถูกต้อง 7. บอกประโยชน์ของการโปรแกรม OOP ได้ถูกต้อง สมรรถนะรายหน่วย แสดงความรู้เกี่ยวกับหลักการพื้นฐานและแนวคิดเชิงวัตถุ เครื่องมือ วัสดุ– อุปกรณ์ 1. เครื่องคอมพิวเตอร์PC หรือ Notebook 2. โปรเจ็คเตอร์ 3. หนังสือ ลำดับขั้นตอนการปฏิบัติงาน 1. ผู้เรียนค้นหาข้อมูลจากในอินเตอร์เน็ต ตามเรื่องที่ได้รับมอบหมายมาจาครูผู้สอน 2. เมื่อผู้เรียนได้รับข้อมูลเรียบร้อยแล้ว ให้ผู้เรียน นำข้อมูลนั้น มาเรียบเรียงให้เป็นระเบียบ สวยงาม ให้ สามารถเข้าใจได้ง่าย โดยจัดทำในรูปแบบเล่มรายงาน ภาพประกอบ ข้อควรระวัง ผู้เรียนควรตรวจสอบข้อมูลก่อนให้ถี่ถ้วน ละเอียด และรอบคอบก่อน เพื่อป้องกันความผิดพลาดก่อน การส่งงาน ข้อเสนอแนะ นักศึกษาควรมีภาพประกอบการนำเสนองาน และสามารถอธิบายเนื้อหาให้สอดคล้องกับภาพให้ ถูกต้อง
52 การประเมินผล 1. สังเกตผู้เรียนมีความสนใจ เกิดความเข้าใจในสาระการเรียนรู้ ตลอดจนแสดงความกระตือรือร้นใน การแสดงความคิดเห็นและสรุปสาระการเรียนรู้ประจำหน่วย 2. ทำใบงานได้อย่างถูกต้อง ทันเวลาที่กำหนด ใบงานสะอาดและเป็นระเบียบ 3. ผู้เรียนทำแบบฝึกหัดหลังเรียนได้ถูกต้อง โดยได้คะแนน 50% เป็นอย่างต่ำ เอกสารอ้างอิง วิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุรหัสวิชา 30204-2003 ผู้เรียบเรียง วราภรณ์ อุ้มอังวะ บริษัท ศูนย์หนังสือเมืองไทย จำกัด
53 ใบมอมหมายงานที่2 หน่วยที่2 ชื่อวิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204-2003 ภาคเรียนที่1 ชื่อหน่วย หลักการพื้นฐานและแนวคิดเชิงวัตถุ เวลารวม 4 ชั่วโมง ชื่องาน หลักการพื้นฐานและแนวคิดเชิงวัตถุ จำนวน 4 ชั่วโมง จุดประสงค์การเรียนรู้ จุดประสงค์ทั่วไป 1. เพื่อมีความรู้ความเข้าใจหลักการพื้นฐานและแนวคิดเชิงวัตถุ จุดประสงค์เชิงพฤติกรรม (ความรู้ทักษะ คุณธรรม จริยธรรม จรรยาบรรณวิชาชีพ) 1. บอก OOP (Object Oriented Program) ได้ถูกต้อง 2. บอกแนวคิดแบบ OOP ได้ถูกต้อง 3. บอกความรู้เกี่ยวกับ OOP ได้ถูกต้อง 4. บอกการเชื่อมต่อ (Interface) ได้ถูกต้อง 5. บอกการนำวัตถุมาใช้ใหม่ (Reuse Object) ได้ถูกต้อง 6. บอกการพ้องรูป (Polymorphism) ได้ถูกต้อง 7. บอกประโยชน์ของการโปรแกรม OOP ได้ถูกต้อง สมรรถนะรายหน่วย แสดงความรู้เกี่ยวกับหลักการพื้นฐานและแนวคิดเชิงวัตถุ เครื่องมือ วัสดุ– อุปกรณ์ 1. เครื่องคอมพิวเตอร์PC หรือ Notebook 2. โปรเจ็คเตอร์ 3. หนังสือ แนวทางการปฏิบัติงาน 1. ให้ผู้เรียนปฏิบัติงานตามใบงาน ใบกิจกรรม ใบปฏิบัติงาน อย่างเคร่งครัด ตามหัวข้อที่ได้รับ มอบหมาย ให้เสร็จสิ้นตามระยะเวลาที่กำหนด พร้อมทั้งการจัดทำรายงาน และนำเสนองานอย่าง ถูกต้อง ครบถ้วน เป็นระเบียบเรียบร้อย 2. ให้ผู้เรียนแบ่งหน้าที่กับเพื่อนในกลุ่มให้ชัดเจน และสามารถเข้าใจเนื้อหาตามหัวข้อดังกล่าว ได้ อย่างถูกต้อง ครบถ้วน ภาพประกอบ ข้อควรระวัง ผู้เรียนควรตรวจสอบข้อมูลก่อนให้ถี่ถ้วน ละเอียด และรอบคอบก่อน เพื่อป้องกันความผิดพลาดก่อน การส่งงาน
54 ข้อเสนอแนะ นักศึกษาควรมีภาพประกอบการนำเสนองาน และสามารถอธิบายเนื้อหาให้สอดคล้องกับภาพให้ ถูกต้อง การประเมินผล 1. สังเกตผู้เรียนมีความสนใจ เกิดความเข้าใจในสาระการเรียนรู้ ตลอดจนแสดงความกระตือรือร้น ในการแสดงความคิดเห็นและสรุปสาระการเรียนรู้ประจำหน่วย 2. ทำใบงานได้อย่างถูกต้อง ทันเวลาที่กำหนด ใบงานสะอาดและเป็นระเบียบ 3. ผู้เรียนทำแบบฝึกหัดหลังเรียนได้ถูกต้อง โดยได้คะแนน 50% เป็นอย่างต่ำ เอกสารอ้างอิง วิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุรหัสวิชา 30204-2003 ผู้เรียบเรียง วราภรณ์ อุ้มอังวะ บริษัท ศูนย์หนังสือเมืองไทย จำกัด
55 แผนการจัดการเรียนรู้ที่ 3 หน่วยที่3 ชื่อวิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204-2003 เวลาเรียนรวม 72 คาบ ชื่อหน่วย กระบวนการวิเคราะห์และออกแบบเชิงวัตถุ สอนครั้งที่ 3/18 ชื่อเรื่อง กระบวนการวิเคราะห์และออกแบบเชิงวัตถุ จำนวน 4 คาบ 1. สาระสำคัญ การวิเคราะห์และออกแบบเชิงวัตถุ จะพิจารณาระบบเป็นกลุ่มของวัตถุโดยประกอบด้วย ข้อมูล ฟังชัน ตัว ดำเนินการ ทำให้สามารถโยกย้ายปรับเปลี่ยนแต่ละวัตถุโดยไม่กระทบส่วนอื่น ทำให้สามารถนำแต่ละวัตถุไปใช้กับ โครงการอื่นได้ โดยที่แนวคิดเชิงวัตถุ ก็คือหนึ่งในรูปแบบการเขียนโปรแกรมคอมพิวเตอร์ที่ให้ความสำคัญกับวัตถุ ซึ่ง สามารถนำมาประกอบกันและนำมาทำงานรวมกันได้ โดยมีความสัมพันธ์กันในแต่ละส่วน จากแนวคิดดังกล่าวได้ นำมาใช้ในกระบวนการวิเคราะห์และออกแบบเชิงวัตถุ 2. สมรรถนะประจำหน่วย แสดงความรู้เกี่ยวกับกระบวนการวิเคราะห์และออกแบบเชิงวัตถุ 3. จุดประสงค์การเรียนรู้ 3.1 จุดประสงค์ทั่วไป 1. เพื่อมีความรู้ความเข้าใจกระบวนการวิเคราะห์และออกแบบเชิงวัตถุ 3.2 จุดประสงค์เชิงพฤติกรรม (ความรู้ทักษะ คุณธรรม จริยธรรม จรรยาบรรณวิชาชีพ) 1. บอกหลักการวิเคราะห์และออกแบบเชิงวัตถุ ได้ถูกต้อง 2. บอกความหมายออบเจ็กต์(Object) ได้ถูกต้อง 3. บอกความหมายคลาส (Class) ได้ถูกต้อง 4. บอกความหมายแอดตริบิวต์(Attributes) ได้ถูกต้อง 5. บอกการดำเนินการหรือโอเปอเรชั่น (Operation) หรือ เมธอด (Method) ได้ถูกต้อง 6. บอกการสืบทอดคุณสมบัติ(Inheritance) ได้ถูกต้อง 7. บอกโพลิมอร์ฟิสซึม (Polymorphism) ได้ถูกต้อง 8. บอกเอ็นแคปซูเลชัน (Encapsulation) ได้ถูกต้อง 9. บอกแอ็บสเตรคชั่น (Abstraction) ได้ถูกต้อง 10. บอกกระบวนการวิเคราะห์และออกแบบเชิงวัตถุ ได้ถูกต้อง 4. สาระการเรียนรู้ 1 ความหมายของหลักการวิเคราะห์และออกแบบเชิงวัตถุ 2 กระบวนการวิเคราะห์และออกแบบเชิงวัตถุ
56 2.1 กระบวนการวิเคราะห์และออกแบบเชิงวัตถุ 2.2 ออบเจ็กต์(Object) 2.3 คลาส (Class) 2.4 แอดตริบิวต์(Attributes) 2.5 การดำเนินการหรือโอเปอเรชั่น (Operation) หรือ เมธอด (Method) 2.6 การสืบทอดคุณสมบัติ(Inheritance) 2.7 โพลิมอร์ฟิสซึม (Polymorphism) 2.8 เอ็นแคปซูเลชัน (Encapsulation) 2.9 แอ็บสเตรคชั่น (Abstraction) 5. กิจกรรมการเรียนรู้ (สัปดาห์ที่......3.........) กิจกรรม เวลาโดยประมาณ 1. ครูขานชื่อนักเรียน 10 นาที 2. ครูให้นักเรียนทำแบบทดสอบก่อนเรียน (Pre-test) 15 นาที 3. ขั้นนำ ครูนำเข้าสู่บทเรียนด้วยการสนทนา การซักถาม 15 นาที 4. ขั้นสอน บอกจุดประสงค์การเรียน บรรยาย อธิบาย ยกตัวอย่าง แสดง วิธีการปฏิบัติในแต่ละหัวข้อการเรียน และให้นักศึกษาปฏิบัติไปพร้อมกัน เรื่องของกระบวนการวิเคราะห์และออกแบบเชิงวัตถุ 100 นาที 5. นักเรียนปฏิบัติโดยใช้ใบงานที่ 3 โดยคำแนะนำของครู 60 นาที 6. ขั้นสรุป ครูแนะนำสรุปความสำคัญของกระบวนการวิเคราะห์และ ออกแบบเชิงวัตถุให้นักเรียนเข้าใจ 40 นาที 6. สื่อและแหล่งการเรียนรู้ 1. โปรแกรมวาด รูป UML Diagram โดยเข้าเว็บ www.draw.io 2. วิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204-2003ผู้เรียบเรียง วราภรณ์ อุ้มอังวะ บริษัท ศูนย์หนังสือเมืองไทย จำกัด 7. หลักฐานการเรียนรู้ 7.1 หลักฐานความรู้ ใบงาน แบบฝึกหัด การค้นคว้าข้อมูล ที่ได้รับการเรียบเรียง สวยงาม เป็นระเบียบ ถูกต้อง 7.2 หลักฐานการปฏิบัติงาน ใบงาน แบบฝึกหัดรูปเล่มรายงานการค้นคว้าข้อมูล ที่ได้รับการเรียบเรียง สวยงาม เป็นระเบียบ ถูกต้อง พร้อมทั้งเอกสารประกอบการนำเสนองานหน้าชั้นเรียนของผู้เรียน และภาพประกอบ
57 8. การวัดและประเมินผลการเรียนรู้ การวัดผล (ใช้เครื่องมือ) การประเมินผล (นำผลเทียบกับเกณฑ์และแปลความหมาย) 1. แบบทดสอบก่อนเรียน (Pre-test) หน่วยที่ 3 (ไว้เปรียบเทียบกับคะแนนสอบหลังเรียน) 2. โปรแกรมที่ได้จากใบงาน - สำเร็จ/ไม่สำเร็จ 3. แบบฝึกหัดหน่วยที่ 3 เกณฑ์ผ่าน 50% 4. แบบทดสอบหลังเรียน (Post-test) หน่วยที่ 3 เกณฑ์ผ่าน 50% 9. กิจกรรมเสนอแนะ/งานที่มอบหมาย (ถ้ามี) 1. ผู้เรียนต้องให้ความสนใจในการศึกษา เพื่อหาเทคนิควิธีการ หรือหลักการง่ายเพื่อให้หาคำตอบได้อย่าง ถูกต้อง และรวดเร็วโดยการ ตั้งใจฟังหลักการ เทคนิควิธีการที่ครูผู้สอนสรุปในขณะที่ทำการสอน และนำข้อสงสัย ซักถามครูในการเรียนทุกครั้งที่เกิดความสับสน และไม่เข้าใจ 2. ผู้มีการทบทวนบทเรียน ตลอดเพื่อเสริมสร้างความเข้าใจอย่างแท้จริง 3. ผู้เรียนหมั่นทำใบงาน แบบฝึกหัด และแก้ไขข้อที่ผิดให้ถูกต้องเสมอ 4. ผู้เรียนต้องสร้างมโนภาพให้เกิดความคิดรวบยอดในสาระการเรียนรู้และเทคนิควิธีการพร้อมกับความ จำเป็นในการนำไปประยุกต์ใช้ให้เกิดขึ้นโดยตนเองให้ได้เพื่อเกิดความรู้ความเข้าใจอย่างแท้จริงไม่ใช่เกิดจากการ ท่องจำ 10. เอกสารอ้างอิง วิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204-2003ผู้เรียบเรียง วราภรณ์ อุ้มอังวะ บริษัท ศูนย์หนังสือเมืองไทย จำกัด
58 ใบความรู้ที่3 หน่วยที่3 ชื่อวิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204-2003 ภาคเรียนที่1 ชื่อหน่วย กระบวนการวิเคราะห์และออกแบบเชิงวัตถุ เวลารวม 4 ชั่วโมง ชื่อเรื่อง กระบวนการวิเคราะห์และออกแบบเชิงวัตถุ เวลา 4 ชั่วโมง จุดประสงค์การเรียนรู้ จุดประสงค์ทั่วไป 1. เพื่อมีความรู้ความเข้าใจกระบวนการวิเคราะห์และออกแบบเชิงวัตถุ จุดประสงค์เชิงพฤติกรรม (ความรู้ทักษะ คุณธรรม จริยธรรม จรรยาบรรณวิชาชีพ) 1. บอกหลักการวิเคราะห์และออกแบบเชิงวัตถุ ได้ถูกต้อง 2. บอกความหมายออบเจ็กต์(Object) ได้ถูกต้อง 3. บอกความหมายคลาส (Class) ได้ถูกต้อง 4. บอกความหมายแอดตริบิวต์(Attributes) ได้ถูกต้อง 5. บอกการดำเนินการหรือโอเปอเรชั่น (Operation) หรือ เมธอด (Method) ได้ถูกต้อง 6. บอกการสืบทอดคุณสมบัติ(Inheritance) ได้ถูกต้อง 7. บอกโพลิมอร์ฟิสซึม (Polymorphism) ได้ถูกต้อง 8. บอกเอ็นแคปซูเลชัน (Encapsulation) ได้ถูกต้อง 9. บอกแอ็บสเตรคชั่น (Abstraction) ได้ถูกต้อง 10. บอกกระบวนการวิเคราะห์และออกแบบเชิงวัตถุ ได้ถูกต้อง สมรรถนะรายหน่วย แสดงความรู้เกี่ยวกับกระบวนการวิเคราะห์และออกแบบเชิงวัตถุ
59 หน่วยที่ 3 การติดตั้งเครื่องมือในการเขียนโปรแกรมบนมาตรฐานเปิด แนวคิดเชิงวัตถุ(Object oriented) คือหนึ่งในรูปแบบการเขียนโปรแกรมคอมพิวเตอร์ที่ให้ความสำคัญกับ วัตถุซึ่งสามารถนำมาประกอบกันและ นำมาทำงานรวมกันได้โดยมีความสัมพันธ์กันในแต่ละส่วน Unified Modeling Language Model (UML) UML คือ เป็นภาษาสัญลักษณ์รูปภาพมาตรฐาน สำหรับใช้ในการสร้างแบบจำลองเชิงวัตถุโดย UML จะใช้ สัญลักษณ์ต่างๆเพื่อแทนสิ่งต่างๆได้แก่ความสัมพันธ์องค์ประกอบ ภาวะที่มีหลายรูปแบบ การห่อหุ้ม คราส การพึงพาความสัมพันธ์(Aggregation) เป็นความสัมพันธ์ระหว่างคราสแบบต่างระดับ ในลักษะณะของการ เป็นองค์ประกอบต่างๆเรียกว่า “คราสบางส่วน (Part class)” ส่วนคราสที่เกิดจากการร่วมกันของ องค์ประกอบต่างๆเรียกว่า “คราสทั้งหมด(Whole class)” ความสัมพันธ์ชนิดนี้คือคราสบางส่วนมีอิสระ ไม่ ขึ้นกับคราสทั้งหมดถึงแแม้ว่าคราสทั้งหมดจะถูกทำลาย องค์ประกอบ (Composition) เป็นความสัมพันธ์ระหว่างวัตถุหรือคราสแบบขึ้นต่อกันและมีความเกี่ยวข้องกัน เสมอ โดยจะมีคราสซึ่งเป็นองค์ประกอบของคราสที่ใหญ่กว่า เมื่อคราสที่ใหญ่กว่าถูกทำลายคราสที่เป็น องค์ประกอบก็จะถูกทำลายด้วย ลักษณะทั่วไป (generalization) เป็นการสืบทอดคุณสมบัติจากคราสหญ่(Super class)ไปยังคราสย่อย (sub class) การสืบทอดคุณสมบัติ(inheritance) คือการสืบทอดโครงสร้างข้อมูลและการดำเนินการ พอลิมอร์ฟิซึม (polymorphism) คือ การที่วัตถุที่ต่างกันมีปฎิกิริยาตอบสนองต่อฟังก์ชัน/ข้อความที่ต่างกัน การห่อหุ้ม (encapsulation) คือการจำกัดการเข้าถึงข้อมูลบ้างอย่างที่ไม่ต้องการให้ส่วนอื่นรับรู้แต่ให้เข้าถึง ผ่านส่วนประสาน(Interface hiding) การออกแบบระบบโดยใช้UML model การออกแบบระบบโดยใช้UML model เราจะวาดรูปองค์ประกอบของซอฟแวร์ให้อยู่ในไดอะแกรม เปรียบเสมือนการร่างแบบที่สถาปนิกใช้ในการออกแบบสิ่งก่อสร้างซึ่งไดอะแกรมออกที่ใช้กันมีอยู่ 9 ชนิดคือ Class diagram คือ แผนภาพที่ใช้แสดง Class และความสัมพันธ์ระหว่างคราสของระบบที่เราสนใจ โดยมี องค์ประกอบดังนี้ Class Name คือ ชื่อของ Class Attributes คือ คุณลักษณะของ Class Operations หรือ Methods คือ กิจกรรมที่สามารถกระทำกับ Object นั้นๆได้ Cardinality ratio ใช้แสดงถึงอัตราส่วนของความสัมพันธ์ใช้แสดงถึงอัตราส่วนของความสัมพันธ์แทนที่ด้วย ตัวเลข 1, M และ N โดย1 : 1 แทนความสัมพันธ์แบบหนึ่งต่อหนึ่ง1 : N แทนความสัมพันธ์แบบหนึ่งต่อหลาย M : N แทนความสัมพันธ์แบบหลายต่อหลาย หลักการในการออกแบบ Class diagram กำหนดขอบเขตของปัญหาให้ชัดเจน วิเคราะห์Tangible objects ให้ครบทุกตัว
60 วิเคราะห์Intangible objects ให้ครบทุกตัว วิเคราะห์Classification abstraction เพื่อแยกแยะและสร้างครางจาก object ที่มีอยู่ วิเคราะห์Aggregation abstraction โดยพิจารณาคราสที่ได้จาก Classification abstraction ว่ามี ความสัมพันธ์กันแบบ 1:Nหรือ N:N วิเคราะห์หา generalization โดยพิจารณาคราสต่างๆ ในคราสไดอะแกรม การวิเคราะห์ความสัมพันธ์(association)โดยพิจารณาคราสต่างๆ ในคราสไดอะแกรม เพิ่มเติมสัญลักษณะ ของความสัมพันธ์ลงในคราสไดอะแกรม วิธีการออกแบบ Object diagram วิเคราะห์ระบบ พิจารณาข้อมูลและความสัมพันธ์ที่สำคัญ พิจารณาข้อมูลที่มีหน้าที่ชัดเจน เพิ่มประสิทธิภาพให้กับข้อมูล ก่อนที่จะวาดแผนภาพวัตถุสิ่งต่อไปนี้ควรจะจำได้และเข้าใจได้อย่างชัดเจน: แผนภาพวัตถุจะประกอบด้วยวัตถุ การเชื่อมโยงในแผนภาพวัตถุที่ใช้ในการเชื่อมต่อวัตถุ วัตถุและการเชื่อมโยงเป็นสององค์ประกอบที่ใช้ในการสร้างแผนภาพวัตถุ ตอนนี้หลังจากนี้สิ่งต่อไปนี้จะต้องมีการตัดสินใจก่อนที่จะเริ่มการก่อสร้างของแผนภาพ: แผนภาพวัตถุควรจะมีชื่อที่มีความหมายเพื่อบ่งชี้ถึงจุดประสงค์ของมัน องค์ประกอบที่สำคัญที่สุดจะต้องมีการระบุ สมาคมระหว่างวัตถุควรจะชี้แจง ค่าขององค์ประกอบที่แตกต่างกันจะต้องมีการจับจะรวมไว้ในแผนภาพวัตถุ เพิ่มบันทึกที่เหมาะสมที่จุดที่ชัดเจนมากขึ้นเป็นสิ่งจำเป็น แผนภาพต่อไปนี้เป็นตัวอย่างของแผนภาพวัตถุเพราะมันหมายถึงระบบการจัดการการสั่งซื้อที่เราได้กล่าวถึง ในคลาสไดอะแกรมแผนภาพต่อไปนี้เป็นตัวอย่างของระบบที่เวลาใดเวลาหนึ่งของการซื้อ มันมีวัตถุต่อไปนี้ ลูกค้า คำสั่ง SpecialOrder NormalOrder
61 แบบฝึกหัด/เฉลย ตอนที่ 1 คำสั่ง จงตอบคำถามต่อไปนี้ให้ถูกต้อง 1. จงอธิบายความหมายของคำต่อไปนี้ ออบเจ็กต์ (Object) ตอบ คือ หน่วยสนใจของระบบที่ทำให้เกิดเหตุการณ์บางอย่าง ไม่ว่าจะเป็นบุคคล สำหรับ ออบเจ็กต์ในโลกของเทคโนโลยีเชิงวัตถุ จะเน้นที่ตัวปฏิบัติการมากกว่าการปฏิบัติ คลาส (Class) ตอบ คลาสคือกลุ่มของออบเจ็กต์ที่มีโครงสร้างพื้นฐานพฤติกรรมเดียวกัน ดังนั้น ออบเจ็กต์ที่มี คุณสมบัติลักษณะเดียวกัน ก็จะรวมกลุ่มอยู่ในคลาสเดียวกัน จึงสรุปได้ว่าคลาสก็คือต้นแบบข้อมูล ที่มีไว้เพื่อ สร้างออบเจ็กต์นั้นเอง แอดตริบิวต์ (Attributes) ตอบ คือ คุณสมบัติที่ใช้บรรยายคลาสหรืออ็อบเจ็กต์โดยคุณสมบัติเหล่านี้อยู่ภายในขอบเขตที่ เราสนใจ เท่านั้น การดำเนินการหรือโอเปอเรชั่น (Operation) หรือ เมธอด (Method) ตอบ ในออบเจ็กต์แต่ละอ็อบเจ็กต์ต้องมีความสามารถในการดำเนินการ หมายถึง การกระทำที่ ออบเจ็กต์สามารถกระทำได้หรือสามารถถูกร้องขอให้กระทำได้ ความสามารถในการดำเนินการบางอย่างถูก แสดงออกมาให้เห็นเป็นพฤติกรรมได้ต้องเกิดจากการสื่อสารหรือปฏิสัมพันธ์กันระหว่างออบเจ็กต์ ซึ่งในทาง การเขียนโปรแกรม เมธอด (Method) เป็นชุดคำสั่งที่เขียนขึ้นมาอย่างเป็นลำดับขั้นตอน เพื่อให้มีการ ดำเนินการขึ้นมักจะใช้คำว่า “Operation” และ “Method” ในความหมายเดียวกัน การสืบทอดคุณสมบัติ (Inheritance) ตอบ เป็นวิธีการในการสร้างคลาสใหม่จากคลาสเดิมที่มีอยู่ โพลิมอร์ฟิสซึม (Polymorphism) ตอบ หมายถึง การบอกแบบเดียว แต่ได้รับการตอบสนองหลายรูปแบบ ซึ่งเป็นไปตามหลักการของ เทคโนโลยีเชิงวัตถุที่กล่าวมาแล้ว คือจะเน้นที่ตัวปฏิบัติการมากกว่าการปฏิบัติการ เอ็นแคปซูเลชัน (Encapsulation) ตอบ หมายถึง กระบวนการซ่อนรายละเอียดของคุณลักษณะต่าง ๆ และรายละเอียดการ ทำงานของคลาสไว้ภายในโดยการที่สิ่งที่อยู่ภายนอกคลาสจะติดต่อกับคลาสได้ต้องติดต่อผ่านทางช่องทางที่ คลาสเตรียมไว้ให้เท่านั้น แอ็บสเตรคชั่น (Abstraction) ตอบ แอ็บสเตรคชั่นเป็นการมองสิ่งต่าง ๆ แล้วใส่ความคิดรวบยอด (Concept) ให้กับสิ่งที่มอง นั้นว่ามีคุณลักษณะที่สำคัญอย่างไรหรือกล่าวว่าแอ็บสเตรคชั่น คือ กระบวนการในการสร้างแนวคิดของคลาส จากกลุ่มของอ็อบเจ็กต์ที่สนใจ ดังนั้นการมองอ็อบเจ็กต์หนึ่งชนิดของคนหลายคนจะมีมุมมองที่แตกต่างกัน ขึ้นอยู่กับ ความสนใจในสิ่งนั้น แอ็บสเตรคชั่นเป็นส่วนหนึ่งที่ช่วยในการวิเคราะห์ถึงปัญหาของระบบงานที่ ต้องการพัฒนา
62 2. จงบอกประโยชน์แนวคิดเชิงวัตถุ ตอบ 1. เข้าใจง่าย ลดช่องว่างระหว่างระบบจริงและระบบที่จำลองโดยคอมพิวเตอร์ 2. ง่ายต่อการแก้ไข เพราะข้อมูลและการทำงานอยู่ภายในอ็อบเจ็กต์ 3. กระบวนการวิเคราะห์และออกแบบเชิงวัตถุ ประกอบด้วย ตอบ 1. วัตถุหรือ อ็อบเจ็กต์ (Object) 2. คลาส (Class) 3. แอททริบิวท์ (Attributes) 4. การดำเนินการหรือโอเปอเรชั่น (Operation) หรือ เมธอด (Method) 5. การสืบทอดคุณสมบัติ (Inheritance) 6. โพลิมอร์ฟิสซึม (Polymorhpism) 7. เอ็นแคปซูเลชัน (Encapsulation ตอนที่2 จงเลือกคําตอบที่ถูกต้องที่สุดเพียงข้อเดียว คำสั่ง จงทำเครื่องหมายกากบาท () หน้าข้อที่ถูกต้องมากที่สุดเพียงข้อเดียว 1. Inheritance จะกล่าวถึงความสำพันธ์อะไรกับอะไร ก. Method and value ข. class (superclass and subclass) ค. object and attribute ง. ถูก ทั้ง ก และ ข จ. ถูกทุกข้อ 2. เราสามารถสรุป Inheritance ได้ว่าอย่างไร ก. การทำงานอย่างเป็นขั้นตอน ข. เหมาะกับ Programmer ค. การสืบทอดลักษณะทั้งหมดของ Attribute และ method จาก parent class ไปยัง child class ง. ถูกทั้ง ข้อ ข และ ค จ. ถูกทุกข้อ 3. การเชื่อมความสัมพันธ์จะเชื่อมจากส่วนไหนเป็นหลัก ก. sub class ข. child class ค. super class ง. ถูกทั้ง ข้อ ค และ ง จ. ถูกทุกข้อ 4. ข้อดีของการออกแบบด้วยวิธีInheritance มีอะไรบ้าง ก. ประหยัดเวลาในการเขียนโปรแกรม
63 ข. แก้ไขเพิ่มเติมสามารถทำได้ที่ superclass ที่เดียว ค. ถูกทั้ง ข้อ ก และ ข ง. ลดค่าใช้จ่าย จ. ถูกทั้ง ข้อ ก และ ง 5. Composition หมายถึงอะไร ก. การที่object หนึ่งๆ ประกอบขึ้นจาก object อื่นอีกหลาย object ข. ส่วนประกอบของ method ค. ส่วนที่ประกอบภายใน class ง. ถูก ทั้ง ข้อ ก และ ข จ. ถูกทุกข้อ 6. แนวคิดในการออกแบบ object oriented ด้วย composition คือข้อใด ก. มองทุกสิ่งให้เป็น object ข. การออกแบบเป็นแบบ top to down ค. ความสัมพันธ์ระหว่าง object มีรูปแบบเป็น has a relation ship ง. ถูกทุกข้อ จ. ไม่มีข้อใดถูก 7. โครงสร้างของ composition จะมีลักษณะในแบบใด ก. แบบต้นไม้ ข. แบบรถยนต์ ค. แบบกระถาง ง. ถูก ข้อ ก และ ข จ. ผิดทุกข้อ 8. ข้อเสียของการออกแบบด้วยวิธีInheritance มีอะไรบ้าง ก. ทำให้เกิดจุดอ่อนขึ้นกับการ Encapsulate ข. บาง class ที่เข้ามาในระบบอาจไม่เป็นไปตามโครงสร้างที่ตั้งไว้แต่เดิม ค. ถูกทั้ง ก และ ข ง. ทำให้เกิดจำนวนคลาสมากมายในระบบ จ. ไม่มีข้อใดถูก 9. Polymorphism หมายถึงอะไร ก. การที่object แต่ละ object สามารถตอบสนองต่อ message ที่ส่งมายัง object นั้นๆ ข. การตอบสนองต่อ method ค. การตอบสนองต่อ composition ง. ถูก ทั้ง ข้อ ข และ ค จ. ถูกทุกข้อ
64 10.การหา class ของระบบให้หาความสัมพันธ์จากอะไร ก. หาจาก class ที่มีอยู่ก่อนโดย class ที่เกิดขึ้นใหม่จะสืบทอดลักษณะจาก class เดิม ข. จาก super class ค. จาก polymorphism ง. ถูกทั้ง ข้อ ก และ ข จ. ถูกทุกข้อ วิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204-2003ผู้เรียบเรียง วราภรณ์ อุ้มอังวะ บริษัท ศูนย์หนังสือเมืองไทย จำกัด ภาคผนวก (ถ้ามี)
65 ใบงานที่3 หน่วยที่3 ชื่อวิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204-2003 ภาคเรียนที่1 ชื่อหน่วย กระบวนการวิเคราะห์และออกแบบเชิงวัตถุ เวลารวม 4 ชั่วโมง ชื่องาน กระบวนการวิเคราะห์และออกแบบเชิงวัตถุ จำนวน 4 ชั่วโมง จุดประสงค์การเรียนรู้ จุดประสงค์ทั่วไป 1. เพื่อมีความรู้ความเข้าใจกระบวนการวิเคราะห์และออกแบบเชิงวัตถุ จุดประสงค์เชิงพฤติกรรม (ความรู้ทักษะ คุณธรรม จริยธรรม จรรยาบรรณวิชาชีพ) 1. บอกหลักการวิเคราะห์และออกแบบเชิงวัตถุ ได้ถูกต้อง 2. บอกความหมายออบเจ็กต์(Object) ได้ถูกต้อง 3. บอกความหมายคลาส (Class) ได้ถูกต้อง 4. บอกความหมายแอดตริบิวต์(Attributes) ได้ถูกต้อง 5. บอกการดำเนินการหรือโอเปอเรชั่น (Operation) หรือ เมธอด (Method) ได้ถูกต้อง 6. บอกการสืบทอดคุณสมบัติ(Inheritance) ได้ถูกต้อง 7. บอกโพลิมอร์ฟิสซึม (Polymorphism) ได้ถูกต้อง 8. บอกเอ็นแคปซูเลชัน (Encapsulation) ได้ถูกต้อง 9. บอกแอ็บสเตรคชั่น (Abstraction) ได้ถูกต้อง 10. บอกกระบวนการวิเคราะห์และออกแบบเชิงวัตถุ ได้ถูกต้อง สมรรถนะรายหน่วย แสดงความรู้เกี่ยวกับกระบวนการวิเคราะห์และออกแบบเชิงวัตถุ เครื่องมือ วัสดุ – อุปกรณ์ 1. เครื่องคอมพิวเตอร์PC หรือ Notebook 2. โปรเจ็คเตอร์ 3. หนังสือ ลำดับขั้นตอนการปฏิบัติงาน 1. ให้นักศึกษาแบ่งกลุ่มตามความเหมาะสม เพื่อศึกษาและอภิปราย 1.1 อธิบายความรู้เกี่ยวกับความเข้าใจกระบวนการวิเคราะห์และออกแบบเชิงวัตถุ 1.2 เขียนรูปพร้อมอธิบายความเข้าใจกระบวนการวิเคราะห์และออกแบบเชิงวัตถุ 2. เขียนอภิปรายและวิเคราะห์ใส่กระดาษ 3. นำผลงานส่งครูผู้สอนเพื่อประเมินผล
66 ภาพประกอบ ข้อควรระวัง ผู้เรียนควรตรวจสอบข้อมูลก่อนให้ถี่ถ้วน ละเอียด และรอบคอบก่อน เพื่อป้องกันความผิดพลาดก่อน การส่งงาน ข้อเสนอแนะ (ถ้ามี) นักศึกษาควรมีภาพประกอบการนำเสนองาน และสามารถอธิบายเนื้อหาให้สอดคล้องกับภาพให้ถูกต้อง การประเมินผล (ต้องระบุเกณฑ์การประเมินให้ชัดเจน) 1. สังเกตผู้เรียนมีความสนใจ เกิดความเข้าใจในสาระการเรียนรู้ ตลอดจนแสดงความกระตือรือร้น ในการแสดงความคิดเห็นและสรุปสาระการเรียนรู้ประจำหน่วย 2. ทำใบงานได้อย่างถูกต้อง ทันเวลาที่กำหนด ใบงานสะอาดและเป็นระเบียบ 3. ผู้เรียนทำแบบฝึกหัดหลังเรียนได้ถูกต้อง โดยได้คะแนน 50% เป็นอย่างต่ำ เอกสารอ้างอิง วิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204-2003ผู้เรียบเรียง วราภรณ์ อุ้ม อังวะ บริษัท ศูนย์หนังสือเมืองไทย จำกัด
67 ใบกิจกรรมที่3 หน่วยที่3 ชื่อวิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204-2003 ภาคเรียนที่1 ชื่อหน่วย กระบวนการวิเคราะห์และออกแบบเชิงวัตถุ เวลารวม 4 ชั่วโมง ชื่องาน กระบวนการวิเคราะห์และออกแบบเชิงวัตถุ จำนวน 4 ชั่วโมง จุดประสงค์การเรียนรู้ จุดประสงค์ทั่วไป 1. เพื่อมีความรู้ความเข้าใจกระบวนการวิเคราะห์และออกแบบเชิงวัตถุ จุดประสงค์เชิงพฤติกรรม (ความรู้ทักษะ คุณธรรม จริยธรรม จรรยาบรรณวิชาชีพ) 1. บอกหลักการวิเคราะห์และออกแบบเชิงวัตถุ ได้ถูกต้อง 2. บอกความหมายออบเจ็กต์(Object) ได้ถูกต้อง 3. บอกความหมายคลาส (Class) ได้ถูกต้อง 4. บอกความหมายแอดตริบิวต์(Attributes) ได้ถูกต้อง 5. บอกการดำเนินการหรือโอเปอเรชั่น (Operation) หรือ เมธอด (Method) ได้ถูกต้อง 6. บอกการสืบทอดคุณสมบัติ(Inheritance) ได้ถูกต้อง 7. บอกโพลิมอร์ฟิสซึม (Polymorphism) ได้ถูกต้อง 8. บอกเอ็นแคปซูเลชัน (Encapsulation) ได้ถูกต้อง 9. บอกแอ็บสเตรคชั่น (Abstraction) ได้ถูกต้อง 10. บอกกระบวนการวิเคราะห์และออกแบบเชิงวัตถุ ได้ถูกต้อง สมรรถนะรายหน่วย แสดงความรู้เกี่ยวกับกระบวนการวิเคราะห์และออกแบบเชิงวัตถุ เครื่องมือ วัสดุ – อุปกรณ์ 1. เครื่องคอมพิวเตอร์PC หรือ Notebook 2. โปรเจ็คเตอร์ 3. หนังสือ ลำดับกิจกรรม 1. ผู้เรียนต้องให้ความสนใจในการศึกษา เพื่อหาเทคนิค วิธีการ หรือหลักการง่ายเพื่อให้หาคำตอบ ได้อย่างถูกต้อง และรวดเร็ว โดยการ ตั้งใจฟังหลักการ เทคนิควิธีการที่ครูผู้สอนสรุปในขณะที่ทำการ สอน และนำข้อสงสัยซักถามครูในการเรียนทุกครั้งที่เกิดความสับสน และไม่เข้าใจ 2. ผู้มีการทบทวนบทเรียน ตลอดเพื่อเสริมสร้างความเข้าใจอย่างแท้จริง 3. ผู้เรียนหมั่นทำใบงาน แบบฝึกหัด และแก้ไขข้อที่ผิดให้ถูกต้องเสมอ
68 4. ผู้เรียนต้องสร้างมโนภาพให้เกิดความคิดรวบยอดในสาระการเรียนรู้และเทคนิควิธีการพร้อมกับ ความจำเป็นในการนำไปประยุกต์ใช้ให้เกิดขึ้นโดยตนเองให้ได้เพื่อเกิดความรู้ความเข้าใจอย่างแท้จริง ไม่ใช่เกิดจากการท่องจำ 5. ผู้เรียนต้องดำเนินการตามกิจกรรมหรืองานที่ได้รับมอบหมาย ให้เสร็จสิ้นภายในระยะเวลาที่ กำหนด และฝึกฝนตนเองเสมอ เมื่อได้รับมอบหมายงานมา การประเมินผล (ต้องระบุเกณฑ์การประเมินให้ชัดเจน) 1. สังเกตผู้เรียนมีความสนใจ เกิดความเข้าใจในสาระการเรียนรู้ ตลอดจนแสดงความกระตือรือร้นใน การแสดงความคิดเห็นและสรุปสาระการเรียนรู้ประจำหน่วย 2. ทำใบงานได้อย่างถูกต้อง ทันเวลาที่กำหนด ใบงานสะอาดและเป็นระเบียบ 3. ผู้เรียนทำแบบฝึกหัดหลังเรียนได้ถูกต้อง โดยได้คะแนน 50% เป็นอย่างต่ำ เอกสารอ้างอิง วิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204-2003ผู้เรียบเรียง วราภรณ์ อุ้ม อังวะ บริษัท ศูนย์หนังสือเมืองไทย จำกัด
69 ใบปฏิบัติงานที่3 หน่วยที่3 ชื่อวิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204-2003 ภาคเรียนที่1 ชื่อหน่วย กระบวนการวิเคราะห์และออกแบบเชิงวัตถุ เวลารวม 4 ชั่วโมง ชื่องาน กระบวนการวิเคราะห์และออกแบบเชิงวัตถุ จำนวน 4 ชั่วโมง จุดประสงค์การเรียนรู้ จุดประสงค์ทั่วไป 1. เพื่อมีความรู้ความเข้าใจกระบวนการวิเคราะห์และออกแบบเชิงวัตถุ จุดประสงค์เชิงพฤติกรรม (ความรู้ทักษะ คุณธรรม จริยธรรม จรรยาบรรณวิชาชีพ) 1. บอกหลักการวิเคราะห์และออกแบบเชิงวัตถุ ได้ถูกต้อง 2. บอกความหมายออบเจ็กต์(Object) ได้ถูกต้อง 3. บอกความหมายคลาส (Class) ได้ถูกต้อง 4. บอกความหมายแอดตริบิวต์(Attributes) ได้ถูกต้อง 5. บอกการดำเนินการหรือโอเปอเรชั่น (Operation) หรือ เมธอด (Method) ได้ถูกต้อง 6. บอกการสืบทอดคุณสมบัติ(Inheritance) ได้ถูกต้อง 7. บอกโพลิมอร์ฟิสซึม (Polymorphism) ได้ถูกต้อง 8. บอกเอ็นแคปซูเลชัน (Encapsulation) ได้ถูกต้อง 9. บอกแอ็บสเตรคชั่น (Abstraction) ได้ถูกต้อง 10. บอกกระบวนการวิเคราะห์และออกแบบเชิงวัตถุ ได้ถูกต้อง สมรรถนะรายหน่วย แสดงความรู้เกี่ยวกับกระบวนการวิเคราะห์และออกแบบเชิงวัตถุ เครื่องมือ วัสดุ– อุปกรณ์ 1. เครื่องคอมพิวเตอร์PC หรือ Notebook 2. โปรเจ็คเตอร์ 3. หนังสือ ลำดับขั้นตอนการปฏิบัติงาน 1. ผู้เรียนค้นหาข้อมูลจากในอินเตอร์เน็ต ตามเรื่องที่ได้รับมอบหมายมาจาครูผู้สอน 2. เมื่อผู้เรียนได้รับข้อมูลเรียบร้อยแล้ว ให้ผู้เรียน นำข้อมูลนั้น มาเรียบเรียงให้เป็นระเบียบ สวยงาม ให้ สามารถเข้าใจได้ง่าย โดยจัดทำในรูปแบบเล่มรายงาน ภาพประกอบ ข้อควรระวัง
70 ผู้เรียนควรตรวจสอบข้อมูลก่อนให้ถี่ถ้วน ละเอียด และรอบคอบก่อน เพื่อป้องกันความผิดพลาดก่อน การส่งงาน ข้อเสนอแนะ นักศึกษาควรมีภาพประกอบการนำเสนองาน และสามารถอธิบายเนื้อหาให้สอดคล้องกับภาพให้ ถูกต้อง การประเมินผล 1. สังเกตผู้เรียนมีความสนใจ เกิดความเข้าใจในสาระการเรียนรู้ ตลอดจนแสดงความกระตือรือร้นใน การแสดงความคิดเห็นและสรุปสาระการเรียนรู้ประจำหน่วย 2. ทำใบงานได้อย่างถูกต้อง ทันเวลาที่กำหนด ใบงานสะอาดและเป็นระเบียบ 3. ผู้เรียนทำแบบฝึกหัดหลังเรียนได้ถูกต้อง โดยได้คะแนน 50% เป็นอย่างต่ำ เอกสารอ้างอิง วิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204-2003ผู้เรียบเรียง วราภรณ์ อุ้ม อังวะ บริษัท ศูนย์หนังสือเมืองไทย จำกัด
71 ใบมอมหมายงานที่3 หน่วยที่3 ชื่อวิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204-2003 ภาคเรียนที่1 ชื่อหน่วย กระบวนการวิเคราะห์และออกแบบเชิงวัตถุ เวลารวม 4 ชั่วโมง ชื่องาน กระบวนการวิเคราะห์และออกแบบเชิงวัตถุ จำนวน 4 ชั่วโมง จุดประสงค์การเรียนรู้ จุดประสงค์ทั่วไป 1. เพื่อมีความรู้ความเข้าใจกระบวนการวิเคราะห์และออกแบบเชิงวัตถุ จุดประสงค์เชิงพฤติกรรม (ความรู้ทักษะ คุณธรรม จริยธรรม จรรยาบรรณวิชาชีพ) 1. บอกหลักการวิเคราะห์และออกแบบเชิงวัตถุ ได้ถูกต้อง 2. บอกความหมายออบเจ็กต์(Object) ได้ถูกต้อง 3. บอกความหมายคลาส (Class) ได้ถูกต้อง 4. บอกความหมายแอดตริบิวต์(Attributes) ได้ถูกต้อง 5. บอกการดำเนินการหรือโอเปอเรชั่น (Operation) หรือ เมธอด (Method) ได้ถูกต้อง 6. บอกการสืบทอดคุณสมบัติ(Inheritance) ได้ถูกต้อง 7. บอกโพลิมอร์ฟิสซึม (Polymorphism) ได้ถูกต้อง 8. บอกเอ็นแคปซูเลชัน (Encapsulation) ได้ถูกต้อง 9. บอกแอ็บสเตรคชั่น (Abstraction) ได้ถูกต้อง 10. บอกกระบวนการวิเคราะห์และออกแบบเชิงวัตถุ ได้ถูกต้อง สมรรถนะรายหน่วย แสดงความรู้เกี่ยวกับกระบวนการวิเคราะห์และออกแบบเชิงวัตถุ เครื่องมือ วัสดุ– อุปกรณ์ 1. เครื่องคอมพิวเตอร์PC หรือ Notebook 2. โปรเจ็คเตอร์ 3. หนังสือ แนวทางการปฏิบัติงาน 1. ให้ผู้เรียนปฏิบัติงานตามใบงาน ใบกิจกรรม ใบปฏิบัติงาน อย่างเคร่งครัด ตามหัวข้อที่ได้รับ มอบหมาย ให้เสร็จสิ้นตามระยะเวลาที่กำหนด พร้อมทั้งการจัดทำรายงาน และนำเสนองานอย่าง ถูกต้อง ครบถ้วน เป็นระเบียบเรียบร้อย 2. ให้ผู้เรียนแบ่งหน้าที่กับเพื่อนในกลุ่มให้ชัดเจน และสามารถเข้าใจเนื้อหาตามหัวข้อดังกล่าว ได้ อย่างถูกต้อง ครบถ้วน ภาพประกอบ
72 ข้อควรระวัง ผู้เรียนควรตรวจสอบข้อมูลก่อนให้ถี่ถ้วน ละเอียด และรอบคอบก่อน เพื่อป้องกันความผิดพลาดก่อน การส่งงาน ข้อเสนอแนะ นักศึกษาควรมีภาพประกอบการนำเสนองาน และสามารถอธิบายเนื้อหาให้สอดคล้องกับภาพให้ ถูกต้อง การประเมินผล 1. สังเกตผู้เรียนมีความสนใจ เกิดความเข้าใจในสาระการเรียนรู้ ตลอดจนแสดงความกระตือรือร้นใน การแสดงความคิดเห็นและสรุปสาระการเรียนรู้ประจำหน่วย 2. ทำใบงานได้อย่างถูกต้อง ทันเวลาที่กำหนด ใบงานสะอาดและเป็นระเบียบ 3. ผู้เรียนทำแบบฝึกหัดหลังเรียนได้ถูกต้อง โดยได้คะแนน 50% เป็นอย่างต่ำ เอกสารอ้างอิง วิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204-2003ผู้เรียบเรียง วราภรณ์ อุ้ม อังวะ บริษัท ศูนย์หนังสือเมืองไทย จำกัด
73 แผนการจัดการเรียนรู้ที่ 4 หน่วยที่4 ชื่อวิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204-2003 เวลาเรียนรวม 72 คาบ ชื่อหน่วย โมเดลที่ใช้ออกแบบเชิงวัตถุ สอนครั้งที่ 4-5/18 ชื่อเรื่อง โมเดลที่ใช้ออกแบบเชิงวัตถุ จำนวน 8 คาบ 1. สาระสำคัญ การสร้างแบบจำลอง (Modeling) เป็นวิธีการวิเคราะห์และออกแบบ (Analysis and Design) วิธีการหนึ่ง ที่เน้นการสร้างแบบจำลอง เพื่อให้สามารถเข้าใจในปัญหาของระบบใช้เป็นเครื่องมือในการสื่อสาร แนวคิดในการ พัฒนาระบบกับบุคคลอื่นๆ จะใช้Visual Modeling คือใช้สัญลักษณ์รูปภาพในการสร้างแบบจำลอง 2. สมรรถนะประจำหน่วย แสดงความรู้เกี่ยวกับโมเดลที่ใช้ออกแบบเชิงวัตถุ 3. จุดประสงค์การเรียนรู้ 3.1 จุดประสงค์ทั่วไป 1. เพื่อมีความรู้ความเข้าใจโมเดลที่ใช้ออกแบบเชิงวัตถุ 3.2 จุดประสงค์เชิงพฤติกรรม (ความรู้ทักษะ คุณธรรม จริยธรรม จรรยาบรรณวิชาชีพ) 1. บอกภาษา UML ได้ถูกต้อง 2. บอกข้อดีของ UML ได้ถูกต้อง 3. บอกชนิดของไดอาแกรมใน UML ได้ถูกต้อง 4. บอกความหมาย Use Case Diagrams ได้ถูกต้อง 5. บอกความหมาย Class Diagrams ได้ถูกต้อง 6. บอกความหมาย Sequence Diagrams ได้ถูกต้อง 7. บอกความหมาย Collaboration Diagrams ได้ถูกต้อง 8. บอกความหมาย State Diagrams (statechart) ได้ถูกต้อง 9. บอกความหมาย Activity Diagram ได้ถูกต้อง 10. บอกความหมาย Component Diagram ได้ถูกต้อง 11. บอกความหมาย Deployment Diagram ได้ถูกต้อง 12. บอกความหมาย Object Diagram ได้ถูกต้อง
74 4. สาระการเรียนรู้ 4.1 ภาษา UML 4.2 องค์ประกอบของ UML 4.2.1. สัญลักษณ์ทั่วไป (Things) 4.2.2 ความสัมพันธ์(Relationship) 4.2.3 ไดอะแกรมต่าง ๆ (Diagram) 4.3 ชนิดของไดอาแกรมใน UML 4.3.1 Use Case Diagrams 4.3.2 Class Diagrams 4.3.3 Sequence Diagrams 4.3.4 Collaboration Diagrams 4.3.5 State Diagrams (statechart) 4.3.6 Activity Diagram 4.3.7 Component Diagram 4.3.8 Deployment Diagram 4.3.9 Object Diagram 5. กิจกรรมการเรียนรู้ (สัปดาห์ที่4-5/18) กิจกรรม เวลาโดยประมาณ 1. ครูขานชื่อนักเรียน 10 นาที 2. ครูให้นักเรียนทำแบบทดสอบก่อนเรียน (Pre-test) 15 นาที 3. ขั้นนำ ครูนำเข้าสู่บทเรียนด้วยการสนทนา ทบทวนหน่วยการเรียนที่ผ่าน มาแล้ว 15 นาที 4. ขั้นสอน บอกจุดประสงค์การเรียน บรรยาย อธิบาย ยกตัวอย่าง แสดง วิธีการปฏิบัติในแต่ละหัวข้อการเรียน และให้นักศึกษาปฏิบัติไปพร้อมกัน 90 นาที 5. ครูให้นักเรียนปฏิบัติ- 90 นาที 6. ครูสรุปเนื้อหาร่วมกับนักเรียน 20 นาที รวม 240 นาที 6. สื่อและแหล่งการเรียนรู้ 1.โปรแกรมวาด รูป UML Diagram โดยเข้าเว็บ www.draw.io 2.วิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุรหัสวิชา30204-2003 ผู้เรียบเรียง วราภรณ์ อุ้มอังวะ บริษัท ศูนย์หนังสือเมืองไทย จำกัด
75 7. หลักฐานการเรียนรู้ 7.1 หลักฐานความรู้ ใบงาน แบบฝึกหัด การค้นคว้าข้อมูล ที่ได้รับการเรียบเรียง สวยงาม เป็นระเบียบ ถูกต้อง 7.2 หลักฐานการปฏิบัติงาน ใบงาน แบบฝึกหัดรูปเล่มรายงานการค้นคว้าข้อมูล ที่ได้รับการเรียบเรียง สวยงาม เป็นระเบียบ ถูกต้อง พร้อมทั้งเอกสารประกอบการนำเสนองานหน้าชั้นเรียนของผู้เรียน และภาพประกอบ 8. การวัดและประเมินผลการเรียนรู้ 8.1 เครื่องมือประเมิน 1. ใบงาน 2. แบบฝึกหัด 3. แบบประเมินผลงาน 4. แบบประเมินการนำเสนอผลงาน 8.2 เกณฑ์การประเมิน การวัดผล (ใช้เครื่องมือ) การประเมินผล (นำผลเทียบกับเกณฑ์และแปลความหมาย) 1. แบบทดสอบก่อนเรียน (Pre-test) หน่วยที่ 4 (ไว้เปรียบเทียบกับคะแนนสอบหลังเรียน) 2. แบบฝึกหัดหน่วยที่ 4 เกณฑ์ผ่าน 50% 3. แบบทดสอบหลังเรียน (Post-test) หน่วยที่ 4 เกณฑ์ผ่าน 50% 4. โปรแกรมที่ได้- สำเร็จ/ไม่สำเร็จ 9. กิจกรรมเสนอแนะ/งานที่มอบหมาย (ถ้ามี) 1. ผู้เรียนต้องให้ความสนใจในการศึกษา เพื่อหาเทคนิควิธีการ หรือหลักการง่ายเพื่อให้หาคำตอบได้อย่าง ถูกต้อง และรวดเร็วโดยการ ตั้งใจฟังหลักการ เทคนิควิธีการที่ครูผู้สอนสรุปในขณะที่ทำการสอน และนำข้อสงสัย ซักถามครูในการเรียนทุกครั้งที่เกิดความสับสน และไม่เข้าใจ 2. ผู้มีการทบทวนบทเรียน ตลอดเพื่อเสริมสร้างความเข้าใจอย่างแท้จริง 3. ผู้เรียนหมั่นทำใบงาน แบบฝึกหัด และแก้ไขข้อที่ผิดให้ถูกต้องเสมอ 10. เอกสารอ้างอิง การวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204-2003 ผู้เรียบเรียง วราภรณ์ อุ้มอังวะ บริษัท ศูนย์หนังสือเมืองไทย จำกัด
76 ใบความรู้ที่4 หน่วยที่4 ชื่อวิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204-2003 ภาคเรียนที่1 ชื่อหน่วย โมเดลที่ใช้ออกแบบเชิงวัตถุ เวลารวม 4 ชั่วโมง ชื่อเรื่อง โมเดลที่ใช้ออกแบบเชิงวัตถุ เวลา 4 ชั่วโมง จุดประสงค์การเรียนรู้ จุดประสงค์ทั่วไป เพื่อมีความรู้ความเข้าใจโมเดลที่ใช้ออกแบบเชิงวัตถุ จุดประสงค์เชิงพฤติกรรม (ความรู้ทักษะ คุณธรรม จริยธรรม จรรยาบรรณวิชาชีพ) 1. บอกภาษา UML ได้ถูกต้อง 2. บอกข้อดีของ UML ได้ถูกต้อง 3. บอกชนิดของไดอาแกรมใน UML ได้ถูกต้อง 4. บอกความหมาย Use Case Diagrams ได้ถูกต้อง 5. บอกความหมาย Class Diagrams ได้ถูกต้อง 6. บอกความหมาย Sequence Diagrams ได้ถูกต้อง 7. บอกความหมาย Collaboration Diagrams ได้ถูกต้อง 8. บอกความหมาย State Diagrams (statechart) ได้ถูกต้อง 9. บอกความหมาย Activity Diagram ได้ถูกต้อง 10. บอกความหมาย Component Diagram ได้ถูกต้อง 11. บอกความหมาย Deployment Diagram ได้ถูกต้อง 12. บอกความหมาย Object Diagram ได้ถูกต้อง สมรรถนะรายหน่วย แสดงความรู้เกี่ยวกับโมเดลที่ใช้ออกแบบเชิงวัตถุ
77 หน่วยที่ 4 โมเดลที่ใช้ออกแบบเชิงวัตถุ การพัฒนาระบบสารสนเทศเชิงวัตถุ ประกอบด้วย 5 ขั้นตอน • ข้อมูลทางธุรกิจ (Business Data) • แบบจาลองโดเมนทางธุรกิจ (Business Domain Model) • แบบจาลองโดเมนระบบสารสนเทศ (System Domain Model) • รายละเอียดของระบบสารสนเทศ (System Specification) • ต้นแบบระบบสารสนเทศ (Working System) โดเมนธุรกิจ • โดนเมน (Domain) หมายถึง ขอบเขตความสนใจ • แบบจาลองโดเมน (Domain Model) คือ การกำหนดขอบเขตความสนใจและนำเสนอสิ่งนั้นในรูปของ แบบจาลอง (อยางใดอย่างหนึ่ง) เพื่อให้ผู้ที่ม่ีส่วนเกี่ยวข้อง เขาใจในขอบเขตเดียวกันและเข้าใจความหมาย ของสิ่งที่อยู่ในขอบเขตนั้นตรงกัน • แบบจาลองโดเมนธุรกิจ 1.สิ่งที่ควรสนใจและนิยามไวในแบบจำลองโดเมนธุรกิจ - ขั้นตอนการดำเนินงานในปัจจุบัน (Business Workflow) - สิ่งสำคัญที่เกี่ยวข้องกับการดำเนินงาน (Business Entity Model) - การประมวลผลข้อมูลในปัจจุบัน (Business Data Processing Model) 2.ขนตอนการดำเนินงานในปัจจุบัน (Business Workflow) - สามารถอธิบายได้ด้วย Activity Diagram 3. สิ่งสำคัญที่ เกี่ยวข้องกับการดำเนินงาน (Business Entity Model) - สามารถอธิบายได้ด้วย (Abstract) ERD หรือ UML Class Diagram 4. การประมวลผลสารสนเทศในปัจจุบัน (Business Data/Information Processing Model) - สามารถอธิบายได้ด้วยผังการไหลข้อมูล (Data Flow Diagram) UML คืออะไร UML Unified Modeling Language. ในการพัฒนาระบบโปรแกรมที่ต้องทำงานเป็นทีมปัญหาที่ใหญ่ที่สุดคือการสื่อสารให้คนในทีมหรือ แม้แต่ลูกค้าให้เข้าใจระบบที่ เราจะสร้างขึ้น เนื่องจากสิ่งสิ่งเดียวกันอาจเรียกต่างกันหรือ สิ่งคละสิ่งกันอาจ เรียกชื่อเหมือนกัน การอธิบายเพื่อให้นักพัฒนาเข้าใจได้ตรงกันกับลูกค้าจึงเป็นเรื่องที่ยากเย็นมากและใช้ เวลานาน จนกระทั่ง Object Management Group (OMG) ร่างข้อกำหนด UML 1.0 ในเดือนมกราคม 1997 โดย เริ่มต้นใช้ในซอฟต์แวร์ที่ซับซ้อนและระบบที่ไม่ใช่ซอฟต์แวร์จนในปัจจุบัน UML กลายเป็นมาตรฐานสำหรับ การระบุการแสดงภาพการสร้างและการจัดทำเอกสารในการสร้างระบบซอฟต์แวร์
78 มนุษย์สามารถเข้าใจด้วยภาพมากกว่าตัวหนังสือ การใช้UML ก็เพื่อให้ทีมงานนักพัฒนาสามารถเข้าใจ ตรงกัน UML กำหนดภาษารูปภาพทั่วไปสำหรับการสร้างแบบจำลองซึ่งผู้สร้างโมเดลทั้งหมดสามารถใช้งาน ได้และจำเป็นต้องทำให้เข้าใจและใช้งานได้ง่าย UML เป็นภาษาภาพที่ใช้ในการทำร่างเอกสารซอฟต์แวร์ซึ่งสามารถอธิบายได้ว่าเป็นภาษาที่ใช้ในการสร้าง แบบจำลองภาพทั่วไปเพื่อให้เห็นภาพระบุสร้างและระบบซอฟต์แวร์เอกสาร แม้ว่าโดยทั่วไปแล้ว UML จะ ใช้เพื่อจำลองระบบซอฟต์แวร์แต่ก็ไม่ได้จำกัดว่าต้องใช้สำหรับซอฟต์แวร์เท่านั้นยังสามารถใช้เพื่อจำลอง ระบบที่ไม่ใช่ซอฟต์แวร์ได้ด้วย ตัวอย่างเช่นผังกระบวนการในหน่วยการผลิต ฯลฯ แผนภาพ UML ไม่ได้ทำขึ้นสำหรับนักพัฒนาเท่านั้น แต่ยังสำหรับผู้ใช้ทางธุรกิจ, บุคคลทั่วไปและทุกคนที่ สนใจที่จะเข้าใจระบบ ระบบสามารถเป็นซอฟต์แวร์หรือไม่ใช่ระบบซอฟต์แวร์ดังนั้นจึงต้องมีความชัดเจนว่า UML ไม่ใช่วิธีการพัฒนา แต่คือกระบวนการเพื่อให้เป็นสามารถสร้างระบบที่ประสบความสำเร็จ สรุปได้ว่าเป้าหมายของ UML นั้นสามารถกำหนดให้เป็นกลไกการสร้างแบบจำลองอย่างง่ายเพื่อจำลอง ระบบการปฏิบัติที่เป็นไปได้ทั้งหมดในสภาพแวดล้อมที่ซับซ้อนในปัจจุบัน แบบจำลองแนวคิดของ UML แนวคิดแบบจำลองคือการสร้างแบบจำลองที่จากแนวคิดและความสัมพันธ์แบบจำลองแนวคิดเป็นขั้นตอน แรกก่อนที่จะวาดไดอะแกรม UML มันช่วยให้เข้าใจเอนทิตีในโลกแห่งความเป็นจริงและวิธีที่เอนทิตีมี ปฏิสัมพันธ์ซึ่งกันและกัน เนื่องจาก UML อธิบายถึงระบบเรียลไทม์จึงเป็นสิ่งสำคัญมากที่จะสร้างแบบจำลองแนวคิดและดำเนินการ ต่อไปเรื่อย ๆ แบบจำลองแนวคิดของ UML สามารถเข้าใจได้โดยการเรียนรู้องค์ประกอบหลักสามข้อ ต่อไปนี้ 1.การสร้าง UML 2.กฎในการเชื่อมต่อแบบเอกสารสำเร็จรูป 3.กลไกทั่วไปของ UML แนวคิดเชิงวัตถุ UML สามารถอธิบายโดยใช้ตัวแทนของการวิเคราะห์และออกแบบเชิงวัตถุ วัตถุประกอบไปด้วย ข้อมูลและวิธีการที่ควบคุมข้อมูล ข้อมูลแสดงถึงสถานะของวัตถุคลาสอธิบายถึงวัตถุซึ่งสามารถสร้างลำดับ ชั้นเพื่อสร้างแบบจำลองระบบโลกแห่งความจริงลำดับชั้นจะแสดงเป็น inheritance และclass ยังสามารถ เชื่อมโยงในรูปแบบที่แตกต่างกันตามความต้องการ วัตถุ( Objects) เป็นหน่วยหนึ่งในโลกแห่งความจริงที่มี อยู่รอบตัวเราและแนวคิดพื้นฐานเช่นสิ่งที่เป็นนามธรรม, การห่อหุ้ม, การสืบทอดและการแตกต่างกัน ทั้งหมดสามารถแสดงได้โดยใช้UML แผนภาพ UML เป็นตัวแทนของแนวคิดเชิงวัตถุเท่านั้น ดังนั้นจึง จำเป็นอย่างยิ่งที่เราจะต้องเข้าใจแนวคิดเชิงวัตถุก่อนจึงจะสามารถเข้าใจ UML ได้ Objects วัตถุแสดงถึงเอนทิตีและ Building Block พื้นฐาน Class คลาสคือรูปแบบของวัตถุ Abstraction Abstraction หมายถึงพฤติกรรมของเอนทิตีโลกแห่งความจริง
79 Encapsulation Encapsulation เป็นกลไกของการซ่อนไว้จากโลกภายนอก Inheritance เป็นกลไกของการสร้างคลาสใหม่จากคลาสที่มีอยู่ Polymorphism มันกำหนดกลไกการมีอยู่ในรูปแบบที่แตกต่างกัน การวิเคราะห์และออกแบบเชิงวัตถุ เราจำเป็นต้องเข้าใจแนวคิดการวิเคราะห์และการออกแบบเชิงวัตถุซึ่งมีวัตุถุประสงค์ที่สำคัญคือการระบุวัตถุ ของระบบที่จะออกแบบ การวิเคราะห์นี้ทำสำหรับระบบที่มีอยู่ซึ่งเราจำเป็นต้องระบุสามสิ่งออกมาให้ได้คือ Analysis → Design → implementation using languages 1.การระบุวัตถุต่างๆของระบบ จุดประสงค์ที่สำคัญที่สุดของการวิเคราะห์เชิงวัตถุคือ การระบุวัตถุและ อธิบายวัตถุในวิธีที่เหมาะสม หากระบุวัตถุเหล่านี้ได้อย่างมีประสิทธิภาพแล้วงานออกแบบต่อไปก็ง่าย ควร ระบุวัตถุที่มีความรับผิดชอบ ความรับผิดชอบคือฟังก์ชั่นที่ดำเนินการโดยวัตถุวัตถุแต่ละชิ้นมีความ รับผิดชอบบางประเภทที่จะต้องปฏิบัติเมื่อความรับผิดชอบเหล่านี้ได้รับการร่วมมือกันระบบจะบรรลุตาม วัตถุประสงค์ 2.ระบุความสัมพันธ์ของวัตถุต่างๆ คือการหาความต้องการและการปฏิบัติตาม ในขั้นตอนนี้วัตถุจะทำงาน ร่วมกันตามความสัมพันธ์ที่ตั้งใจไว้ 3.การออกแบบซึ่งสามารถแปลงเป็นไฟล์ปฏิบัติการได้โดยใช้ภาษาเชิงวัตถุขั้นตอนที่สามคือการใช้ภาษา เชิงวัตถุ ที่ออกแบบได้ไปดำเนินการโดยใช้ภาษา เชิงวัตถุ เช่น Java, C ++ เป็นต้น กฏของ UML ในการออกแบบเชิงวัตถุ UML เป็นภาษาที่ใช้ในการสร้างแบบจำลองซอฟต์แวร์และระบบที่ไม่ใช่ซอฟต์แวร์แม้ว่า UML จะใช้ สำหรับระบบที่ไม่ใช่ซอฟต์แวร์แต่สิ่งสำคัญคือการสร้างโมเดลแอปพลิเคชันซอฟต์แวร์เชิงวัตถุ ไดอะแกรม UML ส่วนใหญ่ที่กล่าวถึงในตอนนี้ถูกนำมาใช้เพื่อสร้างแบบจำลองด้านต่าง ๆ ทั้งมีวัตถุและไม่มี ดังนั้นความสัมพันธ์ระหว่างการออกแบบ เชิงวัตถุและ UML จึงเป็นสิ่งสำคัญมากที่จะเข้าใจ การออกแบบ เชิงวัตถุจะถูกแปลงเป็นไดอะแกรม UML ตามความต้องการอาจกล่าวได้ว่าการวิเคราะห์และออกแบบเชิง วัตถุแล้วขั้นตอนต่อไปนั้นง่ายมากในการสร้างไดอะแกรม UML
80 UML มีประโยชน์อย่างไร -ลดความซับซ้อน -เปิดเผยเส้นทางการสื่อสาร -ทำให้การผลิตซอฟต์แวร์และกระบวนการการผลิตดำเนินไปโดยอัตโนมัติ -ช่วยแก้ไขปัญหาทางด้านโครงสร้างที่ฝังแน่น -เพิ่มคุณภาพของงาน -ลดต้นทุนและย่นระยะเวลาในการออกสู่ตลาด ประเภทของไดอะแกรม UML ไดอะแกรม UML มีสองประเภทใหญ่ๆคือไดอะแกรมโครงสร้างและไดอะแกรมพฤติกรรม (และภายในสอง หมวดหมู่นั้นยังมีอีกหลายประเภท) รูปแบบหลากหลายเหล่านี้มีเพื่อแสดงถึงสถานการณ์และไดอะแกรม หลายประเภทที่คนหลากหลายประเภทใช้ตั้งแต่ลูกค้าและผู้จัดการโครงการไปจนถึงนักเขียนเชิงเทคนิค นัก ออกแบบ นักวิเคราะห์ผู้ลงรหัส และผู้ควบคุมคุณภาพ ผู้ทดสอบแต่ละบทบาทจะใช้ไดอะแกรมเฉพาะ เพื่อให้เหมาะกับความต้องการของพวกเขา นั่นหมายความว่าแต่ละเค้าโครงต้องการการมุ่งเน้นและระดับ ของรายละเอียดที่แตกต่างกัน เป้าหมายของ UML คือการแสดงไดอะแกรมที่ง่ายต่อการเข้าใจ 1. ไดอะแกรมโครงสร้าง UML ไดอะแกรมคลาส ไดอะแกรมนี้เป็นชนิดที่พบบ่อยที่สุดในการพัฒนาซอฟต์แวร์ใช้เพื่ออธิบายการ ออกแบบเชิงตรรกะและทางกายภาพของระบบและแสดงคลาสของแต่ละสิ่ง ไดอะแกรมนี้ดูคล้ายกับแผนผัง ลำดับงานเนื่องจากแต่ละคลาสถูกแสดงด้วยกล่อง ไดอะแกรมนี้นำเสนอภาพของคลาสที่แตกต่างกันและ การเชื่อมโยงกันอย่างไร และแต่ละคลาสมีสามช่อง: ส่วนบนสุด: ชื่อคลาส ส่วนตรงกลาง: คุณลักษณะของคลาส ส่วนล่าง: วิธีการหรือการดำเนินงานของคลาส ตัวอย่างของไดอะแกรมส่วนติดต่อคลาส UML เทมเพลตพร้อมให้ดาวน์โหลด -ไดอะแกรมเชิงวัตถุ บ่อยครั้งที่ไดอะแกรมนี้ใช้เป็นวิธีในการตรวจสอบความถูกต้องของไดอะแกรมคลาส หรือพูดอีกแบบก็คือไดอะแกรมนี้ในทางปฏิบัติแล้วใช้งานได้จริงหรือไม่ สิ่งนี้แสดงให้เห็นถึงระบบและ ความสัมพันธ์ของวัตถุและช่วยเสนอมุมมองที่ดีขึ้น ทำให้เห็นลำดับการดำเนินงานที่ดีและส่วนใดที่ จำเป็นต้องแก้ไข’
81 -ไดอะแกรมส่วนประกอบ เรียกอีกอย่างว่าแผนภาพการไหลขององค์ประกอบ สิ่งนี้แสดงให้เห็นการจัดกลุ่ม ตรรกะขององค์ประกอบและความสัมพันธ์ของแต่ละสิ่ง หรือเรียกอีกอย่างว่า ไดอะแกรมนี้แสดงมุมมองที่ ง่ายขึ้นของระบบที่ซับซ้อนโดยการแบ่งออกเป็นส่วนย่อยๆ แต่ละชิ้นจะแสดงโดยใช้กล่องสี่เหลี่ยมที่มีชื่อ เขียนอยู่ภายใน ตัวเชื่อมต่อกำหนดความสัมพันธ์/การพึ่งพาระหว่างส่วนประกอบที่แตกต่างกัน -ไดอะแกรมโครงสร้างแบบรวม ไดอะแกรมนี้ไม่ค่อยมีใครใช้นอกเขตพัฒนาซอฟต์แวร์ทำไมถึงเป็นแบบนั้น ในขณะที่ไดอะแกรมนี้คล้ายกับไดอะแกรมคลาส สิ่งนี้ใช้เวลาที่ต้องการแสดงข้อมูลที่ลึกมากขึ้น อธิบาย โครงสร้างภายในของหลายคลาส และแสดงการปฏิสัมพันธ์ระหว่างแต่ละสิ่ง นอกเสียจากว่าคุณจะเป็น นักพัฒนา มุมมองระดับบนมีแนวโน้มว่าแสดงข้อมูลที่เพียงพอแล้ว’’ -ไดอะแกรมการปรับใช้ไดอะแกรมนี้แสดงส่วนประกอบของฮาร์ดแวร์(โหนด) และซอฟต์แวร์(ส่วน) และ ความสัมพันธ์ของทั้งสองสิ่ง แสดงภาพที่เป็นตัวแทนขององค์ประกอบซอฟต์แวร์ที่ถูกปรับใช้ -ไดอะแกรมแพคเกจ สิ่งนี้ใช้เพื่อแสดงถึงการพึ่งพาระหว่างแพ็คเกจที่ประกอบเป็นแบบจำลอง เป้าหมาย หลักคือการแสดงถึงความสัมพันธ์ระหว่างส่วนประกอบขนาดใหญ่ต่างๆ ที่ก่อให้เกิดระบบที่ซับซ้อน -ไดอะแกรมโพรไฟล์ไดอะแกรมนี้ไม่ค่อยเหมือนไดอะแกรมสักเท่าไหร่ ค่อนข้างเหมือนภาษามากกว่า ไดอะแกรมโพรไฟล์ช่วยสร้างคุณสมบัติใหม่และอธิบายความหมายของคำสำหรับไดอะแกรม UML โดย กำหนดแบบแผนกำหนดเอง ค่าที่ติดแท็ก และข้อจำกัด โพรไฟล์เหล่านี้ให้คุณปรับแต่งเมต้าโมเดล UML สำหรับแพลตฟอร์มต่างๆ(เช่น แพลตฟอร์ม Java, Enterprise Edition (Java EE) หรือ Microsoft .NET Framework) และโดเมน (เช่น การสร้างแบบจำลองกระบวนการทางธุรกิจ สถาปัตยกรรมเชิงบริการ แอป พลิเคชันทางการแพทย์และอื่นๆ) 2. ไดอะแกรมพฤติกรรม UML ไดอะแกรมกิจกรรม ไดอะแกรมนี้แสดงให้เห็นถึงกระบวนการทีละขั้นตอนโดยมีจุดเริ่มต้นและ จุดสิ้นสุดที่ชัดเจน เป็นชุดของกิจกรรมที่จะต้องเกิดขึ้นเพื่อให้บรรลุเป้าหมาย แสดงให้เห็นว่าแต่ละกิจกรรม นำไปสู่กิจกรรมต่อไปและแสดงการเชื่อมต่อทั้งหมดว่าเชื่อมต่อได้อย่างไร’ นอกเหนือจากการพัฒนา ซอฟต์แวร์สิ่งเหล่านี้สามารถใช้ในสภาพแวดล้อมทางธุรกิจใดก็ได้ซึ่งสามารถนำมาใช้เป็นแผนที่ กระบวนการหรือการสร้างแบบจำลองทางธุรกิจ
82 ตัวอย่างไดอะแกรมรูปแบบการใช้ UML เทมเพลตพร้อมให้ • ไดอะแกรมรูปแบบการใช้ไดอะแกรมนี้อธิบายว่าระบบทำอะไรไม่ใช่ระบบทำงานอย่างไร รูปแบบ การใช้งานเป็นชุดของเหตุการณ์ที่เกิดขึ้นเมื่อตัวดำเนินการใช้ระบบเพื่อทำให้กระบวนการเสร็จ สมบูรณ์ ตัวดำเนินการถูกกำหนดให้เป็นบุคคลหรือสิ่งใดก็ตามที่โต้ตอบกับระบบ (บุคคล องค์กร หรือแอปพลิเคชัน) จากภายนอกระบบ ดังนั้น ไดอะแกรมรูปแบบการใช้จะอธิบายชุดของลำดับ และแสดงถึงข้อกำหนดการทำงานของระบบ“” • ไดอะแกรมภาพรวมการโต้ตอบ เกิดความซับซ้อนบ่อยครั้ง ไดอะแกรมนี้คล้ายกับไดอะแกรม กิจกรรมเนื่องจากทั้งคู่แสดงลำดับของกิจกรรมทีละขั้นตอน แต่ไดอะแกรมภาพรวมการโต้ตอบเป็น ไดอะแกรมกิจกรรมที่เกิดจากไดอะแกรมการโต้ตอบที่แตกต่างกัน ทั้งสองไดอะแกรมใช้คำอธิบาย ประกอบเช่นเดียวกับไดอะแกรมกิจกรรม (โหนดเริ่มต้น สุดท้าย ตัดสินใจ ผสาน แยก และเข้าร่วม) ด้วยการเพิ่มองค์ประกอบต่างๆ เช่น การโต้ตอบ การใช้การโต้ตอบ ข้อจำกัดเวลา และข้อจำกัด ระยะเวลา • ไดอะแกรมกำหนดเวลา เมื่อการกำหนดเวลาเป็นขั้นตอนหลัก จึงถึงเวลาใช้ไดอะแกรม UML นี้ เป็นที่รู้จักกันในชื่อที่เรียกว่าไดอะแกรมลำดับเหตุการณ์หรือเหตุการณ์ ไดอะแกรมนี้ไม่แสดงให้เห็น ว่าวัตถุมีปฏิสัมพันธ์หรือเปลี่ยนแปลงซึ่งกันและกัน ในทางปฏิบัติ ไดอะแกรมแสดงให้เห็นว่าวัตถุ และตัวดำเนินการทำหน้าที่ตามระยะเวลาอย่างไร ไดอะแกรมนี้มุ่งเน้นไปที่ระยะเวลาของ เหตุการณ์และการเปลี่ยนแปลงที่เกิดขึ้นขึ้นอยู่กับข้อจำกัดด้านระยะเวลา ส่วนสำคัญหลักๆ ของ ไดอะแกรมกำหนดเวลารวมถึง: ’ o เส้นชีวิต: ผู้เข้าร่วมแต่ละคน o สถานะไทม์ไลน์: สถานะเส้นชีวิตที่แตกต่างกันเกิดขึ้นภายในไปป์ไลน์ o ข้อจำกัดระยะเวลา: เวลาที่จำเป็นสำหรับการดำเนินการเพื่อจัดการข้อจำกัด o ข้อจำกัดเวลา: เวลาสำหรับผู้เข้าร่วมในการทำบางสิ่งให้สำเร็จ o การสิ้นสุดที่เกิดขึ้น: เมื่อเส้นชีวิตของวัตถุสิ้นสุดลง จะไม่มีเหตุการณ์อื่นปรากฏขึ้นหลังจาก มีการสิ้นสุดเกิดขึ้นบนเส้นชีวิต’ • ไดอะแกรมสถานะเครื่องจักร หรือที่เรียกว่าแผนภาพสถานะ ไดอะแกรมนี้ใช้เมื่อพฤติกรรมของ วัตถุมีความซับซ้อนและรายละเอียดที่มีความสำคัญ ไดอะแกรมนี้จะช่วยอธิบายพฤติกรรมของวัตถุ หนึ่ง (หรือผู้ประกอบการในบางครั้ง) และวิธีการที่จะเปลี่ยนแปลงตามเหตุการณ์ภายในและ ภายนอก ’ • ไดอะแกรมลำดับปฏิสัมพันธ์ไดอะแกรมยอดนิยมนอกเหนือจากชุมชนการออกแบบ ไดอะแกรมที่ ดึงดูดสายตานี้สามารถแสดงกระบวนการทางธุรกิจทุกประเภทได้เป็นอย่างดี ซึ่งเปิดเผยโครงสร้าง ของระบบ แสดงลำดับของข้อความและการโต้ตอบระหว่างตัวดำเนินการและวัตถุตามลำดับเวลา
83 ไดอะแกรมลำดับปฏิสัมพันธ์แสดงการทำซ้ำและการแตกแขนงอย่างง่ายๆ เหมาะสำหรับการทำงาน หลายอย่าง • ไดอะแกรมการสื่อสาร ไดอะแกรมการสื่อสารหรือการทำงานร่วมกันคล้ายกับไดอะแกรมลำดับ ปฏิสัมพันธ์ อย่างไรก็ตาม ไดอะแกรมนี้เน้นการสื่อสารระหว่างวัตถุ ซึ่งแสดงให้เห็นการจัดระเบียบ ของวัตถุที่มีส่วนร่วมในการโต้ตอบและยังมีคุณสมบัติการทำซ้ำที่ซับซ้อนและแตกแขนงได้ แบบจำลองฐานข้อมูล UML ยังได้รับความนิยมในฐานะที่เป็นสัญกรณ์สำหรับการสร้างแบบจำลองฐานข้อมูล แบบจำลอง เหล่านี้เป็นเครื่องมือภาพที่ยอดเยี่ยมสำหรับการระดมสมอง สร้างไดอะแกรมแบบฟรีฟอร์ม และทำงาน ร่วมกันทางด้านความคิด ในขณะที่ UML ไม่มีข้อกำหนดสำหรับการสร้างแบบจำลองข้อมูล สิ่งนี้สามารถเป็นเครื่องมือที่มีประโยชน์ สำหรับการสร้างไดอะแกรม โดยเฉพาะอย่างยิ่งเนื่องจากข้อมูลจากฐานข้อมูลสามารถใช้ในการเขียน โปรแกรมเชิงวัตถุได้ มาดูที่แบบจำลองฐานข้อมูลชนิดต่างๆ ที่คุณสามารถสร้างขึ้นได้:’ • แบบจำลองฐานข้อมูลที่มีลำดับชั้น ถึงจะเก่าแต่ก็ดี ข้อมูลของแบบจำลองนี้ถูกจัดระเบียบใน โครงสร้างรูปแบบต้นไม้ ต้นไม้นี้ประกอบด้วยกลุ่มหลายกลุ่มที่เรียกว่าเซกเมนต์ ซึ่งใช้ความสัมพันธ์ แบบหนึ่งต่อหลายสิ่ง การเข้าถึงข้อมูลสามารถคาดเดาได้’ • แบบจำลองเครือข่าย แบบจำลองนี้ใช้รูปแบบของกราฟที่ประเภทความสัมพันธ์เป็นส่วนโค้ง และ ประเภทวัตถุเป็นโหนด แตกต่างจากแบบจำลองฐานข้อมูลอื่นๆ แบบจำลองเครือข่ายเค้าร่างไม่ได้ ถูกจำกัดให้เป็นแบบตาข่ายหรือลำดับชั้น’ • แบบจำลองฐานข้อมูลเชิงวัตถุแบบจำลองนี้ใช้การรวบรวมวัตถุหรือองค์ประกอบซอฟต์แวร์ที่ สามารถใช้ซ้ำได้พร้อมคุณสมบัติและวิธีการที่เกี่ยวข้อง ตัวอย่างเช่น ฐานข้อมูลมัลติมีเดียอาจมีภาพ ที่ไม่สามารถจัดเก็บในฐานข้อมูลเชิงสัมพันธ์ หรือฐานข้อมูลไฮเปอร์เท็กซ์อนุญาตให้เชื่อมโยงไปยัง วัตถุอื่น’ • แบบจำลองเชิงสัมพันธ์ข้อมูลถูกสร้างโดยใช้ความสัมพันธ์หรือโครงสร้างทางคณิตศาสตร์ที่คล้าย กับกริดที่มีคอลัมน์และแถว โดยพื้นมีลักษณะเป็นตาราง’ • แบบจำลองเชิงวัตถุตรงตามชื่อเรียก แบบจำลองนี้คือการรวมตัวกันของสองสิ่งที่กล่าวมาแล้ว ข้างต้น เป็นแบบจำลองที่รองรับวัตถุ คลาส การสืบทอด และองค์ประกอบเชิงวัตถุอื่นๆ และยัง รวมถึงการรองรับชนิดของข้อมูล โครงสร้างแบบตาราง และอื่นๆ ที่อยู่ในรูปแบบจำลองข้อมูลเชิง สัมพันธ์
84 • แบบจำลองความสัมพันธ์เอนทิตีประกอบด้วยประเภทของเอนทิตี (บุคคล สถานที่ หรือสิ่งของ) แสดงให้เห็นถึงความสัมพันธ์ที่สามารถมีอยู่ระหว่างแต่ละอย่างได้ โดยการกำหนดเอนทิตี คุณสมบัติของแต่ละสิ่ง และแสดงถึงความสัมพันธ์ระหว่างกัน ไดอะแกรม ER แสดงให้เห็นถึง โครงสร้างตรรกะของฐานข้อมูล • แบบจำลองเอกสาร ถูกออกแบบมาสำหรับการจัดเก็บและจัดการเอกสารหรือข้อมูลกึ่งโครงสร้าง แทนที่จะเป็นข้อมูลขนาดเล็ก ที่มีโครงสร้างแบบต้นไม้ซึ่งแต่ละโหนดเป็นวัตถุที่แสดงถึงส่วนหนึ่ง ของเอกสาร’ • แบบจำลองค่าเอนทิตี-แอตทริบิวต์EAV หรือแบบจำลองเปิดเค้าร่าง ข้อมูกถูกบันทึกในรูปแบบ สามคอลัมน์ 1. เอนทิตี (สิ่งที่กำลังได้รับการอธิบาย)’ 2. แอตทริบิวต์หรือพารามิเตอร์ (เช่น ชื่อ คำอธิบาย ชนิดของข้อมูล) 3. ค่าของแอตทริบิวต์ • โครงร่างแบบดาว เป็นแบบจำลองหลายมิติที่เรียบง่ายที่สุด ซึ่งข้อมูลถูกจัดเรียงด้วยมิติและ ข้อเท็จจริง แบบจำลองนี้ถูกใช้ในระบบธุรกิจอัจฉริยะและคลังข้อมูลเนื่องจากเหมาะสำหรับการ สืบค้นชุดข้อมูลขนาดใหญ่’’
85 แบบฝึกหัด/เฉลย ตอนที่ 1 คำสั่ง จงตอบคำถามต่อไปนี้ให้ถูกต้อง คำชี้แจง จงตอบคำถามต่อไปนี้ 1. จงอธิบายความหมายของคำต่อไปนี้ ภาษา UML ตอบ ภาษา UML เป็นภาษาที่มีรูปภาพมาตรฐาน (Standard Visual Modeling Language) และเป็น ภาษาสากลที่ใช้ในการวิเคราะห์ออกแบบและพัฒนาระบบซอฟต์แวร์เชิงวัตถุ ดังนั้น เอกสารการวิเคราะห์และออกแบบที่ถูกสร้างด้วยภาษา UML จึงสามารถแลกเปลี่ยนและทำความเข้าใจ ตรงกันได้ระหว่างผู้รวมงานภายในกลุ่มผู้พัฒนาระบบ ภาษา UML มีคุณสมบัติที่สามารถนำเสนอและ สนับสนุนหลักการเชิงวัตถุได้อย่างครบถ้วนชัดเจนและไม่ผูกติดกับภาษาโปรแกรมภาษาใดภาษาหนึ่ง Use Case Diagrams ตอบ ใช้ในการจำลองฟังก์ชันการทำงานของระบบ Class Diagrams ตอบ ใช้ในการจำลองคลาสต่าง ๆ ที่จำเป็นในระบบ Sequence Diagrams ตอบ ใช้ในการจำลองกิจกรรมต่าง ๆ ที่เกิดขึ้นกับอ็อบเจ็กต์ในระบบ Collaboration Diagrams ตอบ ใช้แสดงการทำงานร่วมกัน ของอ็อบเจ็กต์ในระบบ State Diagrams (statechart) ตอบ ใช้สำหรับแสดงถึงสถานะของอ็อบเจ็กต์ในระหว่างการ ทำงาน Activity Diagram ตอบ มีหลักการเช่นเดียวกับโฟลว์ชาร์ต Component Diagram ตอบ ใช้สำหรับสร้างโมเดลของคอมโพเนนต์ในระบบ Deployment Diagram ตอบ ใช้แสดงการติดตั้งใช้งาน ส่วนประกอบต่าง ๆ ของระบบ Object Diagram ตอบ แผนภาพเชิงวัตถุ object Diagrams มีแนวคิดพื้นฐานมาจาก class diagrams แต่มีความแตกต่างคือ class diagrams มีรูปแบบเป็นนามธรรมซึ่งประกอบด้วยคลาสและ ความสัมพันธ์ส่วน Object Diagrams เป็นแผนภาพที่แสดงถึงพฤติกรรมของระบบจริง จุดประสงค์คือ เพื่อ จับภาพมุมมองคงที่ของระบบในช่วงเวลาหนึ่ง แผนภาพเชิงวัตถุแสดงถึง ภาพรวมของระบบที่กำลังทำงาน ในช่วงเวลาหนึ่ง 2. องค์ประกอบของ UML มีอะไรบ้าง ตอบ 1. สัญลักษณ์ทั่วไป (Things) สัญลักษณ์ทั่วไป (Things) คือสัญลักษณ์พื้นฐานที่ถูกใช้งานในการสร้างไดอะแกรม แบ่งเป็นหมวด ย่อยได้ดังนี้ 1) หมวดโครงสร้าง (Structural) ได้แก่ ยูเคส คลาส อินเทอร์เฟซ คอมโพเนนต์ คอลแล บอเรชั่น และโหนด 2) หมวดพฤติกรรม (Behavioral) คือส่วนที่เป็นไดนามิกของยูเอ็มแอล ซึ่งได้แก่ อินเตอร์ แอ็กชั่น สเตตแมชชีน 3) หมวดการจัดกลุ่ม (Grouping) เพื่อใช้ในการรวบรวมองค์ประกอบต่าง ๆ ในโมเดลให้ เหมาะสม ได้แก่ แพ็กเกจ 4) หมวดคำอธิบายประกอบ (Annotational) ได้แก่ โน้ต (Note)
86 2. ความสัมพันธ์(Relationship) มี 3 ชนิด คือ (1) ความสัมพันธ์แบบพึ่งพา (Dependency Relationship) (2) ความสัมพันธ์แบบเกี่ยวพัน (Association Relationship) (3) ความสัมพันธ์แบบเจเนอรัลไลเซชั่น (Generalization Relationship) 3 ไดอะแกรมต่าง ๆ (Diagram) ยูเอ็มแอล ประกอบด้วย 9 ไดอะแกรม แต่ละไดอะแกรมเปรียบเสมือนมุมมองในด้านต่าง ๆ ของ ระบบที่กำลังพัฒนาซึ่งช่วยให้การวิเคราะห์และออกแบบระบบเป็นไปได้อย่างมีประสิทธิภาพและง่ายยิ่งขึ้น 1) ยูสเคสไดอะแกรม (Use Case Diagram) ใช้ในการจำลองฟังก์ชันการทำงานของระบบ 2) คลาสไดอะแกรม (Class Diagram) ใช้ในการจำลองคลาสต่าง ๆ ที่จำเป็นในระบบ 3) แอ็กทิวิตี้ไดอะแกรม (Activity Diagram) มีหลักการเช่นเดียวกับโฟลว์ชาร์ต 4) สเตตชาร์ตไดอะแกรม (Statechart Diagram) ใช้สำหรับแสดงถึงสถานะของอ็อบเจ็กต์ใน ระหว่างการทำงาน 5) คอลลาบอเรชั่นไดอะแกรม (Collaboration Diagram) ใช้แสดงการทำงานร่วมกัน ของอ็อบ เจ็กต์ในระบบ 6) ซีเควนซ์ไดอะแกรม (Sequence Diagram) ใช้ในการจำลองกิจกรรมต่าง ๆ ที่เกิดขึ้นกับอ็อบ เจ็กต์ในระบบ 7) คอมโพเนนต์ไดอะแกรม (Component Diagram) ใช้สำหรับสร้างโมเดลของคอมโพเนนต์ใน ระบบ 8) ดีพลอยเมนต์ไดอะแกรม (Deployment Diagram) ใช้แสดงการติดตั้งใช้งาน ส่วนประกอบต่าง ๆ ของระบบ 9) อ็อบเจ็กต์ไดอะแกรม (Object Diagram) แผนภาพเชิงวัตถุ object Diagrams มีแนวคิด พื้นฐานมาจาก class diagrams แต่มีความแตกต่างคือ class diagrams มีรูปแบบเป็นนามธรรมซึ่ง ประกอบด้วยคลาสและความสัมพันธ์ส่วน Object Diagrams เป็นแผนภาพที่แสดงถึงพฤติกรรมของระบบ จริง จุดประสงค์คือเพื่อจับภาพมุมมองคงที่ของระบบในช่วงเวลาหนึ่ง แผนภาพเชิงวัตถุแสดงถึง ภาพรวม ของระบบที่กำลังทำงานในช่วงเวลาหนึ่ง 3. ชนิดของไดอาแกรมใน UML มีกี่ชนิด อะไรบ้าง ตอบ มี 3 ชนิด (1) Structural diagrams (2) Implementation Diagram (3) Behavioral diagrams
87 4. จงบอกข้อดีของ UML ตอบ 1. เป็นภาษารูปภาพมาตรฐาน หรือภาษาสากลที่ใช้ในการพัฒนาซอฟต์แวร์เชิงวัตถุและสามารถใช้ ในการเปลี่ยนแบบจำลองได้อย่างสื่อความหมายรวมถึงการจัดสร้างเอกสารการวิเคราะห์ออกแบบ ระบบ การประยุกต์ใช้ยูเอ็มแอลจะทำให้ผู้ร่วมงานมีความเข้าใจและสามารถแลกเปลี่ยนผลของการวิเคราะห์และ ออกแบบระบบในขั้นตอนต่าง ๆ ได้อย่างรวดเร็วและตรงกัน 2. สามารถนำเสนอและสนับสนุนหลักการเชิงวัตถุได้อย่างครบถ้วน ชัดเจนทำให้นักพัฒนาระบบ สามารถทำความเข้าใจปัญหาและค้นพบวิธีการแก้ไขได้อย่างรวดเร็วและง่ายยิ่งขึ้น 3. ไม่ผูกติดกับภาษาโปรแกรมภาษาใดภาษาหนึ่ง คือสามารถถูกแปลงเป็นระบบจริง ด้วยภาษาเชิง วัตถุใดก็ได้ 4. เป็นภาษาที่ง่ายต่อการทำความเข้าใจ 5. สามารถถูกแปลงเป็นภาษาที่ใช้ในการสร้างระบบขึ้นจริงได้อย่างอัตโนมัติทำให้ลดเวลา และ ค่าใช้จ่ายในการพัฒนาระบบ 6. สนับสนุนการขยายปรับปรุงระบบ 7. ในการพัฒนาสิ่งต่าง ๆ จะถูกบันทึกความคิดของนักพัฒนาในลักษณะของเอกสารที่พร้อม จะ นำมาทำความเข้าใจได้อย่างรวดเร็ว ตอนที่2 จงเลือกคําตอบที่ถูกต้องที่สุดเพียงข้อเดียว คำสั่ง จงทำเครื่องหมายกากบาท () หน้าข้อที่ถูกต้องมากที่สุดเพียงข้อเดียว 1. ข้อใดไม่ใช่ขั้นตอนการพัฒนาระบบสารสนเทศเชิงวัตถุ ก. ข้อมูลทางธุรกิจ (Business Data) ข. แบบจำลองโดเมนทางธุรกิจ (Business Domain Model) ค .แบบจำลองโดเมน UML (UML Domain Model) ง. แบบจำลองโดเมนระบบสารสนเทศ (System Domain Model) จ. ถูกทุกข้อ 2. ข้อใดคือสัญลักษณ์ของการระบุถึงความเกี่ยวข้องกันระหว่างเอ็นทิตีต่างๆในระบบที่มีการเชื่อมโยงข้อมูล ซึ่งกันและกัน ก สี่เหลี่ยมผืนผ้า ข. สี่เหลี่ยมข้าวหลามตัด ค. วงกลม ง. ลูกศร จ. ไม่มีข้อใดถูก
88 3. สัญลักษณ์สำหรับระบุMultiplicity 2, 4, 6 หมายถึงข้อใด ก. 2 หรือ 4 หรือ 6 ข. ทั้ง 2 4 6 ค. 2 และ 4 และ 6 ง. 2 ถึง 6 จ. ถูกทุกข้อ 4. ข้อใดถูกต้อง ก. มีความเกี่ยวข้องกัน (association) ข. ประกอบไปด้วย (consis of) ค. มี(has-a/part-of) ง. เป็น (Is-a) จ. ถูกทั้ง ข้อ ข และ ค 5. Part-of หมายถึงข้อใด ก. ความสัมพันธ์ที่แสดงถึงคลาสหนึ่งมีความหมายหรือค่าเท่ากับอีกคลาสหนึ่ง ข. ความสัมพันธ์ที่คลาสระหว่างคลาสต่างๆ ประกอบด้วยคลาสลูกย่อยๆ ค. ความสัมพันธ์ที่มีความเกี่ยวข้องกัน ง. ความสัมพันธ์ที่คลาสหนึ่งมีคลาสอื่นๆเป็นส่วนประกอบ จ. ถูกทั้งข้อ ค และ ง 6. ข้อใดไม่ใช่สิ่งที่ควรระบุลงในเอกสารประกอบการอธิบายแผนภาพยูสเคส ก. ระบุชื่อผู้ใช้ ข. ระบุชื่อยูสเคส ค. หัวข้อความต้องการที่ตอบสนอง ง. คำอธิบายทั่วไปเกี่ยวกับยูสเคส จ. ถูกทุกข้อ 7. ข้อใดถูกต้อง ก. ความสัมพันธ์แบบสืบทอดคุณสมบัติคือ ความสัมพันธ์ที่เกี่ยวเนื่องมีความสัมพันธ์ซึ่งกันและกัน เช่น ใน เรื่องของการลงทะเบียนเรียน คลาสนักเรียน สัมพันธ์กับ คลาสรายวิชา ข. Protect เขียนแทนด้วยสัญลักษณ์ # หมายถึง แอทริบิวต์หรือฟังก์ชันที่สามารถมองเห็นได้จาก ภายนอก และสามารถเข้าไปเปลี่ยนค่า อ่านค่าหรือเรียกใช้งานได้ ค. ความสัมพันธ์แบบพึ่งพา เช่น คลาสลูกค้ากับคลาสการขายสินค้า หมายความว่า คลาสการขายสินค้า ขึ้นอยู่กับคลาสลูกค้า เพราะเมื่อมีลูกค้ามีการเปลี่ยนแปลงคำสั่งซื้อก็จะต้องถูกเปลี่ยนแปลงตามลูกค้า ง. ถูกทั้ง ก และ ข จ. ถูกทุกข้อ
89 8. ข้อใดคือองค์ประกอบของ Sequence Diagram ก. class/object ข. consis of ค. has-a ง. Is-a จ. ถูกทั้ง ข้อ ก และ ข 9. ข้อใดเป็นประโยชน์ของ Sequence Diagram ก. ช่วยในการพิจารณาว่าใน class diagram ที่สร้างขึ้นมีฟังก์ชันใดขาดหายไปหรือควรเพิ่มเติม ข. สามารถใช้เป็นสื่อในการสื่อสารและสร้างจุดสนใจร่วมกันระหว่างทีมพัฒนา หรือบุคคลอื่น ค. ช่วยให้อธิบายฟังก์ชันการไหลข้อมูลได้ ง. ถูกทั้ง ข้อ ข และ ค จ. ถูกทุกข้อ 10. ข้อใดถูก ก. สัญลักษณ์ของกิจกรรม Sequence Diagram ชี้จาก class/object ไปยัง class/object ตัวต่อไป ข. สัญลักษณ์ของเวลา Sequence Diagram เวลาจะเดินจากด้านบนมาสู่ด้านล่าง ค. เทคนิคการสร้างSequence Diagramขั้นแรกเป็นการกำหนด external หรือ internal entity ง. ถูกทั้ง ข้อ ก และ ข จ. ถูกทุกข้อ เอกสารอ้างอิง การวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204-2003 ผู้เรียบเรียง วราภรณ์ อุ้มอังวะ บริษัท ศูนย์หนังสือเมืองไทย จำกัด
90 ใบงานที่4 หน่วยที่4 ชื่อวิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204-2003 ภาคเรียนที่1 ชื่อหน่วย โมเดลที่ใช้ออกแบบเชิงวัตถุ เวลารวม 4 ชั่วโมง ชื่องาน โมเดลที่ใช้ออกแบบเชิงวัตถุ จำนวน 4 ชั่วโมง จุดประสงค์การเรียนรู้ จุดประสงค์ทั่วไป เพื่อมีความรู้ความเข้าใจโมเดลที่ใช้ออกแบบเชิงวัตถุ จุดประสงค์เชิงพฤติกรรม (ความรู้ทักษะ คุณธรรม จริยธรรม จรรยาบรรณวิชาชีพ) 1. บอกภาษา UML ได้ถูกต้อง 2. บอกข้อดีของ UML ได้ถูกต้อง 3. บอกชนิดของไดอาแกรมใน UML ได้ถูกต้อง 4. บอกความหมาย Use Case Diagrams ได้ถูกต้อง 5. บอกความหมาย Class Diagrams ได้ถูกต้อง 6. บอกความหมาย Sequence Diagrams ได้ถูกต้อง 7. บอกความหมาย Collaboration Diagrams ได้ถูกต้อง 8. บอกความหมาย State Diagrams (statechart) ได้ถูกต้อง 9. บอกความหมาย Activity Diagram ได้ถูกต้อง 10. บอกความหมาย Component Diagram ได้ถูกต้อง 11. บอกความหมาย Deployment Diagram ได้ถูกต้อง 12. บอกความหมาย Object Diagram ได้ถูกต้อง สมรรถนะรายหน่วย แสดงความรู้เกี่ยวกับโมเดลที่ใช้ออกแบบเชิงวัตถุ เครื่องมือ วัสดุ – อุปกรณ์ 1. เครื่องคอมพิวเตอร์PC หรือ Notebook 2. โปรเจ็คเตอร์ 3. หนังสือ ลำดับขั้นตอนการปฏิบัติงาน 1. ให้นักศึกษาแบ่งกลุ่มตามความเหมาะสม เพื่อศึกษาและอภิปราย 1.1 อธิบายความรู้เกี่ยวกับความเข้าใจกับโมเดลที่ใช้ออกแบบเชิงวัตถุ 1.2 เขียนรูปพร้อมอธิบายความเข้าใจกับโมเดลที่ใช้ออกแบบเชิงวัตถุ 2. เขียนอภิปรายและวิเคราะห์ใส่กระดาษ 3. นำผลงานส่งครูผู้สอนเพื่อประเมินผล
91 ภาพประกอบ ข้อควรระวัง ผู้เรียนควรตรวจสอบข้อมูลก่อนให้ถี่ถ้วน ละเอียด และรอบคอบก่อน เพื่อป้องกันความผิดพลาดก่อน การส่งงาน ข้อเสนอแนะ (ถ้ามี) นักศึกษาควรมีภาพประกอบการนำเสนองาน และสามารถอธิบายเนื้อหาให้สอดคล้องกับภาพให้ถูกต้อง การประเมินผล (ต้องระบุเกณฑ์การประเมินให้ชัดเจน) 1. สังเกตผู้เรียนมีความสนใจ เกิดความเข้าใจในสาระการเรียนรู้ ตลอดจนแสดงความกระตือรือร้น ในการแสดงความคิดเห็นและสรุปสาระการเรียนรู้ประจำหน่วย 2. ทำใบงานได้อย่างถูกต้อง ทันเวลาที่กำหนด ใบงานสะอาดและเป็นระเบียบ 3. ผู้เรียนทำแบบฝึกหัดหลังเรียนได้ถูกต้อง โดยได้คะแนน 50% เป็นอย่างต่ำ เอกสารอ้างอิง การวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204-2003 ผู้เรียบเรียง วราภรณ์ อุ้มอังวะ บริษัท ศูนย์หนังสือเมืองไทย จำกัด
92 ใบกิจกรรมที่4 หน่วยที่4 ชื่อวิชา การวิเคราะห์และออกแบบระบบเชิงวัตถุ รหัสวิชา 30204-2003 ภาคเรียนที่1 ชื่อหน่วย โมเดลที่ใช้ออกแบบเชิงวัตถุ เวลารวม 4 ชั่วโมง ชื่องาน โมเดลที่ใช้ออกแบบเชิงวัตถุ จำนวน 4 ชั่วโมง จุดประสงค์การเรียนรู้ จุดประสงค์ทั่วไป เพื่อมีความรู้ความเข้าใจโมเดลที่ใช้ออกแบบเชิงวัตถุ จุดประสงค์เชิงพฤติกรรม (ความรู้ทักษะ คุณธรรม จริยธรรม จรรยาบรรณวิชาชีพ) 1. บอกภาษา UML ได้ถูกต้อง 2. บอกข้อดีของ UML ได้ถูกต้อง 3. บอกชนิดของไดอาแกรมใน UML ได้ถูกต้อง 4. บอกความหมาย Use Case Diagrams ได้ถูกต้อง 5. บอกความหมาย Class Diagrams ได้ถูกต้อง 6. บอกความหมาย Sequence Diagrams ได้ถูกต้อง 7. บอกความหมาย Collaboration Diagrams ได้ถูกต้อง 8. บอกความหมาย State Diagrams (statechart) ได้ถูกต้อง 9. บอกความหมาย Activity Diagram ได้ถูกต้อง 10. บอกความหมาย Component Diagram ได้ถูกต้อง 11. บอกความหมาย Deployment Diagram ได้ถูกต้อง 12. บอกความหมาย Object Diagram ได้ถูกต้อง สมรรถนะรายหน่วย แสดงความรู้เกี่ยวกับโมเดลที่ใช้ออกแบบเชิงวัตถุ เครื่องมือ วัสดุ – อุปกรณ์ 1. เครื่องคอมพิวเตอร์PC หรือ Notebook 2. โปรเจ็คเตอร์ 3. หนังสือ ลำดับกิจกรรม 1. ผู้เรียนต้องให้ความสนใจในการศึกษา เพื่อหาเทคนิค วิธีการ หรือหลักการง่ายเพื่อให้หาคำตอบ ได้อย่างถูกต้อง และรวดเร็ว โดยการ ตั้งใจฟังหลักการ เทคนิควิธีการที่ครูผู้สอนสรุปในขณะที่ทำการ สอน และนำข้อสงสัยซักถามครูในการเรียนทุกครั้งที่เกิดความสับสน และไม่เข้าใจ 2. ผู้มีการทบทวนบทเรียน ตลอดเพื่อเสริมสร้างความเข้าใจอย่างแท้จริง 3. ผู้เรียนหมั่นทำใบงาน แบบฝึกหัด และแก้ไขข้อที่ผิดให้ถูกต้องเสมอ