PPL - Tugas 6 Sistem Restoran

Revanantyo Dwigantara

5025211113

PPL A


Design System Restaurant Management System


Tingkat Kedalaman Detail:

- High Level Design (HLD) dalam rancangan sistem manajemen restoran lebih berfokus pada gambaran umum dan konseptual dari aplikasi tersebut, mempertimbangkan alur kerja umum dan komponen utama tanpa memperhatikan detail teknis yang mendalam.

- Sebaliknya, Low Level Design (LLD) dalam rancangan sistem manajemen restoran sangat memperhatikan detail teknis dari setiap fitur dan komponen, menguraikan implementasi teknis dari aspek-aspek seperti pengelolaan pesanan, manajemen inventaris, dan interaksi pengguna.

Ketergantungan pada Implementasi:

- HLD dari sistem manajemen restoran cenderung tidak terlalu bergantung pada implementasi teknis tertentu, fokusnya lebih pada arsitektur dan konsep umum sistem.

- Di sisi lain, LLD dari sistem manajemen restoran sangat tergantung pada implementasi teknis, merinci bagaimana setiap fitur, seperti pemesanan meja, manajemen menu, atau proses pembayaran, akan diimplementasikan dalam kode.

Audience:

- HLD dari sistem manajemen restoran ditujukan untuk pemangku kepentingan tingkat atas, seperti pemilik restoran, manajer operasional, atau investor, membantu mereka memahami visi dan konsep utama dari sistem tersebut.

- Sebaliknya, LLD dari sistem manajemen restoran lebih ditujukan untuk pengembang perangkat lunak dan engineer teknis yang akan bekerja pada pengembangan dan implementasi sistem, memberikan panduan teknis yang diperlukan untuk membangun aplikasi yang berfungsi.

Deskripsi Singkat

Sistem manajemen restoran adalah perangkat lunak yang membantu industri restoran merampingkan operasi bisnis makanan mereka. Ini menyediakan serangkaian fitur lengkap termasuk sistem Point of Sales, pemrosesan pembayaran, reservasi meja, manajemen inventaris, akuntansi dan manajemen karyawan.

Kebutuhan Sistem

Sistem yang akan kami rancang akan menyediakan fitur terpenting yang harus ditawarkan oleh setiap sistem manajemen restoran. Namun, perlu diingat bahwa sistem manajemen restoran dapat memiliki sub-sistem lain untuk akuntansi, manajemen karyawan, dll.

a. Kebutuhan Functional

  • User bisa menambah dan menghapus item untuk dipesan
  • User bisa menambah dan menghapus reservasi meja
  • User bisa menambah dan menghapus item menu
  • Generate tagihan
  • Kelola pembayaran tagihan
  • Generate tiket pesanan dapur
Pemahaman yang lebih baik tentang persyaratan fungsional dapat diperoleh dari Use Case diagram di bawah ini.

b. Kebutuhan Non-Fungsional

Kegunaan
Sistem harus menyediakan antarmuka interaktif yang ramah pengguna yang mudah dimengerti oleh semua pengguna.

Ketersediaan
Sistem harus tersedia setidaknya selama jam operasional restoran dan harus dipulihkan dalam waktu satu jam jika gagal. Sistem akan merespons permintaan dalam waktu dua detik.

Keteguhan
Sistem harus memberikan kinerja yang konsisten dengan pelacakan catatan yang mudah dan pembaruan catatan.

Pemeliharaan
Perangkat lunak harus mudah dipelihara. Menambahkan fitur tambahan dan melakukan perubahan pada perangkat lunak harus sesederhana mungkin.

Keamanan
Hanya pengguna yang berwenang yang dapat mengakses sistem untuk melihat dan mengubah data.

Estimasi Kapasitas Perancangan Sistem


Dalam perancangan sistem manajemen restoran, kami melakukan estimasi kapasitas untuk menyimpan data pengguna, data restoran, dan data pesanan. Berdasarkan perkiraan yang diberikan, kami memproyeksikan kebutuhan penyimpanan sebagai berikut:


