Get Gifs at CodemySpace.com

Kamis, 08 November 2012

Waterfall, Prototype, Incremental


WATERFALL

Nama model ini sebenarnya adalah “Linear Sequential Model”. Model ini sering disebut dengan “classic life cycle” atau model waterfall. Model ini adalah model yang muncul pertama kali yaitu sekitar tahun 1970 sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak dipakai didalam Software Engineering (SE). Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing / verification, dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. Sebagai contoh tahap desain harus menunggu selesainya tahap sebelumnya yaitu tahap requirement. Secara umum tahapan pada model waterfall dapat dilihat pada gambar berikut :
Gambar di atas adalah tahapan umum dari model proses ini.

Fase atau tahapan yang terjadi pada waterfall model adalah sebagai berikut ::
1)      Tahap Investigasi

Pada tahap investigasi akan terjadi proses seperti:

a.       Initialisasi: terjadi proses seperti perencanaan manajemen, kebutuhan serta potensi dari user.
b.      Definisi formal:  dilakukan definisi tujuan, motivasi, ruang lingkup, batasan, kendala,   dan strategi. Selain itu, pada definisi formal juga dilakukan verifikasi permasalahan sehingga dapat dilakukan penilaian terhadap kebutuhan yang baru.
c.       Uji kelayakan, yang terdiri dari:
1.      Uji kelayakan teknis, merupakan uji terhadap ketersediaan hardware dan software.
2.      Uji kelayakan ekonomis, yaitu menilai apakah manfaat yang didapat dari pengembangan software akan sebanding dengan biaya yang dikeluarkan.
3.      Uji kelayakan operasional, uji kelayakan yang berkaitan dengan kemampuan orang yang bekerja dalam sistem untuk melakukan pekerjaan mereka dengan cara yang telah ditentukan.
4.      Uji kelayakan kelayakan organisasi, menilai kesiapan perusahaan atau organisasi untuk mengembangkan penjualan pemasaran dan sistem keuangan berbasis Web (e-commerce system).

2)      Tahap Analisa

Dalam tahapan ini sistem yang akan dibangun diselaraskan dengan kebutuhan user atau pengguna. Pada tahap ini terjadi proses seperti:
a.       Determine requirements atau penentuan kebutuhan, hal ini dilakukan dengan cara     mempelajari sistem yang telah ada, serta menentukan kebutuhan struktur dan menghilangkan redundansi.
b.      Requirement analysis atau analisa kebutuhan, terdiri dari analisa kebutuhan fungsional dan performa (kinerja).
c.       Menghasilkan desain sistem alternatif
d.      Membandingkan alternatif desain sistem yang dihasilkan dan
e.       Merekomendasikan alternatif terbaik kepada klien.
3)      Tahap Design

Tahap menentukan bagaimana sistem mencapai tujuan yang telah didefinisikan sebelumnya. Tahap ini terdiri dari:
a.       User interface design, meliputi tampilan, form, report dan dialog design.
b.      Data design, merupakan proses desain elemen struktur data.
c.       Process design, merupakan desain program prosedur sistem
4)      Tahap Implementasi

Pada tahap ini terjadi beberapa hal seperti:
a.       Evaluasi hardware, software dan jasa
b.      Modifikasi dan pengembangan software
c.       Dokumentasi, yang merupakan mekanisme komunikasi utama selama proses pengembangan.
d.      Konversi data, pada proses ini terjadi perbaikan dan penyaringan data yang tidak diinginkan dan konsolidasi data.
e.       Testing atau uji coba, pada proses ini dilakukan uji coba dan debugging software.
f.       Training atau pelatihan sistem/software yang telah terbentuk.
g.      Konversi, yakni proses pergantian dari sistem lama ke sistem baru. Proses konversi dapat dilakukan melalui 4 macam cara antara lain:
1.      Parallelstrategy
2.      Pilot strategy
3.      Phased strategy dan
4.      Plunge strategy
5)      Tahap Pemeliharaan (maintenance)

