Monday, April 15, 2013

Kelebihan dan Kekurangan Model Proses pada Rekayasa Perangkat Lunak

Prespective model adalah model proses dasar yang dipakai seperti dengan aturan-aturan yang ditentukan agar dapat menghindari kesalahan dalam jadwal kegiatan kerja. Tetapi pada kenyataannya bahwa setiap proyek memiliki keadaan, situasi, dan kondisi yang berbeda dan akan sangat sulit jika hanya memiliki acuan terhadap aturan - aturan yang ditentukan sebelum proyek mulai dikerjakan.
Ada beberapa Prespective model, diantaranya adalah :
    

1. Waterfall Model / Linear Sequential Model.

Waterfall model adalah model yang melakukan pendekatan pada perkembangan perangkat lunak secara seistematik dan sekuensial. Yang artinya kegiatan pada model ini dilakukan secara terurut berdasarkan panduan proses mulai dari komunikasi kepada client atau pelanggan sampai dengan aktifitas sampai pengorderan setelah masalah dipahami secara lengkap dan berjalan stabil sampai selesai.
Ada 2 fase-fase dalam Waterfall model :
   
     1. Menurut referensi Pressma

     
     2. Menurut referensi Sommerville



Kedua fase-fase menggunakan nama yang berbeda pada tiap fasenya, tetapi pada dasarnya inti dari kedua fase-fase tersebut adalah sama. Tahapan-tahapan yang sering dijumpai adalah menurut refrensi dari Sommerville karena lebih terperinci perbedaan pada tiap fasenya.

a. Requirements definition
b. System and software design
c. Implementation and unit testing
d. Integration and system testing
e. Operation and maintenance

Kelebihan Waterfall Model :
  1. Mudah diaplikasikan.
  2. Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan pemeliharaan.
  3. Cocok digunakan untuk produk software yang sudah jelas kebutuhannya di awal, sehingga minim kesalahannya.
   
Kekurangan Waterfall model :
  1. Waterfall model bersifat kaku sehingga sulit untuk melakukan perubahan pada sistem perangkat lunak.
  2. Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses.
  3. Customer harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap,menyelesaikan tahap awal baru bisa ke tahap selanjutnya.
  4. Perubahan ditengah-tengah pengerjaan produk akan membuat bingung team work yang sedang membuat produk.
  5. Adanya waktu menganggur bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya.
    
Pemakaian Waterfall model : Waterfall model digunakan untu pembuatan sistem perangkat lunak yang berukuran besardan pembuatannya secara terpisah.     

2. Model V / V-Model.

Bisa dikatakan model ini merupakan perluasan dari model waterfall. Disebut sebagai perluasan karena tahap-tahapnya mirip dengan yang terdapat dalam model waterfall. Jika dalam model waterfall proses dijalankan secara linear, maka dalam model V proses dilakukan bercabang. Dalam model V ini digambarkan hubungan antara tahap pengembangan software dengan tahap pengujiannya.

Kelebihan v model :
  1. V Model sangat fleksibel. V Model mendukung project tailoring dan penambahan dan pengurangan method dantool secara dinamik. Akibatnya sangat mudah untuk melakukan tailoring pada V Model agar sesuai dengan suatu proyek tertentu dan sangat mudah untuk menambahkan method dan tool baru atau menghilangkan method dan tool yang dianggap sudah obsolete.
  2. V Model dikembangkan dan di-maintain oleh publik. Userdari V Model berpartisipasi dalam change control boardyang memproses semua change request terhadap V Model.
   
Kekurangan v model :
  1. V Model adalah model yang project oriented sehingga hanya bisa digunakan sekali dalam suatu proyek.
  2. V Model terlalu fleksibel dalam arti ada beberapa activitydalam V Model yang digambarkan terlalu abstrak sehingga tidak bisa diketahui dengan jelas apa yang termasuk dalamactivity tersebut dan apa yang tidak.   

3. Incremental Model.

Dalam model Incremental ini proses pengerjaan perangkat lunak akan dilakukan perbagian sehingga bagian selanjutnya akan dikerjakan setelah bagian awal telah selesai dan selanjutnya sampai menghasilkan perangkat lunak yang lengkap dengan semua fungsi yang diperlukan dan pengerjaan perangkat lunak berakhir. Sebelum pengerjaan perangkat lunak akan dilakukan perancangan arsitektur software sebagai kerangka dalam pengerjaan perbagian.

Kelebihan incremental model :
  1. Resiko yang rendah pada pengembangan sistem.
  2. Mengutamakan fungsi-fungsi pada sistem perangkat lunak sehingga kemudahan pemakaian sistem yang paling di utamakan. 
  3. Tahap awal adalan dasar dari pembuatan tahap berikutnya (dikerjakan secara terurut).
  4. Cocok digunakan bila pembuat software tidak banyak/kekurangan pembuat
  5. Mampu mengakomodasi perubahan kebutuhan customer. 
  6. Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan menggunakan produknya bagian per bagian.
  7. Memaksimalkan pengembalian modal investasi konsumen.
   
Kekurangan incremental model :
  1. Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh.
  2. Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut.
  3. Hanya cocok untuk proyek dengan skala kecil.
  4. kemungkinan tiap bagian tidak dapat diintegrasikan.   

4. Prototyping Model.

