รายวิชาออนไลน์ • Object-Oriented Analysis & Design

ออกแบบระบบอย่างมืออาชีพ ด้วย OOAD และ UML

เรียนรู้ตั้งแต่แนวคิดเชิงวัตถุ การวิเคราะห์ความต้องการ Use Case, Class Diagram, Sequence Diagram ไปจนถึงการออกแบบระบบและโครงงานจริง พร้อมเอกสารประกอบรายวิชา

10หัวข้อหลัก
PDFเอกสาร/สไลด์
30%โครงงานรายวิชา
OOAD Learning Flow

Requirement → UML → Design

UML
วิเคราะห์ปัญหา
Requirement / Use Case
สร้างแบบจำลอง UML
Class / Sequence / Activity
ออกแบบและพัฒนา
Prototype / Project
ผู้สอน
ผู้ช่วยศาสตราจารย์ ดร. นัฐพงศ์ ส่งเนียม
xnattapong@gmail.com
Course Overview

คำอธิบายรายวิชา

รายวิชานี้มุ่งเน้นวัฏจักรการพัฒนาระบบ แนวคิดเทคโนโลยีเชิงวัตถุ กระบวนการพัฒนาแบบเพิ่มพูน การใช้ UML เพื่อวิเคราะห์และออกแบบระบบ การวิเคราะห์ความต้องการ ความคิดเชิงนามธรรม การออกแบบระบบเชิงวัตถุ การใช้เครื่องมือ CASE Tools และแนวคิดการทดสอบซอฟต์แวร์

เน้นกระบวนการคิด

วิเคราะห์โจทย์ธุรกิจ แปลงเป็น Requirement และแบบจำลองระบบ

ทำงานแบบนักพัฒนา

เชื่อมโยง Diagram กับ Prototype และเอกสารออกแบบจริง

ข้อมูลรายวิชา
รูปแบบบรรยาย + ปฏิบัติ
สื่อPDF / Slide / Audio
ทักษะหลักOOAD / UML
ผลงานProject + Design Doc
ดูแผนบทเรียน
Learning Outcomes

เรียนจบแล้วทำอะไรได้

ผู้เรียนจะสามารถออกแบบระบบจากโจทย์จริง วาด UML อย่างมีเหตุผล และนำเสนอเอกสารออกแบบที่ทีมพัฒนาสามารถนำไปต่อยอดได้

  • อธิบายแนวคิดเชิงวัตถุ เช่น Class, Object, Encapsulation, Inheritance และ Polymorphism ได้
  • วิเคราะห์ Requirement และจัดทำ Use Case เพื่ออธิบายความต้องการของผู้ใช้ได้
  • สร้าง UML Diagram หลัก เช่น Class, Sequence, State และ Activity Diagram ได้อย่างเหมาะสม
  • เชื่อมโยง Requirement → Analysis → Design → Prototype ได้เป็นระบบ
  • นำเสนอเอกสารออกแบบและผลงานโครงงานในรูปแบบมืออาชีพได้
Lessons

แผนบทเรียนและสื่อประกอบ

ครบ 10 บทเรียน ตั้งแต่พื้นฐานเชิงวัตถุ การวิเคราะห์ความต้องการ UML Diagram ไปจนถึงการออกแบบระบบและโครงงานจริง

10 บทเรียน PDF / Slide Exercise Audio
01
หลักการเชิงวัตถุเบื้องต้น

พื้นฐานแนวคิด OOP, Class, Object, Encapsulation, Inheritance และ Polymorphism

Class/Object OOP Audio
02
แนวคิดเชิงนามธรรม

Relationship/Interaction, Classification, Aggregation, Generalization และ Association

Abstraction Association Audio
03
ยูนิฟายด์โพรเซส

กระบวนการเชิงวัตถุ บทบาท ความรับผิดชอบ และกรอบการพัฒนาระบบแบบเพิ่มพูน

UP Process Exercise
04
ยูเอ็มแอล (UML)

