D3
DAY 3 MASTER TEXTBOOK & QUIZ Chapter 1 · C&C View, Allocation View & Mapping · 20 Questions
DAY 3 COMPLETE COMPENDIUM 10–15 MIN STUDY TIME C&C · ALLOCATION · MAPPING

DAY 3: CHAPTER 1 — C&C STRUCTURE,
ALLOCATION STRUCTURE & MAPPING

ต่อยอดจาก Module View (Static บนดิสก์) สู่ C&C Structure (Runtime ใน RAM), Allocation Structure (การจับคู่ลง Server/Cloud/ทีม) และทะลวงความเข้าใจเรื่อง Many-to-Many Mapping ที่สถาปนิกมักเข้าใจผิด พร้อม ควิซทดสอบความรู้ 20 ข้อ และเฉลยวิเคราะห์เชิงลึก

PART 1.1 RUNTIME / DYNAMIC VIEW

Component-and-Connector (C&C) Structure

มุมมองขณะที่ซอฟต์แวร์กำลังถูกเปิดประมวลผลจริงอยู่ในหน่วยความจำ (RAM) หรือสภาพแวดล้อม Runtime:

Active in Memory (RAM)
1. ELEMENTS COMPONENTS + CONNECTORS

Components & Connectors

• Components: หน่วยประมวลผลหรือแหล่งเก็บข้อมูลหลักขณะรัน เช่น Web Client Instance, Microservice Pod, Database Process, Search Worker

• Connectors: ตัวกลางและกลไกการสื่อสารปฏิสัมพันธ์ระหว่าง Component เช่น REST API, Apache Kafka Message Bus, gRPC, RPC Channel, Shared Memory

⚡ สถาปนิกมอง Connector เป็น First-class Citizen ไม่ใช่แค่เส้นต่อธรรมดา
2. RELATIONS ATTACHMENTS

Attachments (การเสียบพอร์ต)

ความสัมพันธ์การเชื่อมต่อระหว่าง Port ของ Component เข้ากับ Role ของ Connector เพื่อส่งต่อข้อมูลและ Event ระหว่างกันในระบบ

ข้อต่อทางเทคนิค:

Component จะยื่น Ports ออกมา และ Connector จะมี Roles เพื่อระบุว่าใครเป็น Sender/Receiver, Publisher/Subscriber หรือ Client/Server

⚡ รองรับทั้ง Synchronous (บล็อกรอ) และ Asynchronous (คิว)
3. PROPERTIES RUNTIME METRICS

คุณสมบัติการรัน (Properties)

ตัวแปรและข้อจำกัดเชิงพลวัตที่เกิดขึ้นเมื่อระบบถูกเปิดใช้งานจริงใน RAM:

  • เวลาในการตอบสนอง (Latency) & ค่าหน่วงเวลา
  • ปริมาณงานสูงสุด (Throughput / Requests per second)
  • พฤติกรรม Concurrency, Thread Pools, Mutex Locks
  • ระดับความปลอดภัยของการส่งข้อมูล (TLS/mTLS)
⚡ ควบคุม: Performance, Availability, Concurrency & Security
C&C SUB-STRUCTURE 1

Service Structure

แสดง Component ที่เป็นบริการย่อย และ Connector ที่เป็นระบบส่งรับ Message (เช่น REST, gRPC, Message Queue) เพื่อวิเคราะห์ความต่อเนื่องในการให้บริการ (Availability) และความสามารถในการขยายระบบ (Scalability)

C&C SUB-STRUCTURE 2

Concurrency Structure

แสดงการจัดวาง Component ลงใน Logical Threads / Execution Units เพื่อวิเคราะห์จุดคอขวด (Bottlenecks), Thread Locks, Deadlocks, และการแย่งชิงทรัพยากร (Resource Contention) ในหน่วยประมวลผล

PART 1.2 ENVIRONMENTAL MAPPING VIEW

Allocation Structure (มุมมองการจัดวางลงสภาพแวดล้อมจริง)

โครงสร้างที่แสดงการจับคู่ (Mapping) ระหว่างองค์ประกอบซอฟต์แวร์ เข้ากับสภาพแวดล้อมทางกายภาพ คลาวด์ หรือองค์กร:

Relation: allocated-to
1. DEPLOYMENT STRUCTURE

Deployment Structure

จับคู่ C&C Runtime Components เข้ากับ Hardware / Cloud Processing Nodes เช่น ระบุว่า Docker Container หรือ Pod ตัวไหนถูกติดตั้งไว้บน VM, Kubernetes Worker Node, หรือ Availability Zone ใด

ตอบโจทย์คุณภาพ:

