Sabtu, 25 Februari 2023

Siklus Pengembangan Perangkat Lunak atau Software Development Life Cycle

Proses pengembangan perangkat lunak (software development process) adalah suatu struktur yang diterapkan pada pengembangan suatu produk perangkat lunak yang bertujuan untuk mengembangkan sistem dan memberikan panduan yang bertujuan untuk menyukseskan proyek pengembangan sistem melalui tahap demi tahap. Proses ini memiliki beberapa model yang masing-masing menjelaskan pendekatan terhadap berbagai tugas atau aktivitas yang terjadi selama proses. Contoh model proses pengembangan perangkat lunak antara lain adalah proses iteratif, extreme programming, serta proses air terjun (waterfall).

SDLC (Software Development Life Cycle)

SDLC atau Siklus Pengembangan Perangkat Lunak adalah proses yang menghasilkan perangkat lunak dengan kualitas tertinggi dan biaya terendah dalam waktu sesingkat mungkin. SDLC menyediakan aliran fase yang terstruktur dengan baik yang membantu organisasi untuk dengan cepat menghasilkan perangkat lunak berkualitas tinggi yang teruji dengan baik dan siap digunakan untuk produksi.

SDLC memiliki beberapa model seperti:

  • Linier Sequential Model (Waterfall)
  • Evolutionary Process Model (Prototyping dan Spiral Model)
  • Incremental Process Model (RAD)
  • Agile Model (Scrum)

Waterfall

Proses pengembangan perangkat lunak Waterfall (juga dikenal sebagai "model sekuensial linier" atau "model siklus hidup Klasik") adalah salah satu model tertua dan paling tradisional untuk membangun perangkat lunak. Dalam bentuknya yang paling dasar, Anda dapat menganggap metode Air Terjun mengikuti setiap langkah SDLC secara berurutan kita harus menyelesaikan setiap langkah secara berurutan sebelum melanjutkan. Namun, dalam sebagian besar aplikasi praktis, fase-fase tersebut sedikit tumpang tindih, dengan umpan balik dan informasi yang diteruskan di antara fase-fase tersebut.

Beberapa orang juga suka menyebut ini sebagai proses "digerakkan oleh rencana" karena untuk menyelesaikan sebuah proyek, pertama-tama Anda harus mengetahui semua yang perlu dilakukan dan dalam urutan apa. Karenanya nama "Air Terjun" karena setiap bagian mengalir ke bagian berikutnya.

Fase:

  • Perencanaan
  • Persyaratan
  • Desain sistem dan perangkat lunak
  • Penerapan
  • Pengujian
  • Penyebaran
  • Pemeliharaan/Pembaruan

Cocok untuk:

Karena strukturnya yang kaku dan waktu perencanaan awal yang besar, proses pengembangan perangkat lunak Waterfall bekerja paling baik ketika tujuan, persyaratan, dan kumpulan teknologi tidak mungkin berubah secara radikal selama proses pengembangan. Dalam istilah yang lebih praktis, proses Waterfall paling cocok untuk organisasi yang lebih besar (seperti lembaga pemerintah) yang memerlukan persetujuan dan dokumentasi pada semua persyaratan dan ruang lingkup sebelum proyek dimulai.

Tidak cocok untuk:

Jika menguji produk baru, memerlukan masukan pengguna di tengah jalan, atau ingin lebih dinamis dalam proses pengembangan, mengikuti proses pengembangan Waterfall mungkin tidak tepat. Meskipun mudah, kelemahan terbesar proses ini adalah kurangnya fleksibilitas.

Prototyping Model

Model prototyping adalah metode pengembangan sistem di mana prototipe dibangun, diuji dan kemudian dikerjakan ulang seperlunya sampai hasil yang dapat diterima tercapai dari mana sistem atau produk lengkap dapat dikembangkan. Model ini bekerja paling baik dalam skenario di mana tidak semua persyaratan proyek diketahui secara detail sebelumnya. Ini adalah proses coba-coba berulang yang terjadi antara pengembang dan pengguna.

Langkah-langkah model prototyping

Dalam kebanyakan kasus, langkah-langkah model prototyping adalah sebagai berikut:

  • Persyaratan sistem baru didefinisikan sedetail mungkin. Ini biasanya melibatkan wawancara sejumlah pengguna yang mewakili semua departemen atau aspek dari sistem yang ada.
  • Desain pendahuluan dan sederhana dibuat untuk sistem baru.
  • Prototipe pertama dari sistem baru dibangun dari desain awal. Ini biasanya merupakan sistem yang diperkecil, dan mewakili perkiraan karakteristik produk akhir.
  • Pengguna secara menyeluruh mengevaluasi prototipe pertama dan mencatat kekuatan dan kelemahannya, apa yang perlu ditambahkan dan apa yang harus dihilangkan. Pengembang mengumpulkan dan menganalisis komentar dari pengguna.
  • Prototipe pertama dimodifikasi, berdasarkan komentar yang diberikan oleh pengguna, dan prototipe kedua dari sistem baru dibangun.
  • Prototipe kedua dievaluasi dengan cara yang sama seperti prototipe pertama.
  • Langkah-langkah sebelumnya diulangi sebanyak yang diperlukan, sampai pengguna puas bahwa prototipe mewakili produk akhir yang diinginkan.
  • Sistem akhir dibangun, berdasarkan prototipe akhir.
  • Sistem akhir dievaluasi dan diuji secara menyeluruh. Pemeliharaan rutin dilakukan secara berkelanjutan untuk mencegah kegagalan skala besar dan untuk meminimalkan downtime.

