SDLC (Software Development Life Cycle)
SDLC (Software Decelopment Life Cycle)
SDLC (Software Development Life Cycle) atau bisa juga
disebut sebagai siklus dalam sebuah pengembangan software dalam rekayasa
perangkat lunak merupakan tahapan pembentukan serta modifikasi software, model, dan juga metode yang diterapkan dalam pengembangan perangkat lunak.
Survei ini bertujuan
untuk memberikan tinjauan
secara komprehensif mengenai keefektifan Software Development
Life Cycle serta mengetahui metode apa saja yang terdapat di SLDC. Selain itu,
untuk mengetahui efisiensi perbedaan setiap metode dan tahapan-tahapan dalam pengembangan
suatu aplikasi dengan menggunakan Software Development Life Cycle.
Solusi yang ditawarkan atas penyelesaian masalah
adalah dengan membandingkan satu pengembangan ke pengembangan lainnya dan dapat
ditinjau dari keefektifan metode pada
SDLC, keefisien metode pada SDLC dalam menyelesaikan masalah.
Manfaat yang diharapkan, peneliti selanjutnya dapat
merefleksikan contoh kasus dalam paper ini dengan kasus pengembangan Software
Development Life Cycle yang sedang mereka teliti. Sehingga
mereka dapat menemukan solusi menggunakan rekomendasi pilihan
pengembangan Software Development Life Cycle dengan metode yang sesuai dengan
kasus mereka.
Metode-metode SDLC yang telah ditemukan akan
dibandingkan dan dijabarkan dalam tabel
dengan memperhatikan perbedaan
berupa kelebihan dan kekurangan masing-masing metode dan mencantumkan source dari
penemuan tersebut. Metode nya antara lain :
|
METODE
SDLC |
KELEBIHAN |
KEKURANGAN |
|
Waterfall |
- Memiliki pendekatan
alur hidup yang terurut -Kualitas sistem
yang dihasilkan baik karena
pelaksanaan dijalankan bertahap -Memudahkan
pengembangansistem karena dokumen yang
terorganisir |
- Memakan
banyak waktu - Memiliki
potensi kerugian akibat kesalahan sangat
besar - Memerlukan manajemen
yang baik - Kesalahan kecil
akan menjadi kesalahan besar
yang merugikan - Clientsulit mengungkapkan kebutuhan eksplisit |
|
Protoype |
- Clientdapat
menjelaskan kebutuhan secara rinci - Projekmemiliki peluang
yang sangat besar untuk
selesai sesuai target -
Komunikasi yang baik antara developdengan client - Pengembangan aplikasi
menjadi lebih mudah -
Memiliki syarat yang lebih baik - Hasil
yang dicapai akurat |
- Tidak
optimalnya Teknik dan tools -
Pemeliharaan yang sulit - Analisis
dan perancangan sangat singkat sehingga miskin dokumen - Tidak
fleksibel ketika ada perubahan - Sulit
mengelola dan mengendalikan tahapan |
|
Rapid
Application Development |
- Dapat
menghemat dalam keseluruhan project -
Pengembangan aplikasi berfokus padaa waktu penyelesaian -
Cepat mengadopsi perubahan pada sistem -
UI dan fungsi sistem yang baik
didajikan untuk user -
Tercipta rasa kepemilikan yang kuat bagi seluruh pemangku projek |
- Analisis
project terburu-buru - Hasil
tidak menekankan pada permasalahan yang seharusnya diarahkan - Tidak
detail -Menyulitkan
programmerbaru dalam pengembangan sistem - Tidak
semua aplikasi cocok untuk metode ini - Tidak
sesuai untuk sistem dengan resiko tinggi |
|
Evolutionary |
-
Ketika proyek masih berjalan, development dapat mengembangkan konsep dari
sistem tersebut - Tiap
iterasi mudah dipelihara - Pembiayaan
yang murah - Waktu
pengembangan singkat |
(Efektif
untuk berbagai jenis kasus) |
|
Agile |
- Fleksibel
untuk penyesuaian keadaan apapun - Kepuasan
pelanggan adalah prioritas, dan kolaborasi dengan pebisnis - Software
yang dihasilkan baik, serta waktu pengerjaan yang konstan -
Pengujian dilaksanakan tiap saat - Requirementbisa
berubah kapan saja |
- Jarang
dipraktekkan langsung, dan juga di project besar -
Komunikasi terlalu sering dengan client -
Sulit diterapkan pada proyek berskala besar -
Perlu adanya manajemen tim yang terlatih - Lemah
dalam arsitektur -
Memiliki waktu yang terbatas |
|
Rational
Unified Proccess |
-
Memiliki akses yang mudah bagi pengetahuan dasar tim - Proses
pengulangan dan pengembangan didukung - Penambahan
fitur pada proses dimungkinkan -
Tes dimungkinkan saat sedang pengembangan -
Memungkinkan perubahan yang terjadi dalam pengembangan sistem |
- Hanya
tersedia dalam perangkat lunak berorientasi objek yang berfokus pada UML - Membutuhkan
waktu yang lama |
|
Build
and Fix |
- Cocok
untuk proyek skala kecil - Tidak
perlu banyak perencanaan - Cocok
untuk aplikasi yang membutuhkan waktu singkat - Pembangunan
sistem yang cepat |
- Metode
yang kasar karena sistem tidak memiliki spesifikasi atau ide rancangan |
|
Extreme
Programming |
- Komunikasi
dengan client berjalan baik - Meningkatkan
saling menghargai dan komunikasi yang baik antar pengembang - Waktu
pengembangan singkat walau kebutuhan berubah -
Dilakukan hanya dengan 2-10 orang dalam 1 tim - Cocok
untuk proyek berskala kecil |
- Tidak
banyak yang menggunakan, karena tiap individu dituntut dengan spesialis
berbeda |
|
V
Shape Model |
- Sederhana
- Delivery
tertentu pada setiap survei -
Memiliki peluang keberhasilan yang tinggi - Cocok
untuk proyek kecil |
- Kaku - Tidak
terlalu fleksibel - Pengembangan
yang sulit dan mahal - Tidak
memberi solusi yang jelas pada suatu masalah |
|
Fountain |
- Dapat
melewati tahapan lain kecuali desain - Waktu
membangun sistem singkat |
(Efektif
untuk berbagaijenis kasus) |
Dari
hasil perbandingan, ditemukan beberapa metode dengan tulisan “(efektifuntuk
berbagai jenis kasus)” yaitu metode Fountain dan metode Evolutionary. Tulisan
tersebut memiliki makna bahwa metode itu dapat digunakan pada seluruh jenis
kasus apapun sehingga tidak terklarifikasi kekurangan dari metode tersebut.
Selain kedua metode tersebut, maka dapat digunakan hanya pada kondisi kasus tertentu dan akan
bermasalah jika diimplementasikan pada jenis kasus lain. Metode-metode tersebut
hanya bisa diimplementasikan pada kondisi projek seperti yang telah dijelaskan
pada kekurangan dan kelebihan dari metode-metode tersebut. Agar tepat sasaran
dan mengurangi resiko kegagalan.
Kesimpulannya : SDLC
(Software Development Life Cycle) atau bisa juga disebut sebagai siklus
dalam sebuah pengembangan software dalam rekayasa perangkat lunak merupakan tahapan
pembentukan serta modifikasi software, model, dan juga metode yang diterapkan dalam
pengembangan perangkat lunak. Dengan begitu Survei menjelaskan terdapat 10
metode SDLC yaitu Waterfall, Protoype, Rapid Application Development, Evolutionary,
Agile, Rational Unified Proccess, Build and
Fix, Extreme Programming, V Shape
Model,dan Fountain. Analisis terhadap 10 metode SDLC memberikan hasil
bahwa metode yang paling banyak digunakan diantara tahun 1992-2022 adalah
metode Prototype, Agile,dan
Extreme Programming.Lalu, analisis
juga memberikan hasil penerapan
metode SDLC dalam contoh tiga kasus dengan memberikan rekomendasi metode SDLC
yang cocok digunakan.
- Pada kasus perancangan aplikasi tutorial, metode
yang direkomendasikan adalah metode Prototype.
- Pada kasus pengembangan E-Trace, metode yang
direkomendasikan adalah metode Agile.
- Pada kasus pembangunan web aplikasi, metode yang
direkomendasikan adalah metode Extreme Programming.
***Semua materi tercantum diambil dari Juornal :
-
SurveiMetode-MetodeSoftware
DevelopmentLife CycleDengan Metode Systematic Literature ReviewSayyid Muhammad
Uwais Fathanah Assegaf1,Fadillah Siva2,Sheva Athalla Pahlevi3, Muhammad Ainul
Yaqin4,*Jurusan Teknik Informatika, Universitas Islam Maulana Malik Ibrahim,
Indonesia
<< https://journal.unublitar.ac.id/ilkomnika/index.php/ilkomnika/article/view/447/132>>
Komentar
Posting Komentar