กรุงเทพฯ--3 พ.ค.--Software Park
Date / Time : 23 - 25 May 2011
Venue : Training / Seminar Room, 3rd Floor, Software Park Building
Registration Fee : 12,840 Baht (Included VAT 7 %)
Course Overview
Patterns เปรียบเสมือนสูตรลัดหรือสมการทางคณิตศาสตร์ หากผู้ปฏิบัติรู้จักมากเท่าใดและสามารถนำไปประยุกต์ให้เหมาะสมได้มาก เท่าใด จะช่วยทำให้การคำนวณ การพัฒนา หรือการสร้างงานสำเร็จลุล่วงได้รวดเร็วยิ่งขึ้น มีความถูกต้อง และมีมาตรฐานยิ่งขึ้น
ความผิดพลาดที่พบได้บ่อยสำหรับนักออกแบบหรือ Software Architect หรือผู้ที่รับผิดชอบในการออกแบบสถาปัตยกรรมซอฟต์แวร์ ในระดับองค์กร (Enterprise Architecture) เช่น
- การแบ่งและจัดระเบียบลอจิก (logic partitioning) ออกเป็น layer โดยเรียกว่า Architectural Layer
- วิธีการต่าง ๆ ในการจัดการกับตรรกะทางธุรกิจ (business logic)
-การทำ mapping ระหว่างการออกแบบ Data Model ในรูปแบบ object (Object Data Model) และในรูปแบบฐานข้อมูลแบบ relational (ER Diagram)
- การใช้ Model-View-Controller ในการจัดการ Web presentation
- การจัดการ concurrency ของหลาย transaction รวมถึงเทคนิคการทำ locking แบบต่าง ๆ
- การออกแบบ interface ของ distributed object
- การจำกัดช่องทาง (channel) ในการติดต่อขอใช้บริการ (service) โดยไคลเอ็นต์
- การจำกัดช่องทาง (channel) ในการติดต่อขอใช้บริการ (service) ของคอมโพเน้นต์หรือแอพพลิเคชั่นที่อยู่เครื่องอื่น
- การสร้างเฟรมเวิร์กขึ้นใช้เอง
- การออกแบบ transaction ให้มีประสิทธิภาพ รวมถึงการจัดการด้าน session
- การติดต่อกับฐานข้อมูลในรูปแบบต่าง ๆ และการโหลดข้อมูลในรูปแบบต่าง ๆ
หลักสูตรนี้จะให้ความรู้ความเข้าใจเชิงลึกในการใช้ patterns ทางด้านสถาปัตยกรรม (Architectural Patterns) ในการแก้ไขปัญหา ในการวิเคราะห์และออกแบบสถาปัตยกรรมของแอพพลิเคชั่นระดับองค์กร (Enterprise Application Architecture) เพื่อให้การพัฒนา แอพพลิเคชั่นสำหรับองค์กรมีประสิทธิภาพ แข็งแกร่ง ปรับปรุงแก้ไขได้ง่าย และรองรับการเกิดขึ้นของเทคโนโลยีที่หลากหลายและรวดเร็ว และรวมถึงแพลตฟอร์มที่เป็น object-oriented แบบ multi-tier เช่น Java และ .NET ซึ่งใช้กันอย่างกว้างขวาง และรวมถึงสถาปัตยกรรม แบบกระจาย (Distributed Computing) และสถาปัตยกรรมเชิงบริการ (Service-Oriented Architecture: SOA) แนวคิดและเทคโนโลยีใหม่ เหล่านี้สามารถที่จะสร้างแอพพลิเคชั่นที่มีศักยภาพสูง นอกจากนี้จะเน้นหนักที่การฝึกสร้างระบบความคิดให้มีประสิทธิภาพ สอดแทรกแง่คิด ปรัชญาการออกแบบ และจะแสดงให้เห็นว่าการศึกษาและฝึกฝนด้าน Pattern ที่ดีต้องไม่เน้นที่การจำ โดยเฉพาะการให้ความสำคัญกับ ซอร์สโค้ดและไดอะแกรม UML มากเกินไป จนพยายามจะทำความเข้าใจและจดจำซอร์สโค้ดและไดอะแกรม UML ในตัวอย่างให้ได้ ซึ่งแท้จริงไม่จำเป็นหรือไม่ใช่สาระสำคัญหลัก และเป็นการกระทำที่เสียเวลา เพราะโลกนี้มี Pattern นับร้อย ดังนั้นหลักสำคัญคือต้องเน้น ที่การศึกษาและฝึกที่ระบบความคิด โดยเฉพาะการวิเคราะห์ปัญหา การทำความเข้าใจแก่นหรือบริบทของปัญหา (context / problem domain) และการนำ Pattern มาใช้และเรียงร้อย (weave / orchestrate) เพื่อสร้างโซลูชั่นให้เหมาะสมกับงาน
การออกแบบที่ทำการสอนในหลักสูตรนี้มีการใช้ UML บ้าง แต่ไม่ซับซ้อนมากจนเกินไป จึงไม่มีปัญหากับผู้เรียนที่เพิ่งเริ่มต้นแต่อย่างใด และหลักสูตรนี้ไม่เน้นการอธิบายหรือยกตัวอย่างด้วยซอร์สโค้ด ซึ่งไม่มีที่ไหนที่สอน Pattern ในลักษณะแบบนี้ เพราะหลักสูตรนี้ไม่ต้องการให้ผู้เข้าอบรมเน้นซอร์สโค้ด ดังนั้นผู้เข้าอบรมจึงสามารถนำองค์ความรู้ความเข้าใจที่ได้ภายหลังอบรม ไปประยุกต์กับการทำงานที่ใช้ภาษาโปรแกรมอะไรก็ได้
Course Audience
การอบรมนี้ออกแบบมาสำหรับโปรแกรมเมอร์ นักออกแบบซอฟต์แวร์ และสถาปนิกซอฟท์แวร์ (Software Architect) ซึ่งพัฒนาแอพพลิเคชั่น สำหรบองค์กร (Enterprise Application) และผู้ที่ต้องการพัฒนาความเข้าใจหรือการสื่อความหมายในเรื่องเกี่ยวกับสถาปัตยกรรมซอฟต์แวร์
พื้นนฐานของผู้เข้ารับการอบรม (Prerequisities)
- ประสบการณ์ทางด้านการออกแบบและพัฒนาระบบซอฟท์แวร์
- มีความเข้าใจในหลักการพื้นฐานของสถาปัตยกรรมซอฟท์แวร์
- มีความเข้าใจสัญลักษณ์และไดอะแกรม ของ UMLมาบ้าง
Course Contents
- Introduction to Patterns
- Introduction to Enterprise Application
- Architectural Layering
- Domain Logic Patterns
- Data Source Architectural Patterns
- Object-Relational Behavioral Patterns
- Object-Relational Structural Patterns
- Object-Relational Metadata Mapping Patterns
- Web Presentation Patterns
- Distribution Patterns
- Offline Concurrency Patterns
- Session State Patterns
- Base Patterns
Course Benefits
- หลักสูตรนี้ผู้เข้ารับการอบรมจะเข้าใจถึงการออกแบบสถาปัตยกรรมซอฟต์แวร์ระดับองค์กรให้มีศักยภาพสูงสุดโดยใช้ Architectural Patterns ซึ่งผู้เข้ารับการอบรมจะได้เรียนรู้ patterns ถึงประมาณ 50 ตัวตลอด 3 วันที่อบรม
- ผู้เข้ารับการอบรมจะเข้าใจมุมมองต่าง ๆ ของ patterns ทางด้านสถาปัตยกรรม และจะสามารถนำไปใช้ในการออกแบบและพัฒนา สถาปัตยกรรมของแอพพลิเคชั่นสำหรบองค์กรที่ทำอยู่ได้
- ผู้เข้ารับการอบรมสามารถนำความรู้ไปใช้ได้กับทั้งแอพพลิเคชั่นที่พัฒนาด้วย Java และ .NET
- นอกจากนี้การอบรมต้องการให้ผู้เข้าอบรมเข้าใจถึงแก่นและการนำ Pattern ไปใช้เป็นเครื่องมือประกอบการแก้ไขปัญหาในการ ออกแบบซอฟต์แวร์ และเข้าใจถึงปรัชญาการออกแบบที่ดีและพื้นฐานการเป็นนักกลยุทธ์ด้านการออกแบบซอฟต์แวร์ที่ดี ได้ศึกษาและฝึก ระบบความคิดเพื่อเป็นพื้นฐานที่ดีต่อการเป็นนักออกแบบซอฟต์แวร์โดยใช้ Pattern เป็นเครื่องมืออย่างมีประสิทธิภาพ โดยผู้เข้าอบรมจะได้ เข้าใจถึงแก่นของ Pattern สามารถศึกษา Pattern อื่น ๆ อีกมากมายต่อไปได้ด้วยตนเอง สามารถต่อยอดและสร้าง Pattern ใหม่ ๆ ได้ด้วย ตนเอง และสามารถนำองค์ความรู้ด้าน Pattern ไปประยุกต์หรือปรับปรุงกับกระบวนการพัฒนาซอฟต์แวร์ในองค์กรและเพื่อสร้างนักออกแบบ ซอฟต์แวร์ที่ใช้ Pattern ได้อย่างชำนาญให้เกิดขึ้นมาก ๆ ภายในองค์กรของตน นอกจากนี้ผู้เข้าอบรมจะเข้าใจถึงหลักการวิเคราะห์และทำความ เข้าใจกับปัญหา เพราะหากไม่เข้าใจปัญหาแล้ว แม้รู้จัก Pattern นับร้อยก็ไม่เกิดประโยชน์ใด ๆ
สอบถามรายละเอียดเพิ่มเติมติดต่อ
Juntima Klumchaun
Technology Transfer Department
Software Park Thailand
Tel: 02-583-9992 ext. 1424
Fax: 02-583-2884
E-mail: juntima@swpark.or.th