REKAYASA PERANGKAT LUNAK Memahami Siklus Hidup Perkembangn Perangkat Lunak SDLC (Materi 2)

 1.SDLC

SDLC adalah proses yang mencakup berbagai tahapan, seperti:

  • Perencanaan
  • Analisis
  • Desain
  • Implementasi
  • Pengujian
  • Pemeliharaan

  Berbagai model pengembangan SDLC, seperti Waterfall, Iteratif, Spiral, dan Agile, memiliki kelebihan dan kekurangan masing-masing. Oleh karena itu, pemahaman terhadap model-model ini sangat penting bagi tim pengembang untuk memilih metode yang paling sesuai dengan proyek mereka.

2.Model Waterfall

Model Waterfall adalah metode pengembangan perangkat lunak yang bersifat linier dan berurutan. Dalam pendekatan ini, proses pengembangan dibagi menjadi beberapa fase yang jelas, seperti analisis kebutuhan, desain, pengkodean, pengujian, dan pemeliharaan. Setiap fase harus diselesaikan sepenuhnya sebelum melanjutkan ke fase berikutnya. Hasil dari setiap fase akan menjadi dasar bagi fase selanjutnya, mirip dengan aliran air terjun. Model ini mudah dipahami dan diterapkan, meskipun kurang fleksibel jika ada perubahan di tengah jalan.

  1. Analisis Kebutuhan: Mengidentifikasi kebutuhan pengguna dan pemangku kepentingan, serta mendokumentasikan persyaratan fungsional dan non-fungsional yang harus dipenuhi oleh sistem.
  2. Desain: Merancang arsitektur sistem dan menentukan bagaimana sistem akan berfungsi, termasuk desain antarmuka pengguna dan struktur data.
  3. Implementasi: Menulis kode perangkat lunak berdasarkan desain yang telah disetujui, mengubah fungsionalitas menjadi kode yang dapat dieksekusi.
  4. Pengujian: Menguji fungsionalitas, kinerja, keamanan, dan kompatibilitas sistem untuk memastikan perangkat lunak bekerja sesuai yang diharapkan.
  5. Pemeliharaan: Melakukan perbaikan bug, pembaruan, dan peningkatan fitur setelah perangkat lunak diluncurkan, berdasarkan umpan balik pengguna dan perubahan kebutuhan.

Kelebihan:

  • praktis, prosesnya sederhana dan terstruktur
  • Cocok untuk membuat software dengan skala besar
  • pengerjaan proyek sistem akan mudah dikontrol dan terjadwal dengan baik

Kekurangan: 

  • persyaratan sistem harus digambarkan dengan jelas
  •   rincian proses harus benar-benar jelas dan tidak boleh berubah
3.Model Iteratif 

Metode Iterative adalah pendekatan pengembangan perangkat lunak yang digunakan ketika persyaratan perangkat lunak terus berkembang. Model ini dimulai dengan implementasi sederhana dari subset persyaratan, dan secara iteratif meningkatkan versinya hingga sistem siap diimplementasikan. Setiap iterasi mencakup modifikasi desain dan penambahan fungsionalitas baru. Pendekatan ini mengembangkan sistem melalui siklus berulang dan porsi yang lebih kecil (incremental) pada setiap iterasi.

Keuntungan dari Iterative Model adalah pengguna dapat mencoba sistem yang sudah dikembangkan dan memberikan masukan, meningkatkan keterlibatan mereka dalam pengembangan. Prototipe lebih mudah dibangun dan cepat, serta memungkinkan kesalahan atau kelalaian terdeteksi lebih awal.

Kekurangan Iteratif

  • Perubahan persyaratan
  • Pembengkakan anggaran
  • Tidak cocok untuk proyek kecil
  • Kompleksitas manajemen
  • Masalah arsitektur sistem
  • Tidak dapat menentukan tanggal penyelesaian proyek

4.Model Spiral

