PPL : Pertemuan 6 - Tugas 5
Low Level Design
Nama: Hanafi Satriyo Utomo Setiawan
NRP : 5025211195
Kebutuhan Fungsional:
- Autentikasi Pengguna:
- Pengguna dapat mendaftar dan masuk menggunakan email atau nomor telepon.
- Pengaduan:
- Pengguna dapat membuat, mengedit, dan menghapus pengaduan.
- Pengguna dapat melampirkan foto, video, atau dokumen lain dalam pengaduan.
- Kategorisasi Pengaduan:
- Pengguna dapat memilih kategori untuk setiap pengaduan (misalnya, infrastruktur, keamanan, layanan publik).
- Pelacakan Status:
- Pengguna dapat melihat status pengaduan mereka (diterima, diproses, selesai).
- Notifikasi:
- Pengguna menerima notifikasi tentang status pengaduan mereka.
- Laporan Statistik:
- Admin dapat melihat laporan statistik pengaduan berdasarkan kategori, lokasi, dan status.
Kebutuhan Non-Fungsional:
- Kinerja:
- Sistem harus responsif dengan waktu respons kurang dari 2 detik untuk setiap permintaan.
- Keamanan:
- Data pengguna dan pengaduan harus dienkripsi.
- Sistem harus mendukung autentikasi dua faktor.
- Skalabilitas:
- Sistem harus mampu menangani hingga 10.000 pengguna aktif sekaligus.
- Usability:
- Aplikasi harus memiliki antarmuka yang mudah digunakan dan intuitif.
- Kompatibilitas:
- Aplikasi harus kompatibel dengan berbagai versi Android (minimal Android 5.0 Lollipop).
- Reliabilitas:
- Sistem harus memiliki uptime 99.9%.
Arsitektur Sistem:
- Client Side (Mobile App):
- Dibangun menggunakan framework seperti Flutter atau React Native untuk mendukung berbagai platform (Android dan iOS).
- Fitur utama: Autentikasi, pembuatan dan pelacakan pengaduan, notifikasi, komentar, pencarian, dan peta lokasi.
- Backend:
- Server-side menggunakan Node.js atau Django untuk API.
- Database menggunakan PostgreSQL atau MongoDB untuk menyimpan data pengguna dan pengaduan.
- Storage seperti AWS S3 atau Google Cloud Storage untuk menyimpan file lampiran.
- API Gateway:
- Untuk mengatur routing dan load balancing.
Desain Database
Estimasi Kapasitas Perancangan Sistem
- Pengguna Aktif:
- 10.000 pengguna aktif simultan.
- Pengaduan per Hari:
- Estimasi 1.000 pengaduan baru per hari.
- Lampiran:
- Rata-rata 3 lampiran per pengaduan dengan ukuran rata-rata 5 MB.
- Database Storage:
- Estimasi kebutuhan ruang penyimpanan untuk 1 tahun adalah sekitar 100 GB untuk data pengaduan dan pengguna.
Jadwal Pengembangan
- Analisis Kebutuhan (2 minggu):
- Mengumpulkan dan mendefinisikan kebutuhan fungsional dan non-fungsional dengan berkolaborasi dengan pemangku kepentingan dan calon pengguna.
- Desain Sistem (1 bulan):
- Merancang arsitektur sistem termasuk komponen backend dan frontend.
- Membuat desain UI/UX untuk aplikasi Android.
- Pengembangan Backend (2 bulan):
- Membangun API dan database.
- Mengembangkan layanan backend lainnya seperti autentikasi, notifikasi, dan manajemen pengaduan.
- Pengembangan Mobile App (2 bulan):
- Membangun aplikasi Android dengan fitur utama seperti autentikasi, pembuatan dan pelacakan pengaduan, notifikasi, komentar, pencarian, dan peta lokasi.
- Mengintegrasikan aplikasi dengan API backend.
- Pengujian (1 bulan):
- Melakukan pengujian fungsionalitas untuk memastikan setiap fitur bekerja dengan baik.
- Melakukan pengujian performa untuk memastikan aplikasi responsif dan dapat menangani beban pengguna yang diprediksi.
- Melakukan pengujian keamanan untuk memastikan data pengguna dan komunikasi aman.
- Penyebaran dan Pemeliharaan (Berlanjut):
- Menyebarkan sistem ke lingkungan produksi.
- Melakukan pemeliharaan berkala untuk memperbaiki bug, meningkatkan performa, dan menambah fitur baru berdasarkan masukan pengguna.
Comments
Post a Comment