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



REFERENSI :









Komentar

Postingan populer dari blog ini

Bahasa Pemrograman

Pengujian Perangkat Lunak

XML External Entity Attack (XXE) 6