Rabu, 24 Oktober 2012

Software Proses Model

Software proses terbagi atas beberapa bagian yaitu :
  • Waterfall Model  
Dinamakan waterfall model karena proses ini seperti model air terjun. Proses selanjtnya dapat dikerjakan bila proses yang sebelumnya telah selesai dikerjakan.
Fase-fase pada Waterfall model menurut referensi Sommerville: 
  • Requirements analysis and definition: Mengumpulkan kebutuhan secara   lengkap kemudian kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. Fase ini harus dikerjakan secara lengkap untuk bisa menghasilkan desain yang lengkap.
  • System and software design: Desain dikerjakan setelah kebutuhan selesai dikumpulkan secara lengkap. 
  • Implementation and unit testing: desain program diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman yang sudah ditentukan. Program yang dibangun langsung diuji baik secara unit. 
  • Integration and system testing: Penyatuan unit-unit program kemudian diuji secara keseluruhan (system testing).  
  • Operation and maintenance: mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi sebenarnya. 
Keunggulan pengaplikasian model ini, antara lain adalah sebagai berikut:
  • 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 pengaplikasian model ini, antara lain adalah sebagai berikut:
  • Ketika problem muncul, maka proses berhenti, karena tidak dapat menuju ke tahapan selanjutnya. Bahkan jika kemungkinan problem tersebut muncul akibat kesalahan dari tahapan sebelumnya, maka proses harus membenahi tahapan sebelumnya agar problem ini tidak muncul. Hal-hal seperti ini yang dapat membuang waktu pengerjaan SE.
  • Karena pendekatannya secara sequential, maka setiap tahap harus menunggu hasil dari tahap sebelumnya. Hal itu tentu membuang waktu yang cukup lama, artinya bagian lain tidak dapat mengerjakan hal lain selain hanya menunggu hasil dari tahap sebelumnya. Oleh karena itu, seringkali model ini berlangsung lama pengerjaannya.
  • Pada setiap tahap proses tentunya dipekerjakan sesuai spesialisasinya masing-masing. Oleh karena itu, ketika tahap tersebut sudah tidak dikerjakan, maka sumber dayanya juga tidak terpakai lagi. Oleh karena itu, seringkali pada model proses ini dibutuhkan seseorang yang “multi-skilled”, sehingga minimal dapat membantu pengerjaan untuk tahapan berikutnya.


  • Prototyping Model
Pada proses prototyping, keinginan pemesan adalah yang nomor satu. Awalnya ketika baru berjalan, setelah mendengar keinginan si pemesan, maka akan dibuatkan contoh dasar dari software yang diinginkan oleh si pemesan. Apabila tidak sesuai dengan keinginan, maka contoh dasar tersebut dapat dengan mudah dikembangkan/dirombak seusai dengan keinginan pemesan.
Keungggulan :
  • Adanya kominuikasi yang baik antara pengembang dan pelanggan. 
  • Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
  • Pelangggan  berperan aktif dalam pengembangan sistem
  • Lebih menghemat waktu dalam pengembangan sistem
  • Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya 
 Kelemahan :
  • Ketidaksadaran user bahwa ini hanya suatu model awal bukan model akhir
  • Pengembang kadang-kadang membuat implementasi yang sembarangan.
  • Teknik dan tools yang tidak optimal pada prototipe yang akan tetap digunakan pada softare sesungguhnya 

  • Rapid Application Development (RAD)
RAD merupakan pengembangan dari waterfall model, perbedaan mendasar pada RAD dibandingkan dengan waterfall model adalah pembagian tugas dalam pembuatan perangkat lunak. Pada hal ini pembuatan perangkat lunak di bagi dalam beberapa team dan ketika team tersebut telah menyelesaikannya, akan di gabung dan satukan dalam sebuah software. 
Keuntungan dari RAD : 
  • Sangat berguna dilakukan pada kondisi user tidak memahami kebutuhan-kebutuhan apa saja yang digunakan pada proses pengembangan perangkat lunak. 
  • RAD mengikuti tahapan pengembangan sistem sepeti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada (reusable object) sehingga pengembang tidak perlu membuat dari awal lagi dan waktu lebih singkat berkisar antara 60 hari sampai 90 hari.
  • Karena mempunyai kemampuan untuk menggunakan komponen yang sudah ada dan waktu yang lebih singkat maka membuat biaya menjadi lebih rendah dalam menggunakan RAD 
