--- id: P-REINFORCE-WIKI-6F388F01 category: "10_Wiki/πŸ’‘ Topics/02_Architecture_Principles" confidence_score: 0.95 tags: ['iso/iec-25010', 'atam-(architecture-tradeoff-analysis-method)', 'adr-(architecture-decision-records)', 'λΉ„κΈ°λŠ₯-μš”κ΅¬μ‚¬ν•­-(non-functional-requirements)', 'μ†Œν”„νŠΈμ›¨μ–΄-μ•„ν‚€ν…μ²˜-침식-(software-architecture-erosion)', 'architecture-principles'] last_reinforced: 2026-05-02 --- # [[ISO/IEC 25010]] ## πŸ“Œ Brief Summary ISO/IEC 25010은 μ†Œν”„νŠΈμ›¨μ–΄ μ œν’ˆμ˜ ν’ˆμ§ˆμ„ ν‰κ°€ν•˜κΈ° μœ„ν•œ 포괄적인 λͺ¨λΈμ„ μ œκ³΅ν•˜λŠ” ꡭ제 ν‘œμ€€μž…λ‹ˆλ‹€ [1]. 이 ν‘œμ€€μ€ μ‹œμŠ€ν…œμ˜ λŸ°νƒ€μž„ 및 개발 νƒ€μž„μ˜ λΉ„κΈ°λŠ₯ μš”κ΅¬μ‚¬ν•­μ„ μ •μ˜ν•˜λ©°, μ•„ν‚€ν…μ²˜ 섀계 μ‹œ μ–΄λ–€ νŠΉμ„±μ„ μš°μ„ ν• μ§€ κ²°μ •ν•˜λŠ” 객관적인 κΈ°μ€€μ μœΌλ‘œ μž‘μš©ν•©λ‹ˆλ‹€ [1, 2]. μ•„ν‚€ν…νŠΈλ“€μ€ 이 λͺ¨λΈμ„ ν™œμš©ν•΄ ν’ˆμ§ˆ νŠΉμ„±μ„ λΆ„λ₯˜ν•˜κ³  μš”κ΅¬μ‚¬ν•­μ˜ μš°μ„ μˆœμœ„λ₯Ό μ •ν•˜μ—¬, λΉ„μ¦ˆλ‹ˆμŠ€ λͺ©μ μ— κ°€μž₯ λΆ€ν•©ν•˜λŠ” μ•„ν‚€ν…μ²˜ νŒ¨ν„΄μ„ μ„ μ •ν•˜κ²Œ λ©λ‹ˆλ‹€ [3, 4]. ## πŸ“– Core μ†ŒμŠ€μ— κ΄€λ ¨ 정보가 λΆ€μ‘±ν•©λ‹ˆλ‹€. μ•„ν‚€ν…μ²˜ νŒ¨ν„΄μ„ 선택할 λ•ŒλŠ” λ‹¨μˆœν•œ νŠΈλ Œλ“œκ°€ μ•„λ‹Œ μ‹œμŠ€ν…œμ˜ ν’ˆμ§ˆ μš”κ΅¬μ‚¬ν•­μ— κΈ°λ°˜ν•œ ꡬ쑰적인 평가가 μ„ ν–‰λ˜μ–΄μ•Ό ν•˜λ©°, ISO/IEC 25010은 이λ₯Ό μœ„ν•œ 체계적인 ν’ˆμ§ˆ νŠΉμ„± μ§€ν‘œλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€ [1]. * **κΈ°λŠ₯ 적합성 (Functional Suitability):** μ‹œμŠ€ν…œμ΄ λͺ…μ‹œλœ μš”κ΅¬μ‚¬ν•­μ„ μ–Όλ§ˆλ‚˜ μ™„λ²½ν•˜κ³  μ •ν™•ν•˜κ²Œ μΆ©μ‘±ν•˜λŠ”μ§€λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€ [1]. μ΄λŠ” κΈ°λŠ₯의 μ™„κ²°μ„±, μ •ν™•μ„±, μ μ ˆμ„±μ„ ν¬ν•¨ν•˜λ©° μš”κ΅¬μ‚¬ν•­μ΄ μ‹œμŠ€ν…œ ꡬ쑰에 잘 λ°˜μ˜λ˜μ—ˆλŠ”μ§€λ₯Ό ν‰κ°€ν•©λ‹ˆλ‹€ [5]. * **μ„±λŠ₯ νš¨μœ¨μ„± (Performance Efficiency):** μžμ› ν™œμš©λ„μ™€ μ‹œκ°„ λŒ€λΉ„ μ²˜λ¦¬λŸ‰μ˜ νš¨μœ¨μ„±μ„ μ˜λ―Έν•©λ‹ˆλ‹€ [1]. μ‹œκ°„ 행동(응닡성), μžμ› νš¨μœ¨μ„±, μš©λŸ‰μ„ μΈ‘μ •ν•˜λ©°, μ•„ν‚€ν…μ²˜μ˜ ν™•μž₯μ„± 및 μ„±λŠ₯ μ΅œμ ν™”μ™€ μ§μ ‘μ μœΌλ‘œ μ—°κ΄€λ©λ‹ˆλ‹€ [5]. * **ν˜Έν™˜μ„± (Compatibility):** λ‹€λ₯Έ μ‹œμŠ€ν…œκ³Όμ˜ 정보 κ΅ν™˜ 및 곡톡 ν™˜κ²½ 곡유 λŠ₯λ ₯을 μΈ‘μ •ν•©λ‹ˆλ‹€ [1]. 곡쑴성과 μƒν˜Έμš΄μš©μ„± μ§€ν‘œλ₯Ό 톡해 타 μ‹œμŠ€ν…œκ³Όμ˜ 연결성을 ν‰κ°€ν•©λ‹ˆλ‹€ [5]. * **μƒν˜Έμž‘μš© λŠ₯λ ₯ (Usability):** μ‚¬μš©μžκ°€ μΈν„°νŽ˜μ΄μŠ€λ₯Ό 톡해 μ–Όλ§ˆλ‚˜ 쉽고 효과적으둜 과업을 μˆ˜ν–‰ν•  수 μžˆλŠ”μ§€λ₯Ό ν‰κ°€ν•©λ‹ˆλ‹€ [1]. ν•™μŠ΅ μš©μ΄μ„±, μš΄μ˜μ„±, μ‚¬μš©μž 였λ₯˜ 보호 등을 ν¬ν•¨ν•˜μ—¬ μ‚¬μš©μž κ²½ν—˜μ˜ μ•ˆμ •μ„±μ„ 보μž₯ν•©λ‹ˆλ‹€ [5]. * **기타 μ£Όμš” λΉ„κΈ°λŠ₯ μš”κ΅¬μ‚¬ν•­:** μ†ŒμŠ€μ— λ”°λ₯΄λ©΄, 이 외에도 μ‹ λ’°μ„±(Reliability), λ³΄μ•ˆμ„±(Security), μœ μ§€λ³΄μˆ˜μ„±(Maintainability), 이식성/전이성(Transferability) λ“±μ˜ λŸ°νƒ€μž„ 및 개발 νƒ€μž„ λΉ„κΈ°λŠ₯ μš”κ΅¬μ‚¬ν•­λ“€μ΄ 이 ν‘œμ€€μ— μ •μ˜λ˜μ–΄ μ•„ν‚€ν…μ²˜ κ²°μ •μ˜ μ£Όμš” 척도가 λ©λ‹ˆλ‹€ [2]. * **μ•„ν‚€ν…μ²˜ 평가 λ„κ΅¬λ‘œμ„œμ˜ μ—­ν• :** 이 ν’ˆμ§ˆ λͺ¨λΈμ€ ν’ˆμ§ˆ νŠΉμ„±μ„ μ •μ˜ν•˜κ³  λΆ„λ₯˜ν•˜μ—¬ 'μš”κ΅¬μ‚¬ν•­ μš°μ„ μˆœμœ„ ν–‰λ ¬'을 λ„μΆœν•˜λŠ” 핡심 μ‚°μΆœλ¬Ό 역할을 ν•˜λ©°, νŠΉμ • μ•„ν‚€ν…μ²˜ νŒ¨ν„΄μ΄ μ‹œμŠ€ν…œμ˜ λΉ„μ¦ˆλ‹ˆμŠ€ λͺ©μ μ— λΆ€ν•©ν•˜λŠ”μ§€ νŒλ‹¨ν•˜λŠ” 체계적인 뢄석 ν”„λ ˆμž„μ›Œν¬λ‘œ κΈ°λŠ₯ν•©λ‹ˆλ‹€ [1, 3, 4]. ## βš–οΈ Trade-offs & Caveats μ†ŒμŠ€ λ‚΄μ—μ„œ ISO/IEC 25010 ν‘œμ€€ 자체의 기술적 ν•œκ³„λ‚˜ λΆ€μž‘μš©μ— λŒ€ν•œ μ •λ³΄λŠ” λΆ€μ‘±ν•©λ‹ˆλ‹€. λ‹€λ§Œ, 이 ν’ˆμ§ˆ λͺ¨λΈμ„ μ‹€μ œ μ•„ν‚€ν…μ²˜ 섀계에 μ μš©ν•  λ•Œ λ°œμƒν•˜λŠ” 근본적인 μ œμ•½(Trade-off)이 μ‘΄μž¬ν•©λ‹ˆλ‹€. ISO 25010이 μ œμ‹œν•˜λŠ” λͺ¨λ“  ν’ˆμ§ˆ 속성을 λ™μ‹œμ— μ™„λ²½ν•˜κ²Œ μΆ©μ‘±ν•˜λŠ” "μ™„λ²½ν•œ μ•„ν‚€ν…μ²˜"λŠ” μ‘΄μž¬ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ [6]. 예λ₯Ό λ“€μ–΄, κ·Ήλ„λ‘œ 높은 λ³΄μ•ˆμ„±(κ°•λ ₯ν•œ μ•”ν˜Έν™”)을 μΆ”κ΅¬ν•˜λ©΄ μ„±λŠ₯ νš¨μœ¨μ„±(μ§€μ—° μ‹œκ°„ 증가)이 희생될 수 있으며, 개발 속도λ₯Ό 높이면 ν–₯ν›„ μœ μ§€λ³΄μˆ˜μ„±μ΄ μ €ν•˜λ  수 μžˆμŠ΅λ‹ˆλ‹€ [6]. λ”°λΌμ„œ ISO 25010 μ§€ν‘œλ₯Ό μ‚¬μš©ν•  λ•ŒλŠ” ν”„λ‘œμ νŠΈ λ¬Έλ§₯에 맞좰 κ°€μš©μ„±, μ„±λŠ₯, λΉ„μš©, μœ μ—°μ„± 쀑 μ–΄λŠ 것을 ν¬κΈ°ν•˜κ³  μ–΄λŠ 것을 μ·¨ν• μ§€ κ°κ΄€μ μœΌλ‘œ μ •λŸ‰ν™”ν•˜κ³  νƒ€ν˜‘μ (Trade-off)을 μˆ˜μš©ν•΄μ•Ό ν•˜λŠ” λ°˜λŒ€ κΈ‰λΆ€κ°€ λ”°λ¦…λ‹ˆλ‹€ [6-8]. ## πŸ”— Knowledge Connections ### Related Concepts #### [μ•„ν‚€ν…μ²˜ 평가 및 뢄석 방법둠] - [[ATAM (Architecture Tradeoff Analysis Method)]] - μ—°κ²° 이유: ISO/IEC 25010이 μ‹œμŠ€ν…œμ΄ 달성해야 ν•  ν’ˆμ§ˆ 속성(무엇)을 μ •μ˜ν•œλ‹€λ©΄, ATAM은 ꡬ체적인 μ‹œλ‚˜λ¦¬μ˜€λ₯Ό 톡해 ν•΄λ‹Ή ν’ˆμ§ˆ 속성듀이 μ•„ν‚€ν…μ²˜ λ‚΄μ—μ„œ μ–΄λ–»κ²Œ μΆ©λŒν•˜κ³  νƒ€ν˜‘(Trade-off)ν•˜λŠ”μ§€(μ–΄λ–»κ²Œ)λ₯Ό μ‹λ³„ν•˜κ³  λΆ„μ„ν•˜λŠ” 평가 방법둠이기 λ•Œλ¬Έμž…λ‹ˆλ‹€ [3, 4]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: 좔상적인 ISO 25010의 ν’ˆμ§ˆ λͺ©ν‘œ(예: μ„±λŠ₯ νš¨μœ¨μ„±, λ³΄μ•ˆμ„±)κ°€ μ‹€μ œ μ‹œμŠ€ν…œ μ„€κ³„μ—μ„œ ꡬ체적인 자극과 λ°˜μ‘ μ‹œλ‚˜λ¦¬μ˜€λ₯Ό 톡해 μ–΄λ–»κ²Œ μΈ‘μ •λ˜κ³  μ‘°μœ¨λ˜λŠ”μ§€ νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [3, 6]. #### [μ•„ν‚€ν…μ²˜ 지식 및 λ¬Έμ„œν™” 도ꡬ] - [[ADR (Architecture Decision Records)]] - μ—°κ²° 이유: ISO/IEC 25010 λͺ¨λΈμ„ 톡해 μš°μ„ μˆœμœ„κ°€ 맀겨진 ν’ˆμ§ˆ μš”κ΅¬μ‚¬ν•­μ— 따라 μ•„ν‚€ν…μ²˜ 결정을 λ‚΄λ¦° ν›„, κ·Έ μ„ νƒμ˜ λ§₯락, λŒ€μ•ˆ, κ²°κ³Ό 및 μœ„ν—˜μ„ κ³΅μ‹μ μœΌλ‘œ κΈ°λ‘ν•˜λŠ” λ¬Έμ„œν™” 도ꡬ이기 λ•Œλ¬Έμž…λ‹ˆλ‹€ [4, 9]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: ν’ˆμ§ˆ μš”κ΅¬μ‚¬ν•­μ— κΈ°λ°˜ν•œ μ•„ν‚€ν…μ²˜ 결정이 λ‹¨λ°œμ„± μ„ νƒμœΌλ‘œ λλ‚˜μ§€ μ•Šκ³ , 쑰직 λ‚΄μ—μ„œ μ–΄λ–»κ²Œ λ³΄μ‘΄λ˜μ–΄ ν–₯ν›„ μ‹œμŠ€ν…œ 진화에 κΈ°μ—¬ν•˜λŠ”μ§€ 이해할 수 μžˆμŠ΅λ‹ˆλ‹€ [4, 10]. #### [μ†Œν”„νŠΈμ›¨μ–΄ μ•„ν‚€ν…μ²˜ νŠΉμ„±] - [[λΉ„κΈ°λŠ₯ μš”κ΅¬μ‚¬ν•­ (Non-functional Requirements)]] - μ—°κ²° 이유: ISO/IEC 25010은 μ‹ λ’°μ„±, μš΄μ˜μ„±, μ„±λŠ₯ νš¨μœ¨μ„±, λ³΄μ•ˆμ„±, μœ μ§€λ³΄μˆ˜μ„± λ“± μ‹œμŠ€ν…œμ˜ λŸ°νƒ€μž„ 및 개발 νƒ€μž„μ˜ λΉ„κΈ°λŠ₯ μš”κ΅¬μ‚¬ν•­μ„ ꡭ제 규격으둜 λͺ…ν™•νžˆ κ΅¬μ²΄ν™”ν•œ ν‘œμ€€μ΄κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€ [2]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: μ†Œν”„νŠΈμ›¨μ–΄ μ•„ν‚€ν…μ²˜κ°€ λ‹¨μˆœνžˆ μ‹œμŠ€ν…œμ˜ κΈ°λŠ₯적 λ™μž‘λΏλ§Œ μ•„λ‹ˆλΌ, μ‹œμŠ€ν…œμ΄ 'μ–Όλ§ˆλ‚˜ 잘' μž‘λ™ν•΄μ•Ό ν•˜λŠ”μ§€(ν’ˆμ§ˆ 속성)에 μ˜ν•΄ μ–΄λ–»κ²Œ μ£Όλ„λ˜λŠ”μ§€ 근본적인 섀계 원동λ ₯을 이해할 수 μžˆμŠ΅λ‹ˆλ‹€ [2, 11]. ### Deeper Research Questions - ISO/IEC 25010의 ν’ˆμ§ˆ νŠΉμ„± κ°„μ˜ 상좩 관계(Trade-off)λ₯Ό μ‹€μ œ μ•„ν‚€ν…μ²˜ 섀계 λ‹¨κ³„μ—μ„œ μ–΄λ–»κ²Œ κ°κ΄€μ μœΌλ‘œ μ •λŸ‰ν™”ν•˜κ³  μš°μ„ μˆœμœ„λ₯Ό μ‚°μ •ν•  수 μžˆλŠ”κ°€? - λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜(MSA)λ‚˜ 이벀트 기반 μ•„ν‚€ν…μ²˜(EDA)와 같은 λΆ„μ‚° μ•„ν‚€ν…μ²˜ νŒ¨ν„΄μ΄ ISO 25010의 'μ„±λŠ₯ νš¨μœ¨μ„±' 및 'μœ μ§€λ³΄μˆ˜μ„±' μ§€ν‘œμ— λ―ΈμΉ˜λŠ” 긍정적/뢀정적 영ν–₯은 무엇인가? - κ³ λ„λ‘œ 규제된 μ‚°μ—…κ΅°(예: 금육, 의료)μ—μ„œ ISO/IEC 25010을 ν™œμš©ν•˜μ—¬ μ•„ν‚€ν…μ²˜μ˜ κΈ°λŠ₯ 적합성과 λ³΄μ•ˆμ„±μ„ λ™μ‹œμ— μž…μ¦ν•˜κ³  λ¬Έμ„œν™”ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€λŠ” μ–΄λ–»κ²Œ κ΅¬μΆ•λ˜λŠ”κ°€? - ISO/IEC 25010μ—μ„œ μ •μ˜ν•œ 개발 νƒ€μž„ ν’ˆμ§ˆ 속성(예: μœ μ§€λ³΄μˆ˜μ„±, 이식성)이 μ†Œν”„νŠΈμ›¨μ–΄ μ•„ν‚€ν…μ²˜ 침식(Architecture Erosion) ν˜„μƒμ„ λ°©μ§€ν•˜λŠ” 데 μ–΄λ–€ μ •λŸ‰μ  기쀀을 μ œκ³΅ν•  수 μžˆλŠ”κ°€? - ATAM 평가 κ³Όμ •μ—μ„œ ISO/IEC 25010의 각 ν’ˆμ§ˆ μ§€ν‘œλ₯Ό λ°˜μ˜ν•˜λŠ” ꡬ체적인 'μ‹œλ‚˜λ¦¬μ˜€' λ„μΆœ 방법둠은 무엇인가? ### Practical Application Contexts - **Implementation:** μ†ŒμŠ€μ— κ΄€λ ¨ 정보가 λΆ€μ‘±ν•©λ‹ˆλ‹€. (μ‹€μ œ μ½”λ”©μ΄λ‚˜ μ½”λ“œ 레벨의 κ΅¬ν˜„ 지침에 λŒ€ν•œ λ‚΄μš©μ€ μ†ŒμŠ€μ— ν¬ν•¨λ˜μ–΄ μžˆμ§€ μ•ŠμŠ΅λ‹ˆλ‹€.) - **System Design:** μ‹œμŠ€ν…œ 섀계 초기 λ‹¨κ³„μ—μ„œ ν”„λ‘œμ νŠΈ λ¬Έλ§₯(λΉ„μ¦ˆλ‹ˆμŠ€ λͺ©μ , νŠΈλž˜ν”½ λ“±)을 νŒŒμ•…ν•œ ν›„, μ–΄λ–€ ν’ˆμ§ˆ νŠΉμ„±(예: κ³ κ°€μš©μ„±, λ³΄μ•ˆ, ν™•μž₯μ„± λ“±)이 성곡에 치λͺ…적인지 ν‰κ°€ν•˜κ³  'μš”κ΅¬μ‚¬ν•­ μš°μ„ μˆœμœ„ ν–‰λ ¬'을 μž‘μ„±ν•˜λŠ” 객관적인 κΈ°μ€€μœΌλ‘œ μ‚¬μš©λ©λ‹ˆλ‹€ [4, 7]. - **Operation / Maintenance:** μœ μ§€λ³΄μˆ˜ λ‹¨κ³„μ—μ„œ 변경에 λ”°λ₯Έ 영ν–₯도λ₯Ό μ΅œμ†Œν™”ν•˜κ³  μ‹œμŠ€ν…œ μ—…λ°μ΄νŠΈ νš¨μœ¨μ„±μ„ 높이기 μœ„ν•œ ν’ˆμ§ˆ 평가 κΈ°μ€€(μœ μ§€λ³΄μˆ˜μ„±, ν˜Έν™˜μ„± λ“±)으둜 κΈ°λŠ₯ν•˜μ—¬ μ‹œμŠ€ν…œ 수λͺ…을 μ—°μž₯ν•˜λŠ” 데 ν™œμš©λ©λ‹ˆλ‹€ [1, 12]. - **Learning Path:** μ•„ν‚€ν…μ²˜ νŒ¨ν„΄μ΄ λ‹¨μˆœν•œ μ½”λ“œ ꡬ쑰가 μ•„λ‹ˆλΌ μ‹œμŠ€ν…œμ˜ λΉ„κΈ°λŠ₯적 μš”κ΅¬μ‚¬ν•­(Non-functional requirements)κ³Ό ν’ˆμ§ˆ λͺ©ν‘œλ₯Ό μ–΄λ–»κ²Œ μΆ©μ‘±μ‹œν‚€κΈ° μœ„ν•΄ μ‘΄μž¬ν•˜λŠ”μ§€λ₯Ό ν•™μŠ΅ν•˜λŠ” ν‘œμ€€ ν’ˆμ§ˆ ν”„λ ˆμž„μ›Œν¬ 기반 μ§€μ‹μœΌλ‘œ ν™œμš©λ©λ‹ˆλ‹€ [1, 2, 11]. - **My Project Relevance:** νŠΉμ • μ•„ν‚€ν…μ²˜ νŒ¨ν„΄(MSA, Layered λ“±)을 ν”„λ‘œμ νŠΈμ— λ„μž…ν•˜κΈ° μ „, ν•΄λ‹Ή νŒ¨ν„΄μ΄ 우리의 핡심 λΉ„μ¦ˆλ‹ˆμŠ€ μš”κ΅¬μ‚¬ν•­(예: 응닡성 vs 데이터 일관성)에 λΆ€ν•©ν•˜λŠ”μ§€ 비ꡐ 및 ν‰κ°€ν•˜κΈ° μœ„ν•œ ν’ˆμ§ˆ λͺ¨λΈ 체크리슀트둜 직접 ν™œμš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [1, 3, 13]. ### Adjacent Topics - [[μ†Œν”„νŠΈμ›¨μ–΄ μ•„ν‚€ν…μ²˜ 침식 (Software Architecture Erosion)]] - ν™•μž₯ λ°©ν–₯: μ‹œκ°„μ΄ 지남에 따라 μ˜λ„λœ μ•„ν‚€ν…μ²˜μ™€ κ΅¬ν˜„λœ μ•„ν‚€ν…μ²˜ 간에 괴리가 λ°œμƒν•˜λŠ” ν˜„μƒμœΌλ‘œ, ISO 25010의 'μœ μ§€λ³΄μˆ˜μ„±'μ΄λ‚˜ 'ν˜Έν™˜μ„±' ν’ˆμ§ˆ 기쀀이 ν”„λ‘œμ νŠΈ μ§„ν–‰ 쀑 μ–΄λ–»κ²Œ μ €ν•˜λ˜λŠ”μ§€ νŒŒμ•…ν•˜κ³  이λ₯Ό 예방 및 볡ꡬ(Recovery)ν•˜λŠ” λ°©μ•ˆμœΌλ‘œ 이해λ₯Ό ν™•μž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [14-16]. --- *Last updated: 2026-05-02*