MODEL PROSES PENGEMBANGAN PERANGKAT LUNAK

MK REKAYASA PERANGKAT LUNAK

Proses Pengembangan Perangkat Lunak (Software Development Process) adalah suatu penerapan struktur pada pengembangan suatu Perangkat Lunak (Software), yang bertujuan untuk mengembangkan sistem dan memberikan panduan untuk menyukseskan proyek pengembangan sistem melalui tahapan-tahapan tertentu. Terdapat berbagai model pengembangan sistem perangkat lunak diantaranya :

1. Waterfall Development Model

           
 Hasil gambar untuk waterfall development model

                Waterfall Development Model atau disebut Model Pengembangan Air Terjun merupakan paradigma model pengembangan perangkat lunak paling tua dan paling banyak dipakai. Model ini mengusulkan sebuah pendekatan perkembangan perangkat lunak yang sistematik dan sekuensial yang dimulai pada tingkat dan kemajuan sistem pada seluruh tahapan analisis, kode, pengujian, dan pemeliharaan.

Kelebihan Waterfall Development Model :

  • Tahapan prose pengembangan tetap ( pasti ), mudah diaplikasikan, dan prosesnya teratur.
  • Cocok digunakan untuk produk software atau program yang sudah jelas kebutuhannya di awal, sehingga minim kesalahannya.
  • Software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik.
  • Document pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya.
Kekurangan Waterfall Development Model :

  • Proyek yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan, sehingga perubahan yang terjadi dapat menyebabkan hasil yang sudah didapatkan tim pengembangan harus diubah kembali atau iterasi sering menyebabkan masalah baru.
  • Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses.
  • Sulit untuk mengalami perubahan kebutuhan yang diinginkan oleh customer atau pelanggan.
  • Pelanggan harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap dan proses pengerjaannya akan berlanjut ke setiap tahapan bila tahap sebelumnya sudah benar-benar selesai.
  • Perubahan ditengah-tengah pengerjaan produk akan membuat bingung tim pengembang yang sedang membuat produk.
  • Adanya waktu kosong (menganggur) bagi pengembang karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaanya.

2. Prototyping Model

Hasil gambar untuk prototyping model
                    Prototyping Model merupakan suatu paradigma baru dalam metode pengemabangan perangkat lunak dimana metode ini tidak hanya sekedar evolusi dalam dunia pengembangan perangkat lunak, tetapi juga merevolusi metode pengembangan perangkat luank yang lama yaitu sistem sekuensial yang biasa dikenal dengan nama SDLC atau Waterfall Development Model.

Kelebihan Prototyping Model :
  • Pelanggan berpartisipasi aktif dalam pengembangan sistem, sehingga hasil produk pengembangan akan semakin mudah disesuaikan dengan keinginan dan kebutuhan pelanggan.
  • Penentuan kebutuhan lebih mudah diwujudkan 
  • Mempersingkat waktu pengembangan produk perangkat lunak
  • Adanya komunikasi yang baik antara pengembang dan pelanggan
  • Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
  • Lebih menghemat waktu dalam pengembangan sistem
  • Penerapan menjadi lebih mudah karena pelanggan mengetahui apa yang diharapkannya.
Kekurangan Prototyping Model :
  • Proses analisis dan perancangan terlalu singkat
  • Biasanya kurang fleksibel dalam menghadapi perubahan
  • Walaupun pemakai melihat berbagai perbaikan dari setiap versi Prototype,tetapi pemakai mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang
  • Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien.

3. Model Rapid Application Development (RAD)

Hasil gambar untuk model rad
               Rapid Aplication Development (RAD) adalah sebuah model proses perkembangan pernagkat lunak sekuensial linier yang menekankan siklus perkembangan yang sangat pendek (kira-kira 60 sampai 90 hari). Model RAD ini merupakan sebuah adaptasi "kecepatan tinggi" dari model sekuensial linier dimana perkembangan cepat dicapai dengan menggunakan pendekatan konstruksi berbasis komponen.

Kelebihan Model Rapid Aplication Development (RAD) :
  • Lebih efektif dari Pengembangan Model Waterfall atau Sequensial linier dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan.
  • Cocok untuk proyek yang memerlukan waktu yang singkat.
  • Model RAD mengikuti tahap pengembangan sistem seperti pada umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada sehingga pengembang tidak perlu membuatnya dari awal lagi sehingga waktu pengembangan menjadi lebih singkat dan efisien.
Kekurangan Model Rapid Aplication Development (RAD) :
  • Model RAD menuntut pengembangan dan pelanggan memiliki komitmen didalam aktivitas rapid_fire yang diperlukan untuk melengkapi sebuah sistem di dalam kerangka waktu yang sangat di perpendek. JIka Komitmen tersebut tidak ada, proyek RAD akan gagal.
  • Tidak semua aplikasi sesuai untuk RAD, bila system tidak dapat dimodulkan dengan teratur, pembangunan, komponen penting pada RAD akan menjadi sangat bermasalah.
  • RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi.
  • Membutuhkan Tenaga kerja yang banyak untuk menyelesaikan sebuah proyek dalam skala besar.
  • Jika ada perubahan di tengah-tengah pengerjaan maka harus membuat kontrak baru antara pengembang dan pelanggan.
4. Model Incremental

Hasil gambar untuk model incremental

               Model Incremental merupakan hasil kombinasi elemen-elemen dari model waterfall yang diaplikasikan secara berulang atau bisa disebut gabungan dari Model Linier Sekuensial (waterfall) dengan Model Prototype.Elemen-elemen tersebut dikerjakan hingga menghasilkan produk dengan spesifikasi tertentu kemudian proses dimulai dari awal kembali hingga muncul hasil yang spesifikasinya lebih lengkap dari sebelumnya dan tentunya memenuhi atau kebutuhan pemakai.

