feat: Wiki 지식 자산 업데이트 - UX Scenarios, Frontend, Game Design, Topics 추가 [2026-05-08]

This commit is contained in:
2026-05-08 19:52:07 +09:00
parent 9dd3d40662
commit 5ba5a55c78
3984 changed files with 334557 additions and 28839 deletions
@@ -1,30 +1,41 @@
---
id: P-REINFORCE-WIKI-E724CEAB
category: Unified
id: wiki-2026-0508-atam-architecture-trade-offs-ana
title: ATAM (Architecture Trade offs Analysis Method)
category: 10_Wiki/Topics
status: needs_review
canonical_id: self
aliases: [P-REINFORCE-WIKI-E724CEAB]
duplicate_of: none
source_trust_level: A
confidence_score: 0.95
tags: ['atam-(architecture-trade-offs-analysis-method)', 'architecture-decision-records-(adr)', 'iso-25010-(품질-모델)', '민감도-지점-(sensitivity-points)', 'tara-(architecture-assessment)', 'architecture-principles']
tags: [atam-(architecture-trade-offs-analysis-method), architecture-decision-records-(adr), iso-25010-(품질-모델), 민감도-지점-(sensitivity-points), tara-(architecture-assessment), architecture-principles]
raw_sources: []
last_reinforced: 2026-05-02
github_commit: pending
inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08)
tech_stack:
language: unspecified
framework: unspecified
---
# [[ATAM (Architecture Trade-offs Analysis Method)]]
## 📌 Brief Summary
## 📌 한 줄 통찰 (The Karpathy Summary)
ATAM(Architecture Trade-offs Analysis Method)은 특정 소프트웨어 아키텍처가 비즈니스 목표를 얼마나 잘 지원하는지 평가하고 아키텍처적 위험 요소를 식별하기 위해 SEI(Software Engineering Institute)에서 개발한 방법론입니다 [1, 2]. 이 방법론은 '완벽한 아키텍처는 없다'는 인식 하에, 의사결정 과정에서 불가피하게 발생하는 타협점(Compromise)을 체계적으로 찾아냅니다 [1]. 소프트웨어 아키텍처를 평가하는 데 있어 '표준(Gold Standard)'으로 간주되며, 직감이나 유행에 따른 아키텍처 선택을 방지하는 객관적인 기준을 제공합니다 [1, 3].
## 📖 Core Content
## 📖 구조화된 지식 (Synthesized Content)
* **시나리오 기반 분석 (Scenario-based thinking):** ATAM은 '성능'과 같이 추상적인 품질 목표를 논의하는 대신, 구체적인 시나리오를 사용하여 아키텍처를 평가합니다 [1, 2]. 예를 들어 "사용자가 10분 내에 두 배로 증가할 때 시스템이 어떻게 작동하는가?" 또는 "데이터베이스가 실패할 때 아키텍처가 어떻게 동작하는가?"와 같은 특정한 자극과 반응을 통해 아키텍처의 한계를 시험합니다 [1, 2].
* **트레이드오프 식별 (Identification of trade-offs):** 분석 과정을 통해 여러 품질 속성 간의 상호작용과 절충점(Trade-off Points)을 명확히 드러냅니다 [1, 2]. 극단적으로 안전한 시스템(높은 암호화)을 구현하면 성능(지연 시간)을 희생해야 하거나, 가용성을 높이기 위해 일관성을 양보해야 하는 등의 상충 관계를 찾아냅니다 [1, 2].
* **위험 및 민감도 지점 도출 (Risks and sensitivity points):** 아키텍처가 어느 부분에서 민감한지(sensitive)를 파악합니다 [1]. 이를 통해 설계자가 단순히 '유행하는 패턴의 관점'에서만 생각하는 것을 방지하고, 라이브 운영(Live operation) 중 발생할 수 있는 예상치 못한 문제들로부터 시스템을 보호합니다 [1].
* **아키텍처 비교 및 의사결정:** ATAM은 측정 가능한 품질 기준을 바탕으로 여러 아키텍처 접근법을 비교하는 데 사용되며, 순수한 직감에 의한 결정을 체계적인 의사결정 프로세스로 전환합니다 [3, 4]. 이 과정의 핵심 산출물로는 '위험 테마 및 트레이드오프 보고서'가 생성됩니다 [5].
* **사전 분석을 통한 위험 완화:** 시스템이 구축되기 전에 소프트웨어 시스템의 동작을 분석할 수 있는 기반을 제공합니다 [6]. 실제 구축 없이도 시스템이 이해관계자의 요구를 충족하는지 검증함으로써 실질적인 비용 절감과 위험 완화 효과를 가져옵니다 [6].
## Trade-offs & Caveats
## 모순 및 업데이트 (Contradictions & Updates)
ATAM 자체는 시스템의 트레이드오프를 밝혀내는 분석 방법론이므로, 이 방법론이 도출하는 핵심적인 제약 사항은 바로 "모든 아키텍처 결정은 곧 타협(Trade-off)"이라는 사실입니다 [1].
* **품질 속성 간의 상충:** 성능, 보안, 가용성, 유지보수성 등 다양한 품질 속성을 동시에 완벽하게 달성하는 것은 불가능하며, 하나의 품질 속성을 최적화(예: 개발 속도 극대화)하면 필연적으로 다른 속성(예: 향후 유지보수성)이 저하되는 반대 급부가 발생함을 인정해야 합니다 [1, 2].
* **패턴 맹신에 대한 경고:** 특정 아키텍처 패턴이 현대적이고 유행한다는 이유만으로 선택해서는 안 되며, 구체적인 시나리오를 바탕으로 철저히 한계를 시험하고 약점을 파악하는 분석 과정을 반드시 거쳐야 한다는 제약을 부여합니다 [1].
## 🔗 Knowledge Connections
## 🔗 지식 연결 (Graph)
### Related Concepts
#### [관계 유형 A: 아키텍처 평가 및 기록]
@@ -62,4 +73,53 @@ ATAM 자체는 시스템의 트레이드오프를 밝혀내는 분석 방법론
- 확장 방향: ATAM 등을 통해 초기 설계 당시 의도되었던 아키텍처가 시스템의 지속적인 진화와 유지보수 과정에서 어떻게 변질되고 붕괴되는지, 그리고 이를 어떻게 막을 것인지에 대한 운영적 관점의 연구로 나아갈 수 있습니다 [14].
---
*Last updated: 2026-05-02*
*Last updated: 2026-05-02*
## 🤖 LLM 활용 힌트 (How to Use This Knowledge)
**언제 이 지식을 쓰는가:**
- *(TODO)*
**언제 쓰면 안 되는가:**
- *(TODO)*
## 🧪 검증 상태 (Validation)
- **정보 상태:** needs_review
- **출처 신뢰도:** A
- **검토 이유:** *(P-Reinforce Phase 1 자동 정규화. 본문 검증 필요.)*
## 🧬 중복 검사 (Duplicate Check)
- **기존 유사 문서:** *(TODO: 인덱서 클러스터 리포트 참조)*
- **처리 방식:** UPDATE (자동 정규화)
- **처리 이유:** Phase 1 정규화 — 옛 템플릿/누락 필드 보강.
## 🕓 변경 이력 (Changelog)
| 날짜 | 변경 내용 | 처리 방식 | 신뢰도 |
|------|-----------|-----------|--------|
| 2026-05-08 | P-Reinforce Phase 1 정규화 (frontmatter + 헤더 표준화) | UPDATE | A |
## 💻 코드 패턴 (Code Patterns)
**패턴 1:** *(TODO: 이 프로젝트 컨벤션 반영한 구조 스켈레톤)*
```text
# TODO
```
## 🤔 의사결정 기준 (Decision Criteria)
**선택 A를 써야 할 때:**
- *(TODO)*
**선택 B를 써야 할 때:**
- *(TODO)*
**기본값:**
> *(TODO)*
## ❌ 안티패턴 (Anti-Patterns)
- **[안티패턴]:** *(TODO: 무엇을 하면 안 되는가 + 이유 + 대신 무엇을)*