Requirement Gathering & Software Design Patterns

  • TTSA09
  • Classroom
  • Fundamental
  • Thai | 0
Software Architecture and Design

หลักสูตรนี้มุ่งเน้นการสร้างความเข้าใจในกระบวนการพัฒนาซอฟต์แวร์ตั้งแต่ต้นน้ำจนถึงปลายน้ำ ครอบคลุมการเก็บความต้องการ (Requirement Gathering) อย่างมีประสิทธิภาพเพื่อเปลี่ยนโจทย์ทางธุรกิจให้เป็นสเปกทางเทคนิคที่ชัดเจน ผู้เรียนจะได้เจาะลึกการออกแบบสถาปัตยกรรมระดับภาพรวม (High-level Architecture) ผ่านวิวัฒนาการตั้งแต่อภิมหาระบบอย่าง Monolith จนถึง Microservices และ Event-Driven เพื่อเลือกใช้โครงสร้างที่เหมาะสมกับองค์กร นอกจากนี้ยังลงลึกถึงการออกแบบระดับโค้ด (Low-level Design) ด้วย Design Patterns, SOLID Principles และ Clean Architecture พร้อมเวิร์กช็อปจากกรณีศึกษาจริงเพื่อนำไปประยุกต์ใช้ในการส่งมอบซอฟต์แวร์คุณภาพสูงได้อย่างเป็นระบบ

Course description

Time
Days :
2 Day(s)
Duration :
12 Hour(s)
Time :
09:00:00 - 16:00:00
Training Date :
28-29 January 2027
Status :
Open Register
Instructor
Language :
Thai
Venue
Venue :
Training Room 3rd floor, Software Park Building Chaengwattana Road, Nonthaburi
Type :
Classroom
Requirement Gathering & Software Design Patterns

  • เพื่อให้ผู้เรียนเข้าใจเทคนิคการเก็บ วิเคราะห์ และเขียนความต้องการทางซอฟต์แวร์ (ทั้ง Functional และ Non-functional) ในรูปแบบ Use Cases และ User Stories ได้อย่างถูกต้องและสอดคล้องกับเกณฑ์ SMART
  • เพื่อให้ผู้เรียนเข้าใจหลักการวิเคราะห์และตัดสินใจเลือกรูปแบบสถาปัตยกรรมระดับภาพรวม (เช่น Microservices, Event-Driven, SOA) ตลอดจนวางแผนกลยุทธ์การสื่อสารระหว่างเซอร์วิส การทดสอบ และการเฝ้าระวังระบบ (Monitoring & Observability)
  • เพื่อให้ผู้เรียนสามารถประยุกต์ใช้หลักการเขียนโปรแกรมเชิงวัตถุ (OOP), SOLID Principles และ Design Patterns ระดับโค้ด เช่น Clean Architecture หรือ Hexagonal Architecture ได้อย่างมีประสิทธิภาพ
  • เพื่อให้ผู้เรียนสามารถระบุและหลีกเลี่ยงข้อผิดพลาดทั่วไปในการออกแบบ (Anti-patterns) พร้อมนำกระบวนการพัฒนาและทดสอบที่มีมาตรฐานไปปรับใช้ในสภาพแวดล้อมการทำงานจริงได้

  • Software Analyst
  • Solution Architect
  • Software Developer/Programmer

  • เข้าใจเทคนิคการเก็บ วิเคราะห์ และเขียนความต้องการทางซอฟต์แวร์ (ทั้ง Functional และ Non-functional) ในรูปแบบ Use Cases และ User Stories ได้อย่างถูกต้องและสอดคล้องกับเกณฑ์ SMART
  • เข้าใจหลักการวิเคราะห์และตัดสินใจเลือกรูปแบบสถาปัตยกรรมระดับภาพรวม (เช่น Microservices, Event-Driven, SOA) ตลอดจนวางแผนกลยุทธ์การสื่อสารระหว่างเซอร์วิส การทดสอบ และการเฝ้าระวังระบบ (Monitoring & Observability)
  • สามารถประยุกต์ใช้หลักการ Object-Oriented Design, SOLID Principles และ Design Patterns ระดับโค้ด เช่น Clean Architecture หรือ Hexagonal Architecture ได้อย่างมีประสิทธิภาพ
  • สามารถระบุและหลีกเลี่ยงข้อผิดพลาดทั่วไปในการออกแบบ (Anti-patterns) พร้อมนำกระบวนการพัฒนาและทดสอบที่มีมาตรฐานไปปรับใช้ในสภาพแวดล้อมการทำงานจริงได้

