Metode Pengembangan Perangkat Lunak (SDLC) definisi, tahapan serta kelebihan dan kekurangan
Nama : Putri Oktaria Maylanda
NPM : 19312197
Definisi SDLC
SDLC (Software Development Life Cycle ) adalah sebuah proses yang digunakan untuk merancang, mengembangkan, dan menguji software yang berkualitas tinggi. Tujuan dari SDLC adalah untuk menyediakan alur terstruktur dalam membantu organisasi menghasilkan software berkualitas tinggi yang diselesaikan dengan perkiraan waktu yang singkat dan biaya yang lebih rendah, namun tetap memenuhi atau melebihi harapan pelanggan.
Cara Kerja SDLC
Secara umum, SDLC memiliki cara kerja dengan menurunkan biaya pengembangan perangkat lunak sekaligus meningkatkan kualitas dan mempersingkat waktu produksi. SDLC dapat membantu tim untuk mencapai tujuan dengan evaluasi kekurangan sistem. SDLC juga membuat definisi persyaratan sistem yang baru dalam sebuah proses pengembangan perangkat lunak. Selanjutnya, SDLC akan mendukung pengembangan perangkat lunak mulai dari tahapan analisis, perencanaan, desain, pengembangan, pengujian, hingga penyebaran.
Cara kerja utama SDLC adalah menghilangkan pengerjaan ulang yang berlebihan dan perbaikan setelahnya. Hal ini dapat berupa antisipasi kesalahan dengan potensi kerugian besar seperti kegagalan meminta feedback dari pengguna akhir atau klien. Secara umum, SDLC bekerja sebagai metodologi berulang yang harus dipastikan lewat kualitas kode di setiap siklus. Melalui SDLC ini perusahaan akan menitikberatkan fokus pada pengujian sehingga dapat menghemat biaya jika terjadi pengerjaan ulang.
Fungsi SDLC
Menurut Michigan Technological University, SDLC memiliki fungsi untuk menyediakan alat bantu bagi manajer proyek IT dalam memastikan keberhasilan implementasi sistem yang memenuhi tujuan strategis dan bisnis. SDLC yang dilakukan dengan benar dapat berfungsi sebagai kontrol dan dokumentasi manajemen tingkat tinggi dalam perusahaan pengembang perangkat lunak.
Para pengembang perangkat lunak akan lebih mudah memahami apa yang harus mereka bangun dan mengapa. Semua pihak dalam sebuah tim juga memiliki potensi untuk memahami besaran biaya dan sumber daya yang dibutuhkan dalam suatu proyek pengembangan melalui SDLC.
Secara umum, SDLC berfungsi untuk memberikan gambaran baik masukan maupun luaran bagi tim pengembang untuk menjalankan proses pengembangan dari satu tahap ke tahap lainnya tanpa risiko pengulangan.
7 Tahapan SDLC
- PlanningTahap pertama SDLC adalah perencanaan. Pada tahap ini project leaders akan mengevaluasi persyaratan yang ada dalam sebuah proyek. Ini mencakup menghitung tenaga kerja dan material yang dibutuhkan, membuat jadwal dengan tujuan target, membentuk tim serta struktur kepemimpinan untuk proyek tersebut. Tahap ini juga dapat mencakup pengumpulan umpan balik dari pemangku kepentingan atau pihak-pihak terkait seperti calon pelanggan, developer, perwakilan tim sales, dan pendapat ahli.
- Define requirementsFase ini terkadang dianggap sebagai bagian dari tahapan planning. Tujuan fase ini adalah menentukan untuk apa seharusnya software atau aplikasi tersebut dan persyaratan apa yang dibutuhkan untuk menjalankannya. Contohnya agar aplikasi media sosial dapat berjalan dibutuhkan kemampuan di mana pengguna dapat terhubung dengan seorang teman sehingga perlu adanya fitur pencarian dalam aplikasi tersebut. Selain itu persyaratan yang dimaksud dalam fase ini juga dimaksudkan untuk menentukan sumber daya yang dibutuhkan untuk membangun proyek seperti tim atau mesin dalam proses pengembangan aplikasi software tersebut.
- Design and prototypingFase desain dalam SDLC adalah tahapan di mana kamu membuat model cara kerja aplikasi software. Ada beberapa aspek yang diperhatikan dalam tahapan desain, antara lain:a. Communication. Mendefinisikan metode atau cara aplikasi berkomunikasi dengan aset lainnya seperti server pusat atau aplikasi lainnya.b. Programming. Tidak hanya menentukan bahasa pemrograman tapi juga termasuk metode pemecahan masalah dan tugas-tugas yang ada dalam aplikasi.c. Architecture. Menentukan bahasa pemrograman, praktik dalam industri, desain keseluruhan dan penggunaan template tertentud. User Interface. Mendefinisikan bagaimana cara pelanggan berinteraksi dengan software dan bagaimana software tersebut dapat merespon input yang adae. Platforms. Mendefinisikan platform di mana software akan dijalankan. Misalnya versi android, ios, linux atau game konsol.f. Security. Mendefinisikan langkah-langkah untuk mengamankan aplikasi. misalnya membuat perlindungan kata sandi, enkripsi SSL traffic atau membuat penyimpanan kredensial pengguna yang aman.
- Software developmentFase ini adalah tahap di mana program ditulis. Biasanya jika proyek tersebut kecil maka program dapat ditulis oleh satu developer. Namun, jika proyek besar bisa dipecah dan dikerjakan oleh beberapa tim. Pada fase ini bisa juga digunakan aplikasi Access Control atau Source Code Management untuk membantu developer melacak perubahan pada kode dan memastikan kompatibilitas antar proyek tim yang berbeda sehingga sasaran terpenuhi.Proses coding tidak hanya dilakukan sebatas menyusun kode agar aplikasi dapat berjalan, tapi juga mencakup banyak tugas lain misalnya menemukan dan memperbaiki error atau glitches yang ditemukan, serta penulisan dokumentasi seperti panduan pengguna atau bantuan FAQ untuk masalah teknis. Tahapan ini termasuk salah satu fase software development life cycle yang memakan waktu yang lebih panjang.
- TestingTahapan pengujian sangat penting sebelum aplikasi software digunakan pengguna. Beberapa pengujian yang biasanya dilakukan seperti security testing yang diotomatiskan, atau pengujian untuk penerapan yang kompleks. Pengujian harus memastikan setiap fungsi dapat bekerja dengan benar dan lancar sehingga dapat mengurangi kemungkinan adanya keterlambatan dalam pemrosesan, bug dan gangguan yang ditemui pengguna.
- DeploymentTahapan selanjutnya pada SDLC adalah penerapan. Pada fase ini aplikasi sudah tersedia pada pelanggan untuk digunakan. Meski begitu tahapan ini bisa jadi lebih rumit. Contohnya beberapa perusahaan mungkin perlu melakukan pembaruan database ke aplikasi yang baru dikembangkan sehingga memakan lebih banyak waktu dan tenaga.
- Operations and maintenancePada titik ini sebetulnya aplikasi benar-benar sudah selesai dan bisa digunakan di lapangan. Namun, tahapan operasi dan pemeliharaan masih dianggap penting. Sebab, dalam tahapan ini pengguna bisa jadi menemukan bug yang tidak ditemukan selama pengujian sehingga kesalahan perlu diatasi. Dari sini bisa jadi akan memunculkan siklus software development life cycle yang baru untuk memperbaiki bug, menentukan rencana pengembangan berulang, atau tambahan fitur dalam rilis mendatang.
Keunggulan
- Metode pengembangan perangkat lunak SDLC mudah untuk di aplikasikan.
- Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan pemeliharaan.
Kelemahan
- Jarang sekali proyek riil mengikuti aliran sekuensial yang dianjurkan model karena model ini bisa melakukan itersi tidak langsung . Hal ini berakibat ada perubahan yang diragukan pada saat proyek berjalan.
- Pelanggan sulit untuk menyatakan kebutuhan secara eksplisit sehingga sulit untuk megakomodasi ketidakpastian pada saat awal proyek.
- Pelanggan harus bersikap sabar karena harus menunggu sampai akhir proyek diselesaikan.
- Pengembang sering malakukan penundaan yang tidak perlu karena anggota tim proyek harus menunggu tim lain untuk melengkapi tugas karena memiliki ketergantungan hal ini menyebabkan penggunaan waktu tidak efesien.
link Universitas Teknokrat Indonesia : https://teknokrat.ac.id/
link Fakultas Teknik dan Ilmu Komputer : https://ftik.teknokrat.ac.id/
Comments
Post a Comment