(Systems Development Life Cycle )
merupakan siklus hidup pengembangan system. Dalam rekayasa system
dan rekayasa perangkat lunak, SDLC berupa suatu proses pembuatan dan
pengubahan sistem serta model dan metodologi yang digunakan
untuk mengembangkan sistem-sistem tersebut.
Dalam rekayasa perangkat lunak, konsep SDLC mendasari
berbagai jenis metodologi pengembangan perangkat lunak.
Metodologi-metodologi ini membentuk suatu kerangka kerja untuk perencanaan dan
pengendalian pembuatan sistem informasi, yaitu proses pengembangan
perangkat lunak.
Pengembangan SDLC adalah proses yang digunakan oleh
analis system untuk mengembangkan sistem informasi, termasuk persyaratan,
validasi, pelatihan, dan pengguna (stakeholder) kepemilikan. Setiap
SDLC harus menghasilkan sistem berkualitas tinggi yang memenuhi atau melampaui
harapan pelanggan, mencapai penyelesaian dalam waktu dan perkiraan biaya,
bekerja secara efektif dan efisien di saat ini dan direncanakanTeknologi
Informasi infrastruktur, dan murah untuk mempertahankan dan biaya efektif.
Fungsi
SDLC
Untuk
menggambarkan tahapan-tahapan utama dan langkah-langkah dari setiap tahapan
yang secara garis besar terbagi dalam fase fase utama dalam SDLC, yaitu :
Perencanaan : Mengapa Mengembangkan Sistem?
Analisis : Siapa, apa, kapan dan dimana sistem diterapkan?
Perancangan : Bagaimana kerja sistem?
Implementasi : Bagaimana Sistem Dipasang/diinstall?
Ø Perencanaan :
· Mengidentifikasikan Nilai Bisnis
· Analisis Kelayakan
· Membuat Rencana Kerja
· Mengatur Staff
· Mengontrol dan Mengarahkan Projek
Ø Analisis :
· Analisis masalah
· Mencari informasi yang terkait dengan sistem
· Menentukan model proses
· Menentukan model data
Ø Perancangan :
· Perancangan Proses secara Fisik
· Perancangan Arsitektur Sistem
· Perancangan Interface
· Perancangan Basis Data dan Berkas
· Perancangan Program
Ø Implementasi:
· Construction
· Instalation
Setiap
kegiatan dalam SDLC dapat dijelaskan melalui tujuan (purpose) dan hasil
kegiatannya (deliverable). System Development Methodology adalah
suatu rangkaian langkah untuk mengimplementasikan SLDC itu sendiri. Dalam dunia
rekayasa perangkat lunak terdapat empat buah metodologi dalam menerapkan SLDC,
yakni :
1.
Waterfall Development Methodology
2.
Parallel Development Methodology
3.
Rapid Application Development
4.
Agile Development: Extreme
Programming
Kelima
metodologi tersebut tidak ada yang paling bagus. Semua mempunyai kelebihan dan
kekurangan. Tergantung suatu kelompok pengembang perangkat lunak menggunakan
metode apa yang paling cocok dengan kondisi lingkungan pengembangan perangkat
lunak tersebut.
Waterfall
Development Methodology
Waterfall
Development Methodology merupakan suatu cara pengembangan software yang fase –
fasenya berurutan. Sebuah fase tidak bisa dikerjakan sebelum fase sebelumnya
telah selesai dikerjakan.
Kelebihan
dari Waterfall Development Methodology adalah :
1.
Proses pengidentifikasian sistem
memerlukan waktu yang lama sebelum fase programming dimulai
2.
Meminimalisasi pengubahan sistem
pada saat proses pengembangan perangkat lunak
Kekurangan
dari Waterfall Development Methodology adalah :
1.
Fase perencanaan / design harus
dilakukan pada paper yang khusus sebelum fase programming dimulai
2.
Terjadi selisih waktu yang cukup
lama antara pengajuan sistem dan pembaharuan sistem
Parallel
Development Methodology
Parallel
Development Methodology merupakan suatu cara pada SDLC yang melakukan fase
design dan implementation secara paralel.
Kelebihan
dari Parallel Development Methodology adalah :
1. Meminimalisasi
waktu penjadwalan
2. Meminimalisasi
kesempatan untuk dikerjakan ulang
Kekurangan
dari Parallel Development Methodology adalah :
1. Masih
menggunakan dokument di kertas
2. Menggabungkan
subproyek memerlukan suatu keahlian yang khusus. Biasanya banyak terjadi
kegagalan pada saat proses penggabungannya
Rapid
Application Development
Rapid
Application Development merupakan suatu cara penerapan SDLC dengan membuat
suatu software prototype terlebih dahulu dan kemudian dipresentasikan
ke costumer. Jika costumer menyetujuinya, maka software akan dikembangkan lebih
lanjut.
Kelebihan
Rapid Application Development adalah :
1. Pengguna
dapat memperoleh / menggunakan sistem lebih awal
2. Pengguna
dapat merencanakan beberpa tambahan untuk versi setelahnya
Kekurangan
Rapid Application Development adalah :
1. Pengguna
bekerja dengan sistem yang sebenarnya belum selesai secara keseluruhan
Agile
Development: Extreme Programming
Agile
Development: Extreme Programming merupakan suatu pengerjaan perangkat lunak
secara cepat. Metode ini sangat cocok untuk proyek perangkat lunak yang
membutuhkan waktu lebih instan dalam pengembangannya.
Kelebihan
dari Agile Development: Extreme Programming adalah :
1. Hasil
bisa didapat dalam waktu yang sangat cepat
2. Bekerja
lebih baik dalam projek dengan tidak ada perubahan yang tak tentu
Kekurangan
dari Agile Development: Extreme Programming adalah :
1. Membutuhkan
kedisiplinan tinggi
2. Tepat
hanya jika dilakukan di projek kecil
3. Membutuhkan
lebih banyak inputan dari pengguna
Untuk
menentukan metode mana yang lebih cocok diterapkan dalam pengembangan proyek
perangkat lunak, maka harus memperhatikan hal berikut :
·
Clear user requirements
·
Familiarity with technology
·
Complexity of system
·
Reliability of system
·
Time schedule
·
Schedule visibility
Sumber
: http://dispointed.blogspot.com/2012/11/pengertian-sdlc.html