- Penyimpanan untuk Data Pengguna: Sebesar 10 GB untuk 10 juta pengguna.

- Penyimpanan untuk Data Restoran: Sebesar 2 TB untuk 1 juta restoran.

- Penyimpanan untuk Data Pesanan: Sebesar 40 TB untuk menyimpan 36 juta pesanan per hari selama 3 tahun.


Dengan demikian, total estimasi penyimpanan yang dibutuhkan untuk perancangan sistem manajemen restoran adalah sekitar 42.1 TB.


Kebutuhan Sistem

  • Server yang menjalankan sistem operasi Windows Server/Linux.
  • Bahasa backend seperti Java, Python untuk memproses pesanan.
  • Kerangka kerja front-end seperti Angular/React/Vue untuk antarmuka pengguna.
  • Sistem manajemen basis data relasional seperti MySQL, PostgreSQL.

Arsitektur Sistem

Sistem manajemen restoran mengikuti arsitektur klien/server 3 tingkat sederhana. Klien dapat menggunakan browser web di tablet untuk mengakses sistem (menu restoran) melalui jaringan area lokal restoran menggunakan Hypertext Transfer Protocol Secure (HTTPS).
Tingkat menengah mencakup server yang menyajikan situs web kepada pengguna dan mengontrol logika bisnis. Ini mengontrol interaksi antara aplikasi dan pengguna. Server juga mengirimkan pesanan pengguna ke sistem Point of Sales dan printer Tiket Pemesanan Dapur. Teknologi web server yang umum digunakan disini bisa berupa Apache, Nginx, dll.

Tingkat data memelihara data aplikasi seperti data pesanan, data menu, data reservasi, dll. Tingkat ini menyimpan data ini dalam sistem manajemen basis data relasional seperti PostgreSQL. Tingkat klien berinteraksi dengan server untuk membuat permintaan dan mengambil data dari database. Ini kemudian menampilkan kepada pengguna data yang diambil dari server.

Dekomposisi Subsistem

Menguraikan sistem menjadi unit-unit lebih kecil yang disebut subsistem akan membantu mengurangi kompleksitas sistem. Subsistem hanyalah paket yang menampung kelas-kelas terkait. Sistem manajemen restoran kami juga dipecah menjadi subsistem sebagai berikut. Subsistem utama adalah sistem 'Otentikasi', 'Menu', 'Reservasi', 'Pemesanan', dan 'Dapur'.
Subsistem Otentikasi mengautentikasi pengguna untuk memberikan akses berdasarkan peran pengguna.

Subsistem Menu menghasilkan menu restoran, yang melibatkan penetapan harga untuk setiap item.

Sistem Reservasi membantu pelanggan dalam pemesanan meja dan menangani pembayaran biaya pemesanan jika terjadi ketidakdatangan.

Subsistem Pesanan mendaftarkan pilihan pengguna dari menu. Ini mengkompilasi pesanan untuk sistem Point of Sales untuk penagihan. Itu juga mengirim data ke subsistem Dapur untuk diproses.

Subsistem Dapur berhubungan dengan pencetakan Tiket Pesanan Dapur dan penyesuaian inventaris.

Low-Level Design

Kode berikut menunjukkan beberapa kelas yang terlibat dalam Perangkat Lunak Sistem Manajemen Restoran.

Kelas Person adalah kelas dasar untuk semua karyawan restoran. Kelas Staf menambahkan informasi yang diperlukan untuk mengautentikasi pengguna. Kelas Restoran mewarisi dari kelas Staf dan memiliki fungsi untuk menambah dan menghapus item ke pesanan, mengelola reservasi meja dan membuat faktur untuk menagih pelanggan.

Kelas Kitchen juga mewarisi dari kelas Staff. Kelas Dapur dapat melihat pesanan pelanggan dan mengelola inventaris bahan-bahan yang mereka gunakan.

Kelas Pelanggan dapat menambahkan item dan menghapus item ke pesanan sebelum dikirimkan. Selain itu mereka dapat membuat permintaan reservasi meja dan mengubahnya.