Pada proses ini terjadi modifikasi software, perbaikan error atau umpan balik dari user terhadap software yang telah mereka gunakan.
Keuntungan dari Model Waterfall
Mari kita lihat beberapa keuntungan dari model ini :
·         Proyek ini membutuhkan pemenuhan satu fase, sebelum melanjutkan ke yang berikutnya. Oleh karena itu jika ada kesalahan dalam perangkat lunak ini akan terdeteksi selama salah satu tahap awal dan akan disegel untuk koreksi. 

·         Banyak penekanan diletakkan pada dokumen dalam metode ini dibandingkan dengan metode baru. Ketika pekerja baru memasuki proyek, lebih mudah bagi mereka untuk melanjutkan pekerjaan dari mana ia telah ditinggalkan. Metode baru tidak mendokumentasikan proses perkembangan mereka yang membuat sulit bagi seorang anggota tim baru untuk memahami apa langkah yang akan mengikuti selanjutnya. Model Waterfall adalah metode ke depan lurus dan mudah memungkinkan satu tahu apa yang sedang berlangsung tahap. 

·         Metode Waterfall ini juga dikenal di kalangan pengembang perangkat lunak sehingga mudah digunakan. Hal ini lebih mudah untuk mengembangkan berbagai perangkat lunak melalui metode ini dalam kurun waktu singkat.



Kekurangan Model Waterfall
·         Banyak proyek perangkat lunak tergantung pada faktor eksternal; dari mana klien untuk perangkat lunak yang sedang dirancang adalah faktor terbesar. Hal ini terjadi banyak kali, bahwa klien perubahan persyaratan proyek, sehingga mempengaruhi sebuah perubahan dalam rencana normal konstruksi dan karenanya fungsi juga. Model Waterfall tidak bekerja dengan baik dalam situasi seperti ini karena mengasumsikan ada perubahan terjadi setelah proses telah dimulai sesuai rencana.

Jika, misalnya, hal ini terjadi dalam Model Air Terjun, maka sejumlah langkah akan pergi ke limbah, dan di sana akan muncul kebutuhan untuk memulai semuanya lagi. Tentu saja hal ini juga membawa tentang aspek waktu dan uang yang semua akan sia-sia. Oleh karena itu metode ini tidak akan sama sekali terbukti efektif biaya. Bahkan tidak mudah untuk mengambil perkiraan biaya setiap langkah, karena setiap tahapan yang cukup besar.

Ada banyak model perangkat lunak lainnya perkembangan yang meliputi banyak aspek yang sama dari model Waterfall. Namun tidak seperti model Waterfall, metode ini tidak sebagian besar dipengaruhi oleh sumber-sumber luar. Dalam model air terjun, ada banyak orang yang berbeda bekerja di fase yang berbeda dari proyek seperti perancang dan pembangun dan masing-masing membawa pendapatnya sendiri tentang bidang keahliannya. Desain, oleh karena itu, pasti akan dipengaruhi, namun dalam model Waterfall, tidak ada ruang untuk itu.

·         Aspek negatif lain dari model ini adalah bahwa sejumlah besar waktu juga terbuang. Sebagai contoh jika kita mempelajari setiap proses pengembangan perangkat lunak, kita tahu bahwa Tahap II tidak dapat dilaksanakan sampai Tahap I telah berhasil diselesaikan, maka sementara desainer masih merancang perangkat lunak, saat pembangun benar-benar sia-sia. 

·         Kelemahan lain dari metode ini adalah bahwa periode pengujian datang agak terlambat dalam proses perkembangan, sedangkan dalam berbagai program pembangunan lain desain akan diuji banyak lebih cepat untuk menemukan cacat pada saat banyak waktu dan uang belum terbuang. 

·         Menjelaskan dokumentasi selama metode Waterfall memiliki keuntungan, tetapi tidak tanpa kelemahan juga.Dibutuhkan banyak upaya dan waktu, yang mengapa itu tidak cocok untuk proyek-proyek kecil.

