รายละเอียด

สถาปัตยกรรมซอฟต์แวร์ / 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
- การออกแบบที่สามารถรองรับการเปลี่ยนแปลงในอนาคต

กิจกรรม : - การบรรยายและการสนทนากลุ่ม
- ศึกษากรณีศึกษาที่ใช้เทคโนโลยีใหม่ ๆ
- ทำรายงานการวิเคราะห์การบูรณาการสถาปัตยกรรมกับเทคโนโลยีใหม่

การจัดการการเปลี่ยนแปลงสถาปัตยกรรม
- วิธีการจัดการการเปลี่ยนแปลงในสถาปัตยกรรม
- การประเมินผลกระทบและการปรับปรุง

กิจกรรม : - การบรรยายและการอภิปราย
- ทำงานกลุ่มเพื่อจำลองสถานการณ์การเปลี่ยนแปลงในสถาปัตยกรรม
- ทำแบบฝึกหัดการจัดการการเปลี่ยนแปลงในสถาปัตยกรรม

กรณีศึกษาสถาปัตยกรรมซอฟต์แวร์ในอุตสาหกรรม
- การศึกษากรณีศึกษาและการวิเคราะห์สถาปัตยกรรมจากอุตสาหกรรมต่าง ๆ
- การนำบทเรียนมาประยุกต์ใช้กับโครงการจริง

กิจกรรม : - การบรรยายและการนำเสนอกลุ่ม
- ศึกษากรณีศึกษา
- ทำรายงานวิเคราะห์สถาปัตยกรรมในกรณีศึกษา

การนำเสนอโปรเจ็กต์สถาปัตยกรรมซอฟต์แวร์
- เทคนิคการนำเสนอและการสื่อสารเชิงสถาปัตยกรรม
- การสร้างรายงานและการนำเสนอที่มีประสิทธิภาพ

กิจกรรม : - การบรรยายและการฝึกปฏิบัติ
- ทำงานกลุ่มเพื่อเตรียมการนำเสนอโปรเจ็กต์
- เตรียมการนำเสนอโปรเจ็กต์สถาปัตยกรรมซอฟต์แวร์

การนำเสนอโปรเจ็กต์และสรุปผลการเรียน
- การนำเสนอโปรเจ็กต์สถาปัตยกรรมซอฟต์แวร์
- การประเมินผลและการให้ข้อเสนอแนะ

กิจกรรม : - การนำเสนอโปรเจ็กต์
- การอภิปรายและสรุปบทเรียนที่ได้จากหลักสูตร
- ส่งรายงานโปรเจ็กต์สุดท้ายและทำแบบฝึกหัดทบทวนความรู้

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

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