a. Model Waterfall
Pada model Waterfall atau disebut model air terjun, ada beberapa fase yang harus kita terapkan, yaitu:
1. Analisi kebutuhan lalu pendefenisiannya
2. Perancangan Sistem dan Perangkat lunaknya
3. Implementasi dan unit testing
4. Integrasi dan pengujian sistem
5. Pengoprasian dan persawatan
Sebuah
proses akan kembali ke state sebulumnya agar tidak ada perubahan
setelah proses menuju state di bawahnya sebab sangat sulit.
Kekurangan Model Waterfall:
· Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses.
· Hal ini mengakibatkan sulitnya untuk merespon perubahan kebutuhan pengguna (user).
· Model air terjun harus digunakan hanya ketika persyaratan dipahami dengan baik.
Kelebihan Model Waterfall:
· Bisa
digunakan jika suatu persyaratan untuk membuat suatu software sudah
dipahami dengan baik dan sudah lengkap semua persyaratan yang ada.
b. Model RAD
Rapid
Aplication Model (RAD) adalah sebuah proses perkembangan perangkat
lunak sekuensial linier yang menekankan siklus perkembangan yang sangat
pendek. Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari
model sekuensial linier dimana perkembangan cepat dicapai dengan
menggunakan pendekatan konstruksi berbasis komponen.
Kelebihan Penggunaan Model RAD
· Dimungkinkan dalam proses pembuatan membutuhkan waktu yang sangat singkat (60-90 hari).
· Menghemat biaya, karena penekannya adalah penggunaan komponen-komponen yang sudah ada.
· RAD
menggunakan kembali komponen-komponen yang sudah ada, maka beberapa
komponen program sudah diuji sehingga kita dapat melakukan penghematan
waktu dalam uji coba
Kekurangan Penggunaan Model RAD
· Seperti semua proses model yang lain, pendekatan RAD memiliki kekurangan-kekurangan sebagi berikut :
· Bagi
proyek yang besar tetapi berskala, RAD memerlukan sumber daya manusia
yang memadai untuk menciptakan jumlah tim RAD yang baik.
· RAD
menuntut pengembangan dan pelanggan yang memiliki komitmen di dalam
aktifitas rapid-fire yang diperlukan untuk melengkapi sebuah sistem, di
dalam kerangka waktu yang sangat diperpendek. Jika komitmen tersebut
tidak ada, proyek RAD akan gagal. RAD menekankan perkembangan komponen
program yang bisa dipakai kembali. Reusable menjadi batu pertama teknologi objek dan ditemui di dalam proses rakitan komponen
· Tidak semua aplikasi sesuai untuk RAD. Bila sistem tidak dapat dimodulkan dengan teratur, pembangunan komponen penting pada RAD akan menjadi sangat problematis.
· RAD
menjadi tidak sesuai jika risiko teknisnya tingggi. Hal ini terjadi
bila sebuah aplikasi baru memforsir teknologi baru atau bila perangkat
lunak baru membutuhkan tingkat interoperabilitas yang tinggi dengan
program komputer yang ada.
c. Model Prototype
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.
Prototyping terbagi 4, yaitu:
1. Feasibility prototyping – untuk menguji kelayakan dari teknologi yang akan digunakan untuk system informasi yang akan disusun.
2. Requirement prototyping – untuk mengetahui kebutuhan aktivitas bisnis user.
3. Desain Prototyping - untuk mendorong perancangan system informasi yang akan digunakan.
4. Implementation prototyping – lanjutan dari rancangan protipe, prototype ini langsung disusun sebagai suatu system informasi yang akan digunakan.
Keunggulan Prototyping:
1. User dapat berpartisipasi aktif
2. Penentuan kebutuhan lebih mudah diwujudkan
3. Mempersingkat waktu pengembangan SI
Kelemahan Prototyping :
1. Proses analisis dan perancangan terlalu singkat
2. Mengesampingkan alternatif pemecahan masalah
3. Bisanya kurang fleksible dalam mengahadapi perubahan
4. Prototype yang dihasilkan tidak selamanya mudah dirubah
5. Prototype terlalu cepat selesai
d. Model Spiral
Model
ini cukup baru ditemukan,yaitu tahun 1988 oleh Barry Boehm. Spiral
adalah salah satu bentuk evolusi yang menggunakan metode iterasi natural
yang dimiliki oleh model prototyping dan digabungkan dengan aspek
sistematis yang dikembangkan model waterfall.
Berikut adalah aktivitas-aktivitas yang dilakukan dalam spiral model :
· Customer communication. Aktivitas
yang dibutuhkan untuk membangun komunikasi yang efektif antara
developer dengan user / customer terutama mengenai kebutuhan dari
customer.
· Planning. Aktivitas
perencanaan ini dibutuhkan untuk menentukan sumberdaya, perkiraan waktu
pengerjaan, dan informasi lainnya yang dibutuhkan untuk pengembangan
software.
· Analysis risk. Aktivitas
analisis resiko ini dijalankan untuk menganalisis baik resiko secara
teknikal maupun secara manajerial. Tahap inilah yang mungkin tidak ada
pada model proses yang juga menggunakan metode iterasi, tetapi hanya
dilakukan pada spiral model.
· Engineering. Aktivitas yang dibutuhkan untuk membangun 1 atau lebih representasi dari aplikasi secara teknikal.
· Construction & Release. Aktivitas
yang dibutuhkan untuk develop software, testing, instalasi dan
penyediaan user / costumer support seperti training penggunaan software
serta dokumentasi seperti buku manual penggunaan software.
· Customer evaluation. Aktivitas
yang dibutuhkan untuk mendapatkan feedback dari user / customer
berdasarkan evaluasi mereka selama representasi software pada tahap
engineering maupun pada implementasi selama instalasi software pada
tahap construction and release.
Kelebihan model Spiral :
- Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.
- Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
- Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses
Kelemahan model Spiral:
- Sulit untuk menyakinkan 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 absolute.
e.Model incrementalModel Incremental dalam rekayasa perangkat lunak, menerapkan rekayasa perangkat lunak perbagian, hingga menghasilkan perangkat lunak yang lengkap. Proses membangun berhenti jika produk telah mencapai seluruh fungsi yang diharapkan.Tahapan Incremental Model adalah :· Requirement· Specification· Architecture DesignPada incremental model, tiga tahapan awal harus diselesaikan terlebih dahulu sebelum sebelum tahap membangun tiap modal.Incremental Model merupakan gabungan antara model linear sekuensial dan prototyping. Setiap linear sekuen menghasilkan produk yang deliveriables. Increment pertama merupakan produk inti yang mengandung persyaratan/kebutuhan dasar. Penambahan dilakukan pada increment-incremet berikutnya.Keunggulan dari Incremental Model :1. Personil bekerja optimal2. Pihak konsumen dapat langsung menggunakan dahulu bagian-bagian yang telah selesai dibangun. Contohnya pemasukan data karyawan3. Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan menggunakan produknya bagian per bagian4. Memaksimalkan pengembalian modal investasi konsumenKekurangan dari Incremental Model :1. Cocok untuk proyek berukuran kecil (tidak lebih dari 200.000 baris coding)2. Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana spesifikasi masing-masing hasil increment3. Dapat menjadi build and Fix Model, karena kemampuannya untuk selalu mendapat perubahan selama proses rekayasa berlangsung.
f. Component-based Development ModelComponent-based development sangat berkaitan dengan teknologi berorientasi objek. Pada pemrograman berorientasi objek, banyak class yang dibangun dan menjadi komponen dalam suatu software. Class-class tersebut bersifat reusable artinya bisa digunakan kembali. Model ini bersifat iteratif atau berulang-ulang prosesnya.Secara umum proses yang terjadi dalam model ini adalah:1. Identifikasi class-class yang akan digunakan kembali dengan menguji class tersebut dengan data yang akan dimanipulasi dengan aplikasi/software dan algoritma yang baru2. Class yang dibuat pada proyek sebelumnya disimpan dalam class library, sehingga bisa langsung diambil dari library yang sudah ada. Jika ternyata ada kebutuhan class baru, maka class baru dibuat dengan metode berorientasi objek.3. Bangun software dengan class-class yang sudah ditentukan atau class baru yang dibuat, integrasikan.g. Extreme Programming (XP) ModelModel proses ini diciptakan dan dikembangkan oleh Kent Beck. Model ini adalah model proses yang terbaru dalam dunia rekayasa perangkat lunak dan mencoba menjawab kesulitan dalam pengembangan software yang rumit dan sulit dalam implementasi. Menurut Kent Beck XP adalah : “A lightweight, efficient, low-risk, flexible,predictable, scientific and fun way to develop software”.XP adalah suatu model yang menekankan pada:- keterlibatan user secara langsung
- pengujian
- pay-as-you-go design
Adapun empat nilai penting dari XP1. Communication / Komunikasi: komunikasi antara developer dan klien sering menjadi masalah. Karena itu komunikasi dalam XP dibangun dengan melakukan pemrograman berpasangan (pair programming). Developer didampingi oleh pihak klien dalam melakukan coding dan unit testing sehingga klien bisa terlibat langsung dalam pemrograman sambil berkomunikasi dengan developer. Selain itu perkiraan beban tugas juga diperhitungkan.2. Simplicity / sederhana: Menekankan pada kesederhanaan dalampengkodean.3. Feedback / Masukan/Tanggapan: Setiap feed back ditanggapi dengan melakukan tes, unit test atau system integration dan jangan menunda karena biaya akan membengkak (uang, tenaga, waktu).4. Courage / Berani: Banyak ide baru dan berani mencobanya, berani mengerjakan kembali dan setiap kali ditemukan kesalahan ditemukan, langsung diperbaiki.