Modifikasi Model Air Terjun
Karena berbagai kerugian banyak versi modifikasi lain dari model ini juga telah diajukan dan beberapa di antaranya disebutkan di bawah ini:

·         Royce Model
Model Royce menekankan pada kenyataan bahwa model Waterfall menderita cacat serius yang satu tidak dapat kembali ke tahap sebelumnya untuk memperbaiki sesuatu yang tidak beres.
·         Sashimi Model
Sashimi adalah versi modifikasi sejati dari model Waterfall. Fase-fase yang agak sama seperti dalam Model Air terjun; hanya kali ini fase yang tumpang tindih satu sama lain yang hadir banyak keuntungan. Misalnya waktu tidak akan terbuang karena sebelum Tahap I akan selesai, Tahap II sudah akan berlangsung. Selain itu, karena mereka tumpang tindih, sehingga seseorang dapat kembali ke langkah sebelumnya jika diinginkan.

·         Model Siklus Hidup Aorta
Perbedaan dalam model ini adalah bahwa mereka banyak mengandalkan pada umpan balik yang berasal dari fase-fase lain sebelum maju ke berikutnya.

·         Model Waterfall V
Model Waterfall V bergantung pada sebuah program perangkat lunak perkembangan linier yang menekankan pada pengembangan seimbang lebih dari apa pun.


Menurut kami, tahapan-tahapan model ini sudah cukup baik dalam artian minimal untuk melakukan SE, maka harus ada tahapan-tahapan ini. Tahapan-tahapan ini jugalah yang digunakan oleh model-model yang lain pada umumnya. Ada filosofi yang mengatakan sesuatu yang sukses diciptakan pertama kali, maka akan terus dipakai di dalam pengembangannya. Hal ini juga berlaku pada waterfall model ini. Mungkin dapat dikatakan bahwa inilah standar untuk melakukan SE.
Akan tetapi, yang mungkin menjadi banyak pertimbangan mengenai penggunaan dari model ini adalah metode sequential-nya. Mungkin untuk awal-awal software diciptakan, hal ini tidak menjadi masalah, karena dengan berjalan secara berurutan, maka model ini menjadi mudah dilakukan. Sesuatu yang mudah biasanya hasilnya bagus. Oleh karena itu model ini sangat populer. Akan tetapi, seiring perkembangan software, model ini tentu tidak bisa mengikutinya. Yang menjadi kelemahan adalah pada pengerjaan secara berurutan tadi, seperti yang sudah saya utarakan sebelumnya. Kelemahan-kelemahan yang lain juga sudah saya utarakan di atas, atau bahkan masih ada yang lainnya.
Dari sini, nantinya akan dikembangkan model-model yang lain, bahkan ada tahap evolusioner dari suatu model proses untuk mengatasi kelemahan-kelemahan tadi. Meskipun secara tahapan masih menggunakan standar tahapan waterfall model. Kesimpulannya adalah ketika suatu project skalanya sedang mengarah kecil bisa menggunakan model ini. Akan tetapi kalau sudah project besar, tampaknya kesulitan jika menggunakan model ini.

PROTOTYPE

Prototyping merupakan salah satu metode pengembangan perangat lunak yang banyak digunakan. Dengan metode prototyping ini pengembang dan pelanggan dapat saling berinteraksiselama proses pembuatan sistem.Sering terjadi seorang pelanggan hanya mendefinisikan secara umum apa yang dikehendakinyatanpa menyebutkan secara detal output apa saja yang dibutuhkan, pemrosesan dan data-data apasaja yang dibutuhkan. Sebaliknya disisi pengembang kurang memperhatikan efesiensi algoritma,kemampuan sistem operasi dan interface yang menghubungkan manusia dan komputer.Untuk mengatasi ketidakserasian antara pelanggan dan pengembang , maka harus dibutuhakankerjasama yang baik diantara keduanya sehingga pengembang akan mengetahui dengan benar apa yang diinginkan pelanggan dengan tidak mengesampingkan segi-segi teknis dan pelangganakan mengetahui proses-proses dalm menyelasaikan system yang diinginkan. Dengan demikianakan menghasilkan sistem sesuai dengan jadwal waktu penyelesaian yang telah ditentukan.Kunci agar model prototype ini berhasil dengan baik adalah dengan mendefinisikan aturan-aturan main pada saat awal, yaitu pelanggan dan pengembang harus setuju bahwa prototypedibangun untuk mendefinisikan kebutuhan. Prototype akan dihilangkan sebagian atau seluruhnyadan perangkat lunak aktual aktual direkayasa dengan kualitas dan implementasi yang sudahditentukan.