Kelemahan dari RAD :
  • Proyek yang berskala besar, RAD memerlukan sumber daya manusia yang memadai untuk menciptakan jumlah tim yang baik. 
  • RAD menuntut pengembang dan pelanggan memiliki komitmen dalam aktivitas rapid fire yang diperlukan untuk melengkapi sebuah sistem dalam waktu yang singkat. Jika komitmen tersebut tidak ada maka proyek RAD akan gagal.

  • Incremental Model

Pada proses pembuatan software dengan menggunakan model ini, ketika proses analysis dan design telah selesai dikerjakan, maka dapat dilanjutkan ke increment yang berikutnya. Demikian juga selanjutnya. Pada proses ini, ketika increment selanjutnya di kerjakan, analysis yang dipakai tidak jauh berbeda dari increment sebelumnya. Hanya saja pada increment selanjutnya akan jauh lebih baik dan lebih mendekati keinginan pemesan software.
Kelebihan Increment Model
  • Personil bekerja optimal
  • 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 bagian per bagian.
  • Memaksimalkan pengembalian modal investasi konsumen
Kekurangan Increment Model 
  • Kemungkinan tiap bagian tidak dapat diintegrasikan.
  • Dapat menjadi build and Fix Model, karena kemampuannya untuk selalu mendapat perubahan selama proses rekayasa berlangsung.
  • Harus Open Architecture 

  • Spiral Model 
  • Customer communication. Aktivitas yang dibutuhkan untuk membangun komunikasi yang efektif antara developer dengan user / customer terutama mengenai kebutuhan dari customer. 
  • Planning. Aktivitas perencanaan ini dibutuhkan untuk menentukan sumberdaya, perkiraan waktu pengerjaan, dan informasi lainnya yang dibutuhkan untuk pengembangan software. 
  • Analysis risk. Aktivitas analisis resiko ini dijalankan untuk menganalisis baik resiko secara teknikal maupun secara manajerial. Tahap inilah yang mungkin tidak ada pada model proses yang juga menggunakan metode iterasi, tetapi hanya dilakukan pada spiral model. 
  • Engineering. Aktivitas yang dibutuhkan untuk membangun 1 atau lebih representasi dari aplikasi secara teknikal. 
  • Construction & Release. Aktivitas yang dibutuhkan untuk develop software, testing, instalasi dan penyediaan user / costumer support seperti training penggunaan software serta dokumentasi seperti buku manual penggunaan software. 
  • Customer evaluation. Aktivitas yang dibutuhkan untuk mendapatkan feedback dari user / customer berdasarkan evaluasi mereka selama representasi software pada tahap engineering maupun pada implementasi selama instalasi software pada tahap construction and release.
Kelebihan dari model spiral adalah penyelesaian dan biaya proyek lebih mudah diperkirakan, karena hal-hal penting sudah dapat diketahui lebih awal yaitu pada saat pembuatan prototype.
Kelemahan dari model spiral adalah melibatkan banyak pihak, biaya mahal, dan proyek cenderung bersifat kompleks 


Referensi:
http://agustina31.wordpress.com/2008/07/31/model-dan-proses-rekayasa-perangkat-lunak/
http://trisnowlaharwetan.wordpress.com/2010/03/10/perbandingan-model-dalam-rekayasa-perangkat-lunak/
http://blog.unsri.ac.id/achekha/tugas-kuliah/keunggulan-dan-kelemahan-dari-beberapa-jenis-model-pengembangan-perangkat-lunak-rpl/mrdetail/1928

Tidak ada komentar:

Posting Komentar