1. Software Requirement Gathering

  • Software Development Life Cycle
    • Requirement
    • Architecture design
    • Analysis
    • Develop
    • Testing
    • Deployment
  • Introduction to Requirement Gathering
    • Common Challenges and Pitfalls
    • Types of Requirements:
      • Functional vs. Non-functional
      • Business vs. System Requirements
      • Technical Constraints
    • Stakeholders in Requirement Gathering
    • Workshop
  • Writing Effective Requirements
    • Characteristics of Well-Written Requirements (SMART Criteria)
    • Use Case Development
    • User Stories and Acceptance Criteria
    • Workshop

2. High level :: Architecture

  • Software architecture
    • characteristics
    • decision
    • structure
    • design principles
  • Software architecture patterns
    • ภาพรวมของสถาปัตยกรรม software แบบต่าง ๆ ข้อดีและข้อเสีย
    • Evolution of Software architecture
      • Monolith
      • Distributed Monolith
      • N-tiers
      • Service-Oriented Architecture
      • Microservices
      • Event-Driven Microservices Architecture
      • Micro Frontend
  • Design principles
    • Creational
      • How to compose or decompose service ?
      • Communication between service
    • Interface (UX/UI and API)
      • Easy to use
      • Compatibility
    • Testing
      • Test strategy
    • Operation
      • Plan for failure
      • Monitoring and observability
  • Workshop from use cases

3. Low level :: Development in each piece of software/service

  • Design pattern of Software
    • What are design patterns ?
    • Importance of design patterns in software development
    • Categories of design patterns (Creational, Structural, Behavioral)
    • The history of design patterns (Gang of Four - GoF)
  • Principles of Object-Oriented Design
    • SOLID principles
    • Encapsulation, inheritance, and polymorphism
    • Understanding coupling and cohesion
    • Composition over inheritance
  • Advanced Design Patterns and Best Practices
    • MVC (Model-View-Controller) Pattern
    • MVVM (Model-View-ViewModel) Pattern
    • Hexagonal Architecture
    • Clean architecture
  • Anti-patterns
    • Recognizing common design flaws
    • Examples: God Object, Singleton overuse, Spaghetti Code
  • Development and Delivery process
    • Understanding requirement
    • Design (draw diagrams)
    • Develop + Testing
    • Deploy
  • Workshop from use cases

Payment can be made by:

  1. Cash or Credit Card or Bank Cheque payable to
    สำนักงานพัฒนาวิทยาศาสตร์และเทคโนโลยีแห่งชาติ or National Science and Technology Development Agency
    (a post-dated cheque is not accepted) on the first day of the service or within the last day of the service.

  2. Account transfer and send the proof of the payment (the deposit slip) via email ttd@swpark.or.th

    • ธนาคารกรุงเทพ สาขาอุทยานวิทยาศาสตร์
      Saving Account Number: 080-0-00001-0
      Account Name: สำนักงานพัฒนาวิทยาศาสตร์และเทคโนโลยีแห่งชาติ

    • ธนาคารกรุงไทย สาขาตลาดไท
      Saving Account Number: 152-1-32668-1
      Account Name: สำนักงานพัฒนาวิทยาศาสตร์และเทคโนโลยีแห่งชาติ

Notes:

  • Withholding tax (3%) is exempt.
  • Should you need to withdraw, you must send the notice of the withdrawal in writing no later than 7 working days before the commencement date. The cancellation less than 7 days will be subject to a fine of 40% of the fee.
  • Software Park Thailand reserves the rights to cancel courses due to unforeseen circumstances.

Contact Person

For more information, contact our course coordinator on:

เสกสรรค์ สังสุข (อิฐ)
Mr. Seksun Sungsook
 : +662 583 9992 Ext. 81421
 : +6681 913 1828
swp
You are encouraged to use the course schedule as a guide to plan your training. The schedule is accessible at www.swpark.or.th for more information.

เพิ่มเพื่อน

10,000 THB .

วันที่ 28-29 มกราคม 2570 เวลา 09.00 - 16.00 น.
ณ อาคารซอฟต์แวร์พาร์ค ถ.แจ้งวัฒนะ จ.นนทบุรี

***สำคัญ!!! กรุณารอการยืนยันเปิดการอบรมจากเจ้าหน้าที่ก่อนการชำระค่าลงทะเบียน***

สอบถามข้อมูลเพิ่มเติม โปรดติดต่อ เสกสรรค์ สังสุข
Tel: 02-583-9992 Ext. 81421, 081-913-1828
Enroll now

Course Detail :
Days :
2 Day(s)
Duration :
12 Hour(s)
Time :
09:00:00 - 16:00:00
Training Date :
28-29 January 2027
Status :
Open Register

Instructor info
avatar
Mr.Somkiat Puisungnoen

Software Engineering / Software Practitioner / Agile Practitioner and Technical / Software Analyst / Software developer