Deployability, Disaster Recovery, Cloud Cost, และ Load Balancing

จับคู่: C&C Components ➔ Cloud / VMs / Nodes
2. IMPLEMENTATION STRUCTURE

Implementation Structure

จับคู่ Module View (ซอร์สโค้ด) เข้ากับ โครงสร้างระบบไฟล์จริง (File System) หรือ Git Repository เพื่อระบุว่าไฟล์โค้ดใดถูกเก็บไว้ที่ไดเรกทอรีใดและคอมไพล์ลง Jar/Bundle ใด

ตอบโจทย์คุณภาพ:

Build Pipeline Efficiency, Version Control & CI/CD Packaging

จับคู่: Modules ➔ Files / Folders / Git Repos
3. WORK ASSIGNMENT

Work Assignment Structure

จับคู่ Module View เข้ากับ ทีมพัฒนาหรือบุคลากรในองค์กร เพื่อกำหนดขอบเขตหน้าที่ความรับผิดชอบ และกำหนดช่องทางการสื่อสารให้สอดคล้องกับโครงสร้างซอฟต์แวร์ (Conway's Law)

ตอบโจทย์องค์กร:

Team Autonomy, Project Management & Social Debt Reduction

จับคู่: Modules ➔ Development Teams / Squads
PART 1.3 MAPPING REALITY CHECK

การแมปข้ามมิติโครงสร้าง (Mapping Between Structures)

ความเข้าใจผิดอันดับหนึ่งคือคิดว่า 3 Views ต้องตรงกันแบบ 1 ต่อ 1 แต่ในความเป็นจริงเป็นความสัมพันธ์แบบ Many-to-Many

Many-to-Many Paradigm

กรณีศึกษา: ระบบชำระเงิน PaymentService ในแคมเปญ 11.11

1 Module ➔ 10 Instances ➔ 3 Cloud VMs
STATIC DISK VIEW

1. Module View

มีไฟล์ซอร์สโค้ดเพียง 1 ไฟล์ บนระบบควบคุมเวอร์ชัน (Git Repository):

📄 PaymentService.java
ความรับผิดชอบ: ตรวจสอบและตัดเงิน
คอมไพล์แล้วนำไปรันบนระบบ Cloud
DYNAMIC RAM VIEW

2. C&C View

ช่วงเทศกาลลดราคา ระบบสเกลเปิดใช้งานเป็น 10 Component Instances ในหน่วยความจำ:

⚙️ Instances 1–10 Running
Connector: LoadBalancer (Round Robin)
ติดตั้งกระจายข้ามดาต้าเซ็นเตอร์
PHYSICAL DEPLOYMENT VIEW

3. Allocation View

Instances ทั้ง 10 ตัว ถูกจับคู่กระจายไปรันอยู่บน 3 Virtual Machines / Cloud Zones:

☁️ VM-1 (Zone A): 4 Instances

☁️ VM-2 (Zone B): 3 Instances

☁️ VM-3 (Zone C): 3 Instances

ป้องกัน Down-time ข้ามโซน
ข้อควรระวังสำคัญสำหรับสถาปนิก (Mixing Views Trap):

อย่าเผลอนำ Class จาก Module View ไปลากเส้นต่อสายเข้ากับ Cloud VM ใน Allocation View บนไดอะแกรมเดียวกัน! เพราะเป็นการผสมมิติทัศน์คนละโลก (Static vs Physical) ทำให้สื่อสารล้มเหลวและทีมงานสับสนอย่างรุนแรง

PART 2.0 DAY 3 EXAM SUITE

ควิซทดสอบความรู้ 20 ข้อ (Day 3 Comprehensive Quiz)

ครอบคลุมทั้ง 3 หมวดเนื้อหา: C&C Structure, Allocation Structure, และ การแมปเชื่อมโยงข้ามโครงสร้าง

Progress 0 / 20 ตอบแล้ว
Score 0 / 20
Filter by Topic:
PART 3.0

สารบัญเฉลยเร็ว (Day 3 Fast Answer Key Matrix)

ตารางตรวจสอบคำตอบที่ถูกต้องรวดเร็วทั้ง 20 ข้อประจำ Day 3

ข้อ 1: B
ข้อ 2: C
ข้อ 3: B
ข้อ 4: C
ข้อ 5: A
ข้อ 6: B
ข้อ 7: A
ข้อ 8: B
ข้อ 9: C
ข้อ 10: B
ข้อ 11: C
ข้อ 12: A
ข้อ 13: B
ข้อ 14: A
ข้อ 15: B
ข้อ 16: B
ข้อ 17: B
ข้อ 18: A
ข้อ 19: A
ข้อ 20: A
บันทึกสำเร็จ