รายละเอียด

การออกแบบและพัฒนาซอฟต์แวร์ / Software Design and Development

  • 17 สัปดาห์
  • จำนวนนักศึกษา 0 คน
  • อาจารย์ผู้สอน 1 คน

ข้อมูลรายวิชา

  • รหัสรายวิชา : ENGCE301
  • ชื่อรายวิชา(TH) : การออกแบบและพัฒนาซอฟต์แวร์
  • ชื่อรายวิชา (EN) : Software Design and Development
  • เทอม / ปีการศึกษา : 1/2567

รายละเอียด

เทสๆ

รายวิชา - การออกแบบและพัฒนาซอฟต์แวร์

วิศวกรรมซอฟต์แวร์เบื้องต้น ระเบียบวิธีการพัฒนาซอฟต์แวร์ และการควบคุมเวอร์ชัน - นิยามและจุดมุ่งหมายของวิศวกรรมซอฟต์แวร์ - กระบวนการพัฒนาซอฟต์แวร์ - โมเดลการพัฒนาแบบ Waterfall - โมเดลการพัฒนาแบบ Agile และวิธี Scrum - ข้อดีข้อเสียของโมเดลการพัฒนาแบบต่างๆ - การควบคุมเวอร์ชัน (Version Control) - ปฏิบัติการควบคุมเวอร์ชันด้วยโปรแกรม Git
กิจกรรม : บรรยาย ยกตัวอย่างประกอบปฏิบัติการตามใบงาน

ภาษาจาวากับแนวคิดการเขียนโปรแกรมเชิงวัตถุ - ความหมายของโปรแกรมเชิงวัตถุ - เปรียบเทียบกระบวนทัศน์การเขียนโปรแกรมเชิงกระบวนคำสั่งกับเชิงวัตถุ - นิยามของคลาส วัตถุ และอินสแตนส์ - เมธอดและคุณสมบัติ - การเขียนโปรแกรมด้วยภาษาจาวาเบื้องต้น - โครงสร้างโฟลเดอร์ของ Java Project - ฝึกปฏิบัติใช้เครื่องมือพัฒนาโปรแกรมด้วยภาษาจาวาและเขียนโปรแกรมภาษาจาวา
กิจกรรม : บรรยาย ยกตัวอย่างประกอบปฏิบัติการตามใบงาน

การออกแบบและสร้างคลาส การซ่อนข้อมูล - การวิเคราะห์ปัญหาและออกแบบคลาสด้วย UML Class Diagram - การนิยามคลาสและสร้างวัตถุ - คอนสตรัคเตอร์ (Constructor) - การโอเวอร์โหลด (Overload) คอนสตรัคเตอร์ - คำสั่ง this - การซ่อนข้อมูล (Encapsulation) - การกำหนดการเข้าถึงสมาชิกของคลาส (Access Modifier) - ปฏิบัติการเขียนโปรแกรมเพื่อสร้างคลาสโดยมีกำหนดการเข้าถึงสมาชิก
กิจกรรม : บรรยาย ยกตัวอย่างประกอบปฏิบัติการตามใบงาน

การประกอบและสืบทอดคลาส - การนำโค้ดกลับมาใช้ใหม่ (Code Reusability) - การประกอบ (Composition) - การสืบทอดคลาส (Inheritance) - ความสัมพันธ์แบบ IS-A และ HAS-A - ปฏิบัติการเขียนโปรแกรมการสืบทอดคลาส
กิจกรรม : บรรยาย ยกตัวอย่างประกอบปฏิบัติการตามใบงาน

การประกอบและสืบทอดคลาส (ต่อ) - ความแตกต่างระหว่าง Composition และ Aggregation - การโอเวอร์ไรด์เมธอด (Method Overriding) - Annotation ในภาษาจาวา (@Override) - คำสั่ง super - ปัญหาการสืบทอดหลายคลาส (Multiple Inheritance)

กิจกรรม : บรรยาย ยกตัวอย่างประกอบปฏิบัติการตามใบงาน

