Concurrent Development Model dan Incremental Model


Concurrent Development Model
Concurrent Development Model nama lainnya Concurrent Engineering adalah dimana model disampaikan dengan skematis teratur dan logis untuk serangkaian hal-hal yang dilakukan sebagai kerangka kegiatan dan tugas berdasarkan jadwal. Dimana melakukan aktifitas  kerja untuk menyelesaikan tugas dilakukan secara bersamaan, setiap pengerjaan tugas memiliki sebuah pemicu dari aktivitas yang dilakukan untuk penyelesaian tugas. Pemicu bisa datang dan ada pada bagian mana saja karena pemicu saling berhubungan. Misalkan jika pelanggan meminta perubahan pada desain maka akan diberhentikan sementara lalu melakukan perubahan sesuai kebutuhan yang pelanggan inginkan. Diagram Modeling activity adalah sebuah bentuk visual dari alur kerja aktivitas dan tindakan, dapat berisi pilihan atau pengulangan yang menggambarkan alur kontrol secara garis besar dengan menunjukkan skematik dari satu aktivitas dengan Concurrent Development Model. Dimana setiap orang yang menganalisa mencatat bagian-bagian setiap waktu sesuai jadwal yang telah ditentukan. Metode ini juga dilakukan dengan proses kerja cepat yang dilakukan bersama-sama dalam berbeda kondisi namun tetap efektif saat menyelesaikan berbagai macam masalah sesuai permintaan pelanggan[1].


Concurrent Development Model sering digunakan sebagai metode untuk pengembangan aplikasi Client/Server. Sistem Client/Server terdiri atas satu set komponen yang fungsional. Saat diaplikasikan untuk Client/Server, Concurrent Development Model menggambarkan kegiatan pada dua dimensi yang berbeda yaitu dimensi sistem dan dimensi komponen.
  1. Dimensi Sistem ditujukan menggunaan tiga aktivitas: Desain, Perakitan dan Penggunaan.
  2. Dimensi Komponen ditujukan dengan dua aktivitas: Desain dan Realisasi.
Concurrency dicapai dalam jalan dua arah yaitu sebagai berikut:
  1. Sistem dan komponen aktivitas terjadi secara bersamaan dan dapat diperagakan menggunakan pendekatan yang berorientasi status sebelumnya.
  2. Kekhasan aplikasi Client/Server adalah diterapkan dengan banyak komponen, masing-masing dapat dirancang dan direalisasi secara bersamaan[2].

Kelebihan dari Concurrent Development Model:
  • Menghasilkan suatu sistem yang sangat baik, karena terdapat perancangan yang terjadi secara besar, teratur dan terencana secara matang.
Kekurangan dari Concurrent Development Model:
  • Bisa saja terjadi perubahan besar-besaran secara mendadak yang menyebabkan biaya bertambah dengan waktu yang dibutuhkan semakin lama.

Incremental Model
Incremental model adalah sebuah proses dari software development dengan pengembangan sistem pada software engineering berdasarkan requirement software yang dipecah menjadi beberapa fungsi atau bagian menyebabkan model pengembangannya secara berangsur-angsur. Pengembangan tambahan dilakukan dalam langkah-langkah mulai dari desain analisis, implementasi, pengujian/verifikasi, pemeliharaan. Dengan menggunakan incremental model kita dapat mengurangi biaya sebelum mencapai level dari initial productivity dan mengakselerasi proses dari pembuatan suatu fungsi sistem. Ada juga yang mengartikan model incremental sebagai  perbaikan dari model waterfall dan sebagai standar pendekatan topdown[3]. 
Layaknya model Waterfall, model ini pun juga memiliki tahapan tahapan untuk perancangan perangkat lunaknya, yaitu:

  • Requirement: proses penentuan kebutuhan atau analisis kebutuhan.
  • Specification: proses spesifikasi dimana menggunakan analisis kebutuhan sebagai acuannya.
  • Architecture Design: perancangan software yang terbuka agar dapat diterapkan sistem pembangunan per-bagian pada tahapan selanjutnya.
  • Code: melakukan koding. 
  • Test: melakukan tahap pengujian dalam model ini