ความหมาย ประโยชน์ มุมมอง และภาพรวมแผนภาพใน UML ก่อนลงลึกสู่การออกแบบ

UML Diagram Exercise
05
การวิเคราะห์ความต้องการและ Use Case

Requirement Model, Actor, Use Case Description, Scenario และเอกสารประกอบ

Requirement Use Case Exercise
06
Sequence และ Collaboration Diagram

การอธิบายลำดับการทำงานระหว่าง Object, Message, Lifeline และ Interaction ในระบบ

Sequence Message เตรียมอัปโหลด
07
Class และ Object Diagram

การออกแบบ Class, Attribute, Method, Visibility, Relationship และ Multiplicity

Class Diagram Relationship เตรียมอัปโหลด
08
State และ Activity Diagram

การจำลองพฤติกรรมของ Object, สถานะ, เหตุการณ์, Transition และ Workflow ของระบบ

State Activity เตรียมอัปโหลด
09
การออกแบบระบบเชิงวัตถุ

หลักการออกแบบ Layer, Package, Component, Design Pattern เบื้องต้น และ CASE Tools

Architecture CASE Tools เตรียมอัปโหลด
10
การทดสอบ เอกสารออกแบบ และโครงงานสรุป

การตรวจสอบความถูกต้องของแบบจำลอง การจัดทำเอกสารออกแบบ และการนำเสนอโครงงาน

Testing Project เตรียมอัปโหลด
ไม่พบบทเรียนที่ค้นหา

ลองใช้คำค้นอื่น เช่น UML, Requirement, Use Case, Class, Sequence หรือ State

Assessment

การประเมินผลรายวิชา

ออกแบบให้วัดทั้งความเข้าใจ ทักษะการวิเคราะห์ และความสามารถในการทำโครงงานจริง

20%
สอบกลางภาค

แบบทดสอบและงานออกแบบสั้น ๆ ตามหัวข้อที่เรียนถึงบทที่ 4

30%
โครงงานรายวิชา

โค้ด เอกสารออกแบบ UML สไลด์นำเสนอ และการสาธิตระบบ

30%
สอบปลายภาค

สรุปความเข้าใจและการออกแบบเชิงวัตถุครบกระบวนการ

หมายเหตุ: คะแนนส่วนที่เหลือสามารถใช้กับงานระหว่างเรียน การมีส่วนร่วม หรือแบบฝึกหัด ตามเกณฑ์ผู้สอนกำหนด
Course Project

โครงงานรายวิชา: จากแบบจำลองสู่ระบบจริง

ผู้เรียนเลือกหัวข้อพัฒนาโปรแกรมเชิงวัตถุ โดยใช้หลัก OOAD และ UML ที่เรียนมา ส่งโค้ด เอกสารออกแบบ สไลด์นำเสนอ และสาธิตระบบ เพื่อแสดงความเข้าใจครบกระบวนการ

แนวทางส่งงาน

ทีม
2–4 คน
ผลงาน
Code + Design Doc
นำเสนอ
Demo + Slide
ขั้นตอนการทำโครงงาน
1) เลือกหัวข้อและระบุปัญหา

กำหนดกลุ่มผู้ใช้ อาชีพ/บทบาทผู้ใช้งาน ขอบเขตระบบ และเป้าหมายของโปรแกรม

2) วิเคราะห์ Requirement

จัดทำ Use Case, Actor, Scenario และเอกสารความต้องการ

3) ออกแบบ UML

สร้าง Class, Sequence, Activity/State Diagram ตามความเหมาะสม

4) พัฒนา Prototype และนำเสนอ

จัดทำระบบต้นแบบ โค้ด สไลด์ และสาธิตการทำงาน

Project Ideas by Career

ตัวอย่างโครงงานรายวิชา แยกตามอาชีพ

