Concurrent Development Model dan Incremental 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.
- Dimensi Sistem ditujukan menggunaan tiga aktivitas: Desain, Perakitan dan Penggunaan.
- Dimensi Komponen ditujukan dengan dua aktivitas: Desain dan Realisasi.
Concurrency
dicapai dalam jalan dua arah yaitu sebagai berikut:
- Sistem dan komponen aktivitas terjadi secara bersamaan dan dapat diperagakan menggunakan pendekatan yang berorientasi status sebelumnya.
- 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?
- Persyaratan sistem dipahami dengan jelas.
- Saat permintaan untuk merilis awalan suatu produk muncul.
- Saat tim rekayasa perangkat lunak tidak begitu terampil atau terlatih.
- Saat fitur dan sasaran berisiko tinggi dilibatkan.
- Metodologi itu lebih banyak digunakan untuk aplikasi web dan perusahaan berbasis produk.
Kelebihan
Mode Incremental:
- Memerlukan sedikit anggota dalam pengerjaan programnya karena dikerjakan sedikit demi sedikit. Jika program mulai berkembang maka penambahan anggota tim pengerjaan dapat ditambahkan sesuai kebutuhan.
- Pengguna tidak perlu menunggu sampai seluruh sistem dikirim untuk mengambil keuntungan dari sistem tersebut. Jika increment pertama sudah memenuhi persyaratan maka dapat segera digunakan.
- Resiko kegagalan proyek rendah.
- Masalah masih dapat ditemukan dan mudah diidentifikasi pada beberapa increment.
- Nilai penggunaan dapat ditentukan pada setiap increment sehingga fungsionalitas sistem disediakan lebih awal.
- Biaya lebih murah dibandingkan model lain.
Kelemahan
Mode Incremental:
- Kemungkinan tiap bagian tidak dapat diintegrasikan.
- Membutuhkan perencanaan yang baik dan matang.
- Hanya cocok untuk proyek skala kecil.
- Spesifikasi harus bersifat publik.
- Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana spesifikasi masing-masing hasil increment.
- Membutuhkan waktu yang relative lama untuk menghasilan produk yang lengkap.
- 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
Posting Komentar