Rabu, 19 Mei 2010

Model Pengembangan Evolusioner dalam Rekayasa Perangkat Lunak

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 :
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 visiblemanager-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.
TUJUAN
1. .Menjelaskan mengapa konteks dari system harus di permodelkan sebagai bagian dari proses requeirement engineering .
2. mengambarkan konsep permodelan perilaku, permodelan data, dan permodelan objek.
3. Memperkenalkan beberapa notasi yang digunakan pada UML (unifed modeling laguange)
4. Memperkenalkan pendekatan Metode formal dan metode Pemodelan form
Pemodelan Perangkat lunak dan modelnya.
1. Pemodelan perangkat lunak membantu rekayasa untuk memahami fungsionalitas dari system.
2.model di gunakan untuk berkomunikasi dengan pada stakeholder.
3.Model yang berbeda akan menampilkan suatu system dari sudud pandang yang berbeda juga.
Sudut pandang pemodelan
1. .Sudud pandang luar (external) akan menampilkan lingkungan atau konteks dari sitem
2. Model proses atau aktifitas Menampilkan proses atau pembangun dari system sama halnya dengan mengambarkan segala aktifitas yang di dukung oleh system
3. Sudut pandang perilaku memperihatkan perilaku dari system tersebut
4. Sudut pandang structural memperlihatkan arsitektur dari system atau data
Model data
1. Kebanyakan system perangkat lunak besar mengumakan database yang juga cukup besar.
2. Bagian terpenting dari pemodelan system adalah mencari bentuk logic data yang di proses dalam proses
3. pemodelan mencari bentuk logic ini merupakan semantic data model
4. contoh pemodelan data yang terkenal adalah mengunakan tehnik ERA modeling.
5. Model ini juga kurang detil, sehingga dibutuhkan deskripsi lebih detil dari masing entitas, atribut dan relasi. Mzka dapat di gunakan data dictionary
Model obyek
1. Model obyek mengambarkan suatu system dalam kelas –kelas obyek
2. kelas obyek merupakan abstraksi dari suatu set obyek dengan atribut dan operasi yang dimiliki oleh masing-masing obyek.
3. model obyek yang berbeda dapat di hasilkan :
• model inheritance
• model aggregasi
• model interaksi

Dharwiyanti, Sri (2003), Pengantar Unified Modeling Language (UML), 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

Tidak ada komentar:

Posting Komentar