Software Design & Architecture
ระบบที่เขียน Code ได้ดีอาจยังดูแลยาก หากโครงสร้างเบื้องหลังไม่ได้ถูกออกแบบไว้อย่างเหมาะสม Software Design & Architecture ช่วยให้มองเห็นภาพใหญ่ของระบบ ตั้งแต่การแบ่ง Component การจัดความสัมพันธ์ระหว่างส่วนต่างๆ ไปจนถึงการเลือก Pattern และแนวทางออกแบบให้เหมาะกับโจทย์ ทักษะด้านนี้ช่วยให้การพัฒนาเป็นระบบมากขึ้น ลดความซับซ้อนที่ไม่จำเป็น และทำให้ Software พร้อมรองรับการปรับเปลี่ยน การขยายระบบ และการทำงานร่วมกันของทีมได้ง่ายขึ้น
| Object-Oriented Analysis & Design with UML [OAD] |
| Management Non-Functional Requirement & Business Goal [NFR] |
| Java EE Design Patterns [JED] |
| Java Design Patterns [JDP] |