Ada 2 Jenis Prototype :
-       Jenis I : Suatu Sistem yang akan menjadi sistem operasional
-       Jenis II : Suatu model yang dapat dibuang yang berfungsi sebagai cetak biru bagi sistem operasional.

Karakteristik metode prototyping meliputi langkah-langkah :
1.      Pemilahan Fungsi
2.      Penyusunan Sistem Informasi
3.      Evaluasi
4.      Penggunaan Selanjutnya

Jenis-jenis prototyping meliputi :
1.      Feasibility prototyping
2.      Requirement prototyping
3.      Desain Prototyping
4.      Implementation prototyping

Teknik-teknik prototyping meliputi :
1.      Perancangan Model
2.      Perancangan Dialog
3.      Simulasi

SISTEM YANG BERMANFAAT DARI PROTOTIPE

Sejak kebutuhan (baca Spesifikasi Fungsi) pada umumnya berhubungan dengan pandangan user terhadap sistem, hanya dengan prototipe tampilan bagi user sudah cukup untuk memeriksa yang dibutuhkan. Menu-menu, bentuk tampilan input, tampilan keluaran, atau laporan yang dicetak, pertanyaan-pertanyaan, pesan-pesan merupakan calon yang ideal untuk prototipe.
Di lain pihak, perhitungan yang rumit, kumpulan update data dan realtime, dan sistem yang bersifat scientific sangat sulit untuk dijadikan model.
Sistem yang paling sesuai untuk prototipe adalah satu dari banyak hal yang bergantung pada sistem input/output dari user. Sistem dengan transaksi on-line dikendalikan melalui menu, layar, formulir, laporan, daftar dan perintah.

TAHAPAN-TAHAPAN PROTOYPING
 Tahapan-tahapan dalam Prototyping adalah sebagai berikut:

1.      Pengumpulan kebutuhan.Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkatlunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.

2.      Membangun prototyping.Membangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya dengan membuat input dan format output).

3.      Evaluasi protoptyping.Evaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudahsesuai dengan keinginann pelanggan. Jika sudah sesuai maka langkah 4 akan diambil.Jika tidak prototyping direvisi dengan mengulangu langkah 1, 2 , dan 3.

4.      Mengkodekan system.Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai.

5.      Menguji system.Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, harus dites dahulusebelum digunakan. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path, pengujian arsitektur dan lain-lain

6.      Evaluasi Sistem.Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yangdiharapkan . Juka ya, langkah 7 dilakukan; jika tidak, ulangi langkah 4 dan 5.

7.      Menggunakan system.Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.


PROTOTYPING MODEL

Keungggulan :
·         Adanya kominuikasi yang baik antara pengembang dan pelanggan
·         Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
·         Pelangggan  berperan aktif dalam pengembangan sistem
·         Lebih menghemat waktu dalam pengembangan sistem
·         Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya 

Kelemahan :
·                 Ketidaksadaran user bahwa ini hanya suatu model awal bukan model akhir
·                 Pengembang kadang-kadang membuat implementasi yang sembarangan.
·                 Teknik dan tools yang tidak optimal pada prototipe yang akan tetap digunakan pada softare sesungguhnya


INCREATMENT



Model incremental menggabungkan elemen-elemen model sekuensial linier (diimplementasikan secara berulang) dengan filosofi prototype interatif. Model ini memakai urutan-urutan linier di dalam model yang membingungkan, seiring dengan laju waktu kalender. Setiap urutan linier menghasilkan pertambahan perangkat lunak yang kemudian dapat disampaikan kepada pengguna.

