Lewati ke konten utama

BAB 14. NON-FUNCTIONAL REQUIREMENTS

Pendahuluan

Non-functional requirement (NFR) menjelaskan kualitas sistem yang harus dipenuhi — bukan apa yang dilakukan sistem, melainkan seberapa baik sistem melakukannya.


NFR-PERF — Performance

KodeRequirementTarget
NFR-001Waktu login< 2 detik
NFR-002Proses AI Matching< 5 detik
NFR-003Latency chat realtime< 500 ms
NFR-004Loading dashboard< 3 detik
NFR-005API response rata-rata< 300 ms

NFR-AVAIL — Availability

KodeRequirementTarget
NFR-010Uptime sistem≥ 99.5%
NFR-011Backup database otomatisHarian
NFR-012Recovery Time Objective (RTO)< 1 jam

NFR-SEC — Security

KodeRequirementImplementasi
NFR-020Password di-hashbcrypt / Argon2
NFR-021Komunikasi terenkripsiHTTPS wajib (TLS 1.2+)
NFR-022Autentikasi berbasis tokenLaravel Sanctum / JWT
NFR-023Pembatasan requestRate Limiting per IP/User
NFR-024Pencatatan aktivitasAudit Log lengkap

NFR-SCALE — Scalability

KodeRequirementKeterangan
NFR-030Multi-sekolah (multi-tenant)Satu sistem, banyak sekolah
NFR-031Horizontal scalingDapat ditambah server tanpa downtime
NFR-032Queue processingJob queue untuk AI Matching & notifikasi
NFR-033CachingRedis untuk data yang sering diakses

NFR-MAINT — Maintainability

KodeRequirementImplementasi
NFR-040Arsitektur bersihClean Architecture
NFR-041Pola repositoryRepository Pattern
NFR-042Pemisahan logika bisnisService Layer
NFR-043Pengujian otomatisUnit Testing & Feature Testing

NFR-COMPAT — Compatibility

KodeRequirementTarget
NFR-050Platform AndroidAndroid 8.0+ (API 26+)
NFR-051Platform iOSiOS 13+
NFR-052Web Admin PanelBrowser modern (Chrome, Firefox, Edge)

Ringkasan NFR

mindmap
root((TemuBelajar NFR))
Performance
Login < 2s
AI Matching < 5s
Chat < 500ms
API < 300ms
Security
HTTPS
Sanctum/JWT
Rate Limiting
Audit Log
Scalability
Multi-tenant
Queue
Caching
Availability
Uptime 99.5%
Backup Harian
Recovery < 1j
Maintainability
Clean Architecture
Repository Pattern
Unit Testing