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

Postingan populer dari blog ini

NORMALISASI

Apa itu SQL,DDL, DML, DCL, dan TCL.