1. Waterfall Development Model
Waterfall
development model merupakan paradigma model pengembangan perangkat lunak paling
tua, dan paling banyak dipakai. Model ini mengusulkan sebuah pendekatan
perkembangan perangkat lunak yang sistematik dan sekuensial.
Berikut
Merupakan Tahapan – tahapan Pengembangan Model Sekuensial Linear /
Waterfall Development Model :
a) Rekayasa dan
pemodelan sistem/informasi
b)
Analisis kebutuhan perangkat
lunak
c)
Desain
d)
Pengkodean
e)
Pengujian
f)
Pemeliharaan, meliputi:
- Corrective Maintenance
- Adaptive Maintenance
- Perfective Maintenance
Kelebihan Waterfall
Development Model :
- Tahapan proses pengembangannya tetap (pasti), mudah diaplikasikan, dan prosesnya teratur.
- Cocok digunakan untuk produk software/program yang sudah jelas kebutuhannya di awal, sehingga minim kesalahannya.
- Software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik.
Kekurangan
Model Sekuensial Linear / Waterfall Development Model :
- Proyek yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan, sehingga perubahan yang terjadi dapat menyebabkan hasil yang sudah didapatkan tim pengembang harus diubah kembali/iterasi sering menyebabkan masalah baru.
- Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses.
- Sulit untuk mengalami perubahan kebutuhan yang diinginkan oleh customer/pelanggan.
- Perubahan ditengah-tengah pengerjaan produk akan membuat bingung tim pengembang yang sedang membuat produk.
- Adanya waktu kosong (menganggur) bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya.
2. Model Prototype
Metode
Prototype merupakan suatu paradigma baru dalam metode pengembangan perangkat
lunak dimana metode ini tidak hanya sekedar evolusi dalam dunia pengembangan
perangkat lunak, tetapi juga merevolusi metode pengembangan perangkat lunak
yang lama yaitu sistem sekuensial yang biasa dikenal dengan nama SDLC atau
Waterfall Development Model.
Dalam Model
Prototype, prototype dari perangkat lunak yang dihasilkan kemudian
dipresentasikan kepada pelanggan, dan pelanggan tersebut diberikan kesempatan
untuk memberikan masukan sehingga perangkat lunak yang dihasilkan nantinya
betul-betul sesuai dengan keinginan dan kebutuhan pelanggan.
Perubahan dan
presentasi prototype dapat dilakukan berkali-kali sampai dicapai kesepakatan
bentuk dari perangkat lunak yang akan dikembangkan.
Teknik – teknik
Prototyping Meliputi :
- Perancangan Model
- Perancangan Dialog
- Simulasi
Berikut adalah
4 langkah yang menjadi karakteristik dalam proses pengembangan pada metode
prototype, yaitu :
- Pemilihan fungsi
- Penyusunan Sistem Informasi
- Evaluasi
- Penggunaan Selanjutnya
Metode ini
menyajikan gambaran yang lengkap dari suatu sistem perangkat lunak, terdiri
atas model kertas, model kerja dan program. Pihak pengembang akan melakukan
identifikasi kebutuhan pemakai, menganalisa sistem dan melakukan studi
kelayakan serta studi terhadap kebutuhan pemakai, meliputi model interface,
teknik prosedural dan teknologi yang akan dimanfaatkan.
Tahapan - tahapan
Proses dengan Model Prototype:
a) Pengumpulan Kebutuhan
b) Membangun Prototyping
c) Evaluasi Prototyping
d) Pengkodean Sistem
e) Menguji Sistem
f) Evaluasi Sistem
g) Implementasi Sistem
Kelebihan Model
Prototype :
- Pelanggan berpartisipasi aktif dalam pengembangan sistem, sehingga hasil produk pengembangan akan semakin mudah disesuaikan dengan keinginan dan kebutuhan pelanggan.
- Penentuan kebutuhan lebih mudah diwujudkan.
- Mempersingkat waktu pengembangan produk perangkat lunak.
- Adanya komunikasi yang baik antara pengembang dan pelanggan.
- Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.
- Lebih menghemat waktu dalam pengembangan sistem.
- Penerapan menjadi lebih mudah karena pelanggan mengetahui apa yang diharapkannya.
Kekurangan
Model Prototype :
- Proses analisis dan perancangan terlalu singkat.
- Walaupun pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang.
- Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien.
3. Model Rapid Application Development (RAD)
Berikut adalah Tahapan – tahapan Proses
Pengembangan dalam Model Rapid Application Development (RAD), yaitu :
a)
Bussiness
Modelling
- Informasi apa yang menegndalikan proses bisnis?
- Informasi apa yang dimunculkan?
- Di mana informasi digunakan ?
- Siapa yang memprosenya ?
b) Data Modelling
c) Process Modelling
d) Application Generation
e) Testing & Turnover
Kelebihan Model
RAD :
- Lebih efektif dari Pengembangan Model waterfall/sequential linear dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan.
- Cocok untuk proyek yang memerlukan waktu yang singkat.
- Model RAD mengikuti tahap pengembangan sistem seperti pada umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada sehingga pengembang tidak perlu membuatnya dari awal lagi sehingga waktu pengembangan menjadi lebih singkat dan efisien.
Kekurangan
Model RAD :
- Model RAD menuntut pengembangan dan pelanggan memiliki komitmen di dalam aktivitas rapid-fire yang diperlukan untuk melengkapi sebuah sistem, di dalam kerangka waktu yang sangat diperpendek. Jika komitmen tersebut tidak ada, proyek RAD akan gagal.
- Tidak semua aplikasi sesuai untuk RAD, bila system tidak dapat dimodulkan dengan teratur, pembangunan komponen penting pada RAD akan menjadi sangat bermasalah.
- Membutuhkan Tenaga kerja yang banyak untuk menyelesaikan sebuah proyek dalam skala besar.
- Jika ada perubahan di tengah-tengah pengerjaan maka harus membuat kontrak baru antara pengembang dan pelanggan.
4. Model Incremental
Model
Incremental merupakan hasil kombinasi elemen-elemen dari model waterfall yang
diaplikasikan secara berulang, atau bisa disebut gabungan dari Model linear
sekuensial (waterfall) dengan Model Prototype. 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.
Model ini berfokus pada
penyampaian produk operasional dalam Setiap pertambahanya. Pertambahan awal ada
di versi stripped down dari produk akhir, tetapi memberikan kemampuan untuk
melayani pemakai dan juga menyediakan platform untuk evaluasi oleh pemakai. Model
ini cocok dipakai untuk proyek kecil dengan anggota tim yang sedikit dan
ketersediaan waktu yang terbatas.
Kelebihan Model Incremental :
- Personil bekerja optimal.
- Mampu mengakomodasi perubahan secara fleksibel, dengan waktu yang relatif singkat dan tidak dibutuhkan anggota/tim kerja yang banyak untuk menjalankannya.
- Memaksimalkan pengembalian modal investasi konsumen.
Kekurangan Model Incremental :
- Tidak cocok untuk proyek berukuran besar (lebih dari 200.000 baris coding).
- Sulit untuk memetakan kebutuhan pemakai ke dalam rencana spesifikasi tiap-tiap hasil dari increment.
5. Model Spiral / Model Boehm
Model
ini mengadaptasi dua model perangkat lunak yang ada yaitu model prototyping
dengan pengulangannya dan model waterfall dengan pengendalian dan
sistematikanya. Model ini dikenal dengan sebutan Spiral Boehm. Pengembang
dalam model ini memadupadankan beberapa model umum tersebut untuk menghasilkan
produk khusus atau untuk menjawab persoalan-persoalan tertentu selama proses
pengerjaan proyek.
a)
Tahap
Liason
Pada tahap ini dibangun komunikasi
yang baik dengan calon pengguna/pemakai.
b)
Tahap
Planning (Perencanaan)
Pada tahap ini ditentukan
sumber-sumber informasi, batas waktu dan informasi-informasi yang dapat
menjelaskan proyek.
c)
Tahap
Analisis Resiko
Mendefinisikan resiko, menentukan
apa saja yang menjadi resiko baik teknis maupun manajemen.
d)
Tahap
Rekayasa (engineering)
Pembuatan prototype.
e)
Tahap
Konstruksi dan Pelepasan (Release)
Pada tahap ini dilakukan pembangunan
perangkat lunak yang dimaksud, diuji, diinstal dan diberikan sokongan-sokongan
tambahan untuk keberhasilan proyek.
f)
Tahap
Evaluasi:Pelanggan/pemakai/pengguna
biasanya memberikan masukan berdasarkan hasil yang didapat dari tahap
engineering dan instalasi.
Kelebihan
Sangat mempertimbangkan resiko
kemungkinan munculnya kesalahan sehingga sangat dapat diandalkan untuk
pengembangan perangkat lunak skala besar. Pendekatan model ini dilakukan
melalui tahapan-tahapan yang sangat baik dengan menggabungkan model waterfall
ditambah dengan pengulangan-pengulangan sehingga lebih realistis untuk
mencerminkan keadaan sebenarnya. Baik pengembang maupun pemakai dapat cepat
mengetahui letak kekurangan dan kesalahan dari sistem karena proses-prosesnya
dapat diamati dengan baik.
Kekurangan
Waktu yang
dibutuhkan untuk mengembangkan perangkat lunak cukup panjang demikian juga
biaya yang besar. Selain itu, sangat tergantung kepada tenaga ahli yang dapat
memperkirakan resiko. Terdapat pula kesulitan untuk mengontrol proses. Sampai
saat ini, karena masih relatif baru, belum ada bukti apakah metode ini cukup
handal untuk diterapkan.
6.
Model V /
V-Model
Bisa dikatakan model ini merupakan
perluasan dari model waterfall. Disebut sebagai perluasan karena tahap-tahapnya
mirip dengan yang terdapat dalam model waterfall. Jika dalam model waterfall
proses dijalankan secara linear, maka dalam model V proses dilakukan bercabang.
Dalam model V ini digambarkan hubungan antara tahap pengembangan software
dengan tahap pengujiannya.
Kelebihan V model:
- V Model sangat fleksibel. V Model mendukung project tailoring dan penambahan dan pengurangan method dantool secara dinamik. Akibatnya sangat mudah untuk melakukan tailoring pada V Model agar sesuai dengan suatu proyek tertentu dan sangat mudah untuk menambahkan method dan tool baru atau menghilangkan method dan tool yang dianggap sudah obsolete.
- V Model dikembangkan dan di-maintain oleh publik. User dari V Model berpartisipasi dalam change control boardyang memproses semua change request terhadap V Model.
Kekurangan V model:
- V Model adalah model yang project oriented sehingga hanya bisa digunakan sekali dalam suatu proyek.
- V Model terlalu fleksibel dalam arti ada beberapa activity dalam V Model yang digambarkan terlalu abstrak sehingga tidak bisa diketahui dengan jelas apa yang termasuk dalamactivity tersebut dan apa yang tidak.
7. Extreme
Programming
Extreme
Programming (XP) adalah suatu model yang termasuk dalam pendekatan agile yang diperkenalkan oleh Kent Back. Menurut
penjelasannya, definisi XP adalah sebagai berikut: “Extreme Programming (XP) adalah metode pengembangan
software yang cepat, efisien, beresiko rendah, fleksibel, terprediksi,
scientific, dan menyenangkan.“.
Model ini cenderung menggunakan
pendekatan Object-Oriented. Tahapan-tahapan yang
harus dilalui antara lain:
a)
Planning
b)
Design
c)
Coding
d)
Testing
Sasaran
Extreme Programming adalah tim yang dibentuk berukuran antara kecil sampai
medium saja, tidak perlu menggunakan sebuah tim yang besar. Hal ini dimaksudkan
untuk menghadapi requirements yang tidak jelas maupun terjadinya
perubahan-perubahan requirements yang sangat cepat. Extreme Programming
merupakan agile methods yang paling banyak digunakan dan menjadi sebuah
pendekatan yang sangat terkenal.
Core Value Extreme
Programming, yaitu:
a) Komunikasi
b) Kesederhanaan
c) Umpan Balik
d) Keberanian
Berikut Siklus Hidup dalam XP:
Kelebihan Extreme Programming,
yaitu:
- Meningkatkan kepuasan kepada klien
- Pembangunan system dibuat lebih cepat
Kelemahan Extreme Programming,
yaitu:
- Cerita-cerita yang menunjukkan requirements dari pelanggan kemungkinan besar tidak lengkap sehingga Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
- Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).
- XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user.
Tidak ada komentar:
Posting Komentar