TUGAS 7 - PERANCANGAN PERANGKAT LUNAK (A)
TUGAS 7 - PERANCANGAN PERANGKAT LUNAK (A)
Pada pertemuan ketujuh di kelas PPL A, kita diberikan tugas untuk menjelaskan bagaimana Low Level Design dan High Level Design dari sistem pengantaran makanan atau restoran. Referensi bisa diambil dari berbagai sumber seperti makalah, jurnal, dan dokumentasi aplikasi.
High Level Design dan Low Level Design Sistem Pengantaran Makanan
Deskripsi Singkat
Desain sistem untuk restoran bertujuan untuk membuat sebuah platform yang efisien dan terintegrasi untuk mengelola berbagai aspek operasional restoran. Dengan pesatnya pertumbuhan industri kuliner dan meningkatnya harapan pelanggan, sangat penting bagi restoran untuk memiliki sistem yang dapat menangani berbagai tantangan tersebut. Sistem ini dirancang untuk menawarkan solusi atas berbagai masalah yang dihadapi oleh restoran, mulai dari pengelolaan menu hingga analisis data pelanggan. Melalui pendekatan yang terencana dan terstruktur, sistem ini akan membantu meningkatkan efisiensi operasional, memperbaiki pengalaman pelanggan, dan mengoptimalkan kinerja bisnis secara keseluruhan. Dengan memanfaatkan teknologi modern dan praktik terbaik dalam pengembangan perangkat lunak, sistem ini diharapkan dapat menjadi fondasi yang kuat bagi kesuksesan dan pertumbuhan restoran dalam lingkungan bisnis yang semakin kompetitif.
Persyaratan Fungsional
- Memungkinkan pelanggan untuk mencari restoran, melihat menu, dan memesan makanan.
- Staf restoran dapat mengelola pesanan dan memperbarui menu.
- Pelanggan dapat melihat rating restoran.
- Pelanggan dapat memilih untuk makan di tempat atau meminta pengiriman.
- Staf dapur dapat melihat dan mengelola pesanan makanan.
- Pengemudi pengiriman dapat melihat pesanan pengiriman yang ditugaskan.
- Pelanggan dapat melacak pesanan mereka.
- Pelanggan dapat memilih metode pembayaran.
Persyaratan Non-Fungsional
- Skalabilitas: Memastikan sistem tetap responsif selama permintaan puncak, mampu beradaptasi dengan fitur baru, dan menangani fluktuasi lalu lintas.
- Keandalan: Menjaga kepercayaan pelanggan dan kontinuitas bisnis. Sistem harus memastikan pemrosesan pesanan yang konsisten dan akurat serta meminimalkan downtime.
- Ketersediaan Tinggi: Sistem yang handal dan selalu tersedia meningkatkan kepercayaan pelanggan, mendukung operasi restoran yang efisien, dan berkontribusi pada keberhasilan ekosistem manajemen restoran.
- Konsistensi Kuat: Perubahan pada harga, menu, lokasi pengguna, dan detail pembayaran harus segera tercermin.
Arsitektur Sistem
Untuk menyimpan data dari menu dan pemesanan, diperlukan server yang terhubung dengan database. Database ini akan menyimpan data-data yang diperlukan agar restoran dapat beroperasi dengan baik.
High Level Design
Pelanggan:
- Tampilan Pengguna: Menyediakan antarmuka yang mudah digunakan bagi pelanggan untuk mencari restoran, melihat menu, memesan, dan melacak pesanan.
- Fitur Pencarian: Menyediakan alat pencarian yang canggih untuk memudahkan pelanggan menemukan restoran sesuai preferensi.
- Manajemen Pesanan: Memungkinkan pelanggan untuk mengakses dan mengelola pesanan mereka dengan mudah, termasuk mengonfirmasi, memperbarui status, dan membatalkan pesanan.
- Pilihan Pembayaran: Menyediakan berbagai opsi pembayaran yang fleksibel untuk kenyamanan pelanggan.
Restoran:
- Antarmuka Staf Restoran: Menyediakan platform bagi staf restoran untuk mengelola pesanan, menu, dan inventaris dengan efisien.
- Manajemen Pesanan: Memudahkan staf restoran untuk menerima, memproses, dan memperbarui status pesanan dengan cepat.
- Manajemen Menu: Menyediakan alat bagi restoran untuk memperbarui menu, mengelola stok, dan menyesuaikan harga dengan mudah.
- Pelaporan dan Analisis: Menyediakan laporan dan analisis data untuk membantu restoran memahami tren penjualan dan membuat keputusan yang lebih baik.
Pengemudi Pengiriman:
- Antarmuka Pengemudi: Menyediakan platform bagi pengemudi pengiriman untuk melihat dan mengelola pesanan pengiriman mereka dengan efisien.
- Manajemen Pengiriman: Memfasilitasi proses pengambilan, pengiriman, dan pelaporan pengiriman secara tepat waktu.
Administrator:
- Antarmuka Admin: Menyediakan alat administratif bagi admin untuk mengelola pengguna, restoran, pengemudi, dan aspek lain dari sistem.
- Manajemen Pengguna: Memungkinkan admin untuk mengelola akun, menangani keamanan, dan menjaga integritas sistem dengan memantau aktivitas pengguna dan memproses permintaan pendaftaran.
- Manajemen Restoran dan Pengemudi: Menyediakan fasilitas untuk verifikasi dan manajemen restoran serta pengemudi yang terdaftar dalam sistem.
Komponen penting dalam High Level Design meliputi:
- Antarmuka Klien: Pelanggan berinteraksi dengan sistem melalui berbagai platform seperti aplikasi seluler, antarmuka web, atau aplikasi desktop.
- Load Balancer: Bekerja di belakang layar untuk memastikan pengalaman pengguna yang mulus dengan meratakan lalu lintas masuk ke berbagai server.
- Layanan Otentikasi dan Registrasi: Merupakan gerbang keamanan yang penting bagi sistem, memastikan bahwa setiap pengguna melewati proses otentikasi yang ketat.
- Basis Data: Berfungsi sebagai tempat penyimpanan utama untuk semua informasi penting, termasuk data pengguna, detail restoran, menu, pesanan, dan metadata lainnya.
- Layanan Pembayaran: Menangani semua aspek terkait transaksi pembayaran, termasuk pengelolaan data pembayaran pelanggan, pemrosesan transaksi, dan integrasi dengan penyedia layanan pembayaran eksternal.
- Layanan Penempatan Pesanan: Bertanggung jawab atas proses penempatan pesanan di restoran yang terhubung.
- Layanan Pengiriman: Berfokus pada aspek pengiriman pesanan, termasuk mencari dan menetapkan agen pengiriman yang tepat.
- Layanan Admin Restoran: Memberikan alat yang diperlukan bagi admin restoran untuk mengelola operasi harian mereka secara efisien.
- Layanan Peta: Berperan penting dalam melacak lokasi pengguna dan agen pengiriman secara real-time.
Low Level Design
Desain Basis Data
Dalam desain sistem restoran, beberapa tabel database kunci diperlukan untuk menyimpan dan mengelola data dengan efisien. Tabel-tabel ini mencakup:
- Tabel Menu: Berisi informasi tentang semua item-menu yang ditawarkan oleh restoran, termasuk nama item, deskripsi, kategori, harga, dan informasi nutrisi jika diperlukan.
- Tabel Pelanggan: Menyimpan data pelanggan yang melakukan pemesanan, termasuk nama, alamat, nomor telepon, dan informasi kontak lainnya.
- Tabel Pesanan: Mencatat detail setiap pesanan yang ditempatkan oleh pelanggan, termasuk item-menu yang dipesan, jumlah, harga, status pesanan, dan waktu pesanan.
- Tabel Meja: Mencatat informasi tentang meja yang tersedia di restoran, termasuk nomor meja, kapasitas, dan status ketersediaan.
- Tabel Stok: Berisi daftar semua bahan baku dan barang inventaris yang digunakan dalam operasi restoran, bersama dengan jumlah yang tersedia dan batas minimum stok.
- Tabel Karyawan: Menyimpan data karyawan restoran, termasuk nama, jabatan, informasi kontak, jadwal kerja, dan informasi lain yang relevan.
- Tabel Transaksi: Mencatat setiap transaksi yang terjadi di restoran, termasuk detail pembayaran, metode pembayaran, total pesanan, dan waktu transaksi.
Komentar
Posting Komentar