Pada saat model incremental (pertambahan) ini digunakan, pertambahan pertama sering merupakan produk inti (core product), yaitu sebuah model pertambahan yang dipergunakan, tetapi beberapa muka tambahan (beberapa diketahui dan beberapa tidak) tetap tidak disampaikan. Produk inti tersebut dipergunakan oleh pelanggan (atau mengalami pengkajian detail). Sebagai hasil dari pemakaian dan/atau evaluasi maka dikembangkan rencana bagi pertambahan selanjutnya. Rencana tersebut menekankan modifikasi produk inti untuk secara lebih baik memenuhi kebutuhan para pelanggan dan penyampaian fitur serta fungsional tambahan. Proses ini mengikuti penyampaian setiap pertambahan sampai bisa menghasilkan produk yang lengkap.

Model proses incremental tersebut, seperti model prototype dan pendekatan-pendekatan evolusioner yang lain, bersifat iterative. Tetapi tidak seperti model prototype, model pertambahan berfokus pada penyampaian produk operasional dalam setiap pertambahannya. Pertambahan awal ada di versi stripped down dari produk akhir, tetapi memberikan kemampuan untuk melayani pemakai dan juga menyediakan platform untuk evaluasi oleh pemakai.

Perkembangan pertambahan, khususnya berguna pada saat staffing, tidak bisa dilakukan dengan menggunakan implementasi lengkap oleh batasan waktu bisnis yang sudah disepakati untuk proyek tersebut. Jika produk inti diterima dengan baik, maka staf tambahan (bila dibutuhkan) bisa ditambahkan untuk mengimplementasi pertambahan selanjutnya. Sebagai tambahan, system mayor yang sedang pada masa perkembangan serta waktu penyampaiannya belum pasti, mungkin membutuhkan keberadaan perangkat keras yang baru. Bisa juga rencana tertentu dibuat untuk menghindari pemakaian perangkat lunak ini, sehingga memungkinkan fungsionalitas partial disampaikan kepada pemakai tanpa harus banyak tertunda. 


Contoh Penggunaan Incremental Model

Misalnya, perangkat lunak pengelola kata yang dikembangkan dengan menggunakan paradigm penambahan akan menyampaikan manajemen file dasar, editing serta fungsi penghasilan dokumen pada penambahan pertama, kemudian editing dan kemampuan penghasilan dokumen yang lebih canggih pada pertambahan kedua, pengecekan speliing dan tata bahasa pada pertambahan ketiga, serta kemampuan pemgaturan halaman tingkat lanjut pada tahap pertambahan keempat. Harus dicatat bahwa aliran proses untuk berbagai pertambahan tersebut dapat menggabungkan paradigm prototype.


 Tahapan Incremental Model

Pada awal tahapan dilakukan penentuan kebutuhan dan spesifikasi,Kemudian dilakukan perancangan arsitektursoftware yang terbuka, agar dapat diterapkan pembangunan per-bagian pada tahapan selanjutnya.
o   Requirement adalah proses tahapan awal yang dilakukan pada incremental model adalah penentuan kebutuhan atau analisis kebutuhan.

o   Specification adalah proses spesifikasi dimana menggunakan analisis kebutuhan sebagai acuannya.

o   Architecture Design adalah tahap selanjutnya, perancangan software yang terbuka agar dapat diterapkan sistem pembangunan per-bagian pada tahapan selanjutnya.

o   Code setelah melakukan proses desain selanjutnya ada pengkodean.

o   Test merupakan tahap pengujian dalam model ini.

Pada saat model incremental (pertambahan) ini digunakan, pertambahan pertama sering merupakan produk inti (core product), yaitu sebuah model pertambahan yang dipergunakan, tetapi beberapa muka tambahan (beberapa diketahui dan beberapa tidak) tetap tidak disampaikan.
Produk inti tersebut dipergunakan oleh pelanggan (atau mengalami pengkajian detail). Sebagai hasil dari pemakaian dan/atau evaluasi maka dikembangkan rencana bagi pertambahan selanjutnya. Rencana tersebut menekankan modifikasi produk inti untuk secara lebih baik memenuhi kebutuhan para pelanggan dan penyampaian fitur serta fungsional tambahan. Proses ini mengikuti penyampaian setiap pertambahan sampai bisa menghasilkan produk yang lengkap.