RAD

Metode pengembangan perangkat lunak RAD (Rapid Application Development) adalah sebuah proses pengembangan perangkat lunak yang menekankan siklus pengembangan dengan waktu yang singkat. Definisi lain menyatakan bahwa metode pengembangan perangkat lunak RAD adalah metode yang menggunakan pendekatan beorientasi objek untuk pengembangan sistem yang meliputi pengembangan perangkat dan perangkat lunak.

4 Tahapan RAD yang Perlu Dilakukan:

1. Perencanaan Kebutuhan.

Tahapan ini merupakan tahap awal dalam suatu pengembangan sistem, dimana pada tahap ini dilakukan identifikasi masalah dan pengumpulan data yang diperoleh dari pengguna atau stakeholder pengguna yang bertujuan untuk mengidentifikasi maksud akhir atau tujuan dari sistem dan kebutuhan informasi yang diinginkan.

2. Desain Sistem.

Di dalam tahap desain sistem, keaktifan pengguna yang terlibat sangatlah penting untuk mencapai tujuan karena pada tahapan ini dilakukan proses desain dan proses perbaikan desain secara berulang-ulang apabila masih terdapat ketidaksesuaian desain terhadap kebutuhan pengguna yang telah diidentifikasi pada tahapan sebelumnya.

3. Proses pengembangan dan pengumpulan feedback.

Pada tahap ini desain sistem yang telah dibuat dan disepakati, diubah ke dalam bentuk aplikasi versi beta sampai dengan versi final. Pada tahapan ini juga programmer harus terus-menerus melakukan kegiatan pengembangan dan integerasi dengan bagian-bagian lainnya sambal terus mempertimbangkan feedback dari pengguna atau klien. Jika proses berjalan lancar maka dapat berlanjut ke tahapan berikutnya, sedangkan jika aplikasi yang dikembangkan belum menjawab kebutuhan, programmer akan kembali ke tahapan desain sistem.

4. Implementasi atau penyelesaian produk.

Tahapan ini merupakan tahapan dimana programmer menerapkan desain dari suatu sistem yang telah disetujui pada tahapan sebelumnya. Sebelum sistem diterapkan, terlebih dahulu dilakukan proses pengujian terhadap program untuk mendeteksi kesalahan yang ada pada sistem yang dikembangkan. Pada tahap ini biasa memberikan tanggapan akan sistem yang sudah dibuat dan mendapat persetujuan mengenai sistem tersebut.

Scrum

Scrum adalah kerangka kerja manajemen proyek yang gesit yang membantu tim menyusun dan mengelola pekerjaan mereka melalui serangkaian nilai, prinsip, dan praktik. Scrum mendorong tim untuk belajar melalui pengalaman, mengatur diri sendiri saat mengerjakan masalah, dan merenungkan kemenangan dan kekalahan mereka untuk terus meningkat.

Prinsip dan pelajaran Scrum dapat diterapkan pada semua jenis kerja tim. Inilah salah satu alasan scrum begitu populer. Sering dianggap sebagai kerangka kerja manajemen proyek yang gesit, scrum menjelaskan serangkaian rapat, alat, dan peran yang bekerja bersama untuk membantu tim menyusun dan mengelola pekerjaan mereka.

Kesimpulan

Software development process adalah suatu struktur yang diterapkan pada pengembangan suatu produk perangkat lunak yang bertujuan untuk mengembangkan sistem dan memberikan panduan yang bertujuan untuk menyukseskan proyek pengembangan sistem melalui tahap demi tahap.

RPL tidak sama dengan PL

SDLC (Software Development Life Cycle) memiliki beberapa model, yaitu:

  • Linier Sequential Model (Waterfall)
  • Evolutionary Process Model (Prototyping dan Spiral Model)
  • Incremental Process Model (RAD)
  • Agile Model (Scrum)


Source :

https://p2k.stekom.ac.id/ensiklopedia/Proses_pengembangan_perangkat_lunak

https://www.atlassian.com/agile/scrum

https://www.techtarget.com/searchcio/definition/Prototyping-Model

https://agus-hermanto.com/blog/detail/metode-pengembangan-rad-rapid-application-development

Tidak ada komentar:

Posting Komentar

Analisis dan Design PL

Structured System Analisys and Design  (SSAD) atau Analisis dan Desain Sistem Terstruktur adalah salah satu metodologi dalam mengembangkan ...