Kelas Menu berisi informasi tentang item pada menu restoran. Kelas Inventaris berisi informasi untuk melacak bahan-bahan yang digunakan restoran untuk menyiapkan makanan.

Desain Basis Data

Perangkat lunak sistem manajemen restoran perlu menyimpan data tentang Pesanan, Menu, Reservasi, dll. Oleh karena itu, kami telah mengidentifikasi tabel utama yang akan diimplementasikan pada sistem manajemen basis data relasional yang dipilih.
Diagram database di atas menunjukkan skema database perangkat lunak manajemen restoran.

Dalam sistem basis data relasional, hubungan sering kali hadir dalam tiga tipe berbeda. Ini adalah hubungan satu-ke-satu, satu-ke-banyak, dan banyak-ke-banyak. Sistem yang dipertimbangkan mempunyai hubungan satu-ke-banyak dan banyak-ke-banyak.

Tabel Reservasi, Pemesanan, dan Menu menyimpan data reservasi, pesanan, dan menu. Setiap Pesanan dikaitkan dengan satu atau banyak item pesanan. Setiap item pesanan memiliki item makanan dan bahan-bahan yang terkait dengannya. Tabel Menu bertindak sebagai relasi antara tabel Restaurant_Staff dan Food_Item. Tabel Pembayaran menyimpan rincian tentang pesanan tertentu.

Jadwal Pengembangan


Untuk mengembangkan sistem manajemen restoran, kami merencanakan jadwal pengembangan yang terdiri dari beberapa tahap:


1. Perencanaan dan Analisis: Meliputi identifikasi kebutuhan sistem, spesifikasi fungsional dan non-fungsional, serta analisis risiko. Tahap ini diperkirakan memakan waktu selama 2 minggu.

2. Desain Sistem: Merancang arsitektur, antarmuka, serta menentukan teknologi yang akan digunakan. Tahap ini diperkirakan memakan waktu selama 3 minggu.

3. Pengembangan Aplikasi: Implementasi backend, aplikasi mobile, integrasi dengan layanan pihak ketiga, dan pengujian. Tahap ini diperkirakan memakan waktu selama 6 minggu.

4. Uji Coba dan Penyesuaian: Melakukan uji coba internal dan beta, serta melakukan perbaikan berdasarkan umpan balik. Tahap ini diperkirakan memakan waktu selama 2 minggu.

5. Implementasi dan Peluncuran: Persiapan dan pelatihan staf, serta peluncuran sistem. Tahap ini diperkirakan memakan waktu selama 1 minggu.

6. Pemeliharaan dan Dukungan: Memberikan dukungan teknis dan pemeliharaan rutin, serta melakukan pembaruan perangkat lunak dan peningkatan berkelanjutan.


Jadwal ini dapat disesuaikan dengan kebutuhan dan kompleksitas proyek, serta faktor-faktor lain seperti anggaran dan sumber daya yang tersedia. Penting untuk melakukan perencanaan yang cermat dan mengikuti metodologi pengembangan yang terstruktur untuk memastikan kesuksesan proyek.


Kesimpulan

Solusi yang ditawarkan oleh sistem manajemen restoran ini mencakup integrasi fitur-fitur penting seperti manajemen pesanan, reservasi, inventaris, dan pembayaran dalam satu platform yang terpadu. Dengan menggunakan arsitektur klien/server 3 tingkat dan desain basis data relasional, sistem ini memungkinkan restoran untuk mengelola operasi sehari-hari mereka dengan lebih efisien dan efektif. Dengan fitur-fitur kegunaan yang ramah pengguna, ketersediaan yang tinggi, keteguhan yang konsisten, pemeliharaan yang mudah, dan keamanan data yang terjamin, sistem ini menjadi solusi yang komprehensif untuk kebutuhan manajemen restoran. 

Komentar

Postingan populer dari blog ini

PPL - Evaluasi Tengah Semester

PPL - Tugas 5 Low Level Design