Pengertian SDLC
Pada awal
pengembangan perangkat lunak, para pembuat program (programmer) langsung
melakukan pengkodean perangkat lunak tanpa menggunakan prosedur atau tahapan
pengembangan perangkat lunak. Dan ditemuilah kendala-kendala seiring dengan
perkembangan skala sistem-sistem perangkat semakin besar.
SDLC dimulai dari
tahun 1960-an, untuk mengembangkan sistem skala usaha besar secara fungsional
untuk para konglomerat pada zaman itu. Sistem-sistem yang dibangun mengelola
informasi kegiatan dan rutinitas dari perusahaan-perusahaan yang berpotensi
memiliki data yang besar dalam perkembangannya.
Berikut
tahapan-tahapan dalam SDLC :
- Inisiasi (initiation)
- Pengembangan konsep sistem (system concept development)
- Perencanaan (planning)
- Analisis kebutuhan (requirement analysis)
- Desain (design)
- Pengembangan (development)
- Integrasi dan pengujian (integration and test)
- Implementasi (implementation)
- Operasi dan pemeliharaan (operations and maintenance)
- Disposisi (disposition)
- Banyaknya model untuk SDLC, dimana semua memiliki kekurangan dan kelebihan. Akan tetapi hal yang terpenting adalah mengenali tipe pelanggan (customer) dan memilih menggunakan model SDLC yang sesuai dengan karakter pelanggan (customer) dan karakter pengembang (developer).
SDLC memiliki
beberapa model dalam penerapan prosesnya. Berikut model-model dari SDLC :
- Model Waterfall / Sekuensial Linier
- Model Prototipe
- Model RAD (Rapid Application Development)
- Model Iteratif / Inkremental
- Model Spiral
- Model Rakitan Komponen
- Model Perkembangan Konkuren
a.
Model Waterfall / Sekuensial linier
Model waterfall
menyediakan alur hidup perangkat lunak secara sekuensial atau terurut dimulai
dari analisis, desain, pengkodean, pengujian, dan tahap pendukung (support).
Model Waterfall / Sekuensial linier
Dari kenyataan
yang terjadi sangat jarang model air terjun dapat dilakukan sesuai alurnya
karena sebab berikut :
1) Perubahan spesifikasi perangkat lunak
terjadi ditengah-tengah alur pengembangan
2) Sangat sulit bagi pelanggan untuk
mendefinisikan semua spesifikasi di awal alur pengembangan. Pelanggan sering
kali butuh contoh (prototype) untuk menjabarkan spesifikasi kebutuhan sistem
lebih lanjut
3) Pelanggan tidak mungkin bersabar
mengakomodasi perubahan yang diperlukan di akhir alur pengembangan
Model Waterfall
adalah model SDLC yang paling sederhana. Model ini hanya cocok untuk
pengembangan perangkat lunak dengan spesifikasi yang tidak berubah-ubah.
b.
Model Prototipe
Model prototipe
dapat digunakan untuk menyambung ketidakpahaman pelanggan mengenai hal teknis
dan memperjelas spesifikasi kebutuhan yang diinginkan pelanggan kepada
pengembang perangkat lunak.
Mock Up adalah sesuatu yang digunakan sebagai
model desain yang digunakan untuk mengajar, demonstrasi, evaluasi desain,
promosi, atau keperluan lain.
Model prototipe
juga memiliki kelemahan sebagai berikut :
1) Pelanggan dapat sering-sering
mengubah-ubah atau menambah-nambah spesifikasi kebutuhan karena mengganggap
aplikasi ini sudah cepat dikembangkan
2) Pengembang lebih sering mengambil kompromi
dengan pelanggan untuk mendapatkan prototipe dengan waktu yang cepat sehingga
pengembang lebih sering melakukan segala cara guna menghasilkan prototipe untuk
didemonstrasikan
Model prototipe
cocok digunakan menggali spesifikasi kebutuhan pelanggan secara lebih detail
tetapi beresiko tinggi terhadap membengkaknya biaya dan waktu proyek
c.
Model RAD (Rapid Application
Development )
Rapid Application Development
(RAD) adalah model proses pengembangan perangkat lunak yang bersifat
inkremental terutama untuk waktu pengerjaan pendek.
Model RAD adalah
adaptasi dari model air terjun (model waterfall) versi kecepatan tinggi
dengan menggunakan model air terjun untuk pengembangan setiap komponen
perangkat lunak.
Jika kebutuhan
perangkat lunak dipahami dengan baik dan lingkup perangkat lunak dibatasi
dengan baik sehingga tim dapat menyelesaikan pembuatan perangkat lunak dengan
waktu yang pendek
Model RAD
memiliki kelemahan sebagai berikut :
1) Untuk pembuatan sistem perangkat lunak
dengan skala besar maka model RAD akan memerlukan sumber daya manusia yang
cukup besar untuk membentuk tim-tim yang mengembangkan komponen-komponen
2) Jika tidak ada persetujuan untuk
mengembangkan perangkat lunak secara cepat (rapid) maka proyek dengan
model ini akan gagal, karena hanya akan bingung mendefinisikan kebutuhan
pelanggan (customer) atau user
3) Jika sistem perangkat lunak yang akan dibuat
tidak bisa dimodulkan maka model RAD tidak dapat digunakan
4) Tidak cocok jika menggunakan teknologi
baru yang belum banyak dikenal dan dikuasai pengembang
Model RAD cocok
diterapkan apabila memenuhi kriteria proyek sebagai berikut :
1) Anggota tim sudah berpengalaman mengembangkan
perangkat lunak sejenis
2) Pengembang sudah memiliki
komponen-komponen sistem yang bisa digunakan kembali dalam proyek tersebut
d.
Model Inkremental / Iteratif
Model inkremental
mengkombinasikan proses-proses pada model air terjun (model waterfall)
dan iteratif pada model prototipe. Model inkremental akan menghasilkan
versi-versi perangkat lunak yang sudah mengalami penambahan fungsi untuk setiap
pertambahannya (inkremen / increment).
Model inkremental
dibuat untuk mengatasi kelemahan dari model air terjun yang tidak mengakomodasi
iterasi, dan mengatasi kelemahan dari metode prototipe yang memiliki proses
terlalu pendek dan setiap iteratif prosesnya tidak selalu menghasilkan produk
(bisa jadi hanya prototipe).
Model inkremental
menghasilkan produk/aplikasi untuk setiap tahapan inkremen
Model inkremental
merupakan dari model watefall dan model prototipe. Model ini cocok
digunakan pengembang dengan turnover staff tinggi.
e.
Model Spiral
Model spiral
(spiral model) memasangkan iteratif pada model prototipe dengan kontrol dan
aspek sistematik yang diambil dari model air terjun.
Model spiral
menyediakan pengembangan dengan cara cepat dengan perangkat lunak yang memiliki
versi yang terus bertambah fungsinya (increment).
Model spiral
cocok digunakan untuk mengembangkan sistem perangkat lunak berskala besar
karena memiliki proses analisis resiko yang dapat sangat meminimalisir resiko
yang mungkin terjadi dan dengan target waktu dan biaya yang tidak terlalu
mengikat.
Model spiral
memungkinkan pengembang untuk menggunakan prototipe pada setiap tahap untuk
mengurangi resiko
f.
Model Rakitan Komponen
Teknologi objek
yang memberikan kerangka kerja teknis untuk sebuah model proses berbasis
komponen bagi rekayasa perangkat lunak
Model ini
menggabungkan beberapa karakteristik model spiral, sehingga membutuhkan
pendekatan iteratif untuk menciptakan perangkat lunak.
g.
Model Perkembangan Konkuren
Model
perkembangan konkuren disebut juga rekayasa konkuren
Model ini dapat
disajikan secara skematis sebagai sederetan aktivitas teknis mayor, tugas-tugas
dan keadaan yang lain.
Kenyataannya
model proses konkuren bisa diaplikasikan ke dalam semua tipe perkembangan
perangkat lunak dan memberikan gambaran akurat mengenai keadaan tertentu dari
sebuah proyek
Tidak ada komentar:
Posting Komentar