Kelebihan Model Incremental :
  • Personil bekerja optimal
  • Mampu mengakomodasi perubahan secara fleksibel, dengan waktu yang relatif singkat dan tidak dibutuhkan anggota/tim kerja yang banyak untuk menjalankannya.
  • Pihak konsumen dapat langsung menggunakan dahulu bagian-bagian yang telah selesai dibangun, Contohnya pemasukan data karyawan
  • Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan menggunakan produknya setiap bagian demi bagian.
  • Memaksimalkan pengembalian modal investasi konsumen.
Kekurangan Model Incremental :
  • Tidak cocok untuk proyek berukuran besar (lebih dari 200.000 baris coding)
  • Sulit untuk memetakan kebutuhan pemakai ke dalam rencana spesifikasi tiap-tiap hasil dari increament.

5. Model Spiral / Model Boehm

Hasil gambar untuk model spiral


               Model ini mengadaptasi dua model perangkat lunak yang ada yatu prototyping dengan pengulangannya dan model waterfall dengan pengendalian dan sistematikanya. Model ini dikenal dengan sebutan Spiral Boehm. Pengembangan dalam model ini memadukan beberapa model umum tersebut untuk menghasilkan produk khusus atau untuk menjawab persoalan-persoalan tertentu selama proses pengerjaan proyek.

Kelebihan Model Spiral :
  • Sangat mempertimbangkan resiko kemungkinan munculnya keslahan sehingga sangat dapat diandalkan untuk pengmebnagan perangkat lunak skla besar. Pendekatan model ini dilakukan melalui tahapan-tahapan yang sangat baik dengan menggabungkan model waterfall ditambah dengan pengulangan-pengulangan sehingga lebih realistis untuk mencerminkan keadaan sebenarnya. Baik pengembang maupun pemakai dapat cepat mengetahui letak kekurangan dan keslahan dari sistem karena proses-prosenya dapat diamati dengan baik.
Kekurangan Model Spiral :
  • Waktu yang dibutuhkan untuk mengembangkan perangkat lunak cukup panjang demikian juaga biaya yang besar. Selain itu, sangat tergantung kepada tenaga ahli yang dapat memperkirakan resiko. Terdapat pula kesulitan untuk mengontrol proses. Sampai saat ini, karena masih relatif baru belum ada bukti apakah metode ini cukup handal untuk diterapkan. 


6. Component-Based Development Model



               Component-based Development adalah prosedur yang menonjolkan desain dan pengembangan sistem berbasis komputer dengan bantuan komponen perangkat lunak yang dapat digunakan kembali. Dengan CBD, fokusnya beralih dari pemrograman perangkat lunak ke penyusunan sistem perangkat lunak. 

               Teknik pengembangan berbasis komponen melibatkan prosedur untuk mengembangkan sistem perangkat lunak dengan memilih komponen off-the-shelf yang ideal dan kemudian merakitnya menggunakan arsitektur perangkat lunak yang terdefinisi dengan baik. Dengan penggunaan kembali komponen kasar secara sistematis, CBD bermaksud memberikan kualitas dan keluaran yang lebih baik. 



Kelebihan Component-Based Development Model :
  • Mencaplok atau menggunakan program atau komponen yang sudah ada dan menyusunnya menjadi sebuah program yang lebih kompleks dan berkembang sesuai dengan kebutuhan user/pengguna sehingga dapat mengefisienkan penggunaan waktu dan tenaga.Selain itu,model ini juga menyediakan kemampuan untuk memvisualisasikan hasil rakitan dengan kesanggupan untuk mengukur, menganalisa, merancang dan merancang ulang program.
Kekurangan Component-Based Development Model :
  • Seringnya program atau komponen-komponen terdahulu tidak kompatibel atau sejalan dengan model perakitan komponen ini sehingga untuk perusahaan berskala kecil akan kesulitan menemukan komponen yang sesuai untuk dirakit.

7. Extreme Programming (XP) Model

Hasil gambar untuk Extreme Programming (XP) Model

            Extreme Programming (XP) Model adalah suatu model yang termasuk dalam pendekatan agile yang diperkenalkan oleh Kent Back. Menurut penjelasannya, Definisi XP adalah "Extreme Programming (XP) adalah metode pengembangan software yang cepat,efisien, beresiko rendah,fleksibel,terprediksi,sientifik dan menyenangkan.".

Kelebihan Extreme Programming Model :
  • Menjalin komunikasi yang baik dengan client
  • Meningkatkan Komunikasi dan sifat menghargai antara Developer
Kekurangan Extreme Programming Model :
  • Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima
  • Tidak bisa membuat code yang detail di awal (prinsip simplicity  dan juga anjuran untuk melakukan apa yang diperlukan pada saat itu juga).

Sumber :
  • https://murtri.wordpress.com/2014/08/25/model-model-pengembangan-perangkat-lunak-beserta-contoh-penerapannya/
  • http://komandankempong.blogspot.co.id/2011/09/model-proses-rekayasa-perangkat-lunak.html
  • http://dibyosusanto.blogspot.co.id/2015/08/model-proses-perangkat-lunak.html
  • http://komputerlamongan.com/xp-extreme-programming/

Komentar

Postingan populer dari blog ini

CARA MENGISNTAL DBMS (MYSQL)

GENERIC PROCESS FRAMEWORK