การพ้องรูป คลาสนามธรรม และอินเตอร์เฟส - ความหมายของการพ้องรูป - คลาสนามธรรม - อินเตอร์เฟส - ปฏิบัติการเขียนโปรแกรมที่มีการพ้องรูป
กิจกรรม : บรรยาย ยกตัวอย่างประกอบปฏิบัติการตามใบงาน

การออกแบบและพัฒนาโปรแกรมประยุกต์เชิงวัตถุ - ปฏิบัติการเขียนโปรแกรมโดยบูรณาการหลักการเกี่ยวกับโปรแกรมเชิงวัตถุที่ผ่านมาทั้งหมด เช่น พัฒนาเกมหมากรุก โปรแกรมจัดการหนังสือในห้องสมุด เป็นต้น
กิจกรรม : บรรยาย ยกตัวอย่างประกอบปฏิบัติการตามใบงาน

สอบปฏิบัติการเขียนโปรแกรมเชิงวัตถุ เพื่อตอบโจทย์การวิเคราะห์ปัญหาเชิงวัตถุ การออกแบบคลาส การสืบทอดคลาส แนวคิดการพ้องรูป
กิจกรรม : บรรยาย ยกตัวอย่างประกอบปฏิบัติการตามใบงาน

สอบกลางภาค
กิจกรรม :

การดักจับและจัดการข้อผิดพลาด (Exception Handing) - ความหมายของการจัดการกับข้อผิดพลาด - การสร้างข้อผิดพลาดขึ้นมาเอง - ฝึกปฏิบัติการโปรแกรมดักจับข้อผิดพลาด
กิจกรรม : บรรยาย ยกตัวอย่างประกอบปฏิบัติการตามใบงาน

การสร้างหน่วยทดสอบ (Unit Testing) - วิธีการสร้าง Unit Test ในภาษาจาวาด้วย Junit - ฝึกปฏิบัติการโปรแกรมสร้างหน่วยทดสอบ
กิจกรรม : บรรยาย ยกตัวอย่างประกอบปฏิบัติการตามใบงาน

การออกแบบส่วนติดต่อกับผู้ใช้งานแบบ กราฟิค - ออกแบบส่วนติดต่อกับผู้ใช้งานแบบกราฟิค - การใช้งานจาวาสวิงคอนโทรล - ฝึกปฏิบัติการเขียนโปรแกรมแบบกราฟิคเพื่อเรียกใช้งานคลาสที่ออกแบบขึ้น
กิจกรรม : บรรยาย ยกตัวอย่างประกอบปฏิบัติการตามใบงาน

รูปแบบการออกแบบ (Design Pattern) - รูปแบบการออกแบบ Singleton - รูปแบบการออกแบบ Factory - รูปแบบการออกแบบ Adapter - รูปแบบการออกแบบ Observer - ฝึกปฏิบัติการโปรแกรมด้วยรูปแบบการออกแบบต่าง ๆ
กิจกรรม : บรรยาย ยกตัวอย่างประกอบปฏิบัติการตามใบงาน

การจัดการข้อกำหนดของระบบ (Requirement Engineering) - ความหมายของข้อกำหนด - ประเภทของข้อกำหนด - การเขียน User Story และ Use Case Description - เกณฑ์การยอมรับ (Acceptance Criteria)
กิจกรรม : บรรยาย ยกตัวอย่างประกอบปฏิบัติการตามใบงาน

สถาปัตยกรรมซอฟต์แวร์แบบ Model-View-Controller (MVC) - ความหมายและองค์ประกอบของสถาปัตยกรรมแบบ MVC - ตัวอย่างการพัฒนาเว็บแอปพลิเคชันแบบ MVC ด้วย Apache Wicket - ตัวอย่างการพัฒนาแอปพลิเคชันบนมือถือแบบ MVC ด้วย Ionic
กิจกรรม : บรรยาย ยกตัวอย่างประกอบปฏิบัติการตามใบงาน

ระบบฐานข้อมูลเบื้องต้น - ฐานข้อมูลแบบ SQL และ NoSQL - การออกแบบฐานข้อมูลด้วย ER Diagram - ปฏิบัติการใช้งานฐานข้อมูลด้วย Firebase
กิจกรรม :

สอบปลายภาค
กิจกรรม :

อาจารย์ผู้สอน