Protoyping Model adalah model yang dapat diterapkan pada model apapun. Model ini tidak memerlukan data yang lengkap dari sisi client dan banyaknya keraguan dari pembuat software karena kondisi yang belum diketahui (seberapa besar software, bagaimana sistem penerapannya). Model ini tepat digunakan jika pihak client menginginkan prototype dari software dalam waktu yang singkat. Dan prototype inilah yang akan menjadi acuan dari client untuk memberikan data kebutuhan yang lebih lengkap pada pembuat software (developer).

Kelebihan Prototyping model : 
  1. Menghemat waktu pengembangan.
  2. Adanya komunikasi yang baik antara pengembang dan pelanggan.
  3. Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.
  4. Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.
  5. User dapat berpartisipasi aktif dalam pengembangan sistem.
  6. Punya kemampuan menangkap requirement secara konkret daripada secara abstrak.
  7. Untuk digunakan secara standalone.
  8. Digunakan untuk memperluas SDLC.
   
Kekurangan Prototyping model :
  1. Pada prototype tentu saja banyak kebutuhan yang tidak di tampilkan seluruhnya karena data yang dikumpulkan hanya sebagian.
  2. Prototype yang di setujui oleh client harus dikembangkan oleh developer tanpa ada data tambahan dari client dan software dari prototype harus memiliki fungsi yang lengkap.
  3. Banyak ketidak sesuaian pada bentuk prototype.
  4. Proses analisis dan perancangan terlalu singkat.
  5. 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.
  6. Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien.
  7. Mengesampingkan alternatif pemecahan masalah.
  8. Bisanya kurang fleksible dalam mengahadapi perubahan.
  9. Prototype yang dihasilkan tidak selamanya mudah dirubah 
  10. Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak yang ada belum mencantumkan kualitas perangkat lunak secara keseluruhan dan juga belum memikirkan kemampuan pemeliharaan untuk jangja waktu lama.
  11. Pengembang biasanya ingin cepat menyelesaikan proyek. Sehingga menggunakan algoritma dan bahasa pemrograman yang sederhana untuk membuat prototyping lebih cepat selesai tanpa memikirkan lebih lanjut bahwa program tersebut hanya merupakan cetak biru sistem. 
  12. Hubungan pelanggan dengan komputer yang disediakan mungkin tidak mencerminkan teknik perancangan yang baik.

5. Spiral Model.

Spiral model adalah model proses yang pendekatannya bersifat realistis pada software besar karena proses dari awal sampai proses pengiriman dan perbaikan dapat dipahami dnegan baik oleh clieent dan developer. Model ini mempunyai rangkaian kerja yang iterasi (peningkatan pada model) awal yang berbentuk prototype dan kemudian iterasi selanjutnya akan menjadi perkembangan dari model sebelumnya. Model ini dapat terus digunakan meskipun software sudah dikirimkan karena proses (siklus)dapat berputar lagi jika ada perubahan pada software sampai tidak ada permintaan perupbahan pada software oleh client.



Ada 6 pembagian proses pembuatan pada spiral model :
  1. Komunikasi Pelanggan.
  2. Perencanaan.
  3. Analisis resiko.
  4. Perekayasaan.
  5. Konstruksi dan Peluncuran.
  6. Evaluasi Client

Kelebihan model Spiral :
  1. Setiap tahap pengerjaan dibuat prototyping sehingga kekurangan dan apa yang diharapkan oleh client dapat diperjelas dan juga dapat menjadi acuan untuk client dalam mencari kekurangan kebutuhan.
  2. Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar.
  3. Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer. 
  4. Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses.
  5. Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk.
  6. Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke dalam kerangka kerja iteratif.
  7. Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko sebelum menjadi permaslahan yang serius.
   
Kekurangan model Spiral :
  1. Banyak konsumen (Client) tidak percaya bahwa pendekatan secara evolusioner dapat dikontrol oleh kedua pihak. Model spiral mempunyai resiko yang harus dipertimbangkan ulang oleh konsumen dan developer.
  2. Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses.
  3. Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru.
  4. Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
  5. Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute.

 Kesimpulan :

Dari beberapa Prespective model yang telah di jabarkan, saya beranggapan spiral modellah yang paling bagus, spiral model saya pilih mengingat banyaknya kelebihan pada model ini terutama karena Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer dan cocok untuk perangkat lunak sekala besar, meskipun model ini memiliki beberapa kekurangan tapi semua kekurangan tersebut dapat tertutupi dengan besarnya kelebihan yang dimilikinya, yang antara lain :
  1. Banyak konsumen (Client) tidak percaya bahwa pendekatan secara evolusioner dapat dikontrol oleh kedua pihak. Model spiral mempunyai resiko yang harus dipertimbangkan ulang oleh konsumen dan developer.
  2. Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses.
  3. Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru.
  4. Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
  5. Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute.

No comments :

Post a Comment

Kebahagiaan sejati bukanlah pada saat kita berhasil meraih apa yg kita perjuangkan, melainkan bagaimana kesuksesan kita itu memberi arti atau membahagiakan orang lain.

Follower

Google+ Followers

Translator

English French German Japanese Korean Chinese Russian Spanish
India Saudi Arabia Netherland Portugal Italian Philippines Ukraina Norwegia
Powered by
Widget translator