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
| Kode | Requirement | Target |
|---|---|---|
| NFR-001 | Waktu login | < 2 detik |
| NFR-002 | Proses AI Matching | < 5 detik |
| NFR-003 | Latency chat realtime | < 500 ms |
| NFR-004 | Loading dashboard | < 3 detik |
| NFR-005 | API response rata-rata | < 300 ms |
NFR-AVAIL — Availability
| Kode | Requirement | Target |
|---|---|---|
| NFR-010 | Uptime sistem | ≥ 99.5% |
| NFR-011 | Backup database otomatis | Harian |
| NFR-012 | Recovery Time Objective (RTO) | < 1 jam |
NFR-SEC — Security
| Kode | Requirement | Implementasi |
|---|---|---|
| NFR-020 | Password di-hash | bcrypt / Argon2 |
| NFR-021 | Komunikasi terenkripsi | HTTPS wajib (TLS 1.2+) |
| NFR-022 | Autentikasi berbasis token | Laravel Sanctum / JWT |
| NFR-023 | Pembatasan request | Rate Limiting per IP/User |
| NFR-024 | Pencatatan aktivitas | Audit Log lengkap |
NFR-SCALE — Scalability
| Kode | Requirement | Keterangan |
|---|---|---|
| NFR-030 | Multi-sekolah (multi-tenant) | Satu sistem, banyak sekolah |
| NFR-031 | Horizontal scaling | Dapat ditambah server tanpa downtime |
| NFR-032 | Queue processing | Job queue untuk AI Matching & notifikasi |
| NFR-033 | Caching | Redis untuk data yang sering diakses |
NFR-MAINT — Maintainability
| Kode | Requirement | Implementasi |
|---|---|---|
| NFR-040 | Arsitektur bersih | Clean Architecture |
| NFR-041 | Pola repository | Repository Pattern |
| NFR-042 | Pemisahan logika bisnis | Service Layer |
| NFR-043 | Pengujian otomatis | Unit Testing & Feature Testing |
NFR-COMPAT — Compatibility
| Kode | Requirement | Target |
|---|---|---|
| NFR-050 | Platform Android | Android 8.0+ (API 26+) |
| NFR-051 | Platform iOS | iOS 13+ |
| NFR-052 | Web Admin Panel | Browser 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