perbandingan software methodologi
TRANSCRIPT
Methodologi S/W Development, SDLC (System Development Life Cycle)
SD
LCWaterfall
Spiral
Incremental
Prototyping
Rapid Application Development (RAD)
Metodologi Waterfall
Fase-fase dalam metodologi waterfall
Model ini adalah model klasik yang bersifat sistematis, berurutan dalammembangun software. Berikut ini ada dua gambaran dari waterfall model.Sekalipun keduanya menggunakan nama-nama fase yang berbeda, namun sama dalam intinya.
PENGERTIAN
Gambar Model Menurut Pressman
Tahapan waterfall
Fase-fase dalam Waterfall Model menurut referensi Sommerville :
Pembentukan kebutuhan dari semua elemen
Pembentukan Domain Informasi
Membuat design sebelum dibuat program
Pengkodean design sehingga menjadi program yang bisa dimengerti.
Memeriksa apakah program telah sesuai harapan atau tidak.
Pemecahaan error yang muncul dan menambah fungsi bila diperlukan
Keuntungan dan kerugian waterfall
KeuntunganMembagi masalah ke dalam tahap yang berbeda yang dapat dilakukan secara independen
Pendekatan alami untuk pemecahan masalah
Mudah untuk mengelola dalam kontrak - setiap fase adalah milestone
KerugianMenganggap bahwa persyaratan dapat ditetapkan dan dibekukan di awal
Menetapkan perangkat keras dan teknologi lainnya terlalu dini
Mengikuti pendekatan "big bang" – “all or nothing delivery”; terlalu berisiko
Sangat berorientasi dokumen, membutuhkan dokumen pada akhir setiap tahap
Metodologi Spiral
Pendekatan dengan model ini sangat baik digunakan untuk pengembangan sistem dalam skala besar karena progres perkembangan dari proyek dapat dipantau oleh kedua belah pihak baik developer maupun user/customer, sehingga mereka dapat mengerti dengan baik mengenai proyek ini.
PENGERTIAN
Gambar Model
Proses digambarkan sebagai spiral. Setiap loop mewakili satu fase dari software process. Loop paling dalam berfokus pada kelayakan dari sistem, loop selanjutnya tentang definisi dari kebutuhan, loop berikutnya berkaitan dengan desain sistem dan seterusnya.
Tahapan metodologi spiral
Customer Communicatio
n
Planning
Risk Analisis
Engineering
Construction and Release
Customer Evaluation
Artefak dari setiap tahapan spiralCustomer Communication
Risk Analisis
• Input : hasil interview• Proses : komunikasi antara pengembang
dengan pelanggan• Output : kebutuhan
• Input : kebutuhan• Proses : penentuan tujuan, alternatif dan
batasan• Output : gambaran sistem
• Input : gambaran sistem• Proses : analisa alternatif dan
identifikasi/pemecahan resiko• Output : rancangan sistem
Planning
Artefak dari setiap tahapan spiral
• Input : rancangan sistem• Proses : pengembangan level berikutnya
dari produk• Output : produk
Engineering
• Input : produk• Proses : testing, instalasi, dan
menyediakan support termasuk dengan training pada user dan pembuatan dokumentasi
• Output : produk jadi
• Input : produk jadi• Proses : penilaian terhadap hasil
engineering• Output : hasil evaluasi, produk siap pakai
Construction and release
Customer Evaluation
Kelebihan dan kekurangan metodologi Spiral
KeuntunganDapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.
Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
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 .
KerugianSulit untuk meyakinkan 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
Methodologi Incremental
Metode Incremental adalah suatu model pengembangan sistem pada software engineering yang berdasarkan requirement software yang dipecah menjadi beberapa fungsi atau bagian sehingga model pengembangan dilakukan secara bertahap atau increment
PENGERTIAN
Gambar Model
Tahapan metodologi Incremental
Requirement Analisis
Specification
Architecture Design
Code
Test
Penentuan kebutuhan/analisis kebutuhanProses spesifikasi dengan acuan analisis kebutuhan
Tahap Perancangan Software
Proses Pengkodean setelah tahap design Merupakan tahap
pengujian
Model Incremental
kombinasikan element-element dari waterfall dengan sifat iterasi/perulangan.
element-element dalam waterfall dikerjakan dengan hasil berupa produk
dengan spesifikasi tertentu, kemudian proses dimulai dari fase pertama hingga akhir dan menghasilkan produk dengan spesifikasi yang lebih lengkap dari yang sebelumnya. Demikian seterusnya hingga semua spesifikasi memenuhi kebutuhan pengguna.
produk hasil increment pertama biasanya produk inti (core product), yaitu produk yang memenuhi kebutuhan dasar.
model ini cocok jika jumlah anggota tim pengembang/pembangun PL tidak cukup.
Mampu mengakomodasi perubahan secara fleksibel. Produk yang dihasilkan pada increment pertama bukanlah prototype,
tapi produk yang sudah bisa berfungsi dengan spesifikasi dasar.
Kelebihan dan kekurangan metodologi incremental
KeuntunganPenambahan kemampuan fungsional akan lebih mudah diuji, diverifikasi, dan divalidasi dandapat menurunkan biaya yang dikeluarkan untuk memperbaiki system.
Nilai penggunaan dapat ditentukan pada setiap increament sehingga fungsionalitas sistemdisediakan lebih awal
Increment awal berupa prototype untuk membantu memahami kebutuhan pada incrementberikutnya.
KerugianTiap bagian tidak dapat diintegrasikan
Setiap tambahan yang dibangun harus dimasukkan kedalam struktur yang ada tanpamenurunkan kualitas dari yang telah dibangun system tersebut sampai saat ini.
Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut
Methodologi Prototyping
Paradigma dari metode prototyping adalah sistem informasi yang menggambarkan hal-hal penting dari sistem informasi yang akan datang. Prototipe sistem informasi bukanlah merupakan sesuatu yang lengkap, tetapi sesuatu yang harus dimodifikasi kembali, dikembangkan, ditambahkan atau digabungkan dengan sistem informasi yang lain bila perlu.
PENGERTIAN
Tahapan dan artefak model Prototyping
Pengumpulan kebutuhan
Membangun Prototyping
Evaluasi Prototyping
Mengkodekan sistem
Menguji sistem
Evaluasi Sistem
Input : hasil wawancara pelangganProses : mendefinisikan kebutuhanOutput : format PL dan garis besar sistem Input : format PL
Proses : Membuat perancangan sementaraOutput : prototyping
Input : prototypingProses : evaluasi oleh pelangganOutput : kebutuhan lain dan prototypingInput : prototyping
Proses : prototyping yg diterjemahkan ke bahasa pemrograman.Output : sistem/programInput : sistem
Proses : pengujian sistem siap pakaiOutput : laporan hasil uji dan sistem
Input : sistemProses : evaluasi sistem oleh pelangganOutput : kebutuhan lain dan sistem
Kelebihan metodologi prototyping Adanya komunikasi yang baik antara
pengembang dan pelanggan Pengembang dapat bekerja lebih baik dalam
menentukan kebutuhan pelanggan Pelanggan berperan aktif dalam
pengembangan sistem Lebih menghemat waktu dalam
pengembangan sistem Penerapan menjadi lebih mudah karena
pemakai mengetahui apa yang diharapkannya.
Kekurangan Metodologi Prototyping
Pelanggan yang melihat working version dari model yang diminta/diperlihatkan tidak menyadari bahwa mungkin saja prototype dibuat terburu-buru dan rancangan tidak tersusun dengan baik.
Pengembang kadang-kadang membuat implementasi sembarang, karena ingin working version selesai dengan cepat.
Karena sudah melihat prototype-nya, pelanggan menjadi tidak sabar untuk menunggu versi jadinya. Karena pelanggan merasa program jadinya tidak akan lama lagi selesai.
Metodologi Rapid Application Development
RAD adalah model proses pembangunan PL yang incremental. RAD menekankan pada siklus pembangunan yang pendek/singkat. RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat dicapai dengan menerapkan component based construction. Waktu yang singkat adalah batasan yang penting untuk model ini.
PENGERTIAN
Gambar Model
Tahapan dan Artefak Metodologi RAD
Business Modelling
Data Modelling
Proses Modelling
Application Generation
Testing and Turnover
Input : aliran informasiProses : penyusunan informasiOutput : objek data
Input : objek dataProses : pengubahan objekOutput : aliran informasi
Input : komponen programProses : Pembuatan programOutput : ProgramInput : ProgramProses : Pengujian programOutput : Program baru
Input : user interviewProses : pengumpulan dataOutput : kebutuhan sistem
Kelebihan Metodologi RAD
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.
Kekurangan metodologi RAD Tidak cocok untuk proyek skala besar Proyek bisa gagal karena waktu yang
disepakati tidak dipenuhi Sistem yang tidak bisa dimodularisasi
tidak cocok untuk model ini Resiko teknis yang tinggi juga kurang
cocok untuk model ini
Referensi
http://www.slideshare.net/RasyedaAufa/sdlc-15449845
http://www.slideshare.net/yudhaarif/kelompok-3-incremental
http://tintasaya.wordpress.com/rekayasa-perangkat-lunak/proses-rekayasa-perangkat-lunak/
http://bokdimal.blogspot.com/2013/03/model-model-proses-perangkat-lunak.html
http://lecturer.ukdw.ac.id/othie/softwareprocess.pdf