Model proses incremental tersebut, seperti model prototype dan pendekatan-pendekatan evolusioner yang lain, bersifat iterative. Tetapi tidak seperti model prototype, model pertambahan berfokus pada penyampaian produk operasional dalam setiap pertambahannya. Pertambahan awal ada di versi stripped down dari produk akhir, tetapi memberikan kemampuan untuk melayani pemakai dan juga menyediakan platform untuk evaluasi oleh pemakai.

Perkembangan pertambahan, khususnya berguna pada saat staffing, tidak bisa dilakukan dengan menggunakan implementasi lengkap oleh batasan waktu bisnis yang sudah disepakati untuk proyek tersebut. Jika produk inti diterima dengan baik, maka staf tambahan (bila dibutuhkan) bisa ditambahkan untuk mengimplementasi pertambahan selanjutnya. Sebagai tambahan, system mayor yang sedang pada masa perkembangan serta waktu penyampaiannya belum pasti, mungkin membutuhkan keberadaan perangkat keras yang baru. Bisa juga rencana tertentu dibuat untuk menghindari pemakaian perangkat lunak ini, sehingga memungkinkan fungsionalitas partial disampaikan kepada pemakai tanpa harus banyak tertunda.


Karakteristik incremental

1.      Kombinasikan element-element dari waterfall dengan sifat iterasi/perulangan.

2.      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 yang ditetapkan oleh pengguna.

3.      Produk hasil increment pertama biasanya produk inti (core product), yaitu produk yang memenuhi kebutuhan dasar. Produk tersebut digunakan oleh pengguna atau menjalani review/pengecekan detil. Hasil review tersebut menjadi bekal untuk   pembangunan pada increment berikutnya. Hal ini terus dikerjakan sampai produk yang komplit dihasilkan.

4.      Model ini cocok jika jumlah anggota tim pengembang/pembangun PL tidak cukup.

5.      Mampu mengakomodasi perubahan secara fleksibel.
6.      Produk yang dihasilkan pada increment pertama bukanlah prototype, tapi produk yang sudah bisa berfungsi dengan spesifikasi dasar.

7.      Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana spesifikasi masing-masing hasil increment.

8.      Produk hasil increment pertama biasanya produk inti (core product), yaitu produk yang memenuhi kebutuhan dasar. Produk tersebut digunakan oleh pengguna atau menjalani review/pengecekan detil. Hasil review tersebut menjadi bekal untuk pembangunan pada increment berikutnya. Hal ini terus dikerjakan sampai produk yang komplit dihasilkan.


Kelebihan Penggunaan Incremental Model

Merupakan model dengan manajemen yang sederhana.

»        Bersifat interatif atau perulangan.

»        mampu mengakomodasi perubahan secara fleksibel.

»        prioritas tinggi pada pelayanan system adalah yang paling diuji.

»        Produk yang dihasilkan semakin lama semakin lengkap, hingga versi akhir dari sebuah produk akan dianggap paling lengkap dan sempurna karena mengalami perbaikan yang berkesinambungan.

»        Model ini cocok jika jumlah anggota tim pengembangan/pembangunan software terbatas

»        Pelanggan dapat memakai inkremen yang pertama sebagai bentuk prototype dan mendapatkan pengalaman yang dapat menginformasikan persyaratan untuk inkremen system berikutny

»        Resiko untuk kegagalan proyek secara keseluruhan lebih rendah. Walaupun masalah dapat ditemukan pada beberapa inkremen, bias saja beberapa inkremen diserahkan dengan sukses kepada pelanggan.

Kekurangan Penggunaan Incremental Model

»        Inkremen harus relative lebih kecil (tidak lebih dari 20.000 baris kode) dan setiap inkremen harus menyediakan sebagian dari fungsional system

