Pengantar RPL SDLC(Software Development Life Cycle)
A. Incremental Model:
proses pengerjaan perangkat lunak akan dilakukan
perbagian sehingga bagian selanjutnya akan dikerjakan setelah bagian awal telah
selesai. dan selanjutnya sampai menghasilkan perangkat lunak yang lengkap dengan semua fungsi yang diperlukan dan
pengerjaan perangkat lunak berakhir. Sebelum pengerjaan perangkat lunak akan
dilakukan perancangan arsitektur software sebagai kerangka dalam pengerjaan perbagian.
Kelebihan :
·
Resiko yang rendah pada pengembangan
sistem.
·
Mengutamakan fungsi-fungsi pada
sistem perangkat lunak sehingga kemudahan pemakaian sistem yang paling di utamakan.
·
Tahap awal adalan dasar dari
pembuatan tahap berikutnya (dikerjakan secara terurut).
·
Cocok digunakan bila pembuat
software tidak banyak/kekurangan pembuat
·
Mampu mengakomodasi perubahan
kebutuhan customer.
·
Mengurangi trauma karena perubahan
sistem. Klien dibiasakan perlahan-lahan menggunakan produknya bagian per
bagian.
·
Memaksimalkan pengembalian modal
investasi konsumen.
Kelemahan :
·
Hanya akan berhasil jika tidak ada
staffing untuk penerapan secara menyeluruh.
·
Penambahan staf dilakukan jika hasil
incremental akan dikembangkan lebih lanjut.
·
Hanya cocok untuk proyek dengan
skala kecil.
·
kemungkinan tiap bagian tidak dapat
diintegrasikan.
B. Concurrent Development Model :
Concurrent Development
Model kadang disebut concurrent engineering, dapat direpresentasikan dengan
skema sebagai series dari kerangka aktifitas, aksi software engineering dan
juga tugas. Pada model ini aktifitas kerja dilakukan secara bersamaan, setiap
proses kerja memiliki beberapa pemicu kerja dari aktifitas. Pemicu dapat berasal
dari awal proses kerja maupun dari pemicu yang lain karena setiap pemicu akan
saling berhubungan. Misalnya proses desain akan berubah atau dihentikan
sementara karena ada perubahan permintaan kebutuhan dari costumer. Gambar dari
model ini dapat dilihat seperti dibawah ini.
Kelebihan :
·
Hasil yang di dapat akan menghasilkan suatu sistem yang
sangat baik karena terdapat perancangan yang terjadi secara besar dan terencana
secara matang.
Kelemahan :
·
Memungkinkan terjadinya perubahan besar-besaran, maka akan
membuat biaya dan waktu yang diperlukan membengkak.
2. A. V Model
Kelebihan :
·
V Model sangat
fleksibel. V Model mendukung project tailoring dan penambahan dan pengurangan
method dan tool 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 board yang memproses semua change request terhadap V Model.
Kelemahan :
·
V Model adalah model
yang project oriented sehingga hanya bisa digunakan sekali dalam suatu proyek.
·
V Model terlalu
fleksibel dalam arti ada beberapa activitydalam V Model yang digambarkan
terlalu abstrak sehingga tidak bisa diketahui dengan jelas apa yang termasuk
dalamactivity tersebut dan apa yang tidak.
B. RAD Model(Rapid Application
Development) :
Kelebihan :
·
Penghematan waktu
dalam keseluruhan fase projek dapat dicapai.
·
RAD mengurangi
seluruh kebutuhan yang berkaitan dengan biaya projek dan sumberdaya manusia.
·
RAD sangat membantu
pengembangan aplikasi yang berfokus pada waktu penyelesaian projek.
·
Perubahan desain
sistem dapat lebih berpengaruh dengan cepat dibandingkan dengan pendekatan SDLC
tradisional.
·
Sudut pandang user
disajikan dalam sistem akhir baik melalui fungsi-fungsi sistem atau antarmuka
pengguna.
·
RAD menciptakan rasa
kepemilikan yang kuat di antara seluruh pemangku kebijakan projek.
Kelemahan :
·
Dengan metode RAD,
penganalisis berusaha mepercepat projek dengan terburu-buru.
·
Kelemahan yang
berkaitan dengan waktu dan perhatian terhadap detail. Aplikasi dapat
diselesaikan secara lebih cepat, tetapi tidak mampu mengarahkan penekanan
terhadap permasalahan-permasalahan perusahaan yang seharusnya diarahkan.
·
RAD menyulitkan
programmer yang tidak berpengalaman menggunakan prangkat ini di mana programmer
dan analyst dituntut untuk menguasai kemampuan-kemampuan baru sementara pada
saat yang sama mereka harus bekerja mengembangkan sistem.
C. Spiral Model :
Kelebihan :
·
Setiap tahap
pengerjaan dibuat prototyping sehingga kekurangan dan apa yang diharapkan oleh
client dapat diperjelas dan juga dapat menjadi acuan untuk client dalam mencari
kekurangan kebutuhan.
·
Lebih cocok untuk
pengembangan sistem dan perangkat lunak skala besar.
·
Dapat disesuaikan
agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.
·
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 terhadap resiko teknis sehingga mengurangi resiko sebelum
menjadi permaslahan yang serius.
Kelemahan :
·
Banyak konsumen
(Client) tidak percaya bahwa pendekatan secara evolusioner dapat dikontrol oleh
kedua pihak. Model spiral mempunyai resiko yang harus dipertimbangkan ulang
oleh konsumen dan developer.
·
Memerlukan tenaga
ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses.
·
Belum terbukti apakah
metode ini cukup efisien karena usianya yang relatif baru.
·
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.
3. Specialized Process Models :
Pengertian :
Model proses khusus mengambil
banyak karakteristik dari satu atau lebih model konvensional. Namun, model
khusus cenderung diterapkan ketika pendekatan rekayasa perangkat lunak yang
sempit dipilih.
Agile Method :
Pengertian :
Sekelompok aktifitas pembangunan perangkat lunak secara
iteratif yang menekankan pada aktifitas konstruksi (desain dan koding). Agile
Process mengeliminasi sebagian besar waktu untuk melakukan perencanaan sistem
dan berusaha sebisa mungkin mematuhi jadwal delivery sistem yang telah
dijanjikan. Requirements yang dibutuhkan secara langsung di-drive oleh
pelanggan itu sendiri, dan apabila terjadi perubahan terhadap requirements
tersebut, pengembang dituntut mampu beradaptasi dengan perubahan yang terjadi.
Kelebihan :
·
Proses
Iterative dan Incremental.
·
Requirement
dapat berubah sewaktu-waktu.
·
Pelacakan
requirement dengan melihat Backlog produk.
·
Adanya
keterlibatan user secara aktif.
·
Rilis
yang lebih cepat dan berkala, fungsi dirilis setiap akhir iterasi.
·
Testing
dilakukan setiap saat.
Kelemahan :
·
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.
Scrum Method :
Pengertian :
Kerangka kerja sederhana untuk kolaborasi tim yang efektif pada produk yang
kompleks.
Kelebihan :
·
Keperluan
berubah dengan cepat.
·
Tim berukuran kecil sehingga melancarkan
komunikasi, mengurangi biaya dan memberdayakan satu sama lain.
·
·Pekerjaan
terbagi-bagi sehingga dapat diselesaikan dengan cepat.
·
·Dokumentasi
dan pengujian terus menerus dilakukan setelah software dibangun.
·
·Proses
Scrum mampu menyatakan bahwa produk selesai kapan pun diperlukan.
Kelemahan :
·
Developer
harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
·
Lemah
dalam perencanaan arsitektur
Komentar
Posting Komentar