Anda di halaman 1dari 7

Model Siklus Hidup Pengembangan Perangkat Lunak-

Perbandingan, Konsekuensi

Vanshika Rastogi
Asst. Professor, Dept. of ISE, MVJCE
Bangalore

Abstrak - Siklus Hidup Pengembangan Perangkat Lunak adalah pendekatan yang terdefinisi dan
sistematis, yang dipraktikkan untuk pengembangan sistem perangkat lunak berkualitas tinggi
yang andal. Ada banyak model SDLC yang tersedia. Tulisan ini membahas lima model SDLC,
yaitu; Model air terjun, model Iteratif, model berbentuk V, model spiral, model tangkas. Setiap
model pengembangan memiliki kelebihan dan kekurangan tertentu. Makalah dimulai dengan
diskusi dengan pengenalan SDLC, diikuti oleh perbandingan komprehensif antara berbagai
model SDLC.
Kata kunci: pengembangan perangkat lunak siklus hidup, model pengembangan, perbandingan
antar model.

1. PERKENALAN
Proses membangun perangkat lunak dan sistem informasi komputer selalu didikte oleh
metodologi pengembangan yang berbeda. Metodologi pengembangan perangkat lunak mengacu
pada kerangka kerja yang digunakan untuk merencanakan, mengelola, dan mengendalikan proses
pengembangan sistem informasi. [1] Rekayasa Perangkat Lunak (SE) adalah penerapan
pendekatan sistematis, disiplin, dapat diukur terhadap pengembangan, operasi, dan pemeliharaan
perangkat lunak, dan studi tentang pendekatan ini; Artinya, penerapan teknik ke perangkat lunak
karena mengintegrasikan matematika, ilmu komputer dan praktik yang berasal dari Teknik.
Berbagai proses dan metodologi telah dikembangkan selama beberapa dekade terakhir untuk
meningkatkan kualitas perangkat lunak, dengan tingkat keberhasilan yang beragam. Namun
disepakati secara luas bahwa tidak ada pendekatan tunggal yang akan mencegah proyek berjalan
dan gagal dalam semua kasus. Proyek perangkat lunak yang besar, rumit, tidak ditentukan
dengan baik, dan melibatkan aspek yang tidak biasa, masih sangat rentan terhadap masalah
besar,
masalah yang tak terduga Proses pengembangan perangkat lunak adalah struktur yang dikenakan
pada pengembangan produk perangkat lunak. Ada beberapa model untuk proses seperti itu,
masing-masing menjelaskan uji pendekatan terhadap berbagai tugas atau aktivitas yang
berlangsung selama proses berlangsung. Ini bertujuan untuk menjadi standar yang
mendefinisikan semua tugas yang dibutuhkan untuk mengembangkan dan memelihara perangkat
lunak. [2] Model siklus hidup perangkat lunak klasik ini biasanya mencakup beberapa versi atau
bagian dari aktivitas berikut:
 Perencanaan dan Visualisasi
 Analisis Kebutuhan
 Pemodelan dan Desain Perangkat Lunak
 Pengkodean
 Dokumentasi
 Pengujian
 Penyebaran dan Pemeliharaan

2. BERBAGAI MODEL SDLC


Berbagai model SDLC dibahas sebagai berikut:
a) Model air terjun: Model air terjun adalah model klasik rekayasa perangkat lunak. Model ini
adalah salah satu model tertua dan banyak digunakan dalam proyek pemerintah dan di banyak
perusahaan besar. Karena model ini menekankan perencanaan pada tahap awal, ia memastikan
kekurangan desain sebelum mereka berkembang. Selain itu, dokumen dan perencanaan intensif
membuatnya berjalan dengan baik untuk proyek-proyek di mana pengendalian kualitas menjadi
perhatian utama. Siklus hidup air terjun terdiri dari beberapa tahap yang tidak tumpang tindih;
model dimulai dengan menetapkan persyaratan sistem dan perangkat lunak persyaratan dan
dilanjutkan dengan desain arsitektural, desain detil, pengkodean, pengujian, dan perawatan.
Model air terjun berfungsi sebagai garis dasar untuk banyak model siklus hidup lainnya. [3]
Prinsip dasar:
o Proyek dibagi menjadi fase berurutan, dengan beberapa tumpang tindih dan percikan kembali
dapat diterima antar fasa.
o Penekanan adalah pada perencanaan, jadwal waktu, tanggal target, anggaran dan implementasi
keseluruhan sistem pada satu waktu.
Pengendalian ketat dipertahankan selama masa proyek melalui dokumentasi tertulis yang
ekstensif, ulasan formal, dan persetujuan / signoff oleh pengguna dan manajemen teknologi
informasi terjadi pada akhir fase paling banyak sebelum memulai tahap berikutnya. [2]
b) Model Iteratif: Model siklus hidup iteratif tidak berusaha untuk memulai dengan spesifikasi
lengkap persyaratan. Sebagai gantinya, pengembangan dimulai dengan menentukan dan
menerapkan hanya sebagian perangkat lunak, yang kemudian dapat ditinjau untuk
mengidentifikasi persyaratan lebih lanjut. Proses ini kemudian diulang, menghasilkan versi baru
dari perangkat lunak untuk setiap siklus model. [4]