»        Adanya kesulitan untuk memetakan persyaratan pelanggan pada inkremen dengan ukuran yang benar

»        Butuh waktu yang relatif lebih lama untuk menghasilkan produk yang lengkap.

Kendala Penggunaan Incremental Model

Kendala yang sering terjadi adalah sulitnya untuk memetakan kebutuhan user (customer) ke dalam rencana spesifikasi masing-masing hasil increment. Hal ini disebabkan pula karena seringkali user sulit menentukan kebutuhannya sendiri secara eksplisit atau jelas.

Implementasi Incremental Model :
·         Untuk sistem dengan interaksi skala kecil dan medium
·         Untuk sistem dengan masa penggunaan pendek
·         Cocok untuk proyek berukuran kecil (tidak lebih dari 200.000 baris coding)

Sebagai contoh pertama, software word-processing, dibangun menggunakan incremental model, mendelivery fungsi dasar file management, editing, dan fungsi document production pada Increment pertama. Kemampuan editing, dan fungsi document production yang lebih baik pada  increment kedua, checking dan grammar spelling pada incrementketiga. Proses akan diulangi sampai produk yang lengkap telah dihasilkan. Jika menggunakan Incremental model,increment yang pertama merupakan inti product. Incremental model focus pada pendeliverian opertional productpada tiap increment.

Sebagai contoh kedua, mengadopsi model sekuensial linier dan model prototipe. Fungsi dasar sama, tapi ada tambahan asesoris (contoh : ada M.Word 1997, 2000). Fungsi tambahan ditambahkan terus untuk membuat system menjadi lebih baik. Pada increment pertama PL yang jadi, mengakomodasi kebutuhan inti. Baru pada tahap berikutnya ditambahkan kemampuan baru.

Mengapa model ini sangat populer??? Selain karena pengaplikasian menggunakan model ini mudah, kelebihan dari model ini adalah ketika semua kebutuhan sistem dapat didefinisikan secara utuh, eksplisit, dan benar di awal project, maka SE dapat berjalan dengan baik dan tanpa masalah. Meskipun seringkali kebutuhan sistem tidak dapat didefinisikan seeksplisit yang diinginkan, tetapi paling tidak, problem pada kebutuhan sistem di awal project lebih ekonomis dalam hal uang (lebih murah), usaha, dan waktu yang terbuang lebih sedikit jika dibandingkan problem yang muncul pada tahap-tahap selanjutnya.

Meskipun demikian, karena model ini melakukan pendekatan secara urut / sequential, maka ketika suatu tahap terhambat, tahap selanjutnya tidak dapat dikerjakan dengan baik dan itu menjadi salah satu kekurangan dari model ini.


Sumber :
Buku Software Engineering by Roger S. Pressman
http://en.wikipedia.org/wiki/Waterfall_model
http://tepinfo.blogspot.com/2011/12/model-waterfall.html
http://id.scribd.com/doc/55303320/Pengertian-Prototype
http://yuliagroups.wordpress.com/pengertian-prototype/
http://daanlaiablog.blogspot.com/2012/06/normal-0-false-false-false-en-us-x-none.html
http://kantin-kampus.blogspot.com/2012/02/metode-incremental.html

7 komentar:

  1. kalo prototype di buat ke dalam laporan bagaimana yaa format nya?

    BalasHapus
  2. Materi tentang Incremental Model nya bagus gan
    .
    ane mau sharing tentang Kelebihan dan Kekurangan Proses Model Pada Rekayasa Perangkat Lunak (ada Incremental Model jga)
    jangan lupa kunjungi balik ya
    .
    http://markijar.blogspot.com/2015/04/kelebihan-dan-kekurangan-model-proses.html

    BalasHapus
  3. terimakasih, tuisannya sangat bermanfaat sekali

    My blog

    BalasHapus
  4. Ada ga bang yg Contoh Kasusnya itu gimna ? Kaya contoh kasus Modifed Waterfall Sashimi. Atau yg lain

    BalasHapus