Assalamualaikum…..
Pada post kali ini ane akan menjelaskan Tentang
Model Proses perangkat lunak , berserta kelebihan dan kekuranga nya:
1. RAD(
Rapid Appliaction Development),
2. Macam-macam Evolutionty Software Process,
3. Componet
based Development,
4. formal
Method Model, dan
5. 4th Generation
******
Ya pertama-tama
ane akan menjelaskan tentang RAD~~~~~
Rapid application development (RAD)
[rapid
prototyping] adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik
incremental (bertingkat). RAD
menekankan pada siklus pembangunan pendek, singkat, dan cepat. Waktu yang
singkat adalah batasan yang penting untuk model ini.
Rapid
application development menggunakan metode iteratif (berulang) dalam mengembangkan sistem
dimana working model (model bekerja) sistem dikonstruksikan di awal tahap
pengembangan dengan tujuan menetapkan kebutuhan (requirement) user dan
selanjutnya disingkirkan. Working model digunakan kadang-kadang saja
sebagai basis desain dan implementasi sistem final.
Kelebihan:
-
Menghemat
waktu dalam proses pengembangan
-
Lebih
fleksibel dalam hal pengembangan desain
-
Mampu
meminimalisasi kan kesalahan – kesalahan
-
Dan
masih banyak lagi.
Kekurangan:
-
Menggunakan
banyak biaya dibandingkan dengan bekerja sendiri
-
Mengalami
Kesulitan dalam melakukan pengukuran
-
Kesalahan
sering terjadi karena lebih memilih kecepatan dibandingkan dengan kualitas
serta biaya yang dikeluarkan
-
Untuk
proyek skala besar kurang cocok untuk model ini
******
Selanjutnya Evolutionty Software Process dan
berserta teman teman ya~~~~~
Evolutionanty software Process Model
terdiri dari:
1. Incerement model
Model ini merupakan hasil kombinasi
elemen-elemen dari model waterfall yang diaplikasikan secara berulang.
Elemen-elemen tersebut dikerjakan hingga menghasilkan produk dengan spesifikasi
tertentu kemudian proses dimulai dari awal kembali hingga muncul hasil yang
spesifikasinya lebih lengkap dari sebelumnya dan tentunya memenuhi kebutuhan
pemakai.
Kelebihan model :
-
mampu
mengakomodasi perubahan secara fleksibel, dengan waktu yang relatif singkat dan
tidak dibutuhkan anggota/tim yang banyak untuk menjalankannya.
-
Bersifat
interatif atau perulangan.
-
prioritas tinggi
pada pelayanan system adalah yang paling diuji.
-
Produk yang
dihasilkan semakin lama semakin lengkap, hingga versi akhir dari sebuah produk
akan dianggap paling lengkap dan sempurna karena mengalami perbaikan yang berkesinambungan.
-
Model ini
cocok jika jumlah anggota tim pengembangan/pembangunan software terbatas
-
Pelanggan dapat
memakai inkremen yang pertama sebagai bentuk prototype dan mendapatkan
pengalaman yang dapat menginformasikan persyaratan untuk inkremen system berikutny
-
Resiko untuk
kegagalan proyek secara keseluruhan lebih rendah. Walaupun masalah dapat
ditemukan pada beberapa inkremen, bias saja beberapa inkremen diserahkan dengan
sukses kepada pelanggan
Kekurangan model :
-
tidak
cocok untuk proyek berukuran besar (lebih dari 200.000 baris coding),dan sulit
untuk memetakan kebutuhan pemakai ke dalam rencana spesifikasi tiap-tiap hasil
dari increament.
-
Adanya kesulitan
untuk memetakan persyaratan pelanggan pada inkremen dengan ukuran yang benar
-
Butuh waktu
yang relatif lebih lama untuk menghasilkan produk yang lengkap.
2. Model spiral
Model spiral
pada awalnya diusulkan oleh Boehm, adalah model proses perangkat lunak
evolusioner yang merangkai sifat iteratif dari prototype dengan cara kontrol
dan aspeksistematis model sequensial linier.
Kelebihan model
Spiral :
-
Dapat
disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer
-
Lebih
cocok untuk pengembangan sistem dan perangkat lunak skala besar
-
Pengembang
dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap
tingkat evolusi karena perangkat lunak terus bekerja selama proses .
-
Menggunakan
prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam
evolusi produk.
-
Tetap
mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke
dalam kerangka kerja iteratif .
-
Membutuhkan
pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko sebelum
menjadi permaslahan yang serius.
Kelemahan model
Spiral :
-
Sulit untuk menyakinkan pelanggan bahwa
pendekatan evolusioner ini bisa dikontrol.
-
Memerlukan penaksiran resiko yang masuk akal dan
akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
-
Butuh waktu lama untuk menerapkan paradigma ini
menuju kepastian yang absolute
3. WINWIN Spiral Model
model yang memungkinkan user dan
pengembang melakukan komunikasi dalam tahap pengembangan, dimana bisa
memberikan win-win solution, seperti user(pengguna) bisa mengemukakan
sebagian besar dan atau keseluruhan kebutuhannya sedangkan pengembang bisa
mengembangkan perangkat lunak sesuai dengan kebutuhan usertersebut dalam
cakupan waktu dan biaya yang sudah dispesifikasikan.
Kelebihan :
-
Sama
sama adanya kesepakatan developer dengan customer.
-
Terdapat
kepuasan dan keuntungan antara developer dengan customer karena aplikasi
yang dijalankan dengan negoisasi sesuai kesepakatan.
-
Sangat
efektif untuk digunakan karena kesepakatan antara developer dengan
customer sama-sama disepakati sehingga tidak akan menimbulkan ketidak puasan
customer
Kekurangan :
-
Membutuhkan waktu yang cukup lama
-
Seringkali pada awalnya customer dengan
developer mengalamikecekcokkan pada saat negoisasi
******
Lalu ada Component-based development ~~~~~~
Component-based development
sangat berkaitan dengan teknologi
berorientasi objek. Pada pemrograman berorientasi objek, banyak class yang
dibangun dan menjadi komponen dalam suatu software. Class-class tersebut
bersifat reusable artinya bisa digunakan kembali. Model ini bersifat iteratif
atau berulang-ulang prosesnya.
Secara umum proses yang terjadi dalam
model ini adalah:
1. Identifikasi class-class yang akan digunakan kembali dengan menguji class tersebut dengan data yang akan dimanipulasi dengan aplikasi/software dan algoritma yang baru
2. Class yang dibuat pada proyek sebelumnya disimpan dalam class library, sehingga bisa langsung diambil dari library yang sudah ada. Jika ternyata ada kebutuhan class baru, maka class baru dibuat dengan metode berorientasi objek.
3. Bangun software dengan class-class yang sudah ditentukan atau class baru yang dibuat, integrasikan.
Kelebihan :
1. Identifikasi class-class yang akan digunakan kembali dengan menguji class tersebut dengan data yang akan dimanipulasi dengan aplikasi/software dan algoritma yang baru
2. Class yang dibuat pada proyek sebelumnya disimpan dalam class library, sehingga bisa langsung diambil dari library yang sudah ada. Jika ternyata ada kebutuhan class baru, maka class baru dibuat dengan metode berorientasi objek.
3. Bangun software dengan class-class yang sudah ditentukan atau class baru yang dibuat, integrasikan.
Kelebihan :
-
Mampu
mengurangi siklus waktu pengembangan software, 70%.
-
biaya
produksi berkurang sampai 84% karena pembangunan komponen berkurang.
-
Pembangunan
software dengan menggunakan komponen yang sudah tersedia dapat menggunakan
komponen COTS (Commercial off-the-shelf) – yang bisa didapatkan dengan membeli
atau komponen yang sudah dibangun sebelumnya secara internal
-
Menggunakan
model reuse, pada komponen yang sudah mewakili kebutuhan umum
Kekurangan :
-
Model
ini bersifat iteratif atau berulang-ulang prosesnya.
-
Sistem
yang tidak bisa dimodularisasi tidak cocok untuk model ini.
Component-Based Software Engineering (CBSE)
adalah proses yang menekankan perancangan dan pembangunan software dengan
menggunakan komponen software yang sudah ada. CBSE terdiri dari dua bagian yang terjadi secara paralel
yaitu software engineering (component-based development) dan domain engineering .
1. software engineering (component-based development) ialah melakukan analisis terhadap domain model yang sudah ditetapkan kemudian menentukan spesifikasi dan merancang berdasarkan model struktur dan spesifikasi sistem, kemudian melakukan pembangunan software dengan menggunakan komponen-komponen yang sudah ditetapkan berdasarkan analisis dan rancangan yang dihasilkan sebelumnya hingga akhirnya menghasilkan software.
1. software engineering (component-based development) ialah melakukan analisis terhadap domain model yang sudah ditetapkan kemudian menentukan spesifikasi dan merancang berdasarkan model struktur dan spesifikasi sistem, kemudian melakukan pembangunan software dengan menggunakan komponen-komponen yang sudah ditetapkan berdasarkan analisis dan rancangan yang dihasilkan sebelumnya hingga akhirnya menghasilkan software.
2. domain engineering ialah menciptakan
model domain bagi aplikasi yang akan digunakan untuk menganalisis kebutuhan
pengguna. Identifikasi, pembangunan, pengelompokan dan pengalokasikan
komponen-komponen software supaya bisa digunakan pada sistem yang ada dan yang
akan datang.
******
Setelah Component-based
development ada Formal Method Model ~~~~
Formal Method Model
Pada model ini, yang digunakan disini adalah notasi matematika yang terperinci dan penuh ketelitian dalam mengidentifikasi desain dan menguji sistem yang berbasis komputer.
Pada model ini, yang digunakan disini adalah notasi matematika yang terperinci dan penuh ketelitian dalam mengidentifikasi desain dan menguji sistem yang berbasis komputer.
Metode ini
sering dipakai untuk spesifikasi yang detail, rancangan dan verifikasi pada
bagian-bagian sistem yang penting (bersifat
kritikal) seperti pada sistem avionic dan aerospace, serta pada sistem
keamanan yang kritikal pada monitor jantung, ATM (Anjungan Tunai Mandiri)
dan pada perbankan.dan secara khusus, metode formal sangat cocok dijalankan
pada sistem yang kompleks.
Kelebihan model :
-
pengurangan
waktu
-
peningkatan produktivitas yang besar.
Kekurangan model :
-
kemungkinan
akan sulit memanfaatkan alat bantu/peralatan/tools 4GT dibandingkan dengan
menggunakan bahasa pemrograman yang konvensional, selain itu terdapat juga
masalah dalam hal kode sumber yang tidak efisien.
-
Di
samping itu, pemeliharaan sistem software besar yang dikembangkan oleh 4GT juga
masih sedang dalam proses pengkajian.
-
Dan
juga bebrapa kerugian lainya Biaya Tinggi, Kompleks, dan Tidak Umum untuk
Proyek Software pada umumnya
******
Selanjutnya dan
yang terahkir 4th Generation~~~~~
4th Generation
Metode pengembangan perangkat lunak 4GT
menggunakan perangkat bantu (tools) yang akan membuat kode sumber
secara otomatis berdasarkan spesifikasi dari pengembang perangkat lunak. Hanya digunakan untuk
menggunakanperangkat lunak yang menggunakan bahasa khusus atau notasi
grafik yang diselesaikan dengan syarat yang dimengerti pemakai.
Cakupan aktivitas 4GT meliputi:
1. Pengumpulan kebutuhan, idealnya
pelanggan akan menjelaskan kebutuhan yang akan ditranslasikan ke prototype
operasional.
2. Translasi
kebutuhan menjadi prototype operasional, atau langsung melakukan implementasi
secara langsung dengan menggunakan bahasa generasi keempat (4GL) jika aplikasi
relatif kecil.
3. Untuk
aplikasi yang cukup besar, dibutuhkan strategi perancangan sistem walaupun 4GL
akan digunakan.
4. Pengujian.
5. Membuat
dokumentasi.
6. Melaksanakan
seluruh aktivitas untuk mengintegrasikan solusi-solusi yang membutuhkan
paradigma rekayasa perangkat lunak lainnya.
Kelebihan :
-
Pengurangan
waktu dan peningkatan produktivitas secara besar
-
Karena
4GT menggunakan 4GL yang merupakan bahasa pemrograman yang khusus
dirancang dengan tujuan tertentu (spesifik), maka untuk permasalahan yang
tertentu dengan 4GL tertentu pula sangat tepat menggunakan 4GT.
-
Tool
yang menggunakan metode pengembangan perangkat lunak 4GL bisa
meng-generate sistem dari output yang dihasilkan oleh CASE tools.
Kekurangan :
-
Penggunaan
perangkat bantu (tools) dibandingkan dengan bahasa pemrograman, dan juga kode
sumber yang dihasilkannya tidak efisien.
-
Untuk
usaha yang besar, dibutuhkan pengembangan strategi desain untuk sistem, walau
digunakan bahasa 4GL.
-
Penggunaan
4GT tanpa perencanaan matang (untuk proyek besar) akan menyebabkan kesulitan
yang sama (kualitas dan pemeliharaan yang jelek, ketidakpuasan pelanggan)
seperti dengan metode konvensional.
-
4GL
tidak selalu berhasil menghasilkan sistem yang diinginkan.
Sekian dari
saya mohon maaf jika ada yang kurang .{ jika
kurang mengerti silakan berguru ke embah google }
wassalamualaikum.....
elsa, gua minta sesuatu
BalasHapuslu upload ke blog lu dong, tentang yang di pelajari di sekolah tapi waktu praktek aja
GC ya gua minta nya