รายละเอียด
สถาปัตยกรรมซอฟต์แวร์ / Software Architecture
- 17 สัปดาห์
- จำนวนนักศึกษา 0 คน
- อาจารย์ผู้สอน 1 คน
ข้อมูลรายวิชา
- รหัสรายวิชา : ENGSE207
- ชื่อรายวิชา(TH) : สถาปัตยกรรมซอฟต์แวร์
- ชื่อรายวิชา (EN) : Software Architecture
- เทอม / ปีการศึกษา : 1/2567
รายละเอียด
เทสๆ
รายวิชา - สถาปัตยกรรมซอฟต์แวร์
บทนำสู่สถาปัตยกรรมซอฟต์แวร์
- ความหมายและความสำคัญของสถาปัตยกรรมซอฟต์แวร์
- บทบาทของสถาปนิกซอฟต์แวร์
- พื้นฐานทางทฤษฎีและแนวคิดที่เกี่ยวข้อง
กิจกรรม : - การบรรยายและการสนทนากลุ่ม
- อ่านบทความและกรณีศึกษา
- เขียนรายงานบทสรุปความเข้าใจเกี่ยวกับบทบาทและความสำคัญของสถาปัตยกรรมซอฟต์แวร์
หลักการพื้นฐานของการออกแบบสถาปัตยกรรมซอฟต์แวร์
- หลักการออกแบบ: Modularity, Scalability, Reliability
- แนวคิดเกี่ยวกับการออกแบบที่ยั่งยืนและสามารถปรับตัวได้
กิจกรรม : - การบรรยาย
- การวิเคราะห์กรณีศึกษาเกี่ยวกับระบบที่มีสถาปัตยกรรมซอฟต์แวร์ที่ประสบความสำเร็จ
- ทำแบบฝึกหัดเกี่ยวกับการวิเคราะห์ความเหมาะสมของสถาปัตยกรรมในกรณีศึกษา
รูปแบบสถาปัตยกรรมซอฟต์แวร์ (Architectural Styles)
- รูปแบบสถาปัตยกรรม: Layered, Microservices, Client-Server, Event-Driven
- การเลือกใช้รูปแบบที่เหมาะสมกับประเภทของแอปพลิเคชัน
กิจกรรม : - การบรรยายและการอภิปราย
- ทำงานกลุ่มเพื่อศึกษาและนำเสนอตัวอย่างรูปแบบสถาปัตยกรรมที่ต่างกัน
- ทำรายงานเปรียบเทียบข้อดีและข้อเสียของแต่ละรูปแบบสถาปัตยกรรม
กรอบแนวคิดสถาปัตยกรรม (Architectural Frameworks)
- กรอบแนวคิดที่ใช้บ่อย เช่น TOGAF, Zachman Framework
- วิธีการเลือกและประยุกต์ใช้กรอบแนวคิดในโครงการ
กิจกรรม : - การบรรยายและการอภิปราย
- กรณีศึกษาและการนำเสนอ
- วิเคราะห์และเลือกกรอบแนวคิดที่เหมาะสมกับโปรเจ็กต์จำลอง
วิธีการและเทคนิคการอธิบายสถาปัตยกรรมซอฟต์แวร์
- การใช้เอกสารและการสื่อสารเพื่ออธิบายสถาปัตยกรรม
- เทคนิคการใช้ UML และการเขียนเอกสารสถาปัตยกรรม
กิจกรรม : - การบรรยายและฝึกปฏิบัติ
- ทำเวิร์กช็อปการเขียนเอกสาร UML
- ทำแบบฝึกหัดการสร้างเอกสารสถาปัตยกรรมซอฟต์แวร์
การออกแบบสถาปัตยกรรมซอฟต์แวร์
- กระบวนการออกแบบสถาปัตยกรรมซอฟต์แวร์
- การวิเคราะห์ข้อกำหนดและการออกแบบ
กิจกรรม : - การบรรยายและการอภิปราย
- ทำงานกลุ่มเพื่อออกแบบสถาปัตยกรรมเบื้องต้นสำหรับแอปพลิเคชันตัวอย่าง
- สร้างแบบจำลองสถาปัตยกรรมสำหรับแอปพลิเคชัน
การประเมินสถาปัตยกรรมซอฟต์แวร์
- วิธีการประเมินสถาปัตยกรรม: ATAM, SAAM
- เกณฑ์การประเมินประสิทธิภาพและความน่าเชื่อถือ
กิจกรรม : - การบรรยายและการฝึกปฏิบัติ
- ทำงานกลุ่มเพื่อประเมินสถาปัตยกรรมที่ออกแบบในสัปดาห์ก่อนหน้า
- ทำรายงานการประเมินสถาปัตยกรรมที่ออกแบบ
เครื่องมือสำหรับการออกแบบและประเมินสถาปัตยกรรม
- เครื่องมือที่ใช้ในการออกแบบ: Visual Paradigm, Enterprise Architect
- เครื่องมือสำหรับการประเมิน: SonarQube, ArchUnit
กิจกรรม : - การบรรยายและฝึกปฏิบัติ
- เวิร์กช็อปการใช้เครื่องมือ
- ทำแบบฝึกหัดการใช้เครื่องมือในการออกแบบและประเมินสถาปัตยกรรม
สอบกลางภาค
กิจกรรม :
การประมวลผลแบบคลาวด์และสถาปัตยกรรมซอฟต์แวร์
- พื้นฐานการประมวลผลแบบคลาวด์และบริการที่เกี่ยวข้อง
- แนวทางการออกแบบสถาปัตยกรรมสำหรับระบบคลาวด์
กิจกรรม : - การบรรยายและการอภิปราย
- ศึกษากรณีศึกษาสถาปัตยกรรมระบบคลาวด์
- ทำรายงานเกี่ยวกับการออกแบบสถาปัตยกรรมสำหรับแอปพลิเคชันบนคลาวด์
การประมวลผลสำหรับอุปกรณ์เคลื่อนที่
- การออกแบบสถาปัตยกรรมสำหรับแอปพลิเคชันบนมือถือ
- การจัดการการเชื่อมต่อและการสื่อสารระหว่างแอปพลิเคชันและเซิร์ฟเวอร์
กิจกรรม : - การบรรยายและฝึกปฏิบัติ
- เวิร์กช็อปการออกแบบแอปพลิเคชันมือถือ
- สร้างแบบจำลองสถาปัตยกรรมสำหรับแอปพลิเคชันมือถือ
การบูรณาการสถาปัตยกรรมซอฟต์แวร์กับเทคโนโลยีที่ทันสมัย
- การบูรณาการสถาปัตยกรรมกับเทคโนโลยีใหม่ ๆ เช่น AI, IoT
- การออกแบบที่สามารถรองรับการเปลี่ยนแปลงในอนาคต
กิจกรรม : - การบรรยายและการสนทนากลุ่ม
- ศึกษากรณีศึกษาที่ใช้เทคโนโลยีใหม่ ๆ
- ทำรายงานการวิเคราะห์การบูรณาการสถาปัตยกรรมกับเทคโนโลยีใหม่
การจัดการการเปลี่ยนแปลงสถาปัตยกรรม
- วิธีการจัดการการเปลี่ยนแปลงในสถาปัตยกรรม
- การประเมินผลกระทบและการปรับปรุง
กิจกรรม : - การบรรยายและการอภิปราย
- ทำงานกลุ่มเพื่อจำลองสถานการณ์การเปลี่ยนแปลงในสถาปัตยกรรม
- ทำแบบฝึกหัดการจัดการการเปลี่ยนแปลงในสถาปัตยกรรม
กรณีศึกษาสถาปัตยกรรมซอฟต์แวร์ในอุตสาหกรรม
- การศึกษากรณีศึกษาและการวิเคราะห์สถาปัตยกรรมจากอุตสาหกรรมต่าง ๆ
- การนำบทเรียนมาประยุกต์ใช้กับโครงการจริง
กิจกรรม : - การบรรยายและการนำเสนอกลุ่ม
- ศึกษากรณีศึกษา
- ทำรายงานวิเคราะห์สถาปัตยกรรมในกรณีศึกษา
การนำเสนอโปรเจ็กต์สถาปัตยกรรมซอฟต์แวร์
- เทคนิคการนำเสนอและการสื่อสารเชิงสถาปัตยกรรม
- การสร้างรายงานและการนำเสนอที่มีประสิทธิภาพ
กิจกรรม : - การบรรยายและการฝึกปฏิบัติ
- ทำงานกลุ่มเพื่อเตรียมการนำเสนอโปรเจ็กต์
- เตรียมการนำเสนอโปรเจ็กต์สถาปัตยกรรมซอฟต์แวร์
การนำเสนอโปรเจ็กต์และสรุปผลการเรียน
- การนำเสนอโปรเจ็กต์สถาปัตยกรรมซอฟต์แวร์
- การประเมินผลและการให้ข้อเสนอแนะ
กิจกรรม : - การนำเสนอโปรเจ็กต์
- การอภิปรายและสรุปบทเรียนที่ได้จากหลักสูตร
- ส่งรายงานโปรเจ็กต์สุดท้ายและทำแบบฝึกหัดทบทวนความรู้
สอบปลายภาค
กิจกรรม :