5 Perbedaan High Level dan Low Level Design dalam Membangun Aplikasi
Isi Artikel
Ketika membuat sebuah software atau aplikasi, terdapat dua tipe desain yang digunakan, yakni high level dan low level design.
Kedua desain ini diperlukan untuk membangun sistem aplikasi yang dapat berjalan dengan lancar.
Namun, apa perbedaan kedua desain tersebut? Dirangkum dari Geeks for Geeks dan Java T Point, yuk, cari tahu selengkapnya di bawah ini!
Definisi
High level design
High level design (HLD) adalah desain sistem umum artinya mengacu pada desain sistem secara keseluruhan. Ini menjelaskan deskripsi keseluruhan/arsitektur software.
Ini mencakup deskripsi arsitektur sistem, desain basis data, deskripsi singkat tentang sistem, layanan, platform, dan hubungan antar modul.
HLD juga dikenal sebagai tingkat makro/desain sistem yang dibuat oleh solution architect.
Desain ini mengubah kebutuhan bisnis menjadi high level solution dan dibuat terlebih dahulu berarti sebelum low level design.
Low level design
Low level design (LLD) bertugas merinci HLD yang berarti mengacu pada proses desain tingkat komponen. Ini menjelaskan deskripsi rinci dari masing-masing dan setiap modul.
Bagian dari desain ini termasuk logika aktual untuk setiap komponen sistem dan masuk jauh ke dalam spesifikasi setiap modul.
LLD juga dikenal sebagai desain tingkat mikro/detail yang dibuat oleh desainer dan developer.
Desain ini akan mengubah high level solution menjadi detailed solution. LLD ini dirancang setelah HLD selesai.
Perbedaan High Level dan Low Level Design
1. Tujuan
Tujuan dari HLD adalah menyatakan fungsionalitas ringkas dari setiap komponen. Desain ini menjelaskan deskripsi keseluruhan arsitektur aplikasi.
Selain itu, HLD diperlukan untuk memahami aliran di beberapa objek sistem.
Sementara itu, LLD bertujuan menyatakan logika efisien tertentu dari komponen. Secara rinci, desain ini akan menjelaskan deskripsi dari setiap modul.
LLD juga diperlukan untuk membuat konfigurasi dan masukan pemecahan masalah.
2. Pengembang
Berhubung HLD dibuat untuk mendeskripsikan keseluruhan arsitektur sistem, desain ini dikembangkan oleh solution architect.
Solution architect sendiri adalah seseorang yang bertanggung jawab untuk memimpin praktik dan memperkenalkan visi teknis keseluruhan untuk solusi tertentu.
Hasil HLD yang dikembangkan oleh solution architect tersebut kemudian diserahkan kepada desainer dan developer untuk dikembangkan menjadi LLD.
3. Kriteria input
Ukuran input untuk HLD adalah SRS (Software Requirement Specification/Spesifikasi Kebutuhan Perangkat Lunak).
Spesifikasi ini diperlukan agar desain yang dihasilkan mampu mendeskripsikan keseluruhan sistem dan arsitektur dari aplikasi.
Sementara, ukuran input untuk low level design adalah high level design yang telah ditinjau.
4. Kriteria output
Tujuan HLD adalah menerjemahan kebutuhan bisnis menjadi high level solution. Oleh karena itu, output dari HLD adalah desain fungsional, desain basis data, dan catatan tinjauan.
Sementara itu, LLD bertujuan mengubah high level solution menjadi detailed solution. Sehingga, output dari LLD adalah rencana pengujian unit dan spesifikasi program.
5. Pihak yang terlibat
Ketika mengerjakan HLD, pihak yang terlibat dalam pengembangannya adalah tim desain, tim peninjau, dan tim klien.
Bersama-sama, mereka akan merumuskan kebutuhan bisnis yang akan diterjemahkan solution architect menjadi HLD.
Hasil HLD tersebut kemudian ditinjau oleh tim desain, tim operasional, dan pelaksana sebelum diserahkan kepada developer untuk dikembangkan menjadi LLD.
Kesimpulan
HLD menentukan laporan lengkap dan perencanaan produk software atau aplikasi tertentu. Di sisi lain, LLD menentukan laporan detail dari semua modul.
Dalam fase desain pengembangan software, anggota tim desain, tim klien, dan tim peninjau disertakan dalam perancangan HLD. Di sisi lain, tim desain dan tim operasi akan menyiapkan LLD.
Sehingga, dapat dikatakan bahwa baik HLD dan LLD merupakan bagian penting dari fase desain dalam proses pengembangan setiap produk software.
Nah, itu dia yang membedakan antara high level design dengan low level design.
Agar kamu lebih memahami bagaimana proses pengembangan sebuah software, kamu bisa mengikuti berbagai kelas yang tersedia Glints ExpertClass.
Di kelas tersebut, kamu bisa belajar dan bertanya langsung kepada para pakar industri tech.
Tertarik? Yuk, klik di sini untuk memilih kelas yang sesuai dengan kebutuhanmu!