Tahapan-tahapan tersebut dilakukan secara berurutan. Setiap bagian yang sudah selesai dilakukan pengujian, setelah itu dikirim ke pemakai untuk langsung dapat digunakan. Pada incremental model, tiga tahapan awal harus diselesaikan terlebih dahulu sebelum sebelum tahap membangun tiap increment. Untuk mengantisipasi kondisi yang terjadi pada incremental model, diperkenalkan More Risky Incremental Model adalah solusi untuk mengantisipasi kondisi yang tidak diinginkan saat mengimplentasikan incremental model. Model ini menerapkan sistem kerja paralel. Setelah daftar kebutuhan didapatkan dari pemakai, tim spesifikasi membuat sebuah spesifikasi untuk modul pertama. Setelah spesifikasi untuk modul pertama selesai, tim desain menindak lanjuti. Tim spesifikasi sebelumnya juga langsung membuat spesifikasi untuk model kedua, dan seterusnya. Jadi, tidak harus menunggu modul pertama selesai hingga dikirim ke pengguna[4].

Kapan harus menggunakan model incremental?
  1. Persyaratan sistem dipahami dengan jelas.
  2. Saat permintaan untuk merilis awalan suatu produk muncul.
  3. Saat tim rekayasa perangkat lunak tidak begitu terampil atau terlatih.
  4. Saat fitur dan sasaran berisiko tinggi dilibatkan.
  5. Metodologi itu lebih banyak digunakan untuk aplikasi web dan perusahaan berbasis produk.
Kelebihan Mode Incremental:
  1. Memerlukan sedikit anggota dalam pengerjaan programnya karena dikerjakan sedikit demi sedikit. Jika program mulai berkembang maka penambahan anggota tim pengerjaan dapat ditambahkan sesuai kebutuhan. 
  2. Pengguna tidak perlu menunggu sampai seluruh sistem dikirim untuk mengambil keuntungan dari sistem tersebut. Jika increment pertama sudah memenuhi persyaratan maka dapat segera digunakan.
  3. Resiko kegagalan proyek rendah.
  4. Masalah masih dapat ditemukan dan mudah diidentifikasi pada beberapa increment.
  5. Nilai penggunaan dapat ditentukan pada setiap increment sehingga fungsionalitas sistem disediakan lebih awal.
  6. Biaya lebih murah dibandingkan model lain.
Kelemahan Mode Incremental:
  1. Kemungkinan tiap bagian tidak dapat diintegrasikan.
  2. Membutuhkan perencanaan yang baik dan matang.
  3. Hanya cocok untuk proyek skala kecil.
  4. Spesifikasi harus bersifat publik.
  5. Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana spesifikasi masing-masing hasil increment.
  6. Membutuhkan waktu yang relative lama untuk menghasilan produk yang lengkap.
  7. Memperbaiki masalah dalam satu unit membutuhkan koreksi pada semua unit sehingga menghabiskan banyak waktu.



Sumber:

  • [1]S. Maulana, "Mengenal The Concurrent Development Model", Materi-it.com, 2014. [Online]. Available: http://www.materi-it.com/2014/11/mengenal-concurrent-development-model.html. [Accessed: 15- Sep- 2019].
  • [2]Anonim, "Software Engineering-The Concurrent Development Model", Best Online Tutorials | Source codes | Programming Languages, 2012. [Online]. Available: https://www.1000sourcecodes.com/2012/05/software-engineering-concurrent.html. [Accessed: 15- Sep- 2019].
  • [3]Anonim, "Incremental Model in SDLC: Use, Advantage & Disadvantage", Guru99.com. [Online]. Available: https://www.guru99.com/what-is-incremental-model-in-sdlc-advantages-disadvantages.html. [Accessed: 15- Sep- 2019].
  • [4]Anonim, "Kelebihan dan Kekurangan Model Proses Pada Rekayasa Perangkat Lunak", MARKIJAR.Com, 2015. [Online]. Available: http://www.markijar.com/2015/04/kelebihan-dan-kekurangan-model-proses.html. [Accessed: 15- Sep- 2019].

Komentar