--- id: P-REINFORCE-WIKI-D09FA4BC category: "10_Wiki/πŸ’‘ Topics/02_Architecture_Principles" confidence_score: 0.95 tags: ['μ†Œν”„νŠΈμ›¨μ–΄-μ•„ν‚€ν…μ²˜-평가-(software-architecture-evaluation)', 'atam-(architecture-tradeoff-analysis-method)', 'iso-25010', 'adr-(architecture-decision-records)', 'utility-tree-(μœ ν‹Έλ¦¬ν‹°-트리)', 'architecture-principles'] last_reinforced: 2026-05-02 --- # [[μ†Œν”„νŠΈμ›¨μ–΄ μ•„ν‚€ν…μ²˜ 평가 (Software Architecture Evaluation)]] ## πŸ“Œ Brief Summary μ†Œν”„νŠΈμ›¨μ–΄ μ•„ν‚€ν…μ²˜ ν‰κ°€λŠ” μ œμ•ˆλœ μ„€κ³„μ•ˆμ΄λ‚˜ κΈ°μ‘΄ μ•„ν‚€ν…μ²˜κ°€ μ‹œμŠ€ν…œμ˜ λΉ„μ¦ˆλ‹ˆμŠ€ λͺ©ν‘œμ™€ ν’ˆμ§ˆ μš”κ΅¬μ‚¬ν•­μ„ μ–Όλ§ˆλ‚˜ 잘 μΆ©μ‘±ν•˜λŠ”μ§€ μ²΄κ³„μ μœΌλ‘œ κ²°μ •ν•˜λŠ” 과정이닀 [1]. 이 과정은 μ•„ν‚€ν…μ²˜ 결정을 λ‚΄λ¦¬λŠ” μ‹œμ , μ„€κ³„μ˜ 일뢀 λ˜λŠ” 전체가 μ™„λ£Œλœ ν›„, 심지어 μ‹œμŠ€ν…œ ꡬ좕 이후 λ“± λ‹€μ–‘ν•œ 수λͺ…μ£ΌκΈ° λ‹¨κ³„μ—μ„œ μˆ˜ν–‰λ  수 μžˆλ‹€ [1]. ν‰κ°€λŠ” λ‹¨μˆœν•œ μ§κ΄€μ΄λ‚˜ μœ ν–‰μ΄ μ•„λ‹Œ ꡬ체적인 μ‹œλ‚˜λ¦¬μ˜€μ™€ ν’ˆμ§ˆ λͺ¨λΈ(예: ISO 25010)을 λ°”νƒ•μœΌλ‘œ μˆ˜ν–‰λ˜λ©°, λŒ€ν‘œμ μΈ 기법인 ATAM을 톡해 μ•„ν‚€ν…μ²˜μ˜ νƒ€ν˜‘μ (Trade-off)κ³Ό μœ„ν—˜ μš”μ†Œ(Risks)λ₯Ό μ‹λ³„ν•œλ‹€ [1-3]. ## πŸ“– Core μ†ŒμŠ€μ— κ΄€λ ¨ 정보가 λΆ€μ‘±ν•©λ‹ˆλ‹€. Content * **ν‰κ°€μ˜ λͺ©μ κ³Ό μ‹œμ :** μ•„ν‚€ν…μ²˜ ν‰κ°€λŠ” 뢄석 ν™œλ™μ„ 톡해 λ„μΆœλœ μš”κ΅¬μ‚¬ν•­μ„ ν˜„μž¬μ˜ 섀계가 μ–΄λŠ μ •λ„λ‘œ λ§Œμ‘±ν•˜λŠ”μ§€ ν™•μΈν•˜κΈ° μœ„ν•΄ μˆ˜ν–‰λœλ‹€ [1]. νŠΉμ • 섀계 결정을 κ³ λ €ν•  λ•Œ, μ„€κ³„μ˜ 일뢀가 μ™„λ£Œλ˜μ—ˆμ„ λ•Œ, μ΅œμ’… 섀계가 λλ‚œ ν›„, ν˜Ήμ€ ꡬ좕이 μ™„λ£Œλœ 이후 λ“± μ‹œμŠ€ν…œ 수λͺ…μ£ΌκΈ° μ „λ°˜μ— 걸쳐 지속적이고 반볡적으둜 μΌμ–΄λ‚œλ‹€ [1]. * **ATAM (Architecture Tradeoff Analysis Method):** SEI(Software Engineering Institute)μ—μ„œ κ°œλ°œν•œ ATAM은 μ†Œν”„νŠΈμ›¨μ–΄ μ•„ν‚€ν…μ²˜ ν‰κ°€μ˜ ν‘œμ€€(gold standard)으둜 ν‰κ°€λ°›λŠ”λ‹€ [1, 4]. ATAM은 'μ„±λŠ₯'μ΄λ‚˜ 'λ³΄μ•ˆ'κ³Ό 같은 좔상적인 ν’ˆμ§ˆ λͺ©ν‘œλ₯Ό ν”Όν•˜κ³ , "μ‚¬μš©μžκ°€ 10λΆ„ 내에 2배둜 급증할 λ•Œ μ‹œμŠ€ν…œμ€ μ–΄λ–»κ²Œ λ™μž‘ν•˜λŠ”κ°€?" ν˜Ήμ€ "λ°μ΄ν„°λ² μ΄μŠ€κ°€ λ‹€μš΄λ˜λ©΄ μ–΄λ–€ 일이 λ°œμƒν•˜λŠ”κ°€?"와 같이 ꡬ체적인 'μ‹œλ‚˜λ¦¬μ˜€(Scenario-based thinking)'λ₯Ό 기반으둜 μ•„ν‚€ν…μ²˜μ˜ ν•œκ³„λ₯Ό μ‹œν—˜ν•œλ‹€ [2, 4]. * **ν’ˆμ§ˆ λͺ¨λΈ 및 μœ ν‹Έλ¦¬ν‹° 트리(Utility Tree) ν™œμš©:** μ•„ν‚€ν…μ²˜ 평가λ₯Ό μœ„ν•΄μ„œλŠ” ISO/IEC 25010κ³Ό 같은 포괄적인 ν’ˆμ§ˆ λͺ¨λΈμ΄ κΈ°μ€€μ μœΌλ‘œ μž‘μš©ν•œλ‹€ [5]. κΈ°λŠ₯ 적합성, μ„±λŠ₯ νš¨μœ¨μ„±, ν˜Έν™˜μ„±, μƒν˜Έμž‘μš© λŠ₯λ ₯ λ“± μ—¬λŸ¬ μ§€ν‘œλ₯Ό λ°”νƒ•μœΌλ‘œ 평가 기쀀을 μ„€μ •ν•œλ‹€ [5]. μœ ν‹Έλ¦¬ν‹° νŠΈλ¦¬λŠ” μ΄λŸ¬ν•œ ν’ˆμ§ˆ 속성듀을 κ°€μž₯ ꡬ체적인 μ‹œλ‚˜λ¦¬μ˜€ μˆ˜μ€€μœΌλ‘œ μ„ΈλΆ„ν™”ν•˜κ³ , 각각의 μš°μ„ μˆœμœ„λ₯Ό μ§€μ •ν•˜μ—¬ 평가에 μ‚¬μš©ν•  μ‹œλ‚˜λ¦¬μ˜€ μ„ΈνŠΈλ₯Ό λ§Œλ“œλŠ” 데 쓰인닀 [3]. * **체계적인 μ•„ν‚€ν…μ²˜ μ˜μ‚¬κ²°μ • ν”„λ‘œμ„ΈμŠ€:** 성곡적인 평가 및 결정은 λ‹€μŒμ˜ 체계적인 단계λ₯Ό λ”°λ₯Έλ‹€. 첫째, μš”κ΅¬μ‚¬ν•­ 및 λ¬Έλ§₯을 μ΄ν•΄ν•œλ‹€ [6]. λ‘˜μ§Έ, ν’ˆμ§ˆ μš”κ΅¬μ‚¬ν•­μ„ ν‰κ°€ν•˜κ³  κ°€μ€‘μΉ˜λ₯Ό λ§€κΈ΄λ‹€(μš°μ„ μˆœμœ„ν™”) [6]. μ…‹μ§Έ, κ²°μ • λ§€νŠΈλ¦­μŠ€μ™€ ATAM 등을 μ‚¬μš©ν•˜μ—¬ μ—¬λŸ¬ μ•„ν‚€ν…μ²˜ 컨셉을 기쀀에 따라 ν‰κ°€ν•˜κ³  νŠΈλ ˆμ΄λ“œμ˜€ν”„λ₯Ό λΆ„μ„ν•œλ‹€ [6, 7]. λ„·μ§Έ, ν”„λ‘œν† νƒ€μ΄ν•‘(Prototyping)μ΄λ‚˜ 기술 증λͺ…(PoC)을 톡해 핡심적인 기술 리슀크(λΆ€ν•˜ μ„±λŠ₯ λ“±)λ₯Ό κ²€μ¦ν•˜κ³  μ΅œμ†Œν™”ν•œλ‹€ [6, 8]. λ§ˆμ§€λ§‰μœΌλ‘œ, λ„μΆœλœ κ²°μ • 사항과 νƒ€ν˜‘μ˜ κ·Όκ±°λ₯Ό ADR(Architecture Decision Records)을 톡해 λ¬Έμ„œν™”ν•˜κ³ , μ‹œμŠ€ν…œ ν™˜κ²½μ΄ λ³€ν•  λ•Œλ§ˆλ‹€ μ•„ν‚€ν…μ²˜λ₯Ό μ •κΈ°μ μœΌλ‘œ μž¬κ²€ν† (Review)ν•œλ‹€ [6, 9]. ## βš–οΈ Trade-offs & Caveats * **λΆˆκ°€ν”Όν•œ νƒ€ν˜‘(Trade-offs):** "μ™„λ²½ν•œ μ•„ν‚€ν…μ²˜λŠ” μ‘΄μž¬ν•˜μ§€ μ•ŠμœΌλ©°, λͺ¨λ“  결정은 νƒ€ν˜‘μ΄λ‹€"λΌλŠ” 원칙이 μ•„ν‚€ν…μ²˜ ν‰κ°€μ˜ 핡심이닀 [4]. 예λ₯Ό λ“€μ–΄, κ·Ήλ„λ‘œ μ•ˆμ „ν•œ μ‹œμŠ€ν…œ(높은 μ•”ν˜Έν™”)을 μ±„νƒν•˜λ©΄ 응닡 μ‹œκ°„(μ§€μ—° μ‹œκ°„) λ“± μ„±λŠ₯ μΈ‘λ©΄μ—μ„œ 손해λ₯Ό λ³Ό 수 있으며, μ‹œμŠ€ν…œμ„ 맀우 λΉ λ₯΄κ²Œ 개발(Fast delivery)ν•˜λŠ” μͺ½μ„ μ„ νƒν•˜λ©΄ ν–₯ν›„ μœ μ§€λ³΄μˆ˜μ„±μ΄λ‚˜ ν™•μž₯성을 양보해야 ν•  수 μžˆλ‹€ [2, 4, 10]. * **κ²°μ • μ§€μ—° 및 뢄석 λ§ˆλΉ„(Analysis Paralysis) 주의:** μ•„ν‚€ν…νŠΈκ°€ 잘λͺ»λœ 결정을 내릴 것을 λ‘λ €μ›Œν•˜μ—¬ 평가와 결정을 λ―Έλ£¨λŠ” 것은 μ‹¬κ°ν•œ μ•ˆν‹°νŒ¨ν„΄(Anti-pattern)이닀 [11]. μ΄λŠ” 뢄석 λ§ˆλΉ„λ‘œ 이어져 νŒ€μ˜ 진행을 λ°©ν•΄ν•˜λ―€λ‘œ, μΆ©λΆ„ν•œ 정보가 λͺ¨μ΄λŠ” "λ§ˆμ§€λ§‰ μ±…μž„ μˆœκ°„(last responsible moment)"μ—λŠ” νƒ€ν˜‘μ„ κ°μˆ˜ν•˜κ³  결정을 λ‚΄λ €μ•Ό ν•œλ‹€ [11]. * **λ¬Έμ„œν™” λˆ„λ½μ— λ”°λ₯Έ μœ„ν—˜:** μ•„ν‚€ν…μ²˜ 평가λ₯Ό 톡해 κ²°μ •λœ 사항듀이 ADR λ“±μœΌλ‘œ 적절히 λ¬Έμ„œν™”λ˜μ§€ μ•ŠμœΌλ©΄, μ‹œκ°„μ΄ μ§€λ‚˜ μ‹œμŠ€ν…œ ν™˜κ²½μ΄ λ³€ν•˜κ±°λ‚˜ μƒˆλ‘œμš΄ νŒ€μ›μ΄ ν•©λ₯˜ν–ˆμ„ λ•Œ μ™œ κ·ΈλŸ¬ν•œ 섀계가 μ±„νƒλ˜μ—ˆλŠ”μ§€ μ•Œ 수 μ—†κ²Œ λ˜μ–΄ λ™μΌν•œ λ…Όμ˜λ₯Ό λ°˜λ³΅ν•˜λŠ” λΉ„νš¨μœ¨μ΄ λ°œμƒν•œλ‹€ [3, 11]. ## πŸ”— Knowledge Connections ### Related Concepts #### [관계 μœ ν˜• A (평가 방법둠 및 ν‘œμ€€)] - [[ATAM (Architecture Tradeoff Analysis Method)]] - μ—°κ²° 이유: μ†Œν”„νŠΈμ›¨μ–΄ μ•„ν‚€ν…μ²˜κ°€ μ‹œμŠ€ν…œμ˜ λΉ„μ¦ˆλ‹ˆμŠ€ 및 ν’ˆμ§ˆ λͺ©ν‘œλ₯Ό μ–Όλ§ˆλ‚˜ 잘 μ§€μ›ν•˜λŠ”μ§€ μ‹œλ‚˜λ¦¬μ˜€ 기반으둜 ν‰κ°€ν•˜κ³ , μˆ¨κ²¨μ§„ νŠΈλ ˆμ΄λ“œμ˜€ν”„λ₯Ό μ²΄κ³„μ μœΌλ‘œ λ„μΆœν•˜λŠ” κ°€μž₯ λŒ€ν‘œμ μΈ 기법이기 λ•Œλ¬Έ. [1, 2, 4] - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: ν’ˆμ§ˆ 속성 κ°„μ˜ νƒ€ν˜‘μ (Trade-off points)κ³Ό μ•„ν‚€ν…μ²˜μ˜ 민감도(Sensitivity points) 및 리슀크λ₯Ό κ°κ΄€μ μœΌλ‘œ λΆ„μ„ν•˜λŠ” 원리. - [[ISO 25010]] - μ—°κ²° 이유: μ•„ν‚€ν…μ²˜ ν‰κ°€μ˜ 객관적인 μž£λŒ€κ°€ λ˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄ μ œν’ˆ ν’ˆμ§ˆ 평가 λͺ¨λΈ(κΈ°λŠ₯ 적합성, μ„±λŠ₯ νš¨μœ¨μ„±, ν˜Έν™˜μ„±, μƒν˜Έμž‘μš© λŠ₯λ ₯ λ“±)을 μ œκ³΅ν•˜κΈ° λ•Œλ¬Έ. [3, 5] - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: μ•„ν‚€ν…μ²˜ 평가 κ³Όμ •μ—μ„œ μš”κ΅¬μ‚¬ν•­μ„ μš°μ„ μˆœμœ„ν™”ν•  λ•Œ μ‚¬μš©λ˜λŠ” μ§€ν‘œμ™€ ν’ˆμ§ˆ νŠΉμ„±μ˜ μ„ΈλΆ€ ꡬ쑰. #### [관계 μœ ν˜• B (κ²°μ • 검증 및 λ¬Έμ„œν™” 도ꡬ)] - [[ADR (Architecture Decision Records)]] - μ—°κ²° 이유: μ•„ν‚€ν…μ²˜ 평가λ₯Ό 거쳐 ν™•μ •λœ κ²°μ • 사항, 졜초 λ¬Έλ§₯(Context), λŒ€μ•ˆ, μ„ νƒμ˜ κ·Όκ±°, μœ„ν—˜ 및 ν–₯ν›„ κ²°κ³Όλ₯Ό κΈ°λ‘ν•˜μ—¬ μ΄ν•΄κ΄€κ³„μžλ“€μ΄ 투λͺ…ν•˜κ²Œ μ†Œν†΅ν•˜λ„λ‘ λ•λŠ” ν•„μˆ˜ 도ꡬ이기 λ•Œλ¬Έ. [3, 9, 12] - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: μ•„ν‚€ν…μ²˜ 결정이 μ‹œκ°„κ³Ό 쑰직 λ³€ν™” μ†μ—μ„œλ„ μ–΄λ–»κ²Œ 일관성을 μœ μ§€ν•˜κ³  κ΄€λ¦¬λ˜λŠ”μ§€μ— λŒ€ν•œ 싀무 지식. - [[Utility Tree (μœ ν‹Έλ¦¬ν‹° 트리)]] - μ—°κ²° 이유: μ‹œμŠ€ν…œμ˜ 포괄적인 ν’ˆμ§ˆ 속성듀을 μ•„ν‚€ν…μ²˜ 평가에 λ°”λ‘œ μ‚¬μš©ν•  수 μžˆλ„λ‘ ꡬ체적인 μ‹œλ‚˜λ¦¬μ˜€ μˆ˜μ€€μœΌλ‘œ μ„ΈλΆ„ν™”ν•˜κ³ , μš°μ„ μˆœμœ„λ₯Ό μ§€μ •ν•˜λŠ” 데 μ‚¬μš©λ˜κΈ° λ•Œλ¬Έ. [3] - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: 좔상적인 μš”κ΅¬μ‚¬ν•­μ„ μ •λŸ‰μ μ΄κ³  검증 κ°€λŠ₯ν•œ μ‹œλ‚˜λ¦¬μ˜€λ‘œ λ³€ν™˜ν•˜λŠ” ꡬ체적인 ν”„λ ˆμž„μ›Œν¬. - [[Prototyping (ν”„λ‘œν† νƒ€μ΄ν•‘)]] - μ—°κ²° 이유: μ•„ν‚€ν…μ²˜ 평가 및 비ꡐ κ³Όμ •μ—μ„œ λΆˆν™•μ‹€μ„±μ΄ 큰 기술적 리슀크(예: νŠΉμ • 기술의 μ„±λŠ₯ λ“±)κ°€ μ‹λ³„λ˜μ—ˆμ„ λ•Œ, 이λ₯Ό μ‹€μ œ μ½”λ“œλ‘œ κ΅¬ν˜„ν•˜μ—¬ μ‘°κΈ° 검증(Validation)ν•˜κΈ° μœ„ν•œ 핡심 단계이기 λ•Œλ¬Έ. [6, 8] - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: μ„œλ₯˜ μƒμ˜ μ•„ν‚€ν…μ²˜ 평가가 μ‹€μ œ 운영 ν™˜κ²½μ—μ„œ κ²ͺ을 수 μžˆλŠ” μ‹€νŒ¨ ν™•λ₯ μ„ μ΅œμ†Œν™”ν•˜λŠ” 곡학적 μ ‘κ·Ό. ### Deeper Research Questions - ATAM 외에 μ†Œν”„νŠΈμ›¨μ–΄ μ•„ν‚€ν…μ²˜ 평가에 ν™œμš©λ˜λŠ” TARA(Industrial architectural assessment using TARA)와 같은 기법듀은 μ–΄λ–€ νŠΉμ§•μ΄ 있으며, ꡬ체적으둜 μ–΄λ–€ μƒν™©μ—μ„œ 더 μœ λ¦¬ν•˜κ²Œ 적용될 수 μžˆλŠ”κ°€? - ISO 25010 ν’ˆμ§ˆ λͺ¨λΈμ„ 기반으둜 μ‹œλ‚˜λ¦¬μ˜€(Utility Tree λ“±)λ₯Ό μž‘μ„±ν•  λ•Œ, μœ μ§€λ³΄μˆ˜μ„±κ³Ό 같이 μ¦‰κ°μ μœΌλ‘œ μˆ˜μΉ˜ν™”ν•˜κΈ° μ–΄λ €μš΄ λΉ„κΈ°λŠ₯적 μš”κ΅¬μ‚¬ν•­(Non-functional requirements)듀은 평가 ν–‰λ ¬μ—μ„œ μ–΄λ–»κ²Œ μ •λŸ‰μ μœΌλ‘œ κ°€μ€‘μΉ˜λ₯Ό λΆ€μ—¬ν•΄μ•Ό ν•˜λŠ”κ°€? - μ—¬λŸ¬ μ΄ν•΄κ΄€κ³„μž(예: λΉ„μ¦ˆλ‹ˆμŠ€ κ΄€λ¦¬μž, 개발자, 운영자)κ°€ λ³΄μ•ˆκ³Ό μ„±λŠ₯, 개발 속도 λ“± μ„œλ‘œ μƒμΆ©ν•˜λŠ” ν’ˆμ§ˆ λͺ©ν‘œλ₯Ό κ°€μ§ˆ λ•Œ, μ•„ν‚€ν…μ²˜ 평가 κ³Όμ •μ—μ„œ 이λ₯Ό κ°κ΄€μ μœΌλ‘œ μ‘°μœ¨ν•˜λŠ” μ „λž΅μ€ 무엇인가? - μ• μžμΌ(Agile) ν™˜κ²½μ—μ„œ "μ΄ˆκΈ°μ— κ³Όλ„ν•œ 섀계(Big design up front)"λ₯Ό ν”Όν•˜λ©΄μ„œλ„, μ€‘μš”ν•œ μ•„ν‚€ν…μ²˜μ  결정을 κ²€μ¦ν•˜κΈ° μœ„ν•΄ μ•„ν‚€ν…μ²˜ 평가λ₯Ό 반볡적(Iterative)으둜 μˆ˜ν–‰ν•˜λŠ” κ°€μž₯ 이상적인 ν”„λ‘œμ„ΈμŠ€λŠ” 무엇인가? - μž‘μ„±λœ μ•„ν‚€ν…μ²˜ κ²°μ • 기둝(ADR)을 μ§€μ†μ μœΌλ‘œ 관리할 λ•Œ, μƒˆλ‘œμš΄ ν΄λΌμš°λ“œ 기술 λ“±μž₯μ΄λ‚˜ νŠΈλž˜ν”½ ν”„λ‘œνŒŒμΌμ˜ κΈ‰κ²©ν•œ λ³€ν™”λ‘œ 인해 기쑴의 결정이 λ¬΄νš¨ν™”λ  경우 이λ₯Ό κ°±μ‹ ν•˜κ³  μž¬ν‰κ°€(Review)ν•˜λŠ” μ•Œλ¦Ό μ²΄κ³„λŠ” μ–΄λ–»κ²Œ ꡬ성해야 ν•˜λŠ”κ°€? ### Practical Application Contexts - **Implementation:** ν”„λ‘œμ νŠΈ μ΄ˆκΈ°μ— μ„±λŠ₯ 병λͺ©μ΄λ‚˜ 톡합 λ¦¬μŠ€ν¬κ°€ μš°λ €λ˜λŠ” μ»΄ν¬λ„ŒνŠΈλ₯Ό μ‹λ³„ν•˜κ³ , ν•΄λ‹Ή 뢀뢄에 λŒ€ν•œ ν”„λ‘œν† νƒ€μž…(PoC)을 κ΅¬ν˜„ν•˜μ—¬ μ•„ν‚€ν…μ²˜ 평가 μƒμ˜ 가섀을 기술적으둜 μ‘°κΈ° μž…μ¦ν•¨. - **System Design:** λ‹¨μˆœνžˆ μœ ν–‰ν•˜λŠ” λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€(MSA)λ‚˜ 이벀트 기반 μ•„ν‚€ν…μ²˜(EDA)λ₯Ό λ„μž…ν•˜κΈ° μ „, ATAM을 μ μš©ν•΄ "결제 μ‹œμŠ€ν…œ μž₯μ•  μ‹œμ˜ 볡ꡬ λ©”μ»€λ‹ˆμ¦˜" λ“± ꡬ체적 μ‹œλ‚˜λ¦¬μ˜€λ₯Ό λ°”νƒ•μœΌλ‘œ ν™•μž₯μ„± λŒ€ λ³΅μž‘μ„±μ˜ νŠΈλ ˆμ΄λ“œμ˜€ν”„λ₯Ό 따져보고 μ μ ˆν•œ νŒ¨ν„΄μ„ 선정함. - **Operation / Maintenance:** μ‹œμŠ€ν…œ 운영 쀑 νŠΈλž˜ν”½ λΆ€ν•˜λ‚˜ νŒ€μ˜ μ„±μˆ™λ„κ°€ 달라지면 μ •κΈ°μ μœΌλ‘œ κΈ°μ‘΄ μ•„ν‚€ν…μ²˜μ˜ 적합성을 μž¬ν‰κ°€(Review)ν•˜λ©°, λ³€κ²½ 사항과 그에 μˆ˜λ°˜λ˜λŠ” 결정듀을 ADR에 μ§€μ†μ μœΌλ‘œ 덧뢙여 μƒˆλ‘œμš΄ νŒ€μ›μ΄λ‚˜ κ°μ‚¬μž(Auditor)κ°€ μ‰½κ²Œ λ§₯락을 νŒŒμ•…ν•  수 있게 함. - **Learning Path:** μ•„ν‚€ν…μ²˜ νŒ¨ν„΄μ˜ ꡬ쑰λ₯Ό μ•”κΈ°ν•˜λŠ” 것을 λ„˜μ–΄, μš”κ΅¬μ‚¬ν•­ 뢄석 βž” ν’ˆμ§ˆ κ°€μ€‘μΉ˜ μš°μ„ μˆœμœ„ν™” βž” μ‹œλ‚˜λ¦¬μ˜€ 기반 평가(ATAM) βž” 리슀크 검증(ν”„λ‘œν† νƒ€μ΄ν•‘) βž” κ²°μ • 및 λ¬Έμ„œν™”(ADR)둜 μ΄μ–΄μ§€λŠ” 'μ†Œν”„νŠΈμ›¨μ–΄ μ•„ν‚€ν…νŠΈμ˜ μ˜μ‚¬κ²°μ • ν”„λ‘œμ„ΈμŠ€'λ₯Ό ν•™μŠ΅ λ‘œλ“œλ§΅μ— 톡합함. - **My Project Relevance:** ν˜„μž¬ μ§„ν–‰ 쀑인 λ˜λŠ” κ³„νš 쀑인 ν”„λ‘œμ νŠΈμ— μœ ν‹Έλ¦¬ν‹° 트리λ₯Ό λ„μž…ν•˜μ—¬ "μ‚¬μš©μžκ°€ λ™μ‹œμ— λŒ€κ·œλͺ¨λ‘œ 접속할 λ•Œμ˜ 응닡 μ§€μ—° μ‹œκ°„"κ³Ό 같은 μ‹œλ‚˜λ¦¬μ˜€λ₯Ό λ§Œλ“€κ³ , 이λ₯Ό λ°”νƒ•μœΌλ‘œ μ—¬λŸ¬ μ†”λ£¨μ…˜ κ°„μ˜ νƒ€ν˜‘μ (Trade-off)을 수치적으둜 ν‰κ°€ν•˜μ—¬ μ˜¬λ°”λ₯Έ 인프라λ₯Ό κ²°μ •ν•˜λŠ” 데 ν™œμš© κ°€λŠ₯함. ### Adjacent Topics - [[Software Architecture Erosion (μ†Œν”„νŠΈμ›¨μ–΄ μ•„ν‚€ν…μ²˜ 침식)]] - ν™•μž₯ λ°©ν–₯: μ•„ν‚€ν…μ²˜ 평가λ₯Ό 톡해 ν›Œλ₯­ν•˜κ²Œ μ„€κ³„λœ μ‹œμŠ€ν…œμ΄, μ‹œκ°„μ΄ 지남에 따라 κ΅¬ν˜„ κ³Όμ •μ—μ„œ μ›λž˜μ˜ μ˜λ„μ™€ μ–΄λ–»κ²Œ λ©€μ–΄μ§€λŠ”μ§€(기술 뢀채 좕적 λ“±) κ·Έ 원인을 νŒŒμ•…ν•˜κ³ , μ½”λ“œ λ¦¬λ·°λ‚˜ 정적 뢄석 도ꡬ λ“± 이λ₯Ό λ°©μ§€ν•˜λŠ” 방법둠 쑰사. - [[Software Architecture Recovery (μ†Œν”„νŠΈμ›¨μ–΄ μ•„ν‚€ν…μ²˜ 볡ꡬ / 역곡학)]] - ν™•μž₯ λ°©ν–₯: ADRκ³Ό 같은 λ¬Έμ„œν™”κ°€ λˆ„λ½λ˜μ—ˆκ±°λ‚˜ μ•„ν‚€ν…μ²˜ 침식이 μ‹¬κ°ν•œ κΈ°μ‘΄ λ ˆκ±°μ‹œ(Legacy) μ‹œμŠ€ν…œμ—μ„œ, ν˜„μž¬ κ΅¬ν˜„λœ μ½”λ“œλ² μ΄μŠ€λ₯Ό λΆ„μ„ν•˜μ—¬ μ†Œν”„νŠΈμ›¨μ–΄ μ•„ν‚€ν…μ²˜λ₯Ό μž¬κ΅¬μ„±ν•˜κ³  μž¬ν‰κ°€ν•˜λŠ” 방법둠 연ꡬ. --- *Last updated: 2026-05-02*