โครงงานออบเจ็กต์โปรแกรมมิ่ง

toc = รายละเอียดโครงงาน = การพัฒนาโครงการทั้งสองรายวิชา จะใช้เนื้อหาเรื่องเดียวกัน แต่เกณฑ์ในการตรวจงาน มีแตกต่างกัน ในส่วนของการออกแบบคลาส จะเเหมือนกัน 215 Object Oriented Programming เน้นเฉพาะ การจัดคลาสตามหลักการของ MVC แต่ software construction จะเน้นการพัฒนาตามแนวทางของ Pattern and Framework นิสิตหลักสูตรใหม่ ที่เรียนวิชา 217 Software Construction เป็นการเปลี่ยนวิธีการสอน นิสิตรุ่นนี้จะเน้นการพัฒนาระบบที่มุ่งเน้นเขิงวัตถุ ก่อนการเขียนโปรแกรมแบบโครงสร้าง (นิสิตรุ่นก่อนหน้า จะเรียน ภาษา C ก่อนมาเรียน เชิงวัตถุ ) อย่างไรก็ตามนิสิตในหลักสูตรใหม่ มีสิ่งต้องระวังคือ เรื่องของการใช้คำสั่ง if, loop ไม่มีการสอนซ้ำ ในรายวิชา 217
 * รายละเอียดโครงงานวิชา 418215 และ 217 ภาคต้นปีการศึกษา 2556 **

โปรแกรมที่พัฒนาต้องฟังก์ชันงานหรือมีการใช้คำสั่ง API ของจาวาดังต่อไปนี้ รายละเอียดโครงงาน = เกณฑ์ในการเลือกโครงงาน = ใช้สองรหัสสุดท้ายของ นิสิต (ตัดตัวที่เป็น check digit ออก หรือ หลักที่สามออก) หารด้วย 4 เศษที่เหลือจากการหาร 0 - พัดลม 1 - ลูกข่าง 2 = ลอยกระทง 3 = Christmas tree = ข้อกำหนดในการตรวจปลายภาค =
 * ด้าน GUI : ต้องมีการใช้คำสั่ง Menu/Menu bar/Menu Item
 * การทำ Animation โดยการใช้ Thread
 * การประยุกต์ระบบ แล้วแต่ความคิดสร้างสรรค์ เช่น ทำเป็นร้านขายพัดลม เพื่อเป็นการ demo ให้ เห้น หรือ เป็น choice ให้ลูกค้าเลือกรูปแบบที่ต้องการ เป็นต้น
 * พัดลม ระบบการเปิดปิด เป็นทั้งแบบปุ่ม (เลือก speed เลย) หรือ เป็น toggle วนไป พัดลม มีได้หลาก หลายรูปแบบ เช่น 3 ใบพัด หรือ 4 ใบพัด แบบ ตั้งโต๊ะ และ ยืนพื้น และให้มีการเก็บบันทึกการใช้งาน จำนวนเงินค่าไฟ
 * ลูกข่าง ให้นิสิตศึกษาลูกข่างนานาชาติ ว่ามีประเทศไดบ้างที่มีเครื่องเล่นแบบนี้ และให้นำเสนอวิธีการเล่น รูปแบบของลูกข้าง
 * ลอยกระทง สร้างวัตถุกระทง รูปแบบต่าง ๆ และ ลอยไปที่แม่น้ำ
 * Christmas tree สร้างวัตถุแสดงการตกแต่งต้นไม้ โดยส่วนของการสร้างภาพเคลื่อนไหว จะเป็นไฟกระพริบ

