Tugas 5
Nama : Fauzi Rizki Pratama
NRP : 5025211220
High Level Design (Desain Tingkat Tinggi) merupakan fase awal dalam proses perancangan sistem. Pada tahap ini, fokus utamanya adalah mengidentifikasi dan memodelkan komponen-komponen utama dari sistem serta hubungan dan interaksi antara komponen-komponen tersebut. Tujuannya adalah memberikan gambaran keseluruhan tentang operasi sistem tanpa terlalu mendetail pada implementasi teknis dari masing-masing komponen.
Beberapa aspek yang dipertimbangkan dalam desain tingkat tinggi meliputi identifikasi komponen utama, penentuan interaksi antarkomponen, skalabilitas, keandalan, keamanan, dan performa sistem. Desain tingkat tinggi ini membentuk kerangka kerja yang menjadi dasar untuk tahap berikutnya dalam proses perancangan, yaitu detailed design, di mana detail teknis dari setiap komponen dan interaksi akan dijelaskan secara lebih mendalam. Dengan demikian, desain tingkat tinggi memberikan fondasi yang kokoh bagi pengembangan sistem secara menyeluruh.
Dalam konteks Facebook High Level Design untuk sistem manajemen restoran, tujuan utamanya adalah menyediakan pengalaman makan yang luar biasa dengan memungkinkan pengguna untuk dengan mudah menemukan restoran terdekat, melihat menu, mengeksplorasi rating, dan melakukan pemesanan secara online. Sistem ini juga memberikan fleksibilitas kepada pelanggan untuk memilih antara makan di tempat atau pengantaran ke lokasi mereka.
Persyaratan Fungsional
- Mencari restoran, melihat menu, dan melakukan pemesanan bagi pelanggan.
- Manajemen pesanan dan pembaruan menu bagi staf restoran.
- Melihat rating restoran bagi pelanggan.
- Pilihan untuk makan di tempat atau memesan pengantaran.
- Manajemen pesanan makanan bagi staf dapur.
- Melihat pesanan pengantaran yang ditugaskan bagi pengemudi pengantaran.
- Pelacakan pesanan oleh pelanggan.
- Berbagai metode pembayaran bagi pelanggan.
**Persyaratan Non-fungsional**
- Skalabilitas: Responsif selama puncak permintaan, menyesuaikan dengan fitur baru, dan mengelola fluktuasi lalu lintas.
- Keandalan: Pemrosesan pesanan yang konsisten dan akurat untuk membangun kepercayaan pelanggan dan menjaga kontinuitas bisnis.
- Ketersediaan Tinggi: Menjaga ketersediaan sistem untuk meningkatkan kepercayaan pelanggan dan mendukung operasi restoran yang efisien.
- Konsistensi Kuat: Refleksi cepat terhadap perubahan seperti pembaruan harga, perubahan menu, lokasi pengguna, dan detail pembayaran.
Asumsi Kapasitas
Untuk estimasi skala sistem dan kebutuhan penyimpanan, diasumsikan data dan lalu lintas sebagai berikut:
- 10 juta restoran
- Pengguna aktif harian = 100 juta
- Pengguna aktif per detik = 1160 pengguna/detik
- Rata-rata Pesanan per detik = 4200 pesanan/detik
- Pesanan puncak = 500.000 pesanan/menit
- Estimasi penyimpanan mencakup data pelanggan, restoran, menu, dan pesanan.
Komponen yang Diperlukan
- Antarmuka Pelanggan: Aplikasi mobile, web, atau desktop untuk interaksi pelanggan.
- Penyeimbang Beban: Meratakan lalu lintas ke server untuk ketersediaan tinggi dan optimalisasi kinerja.
- Layanan Otentikasi dan Registrasi: Manajemen otentikasi untuk pengguna.
- Basis Data: Repositori data untuk pengguna, restoran, menu, pesanan, dan metadata.
- Layanan Pembayaran: Manajemen data dan layanan pembayaran.
- Layanan Pemesanan: Manajemen pesanan restoran.
- Layanan Pengantaran: Pelacakan lokasi dan pengiriman pesanan.
- Layanan Admin Restoran: Manajemen pesanan dan operasional restoran.
- Layanan Peta: Pelacakan lokasi untuk pengantaran.
Dalam kerangka ini, terdapat tiga layanan utama yang memerlukan manajemen: Layanan Pelanggan, Layanan Admin Restoran, dan Layanan Pengantaran, masing-masing dengan tujuan dan fungsi yang terpisah untuk mendukung operasi sistem secara efektif.
Komentar
Posting Komentar