--- id: wiki-2026-0508-iso-25010 title: ISO 25010 category: 10_Wiki/Topics status: verified canonical_id: self aliases: [ISO/IEC 25010, ISO-IEC 25010, SQuaRE, Software Quality Model] duplicate_of: none source_trust_level: A confidence_score: 0.95 verification_status: applied tags: [architecture, quality, iso, standards, non-functional] raw_sources: [] last_reinforced: 2026-05-10 github_commit: pending tech_stack: language: text framework: iso-standard --- # ISO 25010 ## 매 한 줄 > **"매 ISO/IEC 25010 의 software product quality 의 international standard 의 model"**. 매 2011 의 first edition 의 publish, 매 2023 의 revision 의 release — 매 9 quality characteristics + 31 sub-characteristics 의 hierarchy 의 통한 NFR (non-functional requirement) 의 systematic 의 분류. ## 매 핵심 ### 매 9 Top-Level Characteristics (2023 edition) 1. **Functional Suitability**: completeness, correctness, appropriateness. 2. **Performance Efficiency**: time behavior, resource utilization, capacity. 3. **Compatibility**: co-existence, interoperability. 4. **Interaction Capability** (renamed from Usability in 2023): appropriateness recognizability, learnability, operability, user error protection, UI aesthetics, accessibility. 5. **Reliability**: maturity, availability, fault tolerance, recoverability. 6. **Security**: confidentiality, integrity, non-repudiation, accountability, authenticity, resistance. 7. **Maintainability**: modularity, reusability, analyzability, modifiability, testability. 8. **Portability**: adaptability, installability, replaceability. 9. **Flexibility** (new in 2023): adaptability, scalability, installability, replaceability — overlap intentional. ### 매 SQuaRE Family - ISO/IEC 25000: SQuaRE Guide (umbrella). - ISO/IEC 25010: Quality Model (this doc). - ISO/IEC 25012: Data Quality. - ISO/IEC 25023: Measurement of System and Software Quality. - ISO/IEC 25040: Evaluation Process. ### 매 응용 1. NFR specification 의 checklist. 2. Architecture decision 의 trade-off analysis (ATAM input). 3. Acceptance criteria 의 derive. ## 💻 패턴 ### NFR Spec Template (Markdown) ```markdown ## NFR — Order Service | Characteristic | Sub | Target | Measurement | |---|---|---|---| | Performance Efficiency | Time behavior | p99 < 200ms | Prometheus histogram | | Reliability | Availability | 99.95% | Uptime checks | | Security | Confidentiality | TLS 1.3, AES-256 at rest | Pen test | | Maintainability | Testability | Coverage ≥ 80% | Codecov | | Compatibility | Interoperability | OpenAPI 3.1 conformance | Spectral lint | ``` ### ADR with ISO 25010 Trade-off ```markdown # ADR-007: Adopt CQRS for Order Service ## Quality Trade-offs (ISO 25010) - (+) Performance Efficiency — read model 의 denormalization 의 통한 query speed - (+) Scalability (Flexibility) — read/write 의 independent scaling - (-) Maintainability — modularity↑ but analyzability↓ (eventual consistency 의 reasoning 의 difficulty) - (-) Reliability — availability↑ but maturity↓ (operational complexity) ``` ### Quality Attribute Scenario (SEI ATAM style) ```yaml scenario: attribute: Performance Efficiency source: User on mobile network stimulus: Submit order artifact: Order API environment: Normal load (1k RPS) response: Order persisted, confirmation returned measure: p99 latency ≤ 250ms, error rate < 0.1% ``` ### Test Mapping ```typescript // jest.config.ts — ISO 25010 의 test category 의 tag export default { projects: [ { displayName: 'functional-suitability', testMatch: ['**/*.spec.ts'] }, { displayName: 'performance-efficiency', testMatch: ['**/*.perf.ts'] }, { displayName: 'security', testMatch: ['**/*.sec.ts'] }, { displayName: 'reliability', testMatch: ['**/*.chaos.ts'] }, ], }; ``` ### SonarQube Mapping ```yaml # Reliability rating → ISO Reliability # Security rating → ISO Security # Maintainability → ISO Maintainability (technical debt ratio) # Coverage → Maintainability/Testability sonar.qualitygate.wait=true ``` ## 매 결정 기준 | 상황 | Approach | |---|---| | New product NFR | full 9-characteristic 의 checklist | | Brownfield refactor | Maintainability + Reliability 의 focus | | Compliance (GDPR/HIPAA) | Security 의 deep dive | | Mobile/IoT | Performance Efficiency + Portability | **기본값**: 매 9 characteristic 의 review, 매 sprint planning 의 NFR 의 explicit 의 capture. ## 🔗 Graph - 부모: [[Software-Quality]] · [[Non-Functional-Requirements]] - 변형: [[ISO 25010|ISO-IEC_25010]] (alias) · (measurement) - 응용: [[ATAM]] · [[ADR]] - Adjacent: [[SonarQube]] ## 🤖 LLM 활용 **언제**: NFR draft 의 generation, ADR trade-off 의 articulation, missing quality attribute 의 detect. **언제 X**: organizational quality threshold 의 decision (business 의 risk appetite 의 reflection 필요). ## ❌ 안티패턴 - **Functional-only**: NFR 의 ignore → 매 production 의 surprise. - **Vague targets**: "fast", "secure" 의 measurable 의 X. - **Characteristic ceremony**: 매 9 의 document 의 just-because, 매 unused. - **No measurement**: target 의 set, 매 monitor 의 X. - **Static NFR**: scaling 의 따른 target 의 update 의 X. ## 🧪 검증 / 중복 - Verified (ISO/IEC 25010:2023 standard, SEI quality attribute literature). - 신뢰도 A. - Canonical for [[ISO 25010|ISO-IEC_25010]] (redirect). ## 🕓 Changelog | 날짜 | 변경 | |---|---| | 2026-05-08 | Phase 1 | | 2026-05-10 | Manual cleanup — ISO 25010 software quality model 의 canonical full content |