

วิชาการวิเคราะห์และออกแบบระบบเชิงวัตถุ
Object-Oriented Analysis and Design
อาจารย์ผู้สอน : ผู้ช่วยศาสตราจารย์ ดร. นัฐพงศ์ ส่งเนียม
คำอธิบายรายวิชา
วัฏจักรของการพัฒนาระบบงาน แนวคิดเกี่ยวกับเทคโนโลยีเชิงวัตถุ หลักการพัฒนาระบบงานแบบอินครีเมนตัน การใช้ UML การวิเคราะห์ความต้องการ การคิดเชิงนามธรรม การออกแบบระบบเชิงวัตถุ การใช้ CASE Tools และการทดสอบโปรแกรม
บทที่ 1: หลักการเชิงวัตถุเบื้องต้น
(Concept of Object-Oriented Technology)
ในบทนี้จะอธิบายถึงความรู้เกี่ยวกับภาษาคอมพิวเตอร์ (Computer Language) และหลักการวิเคราะห์และออกแบบระบบเชิงโครงสร้าง ความสำคัญของการออกแบบและพัฒนาระบบ ความรู้เบื้องต้นเกี่ยวกับหลักการเชิงวัตถุ (OO: Object Orientation) เช่น ความหมายของคลาส (Class) ความหมายวัตถุ (Object) และหลักการที่สำคัญและกลไกที่มีประโยชน์ของหลักการเชิงวัตถุ เช่น การซ่อนรายละเอียด การห่อหุ้ม การรับทอดมรดก และพอลีมอร์ฟิซึม เป็นต้นโดยเมื่อผู้อ่านได้ศึกษาจบบทนี้แล้วจะทำให้ทราบถึงหมายและความสำคัญของหลักการเชิงวัตถุ สามารถอธิบายขั้นตอนการพัฒนาซอฟต์แวร์โดยใช้หลักการเชิงวัตถุและสามารถนำระบบคอมพิวเตอร์มาช่วยในการแก้ไขปัญหาต่าง ๆ โดยอาศัยหลักการเชิงวัตถุแทนการพัฒนาแบบดั้งเดิมที่เป็นแบบเชิงโครงสร้าง (Structural Programming) รวมถึงเหตุผลที่สำคัญในการสร้างหรือพัฒนาซอฟต์แวร์เชิงวัตถุขึ้นมานอกจากนี้ยังอธิบายถึงแนวคิดที่เป็นประโยชน์ของวิธีทางเชิงวัตถุอีกด้วย เพื่อจะเป็นความรู้พื้นฐานที่จะนำไปสู่เนื้อหาของบทต่อ ๆ ไปได้
อ่านเนื้อหาบทที่ 1
อ่านเนื้อหาบทที่ 1
แบบฝึกหัดท้ายบทที่ 1
คลิกที่ไอคอนเพื่อฟังภาพรวมเสียงของบทที่ 1 :

บทที่ 2: แนวคิดเชิงนามธรรม
(Abstraction)
เกริ่นนำ
ก่อนที่ผู้เรียนจะทำการวิเคราะห์ระบบโดยใช้หลักการเชิงวัตถุ จำเป็นเรียนรู้และทำความเข้าใจเกี่ยวกับหลักการเชิงวัตถุในเบื้องต้นก่อนโดยในบทนี้จะอธิบายถึงความหมายและความสำคัญของหลักการเชิงวัตถุการนำไปสู่เชิงวัตถุ (Object Orientation) การให้ความคิดรวบยอดกับวัตถุ ความสัมพันธ์ (Relationship) ปฏิสัมพันธ์ (Interaction) ระหว่างวัตถุและทำความเข้าใจเกี่ยวกับแนวคิดเชิงนามธรรมหรือแอบแทรคชัน(Abstractions) ต่าง ๆ ทั้ง 4 แบบได้คือ 1. คลาสสิฟิเคชันแอบแทรคชัน 2. แอกกริเกชันแอบแทรคชัน 3. เจเนอรัลไลเซชันและสเปเชียลไลเซชันแอบแทรคชัน และ 4. แอสโซสิเอชันแอบแทรคชัน เพื่อผู้เรียนจะได้รับความรู้พื้นฐานที่จะนำไปสู่เนื้อหาในบทต่อ ๆ ไป
อ่านเนื้อหาบทที่ 2
อ่านเนื้อหาบทที่ 2.1 Classification Abstraction
อ่านเนื้อหาบทที่ 2.2 Aggregation Abstraction
แบบฝึกหัดท้ายบทที่ 2
คลิกที่ไอคอนเพื่อฟังภาพรวมเสียงของบทที่ 2 :

