1. MACAM MACAM PROSES
[+] Model RAD (Rapid Application Development)
RAD adalah penggabungan beberapa metode atau teknik terstruktur. RAD menggunakan metode prototyping dan teknik terstruktur lainnya untuk menentukan kebutuhan user dan perancangan sistem informasi selain itu RAD menekankan siklus perkembangan dalam waktu yang singkat (60 sampai 90 hari) dengan pendekatan konstruksi berbasis komponen.
Keuntungan 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 potonganpotongan 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.
Kerugian RAD
Beberapa kerugian dalam menggunakan metode RAD
adalah sebagai berikut :
– Dengan melakukan pembelian belum tentu bisa
menghemat biaya dibandingkan 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 dibandingkan 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 karena harga komponen yang lebih lengkap
semakin mahal.
[+] Metode System Development Life Cycle
(SDLC)
Model SDLC sering disebut juga model air terjun. Model ini mengusulkan sebuah pendekatan perkembangan perangkat lunak yang sistematik dan sekunsial yang dimulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian, dan pemeliharaan. Model ini disusun bertingkat, setiap tahap dalam model ini dilakukan berurutan, satu sebelum yang lainnya. Model ini biasanya digunakan untuk membuat sebuah software dalam skala besar dan yang akan dipakai dalam waktu yang lama. Sangat cocok untuk pengembangan sistem yang besar
Kelebihan
-Mudah diaplikasikan.
-Memberikan template tentang metode analisis, desain,
pengkodean, pengujian, dan pemeliharaan.
Kekurangan
-Jarang sekali proyek riil mengikuti aliran
sekuensial yang dianjurkan model karena model ini bisa melakukan
itersi tidak langsung.
-Pelanggan sulit untuk menyatakan kebutuhan secara
eksplisit sehingga sulit untuk megakomodasi ketidakpastian pada saat awal
proyek.
-Pelanggan harus bersikap sabar karena harus
menunggu sampai akhir proyrk dilalui. Sebuah kesalahan jika tidak
diketahui dari awal akan menjadi masalah besar karena harus mengulang dari
awal.
-Pengembang sering malakukan penundaan yang tidak
perlu karena anggota tim proyek harus menunggu tim lain untuk melengkapi
tugas karena memiliki ketergantungan hal ini menyebabkan penggunaan waktu
tidak efesien.
[+] Model Prototyping
Prototyping adalah proses iterative dalam pengembangan sistem dimana requirement diubah ke dalam sistem yang bekerja (working system) yang secara terus menerus diperbaiki melalui kerjasama antara user dan analis. Prototype juga bisa dibangun melalui beberapa tool pengembangan untuk menyederhanakan proses.
Kelebihan
– Prototype melibatkan user dalam analisa dan
desain.
-Punya kemampuan menangkap requirement secara
konkret.
-Digunakan untuk memperluas SDLC.
Kekurangan
– Proses analisis dan perancangan terlalu singkat.
-Mengesampingkan alternatif pemecahan masalah.
-Bisanya kurang fleksible dalam mengahdapi
perubahan.
-Protitype yang dihasilkan tidak selamanya mudah
dirubah dan cepat selesai.
[+] Model Spiral
spiral pada awalnya diusulkan oleh Boehm. Model spiral adalah model proses perangkat lunak evolusioner yang merangkai sifat iteratif dari prototype dengan cara kontrol dan aspek sistematis model sequensial linier. Model iteratif ditandai dengan tingkah laku yang memungkinkan pengembang mengembangkan versi perangkat lunak yang lebih lengkap secara bertahap.
Kelebihan
– 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.
Kekurangan
– 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.
[+] Model ‘Air Terjun’ (Waterfall)
– Sering juga disebut model Sequential Linier.
– Metode pengembangan sistem yang paling tua
dan paling sederhana.
– Cocok untuk pengembangan perangkat lunak
dengan spesifikasi yang tidak berubah-ubah.
– Model ini menyediakan pendekatan alur hidup perangkat lunak secara sequential atau terurut dimulai dari analisa, desain, pengkodean, pengujian dan tahap pendukung.
Keuntungan Waterfall
– Kualitas dari sistem yang dihasilkan akan baik.
Ini dikarenakan oleh pelaksanaannya secara bertahap. Sehingga
tidak terfokus pada tahapan tertentu.
– Document pengembangan system sangat terorganisir,
karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah
ke fase berikutnya. Jadi setiap fase atau tahapan akan mempunyai
dokumen tertentu.
– Metode ini masih lebih baik digunakan walaupun
sudah tergolong kuno, daripada menggunakan pendekatan asal-asalan. Selain
itu, metode ini juga masih masuk akal jika kebutuhan sudah diketahui dengan
baik.
Kelemahan waterfall
– Diperlukan majemen yang baik, karena proses
pengembangan tidak dapat dilakukan secara berulang sebelum terjadinya
suatu produk.
– Kesalahan kecil akan menjadi masalah besar jika
tidak diketahui sejak awal pengembangan yang berakibat pada tahapan
selanjutnya.
– Pelanggan sulit menyatakan kebutuhan secara
eksplisit sehingga tidak dapat mengakomodasi ketidak pastian pada saat
awal pengembangan.
– Pelanggan harus sabar, karena pembuatan perangkat
lunak akan dimulai ketika tahap desain sudah selesai. Sedangkan pada
tahap sebelum desain bisa memakan waktu yang lama.
– Pada kenyataannya, jarang mengikuti urutan
sekuensial seperti pada teori. Iterasi sering terjadi menyebabkan masalah
baru.
[+] Model Iteratif
Mengkombinasikan proses-proses pada model air terjun
dan iteratif pada model prototipe yang menghasilkan versiversi perangkat lunak
yang sudah mengalami penambahan fungsi untuk setiap pertambahannya.
Model ini cocok untuk pengembang dengan turnover
staf yang tinggi.
Model Inkremental dibuat untuk mengatasi kelemahan model waterfall yang tidak mengakomodasi iterasi dan mengatasi kelemahan dari metode prototipe yang memiliki proses terlalu pendek.
Perbedaan 10 antara metodologi Waterfall dan
metodologi Agile.
Berikut adalah perbedaan 10 teratas antara Agile dan Waterfall Methodology:
Air terjun adalah yang terstruktur dan seringkali itu bisa sangat
kaku, sementara metodologi Agile dikenal karena
fleksibilitasnya.
Proses pengembangan perangkat lunak dibagi menjadi beberapa fase
berbeda dalam model Waterfall, sementara metodologi Agile memisahkan
siklus hidup pengembangan proyek menjadi sprint.
Menurut model Waterfall, pengembangan perangkat lunak
harus diselesaikan sebagai satu proyek. Ini kemudian dibagi menjadi beberapa fase
yang berbeda, dengan setiap fase hanya terjadi satu kali selama proyek.
Metodologi Agile, di sisi lain, dapat dilihat sebagai kumpulan dari
banyak proyek kecil yang berbeda. Proyek yang tidak lain adalah iterasi fase
yang berbeda yang bertujuan untuk meningkatkan kualitas perangkat lunak secara
keseluruhan dengan umpan balik dari pengguna atau tim QA.
Semua fase pengembangan proyek seperti desain, pengembangan,
pengujian, dan lain-lain selesai satu kali dalam model Waterfall,
sambil menerapkan pendekatan pengembangan berulang sebagai bagian dari
metodologi Agile. Perencanaan, pengembangan, pembuatan prototipe,
dan fase pengembangan perangkat lunak lainnya dapat terjadi lebih dari satu
kali selama proyek Agile.
Jika Anda ingin menggunakan model Waterfall untuk
pengembangan perangkat lunak, Anda harus mengetahui dengan jelas semua
persyaratan sebelumnya. Tidak ada ruang untuk mengubah persyaratan begitu
pengembangan proyek dimulai. Metodologi Agile cukup fleksibel
dan memungkinkan untuk membuat perubahan pada persyaratan, bahkan setelah
perencanaan awal selesai.
Sementara metodologi Waterfall adalah proses
internal dan tidak memerlukan partisipasi pengguna, pendekatan pengembangan
perangkat lunak Agile berfokus pada kepuasan pengguna dan
dengan demikian pada partisipasi pengguna selama fase pengembangan.
Salah satu perbedaan paling penting antara metodologi
pengembangan Agile dan Waterfall adalah
pendekatan mereka sendiri terhadap kualitas dan pengujian. Dalam model Waterfall,
fase “Pengujian” muncul setelah fase “Bangunan”, tetapi dalam metode Agile,
pengujian biasanya dilakukan bersamaan dengan pemrograman atau setidaknya
selama iterasi yang sama dengan pemrograman.
Model Waterfall dapat dianggap sebagai proses
sekuensial yang ketat, tetapi metodologi Agile adalah proses
pengembangan perangkat lunak yang sangat kolaboratif, yang mengarah pada input
tim yang lebih baik dan penyelesaian masalah yang lebih cepat.
Model Waterfall memerlukan pola pikir proyek dan
berfokus secara eksklusif pada penyelesaian pengembangan proyek. Agile telah
memperkenalkan pola pikir produk yang bertujuan untuk memastikan bahwa produk
yang dikembangkan memenuhi kebutuhan pengguna dan dapat disesuaikan jika
kebutuhan pengguna berubah.
Model Waterfall paling cocok untuk proyek dengan
persyaratan yang jelas dan di mana tidak ada perubahan yang diharapkan sama
sekali. Pengembangan lincah mendukung proses di mana persyaratan diharapkan
untuk berubah dan berkembang. Jadi, jika Anda berencana untuk mengembangkan
perangkat lunak yang perlu ditinjau secara teratur dan yang harus mengikuti
perkembangan teknologi dan persyaratan pengguna, Agile adalah
pendekatan terbaik untuk diikuti.
Komentar
Posting Komentar