Poin 2. Analisis requirement
Kebutuhan fungsional
| Kode | Kebutuhan | Fitur tugas |
|---|---|---|
| F1 | Registrasi dan login | Firebase Auth |
| F2 | Daftar destinasi dengan filter kategori, harga, fasilitas, “buka sekarang” | RecyclerView |
| F3 | Detail destinasi (tiket, jam, fasilitas, foto, ulasan) | Navigasi + Intent |
| F4 | Bandingkan 2-3 destinasi berdampingan | RecyclerView + Intent |
| F5 | Jarak dan rute dari lokasi pengguna | GPS |
| F6 | Foto kunjungan pada ulasan | Kamera |
| F7 | Favorit dan itinerary offline | SQLite |
| F8 | Sesi, tema, filter terakhir | SharedPreferences |
| F9 | Data, ulasan, foto di cloud; cuaca | Firestore, Storage, API cuaca |
| F10 | Iklan banner dan interstitial | AdMob |
Kebutuhan non-fungsional
- Performa: daftar tampil kurang dari 3 detik di 4G.
- Kompatibilitas: Android 8.0 (API 26) ke atas.
- Akurasi data: setiap destinasi punya tanggal “terakhir diperbarui”; admin memeriksa berkala.
- Usability: maksimal 3 ketukan menuju perbandingan.
- Offline: favorit dan itinerary tetap terbuka.
- Keamanan: aturan akses Firestore; izin lokasi dan kamera diminta saat dibutuhkan.
Aktor dan contoh user story
Aktor: Wisatawan dan Admin (mengelola data destinasi).
- Sebagai wisatawan, saya ingin membandingkan tiket dan jam buka tiga destinasi agar bisa memilih sesuai anggaran dan waktu.
- Sebagai admin, saya ingin memperbarui harga tiket agar informasi tidak menyesatkan.