Prinsip dasar:
o Masalah dengan Model Air Terjun menciptakan permintaan akan metode baru untuk
mengembangkan sistem yang dapat memberikan hasil yang lebih cepat, memerlukan lebih
sedikit informasi di depan dan menawarkan fleksibilitas yang lebih besar.
o Model Iteratif, proyek dibagi menjadi beberapa bagian kecil. Hal ini memungkinkan tim
pengembang untuk mendemonstrasikan hasil pada proses sebelumnya dan mendapatkan umpan
balik yang berharga dari pengguna sistem.
o Setiap iterasi sebenarnya adalah proses mini-Waterfall dengan umpan balik dari satu fase
memberikan Informasi penting untuk perancangan fase berikutnya. [2]

c) Model berbentuk V: Sama seperti model air terjun, siklus hidup Berbentuk V adalah jalur
sekuensial dari proses eksekusi. Setiap fase harus diselesaikan sebelum fase berikutnya dimulai.
Pengujian lebih ditekankan pada model ini daripada model waterfall sekalipun. Prosedur
pengujian dikembangkan di awal siklus hidup sebelumnya pengkodean dilakukan, selama
masing-masing tahap sebelum implementasi. Persyaratan memulai model life cycle seperti
model waterfall. Sebelum pengembangan dimulai, rencana uji sistem dibuat. Rencana uji
berfokus pada pemenuhan fungsi yang ditentukan dalam persyaratan pengumpulan. Fase desain
tingkat tinggi berfokus pada arsitektur dan desain sistem. Rencana uji integrasi dibuat pada tahap
ini juga untuk menguji kepingan kemampuan sistem perangkat lunak untuk bekerja sama. Fase
desain tingkat rendah adalah tempat komponen perangkat lunak yang sebenarnya dirancang, dan
unit test juga tercipta pada tahap ini. Tahap implementasi adalah, sekali lagi, di mana semua
pengkodean terjadi. Setelah coding selesai, jalan eksekusi terus ke sisi kanan V dimana rencana
uji yang dikembangkan sebelumnya sekarang bisa digunakan. [6]
d) Model spiral: Model ini bukan model pertama [7] untuk membahas pengembangan berulang,
tapi ini adalah model pertama yang menjelaskan mengapa iterasi penting. Seperti yang
diperkirakan semula, iterasi biasanya 6months sampai 2 tahun. Setiap fase dimulai dengan tujuan
desain dan diakhiri dengan klien (yang mungkin internal) meninjau kemajuan sejauh ini. Upaya
analisis dan rekayasa diterapkan pada setiap tahap proyek, dengan tujuan mendekati tujuan akhir
proyek. Prosesnya dimulai di posisi tengah. Dari sana bergerak jam bijaksana dalam traversals.
Setiap traversal spiral biasanya menghasilkan penyampaian [8]. Tidak jelas apa yang bisa
disampaikan ini. Ini berubah dari traversal ke traversal. Misalnya, traversals pertama dapat
menghasilkan spesifikasi kebutuhan. Hasil kedua akan terjadi dalam prototipe, dan yang
berikutnya akan menghasilkan prototipe atau contoh produk lain, sampai traversal terakhir
mengarah ke produk yang sesuai untuk dijual. Akibatnya kegiatan terkait dan dokumentasi
mereka juga akan matang menuju traversals luar. Misalnya. sesi desain dan pengujian formal
akan ditempatkan ke dalam traversal terakhir. [9]