บทที่ 3: ยูนิฟายด์โพรเซส
(Abstraction)
เกริ่นนำ
ที่ผ่านมาผู้เรียนดได้ศึกษาเกี่ยวกับความรู้พื้นฐานและแนวคิดต่าง ๆ เกี่ยวกับเชิงวัตถุไปแล้ว ในบทนี้ผู้ ศึกษาจะได้เข้าใจเกี่ยวกับกระบวนการพัฒนาระบบเชิงวัตถุและความรู ้เกี่ยวกับของยูนิฟายด์โพรเซส และ แนะนำหลักการของยูนิฟายด์โพรเซส (Unified Process) เพื่อนำมาประยุกต์ใช้งานในการพัฒนาระบบเชิงวัตถุ เนื ่องจากเป็นกระบวนการที ่เน้นใช้หลักการเชิงวัตถุมาพัฒนาระบบซอฟต์แวร์ได้เป็นอย่างดี โดยมีการกำหนด กรอบแนวทางที่ชัดเชน ว่าใครทำอะไร มีความรับผิดชอบหน้าที่ใดในกระบวนการ นอกจากนี้ได้มีการนำเสนอ แนวคิดและโมเดลที่ได้มาตรฐานสากลระดับโลก เพื ่อให้การพัฒนาระบบเป็นไปอย่างมีประสิทธิภาพและตรง กับความต้องการของผู้ใช้มากที่สุด
อ่านเนื้อหาบทที่ 3 ยูนิฟายด์โพรเซส
อ่านเนื้อหาบทที่ 3 ยูนิฟายด์โพรเซส
แบบฝึกหัดท้ายบทที่ 3
คลิกที่ไอคอนเพื่อฟังภาพรวมเสียงของบทที่ 3 :

บทที่ 4: ยูเอ็มแอล (UML)
(Abstraction)
เกริ่นนำ
ในบทนี้จะอธิบายถึงความหมายของตัวแบบ แบบจำลอง ความหมายของยูเอ็มแอล มุมมอง ความสำคัญและประโยชน์ของยูเอ็มแอล แผนภาพต่าง ๆ ในยูเอ็มแอล โดยจะอธิบายแต่ละแผนภาพที่มีอยู่ในยูเอ็มแอลในเบื้องต้นก่อน ส่วนในบทต่อ ๆ ไปจะลงลึกในรายละเอียดของแต่ละแผนภาพ สัญลักษณ์ต่าง ๆ ที่ใช้ รวมถึงขั้นตอนวิธีการวิเคราะห์และออกแบบเชิงวัตถุโดยใช้แผนภาพต่าง ๆ ของยูเอ็มแอล
อ่านเนื้อหาบทที่ 4 ยูเอ็มแอล (UML)
อ่านเนื้อหาบทที่ 4 ยูเอ็มแอล (UML)
แบบฝึกหัดท้ายบทที่ 4
บทที่ 5: การวิเคราะห์ความต้องการ (Requirement Analysis)
(Abstraction)
เกริ่นนำ
กระบวนการวิเคราะห์ระบบ (System Analysis Phase) คือขั้นตอนการพิจารณาที่มุ่งเน้นว่าอะไรหรือสิ่งใดที่ระบบจะต้องมีและต้องทำให้กับผู้ใช้โดยยังไม่เน้นว่าจะทำอย่างไร โดยในขั้นตอนนี้เป็นการหาความต้องการของผู้ใช้ ซึ่งเน้นที่กระบวนการวิเคราะห์ความต้องการของผู้ใช้ระบบ (Requirement Analysis Phase) เพื่อใช้ในการสร้างแบบจำลองหน้าที่การทำงานของระบบซอฟต์แวร์ จากมุมมองของผู้ใช้หรือระบบภายนอกซึ่งจะได้ผลลัพธ์เป็นแบบจำลองของความต้องการของผู้ใช้ระบบ (Requirement Model)
อ่านเนื้อหาบทที่ 5 การวิเคราะห์ความต้องการ (Requirement Analysis)
อ่านเนื้อหาบทที่ 5 การวิเคราะห์ความต้องการ (Requirement Analysis)
แบบฝึกหัดท้ายบทที่ 5
------------- สอบกลางภาค 20% -------------
ให้นักศึกษาเลือกพัฒนาโปรแกรมเชิงวัตถุโดยใช้ UML และหลัก OOAD ที่เรียนมา
[ แนวข้อสอบระหว่างภาค 1/2568 : pdf ]
โครงงาน 30%
ให้นักศึกษาเลือกพัฒนาโปรแกรมเชิงวัตถุโดยใช้ UML และหลัก OOAD ที่เรียนมา
[ ดาวน์โหลดเอกสารโครงงาน : pdf ]
------------- สอบปลายภาค 30% -------------
สอบปลายภาค 30 %
[ ดาวน์โหลดเอกสารโครงงาน : pdf ]