ตัวอย่างหัวข้อด้านล่างออกแบบเป็น Card เพื่อให้นักศึกษาเห็นภาพผู้ใช้จริง และสามารถเพิ่มหัวข้อใหม่ในอนาคตได้ง่าย

เพิ่ม Card ภายหลังได้
เพิ่มข้อมูลใหม่ในตัวแปร projectExamples ด้านล่างของไฟล์ HTML
ไม่พบตัวอย่างโครงงานที่ค้นหา

ลองค้นหาด้วยคำว่า ร้านค้า, ครู, โรงพยาบาล, โรงแรม, เกษตรกร หรือระบบจอง

Resources

เอกสารและสื่อประกอบครบ 10 บทเรียน

รวมลิงก์ PDF, Slide, แบบฝึกหัด และเสียงสรุป แยกตามบทเรียนเพื่อให้นักศึกษาเข้าถึงง่าย

บท หัวข้อบทเรียน บทเรียนออนไลน์ PDF Slide แบบฝึกหัด เสียง/สื่ออื่น
01 หลักการเชิงวัตถุเบื้องต้น
พื้นฐานแนวคิด OOP, Class, Object, Encapsulation, Inheritance และ Polymorphism
บทเรียนที่ 1 PDF Slide Exercise Audio
02 แนวคิดเชิงนามธรรม
Relationship/Interaction, Classification, Aggregation, Generalization และ Association
บทเรียนที่ 2 PDF Slide 2.1 Exercise Audio
03 ยูนิฟายด์โพรเซส
กระบวนการเชิงวัตถุ บทบาท ความรับผิดชอบ และกรอบการพัฒนาระบบแบบเพิ่มพูน
บทเรียนที่ 3 PDF Slide Exercise -
04 ยูเอ็มแอล (UML)
ความหมาย ประโยชน์ มุมมอง และภาพรวมแผนภาพใน UML ก่อนลงลึกสู่การออกแบบ
บทเรียนที่ 4 PDF Slide Exercise -
05 การวิเคราะห์ความต้องการและ Use Case
Requirement Model, Actor, Use Case Description, Scenario และเอกสารประกอบ
บทเรียนที่ 5 PDF Slide Exercise -
06 Sequence และ Collaboration Diagram
การอธิบายลำดับการทำงานระหว่าง Object, Message, Lifeline และ Interaction ในระบบ
บทเรียนที่ 6 เตรียมอัปโหลด เตรียมอัปโหลด เตรียมอัปโหลด เตรียมอัปโหลด
07 Class และ Object Diagram
การออกแบบ Class, Attribute, Method, Visibility, Relationship และ Multiplicity
บทเรียนที่ 7 เตรียมอัปโหลด เตรียมอัปโหลด เตรียมอัปโหลด เตรียมอัปโหลด
08 State และ Activity Diagram
การจำลองพฤติกรรมของ Object, สถานะ, เหตุการณ์, Transition และ Workflow ของระบบ
เตรียมอัปโหลด เตรียมอัปโหลด เตรียมอัปโหลด เตรียมอัปโหลด เตรียมอัปโหลด
09 การออกแบบระบบเชิงวัตถุ
หลักการออกแบบ Layer, Package, Component, Design Pattern เบื้องต้น และ CASE Tools
เตรียมอัปโหลด เตรียมอัปโหลด เตรียมอัปโหลด เตรียมอัปโหลด เตรียมอัปโหลด
10 การทดสอบ เอกสารออกแบบ และโครงงานสรุป
การตรวจสอบความถูกต้องของแบบจำลอง การจัดทำเอกสารออกแบบ และการนำเสนอโครงงาน
เตรียมอัปโหลด เตรียมอัปโหลด เตรียมอัปโหลด เตรียมอัปโหลด เตรียมอัปโหลด

พร้อมเริ่มเรียน OOAD แล้วหรือยัง?

เริ่มจากบทที่ 1 เพื่อวางพื้นฐานเชิงวัตถุ แล้วค่อยเชื่อมโยงสู่ UML และโครงงานจริง