Model Spiral adalah metode pengembangan perangkat lunak yang menggabungkan model prototyping dan waterfall, digunakan untuk mengelola risiko pada proyek besar dan kompleks. Setiap putaran spiral mewakili fase dalam proses pengembangan, dimulai dari kelayakan sistem, definisi kebutuhan, perancangan, hingga tahap berikutnya. Model ini fleksibel dan tidak terikat pada urutan fase tetap, dikenal juga sebagai Spiral Boehm.

TAHAPAN MODEL SPIRAL

  • Tahap Koordinasi = Tahap ini bertujuan untuk menyelaraskan pemahaman antara semua pihak yang terlibat dalam proyek, seperti pengembang, manajer proyek, klien, dan pemangku kepentingan lainnya
  • Tahap Perencanaan  = rencana pengembangan perangkat lunak, termasuk anggaran, jadwal, sumber daya yang dibutuhkan, dan teknologi yang akan digunakan. Tujuannya adalah untuk memastikan bahwa proyek berjalan sesuai target dan efisien dalam penggunaan sumber daya.
  • Tahap Analisis Risiko = berfokus pada identifikasi dan mitigasi risiko yang dapat menghambat pengembangan perangkat lunak
  • Tahap Rekayasa = Tahap rekayasa melibatkan desain dan implementasi perangkat lunak berdasarkan spesifikasi yang telah dibuat sebelumnya. 
  • Tahap Evaluasi = Setelah perangkat lunak dikembangkan, dilakukan evaluasi untuk memastikan bahwa sistem berfungsi dengan baik. 

Kelebihan:

  • Proyek dengan banyak risiko yang tidak diketahui terjadi saatpengembangan berlangsung.
  • Dapat menampung feedback yang diberikan oleh klien

Kekurangan:

  • Model Spiral jauh lebih kompleks daripada model SDLC
  • Model Spiral tidak cocok untuk proyek kecil karena mahal
5.Metodologi Agile

Agile adalah pendekatan pengembangan perangkat lunak yang fleksibel dan adaptif terhadap perubahan, dengan fokus pada kolaborasi tim, iterasi cepat, dan umpan balik pengguna. Tujuannya adalah mengembangkan perangkat lunak secara bertahap sesuai kebutuhan yang terus berkembang.

Scrum

    Scrum adalah metodologi Agile yang menggunakan kerangka kerja berbasis sprint (periode pengembangan singkat, biasanya 1-4 minggu) untuk mengembangkan perangkat lunak secara bertahap. Dalam Scrum, ada tiga peran utama: Product Owner (bertanggung jawab atas visi produk), Scrum Master (memfasilitasi proses Scrum), dan Development Team (pengembang yang mengerjakan tugas sprint). Scrum sangat efektif untuk proyek yang dinamis dan sering mengalami perubahan kebutuhan.

Kanban

    Kanban adalah metode Agile yang fokus pada visualisasi alur kerja menggunakan papan tugas. Tugas dipindahkan dari satu tahap ke tahap berikutnya sesuai kapasitas tim. Kanban memungkinkan pengembang mengatur prioritas pekerjaan tanpa sprint terikat waktu, memberikan fleksibilitas lebih untuk perubahan mendadak.

Extreme Programming (XP)

    Extreme Programming (XP) adalah metodologi Agile yang fokus pada kualitas kode dengan praktik seperti pair programming (dua orang bekerja pada satu kode), test-driven development (pengujian sebelum implementasi), dan continuous integration (pengujian dan penggabungan kode terus-menerus). XP cocok untuk proyek yang memerlukan perangkat lunak berkualitas tinggi dengan iterasi cepat.



Komentar

Postingan populer dari blog ini

PRINSIP DAN DIAGRAM UNTUK PERANCANGAN PERANGKAT LUNAK (kelompok 4)

Rekayasa Perangkat Lunak (Materi 1)