Siklus Hidup Pengembangan Perangkat Lunak (SDLC) melewati berbagai fase seperti perencanaan, penilaian persyaratan, analisis, desain, eksekusi, dokumentasi, pengujian, dll. Setiap fase dibagi lagi menjadi tugas-tugas dengan tujuan dan hasil yang ditentukan dengan benar.
Analisis dan Desain adalah fase di mana arsitektur aktual, model kerja, dan proses eksekusi membangun produk perangkat lunak ditetapkan.
Dua langkah penting dalam fase ini adalah Desain Sistem Tingkat Tinggi dan Desain Sistem Tingkat Rendah.
Apa itu Desain Sistem Tingkat Tinggi?
Desain Tingkat Tinggi (HLD) memberikan gambaran yang komprehensif tentang proses pengembangan perangkat lunak bersama dengan: arsitektur sistem, aplikasi, manajemen basis data, dan diagram alur lengkap sistem dan navigasi. Ini adalah cetak biru yang mengkonsolidasikan berbagai langkah dan modul, tujuan mereka, komponen variabel, hasil, arsitektur, dan garis waktu untuk mengembangkan perangkat lunak. HLD menerjemahkan rencana bisnis menjadi produk atau layanan perangkat lunak.
Contoh HLD dalam pengembangan perangkat lunak termasuk dokumen arsitektur sistem, diagram alur pengembangan aplikasi, dll.
Apa itu Desain Sistem Tingkat Rendah?
Low-Level Design (LLD) berkaitan dengan perencanaan, pengkodean, dan pelaksanaan berbagai komponen, modul, dan langkah-langkah dalam HLD, pada tingkat individu. Setiap modul dalam HLD memiliki dokumen LLD unik yang memberikan detail komprehensif tentang bagaimana modul akan dikodekan, dieksekusi, diuji kualitasnya, dan diintegrasikan ke dalam program yang lebih besar. LLD menyediakan rencana yang dapat ditindaklanjuti dengan mendekonstruksi komponen HLD menjadi solusi yang berfungsi.
Contoh LLD dalam pengembangan perangkat lunak termasuk integrasi keranjang, pengujian keamanan, desain antarmuka pengguna, dll.
Perbedaan Antara HLD dan LLD
HLD dan LLD juga melayani fungsi dan tujuan yang berbeda seperti bahasa pemrograman tingkat tinggi dan bahasa pemrograman tingkat rendah.
Makro vs. Arsitektur dan Desain Mikro
HLD adalah desain tingkat makro yang memberikan pandangan sekilas tentang proses pengembangan perangkat lunak. Ini termasuk diagram, diagram alur, detail navigasi, dan persyaratan teknis lainnya yang akan membentuk inti dari proses pengembangan.
Selain diagram alur, diagram, informasi navigasi, dan persyaratan teknis, LLD juga memiliki informasi lengkap tentang langkah-langkah pelaksanaan setiap komponen HLD. Ini berkaitan dengan pengembangan perangkat lunak di tingkat mikro.
Setiap komponen HLD memiliki dokumen LLD yang unik.
Kronologi Perkembangan
HLD mendahului fase LLD. Setelah HLD terpasang dan disetujui untuk dieksekusi, pengerjaan masing-masing LLD dapat dimulai.
HLD dimulai setelah tahap perencanaan dan persyaratan ditangani dan tidak memiliki ketergantungan lain.
Di sisi lain, LLD perlu dieksekusi dalam urutan tertentu. Beberapa modul harus menunggu eksekusi sampai yang lain selesai.
LLD berada di bawah fase Desain SDLC, sedangkan HLD berada di bawah fase Analisis SDLC.
Tujuan
- Tujuan dari HLD adalah untuk membuat daftar aspek fungsional dari berbagai modul bersama dengan hasil akhir.
- Tujuan LLD adalah untuk merinci logika dan eksekusi setiap modul dalam HLD.
Pemangku Kepentingan
Arsitek solusi bertanggung jawab untuk membuat dokumen HLD. Itu dapat memiliki pemangku kepentingan internal dan eksternal seperti tim peninjau yang menyadari metrik perangkat lunak, tim desain, klien, dan manajer.
LLD ditangani oleh pengembang perangkat lunak, admin web, insinyur keamanan, dll., yang merupakan bagian dari perusahaan atau tim vendor. LLDs umumnya terbatas pada pemangku kepentingan internal.
Target Pemirsa
Dokumen HLD memiliki target audiens manajer, klien, dan tim pengembangan perangkat lunak.
Insinyur perangkat lunak, pembuat kode, penguji, dan pengembang yang mengerjakan proyek adalah audiens target untuk dokumen LLD.
Hasil yang diharapkan
- Hasil dari HLD adalah produk atau layanan perangkat lunak yang siap dikirim ke pengguna akhir.
- Hasil dari LLD adalah penyelesaian satu modul HLD, seperti fase pengkodean atau pengujian.
Memahami Dokumen Desain Perangkat Lunak
Dokumen desain perangkat lunak menguraikan aspek struktural, fungsional, dan logis dari pengembangan a produk atau layanan perangkat lunak selain persyaratan teknis dan implementasi lainnya rincian. Apakah desain berhubungan dengan eksekusi tingkat makro atau tingkat mikro, pemrogram dan pemangku kepentingan lainnya harus mengetahui dan memahami ruang lingkup dan berbagai langkah proses pengembangan perangkat lunak.