88734065 การวิเคราะห์และออกแบบระบบ
หน่วยกิต 3(3-0-6)
Join classroom
คำอธิบายรายวิชา:
องค์ประกอบของระบบ วิธีการพัฒนาซอฟต์แวร์ การเลือกใช้วิธีการพัฒนาซอฟต์แวร์ การศึกษาความเป็นไปได้ การวิเคราะห์ระบบ การวิเคราะห์ความต้องการ การออกแบบระบบ การออกแบบรายละเอียดซอฟต์แวร์ การนำเข้า การแสดงผล การประมวลผล ออกแบบข้อมูลการเก็บบันทึกข้อมูลและฐานข้อมูล การสร้างซอฟต์แวร์ต้นแบบ การวิเคราะห์และออกแบบด้วยแนวคิดเชิงวัตถุ การใช้แผนภาพแสดงแบบจำลองเพื่อการสื่อสาร เอกสารความต้องการระบบ และนำเสนอผลการวิเคราะห์และออกแบบ
วัตถุประสงค์ของรายวิชา
- เข้าใจองค์ประกอบของระบบและกระบวนการวิเคราะห์และออกแบบระบบ
- มีความสามารถในการประยุกต์ใช้วิธีการพัฒนาซอฟต์แวร์และเลือกใช้วิธีที่เหมาะสม
- เข้าใจการวิเคราะห์ความต้องการของผู้ใช้และออกแบบระบบที่ตอบสนองต่อความต้องการเหล่านั้น
- ออกแบบฐานข้อมูลและจัดการข้อมูลอย่างมีประสิทธิภาพ
- สร้างและทดสอบโมเดลซอฟต์แวร์
- พัฒนาทักษะการทำงานเป็นทีมและการนำเสนอผลการวิเคราะห์และออกแบบระบบ
นโยบายการใช้ AI และเทคโนโลยีใหม่
การใช้ AI และเทคโนโลยีใหม่ในการวิเคราะห์และออกแบบระบบจะต้องเป็นไปตามนโยบายของมหาวิทยาลัยและกฎหมายที่เกี่ยวข้อง โดยผู้เรียนไม่ควรใช้ AI ในการทำงานที่ต้องการความคิดสร้างสรรค์หรือการวิเคราะห์เชิงลึก แต่สามารถใช้ AI เพื่อช่วยในการค้นคว้าและรวบรวมข้อมูลได้ อย่างไรก็ตาม ผู้เรียนต้องรับผิดชอบต่อความถูกต้องและความสมบูรณ์ของงานที่ส่ง และต้องอ้างอิงแหล่งที่มาของข้อมูลที่ได้จาก AI อย่างเหมาะสม
กำหนดการสอน
| # | หัวข้อ/รายละเอียด | เอกสาร |
|---|---|---|
| 1 | แนวคิดพื้นฐาน - องค์ประกอบของระบบและสถาปัตยกรรม - หลักการวิเคราะห์ระบบพื้นฐาน |
Slide |
| 2 | การศึกษาความเป็นไปได้และ SDLC - การศึกษาความเป็นไปได้ (Feasibility Study) - Software Development Life Cycle (SDLC) - เปรียบเทียบ SDLC models ต่างๆ |
Slide SDLC Models-details SDLC Models-compare |
| 3 | Agile และ DevOps - Agile และ DevOps Methodologies - การเลือกใช้วิธีการพัฒนาที่เหมาะสม - Scrum และ Kanban Workshop |
Slide
5 Real-World DevOps Case Studies You Can Learn From (TH by NotebookLM) |
| 4 | การวิเคราะห์ความต้องการ - การวิเคราะห์ความต้องการ - เทคนิคการสัมภาษณ์และเก็บข้อมูล - Design Thinking และ User-Centered Design |
Slide |
| 5 | เอกสารและ Modeling - เอกสารความต้องการระบบ - การใช้แผนภาพและ Modeling Tools - Use Case และ Activity Diagrams |
Slide Case study: IT Support Ticket System Use Case Description System Requirements Document Template Use Case Diagram Activity Diagram ดาวน์โหลด StarUML 6.1.2 (หลังติดตั้ง ให้อัปเดต “Check for Updates” เป็น ปิด เพื่อหลีกเลี่ยงการบังคับอัปเกรดเป็นเวอร์ชั่นที่สูงขึ้น) StarUML: Template แบบต่าง ๆ |
| 6 | System Architecture - System Architecture - System Diagrams - Detailed Design (I/O/Process) - Class Diagrams |
Slide Iconix-vs-Agile ไฟล์ตัวอย่างการวาดไดอะแกรม-27/8/2568 Mini Case |
| สอบกลางภาค | ||
| 7 | UI/UX Design - การออกแบบ User Interface/UX - การออกแบบสำหรับ Mobile-First - UI/UX Design Workshop |
Slide |
| 8 | Database Design - Database Design + ER Diagrams - การจัดเก็บข้อมูล |
Slide |
| 9 | OO Analysis & Design - Object-Oriented Analysis & Design - Entity Relationship และ Class Diagrams |
Slide |
| 10 | Prototyping - การสร้าง Prototype และ MVP - Prototyping tools และเทคนิค - การทดสอบและรับ feedback |
Slide |
| 11 | Cloud และ Security - Cloud Architecture และ Scalability - Security by Design principles |
Slide |
| 12 | Project Management - Project Management for System Development - Cost-Benefit Analysis overview |
Slide |
| 13 | Monitoring และ Case Studies - การ Monitor และ Analytics - การนำเสนอผลการวิเคราะห์และออกแบบ - กรณีศึกษา (Real world) |
|
| 14 | นำเสนอโปรเจ็กต์ - การนำเสนอโครงการวิเคราะห์และออกแบบระบบ - การประเมินและให้ feedback ระหว่างกลุ่ม - สรุปบทเรียนและแนวทางการพัฒนา |
|
| สอบปลายภาค |
องค์ประกอบและสัดส่วนการวัดผล
- สอบกลางภาค: 30%
- สอบปลายภาค: 30%
- การมีส่วนร่วมและงานย่อย: 10%
- โปรเจ็กต์กลุ่ม: 30% รายละเอียด
การประเมินผล
- เกรด A: 80-100
- เกรด B+: 75-79
- เกรด B: 70-74
- เกรด C+: 65-69
- เกรด C: 60-64
- เกรด D+: 55-59
- เกรด D: 50-54
- เกรด F: 0-49
ตำราและเอกสารหลัก
- Systems Analysis and Design by Kenneth E. Kendall and Julie E. Kendall
- Modern Systems Analysis and Design by Jeffrey A. Hoffer, Joey F. George, Joseph S. Valacich
- Object-Oriented Analysis and Design with Applications by Grady Booch, Robert Maksimchuk, Michael Engle
ตำราและเอกสารแนะนำ
- การพัฒนาซอฟต์แวร์และ SDLC
- Software Engineering: A Practitioner's Approach - Roger S. Pressman
- The Mythical Man-Month - Frederick P. Brooks Jr. Agile และ DevOps
- Agile Software Development - Robert C. Martin
- Scrum: The Art of Doing Twice the Work in Half the Time - Jeff Sutherland
- Continuous Delivery - Jez Humble และ David Farley
- การวิเคราะห์ความต้องการ
- Software Requirements - Karl Wiegers และ Joy Beatty
- User Stories Applied - Mike Cohn
- การออกแบบ UI/UX
- Design of Everyday Things - Donald Norman
- Lean UX - Jeff Gothelf และ Josh Seiden
- Atomic Design - Brad Frost
- การออกแบบฐานข้อมูล
- Database System Concepts - Abraham Silberschatz
- Fundamentals of Database Systems - Ramez Elmasri
- Cloud และ Architecture
- Building Microservices - Sam Newman
- Cloud Native Patterns - Cornelia Davis
- แหล่งเรียนรู้ออนไลน์
- Coursera - หลักสูตร System Analysis and Design
- edX - หลักสูตรจาก MIT, Harvard
- Udacity - Software Architecture Nanodegree
- Pluralsight - Software Design และ Architecture
- เว็บไซต์เฉพาะทาง
- Martin Fowler's Blog (martinfowler.com)
- ThoughtWorks Insights (thoughtworks.com/insights)
- Google Developers (developers.google.com)
- Microsoft Learn (learn.microsoft.com)
- เครื่องมือ Modeling และ Design
- Lucidchart - สำหรับการวาด Diagram
- Draw.io (diagrams.net) – เครื่องมือวาดฟรี
- Microsoft Visio - Professional diagramming
- Enterprise Architect - UML Modeling tool
- PlantUML - Text-based UML tool
- เครื่องมือ Prototyping และ UI/UX
- Figma - Collaborative design tool
- Adobe XD - UI/UX Design
- Sketch - Design tool for Mac
- InVision - Prototyping platform
- Balsamiq - Wireframing tool
- เครื่องมือ Project Management
- Jira - Agile project management
- Trello - Kanban boards
- Microsoft Project - Traditional project management
- GitHub Projects - Project management in GitHub
- เครื่องมือ Requirements Management
- Confluence - Documentation platform
- Notion - All-in-one workspace
- ReqSuite - Requirements tool