Perbandingan software methodologi

24
Proyek Pemrogramman Annisa Shabrina 0320110005 Polman Astra Perbandingan software methodologi

Transcript of Perbandingan software methodologi

Proyek Pemrogramman

Annisa Shabrina0320110005Polman Astra

Perbandingan software methodologi

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

Artefak dari setiap tahapan waterfall

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