เกณฑ์เชิงซอฟต์แวร์ระบบ

 * คุณสมบัติเชิงออบเจ็กต์ เช่น การสืบทอบ การใช้ตัวประสาน (Interface) โครงสร้างข้อมูลที่เหมาะสม เช่น Array เมทธอดที่ถูกต้อง (ไม่ใช้ Static ถ้าไม่ถูกตามหลักวิชาการ มีการ รับและส่งตัวแปร กรณีที่มี เมทธอดทำงานเหมือนกัน แต่จุดเริ่มต้นบางอย่างแตกต่าง) การจัดแยกคลาสให้เหมาะสม (Package) cohesion, Class Diagram, การใช้ Pattern Design (คะแนนรวมทั้งหมวด 35 คะแนน อาจมีการปรับเป็น 40 โดยลดความคิดสร้างสรรค์)
 * Jar ที่ run ได้ Test Case ที่เป็น Demo (15 คะแนน)
 * การออกแบบ GUI ที่เหมาะสม (15 คะแนน) พร้อม Welcome Message, รายละเอียด โครงงาน (แหล่งที่มาของ code ถ้าไม่ได้เขียนเอง ต้องบอกวิธีการ implement) หรือมีรายละเอียดว่าโครงการต้องการนำเสนออะไร และ Feature ในการพัฒนาระบบมีอะไรบ้าง
 * ความคิดสร้างสรรค์ (35 คะแนน) GUI ในบางสถานะ ควรซ่อนได้

ฟังก์ชันงานพื้นฐาน

 * = พัดลม ||= ลอยกระทง ||= ลูกข้่าง ||= ต้นคริตมาสต์ ||
 * * ต้องหมุนได้
 * กำหนดความเร็ว
 * พื้นหลังที่ประกอบ ขึ้นอยู่กับนิสิตว่านำเสนออย่างไร เช่นนำไปตั้งกลางสนาม มีน้ำพ่น หรือ นำพัดลมไปวางหน้าลำน้ำเล็ก ๆ เพื่อใช้เพิ่มละอองน้ำ (การนำเสนอมีได้หลากหลายรูปแบบ || * ลอยตามกระแสน้ำ ถ้าอยู่ใรบ่อ แล้วแต่ทิศทางลม
 * ต้องการเห็น Bird eye view
 * กระทงถ้าลอยมาชนกัน (ต้องทำให้เห็น) ภาพต้องไม่ซ้อนกัน || * ต้องเคลื่อนไหวเป็นวงกลม หรือ วงรี และต้องหมุ่นรอบตัวเอง
 * แสดงให้เห็นลูกข่างนานาชาติ
 * ลูกข่างที่หมุนมาชนกัน ภาพต้องไม่ซ้อน และควรดูความเร็วว่าควรลด || * ไม่จำเป็นต้องเป็นต้นไม้ อาจจำลองแต่เป็นไฟแทน อยากให้ไปดูเวลาที่มีเทศกาล
 * การเคลื่อนไหว อยากเห็นในมุมของ ไฟ กระพิบ หรือ สิ่งที่ห้อยไว้ เคลื่อนไหว ||
 * การออบแบบเนื้อหา ขึ้นอยู่กับนิสิตในการนำเสนอ คล้ายเป็นการเล่าเรื่องด้วยภาพ ไม่ใช่คำบรรยาย เช่น เวลาลอยกระทง สภาพหลังลอยเป็นอย่างไร การนำพัดลมไปวางควรวางที่ใหน แล้วแต่ความคิดสร้างสรรค์จริง ๆ
 * ในการออกแบบออบเจ๊กต์ ต่าง ๆ อาจมีการพิจารณากาารออกแบบที่เหมาะในหัวข้อนี้ด้วย การออกแบบที่ดี นิสิตจะค่อย ๆ ออกแบบไปทีละวัตถุ และเพิ่มได้

เกณฑ์การหักคะแนน

 * ส่งช้าหัก 20% และไม่เกิน 5 วันทำการ (ช้ากว่านี้ไม่รับ)
 * ไม่อนุญาตให้มี ไฟล์ภาพประกอบการทำโครงงาน (ติดลบ 10 คะแนน)
 * ออบเจ๊กต์ ที่ออกแบบแล้วเหมือนเพื่อนประมาณ 50% (หรือแล้วแต่อาจารย์พิจารณา) ทั้งหมดที่ตรวจพบ เช่น ที่ตรวจผ่านมา ต้นคริตมาสต์ เหมือนกันเป็นส่วนใหญ่ คะแนนจะหารเฉลี่ย