กรุงเทพฯ--14 พ.ย.--ซอฟต์แวร์พาร์ค
Design Pattern Concepts for Architects and Managers
Date / Time : 15 - 17 December 2008
Venue : Training / Seminar Room, 3rd Floor, Software Park Building
Registration Fee : 14,445 Baht (Included VAT 7 %)
Patterns เปรียบเสมือนสูตรลัดทางคณิตศาสตร์ หากผู้ปฏิบัติรู้จักสูตรลัดมากเท่าใดและสามารถนำไปประยุกต์ให้เหมาะสมได้มากเท่าใด ก็จะทำให้การคำนวณ การพัฒนา หรือการสร้างงานสำเร็จลุล่วงได้รวดเร็วยิ่งขึ้น มีความถูกต้องและมีมาตรฐานยิ่งขึ้น
หลักสูตรนี้ จะทำให้ผู้เข้าอบรมเข้าใจถึงการออกแบบซอฟต์แวร์ โดยเฉพาะ Object-Oriented Software โดยใช้ Design Patterns
โดยเน้นหนักที่การฝึกสร้างระบบความคิดให้มีประสิทธิภาพ สอดแทรกแง่คิดปรัชญาการออกแบบ เฉกเช่นที่มีในวงการออกแบบศิลปะแขนง อื่น ๆ ให้ผู้เข้าอบรมได้เข้าใจถึงแก่นของ Pattern ไม่ว่าประเภทของ Pattern ข้อดี ข้อเสีย แนวทางการนำไปประยุกต์ ความสัมพันธ์ระหว่าง Pattern รากเหง้าและที่มาที่ไปของแต่ละ Pattern รวมถึงการต่อยอดและการสร้าง Pattern ขึ้นใช้เอง โดยหลักสูตรนี้จะแสดงให้เห็นว่าการ ศึกษาและฝึกฝนด้าน Pattern ที่ดีต้องไม่เน้นที่การจำ โดยเฉพาะการให้ความสำคัญกับซอร์สโค้ดและไดอะแกรม UML มากเกินไปจนพยายามจะทำความเข้าใจและจดจำซอร์สโค้ดและไดอะแกรม UML ในตัวอย่างให้ได้ ซึ่งแท้จริงไม่จำเป็นหรือไม่ใช่สาระสำคัญหลัก และเป็นการกระทำที่เสียเวลา เพราะโลกนี้มี Pattern นับร้อย ดังนั้นหลักสำคัญคือต้องเน้นที่การศึกษาและฝึกที่ระบบความคิด โดยเฉพาะการวิเคราะห์ปัญหา การทำความเข้าใจแก่นหรือบริบทของปัญหา (context / problem domain) และการนำ Pattern มาใช้และเรียงร้อย (weave / orchestrate) เพื่อสร้างโซลูชั่นให้เหมาะสมกับงาน ผู้เรียนที่ทำงานอยู่ในระดับ senior หรือ manager ยังได้รับประโยชน์จากการเรียน Patterns เพื่อสามารถนำกลับไปกำหนดเป็น มาตรฐานหรือปรับปรุงการพัฒนาซอฟต์แวร์ภายในองค์กรของตนได้ และช่วยให้เจ้าหน้าที่ระดับผู้บริหารเห็นความสำคัญของการศึกษาและการใช้ Patterns ทำให้เกิดการสร้างและการพัฒนาต่อยอด Patterns ต่าง ๆ เพราะผู้เรียนจะได้เรียนรู้แนวทางในการสร้าง Patterns เองด้วย เช่นกัน
การออกแบบที่ทำการสอนในหลักสูตรนี้มีการใช้ UML บ้าง แต่ไม่ซับซ้อนมากจนเกินไป จึงไม่มีปัญหากับผู้เรียนที่เพิ่งเริ่มต้นแต่อย่างใด และหลักสูตรนี้ไม่เน้นการอธิบายหรือยกตัวอย่างด้วยซอร์สโค้ด ซึ่งไม่มีที่ไหนที่สอน Pattern ในลักษณะแบบนี้ เพราะหลักสูตรนี้ไม่ต้องการ ให้ผู้เข้าอบรมเน้นซอร์สโค้ด ดังนั้นผู้เข้าอบรมจึงสามารถนำองค์ความรู้ความเข้าใจที่ได้ภายหลังอบรม ไปประยุกต์กับการทำงานที่ใช้ภาษา โปรแกรมอะไรก็ได้
สำหรับการอบรมนี้ ต้องการให้ผู้เข้าอบรมเข้าใจถึงแก่นและการนำ Pattern ไปใช้เป็นเครื่องมือประกอบการแก้ไขปัญหาในการออกแบบซอฟต์แวร์ และเข้าใจถึงปรัชญาการออกแบบที่ดีและพื้นฐานการเป็นนักกลยุทธ์ด้านการออกแบบซอฟต์แวร์ที่ดี ได้ศึกษาและฝึกระบบความคิด
เพื่อเป็นพื้นฐานที่ดีต่อการเป็นนักออกแบบซอฟต์แวร์โดยใช้ Pattern เป็นเครื่องมืออย่างมีประสิทธิภาพ โดยผู้เข้าอบรมจะได้เข้าใจถึงแก่นของ Pattern สามารถศึกษา Pattern อื่น ๆ อีกมากมายต่อไปได้ด้วยตนเอง สามารถต่อยอดและสร้าง Pattern ใหม่ ๆ ได้ด้วยตนเอง และสามารถนำองค์ความรู้ด้าน Pattern ไปประยุกต์หรือปรับปรุงกับกระบวนการพัฒนาซอฟต์แวร์ในองค์กรและเพื่อสร้างนักออกแบบซอฟต์แวร์ที่ใช้ Pattern
ได้อย่างชำนาญให้เกิดขึ้นมาก ๆ ภายในองค์กรของตน นอกจากนี้ผู้เข้าอบรมจะเข้าใจถึงหลักการวิเคราะห์และทำความเข้าใจกับปัญหา เพราะ
หากไม่เข้าใจปัญหาแล้ว แม้รู้จัก Pattern นับร้อยก็ไม่เกิดประโยชน์ใด ๆ โดยคอร์สนี้เน้นที่ Patterns ของ GoF เป็นหลัก ซึ่งได้ถูกเขียนเป็นหนังสือชื่อ Design Patterns: Elements of Reusable Object-Oriented Software เขียนโดย Erich Gamma, Richard Helm, Ralph Johnson และ John Vlissides ซึ่งมี ทั้งหมด 23 Patterns และเป็น Patterns พื้นฐานที่ภายหลังได้มีการนำไป พัฒนาต่อยอดสร้างเป็น Patterns ต่าง ๆ ออกมานับร้อย นอกจากนี้คอร์สนี้ยังมีเรียนเกี่ยวกับ Patterns ด้านอื่นด้วย เช่น Patterns ด้าน Software Architecture ฯ
คอร์สนี้เหมาะสำหรับ IT Manager, CIO, CTO, Developers, Project Managers, Software Engineers, System Analysts and Designers, Software Architects, Programmers, and IT Professionals or Educators.
ปรัชญาการออกแบบ และพื้นฐานการเป็นนักกลยุทธ์
แนะนำเบื้องต้นเกี่ยวกับ Design Patterns
เทคนิคง่าย ๆ ในการศึกษาและทำความเข้าใจ Patterns
ประเภทของ Patterns
แหล่งความรู้ด้าน Patterns
แนะนำเบื้องต้นเกี่ยวกับ GoF Design Patterns
GoF: Creational Patterns — Pattern ที่ใช้แก้ปัญหาการสร้างอ็อบเจ็คต์
GoF: Structural Patterns — Pattern ที่ใช้แก้ปัญหาการจัดวางและกำหนดโครงสร้าง ของความสัมพันธ์ระหว่างคลาส
และระหว่างอ็อบเจ็คต์
GoF: Behavioral Patterns — Pattern ที่ใช้แก้ปัญหาการกำหนดพฤติกรรมและหน้าที่ของคลาสและอ็อบเจ็คต์
แนะนำเบื้องต้นเกี่ยวกับ Architectural Patterns
Pattern ที่สำคัญในการออกแบบสถาปัตยกรรมของแอพพลิเคชั่นระดับเอ็นเตอร์ไพรซ์ (Patterns of Enterprise Application
Architecture by Martin Fowler) โดยเป็นการอธิบายสั้น ๆ เพื่อเป็นแนวทางในการศึกษาต่อยอดต่อไป
การประยุกต์ Patterns ในสถานการณ์จริงในการแก้ปัญหาระหว่างการออกแบบ
แนวทางในการต่อยอดและสร้าง Patterns ขึ้นเอง
ผู้เข้าอบรมจะเข้าใจถึงปรัชญาการออกแบบและพื้นฐานการเป็นนักกลยุทธ์ ความสำคัญและแก่นของของ Design Patterns เพื่อสามารถนำไป ประยุกต์ในการแก้ไขปัญหาและเพื่อกำหนดโซลูชั่นในการออกแบบซอฟต์แวร์ได้ด้วย Patterns ซึ่งผู้เข้าอบรมจะยังเข้าใจ Pattern แต่ละชนิด
และการนำไปประยุกต์ให้เหมาะสมกับเหตุการณ์และปัญหา และจะสามารถนำ Patterns ไปใช้เป็นเสมือนเครื่องมือช่วยในการออกแบบได้เป็น อย่างดี นอกจากนี้ผู้เข้าอบรมจะยังได้เข้าใจถึงที่มาที่ไปของแต่ละ Pattern เพื่อการศึกษา Pattern ประเภทอื่น ๆ เพิ่มเติมภายหลัง และยังเข้า ใจถึงแนวทางเพื่อให้สามารถต่อยอดและสร้าง Pattern ขึ้นใช้เองต่อไปได้ และสำหรับผู้เข้าอบรมที่ทำงานอยู่ในระดับบริหารหรือหัวหน้าก็จะ เข้าใจถึงความสำคัญของการศึกษาและการใช้ Pattern และสามารถนำองค์ความรู้กลับไปปรับปรุงกระบวนการทำงาน โดยเฉพาะการให้ ความสำคัญกับการออกแบบซอฟต์แวร์มากยิ่งขึ้นได้ และเพื่อสร้างนักออกแบบซอฟต์แวร์ที่ดีภายในองค์กรของตนต่อไป นอกจากนี้ผู้เข้าอบรมจะเข้าใจถึงปรัชญาการออกแบบที่ดี และการเป็นนักกลยุทธ์หรือนักยุทธศาสตร์ด้านการแก้ไขปัญหาในการออกแบบซอฟต์แวร์ที่ดี
Juntima Klumchaun
Technology Transfer Department
Software Park Thailand
Tel: 02-583-9992 ext. 1424
Fax: 02-583-2884
E-mail: training@swpark.org