Model Pengembangan Evolusioner dalam Rekayasa Perangkat Lunak

Model pengembangan evolusioner ini berdasarkan pada implementasi awal yang akan menghasilkan komentar pemakai, sehingga dapat dilakukan perbaikan melalui banyak versi sampai sistem yang mencukupi dapat dikembangkan.  Selain memiliki aktivitas-aktivitas yang terpisah, model ini memberikan umpan balik dengan cepatdan serentak.

Ada 2 tipe dalam model pengembangan evolusioner :

  • pemrograman evolusioner

dalam tipe ini, tujuan proses adalah bekerja sama dengan konsumen untuk menghasilkan kebutuhan-kebutuhan dan menyampaikan sistem akhir kepada pemakai/konsumen.  Pengembangan dimulai dengan bagian-bagian sistem yang dimengerti. Sistem dikembangkan melalui penambahan features sesuai yang diusulkan oleh konsumen.

  • permodelan

dalam tipe yang kedua ini, tujuan proses adalah mengetahui kebutuhan-kebutuhan konsumen dan mengembangkan definisi kebutuhan yang lebih baik untuk sistem.  Model atau contoh difokuskan pada penelitian bagian-bagian kebutuhan konsumen yang kurang dimengerti.

Pemrograman evolusioner penting saat sulit untuk membuat spesifikasi sistem secara rinci. Beberapa orang mungkin setuju bahwa semua sistem masuk dalam tipe ini.  Namun, pemrograman evolusioner banyak digunakan dalam pengembangan sistem kecerdasan buatanyang berusaha menyamai kemampuan manusia.

Kita tidak mungkin membuat spesifikasi yang rinci untuk perangkat lunak yang menyamai manusia karena kita tidak mengerti bagaimana manusia menjalankan tugas-tugas mereka.

Pendekatan evolusioner biasanya lebih efektif daripada pendekatan waterfall untuk hal pengembangan perangkat lunak yang harus dengan segera dapat memenuhi kebutuhan konsumen.  Namun, dari segi teknik dan manajemen, metode ini memiliki masalah mendasar yaitu :

  • Proses tidak visibel

manager-manager membutuhkan “deliverables” yang teratur untuk mengukur kemajuan.  Jika sistem dikemangkan dengan cepat akan terjadi pemborosan pada pembuatan dokumen yang menggambarkan setiap versi sistem.

  • Sisem-sistem biasanya kurang terstruktur

Kecenderungan perubahan yang terus menerus akan mengurangi struktur dari perangkat lunak.  Evolusi perangkat lunak terlihat sulit dan mahal.

  • ketrampilan khusus jarang dimiliki

Tidak jelas batasan ketrampilan yang normal dalam rekayasa perangkat lunak yang mungkin dapat digunakan secara efektif dalam model pengembangan ini.  Kebanyakan sistem yang dikembangkan melalui cara ini telah diimplementasikan oleh kelompok kecil  yang memiliki ketrampilan yang tinggi dan motivasi yang kuat.

Untuk memecahkan masalah-masalah tersebut, kadang-kadang tujuan dari pengembangan evolusioner adalah mengembangkan contoh sistem.  Contoh ini digunakan untuk mengerti dan menvalidasikan spesifikasi sistem.  Disinilah pengembangan evolusioner merupakan bagian dari beberapa proses yang lebih luas (seperti model waterfall).

Karena masalah-masalah tersebut, sistem dengan skala besar biasanya tidak dikembangkan melalui model ini.

Pengembangan evolusioner lebih tepat untuk :

  • Pengembangan sistem yang relatif kecil.   Masalah-masalah mengenai perubahan sistem yang ada dihindari dengan mengimplementasi ulang sistem keseluruhan kapanpun perubahan yang signifikan diperlukan.  Jika permodelan digunakan, tidak terlalu mahal.
  • Pengembangan sistem yang memiliki masahidup yang relatif singkat. Di sini, sistem dikembangkan untuk mendukung beberapa aktivitas yang dibatasi oleh waktu.  Contohnya sebuah sistem yang mungkin dikembangkan secara khusus untuk peluncuran produk baru. Pengembangan sistem atau bagian-bagian dari sistem yang besar dimana tidak memungkinkan untuk menyatakan spesifikasi secara rinci.  Contohnya sistem AI dan interface pemakai.

Bahan bacaan :

Dharwiyanti, Sri (2003), Pengantar Unified Modeling Language (UML), http://www.ilmukomputer.com

Kristianto, Adi (2003), Perancangan Sistem Informasi dan Aplikasinya, Gava Media Yogyakarta

Wijana, Katon (1997), Modul Rekayasa Perangkat Lunak, Universitas Kristen Duta Wacana Yogyakarta

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: