1.Model Waterfall
Waterfall merupakan salah satu
metode dalam SDLC yang mempunyai ciri khas pengerjaan setiap fase dalam
watefall harus diselesaikan terlebih dahulu sebelum melanjutkan ke fase
selanjutnya. Artinya fokus terhadap masing-masing fase dapat dilakukan maksimal
karena tidak adanya pengerjaan yang sifatnya paralel.
Kelebihan
metode waterfall
- Proses menjadi lebih teratur, urutan proses pengerjaan menggunakan metode ini menjadi lebih teratur dari satu tahap ke tahap yang selanjutnya.
- Dari sisi user juga lebih menguntungkan karena dapat merencanakan dan menyiapkan seluruh kebutuhan data dan proses yang akan dipperlukan.
- Jadwal menjadi lebih menentu, jadwal setiap proses dapat ditentukan secara pasti. Sehingga dapat dilihat jelas target penyelesaian pengembangan program. Dengan adanya urutan yang pasti, dapat dilihat pula progress untuk setiap tahap secara pasti.
Kelemahan
metode waterfall :
- Sifatnya kaku, sehingga susah melakukan perubahan di tengah proses.
- Jika terdapat kekuarangan proses atau prosedur dari tahan sebelumnya, maka tahapan pengembangan harus dilakukan mulai dari awal. Hal ini akan memakan waktu yang cukup lama. Karena jika proses sebelumnya belum selesai sampai akhir, maka proses selanjutnya juga tidak dapat berjalan. Maka, jika terdapat kekuarangan dalam permintaan user, proses pengembangan harus dimulai dari awal.
- Membutuhkan daftar kebutuhan yang lengkap di awal, tapi jarang konsumen bisa memberikan kebutuhan secara lengkap diawal.
- Untuk menghindari pengulangan tahap dari awal, user harus memberikan seluruhh prosedur, data dan laporan yang diinginkan mulai dari tahap awal pengembangan. Tetapi di banyak kondisi, user sering melakukan permintaan si tahap pertengahan pengembangan sistem.
- Dengan metode ini, maka development harus dilakukan mulai dari tahap awal. Karena development disesuaikan dengan design hassil user pada saat tahap awal pengembangan.
- Model Prototipe
Proto type adalah suatu proses yang
memungkinkan developer membuat sebuah model software,metode ini baik digunakan
apabila client tidak bisa memberikan informasi yang maksimal mengenai kebutuhan
yang diinginkannya. Seringkali seorang customer sulit menentukan input
yang lebih terinci, proses yang diinginkan dan output yang diharapkan hal
tersebut menyebabkan developer tidak yakin dengan efisiensi alogoritma yang di
buatnya, sehingga sulit dalam menyesuaikan sistem operasi, serta interaksi
manusia dan mesin yang harus diambil. Dalam hal seperti ini, pendekatan prototype
untuk software engineering merupakan langkah yang terbaik.
Secara ideal prototype berfungsi
sebagai subuah mekanisme untuk mengidentivikasi kebutuhan software, bila
prototype yang sedang bekerja dibangun pengembangannya harus
menggunakan fragmen-fragmen program yang ada atau mengaplikasikan
alat-alat bantu (contohnya : report generator, window manager dll) dimana
memungkinkan program yang bekerja untuk dimunculkan secara cepat.
Kelebihan
prototyping :
- Komunikasi akan terjalin baik antara pengembang dan pelanggan.
- Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan setiap pelanggannya.
- Pelanggan berperan aktif dalam proses pengembangan sistem.
- Lebih menghemat waktu dalam pengembangan sistem.
- Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya
Kelemahan
prototyping :
- Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak yang ada belum mencantumkan kualitas perangkat lunak secara keseluruhan dan juga belum memikirkan kemampuan pemeliharaan untuk jangka waktu lama.
- Pengembang biasanya ingin cepat menyelesaikan proyek sehingga menggunakan algoritma dan bahasa pemrograman yang sederhana untuk membuat prototyping lebih cepat selesai tanpa memikirkan lebih lanjut bahwa program tersebut hanya merupakan sebuah kerangka kerja(blueprint) dari sistem .
- Hubungan pelanggan dengan komputer yang disediakan mungkin tidak mencerminkan teknik perancangan yang baik dan benar.
Dalam
setiap metode mempunyai kelebihan maupun kekurangan, namun kekurangan tersebut
dapat diminimalisir yaitu dengan mengetahui kunci dari model prototype
tersebut. Kunci agar model prototype ini berhasil dengan baik adalah dengan
mendefinisikan aturan-aturan main pada saat awal, yaitu pelanggan dan
pengembang harus setuju bahwa prototype dibangun untuk mendefinisikan
kebutuhan.
3. Model
Rapid Application Development (RAD)
Rapid Application Development (RAD)
adalah sebuah model proses perkembangan software sekuensial linier yang
menekankan siklus perkembangan yang sangat pendek. Model RAD ini merupakan
sebuah adaptasi “kecepatan tinggi” dari model sekuensial linier di mana
perkembangan cepat dicapai dengan menggunakan pendekatan kontruksi berbasis
komponen. Jika kebutuhan dipahami dengan baik, proses RAD memungkinkan tim
pengembangan menciptakan “sistem fungsional yang utuh” dalam periode waktu yang
sangat pendek (kira-kira 60 sampai 90 hari). Karena dipakai terutama pada
aplikasi sistem konstruksi, pendekatan RAD melingkupi fase – fase sebagai
berikut : bussiness modeling, data modeling, process modeling, application
generation dan testing and turnover.
Kelebihan
RAD
Beberapa keuntungan dalam
menggunakan metode RAD adalah sebagai berikut:
- Membeli sistem yang baru memungkinkan untuk lebih menghemat biaya ketimbang mengembangkan sendiri.
- Proses pengiriman menjadi lebih mudah, hal ini dikarenakan proses pembuatan lebih banyak menggunakan potongan-potongan script.
- Mudah untuk diamati karena menggunakan model prototype, sehingga user lebih mengerti akan sistem yang dikembangkan.
- Lebih fleksibel karena pengembang dapat melakukan proses desain ulang pada saat yang bersamaan.
- Bisa mengurangi penulisan kode yang kompleks karena menggunakan wizard.
- Keterlibatan user semakin meningkat karena merupakan bagian dari tim secara keseluruhan.
- Mampu meminimalkan kesalahan-kesalahan dengan menggunakan alat-alat bantuan (CASE tools).
- Mempercepat waktu pengembangan sistem secara keseluruhan karena cenderung mengabaikan kualitas.
- Tampilan yang lebih standar dan nyaman dengan bantuan software-software pendukung.
Kelemahan
RAD
Beberapa kerugian dalam menggunakan
metode RAD adalah sebagai berikut :
- Dengan melakukan pembelian
belum tentu bisa menghemat biaya dibanding-
kan dengan mengembangkan sendiri. - Membutuhkan biaya tersendiri untuk membeli peralatan-peralatan penunjang seperti misalnya software dan hardware.
- Kesulitan melakukan pengukuran mengenai kemajuan proses.
- Kurang efisien karena apabila melakukan pengkodean dengan menggunakan tangan bisa lebih efisien.
- Ketelitian menjadi berkurang
karena tidak menggunakan metode yang formal
dalam melakukan pengkodean. - Lebih banyak terjadi kesalahan
apabila hanya mengutamakan kecepatan diban-
dingkan dengan biaya dan kualitas. - Fasilitas-fasilitas banyak yang dikurangi karena terbatasnya waktu yang tersedia.
- Sistem sulit diaplikasikan di tempat yang lain.
- Fasilitas yang tidak perlu terkadang harus disertakan, karena menggunakan komponen yang sudah jadi, sehingga hal ini membuat biaya semakin meningkat.
merupakan penggabungan ide pengembangan berulang (prototyping) dengan, aspek sistematis terkendali model air terjun (waterfall). Model spiral juga secara eksplisit meliputi manajemen resiko dalam pengembangan perangkat lunak. Mengidentifikasi risiko utama, baik teknis maupun manajerial, dan menentukan bagaimana untuk mengurangi risiko membantu menjaga proses pengembangan perangkat lunak di bawah kontrol .
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 absolut
5. Agile Model
(Widodo
Journal : 2006:1) Pada dekade 90-an diperkenalkan metodologi baru yang dikenal
dengan nama agile methods. Metodologi ini sangat revolusioner
perubahannya jika dibandingkan dengan metode sebelumnya. Agile Methods
dikembangkan karena pada metodologi tradisional terdapat banyak hal yang
membuat proses pengembangan tidak dapat berhasil dengan baik sesuai tuntutan
user. Saat ini metodologi ini sudah cukup banyak berkembang, diantaranya
adalah:
1)
eXtreme Programming (XP)
2)
Scrum Methodology
3)
Crystal Family
4)
Dynamic Systems Development Method (DSDM)
5)
Adaptive Software Development (ASD)
6)
Feature Driven Development (FDD)
Jika
kita lihat, agile bisa berarti tangkas, cepat, atau ringan. Agility
merupakan metode yang ringan dan cepat dalam pengembangan perangkat lunak.
Kelebihan dari agile
·
Meningkatkan
kepuasan kepada klien.
·
Dapat melakukan
review pelanggan mengenai software yang dibuat lebih awal.
·
Pembangunan
system dibuat lebih cepat.
·
Mengurangi
resiko kegagalan implementasi software dari segi non-teknis.
·
Jika pada saat
pembangunan system terjadi kegagalan kerugian dari segi materi relatif kecil.
Kekurangan dari agile
·
Developer
harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
·
Agile
tidak akan berjalan dengan baik jika komitmen tim kurang.
·
Tidak
cocok dalam skala tim yang besar (>20 orang).
·
Perkiraan
waktu release dan harga perangkat lunak sulit ditentukan
Tidak ada komentar:
Posting Komentar