e) Model tangkas: Pengembangan perangkat lunak tangkas adalah gaya pengembangan


perangkat lunak yang menekankan kepuasan pelanggan melalui penyampaian fungsional secara
terus-menerus perangkat lunak". Proses Pengembangan Perangkat Lunak Agile melibatkan hal-
hal berikut:
1. Mulai dengan pertemuan kick-off
2. Persyaratan yang diketahui dipahami dan diprioritaskan. Perkembangannya adalah
rencana yang digambar sesuai.
3. Kompleksitas relatif setiap kebutuhan diperkirakan
4. Desain yang cukup dengan menggunakan diagram sederhana dilakukan
5. Pendekatan Test Driven Development (TDD) dapat digunakan. TDD penekanan pada
"menulis tes pertama dan kemudian menulis kode untuk lulus tes". Hal ini dapat
membantu dalam menghindari over-coding.
6. Pembangunan dilakukan, terkadang berpasangan, dengan banyak interaksi tim.
Kepemilikan kode dibagi saat pemrograman pasangan dilakukan.
7. Kode diuji lebih sering. Terkadang sebuah Dedicated Server Integrasi "Continuous
Integration" dapat digunakan untuk memudahkan pengujian integrasi kode.
8. Bergantung pada umpan balik yang diterima, kodenya bersifat refraktor. Refactoring
tidak mempengaruhi perilaku eksternal aplikasi namun struktur internal dapat diubah
untuk memberikan desain yang lebih baik, kemampuan pemeliharaan. Beberapa cara
refactoring bisa ditambahkan interface, gunakan kelas super, pindahkan kelas dll. [10]

3. PERBANDINGAN
Perbandingan antara model yang berbeda ditunjukkan oleh kelebihan dan kekurangan mereka
dalam dua tabel yang berbeda masing-masing:

Tabel1: Perbandingan keuntungan [6]


Tabel 2: Perbandingan Kerugian [6]

4. PERBANDINGAN MODEL WATERFALL DAN MODEL AGIL

Tabel 3: Perbandingan model Waterfall dan Agile [11]

5. KESIMPULAN
Ada lebih dari ton model sdlc hari ini. Di sini hanya sebuah penelitian terhadap lima
model yang diberikan. Makalah ini berfokus pada lima model dasar; kelebihan mereka,
kerugiannya, sehingga seseorang bisa memilih model yang paling sesuai sesuai kebutuhannya.
6. MASA DEPAN BEKERJA:
Makalah ini difokuskan pada model yang ada. Ada berbagai kekurangan dalam model
yang ada; Di masa depan kita bisa memiliki model yang bisa mengatasi kekurangan model yang
ada.

REFERENSI:
[1] IanSommerville,SoftwareEngineering,AddisonWesley,9th ed., 2010.
[2] Comparative Analysis of Different types of Models in Software Development Life Cycle-
Ms.Shikha Maheshwari, Prof. Dinesh Ch. Jain
[3] A Comparison between Five Models of Software Engineering Nabil Mohammed Ali
Munassar and A.Govardhan
[4] http://istqbexamcertification.com/what-is iterative- modeladvantages-disadvantages-and-
when-to- use-it/
[5] http://www.tutorialspoint.com/sdlc/sdlc_iterative_mod el.html
[6] Raymond Lewallen,“SoftwareDevelopment Life Cycle”, 2005
[7] weblog.erenkrantz.com/~jerenk/phase-ii/Boe88.pdf
[8] www.ccs.neu.edu/home/matthias/670s05/Lectures/2.html
[9] Software Engineering Models Consequences And Alternatives Nitin Mishra, Shantanu
Chowdhary, Arunendra Singh, Anil Sharma
[10] Study & Comparison Of SoftwareDevelopment Lifecycl Models- Gourav Khurana ,Sachin
Gupta
[11] Gray P ilgrim, “Waterfall Model Vs Agile”, Website
http://www.buzzle.com/articles/waterfall- model- vs-agile.html, Jan, 2012

Anda mungkin juga menyukai